1 /* 2 * Please do not edit this file. 3 * It was generated using rpcgen. 4 */ 5 6 #ifndef _IPROP_H_RPCGEN 7 #define _IPROP_H_RPCGEN 8 9 #include <gssrpc/rpc.h> 10 11 12 #ifdef __cplusplus 13 extern "C" { 14 #endif 15 16 17 typedef struct { 18 u_int utf8str_t_len; 19 char *utf8str_t_val; 20 } utf8str_t; 21 22 typedef uint32_t kdb_sno_t; 23 24 struct kdbe_time_t { 25 uint32_t seconds; 26 uint32_t useconds; 27 }; 28 typedef struct kdbe_time_t kdbe_time_t; 29 30 struct kdbe_key_t { 31 int32_t k_ver; 32 int32_t k_kvno; 33 struct { 34 u_int k_enctype_len; 35 int32_t *k_enctype_val; 36 } k_enctype; 37 struct { 38 u_int k_contents_len; 39 utf8str_t *k_contents_val; 40 } k_contents; 41 }; 42 typedef struct kdbe_key_t kdbe_key_t; 43 44 struct kdbe_data_t { 45 int32_t k_magic; 46 utf8str_t k_data; 47 }; 48 typedef struct kdbe_data_t kdbe_data_t; 49 50 struct kdbe_princ_t { 51 utf8str_t k_realm; 52 struct { 53 u_int k_components_len; 54 kdbe_data_t *k_components_val; 55 } k_components; 56 int32_t k_nametype; 57 }; 58 typedef struct kdbe_princ_t kdbe_princ_t; 59 60 struct kdbe_tl_t { 61 int16_t tl_type; 62 struct { 63 u_int tl_data_len; 64 char *tl_data_val; 65 } tl_data; 66 }; 67 typedef struct kdbe_tl_t kdbe_tl_t; 68 69 typedef struct { 70 u_int kdbe_pw_hist_t_len; 71 kdbe_key_t *kdbe_pw_hist_t_val; 72 } kdbe_pw_hist_t; 73 74 enum kdbe_attr_type_t { 75 AT_ATTRFLAGS = 0, 76 AT_MAX_LIFE = 1, 77 AT_MAX_RENEW_LIFE = 2, 78 AT_EXP = 3, 79 AT_PW_EXP = 4, 80 AT_LAST_SUCCESS = 5, 81 AT_LAST_FAILED = 6, 82 AT_FAIL_AUTH_COUNT = 7, 83 AT_PRINC = 8, 84 AT_KEYDATA = 9, 85 AT_TL_DATA = 10, 86 AT_LEN = 11, 87 AT_MOD_PRINC = 12, 88 AT_MOD_TIME = 13, 89 AT_MOD_WHERE = 14, 90 AT_PW_LAST_CHANGE = 15, 91 AT_PW_POLICY = 16, 92 AT_PW_POLICY_SWITCH = 17, 93 AT_PW_HIST_KVNO = 18, 94 AT_PW_HIST = 19 95 }; 96 typedef enum kdbe_attr_type_t kdbe_attr_type_t; 97 98 struct kdbe_val_t { 99 kdbe_attr_type_t av_type; 100 union { 101 uint32_t av_attrflags; 102 uint32_t av_max_life; 103 uint32_t av_max_renew_life; 104 uint32_t av_exp; 105 uint32_t av_pw_exp; 106 uint32_t av_last_success; 107 uint32_t av_last_failed; 108 uint32_t av_fail_auth_count; 109 kdbe_princ_t av_princ; 110 struct { 111 u_int av_keydata_len; 112 kdbe_key_t *av_keydata_val; 113 } av_keydata; 114 struct { 115 u_int av_tldata_len; 116 kdbe_tl_t *av_tldata_val; 117 } av_tldata; 118 int16_t av_len; 119 uint32_t av_pw_last_change; 120 kdbe_princ_t av_mod_princ; 121 uint32_t av_mod_time; 122 utf8str_t av_mod_where; 123 utf8str_t av_pw_policy; 124 bool_t av_pw_policy_switch; 125 uint32_t av_pw_hist_kvno; 126 struct { 127 u_int av_pw_hist_len; 128 kdbe_pw_hist_t *av_pw_hist_val; 129 } av_pw_hist; 130 struct { 131 u_int av_extension_len; 132 char *av_extension_val; 133 } av_extension; 134 } kdbe_val_t_u; 135 }; 136 typedef struct kdbe_val_t kdbe_val_t; 137 138 typedef struct { 139 u_int kdbe_t_len; 140 kdbe_val_t *kdbe_t_val; 141 } kdbe_t; 142 143 struct kdb_incr_update_t { 144 utf8str_t kdb_princ_name; 145 kdb_sno_t kdb_entry_sno; 146 kdbe_time_t kdb_time; 147 kdbe_t kdb_update; 148 bool_t kdb_deleted; 149 bool_t kdb_commit; 150 struct { 151 u_int kdb_kdcs_seen_by_len; 152 utf8str_t *kdb_kdcs_seen_by_val; 153 } kdb_kdcs_seen_by; 154 struct { 155 u_int kdb_futures_len; 156 char *kdb_futures_val; 157 } kdb_futures; 158 }; 159 typedef struct kdb_incr_update_t kdb_incr_update_t; 160 161 typedef struct { 162 u_int kdb_ulog_t_len; 163 kdb_incr_update_t *kdb_ulog_t_val; 164 } kdb_ulog_t; 165 166 enum update_status_t { 167 UPDATE_OK = 0, 168 UPDATE_ERROR = 1, 169 UPDATE_FULL_RESYNC_NEEDED = 2, 170 UPDATE_BUSY = 3, 171 UPDATE_NIL = 4, 172 UPDATE_PERM_DENIED = 5 173 }; 174 typedef enum update_status_t update_status_t; 175 176 struct kdb_last_t { 177 kdb_sno_t last_sno; 178 kdbe_time_t last_time; 179 }; 180 typedef struct kdb_last_t kdb_last_t; 181 182 struct kdb_incr_result_t { 183 kdb_last_t lastentry; 184 kdb_ulog_t updates; 185 update_status_t ret; 186 }; 187 typedef struct kdb_incr_result_t kdb_incr_result_t; 188 189 struct kdb_fullresync_result_t { 190 kdb_last_t lastentry; 191 update_status_t ret; 192 }; 193 typedef struct kdb_fullresync_result_t kdb_fullresync_result_t; 194 195 #define KRB5_IPROP_PROG 100423 196 #define KRB5_IPROP_VERS 1 197 198 #if defined(__STDC__) || defined(__cplusplus) 199 #define IPROP_NULL 0 200 extern void * iprop_null_1(void *, CLIENT *); 201 extern void * iprop_null_1_svc(void *, struct svc_req *); 202 #define IPROP_GET_UPDATES 1 203 extern kdb_incr_result_t * iprop_get_updates_1(kdb_last_t *, CLIENT *); 204 extern kdb_incr_result_t * iprop_get_updates_1_svc(kdb_last_t *, struct svc_req *); 205 #define IPROP_FULL_RESYNC 2 206 extern kdb_fullresync_result_t * iprop_full_resync_1(void *, CLIENT *); 207 extern kdb_fullresync_result_t * iprop_full_resync_1_svc(void *, struct svc_req *); 208 #define IPROP_FULL_RESYNC_EXT 3 209 extern kdb_fullresync_result_t * iprop_full_resync_ext_1(uint32_t *, CLIENT *); 210 extern kdb_fullresync_result_t * iprop_full_resync_ext_1_svc(uint32_t *, struct svc_req *); 211 extern int krb5_iprop_prog_1_freeresult (SVCXPRT *, xdrproc_t, caddr_t); 212 213 #else /* K&R C */ 214 #define IPROP_NULL 0 215 extern void * iprop_null_1(); 216 extern void * iprop_null_1_svc(); 217 #define IPROP_GET_UPDATES 1 218 extern kdb_incr_result_t * iprop_get_updates_1(); 219 extern kdb_incr_result_t * iprop_get_updates_1_svc(); 220 #define IPROP_FULL_RESYNC 2 221 extern kdb_fullresync_result_t * iprop_full_resync_1(); 222 extern kdb_fullresync_result_t * iprop_full_resync_1_svc(); 223 #define IPROP_FULL_RESYNC_EXT 3 224 extern kdb_fullresync_result_t * iprop_full_resync_ext_1(uint32_t *, CLIENT *); 225 extern kdb_fullresync_result_t * iprop_full_resync_ext_1_svc(uint32_t *, struct svc_req *); 226 extern int krb5_iprop_prog_1_freeresult (); 227 #endif /* K&R C */ 228 229 /* the xdr functions */ 230 231 #if defined(__STDC__) || defined(__cplusplus) 232 extern bool_t xdr_utf8str_t (XDR *, utf8str_t*); 233 extern bool_t xdr_kdb_sno_t (XDR *, kdb_sno_t*); 234 extern bool_t xdr_kdbe_time_t (XDR *, kdbe_time_t*); 235 extern bool_t xdr_kdbe_key_t (XDR *, kdbe_key_t*); 236 extern bool_t xdr_kdbe_data_t (XDR *, kdbe_data_t*); 237 extern bool_t xdr_kdbe_princ_t (XDR *, kdbe_princ_t*); 238 extern bool_t xdr_kdbe_tl_t (XDR *, kdbe_tl_t*); 239 extern bool_t xdr_kdbe_pw_hist_t (XDR *, kdbe_pw_hist_t*); 240 extern bool_t xdr_kdbe_attr_type_t (XDR *, kdbe_attr_type_t*); 241 extern bool_t xdr_kdbe_val_t (XDR *, kdbe_val_t*); 242 extern bool_t xdr_kdbe_t (XDR *, kdbe_t*); 243 extern bool_t xdr_kdb_incr_update_t (XDR *, kdb_incr_update_t*); 244 extern bool_t xdr_kdb_ulog_t (XDR *, kdb_ulog_t*); 245 extern bool_t xdr_update_status_t (XDR *, update_status_t*); 246 extern bool_t xdr_kdb_last_t (XDR *, kdb_last_t*); 247 extern bool_t xdr_kdb_incr_result_t (XDR *, kdb_incr_result_t*); 248 extern bool_t xdr_kdb_fullresync_result_t (XDR *, kdb_fullresync_result_t*); 249 250 #else /* K&R C */ 251 extern bool_t xdr_utf8str_t (); 252 extern bool_t xdr_kdb_sno_t (); 253 extern bool_t xdr_kdbe_time_t (); 254 extern bool_t xdr_kdbe_key_t (); 255 extern bool_t xdr_kdbe_data_t (); 256 extern bool_t xdr_kdbe_princ_t (); 257 extern bool_t xdr_kdbe_tl_t (); 258 extern bool_t xdr_kdbe_pw_hist_t (); 259 extern bool_t xdr_kdbe_attr_type_t (); 260 extern bool_t xdr_kdbe_val_t (); 261 extern bool_t xdr_kdbe_t (); 262 extern bool_t xdr_kdb_incr_update_t (); 263 extern bool_t xdr_kdb_ulog_t (); 264 extern bool_t xdr_update_status_t (); 265 extern bool_t xdr_kdb_last_t (); 266 extern bool_t xdr_kdb_incr_result_t (); 267 extern bool_t xdr_kdb_fullresync_result_t (); 268 269 #endif /* K&R C */ 270 271 #ifdef __cplusplus 272 } 273 #endif 274 275 #endif /* !_IPROP_H_RPCGEN */ 276