7 type_expr *type; /* parameter type */
\r
8 char *name; /* parameter name */
\r
9 char *pcomms; /* parameter comment */
\r
10 void *def; /* parameter default value */
\r
16 int Num; /* # of parameters */
\r
20 type_expr **typ; /* parameter types */
\r
21 char **nmes; /* parameter names */
\r
22 char **pcomms; /* parameter comments */
\r
25 int sn; /* # of strings */
\r
26 char **strs; /* string pointers */
\r
27 int stn; /* # of static arrays */
\r
28 int *st; /* pointer to static arrays */
\r
29 extern_t *link; /* pointer to links */
\r
30 int ni; /* # of initialisers */
\r
31 void **inzs; /* initialisers */
\r
32 char *comm; /* function comment */
\r
37 #define getFNp(f) ((f)->Num) /* get number of parameters */
\r
38 #define setFNp(f,i) ((f)->Num = i)
\r
39 #define getFPname(f,i) ((f)->nmes[i])
\r
40 #define getFPnames(f) ((f)->nmes)
\r
41 #define setFPnames(f,s) ((f)->nmes = s)
\r
42 #define setFPname(f,i,s) ((f)->nmes[i] = s)
\r
43 #define getFPty(f,i) ((f)->typ[i])
\r
44 #define getFPtyList(f) ((f)->typ)
\r
45 #define setFPtyList(f,s) ((f)->typ = s)
\r
46 #define setFPty(f,i,s) ((f)->typ[i] = s)
\r
47 #define getFPcomm(f,i) ((f)->pcomms[i])
\r
48 #define getFPcomms(f) ((f)->pcomms)
\r
49 #define setFPcomms(f,s) ((f)->pcomms = s)
\r
50 #define setFPcomm(f,i,s) ((f)->pcomms[i] = s)
\r
53 #define getFComm(f) ((f)->comm)
\r
54 #define setFComm(f,s) ((f)->comm=s)
\r
56 void make_func(token_t * e1);
\r
57 void add_func_parm(func_t * f, type_expr ** type, char * name);
\r
58 void add_func_str(func_t * f, char *s);
\r
59 void add_func_static(func_t * f, int n);
\r
60 void add_func_initialiser(func_t * f, void *s);
\r
61 void free_func_inf(func_t * f);
\r
62 void markFunc(type_expr * type, int mark);
\r
63 void freeFuncComments(func_t *f);
\r
64 int sameFuncs(type_expr *t1, type_expr *t2);
\r
66 int IsVariadic(func_t *f);
\r
67 int hasPrototype(func_t *f);
\r
68 void swapFPLists(func_t *f1, func_t *f2);
\r
69 int gotMissingNames(func_t *f);
\r
71 int HasHiddenParm(type_expr *ty);
\r