1 /* SPDX-License-Identifier: LGPL-2.1 */
2 /*
3  *   SPNEGO upcall management for CIFS
4  *
5  *   Copyright (c) 2007 Red Hat, Inc.
6  *   Author(s): Jeff Layton (jlayton@redhat.com)
7  *              Steve French (sfrench@us.ibm.com)
8  *
9  */
10 
11 #ifndef _CIFS_SPNEGO_H
12 #define _CIFS_SPNEGO_H
13 
14 #define CIFS_SPNEGO_UPCALL_VERSION 2
15 
16 /*
17  * The version field should always be set to CIFS_SPNEGO_UPCALL_VERSION.
18  * The flags field is for future use. The request-key callout should set
19  * sesskey_len and secblob_len, and then concatenate the SessKey+SecBlob
20  * and stuff it in the data field.
21  */
22 struct cifs_spnego_msg {
23 	uint32_t	version;
24 	uint32_t	flags;
25 	uint32_t	sesskey_len;
26 	uint32_t	secblob_len;
27 	uint8_t		data[];
28 };
29 
30 #ifdef __KERNEL__
31 extern struct key_type cifs_spnego_key_type;
32 extern struct key *cifs_get_spnego_key(struct cifs_ses *sesInfo,
33 				       struct TCP_Server_Info *server);
34 #endif /* KERNEL */
35 
36 #endif /* _CIFS_SPNEGO_H */
37