~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

Linux Cross Reference
Linux/include/linux/smb.h

Version: ~ [ 2.4.0 ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  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 
 14 enum smb_protocol { 
 15         SMB_PROTOCOL_NONE, 
 16         SMB_PROTOCOL_CORE, 
 17         SMB_PROTOCOL_COREPLUS, 
 18         SMB_PROTOCOL_LANMAN1, 
 19         SMB_PROTOCOL_LANMAN2, 
 20         SMB_PROTOCOL_NT1 
 21 };
 22 
 23 enum smb_case_hndl {
 24         SMB_CASE_DEFAULT,
 25         SMB_CASE_LOWER,
 26         SMB_CASE_UPPER
 27 };
 28 
 29 struct smb_dskattr {
 30         __u16 total;
 31         __u16 allocblocks;
 32         __u16 blocksize;
 33         __u16 free;
 34 };
 35 
 36 struct smb_conn_opt {
 37 
 38         /* The socket */
 39         unsigned int fd;
 40 
 41         enum smb_protocol protocol;
 42         enum smb_case_hndl case_handling;
 43 
 44         /* Connection-Options */
 45 
 46         __u32              max_xmit;
 47         __u16              server_uid;
 48         __u16              tid;
 49 
 50         /* The following are LANMAN 1.0 options */
 51         __u16              secmode;
 52         __u16              maxmux;
 53         __u16              maxvcs;
 54         __u16              rawmode;
 55         __u32              sesskey;
 56 
 57         /* The following are NT LM 0.12 options */
 58         __u32              maxraw;
 59         __u32              capabilities;
 60         __s16              serverzone;
 61 };
 62 
 63 #ifdef __KERNEL__
 64 
 65 #define SMB_NLS_MAXNAMELEN 20
 66 struct smb_nls_codepage {
 67         char local_name[SMB_NLS_MAXNAMELEN];
 68         char remote_name[SMB_NLS_MAXNAMELEN];
 69 };
 70 
 71 
 72 #define SMB_MAXNAMELEN 255
 73 #define SMB_MAXPATHLEN 1024
 74 
 75 /*
 76  * Contains all relevant data on a SMB networked file.
 77  */
 78 struct smb_fattr {
 79 
 80         __u16 attr;
 81 
 82         unsigned long   f_ino;
 83         umode_t         f_mode;
 84         nlink_t         f_nlink;
 85         uid_t           f_uid;
 86         gid_t           f_gid;
 87         kdev_t          f_rdev;
 88         off_t           f_size;
 89         time_t          f_atime;
 90         time_t          f_mtime;
 91         time_t          f_ctime;
 92         unsigned long   f_blksize;
 93         unsigned long   f_blocks;
 94 };
 95 
 96 struct smb_dirent {
 97         struct smb_fattr attr;
 98 
 99         int f_pos;
100         int len;
101         __u8 name[SMB_MAXNAMELEN];
102 };
103 
104 enum smb_conn_state {
105         CONN_VALID,             /* everything's fine */
106         CONN_INVALID,           /* Something went wrong, but did not
107                                    try to reconnect yet. */
108         CONN_RETRIED            /* Tried a reconnection, but was refused */
109 };
110 
111 /*
112  * The readdir cache size controls how many directory entries are cached.
113  */
114 #define SMB_READDIR_CACHE_SIZE        64
115 
116 #define SMB_SUPER_MAGIC               0x517B
117 
118 #define SMB_SERVER(inode)    (&(inode->i_sb->u.smbfs_sb))
119 #define SMB_INOP(inode)      (&(inode->u.smbfs_i))
120 
121 #define SMB_HEADER_LEN   37     /* includes everything up to, but not
122                                  * including smb_bcc */
123 #define SMB_DEF_MAX_XMIT 32768
124 #define SMB_INITIAL_PACKET_SIZE 4000
125 
126 /* Allocate max. 1 page */
127 #define TRANS2_MAX_TRANSFER (4096-17)
128 
129 #endif
130 #endif
131 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.