1170f4091Selric /* This is a generated file */ 2170f4091Selric #ifndef __kadm5_protos_h__ 3170f4091Selric #define __kadm5_protos_h__ 4*d3273b5bSchristos #ifndef DOXY 5170f4091Selric 6170f4091Selric #include <stdarg.h> 7170f4091Selric 8170f4091Selric #ifdef __cplusplus 9170f4091Selric extern "C" { 10170f4091Selric #endif 11170f4091Selric 12170f4091Selric kadm5_ret_t 13170f4091Selric kadm5_ad_init_with_password ( 14170f4091Selric const char */*client_name*/, 15170f4091Selric const char */*password*/, 16170f4091Selric const char */*service_name*/, 17170f4091Selric kadm5_config_params */*realm_params*/, 18170f4091Selric unsigned long /*struct_version*/, 19170f4091Selric unsigned long /*api_version*/, 20170f4091Selric void **/*server_handle*/); 21170f4091Selric 22170f4091Selric kadm5_ret_t 23170f4091Selric kadm5_ad_init_with_password_ctx ( 24170f4091Selric krb5_context /*context*/, 25170f4091Selric const char */*client_name*/, 26170f4091Selric const char */*password*/, 27170f4091Selric const char */*service_name*/, 28170f4091Selric kadm5_config_params */*realm_params*/, 29170f4091Selric unsigned long /*struct_version*/, 30170f4091Selric unsigned long /*api_version*/, 31170f4091Selric void **/*server_handle*/); 32170f4091Selric 33170f4091Selric krb5_error_code 34170f4091Selric kadm5_add_passwd_quality_verifier ( 35170f4091Selric krb5_context /*context*/, 36170f4091Selric const char */*check_library*/); 37170f4091Selric 38*d3273b5bSchristos int 39*d3273b5bSchristos kadm5_all_keys_are_bogus ( 40*d3273b5bSchristos size_t /*n_keys*/, 41*d3273b5bSchristos krb5_key_data */*keys*/); 42*d3273b5bSchristos 43170f4091Selric const char * 44170f4091Selric kadm5_check_password_quality ( 45170f4091Selric krb5_context /*context*/, 46170f4091Selric krb5_principal /*principal*/, 47170f4091Selric krb5_data */*pwd_data*/); 48170f4091Selric 49170f4091Selric kadm5_ret_t 50170f4091Selric kadm5_chpass_principal ( 51170f4091Selric void */*server_handle*/, 52170f4091Selric krb5_principal /*princ*/, 53170f4091Selric const char */*password*/); 54170f4091Selric 55170f4091Selric kadm5_ret_t 56*d3273b5bSchristos kadm5_chpass_principal_3 ( 57*d3273b5bSchristos void */*server_handle*/, 58*d3273b5bSchristos krb5_principal /*princ*/, 59*d3273b5bSchristos krb5_boolean /*keepold*/, 60*d3273b5bSchristos int /*n_ks_tuple*/, 61*d3273b5bSchristos krb5_key_salt_tuple */*ks_tuple*/, 62*d3273b5bSchristos const char */*password*/); 63*d3273b5bSchristos 64*d3273b5bSchristos kadm5_ret_t 65170f4091Selric kadm5_chpass_principal_with_key ( 66170f4091Selric void */*server_handle*/, 67170f4091Selric krb5_principal /*princ*/, 68170f4091Selric int /*n_key_data*/, 69170f4091Selric krb5_key_data */*key_data*/); 70170f4091Selric 71170f4091Selric kadm5_ret_t 72*d3273b5bSchristos kadm5_chpass_principal_with_key_3 ( 73*d3273b5bSchristos void */*server_handle*/, 74*d3273b5bSchristos krb5_principal /*princ*/, 75*d3273b5bSchristos int /*keepold*/, 76*d3273b5bSchristos int /*n_key_data*/, 77*d3273b5bSchristos krb5_key_data */*key_data*/); 78*d3273b5bSchristos 79*d3273b5bSchristos kadm5_ret_t 80*d3273b5bSchristos kadm5_create_policy ( 81*d3273b5bSchristos void */*server_handle*/, 82*d3273b5bSchristos kadm5_policy_ent_t /*policy*/, 83*d3273b5bSchristos long /*mask*/); 84*d3273b5bSchristos 85*d3273b5bSchristos kadm5_ret_t 86170f4091Selric kadm5_create_principal ( 87170f4091Selric void */*server_handle*/, 88170f4091Selric kadm5_principal_ent_t /*princ*/, 89170f4091Selric uint32_t /*mask*/, 90170f4091Selric const char */*password*/); 91170f4091Selric 92170f4091Selric kadm5_ret_t 93*d3273b5bSchristos kadm5_create_principal_3 ( 94*d3273b5bSchristos void */*server_handle*/, 95*d3273b5bSchristos kadm5_principal_ent_t /*princ*/, 96*d3273b5bSchristos uint32_t /*mask*/, 97*d3273b5bSchristos int /*n_ks_tuple*/, 98*d3273b5bSchristos krb5_key_salt_tuple */*ks_tuple*/, 99*d3273b5bSchristos char */*password*/); 100*d3273b5bSchristos 101*d3273b5bSchristos /** 102*d3273b5bSchristos * Extract decrypted keys from kadm5_principal_ent_t object. Mostly a 103*d3273b5bSchristos * no-op for Heimdal because we fetch the entry with decrypted keys. 104*d3273b5bSchristos * Sadly this is not fully a no-op, as we have to allocate a copy. 105*d3273b5bSchristos * 106*d3273b5bSchristos * @server_handle is the kadm5 handle 107*d3273b5bSchristos * @entry is the HDB entry for the principal in question 108*d3273b5bSchristos * @ktype is the enctype to get a key for, or -1 to get the first one 109*d3273b5bSchristos * @stype is the salttype to get a key for, or -1 to get the first match 110*d3273b5bSchristos * @kvno is the kvno to search for, or -1 to get the first match (highest kvno) 111*d3273b5bSchristos * @keyblock is where the key will be placed 112*d3273b5bSchristos * @keysalt, if not NULL, is where the salt will be placed 113*d3273b5bSchristos * @kvnop, if not NULL, is where the selected kvno will be placed 114*d3273b5bSchristos */ 115*d3273b5bSchristos 116*d3273b5bSchristos kadm5_ret_t 117*d3273b5bSchristos kadm5_decrypt_key ( 118*d3273b5bSchristos void */*server_handle*/, 119*d3273b5bSchristos kadm5_principal_ent_t /*entry*/, 120*d3273b5bSchristos int32_t /*ktype*/, 121*d3273b5bSchristos int32_t /*stype*/, 122*d3273b5bSchristos int32_t /*kvno*/, 123*d3273b5bSchristos krb5_keyblock */*keyblock*/, 124*d3273b5bSchristos krb5_keysalt */*keysalt*/, 125*d3273b5bSchristos int */*kvnop*/); 126*d3273b5bSchristos 127*d3273b5bSchristos kadm5_ret_t 128*d3273b5bSchristos kadm5_delete_policy ( 129*d3273b5bSchristos void */*server_handle*/, 130*d3273b5bSchristos char */*name*/); 131*d3273b5bSchristos 132*d3273b5bSchristos kadm5_ret_t 133170f4091Selric kadm5_delete_principal ( 134170f4091Selric void */*server_handle*/, 135170f4091Selric krb5_principal /*princ*/); 136170f4091Selric 137170f4091Selric kadm5_ret_t 138170f4091Selric kadm5_destroy (void */*server_handle*/); 139170f4091Selric 140170f4091Selric kadm5_ret_t 141170f4091Selric kadm5_flush (void */*server_handle*/); 142170f4091Selric 143170f4091Selric void 144170f4091Selric kadm5_free_key_data ( 145170f4091Selric void */*server_handle*/, 146170f4091Selric int16_t */*n_key_data*/, 147170f4091Selric krb5_key_data */*key_data*/); 148170f4091Selric 149170f4091Selric void 150170f4091Selric kadm5_free_name_list ( 151170f4091Selric void */*server_handle*/, 152170f4091Selric char **/*names*/, 153170f4091Selric int */*count*/); 154170f4091Selric 155*d3273b5bSchristos kadm5_ret_t 156*d3273b5bSchristos kadm5_free_policy_ent (kadm5_policy_ent_t /*ent*/); 157*d3273b5bSchristos 158170f4091Selric void 159170f4091Selric kadm5_free_principal_ent ( 160170f4091Selric void */*server_handle*/, 161170f4091Selric kadm5_principal_ent_t /*princ*/); 162170f4091Selric 163170f4091Selric kadm5_ret_t 164*d3273b5bSchristos kadm5_get_policies ( 165*d3273b5bSchristos void */*server_handle*/, 166*d3273b5bSchristos char */*exp*/, 167*d3273b5bSchristos char ***/*pols*/, 168*d3273b5bSchristos int */*count*/); 169*d3273b5bSchristos 170*d3273b5bSchristos kadm5_ret_t 171*d3273b5bSchristos kadm5_get_policy ( 172*d3273b5bSchristos void */*server_handle*/, 173*d3273b5bSchristos char */*policy*/, 174*d3273b5bSchristos kadm5_policy_ent_t /*ent*/); 175*d3273b5bSchristos 176*d3273b5bSchristos kadm5_ret_t 177170f4091Selric kadm5_get_principal ( 178170f4091Selric void */*server_handle*/, 179170f4091Selric krb5_principal /*princ*/, 180170f4091Selric kadm5_principal_ent_t /*out*/, 181170f4091Selric uint32_t /*mask*/); 182170f4091Selric 183170f4091Selric kadm5_ret_t 184170f4091Selric kadm5_get_principals ( 185170f4091Selric void */*server_handle*/, 186170f4091Selric const char */*expression*/, 187170f4091Selric char ***/*princs*/, 188170f4091Selric int */*count*/); 189170f4091Selric 190170f4091Selric kadm5_ret_t 191170f4091Selric kadm5_get_privs ( 192170f4091Selric void */*server_handle*/, 193170f4091Selric uint32_t */*privs*/); 194170f4091Selric 195170f4091Selric kadm5_ret_t 196170f4091Selric kadm5_init_with_creds ( 197170f4091Selric const char */*client_name*/, 198170f4091Selric krb5_ccache /*ccache*/, 199170f4091Selric const char */*service_name*/, 200170f4091Selric kadm5_config_params */*realm_params*/, 201170f4091Selric unsigned long /*struct_version*/, 202170f4091Selric unsigned long /*api_version*/, 203170f4091Selric void **/*server_handle*/); 204170f4091Selric 205170f4091Selric kadm5_ret_t 206170f4091Selric kadm5_init_with_creds_ctx ( 207170f4091Selric krb5_context /*context*/, 208170f4091Selric const char */*client_name*/, 209170f4091Selric krb5_ccache /*ccache*/, 210170f4091Selric const char */*service_name*/, 211170f4091Selric kadm5_config_params */*realm_params*/, 212170f4091Selric unsigned long /*struct_version*/, 213170f4091Selric unsigned long /*api_version*/, 214170f4091Selric void **/*server_handle*/); 215170f4091Selric 216170f4091Selric kadm5_ret_t 217170f4091Selric kadm5_init_with_password ( 218170f4091Selric const char */*client_name*/, 219170f4091Selric const char */*password*/, 220170f4091Selric const char */*service_name*/, 221170f4091Selric kadm5_config_params */*realm_params*/, 222170f4091Selric unsigned long /*struct_version*/, 223170f4091Selric unsigned long /*api_version*/, 224170f4091Selric void **/*server_handle*/); 225170f4091Selric 226170f4091Selric kadm5_ret_t 227170f4091Selric kadm5_init_with_password_ctx ( 228170f4091Selric krb5_context /*context*/, 229170f4091Selric const char */*client_name*/, 230170f4091Selric const char */*password*/, 231170f4091Selric const char */*service_name*/, 232170f4091Selric kadm5_config_params */*realm_params*/, 233170f4091Selric unsigned long /*struct_version*/, 234170f4091Selric unsigned long /*api_version*/, 235170f4091Selric void **/*server_handle*/); 236170f4091Selric 237170f4091Selric kadm5_ret_t 238170f4091Selric kadm5_init_with_skey ( 239170f4091Selric const char */*client_name*/, 240170f4091Selric const char */*keytab*/, 241170f4091Selric const char */*service_name*/, 242170f4091Selric kadm5_config_params */*realm_params*/, 243170f4091Selric unsigned long /*struct_version*/, 244170f4091Selric unsigned long /*api_version*/, 245170f4091Selric void **/*server_handle*/); 246170f4091Selric 247170f4091Selric kadm5_ret_t 248170f4091Selric kadm5_init_with_skey_ctx ( 249170f4091Selric krb5_context /*context*/, 250170f4091Selric const char */*client_name*/, 251170f4091Selric const char */*keytab*/, 252170f4091Selric const char */*service_name*/, 253170f4091Selric kadm5_config_params */*realm_params*/, 254170f4091Selric unsigned long /*struct_version*/, 255170f4091Selric unsigned long /*api_version*/, 256170f4091Selric void **/*server_handle*/); 257170f4091Selric 258170f4091Selric kadm5_ret_t 259*d3273b5bSchristos kadm5_lock (void */*server_handle*/); 260*d3273b5bSchristos 261*d3273b5bSchristos kadm5_ret_t 262*d3273b5bSchristos kadm5_modify_policy ( 263*d3273b5bSchristos void */*server_handle*/, 264*d3273b5bSchristos kadm5_policy_ent_t /*policy*/, 265*d3273b5bSchristos uint32_t /*mask*/); 266*d3273b5bSchristos 267*d3273b5bSchristos kadm5_ret_t 268170f4091Selric kadm5_modify_principal ( 269170f4091Selric void */*server_handle*/, 270170f4091Selric kadm5_principal_ent_t /*princ*/, 271170f4091Selric uint32_t /*mask*/); 272170f4091Selric 273170f4091Selric kadm5_ret_t 274170f4091Selric kadm5_randkey_principal ( 275170f4091Selric void */*server_handle*/, 276170f4091Selric krb5_principal /*princ*/, 277170f4091Selric krb5_keyblock **/*new_keys*/, 278170f4091Selric int */*n_keys*/); 279170f4091Selric 280170f4091Selric kadm5_ret_t 281*d3273b5bSchristos kadm5_randkey_principal_3 ( 282*d3273b5bSchristos void */*server_handle*/, 283*d3273b5bSchristos krb5_principal /*princ*/, 284*d3273b5bSchristos krb5_boolean /*keepold*/, 285*d3273b5bSchristos int /*n_ks_tuple*/, 286*d3273b5bSchristos krb5_key_salt_tuple */*ks_tuple*/, 287*d3273b5bSchristos krb5_keyblock **/*new_keys*/, 288*d3273b5bSchristos int */*n_keys*/); 289*d3273b5bSchristos 290*d3273b5bSchristos kadm5_ret_t 291170f4091Selric kadm5_rename_principal ( 292170f4091Selric void */*server_handle*/, 293170f4091Selric krb5_principal /*source*/, 294170f4091Selric krb5_principal /*target*/); 295170f4091Selric 296170f4091Selric kadm5_ret_t 297170f4091Selric kadm5_ret_key_data ( 298170f4091Selric krb5_storage */*sp*/, 299170f4091Selric krb5_key_data */*key*/); 300170f4091Selric 301170f4091Selric kadm5_ret_t 302170f4091Selric kadm5_ret_principal_ent ( 303170f4091Selric krb5_storage */*sp*/, 304170f4091Selric kadm5_principal_ent_t /*princ*/); 305170f4091Selric 306170f4091Selric kadm5_ret_t 307170f4091Selric kadm5_ret_principal_ent_mask ( 308170f4091Selric krb5_storage */*sp*/, 309170f4091Selric kadm5_principal_ent_t /*princ*/, 310170f4091Selric uint32_t */*mask*/); 311170f4091Selric 312170f4091Selric kadm5_ret_t 313170f4091Selric kadm5_ret_tl_data ( 314170f4091Selric krb5_storage */*sp*/, 315170f4091Selric krb5_tl_data */*tl*/); 316170f4091Selric 317*d3273b5bSchristos /** 318*d3273b5bSchristos * This function is allows the caller to set new keys for a principal. 319*d3273b5bSchristos * This is a trivial wrapper around kadm5_setkey_principal_3(). 320*d3273b5bSchristos */ 321*d3273b5bSchristos 322*d3273b5bSchristos kadm5_ret_t 323*d3273b5bSchristos kadm5_setkey_principal ( 324*d3273b5bSchristos void */*server_handle*/, 325*d3273b5bSchristos krb5_principal /*princ*/, 326*d3273b5bSchristos krb5_keyblock */*new_keys*/, 327*d3273b5bSchristos int /*n_keys*/); 328*d3273b5bSchristos 329*d3273b5bSchristos /** 330*d3273b5bSchristos * This function is allows the caller to set new keys for a principal. 331*d3273b5bSchristos * This is a simple wrapper around kadm5_get_principal() and 332*d3273b5bSchristos * kadm5_modify_principal(). 333*d3273b5bSchristos */ 334*d3273b5bSchristos 335*d3273b5bSchristos kadm5_ret_t 336*d3273b5bSchristos kadm5_setkey_principal_3 ( 337*d3273b5bSchristos void */*server_handle*/, 338*d3273b5bSchristos krb5_principal /*princ*/, 339*d3273b5bSchristos krb5_boolean /*keepold*/, 340*d3273b5bSchristos int /*n_ks_tuple*/, 341*d3273b5bSchristos krb5_key_salt_tuple */*ks_tuple*/, 342*d3273b5bSchristos krb5_keyblock */*keyblocks*/, 343*d3273b5bSchristos int /*n_keys*/); 344*d3273b5bSchristos 345170f4091Selric void 346170f4091Selric kadm5_setup_passwd_quality_check ( 347170f4091Selric krb5_context /*context*/, 348170f4091Selric const char */*check_library*/, 349170f4091Selric const char */*check_function*/); 350170f4091Selric 351*d3273b5bSchristos int 352*d3273b5bSchristos kadm5_some_keys_are_bogus ( 353*d3273b5bSchristos size_t /*n_keys*/, 354*d3273b5bSchristos krb5_key_data */*keys*/); 355*d3273b5bSchristos 356*d3273b5bSchristos kadm5_ret_t 357*d3273b5bSchristos kadm5_store_fake_key_data ( 358*d3273b5bSchristos krb5_storage */*sp*/, 359*d3273b5bSchristos krb5_key_data */*key*/); 360*d3273b5bSchristos 361170f4091Selric kadm5_ret_t 362170f4091Selric kadm5_store_key_data ( 363170f4091Selric krb5_storage */*sp*/, 364170f4091Selric krb5_key_data */*key*/); 365170f4091Selric 366170f4091Selric kadm5_ret_t 367170f4091Selric kadm5_store_principal_ent ( 368170f4091Selric krb5_storage */*sp*/, 369170f4091Selric kadm5_principal_ent_t /*princ*/); 370170f4091Selric 371170f4091Selric kadm5_ret_t 372170f4091Selric kadm5_store_principal_ent_mask ( 373170f4091Selric krb5_storage */*sp*/, 374170f4091Selric kadm5_principal_ent_t /*princ*/, 375170f4091Selric uint32_t /*mask*/); 376170f4091Selric 377170f4091Selric kadm5_ret_t 378*d3273b5bSchristos kadm5_store_principal_ent_nokeys ( 379*d3273b5bSchristos krb5_storage */*sp*/, 380*d3273b5bSchristos kadm5_principal_ent_t /*princ*/); 381*d3273b5bSchristos 382*d3273b5bSchristos kadm5_ret_t 383170f4091Selric kadm5_store_tl_data ( 384170f4091Selric krb5_storage */*sp*/, 385170f4091Selric krb5_tl_data */*tl*/); 386170f4091Selric 387*d3273b5bSchristos kadm5_ret_t 388*d3273b5bSchristos kadm5_unlock (void */*server_handle*/); 389*d3273b5bSchristos 390170f4091Selric #ifdef __cplusplus 391170f4091Selric } 392170f4091Selric #endif 393170f4091Selric 394*d3273b5bSchristos #endif /* DOXY */ 395170f4091Selric #endif /* __kadm5_protos_h__ */ 396