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

Properties

Name Value
svn:mergeinfo

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