#ifndef ROBODOC_HEADERS_H #define ROBODOC_HEADERS_H /****s* Headers/RB_header * FUNCTION * This structure is used to store the headers that are extracted * from the source files. * MODIFICATION HISTORY * * 8. August 1995: Koessi changed int version to char *version * ATTRIBUTES * * next -- used to store RB_headers in a RB_Part as * a linked list. * * parent -- the parent of this header * * name -- the full name of the header * modulename/functionname [versioninfo] * * owner -- the Part that owns this header. * * htype -- the type of this header. * * items -- pointers to the items in this header. * * version -- unused * * function_name -- the functionname ( a better name would * be objectname or thingy name, * it is the name of the thing that is * being documented ). * * module_name -- the modulename * * unique_name -- unique name used for labels. * * file_name -- documentation file of this header. * * lines -- content of the header * * no_lines -- number of lines in the content. * * line_number -- the line number at which the header was * found in the source file. * SOURCE */ struct RB_header { struct RB_header *next; struct RB_header *parent; struct RB_Part *owner; struct RB_HeaderType *htype; struct RB_Item *items; int is_internal; char *name; char **names; int no_names; char *version; char *function_name; char *module_name; char *unique_name; char *file_name; char **lines; int no_lines; int line_number; }; /*********/ /****d* Headers/src_constants * NAME * src_constants -- numerals for header_markers * NOTE * Most of them seem to be unused at the moment. * But it's better to keep it up to date for the * eventuality of a later use by robohdrs. * SOURCE */ #define SRC_C 0 #define SRC_ACM 1 /* Added by David White for Aspen Custom Modeller */ #define SRC_CPP 2 /* All values incremented 1 to allow for ACM */ #define SRC_PASCAL 3 #define SRC_PASCAL2 4 #define SRC_APLUS 5 /* David White for Aspen Plus */ #define SRC_ASM 6 #define SRC_ASM2 7 #define SRC_FORTRAN 8 #define SRC_BASIC 9 #define SRC_TEX 10 #define SRC_SCRIPT 11 #define SRC_COBOL 12 #define SRC_OCCAM 13 #define SRC_HTML 14 #define SRC_HTML2 15 #define SRC_GNUASM 16 #define SRC_F902 17 #define SRC_F90 18 #define SRC_VB 20 #define SRC_DBC 21 /*********/ /****d* Headers/src_remark_constants * NAME * src_remark_constants -- numerals for remark_markers * NOTE * Most of them seem to be unused at the moment. * But it's better to keep it up to date for the * eventuality of a later use by robohdrs. * SOURCE */ #define SRC_R_C 0 #define SRC_R_ACM 1 /* Added by David White for Aspen Custom Modeller */ #define SRC_R_CPP 2 /* All values incremented 1 to allow for ACM */ #define SRC_R_PASCAL 3 /* PASCAL and PASCAL2 were 1, should have been 2, incr to 3 */ #define SRC_R_PASCAL2 3 #define SRC_R_APLUS 4 /* David White for Aspen Plus */ #define SRC_R_ASM 5 #define SRC_R_ASM2 6 #define SRC_R_FORTRAN 7 #define SRC_R_BASIC 8 #define SRC_R_TEX 9 #define SRC_R_SCRIPT 10 #define SRC_R_COBOL 11 #define SRC_R_OCCAM 12 #define SRC_R_GNUASM 13 #define SRC_R_F902 14 #define SRC_R_F90 15 #define SRC_R_VB 17 #define SRC_R_DBC 18 #define SRC_R_HTML 19 /* NULL */ #define SRC_R_HTML2 19 /* NULL */ /*********/ /****d* Headers/end_remark_constants [3.0h] * NAME * end_remark_constants -- numerals for end_markers * NOTE * Most of them seem to be unused at the moment. But it's better to * keep it up to date for the eventuality of a later use by * robohdrs. * SOURCE */ #define SRC_E_C 0 #define SRC_E_ACM 1 /* Added by David White for Aspen Custom Modeller */ #define SRC_E_CPP 2 /* All values incremented 1 to allow for ACM */ #define SRC_E_PASCAL 4 #define SRC_E_PASCAL2 5 #define SRC_E_APLUS 6 /* David White for Aspen Plus */ #define SRC_E_ASM 7 #define SRC_E_ASM2 8 #define SRC_E_FORTRAN 9 #define SRC_E_BASIC 10 #define SRC_E_TEX 11 #define SRC_E_SCRIPT 12 #define SRC_E_COBOL 13 #define SRC_E_OCCAM 14 #define SRC_E_HTML 15 #define SRC_E_HTML2 16 #define SRC_E_GNUASM 17 #define SRC_E_F902 18 #define SRC_E_F90 19 #define SRC_E_VB 21 #define SRC_E_DBC 22 /*********/ extern char *robo_header; /* Added by DavidCD */ extern char *robo_end[]; /* Added by DavidCD */ extern char *header_markers[]; extern char *remark_markers[]; extern char *end_markers[]; extern char *end_remark_markers[]; extern char *RB_header_type_names[]; extern char *RB_internal_header_type_names[]; int RB_Is_Begin_Marker( char *cur_line, char **type ); int RB_Is_End_Marker( char *cur_line ); void RB_Header_Lock_Reset( void ); void RB_Item_Lock_Reset( void ); char *RB_Skip_Remark_Marker( char *lline_buffer ); int RB_Has_Remark_Marker( char *lline_buffer ); int RB_Is_Remark_End_Marker( char *cur_line ); int RB_Is_Remark_Begin_Marker( char *cur_line ); char *RB_Skip_Remark_Begin_Marker( char *cur_line ); char *RB_Skip_Remark_End_Marker( char *cur_line ); #endif /* ROBODOC_HEADERS_H */