/[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 789 - (hide 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 aramv 425 #ifndef POLYTYPES_H
2     #define POLYTYPES_H
3 aramv 594 #include "ees_config.h"
4     #if HAVE_STDDEF_H
5 aramv 425 #include <stddef.h>
6 aramv 594 #endif
7     #if HAVE_WCHAR_H
8 aramv 592 #include <wchar.h>
9 aramv 594 #endif
10     #if HAVE_STDIO_H
11 aramv 592 #include <stdio.h>
12 aramv 594 #endif
13 aramv 789 /* This include is for Leopard */
14     #include <sys/param.h>
15 aramv 594 #if HAVE_LINUX_LIMITS_H
16 aramv 592 #include <linux/limits.h>
17 aramv 594 #endif
18 aramv 425
19 aramv 502 #define MAXPROCS 5
20     #define LCMAPS_MAXARGSTRING 2000
21 aramv 425
22 aramv 502 typedef void *lcmaps_proc_t;
23    
24 aramv 525 /*! Identifiers for linked process symbols */
25 aramv 502 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 aramv 525 /*! Argument types */
37 aramv 425 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 aramv 473 TYPE_COUNT_LONGINT_POINTER,
70 aramv 425 #ifdef HAVE_LONG_LONG_INT
71 aramv 473 TYPE_COUNT_LONGLONGINT_POINTER,
72 aramv 425 #endif
73 aramv 473 TYPE_PEM,
74     TYPE_X509,
75     TYPE_STACK_OF_X509,
76     TYPE_EVP_PKEY
77 aramv 425 } arg_type;
78    
79 aramv 525
80     /*!
81     * \brief Node structure to hold plugin nodes
82     */
83 aramv 502 typedef struct lcmaps_plugindl_s
84 aramv 425 {
85 aramv 502 void * handle; /*!< dlopen handle to plugin module */
86     lcmaps_proc_t procs[MAXPROCS]; /*!< list of handles to interface functions of plugin */
87 aramv 592 char pluginname[FILENAME_MAX]; /*!< name of plugin */
88     char pluginargs[LCMAPS_MAXARGSTRING]; /*!< argument string */
89 aramv 502 int init_argc; /*!< number of arguments for the initialization function */
90 aramv 592 char * init_argv[ARG_MAX]; /*!< list of arguments for the initialization function */
91 aramv 502 struct lcmaps_plugindl_s * next; /*!< pointer to the next plugin in the plugin list */
92     }
93 aramv 425
94 aramv 502 lcmaps_plugindl_t;
95    
96 aramv 525
97     /*! \brief Node structure to store AOS arguments */
98 aramv 484 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 aramv 488 struct argument_s * next; /*! a pointer to the next node */
106 aramv 502 lcmaps_plugindl_t * setting_plugin;
107 aramv 484 }
108     argument_t;
109    
110 aramv 425 #endif

Properties

Name Value
svn:mergeinfo

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