V10/cmd/lint/lint.h
/* the key:
LDI defined and initialized: storage set aside
LIB defined on a library
LDC defined as a common region on UNIX
LDX defined by an extern: if ! pflag, same as LDI
LRV function returns a value
LUV function used in a value context
LUE function used in effects context
LUM mentioned somewhere other than at the declaration
*/
# define LDI 01
# define LIB 02
# define LDC 04
# define LDX 010
# define LRV 020
# define LUV 040
# define LUE 0100
# define LUM 0200
# define LFN 0400 /* filename record */
# ifdef FMTARGS
# define LPF 02000 /* printf-like function */
# define LSF 04000 /* scanf-like function */
# endif
/* number of chars in NAME, and filename */
#ifndef FLEXNAMES
# define LCHNM 8
# define LFNM 14
#endif
typedef struct ty {
TWORD aty;
short extra;
#ifdef FMTARGS
long straddr; /* string file offset */
#endif
} ATYPE;
typedef struct line {
short decflag;
#ifndef FLEXNAMES
char name[LCHNM];
#else
char *name;
#endif
short nargs;
short fline;
ATYPE type;
} LINE;
union rec {
struct line l;
struct {
short decflag;
#ifndef FLEXNAMES
char fn[LFNM];
#else
char *fn;
#endif
} f;
};