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 <rpc/rpc.h> 10 #pragma ident "%Z%%M% %I% %E% SMI" 11 12 typedef struct { 13 u_int utf8str_t_len; 14 char *utf8str_t_val; 15 } utf8str_t; 16 17 typedef uint32_t kdb_sno_t; 18 19 struct kdbe_time_t { 20 uint32_t seconds; 21 uint32_t useconds; 22 }; 23 typedef struct kdbe_time_t kdbe_time_t; 24 25 struct kdbe_key_t { 26 int32_t k_ver; 27 int32_t k_kvno; 28 struct { 29 u_int k_enctype_len; 30 int32_t *k_enctype_val; 31 } k_enctype; 32 struct { 33 u_int k_contents_len; 34 utf8str_t *k_contents_val; 35 } k_contents; 36 }; 37 typedef struct kdbe_key_t kdbe_key_t; 38 39 struct kdbe_data_t { 40 int32_t k_magic; 41 utf8str_t k_data; 42 }; 43 typedef struct kdbe_data_t kdbe_data_t; 44 45 struct kdbe_princ_t { 46 utf8str_t k_realm; 47 struct { 48 u_int k_components_len; 49 kdbe_data_t *k_components_val; 50 } k_components; 51 int32_t k_nametype; 52 }; 53 typedef struct kdbe_princ_t kdbe_princ_t; 54 55 struct kdbe_tl_t { 56 int16_t tl_type; 57 struct { 58 u_int tl_data_len; 59 char *tl_data_val; 60 } tl_data; 61 }; 62 typedef struct kdbe_tl_t kdbe_tl_t; 63 64 typedef struct { 65 u_int kdbe_pw_hist_t_len; 66 kdbe_key_t *kdbe_pw_hist_t_val; 67 } kdbe_pw_hist_t; 68 69 enum kdbe_attr_type_t { 70 AT_ATTRFLAGS = 0, 71 AT_MAX_LIFE = 1, 72 AT_MAX_RENEW_LIFE = 2, 73 AT_EXP = 3, 74 AT_PW_EXP = 4, 75 AT_LAST_SUCCESS = 5, 76 AT_LAST_FAILED = 6, 77 AT_FAIL_AUTH_COUNT = 7, 78 AT_PRINC = 8, 79 AT_KEYDATA = 9, 80 AT_TL_DATA = 10, 81 AT_LEN = 11, 82 AT_MOD_PRINC = 12, 83 AT_MOD_TIME = 13, 84 AT_MOD_WHERE = 14, 85 AT_PW_LAST_CHANGE = 15, 86 AT_PW_POLICY = 16, 87 AT_PW_POLICY_SWITCH = 17, 88 AT_PW_HIST_KVNO = 18, 89 AT_PW_HIST = 19 90 }; 91 typedef enum kdbe_attr_type_t kdbe_attr_type_t; 92 93 struct kdbe_val_t { 94 kdbe_attr_type_t av_type; 95 union { 96 uint32_t av_attrflags; 97 uint32_t av_max_life; 98 uint32_t av_max_renew_life; 99 uint32_t av_exp; 100 uint32_t av_pw_exp; 101 uint32_t av_last_success; 102 uint32_t av_last_failed; 103 uint32_t av_fail_auth_count; 104 kdbe_princ_t av_princ; 105 struct { 106 u_int av_keydata_len; 107 kdbe_key_t *av_keydata_val; 108 } av_keydata; 109 struct { 110 u_int av_tldata_len; 111 kdbe_tl_t *av_tldata_val; 112 } av_tldata; 113 int16_t av_len; 114 uint32_t av_pw_last_change; 115 kdbe_princ_t av_mod_princ; 116 uint32_t av_mod_time; 117 utf8str_t av_mod_where; 118 utf8str_t av_pw_policy; 119 bool_t av_pw_policy_switch; 120 uint32_t av_pw_hist_kvno; 121 struct { 122 u_int av_pw_hist_len; 123 kdbe_pw_hist_t *av_pw_hist_val; 124 } av_pw_hist; 125 struct { 126 u_int av_extension_len; 127 char *av_extension_val; 128 } av_extension; 129 } kdbe_val_t_u; 130 }; 131 typedef struct kdbe_val_t kdbe_val_t; 132 133 typedef struct { 134 u_int kdbe_t_len; 135 kdbe_val_t *kdbe_t_val; 136 } kdbe_t; 137 138 struct kdb_incr_update_t { 139 utf8str_t kdb_princ_name; 140 kdb_sno_t kdb_entry_sno; 141 kdbe_time_t kdb_time; 142 kdbe_t kdb_update; 143 bool_t kdb_deleted; 144 bool_t kdb_commit; 145 struct { 146 u_int kdb_kdcs_seen_by_len; 147 utf8str_t *kdb_kdcs_seen_by_val; 148 } kdb_kdcs_seen_by; 149 struct { 150 u_int kdb_futures_len; 151 char *kdb_futures_val; 152 } kdb_futures; 153 }; 154 typedef struct kdb_incr_update_t kdb_incr_update_t; 155 156 typedef struct { 157 u_int kdb_ulog_t_len; 158 kdb_incr_update_t *kdb_ulog_t_val; 159 } kdb_ulog_t; 160 161 enum update_status_t { 162 UPDATE_OK = 0, 163 UPDATE_ERROR = 1, 164 UPDATE_FULL_RESYNC_NEEDED = 2, 165 UPDATE_BUSY = 3, 166 UPDATE_NIL = 4, 167 UPDATE_PERM_DENIED = 5 168 }; 169 typedef enum update_status_t update_status_t; 170 171 struct kdb_last_t { 172 kdb_sno_t last_sno; 173 kdbe_time_t last_time; 174 }; 175 typedef struct kdb_last_t kdb_last_t; 176 177 struct kdb_incr_result_t { 178 kdb_last_t lastentry; 179 kdb_ulog_t updates; 180 update_status_t ret; 181 }; 182 typedef struct kdb_incr_result_t kdb_incr_result_t; 183 184 struct kdb_fullresync_result_t { 185 kdb_last_t lastentry; 186 update_status_t ret; 187 }; 188 typedef struct kdb_fullresync_result_t kdb_fullresync_result_t; 189 190 #define KRB5_IPROP_PROG 100423 191 #define KRB5_IPROP_VERS 1 192 #define IPROP_NULL 0 193 extern void * iprop_null_1(); 194 #define IPROP_GET_UPDATES 1 195 extern kdb_incr_result_t * iprop_get_updates_1(); 196 #define IPROP_FULL_RESYNC 2 197 extern kdb_fullresync_result_t * iprop_full_resync_1(); 198 extern int krb5_iprop_prog_1_freeresult(); 199 200 /* the xdr functions */ 201 extern bool_t xdr_utf8str_t(); 202 extern bool_t xdr_kdb_sno_t(); 203 extern bool_t xdr_kdbe_time_t(); 204 extern bool_t xdr_kdbe_key_t(); 205 extern bool_t xdr_kdbe_data_t(); 206 extern bool_t xdr_kdbe_princ_t(); 207 extern bool_t xdr_kdbe_tl_t(); 208 extern bool_t xdr_kdbe_pw_hist_t(); 209 extern bool_t xdr_kdbe_attr_type_t(); 210 extern bool_t xdr_kdbe_val_t(); 211 extern bool_t xdr_kdbe_t(); 212 extern bool_t xdr_kdb_incr_update_t(); 213 extern bool_t xdr_kdb_ulog_t(); 214 extern bool_t xdr_update_status_t(); 215 extern bool_t xdr_kdb_last_t(); 216 extern bool_t xdr_kdb_incr_result_t(); 217 extern bool_t xdr_kdb_fullresync_result_t(); 218 219 #endif /* !_IPROP_H_RPCGEN */ 220