Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at v2.6.32-rc2 97 lines 2.2 kB view raw
1/* 2 * smb_fs_sb.h 3 * 4 * Copyright (C) 1995 by Paal-Kr. Engstad and Volker Lendecke 5 * Copyright (C) 1997 by Volker Lendecke 6 * 7 */ 8 9#ifndef _SMB_FS_SB 10#define _SMB_FS_SB 11 12#include <linux/types.h> 13#include <linux/smb.h> 14 15/* 16 * Upper limit on the total number of active smb_request structs. 17 */ 18#define MAX_REQUEST_HARD 256 19 20enum smb_receive_state { 21 SMB_RECV_START, /* No data read, looking for length + sig */ 22 SMB_RECV_HEADER, /* Reading the header data */ 23 SMB_RECV_HCOMPLETE, /* Done with the header */ 24 SMB_RECV_PARAM, /* Reading parameter words */ 25 SMB_RECV_DATA, /* Reading data bytes */ 26 SMB_RECV_END, /* End of request */ 27 SMB_RECV_DROP, /* Dropping this SMB */ 28 SMB_RECV_REQUEST, /* Received a request and not a reply */ 29}; 30 31/* structure access macros */ 32#define server_from_inode(inode) SMB_SB((inode)->i_sb) 33#define server_from_dentry(dentry) SMB_SB((dentry)->d_sb) 34#define SB_of(server) ((server)->super_block) 35 36struct smb_sb_info { 37 /* List of all smbfs superblocks */ 38 struct list_head entry; 39 40 enum smb_conn_state state; 41 struct file * sock_file; 42 int conn_error; 43 enum smb_receive_state rstate; 44 45 atomic_t nr_requests; 46 struct list_head xmitq; 47 struct list_head recvq; 48 u16 mid; 49 50 struct smb_mount_data_kernel *mnt; 51 52 /* Connections are counted. Each time a new socket arrives, 53 * generation is incremented. 54 */ 55 unsigned int generation; 56 struct pid *conn_pid; 57 struct smb_conn_opt opt; 58 wait_queue_head_t conn_wq; 59 int conn_complete; 60 struct semaphore sem; 61 62 unsigned char header[SMB_HEADER_LEN + 20*2 + 2]; 63 u32 header_len; 64 u32 smb_len; 65 u32 smb_read; 66 67 /* We use our own data_ready callback, but need the original one */ 68 void *data_ready; 69 70 /* nls pointers for codepage conversions */ 71 struct nls_table *remote_nls; 72 struct nls_table *local_nls; 73 74 struct smb_ops *ops; 75 76 struct super_block *super_block; 77}; 78 79static inline int 80smb_lock_server_interruptible(struct smb_sb_info *server) 81{ 82 return down_interruptible(&(server->sem)); 83} 84 85static inline void 86smb_lock_server(struct smb_sb_info *server) 87{ 88 down(&(server->sem)); 89} 90 91static inline void 92smb_unlock_server(struct smb_sb_info *server) 93{ 94 up(&(server->sem)); 95} 96 97#endif