1*7f2fe78bSCy Schubert /* -*- mode: c; c-file-style: "bsd"; indent-tabs-mode: t -*- */ 2*7f2fe78bSCy Schubert #ifndef __KADM_RPC_H__ 3*7f2fe78bSCy Schubert #define __KADM_RPC_H__ 4*7f2fe78bSCy Schubert 5*7f2fe78bSCy Schubert #include <gssrpc/types.h> 6*7f2fe78bSCy Schubert 7*7f2fe78bSCy Schubert #include <krb5.h> 8*7f2fe78bSCy Schubert #include <kadm5/admin.h> 9*7f2fe78bSCy Schubert 10*7f2fe78bSCy Schubert struct cprinc_arg { 11*7f2fe78bSCy Schubert krb5_ui_4 api_version; 12*7f2fe78bSCy Schubert kadm5_principal_ent_rec rec; 13*7f2fe78bSCy Schubert long mask; 14*7f2fe78bSCy Schubert char *passwd; 15*7f2fe78bSCy Schubert }; 16*7f2fe78bSCy Schubert typedef struct cprinc_arg cprinc_arg; 17*7f2fe78bSCy Schubert 18*7f2fe78bSCy Schubert struct cprinc3_arg { 19*7f2fe78bSCy Schubert krb5_ui_4 api_version; 20*7f2fe78bSCy Schubert kadm5_principal_ent_rec rec; 21*7f2fe78bSCy Schubert long mask; 22*7f2fe78bSCy Schubert int n_ks_tuple; 23*7f2fe78bSCy Schubert krb5_key_salt_tuple *ks_tuple; 24*7f2fe78bSCy Schubert char *passwd; 25*7f2fe78bSCy Schubert }; 26*7f2fe78bSCy Schubert typedef struct cprinc3_arg cprinc3_arg; 27*7f2fe78bSCy Schubert 28*7f2fe78bSCy Schubert struct generic_ret { 29*7f2fe78bSCy Schubert krb5_ui_4 api_version; 30*7f2fe78bSCy Schubert kadm5_ret_t code; 31*7f2fe78bSCy Schubert }; 32*7f2fe78bSCy Schubert typedef struct generic_ret generic_ret; 33*7f2fe78bSCy Schubert 34*7f2fe78bSCy Schubert struct dprinc_arg { 35*7f2fe78bSCy Schubert krb5_ui_4 api_version; 36*7f2fe78bSCy Schubert krb5_principal princ; 37*7f2fe78bSCy Schubert }; 38*7f2fe78bSCy Schubert typedef struct dprinc_arg dprinc_arg; 39*7f2fe78bSCy Schubert 40*7f2fe78bSCy Schubert struct mprinc_arg { 41*7f2fe78bSCy Schubert krb5_ui_4 api_version; 42*7f2fe78bSCy Schubert kadm5_principal_ent_rec rec; 43*7f2fe78bSCy Schubert long mask; 44*7f2fe78bSCy Schubert }; 45*7f2fe78bSCy Schubert typedef struct mprinc_arg mprinc_arg; 46*7f2fe78bSCy Schubert 47*7f2fe78bSCy Schubert struct rprinc_arg { 48*7f2fe78bSCy Schubert krb5_ui_4 api_version; 49*7f2fe78bSCy Schubert krb5_principal src; 50*7f2fe78bSCy Schubert krb5_principal dest; 51*7f2fe78bSCy Schubert }; 52*7f2fe78bSCy Schubert typedef struct rprinc_arg rprinc_arg; 53*7f2fe78bSCy Schubert 54*7f2fe78bSCy Schubert struct gprincs_arg { 55*7f2fe78bSCy Schubert krb5_ui_4 api_version; 56*7f2fe78bSCy Schubert char *exp; 57*7f2fe78bSCy Schubert }; 58*7f2fe78bSCy Schubert typedef struct gprincs_arg gprincs_arg; 59*7f2fe78bSCy Schubert 60*7f2fe78bSCy Schubert struct gprincs_ret { 61*7f2fe78bSCy Schubert krb5_ui_4 api_version; 62*7f2fe78bSCy Schubert kadm5_ret_t code; 63*7f2fe78bSCy Schubert char **princs; 64*7f2fe78bSCy Schubert int count; 65*7f2fe78bSCy Schubert }; 66*7f2fe78bSCy Schubert typedef struct gprincs_ret gprincs_ret; 67*7f2fe78bSCy Schubert 68*7f2fe78bSCy Schubert struct chpass_arg { 69*7f2fe78bSCy Schubert krb5_ui_4 api_version; 70*7f2fe78bSCy Schubert krb5_principal princ; 71*7f2fe78bSCy Schubert char *pass; 72*7f2fe78bSCy Schubert }; 73*7f2fe78bSCy Schubert typedef struct chpass_arg chpass_arg; 74*7f2fe78bSCy Schubert 75*7f2fe78bSCy Schubert struct chpass3_arg { 76*7f2fe78bSCy Schubert krb5_ui_4 api_version; 77*7f2fe78bSCy Schubert krb5_principal princ; 78*7f2fe78bSCy Schubert krb5_boolean keepold; 79*7f2fe78bSCy Schubert int n_ks_tuple; 80*7f2fe78bSCy Schubert krb5_key_salt_tuple *ks_tuple; 81*7f2fe78bSCy Schubert char *pass; 82*7f2fe78bSCy Schubert }; 83*7f2fe78bSCy Schubert typedef struct chpass3_arg chpass3_arg; 84*7f2fe78bSCy Schubert 85*7f2fe78bSCy Schubert struct setkey_arg { 86*7f2fe78bSCy Schubert krb5_ui_4 api_version; 87*7f2fe78bSCy Schubert krb5_principal princ; 88*7f2fe78bSCy Schubert krb5_keyblock *keyblocks; 89*7f2fe78bSCy Schubert int n_keys; 90*7f2fe78bSCy Schubert }; 91*7f2fe78bSCy Schubert typedef struct setkey_arg setkey_arg; 92*7f2fe78bSCy Schubert 93*7f2fe78bSCy Schubert struct setkey3_arg { 94*7f2fe78bSCy Schubert krb5_ui_4 api_version; 95*7f2fe78bSCy Schubert krb5_principal princ; 96*7f2fe78bSCy Schubert krb5_boolean keepold; 97*7f2fe78bSCy Schubert int n_ks_tuple; 98*7f2fe78bSCy Schubert krb5_key_salt_tuple *ks_tuple; 99*7f2fe78bSCy Schubert krb5_keyblock *keyblocks; 100*7f2fe78bSCy Schubert int n_keys; 101*7f2fe78bSCy Schubert }; 102*7f2fe78bSCy Schubert typedef struct setkey3_arg setkey3_arg; 103*7f2fe78bSCy Schubert 104*7f2fe78bSCy Schubert struct setkey4_arg { 105*7f2fe78bSCy Schubert krb5_ui_4 api_version; 106*7f2fe78bSCy Schubert krb5_principal princ; 107*7f2fe78bSCy Schubert krb5_boolean keepold; 108*7f2fe78bSCy Schubert kadm5_key_data *key_data; 109*7f2fe78bSCy Schubert int n_key_data; 110*7f2fe78bSCy Schubert }; 111*7f2fe78bSCy Schubert typedef struct setkey4_arg setkey4_arg; 112*7f2fe78bSCy Schubert 113*7f2fe78bSCy Schubert struct chrand_arg { 114*7f2fe78bSCy Schubert krb5_ui_4 api_version; 115*7f2fe78bSCy Schubert krb5_principal princ; 116*7f2fe78bSCy Schubert }; 117*7f2fe78bSCy Schubert typedef struct chrand_arg chrand_arg; 118*7f2fe78bSCy Schubert 119*7f2fe78bSCy Schubert struct chrand3_arg { 120*7f2fe78bSCy Schubert krb5_ui_4 api_version; 121*7f2fe78bSCy Schubert krb5_principal princ; 122*7f2fe78bSCy Schubert krb5_boolean keepold; 123*7f2fe78bSCy Schubert int n_ks_tuple; 124*7f2fe78bSCy Schubert krb5_key_salt_tuple *ks_tuple; 125*7f2fe78bSCy Schubert }; 126*7f2fe78bSCy Schubert typedef struct chrand3_arg chrand3_arg; 127*7f2fe78bSCy Schubert 128*7f2fe78bSCy Schubert struct chrand_ret { 129*7f2fe78bSCy Schubert krb5_ui_4 api_version; 130*7f2fe78bSCy Schubert kadm5_ret_t code; 131*7f2fe78bSCy Schubert krb5_keyblock key; 132*7f2fe78bSCy Schubert krb5_keyblock *keys; 133*7f2fe78bSCy Schubert int n_keys; 134*7f2fe78bSCy Schubert }; 135*7f2fe78bSCy Schubert typedef struct chrand_ret chrand_ret; 136*7f2fe78bSCy Schubert 137*7f2fe78bSCy Schubert struct gprinc_arg { 138*7f2fe78bSCy Schubert krb5_ui_4 api_version; 139*7f2fe78bSCy Schubert krb5_principal princ; 140*7f2fe78bSCy Schubert long mask; 141*7f2fe78bSCy Schubert }; 142*7f2fe78bSCy Schubert typedef struct gprinc_arg gprinc_arg; 143*7f2fe78bSCy Schubert 144*7f2fe78bSCy Schubert struct gprinc_ret { 145*7f2fe78bSCy Schubert krb5_ui_4 api_version; 146*7f2fe78bSCy Schubert kadm5_ret_t code; 147*7f2fe78bSCy Schubert kadm5_principal_ent_rec rec; 148*7f2fe78bSCy Schubert }; 149*7f2fe78bSCy Schubert typedef struct gprinc_ret gprinc_ret; 150*7f2fe78bSCy Schubert 151*7f2fe78bSCy Schubert struct cpol_arg { 152*7f2fe78bSCy Schubert krb5_ui_4 api_version; 153*7f2fe78bSCy Schubert kadm5_policy_ent_rec rec; 154*7f2fe78bSCy Schubert long mask; 155*7f2fe78bSCy Schubert }; 156*7f2fe78bSCy Schubert typedef struct cpol_arg cpol_arg; 157*7f2fe78bSCy Schubert 158*7f2fe78bSCy Schubert struct dpol_arg { 159*7f2fe78bSCy Schubert krb5_ui_4 api_version; 160*7f2fe78bSCy Schubert char *name; 161*7f2fe78bSCy Schubert }; 162*7f2fe78bSCy Schubert typedef struct dpol_arg dpol_arg; 163*7f2fe78bSCy Schubert 164*7f2fe78bSCy Schubert struct mpol_arg { 165*7f2fe78bSCy Schubert krb5_ui_4 api_version; 166*7f2fe78bSCy Schubert kadm5_policy_ent_rec rec; 167*7f2fe78bSCy Schubert long mask; 168*7f2fe78bSCy Schubert }; 169*7f2fe78bSCy Schubert typedef struct mpol_arg mpol_arg; 170*7f2fe78bSCy Schubert 171*7f2fe78bSCy Schubert struct gpol_arg { 172*7f2fe78bSCy Schubert krb5_ui_4 api_version; 173*7f2fe78bSCy Schubert char *name; 174*7f2fe78bSCy Schubert }; 175*7f2fe78bSCy Schubert typedef struct gpol_arg gpol_arg; 176*7f2fe78bSCy Schubert 177*7f2fe78bSCy Schubert struct gpol_ret { 178*7f2fe78bSCy Schubert krb5_ui_4 api_version; 179*7f2fe78bSCy Schubert kadm5_ret_t code; 180*7f2fe78bSCy Schubert kadm5_policy_ent_rec rec; 181*7f2fe78bSCy Schubert }; 182*7f2fe78bSCy Schubert typedef struct gpol_ret gpol_ret; 183*7f2fe78bSCy Schubert 184*7f2fe78bSCy Schubert struct gpols_arg { 185*7f2fe78bSCy Schubert krb5_ui_4 api_version; 186*7f2fe78bSCy Schubert char *exp; 187*7f2fe78bSCy Schubert }; 188*7f2fe78bSCy Schubert typedef struct gpols_arg gpols_arg; 189*7f2fe78bSCy Schubert 190*7f2fe78bSCy Schubert struct gpols_ret { 191*7f2fe78bSCy Schubert krb5_ui_4 api_version; 192*7f2fe78bSCy Schubert kadm5_ret_t code; 193*7f2fe78bSCy Schubert char **pols; 194*7f2fe78bSCy Schubert int count; 195*7f2fe78bSCy Schubert }; 196*7f2fe78bSCy Schubert typedef struct gpols_ret gpols_ret; 197*7f2fe78bSCy Schubert 198*7f2fe78bSCy Schubert struct getprivs_ret { 199*7f2fe78bSCy Schubert krb5_ui_4 api_version; 200*7f2fe78bSCy Schubert kadm5_ret_t code; 201*7f2fe78bSCy Schubert long privs; 202*7f2fe78bSCy Schubert }; 203*7f2fe78bSCy Schubert typedef struct getprivs_ret getprivs_ret; 204*7f2fe78bSCy Schubert 205*7f2fe78bSCy Schubert struct purgekeys_arg { 206*7f2fe78bSCy Schubert krb5_ui_4 api_version; 207*7f2fe78bSCy Schubert krb5_principal princ; 208*7f2fe78bSCy Schubert int keepkvno; 209*7f2fe78bSCy Schubert }; 210*7f2fe78bSCy Schubert typedef struct purgekeys_arg purgekeys_arg; 211*7f2fe78bSCy Schubert 212*7f2fe78bSCy Schubert struct gstrings_arg { 213*7f2fe78bSCy Schubert krb5_ui_4 api_version; 214*7f2fe78bSCy Schubert krb5_principal princ; 215*7f2fe78bSCy Schubert }; 216*7f2fe78bSCy Schubert typedef struct gstrings_arg gstrings_arg; 217*7f2fe78bSCy Schubert 218*7f2fe78bSCy Schubert struct gstrings_ret { 219*7f2fe78bSCy Schubert krb5_ui_4 api_version; 220*7f2fe78bSCy Schubert kadm5_ret_t code; 221*7f2fe78bSCy Schubert krb5_string_attr *strings; 222*7f2fe78bSCy Schubert int count; 223*7f2fe78bSCy Schubert }; 224*7f2fe78bSCy Schubert typedef struct gstrings_ret gstrings_ret; 225*7f2fe78bSCy Schubert 226*7f2fe78bSCy Schubert struct sstring_arg { 227*7f2fe78bSCy Schubert krb5_ui_4 api_version; 228*7f2fe78bSCy Schubert krb5_principal princ; 229*7f2fe78bSCy Schubert char *key; 230*7f2fe78bSCy Schubert char *value; 231*7f2fe78bSCy Schubert }; 232*7f2fe78bSCy Schubert typedef struct sstring_arg sstring_arg; 233*7f2fe78bSCy Schubert 234*7f2fe78bSCy Schubert struct getpkeys_arg { 235*7f2fe78bSCy Schubert krb5_ui_4 api_version; 236*7f2fe78bSCy Schubert krb5_principal princ; 237*7f2fe78bSCy Schubert krb5_kvno kvno; 238*7f2fe78bSCy Schubert }; 239*7f2fe78bSCy Schubert typedef struct getpkeys_arg getpkeys_arg; 240*7f2fe78bSCy Schubert 241*7f2fe78bSCy Schubert struct getpkeys_ret { 242*7f2fe78bSCy Schubert krb5_ui_4 api_version; 243*7f2fe78bSCy Schubert kadm5_ret_t code; 244*7f2fe78bSCy Schubert kadm5_key_data *key_data; 245*7f2fe78bSCy Schubert int n_key_data; 246*7f2fe78bSCy Schubert }; 247*7f2fe78bSCy Schubert typedef struct getpkeys_ret getpkeys_ret; 248*7f2fe78bSCy Schubert 249*7f2fe78bSCy Schubert #define KADM 2112 250*7f2fe78bSCy Schubert #define KADMVERS 2 251*7f2fe78bSCy Schubert #define CREATE_PRINCIPAL 1 252*7f2fe78bSCy Schubert extern enum clnt_stat create_principal_2(cprinc_arg *, generic_ret *, 253*7f2fe78bSCy Schubert CLIENT *); 254*7f2fe78bSCy Schubert extern bool_t create_principal_2_svc(cprinc_arg *, generic_ret *, 255*7f2fe78bSCy Schubert struct svc_req *); 256*7f2fe78bSCy Schubert #define DELETE_PRINCIPAL 2 257*7f2fe78bSCy Schubert extern enum clnt_stat delete_principal_2(dprinc_arg *, generic_ret *, 258*7f2fe78bSCy Schubert CLIENT *); 259*7f2fe78bSCy Schubert extern bool_t delete_principal_2_svc(dprinc_arg *, generic_ret *, 260*7f2fe78bSCy Schubert struct svc_req *); 261*7f2fe78bSCy Schubert #define MODIFY_PRINCIPAL 3 262*7f2fe78bSCy Schubert extern enum clnt_stat modify_principal_2(mprinc_arg *, generic_ret *, 263*7f2fe78bSCy Schubert CLIENT *); 264*7f2fe78bSCy Schubert extern bool_t modify_principal_2_svc(mprinc_arg *, generic_ret *, 265*7f2fe78bSCy Schubert struct svc_req *); 266*7f2fe78bSCy Schubert #define RENAME_PRINCIPAL 4 267*7f2fe78bSCy Schubert extern enum clnt_stat rename_principal_2(rprinc_arg *, generic_ret *, 268*7f2fe78bSCy Schubert CLIENT *); 269*7f2fe78bSCy Schubert extern bool_t rename_principal_2_svc(rprinc_arg *, generic_ret *, 270*7f2fe78bSCy Schubert struct svc_req *); 271*7f2fe78bSCy Schubert #define GET_PRINCIPAL 5 272*7f2fe78bSCy Schubert extern enum clnt_stat get_principal_2(gprinc_arg *, gprinc_ret *, CLIENT *); 273*7f2fe78bSCy Schubert extern bool_t get_principal_2_svc(gprinc_arg *, gprinc_ret *, 274*7f2fe78bSCy Schubert struct svc_req *); 275*7f2fe78bSCy Schubert #define CHPASS_PRINCIPAL 6 276*7f2fe78bSCy Schubert extern enum clnt_stat chpass_principal_2(chpass_arg *, generic_ret *, 277*7f2fe78bSCy Schubert CLIENT *); 278*7f2fe78bSCy Schubert extern bool_t chpass_principal_2_svc(chpass_arg *, generic_ret *, 279*7f2fe78bSCy Schubert struct svc_req *); 280*7f2fe78bSCy Schubert #define CHRAND_PRINCIPAL 7 281*7f2fe78bSCy Schubert extern enum clnt_stat chrand_principal_2(chrand_arg *, chrand_ret *, 282*7f2fe78bSCy Schubert CLIENT *); 283*7f2fe78bSCy Schubert extern bool_t chrand_principal_2_svc(chrand_arg *, chrand_ret *, 284*7f2fe78bSCy Schubert struct svc_req *); 285*7f2fe78bSCy Schubert #define CREATE_POLICY 8 286*7f2fe78bSCy Schubert extern enum clnt_stat create_policy_2(cpol_arg *, generic_ret *, CLIENT *); 287*7f2fe78bSCy Schubert extern bool_t create_policy_2_svc(cpol_arg *, generic_ret *, 288*7f2fe78bSCy Schubert struct svc_req *); 289*7f2fe78bSCy Schubert #define DELETE_POLICY 9 290*7f2fe78bSCy Schubert extern enum clnt_stat delete_policy_2(dpol_arg *, generic_ret *, CLIENT *); 291*7f2fe78bSCy Schubert extern bool_t delete_policy_2_svc(dpol_arg *, generic_ret *, 292*7f2fe78bSCy Schubert struct svc_req *); 293*7f2fe78bSCy Schubert #define MODIFY_POLICY 10 294*7f2fe78bSCy Schubert extern enum clnt_stat modify_policy_2(mpol_arg *, generic_ret *, CLIENT *); 295*7f2fe78bSCy Schubert extern bool_t modify_policy_2_svc(mpol_arg *, generic_ret *, 296*7f2fe78bSCy Schubert struct svc_req *); 297*7f2fe78bSCy Schubert #define GET_POLICY 11 298*7f2fe78bSCy Schubert extern enum clnt_stat get_policy_2(gpol_arg *, gpol_ret *, CLIENT *); 299*7f2fe78bSCy Schubert extern bool_t get_policy_2_svc(gpol_arg *, gpol_ret *, struct svc_req *); 300*7f2fe78bSCy Schubert #define GET_PRIVS 12 301*7f2fe78bSCy Schubert extern enum clnt_stat get_privs_2(void *, getprivs_ret *, CLIENT *); 302*7f2fe78bSCy Schubert extern bool_t get_privs_2_svc(krb5_ui_4 *, getprivs_ret *, struct svc_req *); 303*7f2fe78bSCy Schubert #define INIT 13 304*7f2fe78bSCy Schubert extern enum clnt_stat init_2(void *, generic_ret *, CLIENT *); 305*7f2fe78bSCy Schubert extern bool_t init_2_svc(krb5_ui_4 *, generic_ret *, struct svc_req *); 306*7f2fe78bSCy Schubert #define GET_PRINCS 14 307*7f2fe78bSCy Schubert extern enum clnt_stat get_princs_2(gprincs_arg *, gprincs_ret *, CLIENT *); 308*7f2fe78bSCy Schubert extern bool_t get_princs_2_svc(gprincs_arg *, gprincs_ret *, 309*7f2fe78bSCy Schubert struct svc_req *); 310*7f2fe78bSCy Schubert #define GET_POLS 15 311*7f2fe78bSCy Schubert extern enum clnt_stat get_pols_2(gpols_arg *, gpols_ret *, CLIENT *); 312*7f2fe78bSCy Schubert extern bool_t get_pols_2_svc(gpols_arg *, gpols_ret *, struct svc_req *); 313*7f2fe78bSCy Schubert #define SETKEY_PRINCIPAL 16 314*7f2fe78bSCy Schubert extern enum clnt_stat setkey_principal_2(setkey_arg *, generic_ret *, 315*7f2fe78bSCy Schubert CLIENT *); 316*7f2fe78bSCy Schubert extern bool_t setkey_principal_2_svc(setkey_arg *, generic_ret *, 317*7f2fe78bSCy Schubert struct svc_req *); 318*7f2fe78bSCy Schubert 319*7f2fe78bSCy Schubert /* 17 was SETV4KEY_PRINCIPAL (removed in 1.18). */ 320*7f2fe78bSCy Schubert 321*7f2fe78bSCy Schubert #define CREATE_PRINCIPAL3 18 322*7f2fe78bSCy Schubert extern enum clnt_stat create_principal3_2(cprinc3_arg *, generic_ret *, 323*7f2fe78bSCy Schubert CLIENT *); 324*7f2fe78bSCy Schubert extern bool_t create_principal3_2_svc(cprinc3_arg *, generic_ret *, 325*7f2fe78bSCy Schubert struct svc_req *); 326*7f2fe78bSCy Schubert #define CHPASS_PRINCIPAL3 19 327*7f2fe78bSCy Schubert extern enum clnt_stat chpass_principal3_2(chpass3_arg *, generic_ret *, 328*7f2fe78bSCy Schubert CLIENT *); 329*7f2fe78bSCy Schubert extern bool_t chpass_principal3_2_svc(chpass3_arg *, generic_ret *, 330*7f2fe78bSCy Schubert struct svc_req *); 331*7f2fe78bSCy Schubert #define CHRAND_PRINCIPAL3 20 332*7f2fe78bSCy Schubert extern enum clnt_stat chrand_principal3_2(chrand3_arg *, chrand_ret *, 333*7f2fe78bSCy Schubert CLIENT *); 334*7f2fe78bSCy Schubert extern bool_t chrand_principal3_2_svc(chrand3_arg *, chrand_ret *, 335*7f2fe78bSCy Schubert struct svc_req *); 336*7f2fe78bSCy Schubert #define SETKEY_PRINCIPAL3 21 337*7f2fe78bSCy Schubert extern enum clnt_stat setkey_principal3_2(setkey3_arg *, generic_ret *, 338*7f2fe78bSCy Schubert CLIENT *); 339*7f2fe78bSCy Schubert extern bool_t setkey_principal3_2_svc(setkey3_arg *, generic_ret *, 340*7f2fe78bSCy Schubert struct svc_req *); 341*7f2fe78bSCy Schubert #define PURGEKEYS 22 342*7f2fe78bSCy Schubert extern enum clnt_stat purgekeys_2(purgekeys_arg *, generic_ret *, CLIENT *); 343*7f2fe78bSCy Schubert extern bool_t purgekeys_2_svc(purgekeys_arg *, generic_ret *, 344*7f2fe78bSCy Schubert struct svc_req *); 345*7f2fe78bSCy Schubert #define GET_STRINGS 23 346*7f2fe78bSCy Schubert extern enum clnt_stat get_strings_2(gstrings_arg *, gstrings_ret *, CLIENT *); 347*7f2fe78bSCy Schubert extern bool_t get_strings_2_svc(gstrings_arg *, gstrings_ret *, 348*7f2fe78bSCy Schubert struct svc_req *); 349*7f2fe78bSCy Schubert #define SET_STRING 24 350*7f2fe78bSCy Schubert extern enum clnt_stat set_string_2(sstring_arg *, generic_ret *, CLIENT *); 351*7f2fe78bSCy Schubert extern bool_t set_string_2_svc(sstring_arg *, generic_ret *, 352*7f2fe78bSCy Schubert struct svc_req *); 353*7f2fe78bSCy Schubert #define SETKEY_PRINCIPAL4 25 354*7f2fe78bSCy Schubert extern enum clnt_stat setkey_principal4_2(setkey4_arg *, generic_ret *, 355*7f2fe78bSCy Schubert CLIENT *); 356*7f2fe78bSCy Schubert extern bool_t setkey_principal4_2_svc(setkey4_arg *, generic_ret *, 357*7f2fe78bSCy Schubert struct svc_req *); 358*7f2fe78bSCy Schubert #define EXTRACT_KEYS 26 359*7f2fe78bSCy Schubert extern enum clnt_stat get_principal_keys_2(getpkeys_arg *, getpkeys_ret *, 360*7f2fe78bSCy Schubert CLIENT *); 361*7f2fe78bSCy Schubert extern bool_t get_principal_keys_2_svc(getpkeys_arg *, getpkeys_ret *, 362*7f2fe78bSCy Schubert struct svc_req *); 363*7f2fe78bSCy Schubert 364*7f2fe78bSCy Schubert extern bool_t xdr_cprinc_arg (); 365*7f2fe78bSCy Schubert extern bool_t xdr_cprinc3_arg (); 366*7f2fe78bSCy Schubert extern bool_t xdr_generic_ret (); 367*7f2fe78bSCy Schubert extern bool_t xdr_dprinc_arg (); 368*7f2fe78bSCy Schubert extern bool_t xdr_mprinc_arg (); 369*7f2fe78bSCy Schubert extern bool_t xdr_rprinc_arg (); 370*7f2fe78bSCy Schubert extern bool_t xdr_gprincs_arg (); 371*7f2fe78bSCy Schubert extern bool_t xdr_gprincs_ret (); 372*7f2fe78bSCy Schubert extern bool_t xdr_chpass_arg (); 373*7f2fe78bSCy Schubert extern bool_t xdr_chpass3_arg (); 374*7f2fe78bSCy Schubert extern bool_t xdr_setkey_arg (); 375*7f2fe78bSCy Schubert extern bool_t xdr_setkey3_arg (); 376*7f2fe78bSCy Schubert extern bool_t xdr_setkey4_arg (); 377*7f2fe78bSCy Schubert extern bool_t xdr_chrand_arg (); 378*7f2fe78bSCy Schubert extern bool_t xdr_chrand3_arg (); 379*7f2fe78bSCy Schubert extern bool_t xdr_chrand_ret (); 380*7f2fe78bSCy Schubert extern bool_t xdr_gprinc_arg (); 381*7f2fe78bSCy Schubert extern bool_t xdr_gprinc_ret (); 382*7f2fe78bSCy Schubert extern bool_t xdr_kadm5_ret_t (); 383*7f2fe78bSCy Schubert extern bool_t xdr_kadm5_principal_ent_rec (); 384*7f2fe78bSCy Schubert extern bool_t xdr_kadm5_policy_ent_rec (); 385*7f2fe78bSCy Schubert extern bool_t xdr_krb5_keyblock (); 386*7f2fe78bSCy Schubert extern bool_t xdr_krb5_principal (); 387*7f2fe78bSCy Schubert extern bool_t xdr_krb5_enctype (); 388*7f2fe78bSCy Schubert extern bool_t xdr_krb5_octet (); 389*7f2fe78bSCy Schubert extern bool_t xdr_krb5_int32 (); 390*7f2fe78bSCy Schubert extern bool_t xdr_u_int32 (); 391*7f2fe78bSCy Schubert extern bool_t xdr_cpol_arg (); 392*7f2fe78bSCy Schubert extern bool_t xdr_dpol_arg (); 393*7f2fe78bSCy Schubert extern bool_t xdr_mpol_arg (); 394*7f2fe78bSCy Schubert extern bool_t xdr_gpol_arg (); 395*7f2fe78bSCy Schubert extern bool_t xdr_gpol_ret (); 396*7f2fe78bSCy Schubert extern bool_t xdr_gpols_arg (); 397*7f2fe78bSCy Schubert extern bool_t xdr_gpols_ret (); 398*7f2fe78bSCy Schubert extern bool_t xdr_getprivs_ret (); 399*7f2fe78bSCy Schubert extern bool_t xdr_purgekeys_arg (); 400*7f2fe78bSCy Schubert extern bool_t xdr_gstrings_arg (); 401*7f2fe78bSCy Schubert extern bool_t xdr_gstrings_ret (); 402*7f2fe78bSCy Schubert extern bool_t xdr_sstring_arg (); 403*7f2fe78bSCy Schubert extern bool_t xdr_krb5_string_attr (); 404*7f2fe78bSCy Schubert extern bool_t xdr_kadm5_key_data (); 405*7f2fe78bSCy Schubert extern bool_t xdr_getpkeys_arg (); 406*7f2fe78bSCy Schubert extern bool_t xdr_getpkeys_ret (); 407*7f2fe78bSCy Schubert 408*7f2fe78bSCy Schubert #endif /* __KADM_RPC_H__ */ 409