1 /*
2  *   fs/cifs/cifs_spnego.h -- SPNEGO upcall management for CIFS
3  *
4  *   Copyright (c) 2007 Red Hat, Inc.
5  *   Author(s): Jeff Layton (jlayton@redhat.com)
6  *              Steve French (sfrench@us.ibm.com)
7  *
8  *   This library is free software; you can redistribute it and/or modify
9  *   it under the terms of the GNU Lesser General Public License as published
10  *   by the Free Software Foundation; either version 2.1 of the License, or
11  *   (at your option) any later version.
12  *
13  *   This library is distributed in the hope that it will be useful,
14  *   but WITHOUT ANY WARRANTY; without even the implied warranty of
15  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See
16  *   the GNU Lesser General Public License for more details.
17  *
18  *   You should have received a copy of the GNU Lesser General Public License
19  *   along with this library; if not, write to the Free Software
20  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21  */
22 
23 #ifndef _CIFS_SPNEGO_H
24 #define _CIFS_SPNEGO_H
25 
26 #define CIFS_SPNEGO_UPCALL_VERSION 2
27 
28 /*
29  * The version field should always be set to CIFS_SPNEGO_UPCALL_VERSION.
30  * The flags field is for future use. The request-key callout should set
31  * sesskey_len and secblob_len, and then concatenate the SessKey+SecBlob
32  * and stuff it in the data field.
33  */
34 struct cifs_spnego_msg {
35 	uint32_t	version;
36 	uint32_t	flags;
37 	uint32_t	sesskey_len;
38 	uint32_t	secblob_len;
39 	uint8_t		data[1];
40 };
41 
42 #ifdef __KERNEL__
43 extern struct key_type cifs_spnego_key_type;
44 extern struct key *cifs_get_spnego_key(struct cifs_ses *sesInfo);
45 #endif /* KERNEL */
46 
47 #endif /* _CIFS_SPNEGO_H */
48