/[pdpsoft]/trunk/grid-mw-security/ees/include/library/polytypes.h
ViewVC logotype

Annotation of /trunk/grid-mw-security/ees/include/library/polytypes.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 525 - (hide annotations) (download) (as text)
Wed Jul 15 08:55:01 2009 UTC (12 years, 10 months ago) by aramv
File MIME type: text/x-csrc
File size: 3096 byte(s)
Wored on parser, trying to fix memleaks
1 aramv 425 #ifndef POLYTYPES_H
2     #define POLYTYPES_H
3     /* Get size_t. */
4     #include <stddef.h>
5    
6     /* Get wchar_t. */
7     #ifdef HAVE_WCHAR_T
8     # include <stddef.h>
9     #endif
10    
11     /* Get wint_t. */
12     #ifdef HAVE_WINT_T
13     # include <wchar.h>
14     #endif
15    
16 aramv 502 #define MAXPROCS 5
17     #define LCMAPS_MAXARGSTRING 2000
18     #define LCMAPS_MAXPATHLEN 500
19 aramv 425
20 aramv 502 #define LCMAPS_MAXARGS 51
21    
22     typedef void *lcmaps_proc_t;
23    
24    
25 aramv 525 /*! Identifiers for linked process symbols */
26 aramv 502 typedef enum lcmaps_proctype_e
27     {
28     INITPROC, /*!< this value corresponds to the plugin initialization function */
29     RUNPROC, /*!< this value corresponds to the plugin run function (get credentials) */
30     TERMPROC, /*!< this value corresponds to the plugin termination function */
31     INTROPROC, /*!< this value corresponds to the plugin introspect function */
32     VERIFYPROC, /*!< this value corresponds to the plugin verification function */
33     ENDOFPROCS /*< this is the last enumeration value */
34     } lcmaps_proctype_t;
35    
36    
37 aramv 525 /*! Argument types */
38 aramv 425 typedef enum
39     {
40     TYPE_NONE,
41     TYPE_SCHAR,
42     TYPE_UCHAR,
43     TYPE_SHORT,
44     TYPE_USHORT,
45     TYPE_INT,
46     TYPE_UINT,
47     TYPE_LONGINT,
48     TYPE_ULONGINT,
49     #ifdef HAVE_LONG_LONG_INT
50     TYPE_LONGLONGINT,
51     TYPE_ULONGLONGINT,
52     #endif
53     TYPE_FLOAT,
54     TYPE_DOUBLE,
55     #ifdef HAVE_LONG_DOUBLE
56     TYPE_LONGDOUBLE,
57     #endif
58     TYPE_CHAR,
59     #ifdef HAVE_WINT_T
60     TYPE_WIDE_CHAR,
61     #endif
62     TYPE_STRING,
63     #ifdef HAVE_WCHAR_T
64     TYPE_WIDE_STRING,
65     #endif
66     TYPE_POINTER,
67     TYPE_COUNT_SCHAR_POINTER,
68     TYPE_COUNT_SHORT_POINTER,
69     TYPE_COUNT_INT_POINTER,
70 aramv 473 TYPE_COUNT_LONGINT_POINTER,
71 aramv 425 #ifdef HAVE_LONG_LONG_INT
72 aramv 473 TYPE_COUNT_LONGLONGINT_POINTER,
73 aramv 425 #endif
74 aramv 473 TYPE_PEM,
75     TYPE_X509,
76     TYPE_STACK_OF_X509,
77     TYPE_EVP_PKEY
78 aramv 425 } arg_type;
79    
80 aramv 525
81     /*!
82     * \brief Node structure to hold plugin nodes
83     */
84 aramv 502 typedef struct lcmaps_plugindl_s
85 aramv 425 {
86 aramv 502 void * handle; /*!< dlopen handle to plugin module */
87     lcmaps_proc_t procs[MAXPROCS]; /*!< list of handles to interface functions of plugin */
88     char pluginname[LCMAPS_MAXPATHLEN+1]; /*!< name of plugin */
89     char pluginargs[LCMAPS_MAXARGSTRING+1]; /*!< argument string */
90     int init_argc; /*!< number of arguments for the initialization function */
91     char * init_argv[LCMAPS_MAXARGS]; /*!< list of arguments for the initialization function */
92     struct lcmaps_plugindl_s * next; /*!< pointer to the next plugin in the plugin list */
93     }
94 aramv 425
95 aramv 502 lcmaps_plugindl_t;
96    
97 aramv 525
98     /*! \brief Node structure to store AOS arguments */
99 aramv 484 typedef struct argument_s
100     {
101     void* data; /*! a pointer to store the data */
102     int needs_free; /*! a flag that determines wheter the data should be free'd */
103     const char * label; /*! a label to identify the data */
104     arg_type type; /*! a type identifier */
105     struct argument_s * parent; /*! a pointer to the 'parent' object */
106 aramv 488 struct argument_s * next; /*! a pointer to the next node */
107 aramv 502 lcmaps_plugindl_t * setting_plugin;
108 aramv 484 }
109     argument_t;
110    
111 aramv 425 #endif

Properties

Name Value
svn:mergeinfo

grid.support@nikhef.nl
ViewVC Help
Powered by ViewVC 1.1.28