Lines Matching full:gm

32 gss_mech_free(struct gss_api_mech *gm)  in gss_mech_free()  argument
37 for (i = 0; i < gm->gm_pf_num; i++) { in gss_mech_free()
38 pf = &gm->gm_pfs[i]; in gss_mech_free()
61 gss_mech_svc_setup(struct gss_api_mech *gm) in gss_mech_svc_setup() argument
67 for (i = 0; i < gm->gm_pf_num; i++) { in gss_mech_svc_setup()
68 pf = &gm->gm_pfs[i]; in gss_mech_svc_setup()
83 gss_mech_free(gm); in gss_mech_svc_setup()
89 * @gm: GSS mechanism handle
93 int gss_mech_register(struct gss_api_mech *gm) in gss_mech_register() argument
97 status = gss_mech_svc_setup(gm); in gss_mech_register()
101 list_add_rcu(&gm->gm_list, &registered_mechs); in gss_mech_register()
103 dprintk("RPC: registered gss mechanism %s\n", gm->gm_name); in gss_mech_register()
110 * @gm: GSS mechanism handle
113 void gss_mech_unregister(struct gss_api_mech *gm) in gss_mech_unregister() argument
116 list_del_rcu(&gm->gm_list); in gss_mech_unregister()
118 dprintk("RPC: unregistered gss mechanism %s\n", gm->gm_name); in gss_mech_unregister()
119 gss_mech_free(gm); in gss_mech_unregister()
123 struct gss_api_mech *gss_mech_get(struct gss_api_mech *gm) in gss_mech_get() argument
125 __module_get(gm->gm_owner); in gss_mech_get()
126 return gm; in gss_mech_get()
133 struct gss_api_mech *pos, *gm = NULL; in _gss_mech_get_by_name() local
139 gm = pos; in _gss_mech_get_by_name()
144 return gm; in _gss_mech_get_by_name()
150 struct gss_api_mech *gm = NULL; in gss_mech_get_by_name() local
152 gm = _gss_mech_get_by_name(name); in gss_mech_get_by_name()
153 if (!gm) { in gss_mech_get_by_name()
155 gm = _gss_mech_get_by_name(name); in gss_mech_get_by_name()
157 return gm; in gss_mech_get_by_name()
162 struct gss_api_mech *pos, *gm = NULL; in gss_mech_get_by_OID() local
174 gm = pos; in gss_mech_get_by_OID()
180 if (!gm) in gss_mech_get_by_OID()
182 return gm; in gss_mech_get_by_OID()
186 mech_supports_pseudoflavor(struct gss_api_mech *gm, u32 pseudoflavor) in mech_supports_pseudoflavor() argument
190 for (i = 0; i < gm->gm_pf_num; i++) { in mech_supports_pseudoflavor()
191 if (gm->gm_pfs[i].pseudoflavor == pseudoflavor) in mech_supports_pseudoflavor()
199 struct gss_api_mech *gm = NULL, *pos; in _gss_mech_get_by_pseudoflavor() local
206 gm = pos; in _gss_mech_get_by_pseudoflavor()
210 return gm; in _gss_mech_get_by_pseudoflavor()
216 struct gss_api_mech *gm; in gss_mech_get_by_pseudoflavor() local
218 gm = _gss_mech_get_by_pseudoflavor(pseudoflavor); in gss_mech_get_by_pseudoflavor()
220 if (!gm) { in gss_mech_get_by_pseudoflavor()
222 gm = _gss_mech_get_by_pseudoflavor(pseudoflavor); in gss_mech_get_by_pseudoflavor()
224 return gm; in gss_mech_get_by_pseudoflavor()
229 * @gm: GSS mechanism handle
235 rpc_authflavor_t gss_svc_to_pseudoflavor(struct gss_api_mech *gm, u32 qop, in gss_svc_to_pseudoflavor() argument
240 for (i = 0; i < gm->gm_pf_num; i++) { in gss_svc_to_pseudoflavor()
241 if (gm->gm_pfs[i].qop == qop && in gss_svc_to_pseudoflavor()
242 gm->gm_pfs[i].service == service) { in gss_svc_to_pseudoflavor()
243 return gm->gm_pfs[i].pseudoflavor; in gss_svc_to_pseudoflavor()
259 struct gss_api_mech *gm; in gss_mech_info2flavor() local
261 gm = gss_mech_get_by_OID(&info->oid); in gss_mech_info2flavor()
262 if (gm == NULL) in gss_mech_info2flavor()
265 pseudoflavor = gss_svc_to_pseudoflavor(gm, info->qop, info->service); in gss_mech_info2flavor()
267 gss_mech_put(gm); in gss_mech_info2flavor()
282 struct gss_api_mech *gm; in gss_mech_flavor2info() local
285 gm = gss_mech_get_by_pseudoflavor(pseudoflavor); in gss_mech_flavor2info()
286 if (gm == NULL) in gss_mech_flavor2info()
289 for (i = 0; i < gm->gm_pf_num; i++) { in gss_mech_flavor2info()
290 if (gm->gm_pfs[i].pseudoflavor == pseudoflavor) { in gss_mech_flavor2info()
291 memcpy(info->oid.data, gm->gm_oid.data, gm->gm_oid.len); in gss_mech_flavor2info()
292 info->oid.len = gm->gm_oid.len; in gss_mech_flavor2info()
293 info->qop = gm->gm_pfs[i].qop; in gss_mech_flavor2info()
294 info->service = gm->gm_pfs[i].service; in gss_mech_flavor2info()
295 gss_mech_put(gm); in gss_mech_flavor2info()
300 gss_mech_put(gm); in gss_mech_flavor2info()
305 gss_pseudoflavor_to_service(struct gss_api_mech *gm, u32 pseudoflavor) in gss_pseudoflavor_to_service() argument
309 for (i = 0; i < gm->gm_pf_num; i++) { in gss_pseudoflavor_to_service()
310 if (gm->gm_pfs[i].pseudoflavor == pseudoflavor) in gss_pseudoflavor_to_service()
311 return gm->gm_pfs[i].service; in gss_pseudoflavor_to_service()
318 gss_pseudoflavor_to_datatouch(struct gss_api_mech *gm, u32 pseudoflavor) in gss_pseudoflavor_to_datatouch() argument
322 for (i = 0; i < gm->gm_pf_num; i++) { in gss_pseudoflavor_to_datatouch()
323 if (gm->gm_pfs[i].pseudoflavor == pseudoflavor) in gss_pseudoflavor_to_datatouch()
324 return gm->gm_pfs[i].datatouch; in gss_pseudoflavor_to_datatouch()
330 gss_service_to_auth_domain_name(struct gss_api_mech *gm, u32 service) in gss_service_to_auth_domain_name() argument
334 for (i = 0; i < gm->gm_pf_num; i++) { in gss_service_to_auth_domain_name()
335 if (gm->gm_pfs[i].service == service) in gss_service_to_auth_domain_name()
336 return gm->gm_pfs[i].auth_domain_name; in gss_service_to_auth_domain_name()
342 gss_mech_put(struct gss_api_mech * gm) in gss_mech_put() argument
344 if (gm) in gss_mech_put()
345 module_put(gm->gm_owner); in gss_mech_put()