Automate RST HTML generation with doxygen info
[krb5.git] / src / include / iprop.h
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 */