00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00038 #ifndef LCMAPS_VO_DATA_H
00039 #define LCMAPS_VO_DATA_H
00040
00041
00042
00043
00044 #define LCMAPS_NO_GID (gid_t)(-1)
00046
00047
00048
00049 #include <grp.h>
00050
00051
00052
00053
00054
00064 typedef struct lcmaps_vo_data_s
00065 {
00066 char * vo;
00067 char * group;
00068 char * subgroup;
00069 char * role;
00070 char * capability;
00071 } lcmaps_vo_data_t;
00072
00082 typedef struct lcmaps_vo_mapping_s
00083 {
00084 char * vostring;
00085 char * groupname;
00087 gid_t gid;
00089 } lcmaps_vo_mapping_t;
00090
00091
00092
00093
00094
00095
00096
00097
00098 extern lcmaps_vo_data_t *
00099 lcmaps_createVoData(
00100 const char * vo,
00101 const char * group,
00102 const char * subgroup,
00103 const char * role,
00104 const char * capability
00105 );
00106
00107 extern int
00108 lcmaps_deleteVoData(
00109 lcmaps_vo_data_t ** vo_data
00110 );
00111
00112 extern int
00113 lcmaps_cleanVoData(
00114 lcmaps_vo_data_t * vo_data
00115 );
00116
00117 extern int
00118 lcmaps_copyVoData(
00119 lcmaps_vo_data_t * dst_vo_data,
00120 const lcmaps_vo_data_t * src_vo_data
00121 );
00122
00123 extern int
00124 lcmaps_printVoData(
00125 int debug_level,
00126 const lcmaps_vo_data_t * vo_data
00127 );
00128
00129 extern int
00130 lcmaps_stringVoData(
00131 const lcmaps_vo_data_t * vo_data,
00132 char * buffer,
00133 int nchars
00134 );
00135
00136
00137
00138
00139
00140 extern lcmaps_vo_mapping_t *
00141 lcmaps_createVoMapping(
00142 const char * vo_data_string,
00143 const char * groupname,
00144 const gid_t gid
00145 );
00146
00147 extern int
00148 lcmaps_deleteVoMapping(
00149 lcmaps_vo_mapping_t ** vo_mapping
00150 );
00151
00152 extern int
00153 lcmaps_cleanVoMapping(
00154 lcmaps_vo_mapping_t * vo_mapping
00155 );
00156
00157 extern int
00158 lcmaps_copyVoMapping(
00159 lcmaps_vo_mapping_t * dst_vo_mapping,
00160 const lcmaps_vo_mapping_t * src_vo_mapping
00161 );
00162
00163 extern int
00164 lcmaps_printVoMapping(
00165 int debug_level,
00166 const lcmaps_vo_mapping_t * vo_mapping
00167 );
00168
00169 #endif
00170
00171
00172
00173
00174
00175
00176
00177