1 /* -*- mode: c; c-file-style: "bsd"; indent-tabs-mode: t -*- */ 2 #include <gssrpc/rpc.h> 3 #include <kadm5/kadm_rpc.h> 4 #include <krb5.h> 5 #include <kadm5/admin.h> 6 #include <string.h> /* for memset prototype */ 7 8 #ifdef HAVE_MEMORY_H 9 #include <memory.h> 10 #endif 11 12 /* Default timeout can be changed using clnt_control() */ 13 static struct timeval TIMEOUT = { 25, 0 }; 14 15 enum clnt_stat 16 create_principal_2(cprinc_arg *argp, generic_ret *res, CLIENT *clnt) 17 { 18 return clnt_call(clnt, CREATE_PRINCIPAL, 19 (xdrproc_t)xdr_cprinc_arg, (caddr_t)argp, 20 (xdrproc_t)xdr_generic_ret, (caddr_t)res, TIMEOUT); 21 } 22 23 enum clnt_stat 24 create_principal3_2(cprinc3_arg *argp, generic_ret *res, CLIENT *clnt) 25 { 26 return clnt_call(clnt, CREATE_PRINCIPAL3, 27 (xdrproc_t)xdr_cprinc3_arg, (caddr_t)argp, 28 (xdrproc_t)xdr_generic_ret, (caddr_t)res, TIMEOUT); 29 } 30 31 enum clnt_stat 32 delete_principal_2(dprinc_arg *argp, generic_ret *res, CLIENT *clnt) 33 { 34 return clnt_call(clnt, DELETE_PRINCIPAL, 35 (xdrproc_t)xdr_dprinc_arg, (caddr_t)argp, 36 (xdrproc_t)xdr_generic_ret, (caddr_t)res, TIMEOUT); 37 } 38 39 enum clnt_stat 40 modify_principal_2(mprinc_arg *argp, generic_ret *res, CLIENT *clnt) 41 { 42 return clnt_call(clnt, MODIFY_PRINCIPAL, 43 (xdrproc_t)xdr_mprinc_arg, (caddr_t)argp, 44 (xdrproc_t)xdr_generic_ret, (caddr_t)res, TIMEOUT); 45 } 46 47 enum clnt_stat 48 rename_principal_2(rprinc_arg *argp, generic_ret *res, CLIENT *clnt) 49 { 50 return clnt_call(clnt, RENAME_PRINCIPAL, 51 (xdrproc_t)xdr_rprinc_arg, (caddr_t)argp, 52 (xdrproc_t)xdr_generic_ret, (caddr_t)res, TIMEOUT); 53 } 54 55 enum clnt_stat 56 get_principal_2(gprinc_arg *argp, gprinc_ret *res, CLIENT *clnt) 57 { 58 return clnt_call(clnt, GET_PRINCIPAL, 59 (xdrproc_t)xdr_gprinc_arg, (caddr_t)argp, 60 (xdrproc_t)xdr_gprinc_ret, (caddr_t)res, TIMEOUT); 61 } 62 63 enum clnt_stat 64 get_princs_2(gprincs_arg *argp, gprincs_ret *res, CLIENT *clnt) 65 { 66 return clnt_call(clnt, GET_PRINCS, 67 (xdrproc_t)xdr_gprincs_arg, (caddr_t)argp, 68 (xdrproc_t)xdr_gprincs_ret, (caddr_t)res, TIMEOUT); 69 } 70 71 enum clnt_stat 72 chpass_principal_2(chpass_arg *argp, generic_ret *res, CLIENT *clnt) 73 { 74 return clnt_call(clnt, CHPASS_PRINCIPAL, 75 (xdrproc_t)xdr_chpass_arg, (caddr_t)argp, 76 (xdrproc_t)xdr_generic_ret, (caddr_t)res, TIMEOUT); 77 } 78 79 enum clnt_stat 80 chpass_principal3_2(chpass3_arg *argp, generic_ret *res, CLIENT *clnt) 81 { 82 return clnt_call(clnt, CHPASS_PRINCIPAL3, 83 (xdrproc_t)xdr_chpass3_arg, (caddr_t)argp, 84 (xdrproc_t)xdr_generic_ret, (caddr_t)res, TIMEOUT); 85 } 86 87 enum clnt_stat 88 setkey_principal_2(setkey_arg *argp, generic_ret *res, CLIENT *clnt) 89 { 90 return clnt_call(clnt, SETKEY_PRINCIPAL, 91 (xdrproc_t)xdr_setkey_arg, (caddr_t)argp, 92 (xdrproc_t)xdr_generic_ret, (caddr_t)res, TIMEOUT); 93 } 94 95 enum clnt_stat 96 setkey_principal3_2(setkey3_arg *argp, generic_ret *res, CLIENT *clnt) 97 { 98 return clnt_call(clnt, SETKEY_PRINCIPAL3, 99 (xdrproc_t)xdr_setkey3_arg, (caddr_t)argp, 100 (xdrproc_t)xdr_generic_ret, (caddr_t)res, TIMEOUT); 101 } 102 103 enum clnt_stat 104 setkey_principal4_2(setkey4_arg *argp, generic_ret *res, CLIENT *clnt) 105 { 106 return clnt_call(clnt, SETKEY_PRINCIPAL4, 107 (xdrproc_t)xdr_setkey4_arg, (caddr_t)argp, 108 (xdrproc_t)xdr_generic_ret, (caddr_t)res, TIMEOUT); 109 } 110 111 enum clnt_stat 112 chrand_principal_2(chrand_arg *argp, chrand_ret *res, CLIENT *clnt) 113 { 114 return clnt_call(clnt, CHRAND_PRINCIPAL, 115 (xdrproc_t)xdr_chrand_arg, (caddr_t)argp, 116 (xdrproc_t)xdr_chrand_ret, (caddr_t)res, TIMEOUT); 117 } 118 119 enum clnt_stat 120 chrand_principal3_2(chrand3_arg *argp, chrand_ret *res, CLIENT *clnt) 121 { 122 return clnt_call(clnt, CHRAND_PRINCIPAL3, 123 (xdrproc_t)xdr_chrand3_arg, (caddr_t)argp, 124 (xdrproc_t)xdr_chrand_ret, (caddr_t)res, TIMEOUT); 125 } 126 127 enum clnt_stat 128 create_policy_2(cpol_arg *argp, generic_ret *res, CLIENT *clnt) 129 { 130 return clnt_call(clnt, CREATE_POLICY, 131 (xdrproc_t)xdr_cpol_arg, (caddr_t)argp, 132 (xdrproc_t)xdr_generic_ret, (caddr_t)res, TIMEOUT); 133 } 134 135 enum clnt_stat 136 delete_policy_2(dpol_arg *argp, generic_ret *res, CLIENT *clnt) 137 { 138 return clnt_call(clnt, DELETE_POLICY, 139 (xdrproc_t)xdr_dpol_arg, (caddr_t)argp, 140 (xdrproc_t)xdr_generic_ret, (caddr_t)res, TIMEOUT); 141 } 142 143 enum clnt_stat 144 modify_policy_2(mpol_arg *argp, generic_ret *res, CLIENT *clnt) 145 { 146 return clnt_call(clnt, MODIFY_POLICY, 147 (xdrproc_t)xdr_mpol_arg, (caddr_t)argp, 148 (xdrproc_t)xdr_generic_ret, (caddr_t)res, TIMEOUT); 149 } 150 151 enum clnt_stat 152 get_policy_2(gpol_arg *argp, gpol_ret *res, CLIENT *clnt) 153 { 154 return clnt_call(clnt, GET_POLICY, 155 (xdrproc_t)xdr_gpol_arg, (caddr_t)argp, 156 (xdrproc_t)xdr_gpol_ret, (caddr_t)res, TIMEOUT); 157 } 158 159 enum clnt_stat 160 get_pols_2(gpols_arg *argp, gpols_ret *res, CLIENT *clnt) 161 { 162 return clnt_call(clnt, GET_POLS, 163 (xdrproc_t)xdr_gpols_arg, (caddr_t)argp, 164 (xdrproc_t)xdr_gpols_ret, (caddr_t)res, TIMEOUT); 165 } 166 167 enum clnt_stat 168 get_privs_2(void *argp, getprivs_ret *res, CLIENT *clnt) 169 { 170 return clnt_call(clnt, GET_PRIVS, 171 (xdrproc_t)xdr_u_int32, (caddr_t)argp, 172 (xdrproc_t)xdr_getprivs_ret, (caddr_t)res, TIMEOUT); 173 } 174 175 enum clnt_stat 176 init_2(void *argp, generic_ret *res, CLIENT *clnt) 177 { 178 return clnt_call(clnt, INIT, 179 (xdrproc_t)xdr_u_int32, (caddr_t)argp, 180 (xdrproc_t)xdr_generic_ret, (caddr_t)res, TIMEOUT); 181 } 182 183 enum clnt_stat 184 purgekeys_2(purgekeys_arg *argp, generic_ret *res, CLIENT *clnt) 185 { 186 return clnt_call(clnt, PURGEKEYS, 187 (xdrproc_t)xdr_purgekeys_arg, (caddr_t)argp, 188 (xdrproc_t)xdr_generic_ret, (caddr_t)res, TIMEOUT); 189 } 190 191 enum clnt_stat 192 get_strings_2(gstrings_arg *argp, gstrings_ret *res, CLIENT *clnt) 193 { 194 return clnt_call(clnt, GET_STRINGS, 195 (xdrproc_t)xdr_gstrings_arg, (caddr_t)argp, 196 (xdrproc_t)xdr_gstrings_ret, (caddr_t)res, TIMEOUT); 197 } 198 199 enum clnt_stat 200 set_string_2(sstring_arg *argp, generic_ret *res, CLIENT *clnt) 201 { 202 return clnt_call(clnt, SET_STRING, 203 (xdrproc_t)xdr_sstring_arg, (caddr_t)argp, 204 (xdrproc_t)xdr_generic_ret, (caddr_t)res, TIMEOUT); 205 } 206 207 enum clnt_stat 208 get_principal_keys_2(getpkeys_arg *argp, getpkeys_ret *res, CLIENT *clnt) 209 { 210 return clnt_call(clnt, EXTRACT_KEYS, 211 (xdrproc_t)xdr_getpkeys_arg, (caddr_t)argp, 212 (xdrproc_t)xdr_getpkeys_ret, (caddr_t)res, TIMEOUT); 213 } 214