00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00031 #ifndef LCMAPS_VO_DATA_H
00032 #define LCMAPS_VO_DATA_H
00033
00034
00035
00036
00037 #define LCMAPS_NO_GID (gid_t)(-1)
00039
00040
00041
00042 #include <grp.h>
00043
00044
00045
00046
00047
00057 typedef struct lcmaps_vo_data_s
00058 {
00059 char * vo;
00060 char * group;
00061 char * subgroup;
00062 char * role;
00063 char * capability;
00064 } lcmaps_vo_data_t;
00065
00075 typedef struct lcmaps_vo_mapping_s
00076 {
00077 char * vostring;
00078 char * groupname;
00080 gid_t gid;
00082 } lcmaps_vo_mapping_t;
00083
00084
00085
00086
00087
00088
00089
00090
00091 extern lcmaps_vo_data_t *
00092 lcmaps_createVoData(
00093 const char * vo,
00094 const char * group,
00095 const char * subgroup,
00096 const char * role,
00097 const char * capability
00098 );
00099
00100 extern int
00101 lcmaps_deleteVoData(
00102 lcmaps_vo_data_t ** vo_data
00103 );
00104
00105 extern int
00106 lcmaps_cleanVoData(
00107 lcmaps_vo_data_t * vo_data
00108 );
00109
00110 extern int
00111 lcmaps_copyVoData(
00112 lcmaps_vo_data_t * dst_vo_data,
00113 const lcmaps_vo_data_t * src_vo_data
00114 );
00115
00116 extern int
00117 lcmaps_printVoData(
00118 int debug_level,
00119 const lcmaps_vo_data_t * vo_data
00120 );
00121
00122 extern int
00123 lcmaps_stringVoData(
00124 const lcmaps_vo_data_t * vo_data,
00125 char * buffer,
00126 int nchars
00127 );
00128
00129
00130
00131
00132
00133 extern lcmaps_vo_mapping_t *
00134 lcmaps_createVoMapping(
00135 const char * vo_data_string,
00136 const char * groupname,
00137 const gid_t gid
00138 );
00139
00140 extern int
00141 lcmaps_deleteVoMapping(
00142 lcmaps_vo_mapping_t ** vo_mapping
00143 );
00144
00145 extern int
00146 lcmaps_cleanVoMapping(
00147 lcmaps_vo_mapping_t * vo_mapping
00148 );
00149
00150 extern int
00151 lcmaps_copyVoMapping(
00152 lcmaps_vo_mapping_t * dst_vo_mapping,
00153 const lcmaps_vo_mapping_t * src_vo_mapping
00154 );
00155
00156 extern int
00157 lcmaps_printVoMapping(
00158 int debug_level,
00159 const lcmaps_vo_mapping_t * vo_mapping
00160 );
00161
00162 #endif
00163
00164
00165
00166
00167
00168
00169
00170