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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 525 - (show 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 #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 #define MAXPROCS 5
17 #define LCMAPS_MAXARGSTRING 2000
18 #define LCMAPS_MAXPATHLEN 500
19
20 #define LCMAPS_MAXARGS 51
21
22 typedef void *lcmaps_proc_t;
23
24
25 /*! Identifiers for linked process symbols */
26 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 /*! Argument types */
38 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 TYPE_COUNT_LONGINT_POINTER,
71 #ifdef HAVE_LONG_LONG_INT
72 TYPE_COUNT_LONGLONGINT_POINTER,
73 #endif
74 TYPE_PEM,
75 TYPE_X509,
76 TYPE_STACK_OF_X509,
77 TYPE_EVP_PKEY
78 } arg_type;
79
80
81 /*!
82 * \brief Node structure to hold plugin nodes
83 */
84 typedef struct lcmaps_plugindl_s
85 {
86 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
95 lcmaps_plugindl_t;
96
97
98 /*! \brief Node structure to store AOS arguments */
99 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 struct argument_s * next; /*! a pointer to the next node */
107 lcmaps_plugindl_t * setting_plugin;
108 }
109 argument_t;
110
111 #endif

Properties

Name Value
svn:mergeinfo

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