1 arta 1.1 /** \mainpage JSOC Reference
2
3 This is the developer and design manual for JSOC. Previous
4 documentation has been integrated into this and it should always be up
5 to date since it is generated directly from the source files using
6 Doxygen.
7
8 \section general General design documents
9
|
10 phil 1.10 Start with the "ManPage Sections" tab for html versions of the JSOC software manual
|
11 phil 1.8 pages.
|
12 arta 1.1
|
13 phil 1.8 General information on:\n
14 - JSOC: http://jsoc.stanford.edu\n
15 - HMI: http://hmi.stanford.edu\n
16 - AIA: http://aia.lmsal.com\n
|
17 arta 1.1
18 \section hacking Hacking on this documentation
19
20 There is the beginning of a style guide for documenting under
21 \ref tipshints.
22
|
23 phil 1.9 There is an example module documentation man page at
24 \ref module_template.
25
|
26 arta 1.1 Feel free to start documenting or playing with doxygen configuration.
27 This main page can be found in doc/doxygen_main_page.txt .
28
29 This main page is just an introduction to doxygen markup, see the
30 Doxygen manual for the full command set.
31
32 - \ref tipshints Tips and hints for using doxygen
33 - \ref reference Links to the Doxygen manual
34
35 */
36 /** \page tipshints Useful tips for doxygen in C files
37
38 - \ref reference The Doxygen manual
39
40 \section tips An introduction to doxygen markup
41
42 \subsection Locations What to document
43
44 All declarations for:
45
46 -# typedef
47 arta 1.1 -# struct
48 -# enum
49 -# functions
50
51 This will enable doxygen to link all parameter types to the declarations
52 every time the type is used in a function - very helpful to new developers.
53
54 \subsection Files Private files
55
56 If your declarations are in separate files, like private header files,
57 a simple block can still be linked into doxygen as long as the file is
58 identified to doxygen using a '\\file' section:
59
60 \\file filename.h\n
61 \\brief one-liner summary of the file purpose\n
62 \\author the usual copyright statement
63
64 \subsection Methods How to document
65
66 Every doxygen comment block starts with an adapted comment marker.
67 You can use an extra slash /// or an extra asterisk. Blocks end
68 arta 1.1 in the usual way. Doxygen accepts commands using a backslash.
69
70 To put a description with each function or structure, use '\\brief'
71 End the brief description with a blank line. The rest of the documentation will
72 then be shown in the body of the doxygen page.
73
74 Commands may begin with \\ or @
75
76 \subsection Presentation Extras
77
78 -# Start a line with a hyphen to start a list - the indent determines the
79 nesting of the list:
80 - To create a numbered list, use -# e.g. for a sublist:
81 -# start a numbered list
82 - revert to previous list
83
84 End the list with a blank line.
85 Use :: at the start of a function or structure to link to the page
|
86 phil 1.8 for that function in the doxygen documentation. e.g. ::qof_class_foreach
|
87 arta 1.1
88 Use the param command to describe function parameters in the text.
89
90 Use the 'back reference' to document enumerator values:\n
91 enum testenum {\n
92 enum_one **< less than marker tells doxygen to use this line
93 to document enum_one.
94
95 \subsection config Editing Doxygen configuration
96
97 To edit the doxygen configuration, you can use:
98 *
99 cd doc
100 *
|
101 phil 1.8 vi doxygen_publ.cfg &
|
102 arta 1.1
103 */
104
105 /*! \page reference Doxygen reference documentation
106
107 The Doxygen web site (http://www.stack.nl/~dimitri/doxygen/) has a
108 complete user manual. For the impatient, here are the most
109 interesting sections:
110
111 - How to write grouped documentation for files, functions, variables,
112 etc.: http://www.stack.nl/~dimitri/doxygen/grouping.html . Do not
113 forget to add a file documentation block (\@file) at the top of your
|
114 phil 1.8 file. Otherwise, none of the documentation in that file will appear
|
115 arta 1.1 in the html output.
116
117 - List of the special commands you can use within your documentation
118 blocks: http://www.stack.nl/~dimitri/doxygen/commands.html
|
119 arta 1.7 */
120
|
121 arta 1.1
|
122 phil 1.12 ///@defgroup a_programs Section 1. Programs, DRMS Modules, Shell Scripts
|
123 phil 1.9
|
124 phil 1.13 /// @defgroup common_main All JSOC Modules Common Interface
|
125 phil 1.12 /// @ingroup a_programs
|
126 arta 1.4
|
127 phil 1.9 /// @defgroup drms_util DRMS Utilities
|
128 phil 1.12 /// @ingroup a_programs
|
129 arta 1.4
|
130 phil 1.9 /// @defgroup su_apps Stanford University Applications
|
131 phil 1.12 /// @ingroup a_programs
|
132 phil 1.9 /// @defgroup su_admin Administrative Utilities
133 /// @ingroup su_apps
134 /// @defgroup su_util General Utilities
135 /// @ingroup su_apps
136 /// @defgroup su_migration Data Migration
137 /// @ingroup su_apps
138 /// @defgroup su_export Data Export
139 /// @ingroup su_apps
140 /// @defgroup su_lev0 Level Zero
141 /// @ingroup su_apps
|
142 phil 1.20 /// @defgroup su_util Utilities for MDI, HMI, etc.
143 /// @ingroup su_apps
|
144 phil 1.9
|
145 phil 1.12 ///@defgroup c_api Section 3. API Libraries
|
146 phil 1.9 // @{
147 /**
|
148 production 1.19 @defgroup sum_api SUMS API functions
|
149 production 1.17 @ingroup c_api
150 */
151
152 /**
|
153 phil 1.9 @defgroup core_api Core DRMS API functions
|
154 phil 1.12 @ingroup c_api
|
155 arta 1.14 */
156
157 /**
158 @defgroup full_api All DRMS API functions
159 @ingroup c_api
160 */
|
161 arta 1.15 // @}
|
162 arta 1.14
|
163 arta 1.15 /**
164 @defgroup record_api Functions for working with records
165 @ingroup full_api
166 */
|
167 arta 1.14
|
168 arta 1.15 /**
169 @defgroup segment_api Functions for working with segments
170 @ingroup full_api
171 */
|
172 arta 1.14
|
173 arta 1.15 /**
174 @defgroup cmdparam_api Functions for working with DRMS command-line parameters
175 @ingroup full_api
176 */
|
177 arta 1.14
|
178 arta 1.15 /**
179 @defgorup binfile_api Function for working with binary files
|
180 arta 1.14 @ingroup full_api
181 */
182
183 /**
|
184 arta 1.15 @defgroup defs_api Functions for working with definition-file strings
|
185 arta 1.14 @ingroup full_api
186 */
187
188 /**
|
189 arta 1.15 @defgroup env_api Functions for working with the connection to the database
|
190 arta 1.14 @ingroup full_api
191 */
192
|
193 arta 1.15 /**
194 @defgroup keymap_api Functions for managing the mapping between internal and external keywords
|
195 arta 1.14 @ingroup full_api
196 */
197
198 /**
|
199 arta 1.15 @defgroup keyword_api Functions for reading and writing keywords
|
200 arta 1.14 @ingroup full_api
201 */
202
203 /**
|
204 arta 1.15 @defgroup link_api Functions for reading from links
|
205 arta 1.14 @ingroup full_api
206 */
|
207 arta 1.16
208 /**
209 @defgroup names_api Functions for working with record-query strings
210 @ingroup full_api
211 */
|