Move the sources to trunk
[opencv] / apps / Hawk / CVEiCL / EiC / src / ppc403 / include / func.h
1 #ifndef FUNCH_\r
2 #define FUNCH_\r
3 \r
4 #include "typemod.h"\r
5 \r
6 typedef struct {\r
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
11 } parm_t;\r
12 \r
13 \r
14 \r
15 typedef struct {\r
16     int Num;             /* # of parameters */\r
17     parm_t * parm;\r
18 \r
19 \r
20     type_expr **typ;  /* parameter types */\r
21     char **nmes;      /* parameter names */\r
22     char **pcomms;     /* parameter comments */\r
23 \r
24     \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
33 } func_t;\r
34 \r
35 /** func.c **/\r
36 /* methods */\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
51 \r
52 \r
53 #define getFComm(f)      ((f)->comm)\r
54 #define setFComm(f,s)    ((f)->comm=s)\r
55 \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
65 \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
70  \r
71 int HasHiddenParm(type_expr *ty);\r
72 #endif\r
73 \r
74 \r
75 \r
76 \r
77 \r
78 \r
79 \r
80 \r
81 \r