aboutsummaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
Diffstat (limited to 'fs')
-rw-r--r--fs/cifs/cifs_unicode.h11
-rw-r--r--fs/cifs/cifs_uniupr.h2
-rw-r--r--fs/cifs/cifsfs.h15
-rw-r--r--fs/cifs/cifsglob.h60
-rw-r--r--fs/cifs/cifsproto.h106
-rw-r--r--fs/cifs/ntlmssp.h20
6 files changed, 108 insertions, 106 deletions
diff --git a/fs/cifs/cifs_unicode.h b/fs/cifs/cifs_unicode.h
index 39e5b970325f..274e412ec17c 100644
--- a/fs/cifs/cifs_unicode.h
+++ b/fs/cifs/cifs_unicode.h
@@ -5,20 +5,20 @@
5 * Convert a unicode character to upper or lower case using 5 * Convert a unicode character to upper or lower case using
6 * compressed tables. 6 * compressed tables.
7 * 7 *
8 * Copyright (c) International Business Machines Corp., 2000,2005555555555555555555555555555555555555555555555555555555 8 * Copyright (c) International Business Machines Corp., 2000,2007
9 * 9 *
10 * This program is free software; you can redistribute it and/or modify 10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License as published by 11 * it under the terms of the GNU General Public License as published by
12 * the Free Software Foundation; either version 2 of the License, or 12 * the Free Software Foundation; either version 2 of the License, or
13 * (at your option) any later version. 13 * (at your option) any later version.
14 * 14 *
15 * This program is distributed in the hope that it will be useful, 15 * This program is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
18 * the GNU General Public License for more details. 18 * the GNU General Public License for more details.
19 * 19 *
20 * You should have received a copy of the GNU General Public License 20 * You should have received a copy of the GNU General Public License
21 * along with this program; if not, write to the Free Software 21 * along with this program; if not, write to the Free Software
22 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 22 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
23 * 23 *
24 * 24 *
@@ -142,7 +142,8 @@ UniStrlen(const wchar_t * ucs1)
142} 142}
143 143
144/* 144/*
145 * UniStrnlen: Return the length (in 16 bit Unicode chars not bytes) of a string (length limited) 145 * UniStrnlen: Return the length (in 16 bit Unicode chars not bytes) of a
146 * string (length limited)
146 */ 147 */
147static inline size_t 148static inline size_t
148UniStrnlen(const wchar_t * ucs1, int maxlen) 149UniStrnlen(const wchar_t * ucs1, int maxlen)
diff --git a/fs/cifs/cifs_uniupr.h b/fs/cifs/cifs_uniupr.h
index da2ad5b451ac..ac622e77e7e6 100644
--- a/fs/cifs/cifs_uniupr.h
+++ b/fs/cifs/cifs_uniupr.h
@@ -3,7 +3,7 @@
3 * 3 *
4 * This program is free software; you can redistribute it and/or modify 4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by 5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or 6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version. 7 * (at your option) any later version.
8 * 8 *
9 * This program is distributed in the hope that it will be useful, 9 * This program is distributed in the hope that it will be useful,
diff --git a/fs/cifs/cifsfs.h b/fs/cifs/cifsfs.h
index c235d32ad4a8..af3689bfa38e 100644
--- a/fs/cifs/cifsfs.h
+++ b/fs/cifs/cifsfs.h
@@ -16,7 +16,7 @@
16 * 16 *
17 * You should have received a copy of the GNU Lesser General Public License 17 * You should have received a copy of the GNU Lesser General Public License
18 * along with this library; if not, write to the Free Software 18 * along with this library; if not, write to the Free Software
19 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 19 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 */ 20 */
21 21
22#ifndef _CIFSFS_H 22#ifndef _CIFSFS_H
@@ -43,7 +43,7 @@ extern void cifs_read_inode(struct inode *);
43 43
44/* Functions related to inodes */ 44/* Functions related to inodes */
45extern const struct inode_operations cifs_dir_inode_ops; 45extern const struct inode_operations cifs_dir_inode_ops;
46extern int cifs_create(struct inode *, struct dentry *, int, 46extern int cifs_create(struct inode *, struct dentry *, int,
47 struct nameidata *); 47 struct nameidata *);
48extern struct dentry * cifs_lookup(struct inode *, struct dentry *, 48extern struct dentry * cifs_lookup(struct inode *, struct dentry *,
49 struct nameidata *); 49 struct nameidata *);
@@ -63,9 +63,9 @@ extern const struct inode_operations cifs_symlink_inode_ops;
63 63
64/* Functions related to files and directories */ 64/* Functions related to files and directories */
65extern const struct file_operations cifs_file_ops; 65extern const struct file_operations cifs_file_ops;
66extern const struct file_operations cifs_file_direct_ops; /* if directio mount */ 66extern const struct file_operations cifs_file_direct_ops; /* if directio mnt */
67extern const struct file_operations cifs_file_nobrl_ops; 67extern const struct file_operations cifs_file_nobrl_ops;
68extern const struct file_operations cifs_file_direct_nobrl_ops; /* if directio mount */ 68extern const struct file_operations cifs_file_direct_nobrl_ops; /* no brlocks */
69extern int cifs_open(struct inode *inode, struct file *file); 69extern int cifs_open(struct inode *inode, struct file *file);
70extern int cifs_close(struct inode *inode, struct file *file); 70extern int cifs_close(struct inode *inode, struct file *file);
71extern int cifs_closedir(struct inode *inode, struct file *file); 71extern int cifs_closedir(struct inode *inode, struct file *file);
@@ -88,8 +88,9 @@ extern struct dentry_operations cifs_ci_dentry_ops;
88 88
89/* Functions related to symlinks */ 89/* Functions related to symlinks */
90extern void *cifs_follow_link(struct dentry *direntry, struct nameidata *nd); 90extern void *cifs_follow_link(struct dentry *direntry, struct nameidata *nd);
91extern void cifs_put_link(struct dentry *direntry, struct nameidata *nd, void *); 91extern void cifs_put_link(struct dentry *direntry,
92extern int cifs_readlink(struct dentry *direntry, char __user *buffer, 92 struct nameidata *nd, void *);
93extern int cifs_readlink(struct dentry *direntry, char __user *buffer,
93 int buflen); 94 int buflen);
94extern int cifs_symlink(struct inode *inode, struct dentry *direntry, 95extern int cifs_symlink(struct inode *inode, struct dentry *direntry,
95 const char *symname); 96 const char *symname);
@@ -98,7 +99,7 @@ extern int cifs_setxattr(struct dentry *, const char *, const void *,
98 size_t, int); 99 size_t, int);
99extern ssize_t cifs_getxattr(struct dentry *, const char *, void *, size_t); 100extern ssize_t cifs_getxattr(struct dentry *, const char *, void *, size_t);
100extern ssize_t cifs_listxattr(struct dentry *, char *, size_t); 101extern ssize_t cifs_listxattr(struct dentry *, char *, size_t);
101extern int cifs_ioctl (struct inode * inode, struct file * filep, 102extern int cifs_ioctl (struct inode *inode, struct file *filep,
102 unsigned int command, unsigned long arg); 103 unsigned int command, unsigned long arg);
103#define CIFS_VERSION "1.49" 104#define CIFS_VERSION "1.49"
104#endif /* _CIFSFS_H */ 105#endif /* _CIFSFS_H */
diff --git a/fs/cifs/cifsglob.h b/fs/cifs/cifsglob.h
index 23655de2f4a4..e16a2c473003 100644
--- a/fs/cifs/cifsglob.h
+++ b/fs/cifs/cifsglob.h
@@ -1,7 +1,7 @@
1/* 1/*
2 * fs/cifs/cifsglob.h 2 * fs/cifs/cifsglob.h
3 * 3 *
4 * Copyright (C) International Business Machines Corp., 2002,2006 4 * Copyright (C) International Business Machines Corp., 2002,2007
5 * Author(s): Steve French (sfrench@us.ibm.com) 5 * Author(s): Steve French (sfrench@us.ibm.com)
6 * Jeremy Allison (jra@samba.org) 6 * Jeremy Allison (jra@samba.org)
7 * 7 *
@@ -14,7 +14,7 @@
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See 15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
16 * the GNU Lesser General Public License for more details. 16 * the GNU Lesser General Public License for more details.
17 * 17 *
18 */ 18 */
19#include <linux/in.h> 19#include <linux/in.h>
20#include <linux/in6.h> 20#include <linux/in6.h>
@@ -28,7 +28,7 @@
28 28
29#define MAX_TREE_SIZE 2 + MAX_SERVER_SIZE + 1 + MAX_SHARE_SIZE + 1 29#define MAX_TREE_SIZE 2 + MAX_SERVER_SIZE + 1 + MAX_SHARE_SIZE + 1
30#define MAX_SERVER_SIZE 15 30#define MAX_SERVER_SIZE 15
31#define MAX_SHARE_SIZE 64 /* used to be 20 - this should still be enough */ 31#define MAX_SHARE_SIZE 64 /* used to be 20, this should still be enough */
32#define MAX_USERNAME_SIZE 32 /* 32 is to allow for 15 char names + null 32#define MAX_USERNAME_SIZE 32 /* 32 is to allow for 15 char names + null
33 termination then *2 for unicode versions */ 33 termination then *2 for unicode versions */
34#define MAX_PASSWORD_SIZE 16 34#define MAX_PASSWORD_SIZE 16
@@ -38,13 +38,13 @@
38/* 38/*
39 * MAX_REQ is the maximum number of requests that WE will send 39 * MAX_REQ is the maximum number of requests that WE will send
40 * on one socket concurently. It also matches the most common 40 * on one socket concurently. It also matches the most common
41 * value of max multiplex returned by servers. We may 41 * value of max multiplex returned by servers. We may
42 * eventually want to use the negotiated value (in case 42 * eventually want to use the negotiated value (in case
43 * future servers can handle more) when we are more confident that 43 * future servers can handle more) when we are more confident that
44 * we will not have problems oveloading the socket with pending 44 * we will not have problems oveloading the socket with pending
45 * write data. 45 * write data.
46 */ 46 */
47#define CIFS_MAX_REQ 50 47#define CIFS_MAX_REQ 50
48 48
49#define SERVER_NAME_LENGTH 15 49#define SERVER_NAME_LENGTH 15
50#define SERVER_NAME_LEN_WITH_NULL (SERVER_NAME_LENGTH + 1) 50#define SERVER_NAME_LEN_WITH_NULL (SERVER_NAME_LENGTH + 1)
@@ -120,13 +120,13 @@ struct TCP_Server_Info {
120 struct sockaddr_in sockAddr; 120 struct sockaddr_in sockAddr;
121 struct sockaddr_in6 sockAddr6; 121 struct sockaddr_in6 sockAddr6;
122 } addr; 122 } addr;
123 wait_queue_head_t response_q; 123 wait_queue_head_t response_q;
124 wait_queue_head_t request_q; /* if more than maxmpx to srvr must block*/ 124 wait_queue_head_t request_q; /* if more than maxmpx to srvr must block*/
125 struct list_head pending_mid_q; 125 struct list_head pending_mid_q;
126 void *Server_NlsInfo; /* BB - placeholder for future NLS info */ 126 void *Server_NlsInfo; /* BB - placeholder for future NLS info */
127 unsigned short server_codepage; /* codepage for the server */ 127 unsigned short server_codepage; /* codepage for the server */
128 unsigned long ip_address; /* IP addr for the server if known */ 128 unsigned long ip_address; /* IP addr for the server if known */
129 enum protocolEnum protocolType; 129 enum protocolEnum protocolType;
130 char versionMajor; 130 char versionMajor;
131 char versionMinor; 131 char versionMinor;
132 unsigned svlocal:1; /* local server or remote */ 132 unsigned svlocal:1; /* local server or remote */
@@ -166,7 +166,7 @@ struct TCP_Server_Info {
166/* 166/*
167 * The following is our shortcut to user information. We surface the uid, 167 * The following is our shortcut to user information. We surface the uid,
168 * and name. We always get the password on the fly in case it 168 * and name. We always get the password on the fly in case it
169 * has changed. We also hang a list of sessions owned by this user off here. 169 * has changed. We also hang a list of sessions owned by this user off here.
170 */ 170 */
171struct cifsUidInfo { 171struct cifsUidInfo {
172 struct list_head userList; 172 struct list_head userList;
@@ -197,11 +197,11 @@ struct cifsSesInfo {
197 int Suid; /* remote smb uid */ 197 int Suid; /* remote smb uid */
198 uid_t linux_uid; /* local Linux uid */ 198 uid_t linux_uid; /* local Linux uid */
199 int capabilities; 199 int capabilities;
200 char serverName[SERVER_NAME_LEN_WITH_NULL * 2]; /* BB make bigger for 200 char serverName[SERVER_NAME_LEN_WITH_NULL * 2]; /* BB make bigger for
201 TCP names - will ipv6 and sctp addresses fit? */ 201 TCP names - will ipv6 and sctp addresses fit? */
202 char userName[MAX_USERNAME_SIZE + 1]; 202 char userName[MAX_USERNAME_SIZE + 1];
203 char * domainName; 203 char *domainName;
204 char * password; 204 char *password;
205}; 205};
206/* no more than one of the following three session flags may be set */ 206/* no more than one of the following three session flags may be set */
207#define CIFS_SES_NT4 1 207#define CIFS_SES_NT4 1
@@ -213,7 +213,7 @@ struct cifsSesInfo {
213#define CIFS_SES_LANMAN 8 213#define CIFS_SES_LANMAN 8
214/* 214/*
215 * there is one of these for each connection to a resource on a particular 215 * there is one of these for each connection to a resource on a particular
216 * session 216 * session
217 */ 217 */
218struct cifsTconInfo { 218struct cifsTconInfo {
219 struct list_head cifsConnectionList; 219 struct list_head cifsConnectionList;
@@ -291,9 +291,9 @@ struct cifs_search_info {
291 __u16 entries_in_buffer; 291 __u16 entries_in_buffer;
292 __u16 info_level; 292 __u16 info_level;
293 __u32 resume_key; 293 __u32 resume_key;
294 char * ntwrk_buf_start; 294 char *ntwrk_buf_start;
295 char * srch_entries_start; 295 char *srch_entries_start;
296 char * presume_name; 296 char *presume_name;
297 unsigned int resume_name_len; 297 unsigned int resume_name_len;
298 unsigned endOfSearch:1; 298 unsigned endOfSearch:1;
299 unsigned emptyDir:1; 299 unsigned emptyDir:1;
@@ -309,15 +309,15 @@ struct cifsFileInfo {
309 __u16 netfid; /* file id from remote */ 309 __u16 netfid; /* file id from remote */
310 /* BB add lock scope info here if needed */ ; 310 /* BB add lock scope info here if needed */ ;
311 /* lock scope id (0 if none) */ 311 /* lock scope id (0 if none) */
312 struct file * pfile; /* needed for writepage */ 312 struct file *pfile; /* needed for writepage */
313 struct inode * pInode; /* needed for oplock break */ 313 struct inode *pInode; /* needed for oplock break */
314 struct mutex lock_mutex; 314 struct mutex lock_mutex;
315 struct list_head llist; /* list of byte range locks we have. */ 315 struct list_head llist; /* list of byte range locks we have. */
316 unsigned closePend:1; /* file is marked to close */ 316 unsigned closePend:1; /* file is marked to close */
317 unsigned invalidHandle:1; /* file closed via session abend */ 317 unsigned invalidHandle:1; /* file closed via session abend */
318 atomic_t wrtPending; /* handle in use - defer close */ 318 atomic_t wrtPending; /* handle in use - defer close */
319 struct semaphore fh_sem; /* prevents reopen race after dead ses*/ 319 struct semaphore fh_sem; /* prevents reopen race after dead ses*/
320 char * search_resume_name; /* BB removeme BB */ 320 char *search_resume_name; /* BB removeme BB */
321 struct cifs_search_info srch_inf; 321 struct cifs_search_info srch_inf;
322}; 322};
323 323
@@ -327,7 +327,7 @@ struct cifsFileInfo {
327 327
328struct cifsInodeInfo { 328struct cifsInodeInfo {
329 struct list_head lockList; 329 struct list_head lockList;
330 /* BB add in lists for dirty pages - i.e. write caching info for oplock */ 330 /* BB add in lists for dirty pages i.e. write caching info for oplock */
331 struct list_head openFileList; 331 struct list_head openFileList;
332 int write_behind_rc; 332 int write_behind_rc;
333 __u32 cifsAttrs; /* e.g. DOS archive bit, sparse, compressed, system */ 333 __u32 cifsAttrs; /* e.g. DOS archive bit, sparse, compressed, system */
@@ -381,9 +381,9 @@ static inline void cifs_stats_bytes_read(struct cifsTconInfo *tcon,
381} 381}
382#else 382#else
383 383
384#define cifs_stats_inc(field) do {} while(0) 384#define cifs_stats_inc(field) do {} while (0)
385#define cifs_stats_bytes_written(tcon, bytes) do {} while(0) 385#define cifs_stats_bytes_written(tcon, bytes) do {} while (0)
386#define cifs_stats_bytes_read(tcon, bytes) do {} while(0) 386#define cifs_stats_bytes_read(tcon, bytes) do {} while (0)
387 387
388#endif 388#endif
389 389
@@ -410,8 +410,8 @@ struct mid_q_entry {
410 410
411struct oplock_q_entry { 411struct oplock_q_entry {
412 struct list_head qhead; 412 struct list_head qhead;
413 struct inode * pinode; 413 struct inode *pinode;
414 struct cifsTconInfo * tcon; 414 struct cifsTconInfo *tcon;
415 __u16 netfid; 415 __u16 netfid;
416}; 416};
417 417
@@ -426,7 +426,7 @@ struct dir_notify_req {
426 __u16 netfid; 426 __u16 netfid;
427 __u32 filter; /* CompletionFilter (for multishot) */ 427 __u32 filter; /* CompletionFilter (for multishot) */
428 int multishot; 428 int multishot;
429 struct file * pfile; 429 struct file *pfile;
430}; 430};
431 431
432#define MID_FREE 0 432#define MID_FREE 0
@@ -464,7 +464,7 @@ require use of the stronger protocol */
464#define CIFSSEC_MUST_LANMAN 0x10010 464#define CIFSSEC_MUST_LANMAN 0x10010
465#define CIFSSEC_MUST_PLNTXT 0x20020 465#define CIFSSEC_MUST_PLNTXT 0x20020
466#define CIFSSEC_MASK 0x37037 /* current flags supported if weak */ 466#define CIFSSEC_MASK 0x37037 /* current flags supported if weak */
467#else 467#else
468#define CIFSSEC_MASK 0x07007 /* flags supported if no weak config */ 468#define CIFSSEC_MASK 0x07007 /* flags supported if no weak config */
469#endif /* WEAK_PW_HASH */ 469#endif /* WEAK_PW_HASH */
470#define CIFSSEC_MUST_SEAL 0x40040 /* not supported yet */ 470#define CIFSSEC_MUST_SEAL 0x40040 /* not supported yet */
@@ -502,7 +502,7 @@ require use of the stronger protocol */
502 * ---------- 502 * ----------
503 * sesSem operations on smb session 503 * sesSem operations on smb session
504 * tconSem operations on tree connection 504 * tconSem operations on tree connection
505 * fh_sem file handle reconnection operations 505 * fh_sem file handle reconnection operations
506 * 506 *
507 ****************************************************************************/ 507 ****************************************************************************/
508 508
@@ -515,7 +515,7 @@ require use of the stronger protocol */
515/* 515/*
516 * The list of servers that did not respond with NT LM 0.12. 516 * The list of servers that did not respond with NT LM 0.12.
517 * This list helps improve performance and eliminate the messages indicating 517 * This list helps improve performance and eliminate the messages indicating
518 * that we had a communications error talking to the server in this list. 518 * that we had a communications error talking to the server in this list.
519 */ 519 */
520/* Feature not supported */ 520/* Feature not supported */
521/* GLOBAL_EXTERN struct servers_not_supported *NotSuppList; */ 521/* GLOBAL_EXTERN struct servers_not_supported *NotSuppList; */
@@ -568,12 +568,12 @@ GLOBAL_EXTERN atomic_t midCount;
568/* Misc globals */ 568/* Misc globals */
569GLOBAL_EXTERN unsigned int multiuser_mount; /* if enabled allows new sessions 569GLOBAL_EXTERN unsigned int multiuser_mount; /* if enabled allows new sessions
570 to be established on existing mount if we 570 to be established on existing mount if we
571 have the uid/password or Kerberos credential 571 have the uid/password or Kerberos credential
572 or equivalent for current user */ 572 or equivalent for current user */
573GLOBAL_EXTERN unsigned int oplockEnabled; 573GLOBAL_EXTERN unsigned int oplockEnabled;
574GLOBAL_EXTERN unsigned int experimEnabled; 574GLOBAL_EXTERN unsigned int experimEnabled;
575GLOBAL_EXTERN unsigned int lookupCacheEnabled; 575GLOBAL_EXTERN unsigned int lookupCacheEnabled;
576GLOBAL_EXTERN unsigned int extended_security; /* if on, session setup sent 576GLOBAL_EXTERN unsigned int extended_security; /* if on, session setup sent
577 with more secure ntlmssp2 challenge/resp */ 577 with more secure ntlmssp2 challenge/resp */
578GLOBAL_EXTERN unsigned int sign_CIFS_PDUs; /* enable smb packet signing */ 578GLOBAL_EXTERN unsigned int sign_CIFS_PDUs; /* enable smb packet signing */
579GLOBAL_EXTERN unsigned int linuxExtEnabled;/*enable Linux/Unix CIFS extensions*/ 579GLOBAL_EXTERN unsigned int linuxExtEnabled;/*enable Linux/Unix CIFS extensions*/
diff --git a/fs/cifs/cifsproto.h b/fs/cifs/cifsproto.h
index 5d163e2b6143..4a89f038af28 100644
--- a/fs/cifs/cifsproto.h
+++ b/fs/cifs/cifsproto.h
@@ -16,7 +16,7 @@
16 * 16 *
17 * You should have received a copy of the GNU Lesser General Public License 17 * You should have received a copy of the GNU Lesser General Public License
18 * along with this library; if not, write to the Free Software 18 * along with this library; if not, write to the Free Software
19 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 19 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 */ 20 */
21#ifndef _CIFSPROTO_H 21#ifndef _CIFSPROTO_H
22#define _CIFSPROTO_H 22#define _CIFSPROTO_H
@@ -49,9 +49,9 @@ extern int SendReceive(const unsigned int /* xid */ , struct cifsSesInfo *,
49 struct smb_hdr * /* out */ , 49 struct smb_hdr * /* out */ ,
50 int * /* bytes returned */ , const int long_op); 50 int * /* bytes returned */ , const int long_op);
51extern int SendReceive2(const unsigned int /* xid */ , struct cifsSesInfo *, 51extern int SendReceive2(const unsigned int /* xid */ , struct cifsSesInfo *,
52 struct kvec *, int /* nvec to send */, 52 struct kvec *, int /* nvec to send */,
53 int * /* type of buf returned */ , const int long_op); 53 int * /* type of buf returned */ , const int long_op);
54extern int SendReceiveBlockingLock(const unsigned int /* xid */ , 54extern int SendReceiveBlockingLock(const unsigned int /* xid */ ,
55 struct cifsTconInfo *, 55 struct cifsTconInfo *,
56 struct smb_hdr * /* input */ , 56 struct smb_hdr * /* input */ ,
57 struct smb_hdr * /* out */ , 57 struct smb_hdr * /* out */ ,
@@ -64,7 +64,7 @@ extern unsigned int smbCalcSize(struct smb_hdr *ptr);
64extern unsigned int smbCalcSize_LE(struct smb_hdr *ptr); 64extern unsigned int smbCalcSize_LE(struct smb_hdr *ptr);
65extern int decode_negTokenInit(unsigned char *security_blob, int length, 65extern int decode_negTokenInit(unsigned char *security_blob, int length,
66 enum securityEnum *secType); 66 enum securityEnum *secType);
67extern int cifs_inet_pton(int, char * source, void *dst); 67extern int cifs_inet_pton(int, char *source, void *dst);
68extern int map_smb_to_linux_error(struct smb_hdr *smb); 68extern int map_smb_to_linux_error(struct smb_hdr *smb);
69extern void header_assemble(struct smb_hdr *, char /* command */ , 69extern void header_assemble(struct smb_hdr *, char /* command */ ,
70 const struct cifsTconInfo *, int /* length of 70 const struct cifsTconInfo *, int /* length of
@@ -73,10 +73,10 @@ extern int small_smb_init_no_tc(const int smb_cmd, const int wct,
73 struct cifsSesInfo *ses, 73 struct cifsSesInfo *ses,
74 void ** request_buf); 74 void ** request_buf);
75extern int CIFS_SessSetup(unsigned int xid, struct cifsSesInfo *ses, 75extern int CIFS_SessSetup(unsigned int xid, struct cifsSesInfo *ses,
76 const int stage, 76 const int stage,
77 const struct nls_table *nls_cp); 77 const struct nls_table *nls_cp);
78extern __u16 GetNextMid(struct TCP_Server_Info *server); 78extern __u16 GetNextMid(struct TCP_Server_Info *server);
79extern struct oplock_q_entry * AllocOplockQEntry(struct inode *, u16, 79extern struct oplock_q_entry * AllocOplockQEntry(struct inode *, u16,
80 struct cifsTconInfo *); 80 struct cifsTconInfo *);
81extern void DeleteOplockQEntry(struct oplock_q_entry *); 81extern void DeleteOplockQEntry(struct oplock_q_entry *);
82extern struct timespec cifs_NTtimeToUnix(u64 /* utc nanoseconds since 1601 */ ); 82extern struct timespec cifs_NTtimeToUnix(u64 /* utc nanoseconds since 1601 */ );
@@ -85,12 +85,12 @@ extern __le64 cnvrtDosCifsTm(__u16 date, __u16 time);
85extern struct timespec cnvrtDosUnixTm(__u16 date, __u16 time); 85extern struct timespec cnvrtDosUnixTm(__u16 date, __u16 time);
86 86
87extern int cifs_get_inode_info(struct inode **pinode, 87extern int cifs_get_inode_info(struct inode **pinode,
88 const unsigned char *search_path, 88 const unsigned char *search_path,
89 FILE_ALL_INFO * pfile_info, 89 FILE_ALL_INFO * pfile_info,
90 struct super_block *sb, int xid); 90 struct super_block *sb, int xid);
91extern int cifs_get_inode_info_unix(struct inode **pinode, 91extern int cifs_get_inode_info_unix(struct inode **pinode,
92 const unsigned char *search_path, 92 const unsigned char *search_path,
93 struct super_block *sb,int xid); 93 struct super_block *sb, int xid);
94 94
95extern int cifs_mount(struct super_block *, struct cifs_sb_info *, char *, 95extern int cifs_mount(struct super_block *, struct cifs_sb_info *, char *,
96 const char *); 96 const char *);
@@ -98,8 +98,8 @@ extern int cifs_umount(struct super_block *, struct cifs_sb_info *);
98void cifs_proc_init(void); 98void cifs_proc_init(void);
99void cifs_proc_clean(void); 99void cifs_proc_clean(void);
100 100
101extern int cifs_setup_session(unsigned int xid, struct cifsSesInfo *pSesInfo, 101extern int cifs_setup_session(unsigned int xid, struct cifsSesInfo *pSesInfo,
102 struct nls_table * nls_info); 102 struct nls_table *nls_info);
103extern int CIFSSMBNegotiate(unsigned int xid, struct cifsSesInfo *ses); 103extern int CIFSSMBNegotiate(unsigned int xid, struct cifsSesInfo *ses);
104 104
105extern int CIFSTCon(unsigned int xid, struct cifsSesInfo *ses, 105extern int CIFSTCon(unsigned int xid, struct cifsSesInfo *ses,
@@ -108,11 +108,11 @@ extern int CIFSTCon(unsigned int xid, struct cifsSesInfo *ses,
108 108
109extern int CIFSFindFirst(const int xid, struct cifsTconInfo *tcon, 109extern int CIFSFindFirst(const int xid, struct cifsTconInfo *tcon,
110 const char *searchName, const struct nls_table *nls_codepage, 110 const char *searchName, const struct nls_table *nls_codepage,
111 __u16 *searchHandle, struct cifs_search_info * psrch_inf, 111 __u16 *searchHandle, struct cifs_search_info *psrch_inf,
112 int map, const char dirsep); 112 int map, const char dirsep);
113 113
114extern int CIFSFindNext(const int xid, struct cifsTconInfo *tcon, 114extern int CIFSFindNext(const int xid, struct cifsTconInfo *tcon,
115 __u16 searchHandle, struct cifs_search_info * psrch_inf); 115 __u16 searchHandle, struct cifs_search_info *psrch_inf);
116 116
117extern int CIFSFindClose(const int, struct cifsTconInfo *tcon, 117extern int CIFSFindClose(const int, struct cifsTconInfo *tcon,
118 const __u16 search_handle); 118 const __u16 search_handle);
@@ -123,9 +123,9 @@ extern int CIFSSMBQPathInfo(const int xid, struct cifsTconInfo *tcon,
123 int legacy /* whether to use old info level */, 123 int legacy /* whether to use old info level */,
124 const struct nls_table *nls_codepage, int remap); 124 const struct nls_table *nls_codepage, int remap);
125extern int SMBQueryInformation(const int xid, struct cifsTconInfo *tcon, 125extern int SMBQueryInformation(const int xid, struct cifsTconInfo *tcon,
126 const unsigned char *searchName, 126 const unsigned char *searchName,
127 FILE_ALL_INFO * findData, 127 FILE_ALL_INFO *findData,
128 const struct nls_table *nls_codepage, int remap); 128 const struct nls_table *nls_codepage, int remap);
129 129
130extern int CIFSSMBUnixQPathInfo(const int xid, 130extern int CIFSSMBUnixQPathInfo(const int xid,
131 struct cifsTconInfo *tcon, 131 struct cifsTconInfo *tcon,
@@ -143,13 +143,13 @@ extern int connect_to_dfs_path(int xid, struct cifsSesInfo *pSesInfo,
143 const char *old_path, 143 const char *old_path,
144 const struct nls_table *nls_codepage, int remap); 144 const struct nls_table *nls_codepage, int remap);
145extern int get_dfs_path(int xid, struct cifsSesInfo *pSesInfo, 145extern int get_dfs_path(int xid, struct cifsSesInfo *pSesInfo,
146 const char *old_path, 146 const char *old_path,
147 const struct nls_table *nls_codepage, 147 const struct nls_table *nls_codepage,
148 unsigned int *pnum_referrals, 148 unsigned int *pnum_referrals,
149 unsigned char ** preferrals, 149 unsigned char ** preferrals,
150 int remap); 150 int remap);
151extern void reset_cifs_unix_caps(int xid, struct cifsTconInfo *tcon, 151extern void reset_cifs_unix_caps(int xid, struct cifsTconInfo *tcon,
152 struct super_block * sb, struct smb_vol * vol); 152 struct super_block *sb, struct smb_vol *vol);
153extern int CIFSSMBQFSInfo(const int xid, struct cifsTconInfo *tcon, 153extern int CIFSSMBQFSInfo(const int xid, struct cifsTconInfo *tcon,
154 struct kstatfs *FSData); 154 struct kstatfs *FSData);
155extern int SMBOldQFSInfo(const int xid, struct cifsTconInfo *tcon, 155extern int SMBOldQFSInfo(const int xid, struct cifsTconInfo *tcon,
@@ -181,11 +181,11 @@ extern int CIFSSMBSetEOF(const int xid, struct cifsTconInfo *tcon,
181 const struct nls_table *nls_codepage, 181 const struct nls_table *nls_codepage,
182 int remap_special_chars); 182 int remap_special_chars);
183extern int CIFSSMBSetFileSize(const int xid, struct cifsTconInfo *tcon, 183extern int CIFSSMBSetFileSize(const int xid, struct cifsTconInfo *tcon,
184 __u64 size, __u16 fileHandle,__u32 opener_pid, 184 __u64 size, __u16 fileHandle, __u32 opener_pid,
185 int AllocSizeFlag); 185 int AllocSizeFlag);
186extern int CIFSSMBUnixSetPerms(const int xid, struct cifsTconInfo *pTcon, 186extern int CIFSSMBUnixSetPerms(const int xid, struct cifsTconInfo *pTcon,
187 char *full_path, __u64 mode, __u64 uid, 187 char *full_path, __u64 mode, __u64 uid,
188 __u64 gid, dev_t dev, 188 __u64 gid, dev_t dev,
189 const struct nls_table *nls_codepage, 189 const struct nls_table *nls_codepage,
190 int remap_special_chars); 190 int remap_special_chars);
191 191
@@ -205,8 +205,8 @@ extern int CIFSSMBRename(const int xid, struct cifsTconInfo *tcon,
205 const char *fromName, const char *toName, 205 const char *fromName, const char *toName,
206 const struct nls_table *nls_codepage, 206 const struct nls_table *nls_codepage,
207 int remap_special_chars); 207 int remap_special_chars);
208extern int CIFSSMBRenameOpenFile(const int xid,struct cifsTconInfo *pTcon, 208extern int CIFSSMBRenameOpenFile(const int xid, struct cifsTconInfo *pTcon,
209 int netfid, char * target_name, 209 int netfid, char *target_name,
210 const struct nls_table *nls_codepage, 210 const struct nls_table *nls_codepage,
211 int remap_special_chars); 211 int remap_special_chars);
212extern int CIFSCreateHardLink(const int xid, 212extern int CIFSCreateHardLink(const int xid,
@@ -217,7 +217,7 @@ extern int CIFSCreateHardLink(const int xid,
217extern int CIFSUnixCreateHardLink(const int xid, 217extern int CIFSUnixCreateHardLink(const int xid,
218 struct cifsTconInfo *tcon, 218 struct cifsTconInfo *tcon,
219 const char *fromName, const char *toName, 219 const char *fromName, const char *toName,
220 const struct nls_table *nls_codepage, 220 const struct nls_table *nls_codepage,
221 int remap_special_chars); 221 int remap_special_chars);
222extern int CIFSUnixCreateSymLink(const int xid, 222extern int CIFSUnixCreateSymLink(const int xid,
223 struct cifsTconInfo *tcon, 223 struct cifsTconInfo *tcon,
@@ -228,7 +228,7 @@ extern int CIFSSMBUnixQuerySymLink(const int xid,
228 const unsigned char *searchName, 228 const unsigned char *searchName,
229 char *syminfo, const int buflen, 229 char *syminfo, const int buflen,
230 const struct nls_table *nls_codepage); 230 const struct nls_table *nls_codepage);
231extern int CIFSSMBQueryReparseLinkInfo(const int xid, 231extern int CIFSSMBQueryReparseLinkInfo(const int xid,
232 struct cifsTconInfo *tcon, 232 struct cifsTconInfo *tcon,
233 const unsigned char *searchName, 233 const unsigned char *searchName,
234 char *symlinkinfo, const int buflen, __u16 fid, 234 char *symlinkinfo, const int buflen, __u16 fid,
@@ -244,35 +244,35 @@ extern int SMBLegacyOpen(const int xid, struct cifsTconInfo *tcon,
244 const int access_flags, const int omode, 244 const int access_flags, const int omode,
245 __u16 * netfid, int *pOplock, FILE_ALL_INFO *, 245 __u16 * netfid, int *pOplock, FILE_ALL_INFO *,
246 const struct nls_table *nls_codepage, int remap); 246 const struct nls_table *nls_codepage, int remap);
247extern int CIFSPOSIXCreate(const int xid, struct cifsTconInfo *tcon, 247extern int CIFSPOSIXCreate(const int xid, struct cifsTconInfo *tcon,
248 u32 posix_flags, __u64 mode, __u16 * netfid, 248 u32 posix_flags, __u64 mode, __u16 * netfid,
249 FILE_UNIX_BASIC_INFO *pRetData, 249 FILE_UNIX_BASIC_INFO *pRetData,
250 __u32 *pOplock, const char *name, 250 __u32 *pOplock, const char *name,
251 const struct nls_table *nls_codepage, int remap); 251 const struct nls_table *nls_codepage, int remap);
252extern int CIFSSMBClose(const int xid, struct cifsTconInfo *tcon, 252extern int CIFSSMBClose(const int xid, struct cifsTconInfo *tcon,
253 const int smb_file_id); 253 const int smb_file_id);
254 254
255extern int CIFSSMBRead(const int xid, struct cifsTconInfo *tcon, 255extern int CIFSSMBRead(const int xid, struct cifsTconInfo *tcon,
256 const int netfid, unsigned int count, 256 const int netfid, unsigned int count,
257 const __u64 lseek, unsigned int *nbytes, char **buf, 257 const __u64 lseek, unsigned int *nbytes, char **buf,
258 int * return_buf_type); 258 int *return_buf_type);
259extern int CIFSSMBWrite(const int xid, struct cifsTconInfo *tcon, 259extern int CIFSSMBWrite(const int xid, struct cifsTconInfo *tcon,
260 const int netfid, const unsigned int count, 260 const int netfid, const unsigned int count,
261 const __u64 lseek, unsigned int *nbytes, 261 const __u64 lseek, unsigned int *nbytes,
262 const char *buf, const char __user *ubuf, 262 const char *buf, const char __user *ubuf,
263 const int long_op); 263 const int long_op);
264extern int CIFSSMBWrite2(const int xid, struct cifsTconInfo *tcon, 264extern int CIFSSMBWrite2(const int xid, struct cifsTconInfo *tcon,
265 const int netfid, const unsigned int count, 265 const int netfid, const unsigned int count,
266 const __u64 offset, unsigned int *nbytes, 266 const __u64 offset, unsigned int *nbytes,
267 struct kvec *iov, const int nvec, const int long_op); 267 struct kvec *iov, const int nvec, const int long_op);
268extern int CIFSGetSrvInodeNumber(const int xid, struct cifsTconInfo *tcon, 268extern int CIFSGetSrvInodeNumber(const int xid, struct cifsTconInfo *tcon,
269 const unsigned char *searchName, __u64 * inode_number, 269 const unsigned char *searchName, __u64 * inode_number,
270 const struct nls_table *nls_codepage, 270 const struct nls_table *nls_codepage,
271 int remap_special_chars); 271 int remap_special_chars);
272extern int cifs_convertUCSpath(char *target, const __le16 *source, int maxlen, 272extern int cifs_convertUCSpath(char *target, const __le16 *source, int maxlen,
273 const struct nls_table * codepage); 273 const struct nls_table *codepage);
274extern int cifsConvertToUCS(__le16 * target, const char *source, int maxlen, 274extern int cifsConvertToUCS(__le16 *target, const char *source, int maxlen,
275 const struct nls_table * cp, int mapChars); 275 const struct nls_table *cp, int mapChars);
276 276
277extern int CIFSSMBLock(const int xid, struct cifsTconInfo *tcon, 277extern int CIFSSMBLock(const int xid, struct cifsTconInfo *tcon,
278 const __u16 netfid, const __u64 len, 278 const __u16 netfid, const __u64 len,
@@ -281,7 +281,7 @@ extern int CIFSSMBLock(const int xid, struct cifsTconInfo *tcon,
281 const int waitFlag); 281 const int waitFlag);
282extern int CIFSSMBPosixLock(const int xid, struct cifsTconInfo *tcon, 282extern int CIFSSMBPosixLock(const int xid, struct cifsTconInfo *tcon,
283 const __u16 smb_file_id, const int get_flag, 283 const __u16 smb_file_id, const int get_flag,
284 const __u64 len, struct file_lock *, 284 const __u64 len, struct file_lock *,
285 const __u16 lock_type, const int waitFlag); 285 const __u16 lock_type, const int waitFlag);
286extern int CIFSSMBTDis(const int xid, struct cifsTconInfo *tcon); 286extern int CIFSSMBTDis(const int xid, struct cifsTconInfo *tcon);
287extern int CIFSSMBLogoff(const int xid, struct cifsSesInfo *ses); 287extern int CIFSSMBLogoff(const int xid, struct cifsSesInfo *ses);
@@ -291,19 +291,19 @@ extern void sesInfoFree(struct cifsSesInfo *);
291extern struct cifsTconInfo *tconInfoAlloc(void); 291extern struct cifsTconInfo *tconInfoAlloc(void);
292extern void tconInfoFree(struct cifsTconInfo *); 292extern void tconInfoFree(struct cifsTconInfo *);
293 293
294extern int cifs_sign_smb(struct smb_hdr *, struct TCP_Server_Info *,__u32 *); 294extern int cifs_sign_smb(struct smb_hdr *, struct TCP_Server_Info *, __u32 *);
295extern int cifs_sign_smb2(struct kvec *iov, int n_vec, struct TCP_Server_Info *, 295extern int cifs_sign_smb2(struct kvec *iov, int n_vec, struct TCP_Server_Info *,
296 __u32 *); 296 __u32 *);
297extern int cifs_verify_signature(struct smb_hdr *, const char * mac_key, 297extern int cifs_verify_signature(struct smb_hdr *, const char *mac_key,
298 __u32 expected_sequence_number); 298 __u32 expected_sequence_number);
299extern int cifs_calculate_mac_key(char * key,const char * rn,const char * pass); 299extern int cifs_calculate_mac_key(char *key, const char *rn, const char *pass);
300extern int CalcNTLMv2_partial_mac_key(struct cifsSesInfo *, 300extern int CalcNTLMv2_partial_mac_key(struct cifsSesInfo *,
301 const struct nls_table *); 301 const struct nls_table *);
302extern void CalcNTLMv2_response(const struct cifsSesInfo *, char * ); 302extern void CalcNTLMv2_response(const struct cifsSesInfo *, char * );
303extern void setup_ntlmv2_rsp(struct cifsSesInfo *, char *, 303extern void setup_ntlmv2_rsp(struct cifsSesInfo *, char *,
304 const struct nls_table *); 304 const struct nls_table *);
305#ifdef CONFIG_CIFS_WEAK_PW_HASH 305#ifdef CONFIG_CIFS_WEAK_PW_HASH
306extern void calc_lanman_hash(struct cifsSesInfo * ses, char * lnm_session_key); 306extern void calc_lanman_hash(struct cifsSesInfo *ses, char *lnm_session_key);
307#endif /* CIFS_WEAK_PW_HASH */ 307#endif /* CIFS_WEAK_PW_HASH */
308extern int CIFSSMBCopy(int xid, 308extern int CIFSSMBCopy(int xid,
309 struct cifsTconInfo *source_tcon, 309 struct cifsTconInfo *source_tcon,
@@ -313,32 +313,32 @@ extern int CIFSSMBCopy(int xid,
313 const struct nls_table *nls_codepage, 313 const struct nls_table *nls_codepage,
314 int remap_special_chars); 314 int remap_special_chars);
315extern int CIFSSMBNotify(const int xid, struct cifsTconInfo *tcon, 315extern int CIFSSMBNotify(const int xid, struct cifsTconInfo *tcon,
316 const int notify_subdirs,const __u16 netfid, 316 const int notify_subdirs, const __u16 netfid,
317 __u32 filter, struct file * file, int multishot, 317 __u32 filter, struct file *file, int multishot,
318 const struct nls_table *nls_codepage); 318 const struct nls_table *nls_codepage);
319extern ssize_t CIFSSMBQAllEAs(const int xid, struct cifsTconInfo *tcon, 319extern ssize_t CIFSSMBQAllEAs(const int xid, struct cifsTconInfo *tcon,
320 const unsigned char *searchName, char * EAData, 320 const unsigned char *searchName, char *EAData,
321 size_t bufsize, const struct nls_table *nls_codepage, 321 size_t bufsize, const struct nls_table *nls_codepage,
322 int remap_special_chars); 322 int remap_special_chars);
323extern ssize_t CIFSSMBQueryEA(const int xid,struct cifsTconInfo * tcon, 323extern ssize_t CIFSSMBQueryEA(const int xid, struct cifsTconInfo *tcon,
324 const unsigned char * searchName,const unsigned char * ea_name, 324 const unsigned char * searchName, const unsigned char *ea_name,
325 unsigned char * ea_value, size_t buf_size, 325 unsigned char *ea_value, size_t buf_size,
326 const struct nls_table *nls_codepage, int remap_special_chars); 326 const struct nls_table *nls_codepage, int remap_special_chars);
327extern int CIFSSMBSetEA(const int xid, struct cifsTconInfo *tcon, 327extern int CIFSSMBSetEA(const int xid, struct cifsTconInfo *tcon,
328 const char *fileName, const char * ea_name, 328 const char *fileName, const char *ea_name,
329 const void * ea_value, const __u16 ea_value_len, 329 const void *ea_value, const __u16 ea_value_len,
330 const struct nls_table *nls_codepage, int remap_special_chars); 330 const struct nls_table *nls_codepage, int remap_special_chars);
331extern int CIFSSMBGetCIFSACL(const int xid, struct cifsTconInfo *tcon, 331extern int CIFSSMBGetCIFSACL(const int xid, struct cifsTconInfo *tcon,
332 __u16 fid, char *acl_inf, const int buflen, 332 __u16 fid, char *acl_inf, const int buflen,
333 const int acl_type /* ACCESS vs. DEFAULT */); 333 const int acl_type /* ACCESS vs. DEFAULT */);
334extern int CIFSSMBGetPosixACL(const int xid, struct cifsTconInfo *tcon, 334extern int CIFSSMBGetPosixACL(const int xid, struct cifsTconInfo *tcon,
335 const unsigned char *searchName, 335 const unsigned char *searchName,
336 char *acl_inf, const int buflen,const int acl_type, 336 char *acl_inf, const int buflen, const int acl_type,
337 const struct nls_table *nls_codepage, int remap_special_chars); 337 const struct nls_table *nls_codepage, int remap_special_chars);
338extern int CIFSSMBSetPosixACL(const int xid, struct cifsTconInfo *tcon, 338extern int CIFSSMBSetPosixACL(const int xid, struct cifsTconInfo *tcon,
339 const unsigned char *fileName, 339 const unsigned char *fileName,
340 const char *local_acl, const int buflen, const int acl_type, 340 const char *local_acl, const int buflen, const int acl_type,
341 const struct nls_table *nls_codepage, int remap_special_chars); 341 const struct nls_table *nls_codepage, int remap_special_chars);
342extern int CIFSGetExtAttr(const int xid, struct cifsTconInfo *tcon, 342extern int CIFSGetExtAttr(const int xid, struct cifsTconInfo *tcon,
343 const int netfid, __u64 * pExtAttrBits, __u64 *pMask); 343 const int netfid, __u64 * pExtAttrBits, __u64 *pMask);
344#endif /* _CIFSPROTO_H */ 344#endif /* _CIFSPROTO_H */
diff --git a/fs/cifs/ntlmssp.h b/fs/cifs/ntlmssp.h
index d39b712a11c5..77bcf7ae763d 100644
--- a/fs/cifs/ntlmssp.h
+++ b/fs/cifs/ntlmssp.h
@@ -1,7 +1,7 @@
1/* 1/*
2 * fs/cifs/ntlmssp.h 2 * fs/cifs/ntlmssp.h
3 * 3 *
4 * Copyright (c) International Business Machines Corp., 2002,2006 4 * Copyright (c) International Business Machines Corp., 2002,2007
5 * Author(s): Steve French (sfrench@us.ibm.com) 5 * Author(s): Steve French (sfrench@us.ibm.com)
6 * 6 *
7 * This library is free software; you can redistribute it and/or modify 7 * This library is free software; you can redistribute it and/or modify
@@ -27,18 +27,18 @@
27#define UnknownMessage cpu_to_le32(8) 27#define UnknownMessage cpu_to_le32(8)
28 28
29/* Negotiate Flags */ 29/* Negotiate Flags */
30#define NTLMSSP_NEGOTIATE_UNICODE 0x01 // Text strings are in unicode 30#define NTLMSSP_NEGOTIATE_UNICODE 0x01 /* Text strings are in unicode */
31#define NTLMSSP_NEGOTIATE_OEM 0x02 // Text strings are in OEM 31#define NTLMSSP_NEGOTIATE_OEM 0x02 /* Text strings are in OEM */
32#define NTLMSSP_REQUEST_TARGET 0x04 // Server return its auth realm 32#define NTLMSSP_REQUEST_TARGET 0x04 /* Server return its auth realm */
33#define NTLMSSP_NEGOTIATE_SIGN 0x0010 // Request signature capability 33#define NTLMSSP_NEGOTIATE_SIGN 0x0010 /* Request signature capability */
34#define NTLMSSP_NEGOTIATE_SEAL 0x0020 // Request confidentiality 34#define NTLMSSP_NEGOTIATE_SEAL 0x0020 /* Request confidentiality */
35#define NTLMSSP_NEGOTIATE_DGRAM 0x0040 35#define NTLMSSP_NEGOTIATE_DGRAM 0x0040
36#define NTLMSSP_NEGOTIATE_LM_KEY 0x0080 // Use LM session key for sign/seal 36#define NTLMSSP_NEGOTIATE_LM_KEY 0x0080 /* Sign/seal use LM session key */
37#define NTLMSSP_NEGOTIATE_NTLM 0x0200 // NTLM authentication 37#define NTLMSSP_NEGOTIATE_NTLM 0x0200 /* NTLM authentication */
38#define NTLMSSP_NEGOTIATE_DOMAIN_SUPPLIED 0x1000 38#define NTLMSSP_NEGOTIATE_DOMAIN_SUPPLIED 0x1000
39#define NTLMSSP_NEGOTIATE_WORKSTATION_SUPPLIED 0x2000 39#define NTLMSSP_NEGOTIATE_WORKSTATION_SUPPLIED 0x2000
40#define NTLMSSP_NEGOTIATE_LOCAL_CALL 0x4000 // client/server on same machine 40#define NTLMSSP_NEGOTIATE_LOCAL_CALL 0x4000 /* client/server on same machine */
41#define NTLMSSP_NEGOTIATE_ALWAYS_SIGN 0x8000 // Sign for all security levels 41#define NTLMSSP_NEGOTIATE_ALWAYS_SIGN 0x8000 /* Sign for all security levels */
42#define NTLMSSP_TARGET_TYPE_DOMAIN 0x10000 42#define NTLMSSP_TARGET_TYPE_DOMAIN 0x10000
43#define NTLMSSP_TARGET_TYPE_SERVER 0x20000 43#define NTLMSSP_TARGET_TYPE_SERVER 0x20000
44#define NTLMSSP_TARGET_TYPE_SHARE 0x40000 44#define NTLMSSP_TARGET_TYPE_SHARE 0x40000