home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Simtel MSDOS 1992 June
/
SIMTEL_0692.cdr
/
msdos
/
c
/
c_flow.arc
/
CFLOWX.H
< prev
next >
Wrap
Text File
|
1985-06-24
|
3KB
|
107 lines
/*
** CFLOWX.H : header file for CFLOW.C and CFLOWX.C
**
** Copyright (c) 1985 by:
**
** Lawrence R. Steeger
** 1009 North Jackson
** Milwaukee, Wisconsin 53202
** 414-277-8149
*/
typedef int (*PFI)(); /* pointer to function returning int */
#define TRUE 1
#define FALSE 0
#define MAXBUF 513 /* maximum C source record buffer */
#define MAXPATH 128 /* maximum MS-DOS 2 file name buffer */
/* CFLOWX record types */
#define NOFUNC 0 /* non-function related output (must=0) */
#define HDRSYST 1 /* -h system prefix */
#define HDRPROJ 2 /* -h project prefix */
#define WILDPTH 3 /* wildcard path name */
#define WILDNME 4 /* wildcard specification */
#define FILEPTH 5 /* C source file path name */
#define FILENME 6 /* C source file name */
#define FUNCNME 7 /* function name */
#define FUNCDCL 8 /* function definition */
#define FUNCARG 9 /* function definition argument */
#define FUNCREF 10 /* function reference */
#define MACNME 11 /* #define macro name */
#define MACDCL 12 /* #define macro definition */
#define MACEQU 13 /* #define macro equate */
#define NESTERR 14 /* C source {...} nesting level error */
#define HIGHKEY (NESTERR+1) /* highest valid cflowx record key + 1 */
#define WILDNF 15 /* no files match wildcard */
#define FILEERR 16 /* C source file name (open error) */
static char *types[] = { /* CFLOWX record type names */
"NOFUNC",
"HDRSYST",
"HDRPROJ",
"WILDPTH",
"WILDNME",
"FILEPTH",
"FILENME",
"FUNCNME",
"FUNCDCL",
"FUNCARG",
"FUNCREF",
"MACNME",
"MACDCL",
"MACEQU",
"NESTERR",
"WILDNF",
"FILEERR"
};
/* CFLOWX record fields:
**
** 1. record type
** 2. file name number
** 3. {...} nest or #include file level number
** 4. current line number
** 5. record data string
*/
#define MAXFLDS 5 /* maximum CFLOWX record fields */
#define RS '\n' /* CFLOWX record separator */
#define US ',' /* CFLOWX unit separator */
/* build CFLOWX record format string */
static unsigned char *cxref(fields)
int fields;
{
static unsigned char cp[(MAXFLDS*3)+1];
/* build CFLOWX record format string */
sprintf(cp, "%s%c%s%c%s%c%s%c%s%c",
"%d", US,
"%d", US,
"%d", US,
"%d", US,
"%s", RS
);
/* truncate at requested number of fields */
if (fields > MAXFLDS)
abort("CXREF - %d > %d fields",
fields,
MAXFLDS); /* too many fields ! */
else cp[(fields*3)] = EOS;
return (cp); /* return format string pointer */
}
/* end of cflowx.h */
e