patch-1.3.7 linux/include/linux/smb_fs.h
Next file: linux/include/linux/smb_fs_i.h
Previous file: linux/include/linux/smb.h
Back to the patch index
Back to the overall index
- Lines: 175
- Date:
Sat Jul 1 19:00:19 1995
- Orig file:
v1.3.6/linux/include/linux/smb_fs.h
- Orig date:
Thu Jan 1 02:00:00 1970
diff -u --recursive --new-file v1.3.6/linux/include/linux/smb_fs.h linux/include/linux/smb_fs.h
@@ -0,0 +1,174 @@
+/*
+ * smb_fs.h
+ *
+ * Copyright (C) 1995 by Paal-Kr. Engstad and Volker Lendecke
+ *
+ */
+
+#ifndef _LINUX_SMB_FS_H
+#define _LINUX_SMB_FS_H
+
+#include <linux/smb.h>
+#include <linux/fs.h>
+#include <linux/in.h>
+#include <linux/types.h>
+
+#include <linux/smb_mount.h>
+#include <linux/smb_fs_sb.h>
+#include <linux/smb_fs_i.h>
+
+/*
+ * ioctl commands
+ */
+#define SMB_IOC_GETMOUNTUID _IOR('u', 1, uid_t)
+
+#ifdef __KERNEL__
+
+/*
+ * The readdir cache size controls how many directory entries are cached.
+ */
+#define SMB_READDIR_CACHE_SIZE 64
+
+/*
+ * This defines the number of filenames cached in memory to avoid
+ * constructing filenames from \
+ */
+#define SMB_CACHE_TABLE_SIZE 64
+
+#define SMB_SUPER_MAGIC 0x517B
+
+
+
+#define SMB_SBP(sb) ((struct smb_sb_info *)(sb->u.generic_sbp))
+#define SMB_INOP(inode) ((struct smb_inode_info *)(inode->u.generic_ip))
+
+#define SMB_SERVER(inode) (&(SMB_SBP(inode->i_sb)->s_server))
+#define SMB_SERVATTR(inode) (&(SMB_SBP(inode->i_sb)->s_attr))
+
+#define SMB_FINFO(inode) (&(SMB_INOP(inode)->finfo))
+
+#define SMB_HEADER_LEN 37 /* includes everything up to, but not
+ * including smb_bcc */
+
+static inline int min(int a, int b) {
+ return a<b ? a : b;
+}
+
+#ifdef DEBUG_SMB_MALLOC
+
+#include <linux/malloc.h>
+
+extern int smb_malloced;
+extern int smb_current_malloced;
+
+static inline void *
+smb_kmalloc(unsigned int size, int priority)
+{
+ smb_malloced += 1;
+ smb_current_malloced += 1;
+ return kmalloc(size, priority);
+}
+
+static inline void
+smb_kfree_s(void *obj, int size)
+{
+ smb_current_malloced -= 1;
+ kfree_s(obj, size);
+}
+
+#else /* DEBUG_SMB_MALLOC */
+
+#define smb_kmalloc(s,p) kmalloc(s,p)
+#define smb_kfree_s(o,s) kfree_s(o,s)
+
+#endif /* DEBUG_SMB_MALLOC */
+
+#if DEBUG_SMB > 0
+#define DPRINTK(format, args...) printk(format , ## args)
+#else
+#define DPRINTK(format, args...)
+#endif
+
+#if DEBUG_SMB > 1
+#define DDPRINTK(format, args...) printk(format , ## args)
+#else
+#define DDPRINTK(format, args...)
+#endif
+
+
+/* linux/fs/smbfs/file.c */
+extern struct inode_operations smb_file_inode_operations;
+int smb_make_open(struct inode *i, int right);
+
+/* linux/fs/smbfs/dir.c */
+extern struct inode_operations smb_dir_inode_operations;
+void smb_free_inode_info(struct smb_inode_info *i);
+void smb_free_all_inodes(struct smb_server *server);
+int smb_init_root(struct smb_server *server);
+void smb_init_dir_cache(void);
+void smb_invalid_dir_cache(unsigned long ino);
+void smb_invalidate_all_inodes(struct smb_server *server);
+void smb_free_dir_cache(void);
+
+/* linux/fs/smbfs/ioctl.c */
+int smb_ioctl (struct inode * inode, struct file * filp,
+ unsigned int cmd, unsigned long arg);
+
+/* linux/fs/smbfs/inode.c */
+struct super_block *smb_read_super(struct super_block *sb,
+ void *raw_data, int silent);
+int smb_notify_change(struct inode *inode, struct iattr *attr);
+void smb_invalidate_connection(struct smb_server *server);
+int smb_conn_is_valid(struct smb_server *server);
+
+/* linux/fs/smbfs/proc.c */
+dword smb_len(unsigned char *packet);
+int smb_proc_open(struct smb_server *server, const char *pathname,
+ int len, struct smb_dirent *entry);
+int smb_proc_close(struct smb_server *server, struct smb_dirent *finfo);
+int smb_proc_read(struct smb_server *server, struct smb_dirent *finfo,
+ off_t offset, long count, char *data, int fs);
+int smb_proc_write(struct smb_server *server, struct smb_dirent *finfo,
+ off_t offset, int count, char *data);
+int smb_proc_create(struct smb_server *server, const char *path,
+ int len, struct smb_dirent *entry);
+int smb_proc_mknew(struct smb_server *server, const char *path, int len,
+ struct smb_dirent *entry);
+int smb_proc_mv(struct smb_server *server, const char *opath, const int olen,
+ const char *npath, const int nlen);
+int smb_proc_mkdir(struct smb_server *server, const char *path, const int len);
+int smb_proc_rmdir(struct smb_server *server, const char *path, const int len);
+int smb_proc_unlink(struct smb_server *server, const char *path,
+ const int len);
+int smb_proc_readdir(struct smb_server *server, struct inode *dir,
+ int fpos, int cache_size,
+ struct smb_dirent *entry);
+int smb_proc_getattr(struct smb_server *server, const char *path,
+ int len, struct smb_dirent *entry);
+int smb_proc_setattr(struct smb_server *server,
+ struct inode *ino,
+ struct smb_dirent *new_finfo);
+int smb_proc_chkpath(struct smb_server *server, char *path, int len,
+ int *result);
+int smb_proc_dskattr(struct super_block *super, struct smb_dskattr *attr);
+int smb_proc_reconnect(struct smb_server *server);
+int smb_proc_connect(struct smb_server *server);
+int smb_proc_disconnect(struct smb_server *server);
+int smb_proc_trunc(struct smb_server *server, word fid, dword length);
+
+/* linux/fs/smbfs/sock.c */
+int smb_release(struct smb_server *server);
+int smb_connect(struct smb_server *server);
+int smb_request(struct smb_server *server);
+int smb_catch_keepalive(struct smb_server *server);
+int smb_dont_catch_keepalive(struct smb_server *server);
+int smb_trans2_request(struct smb_server *server,
+ int *data_len, int *param_len,
+ char **data, char **param);
+
+/* linux/fs/smbfs/mmap.c */
+int smb_mmap(struct inode * inode, struct file * file, struct vm_area_struct * vma);
+
+#endif /* __KERNEL__ */
+
+#endif /* _LINUX_SMB_FS_H */
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov
with Sam's (original) version of this