00001 /* 00002 * Copyright (c) Members of the EGEE Collaboration. 2004. 00003 * See http://eu-egee.org/partners/ for details on the copyright holders. 00004 * For license conditions see the license file or 00005 * http://eu-egee.org/license.html 00006 */ 00007 00008 /* 00009 * Copyright (c) 2001 EU DataGrid. 00010 * For license conditions see http://www.eu-datagrid.org/license.html 00011 * 00012 * Copyright (c) 2001, 2002 by 00013 * Martijn Steenbakkers <martijn@nikhef.nl>, 00014 * Oscar Koeroo <okoeroo@nikhef.nl>, 00015 * David Groep <davidg@nikhef.nl>, 00016 * NIKHEF Amsterdam, the Netherlands 00017 */ 00018 00034 #ifndef LCMAPS_ARGUMENTS_H 00035 #define LCMAPS_ARGUMENTS_H 00036 00037 /****************************************************************************** 00038 Type definitions 00039 ******************************************************************************/ 00040 00049 typedef struct lcmaps_argument_s 00050 { 00051 char *argName; 00052 char *argType; 00053 int argInOut; 00054 void *value; 00055 } lcmaps_argument_t; 00056 00057 00058 /****************************************************************************** 00059 * Module definition 00060 *****************************************************************************/ 00061 00062 /****************************************************************************** 00063 Function: lcmaps_setArgValue 00064 Description: 00065 Set the value of argType on the reserved place in values. 00066 The place within values is determined by the place where argName is found 00067 in the arguments list 00068 00069 Parameters: 00070 argName: name of argument 00071 argType: type of argument 00072 argcx: number of arguments 00073 argvx: array of arguments structures 00074 Returns: 00075 0: success 00076 -1: failure (could not find structure with name argName) 00077 ******************************************************************************/ 00078 extern int lcmaps_setArgValue(char *argName, char *argType, void *value, int argcx, lcmaps_argument_t **argvx); 00079 00080 /****************************************************************************** 00081 Function: lcmaps_getArgValue 00082 Description: 00083 Gets the value of argType from values. 00084 The place within the lcmaps_argument_t values is determined by the argName listed in 00085 lcmaps_argument_t *argvx. 00086 Returns a void pointer to the value. 00087 00088 Parameters: 00089 argName: name of argument 00090 argType: type of argument 00091 argcx: number of arguments 00092 argvx: array of arguments structures 00093 Returns: 00094 void pointer to the value or NULL 00095 ******************************************************************************/ 00096 extern void * lcmaps_getArgValue(char *argName, char *argType, int argcx, lcmaps_argument_t *argvx); 00097 00098 /****************************************************************************** 00099 Function: lcmaps_findArgName 00100 Description: 00101 Search for argName in the arguments list. 00102 Returns the index to lcmaps_argument_t element. 00103 00104 Parameters: 00105 argName: name of argument 00106 argcx: number of arguments 00107 argvx: array of arguments structures 00108 Returns: 00109 index to lcmaps_argument_t element 00110 ******************************************************************************/ 00111 extern int lcmaps_findArgName(char *argName, int argcx, lcmaps_argument_t *argvx); 00112 00113 /****************************************************************************** 00114 Function: lcmaps_findArgNameAndType 00115 Description: 00116 Search for argName and Type in the arguments list. 00117 Returns the index to lcmaps_argument_t element. 00118 00119 Parameters: 00120 argName: name of argument 00121 argType: type of argument 00122 argcx: number of arguments 00123 argvx: array of arguments structures 00124 Returns: 00125 index to lcmaps_argument_t element 00126 ******************************************************************************/ 00127 extern int lcmaps_findArgNameAndType(char *argName, char *argType, int argcx, lcmaps_argument_t *argvx); 00128 00129 /****************************************************************************** 00130 Function: lcmaps_cntArgs 00131 Description: 00132 Count the number of arguments that are defined in a plug-in 00133 Returns this number. 00134 00135 Parameters: 00136 argvx: array of arguments structures 00137 Returns: 00138 the number of arguments 00139 ******************************************************************************/ 00140 extern int lcmaps_cntArgs(lcmaps_argument_t *argvx); 00141 00142 #endif /* LCMAPS_ARGUMENTS_H */ 00143 00144 /****************************************************************************** 00145 CVS Information: 00146 $Source: /cvs/jra1mw/org.glite.security.lcmaps/interface/lcmaps_arguments.h,v $ 00147 $Date: 2004/10/13 16:37:57 $ 00148 $Revision: 1.2 $ 00149 $Author: msteenba $ 00150 ******************************************************************************/