1 /* 2 * smb.h 3 * 4 * Copyright (C) 1995, 1996 by Paal-Kr. Engstad and Volker Lendecke 5 * Copyright (C) 1997 by Volker Lendecke 6 * 7 */ 8 9 #ifndef _LINUX_SMB_H 10 #define _LINUX_SMB_H 11 12 #include <linux/types.h> 13 #include <linux/magic.h> 14 #include <linux/time.h> 15 16 enum smb_protocol { 17 SMB_PROTOCOL_NONE, 18 SMB_PROTOCOL_CORE, 19 SMB_PROTOCOL_COREPLUS, 20 SMB_PROTOCOL_LANMAN1, 21 SMB_PROTOCOL_LANMAN2, 22 SMB_PROTOCOL_NT1 23 }; 24 25 enum smb_case_hndl { 26 SMB_CASE_DEFAULT, 27 SMB_CASE_LOWER, 28 SMB_CASE_UPPER 29 }; 30 31 struct smb_dskattr { 32 __u16 total; 33 __u16 allocblocks; 34 __u16 blocksize; 35 __u16 free; 36 }; 37 38 struct smb_conn_opt { 39 40 /* The socket */ 41 unsigned int fd; 42 43 enum smb_protocol protocol; 44 enum smb_case_hndl case_handling; 45 46 /* Connection-Options */ 47 48 __u32 max_xmit; 49 __u16 server_uid; 50 __u16 tid; 51 52 /* The following are LANMAN 1.0 options */ 53 __u16 secmode; 54 __u16 maxmux; 55 __u16 maxvcs; 56 __u16 rawmode; 57 __u32 sesskey; 58 59 /* The following are NT LM 0.12 options */ 60 __u32 maxraw; 61 __u32 capabilities; 62 __s16 serverzone; 63 }; 64 65 #endif 66