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