162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0+ */ 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * linux/net/sunrpc/gss_rpc_upcall.h 462306a36Sopenharmony_ci * 562306a36Sopenharmony_ci * Copyright (C) 2012 Simo Sorce <simo@redhat.com> 662306a36Sopenharmony_ci */ 762306a36Sopenharmony_ci 862306a36Sopenharmony_ci#ifndef _GSS_RPC_UPCALL_H 962306a36Sopenharmony_ci#define _GSS_RPC_UPCALL_H 1062306a36Sopenharmony_ci 1162306a36Sopenharmony_ci#include <linux/sunrpc/gss_api.h> 1262306a36Sopenharmony_ci#include <linux/sunrpc/auth_gss.h> 1362306a36Sopenharmony_ci#include "gss_rpc_xdr.h" 1462306a36Sopenharmony_ci#include "../netns.h" 1562306a36Sopenharmony_ci 1662306a36Sopenharmony_cistruct gssp_upcall_data { 1762306a36Sopenharmony_ci struct xdr_netobj in_handle; 1862306a36Sopenharmony_ci struct gssp_in_token in_token; 1962306a36Sopenharmony_ci struct xdr_netobj out_handle; 2062306a36Sopenharmony_ci struct xdr_netobj out_token; 2162306a36Sopenharmony_ci struct rpcsec_gss_oid mech_oid; 2262306a36Sopenharmony_ci struct svc_cred creds; 2362306a36Sopenharmony_ci int found_creds; 2462306a36Sopenharmony_ci int major_status; 2562306a36Sopenharmony_ci int minor_status; 2662306a36Sopenharmony_ci}; 2762306a36Sopenharmony_ci 2862306a36Sopenharmony_ciint gssp_accept_sec_context_upcall(struct net *net, 2962306a36Sopenharmony_ci struct gssp_upcall_data *data); 3062306a36Sopenharmony_civoid gssp_free_upcall_data(struct gssp_upcall_data *data); 3162306a36Sopenharmony_ci 3262306a36Sopenharmony_civoid init_gssp_clnt(struct sunrpc_net *); 3362306a36Sopenharmony_ciint set_gssp_clnt(struct net *); 3462306a36Sopenharmony_civoid clear_gssp_clnt(struct sunrpc_net *); 3562306a36Sopenharmony_ci 3662306a36Sopenharmony_ci#endif /* _GSS_RPC_UPCALL_H */ 37