blob: 31e96344167e32669f25365a5f1afe111448731f [file] [log] [blame]
Chuck Lever2573a462019-02-11 11:25:15 -05001/* SPDX-License-Identifier: GPL-2.0+ */
Simo Sorce1d658332012-05-25 18:09:55 -04002/*
3 * linux/net/sunrpc/gss_rpc_upcall.h
4 *
5 * Copyright (C) 2012 Simo Sorce <simo@redhat.com>
Simo Sorce1d658332012-05-25 18:09:55 -04006 */
7
8#ifndef _GSS_RPC_UPCALL_H
9#define _GSS_RPC_UPCALL_H
10
J. Bruce Fieldsb1df7632013-04-29 14:03:30 -040011#include <linux/sunrpc/gss_api.h>
Simo Sorce1d658332012-05-25 18:09:55 -040012#include <linux/sunrpc/auth_gss.h>
13#include "gss_rpc_xdr.h"
14#include "../netns.h"
15
16struct gssp_upcall_data {
17 struct xdr_netobj in_handle;
18 struct gssp_in_token in_token;
19 struct xdr_netobj out_handle;
20 struct xdr_netobj out_token;
J. Bruce Fieldsb1df7632013-04-29 14:03:30 -040021 struct rpcsec_gss_oid mech_oid;
Simo Sorce1d658332012-05-25 18:09:55 -040022 struct svc_cred creds;
23 int found_creds;
24 int major_status;
25 int minor_status;
26};
27
28int gssp_accept_sec_context_upcall(struct net *net,
29 struct gssp_upcall_data *data);
30void gssp_free_upcall_data(struct gssp_upcall_data *data);
31
32void init_gssp_clnt(struct sunrpc_net *);
33int set_gssp_clnt(struct net *);
34void clear_gssp_clnt(struct sunrpc_net *);
Chuck Lever2573a462019-02-11 11:25:15 -050035
Simo Sorce1d658332012-05-25 18:09:55 -040036#endif /* _GSS_RPC_UPCALL_H */