5 #include "datastruct.h"
8 type_expr *type; /* parameter type */
9 char *name; /* parameter name */
10 char *comm; /* parameter comment */
11 void *val; /* parameter default value */
16 int Num; /* # of parameters */
19 int sn; /* # of strings */
20 char **strs; /* string pointers */
21 int stn; /* # of static arrays */
22 int *st; /* pointer to static arrays */
23 extern_t *link; /* pointer to links */
24 int ni; /* # of initialisers */
25 void **inzs; /* initialisers */
26 char *comm; /* function comment */
28 code_t *callBack; /* call Back code */
34 #define getFNp(f) ((f)->Num) /* get number of parameters */
35 #define setFNp(f,i) ((f)->Num = i)
36 #define getFPname(f,i) ((f)->parm[i].name) /* get parameter name */
37 #define setFPname(f,i,s) ((f)->parm[i].name = s) /* set parameter name */
38 #define getFPty(f,i) ((f)->parm[i].type) /* get parameter type */
39 #define setFPty(f,i,s) ((f)->parm[i].type = s)
41 #define getFPcomm(f,i) ((f)->parm[i].comm) /* get parameter comment */
42 #define setFPcomm(f,i,s) ((f)->parm[i].comm = s) /* set parameter comment */
44 #define getFPval(f,i) ((f)->parm[i].val) /* get parameter value */
45 #define setFPval(f,i,s) ((f)->parm[i].val = s) /* set parameter value */
47 #define getFPtyList(f) ((f)->parm) /* get parameter list */
48 #define setFPtyList(f,s) ((f)->parm = s) /* set parameter list */
50 #define getFComm(f) ((f)->comm)
51 #define setFComm(f,s) ((f)->comm=s)
53 #define getFcallBack(f) ((f)->callBack)
54 #define setFcallBack(f,s) ((f)->callBack=s)
56 void EiC_make_func(token_t * e1);
57 void EiC_add_func_parm(func_t * f, type_expr ** type, char * name);
58 void EiC_add_func_str(func_t * f, char *s);
59 void EiC_add_func_static(func_t * f, int n);
60 void EiC_add_func_initialiser(func_t * f, void *s);
61 void EiC_free_func_inf(func_t * f);
62 void EiC_markFunc(type_expr * type, int mark);
63 void EiC_freeFuncComments(func_t *f);
64 int EiC_sameFuncs(type_expr *t1, type_expr *t2);
66 int EiC_IsVariadic(func_t *f);
67 int EiC_hasPrototype(func_t *f);
68 void EiC_swapFPLists(func_t *f1, func_t *f2);
69 int EiC_gotMissingNames(func_t *f);
71 int EiC_HasHiddenParm(type_expr *ty);
73 void add_param_initialiser(func_t *f);
75 void (*EiC_saveComment(void)) (char * s);