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