Home | History | Annotate | Download | only in linux
      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 
     15 enum smb_protocol {
     16 	SMB_PROTOCOL_NONE,
     17 	SMB_PROTOCOL_CORE,
     18 	SMB_PROTOCOL_COREPLUS,
     19 	SMB_PROTOCOL_LANMAN1,
     20 	SMB_PROTOCOL_LANMAN2,
     21 	SMB_PROTOCOL_NT1
     22 };
     23 
     24 enum smb_case_hndl {
     25 	SMB_CASE_DEFAULT,
     26 	SMB_CASE_LOWER,
     27 	SMB_CASE_UPPER
     28 };
     29 
     30 struct smb_dskattr {
     31         __u16 total;
     32         __u16 allocblocks;
     33         __u16 blocksize;
     34         __u16 free;
     35 };
     36 
     37 struct smb_conn_opt {
     38 
     39         /* The socket */
     40 	unsigned int fd;
     41 
     42 	enum smb_protocol protocol;
     43 	enum smb_case_hndl case_handling;
     44 
     45 	/* Connection-Options */
     46 
     47 	__u32              max_xmit;
     48 	__u16              server_uid;
     49 	__u16              tid;
     50 
     51         /* The following are LANMAN 1.0 options */
     52         __u16              secmode;
     53         __u16              maxmux;
     54         __u16              maxvcs;
     55         __u16              rawmode;
     56         __u32              sesskey;
     57 
     58 	/* The following are NT LM 0.12 options */
     59 	__u32              maxraw;
     60 	__u32              capabilities;
     61 	__s16              serverzone;
     62 };
     63 
     64 #endif
     65