xref: /freebsd/crypto/krb5/src/include/iprop.h (revision 7f2fe78b9dd5f51c821d771b63d2e096f6fd49e9)
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