root/include/linux/nfs_fs.h

/* [previous][next][first][last][top][bottom][index][help] */

INCLUDED FROM


   1 #ifndef _LINUX_NFS_FS_H
   2 #define _LINUX_NFS_FS_H
   3 
   4 /*
   5  *  linux/include/linux/nfs_fs.h
   6  *
   7  *  Copyright (C) 1992  Rick Sladkey
   8  *
   9  *  OS-specific nfs filesystem definitions and declarations
  10  */
  11 
  12 #include <linux/nfs.h>
  13 
  14 #include <linux/in.h>
  15 #include <linux/nfs_mount.h>
  16 
  17 /*
  18  * The readdir cache size controls how many directory entries are cached.
  19  * Its size is limited by the number of nfs_entry structures that can fit
  20  * in one page, currently, the limit is 256 when using 4KB pages.
  21  */
  22 
  23 #define NFS_READDIR_CACHE_SIZE          64
  24 
  25 #define NFS_MAX_FILE_IO_BUFFER_SIZE     16384
  26 #define NFS_DEF_FILE_IO_BUFFER_SIZE     1024
  27 
  28 /*
  29  * The upper limit on timeouts for the exponential backoff algorithm.
  30  */
  31 
  32 #define NFS_MAX_RPC_TIMEOUT             (6*HZ)
  33 
  34 /*
  35  * Size of the lookup cache in units of number of entries cached.
  36  * It is better not to make this too large although the optimum
  37  * depends on a usage and environment.
  38  */
  39 
  40 #define NFS_LOOKUP_CACHE_SIZE           64
  41 
  42 #define NFS_SUPER_MAGIC                 0x6969
  43 
  44 #define NFS_SERVER(inode)               (&(inode)->i_sb->u.nfs_sb.s_server)
  45 #define NFS_FH(inode)                   (&(inode)->u.nfs_i.fhandle)
  46 #define NFS_READTIME(inode)             ((inode)->u.nfs_i.read_cache_jiffies)
  47 #define NFS_OLDMTIME(inode)             ((inode)->u.nfs_i.read_cache_mtime)
  48 #define NFS_CACHEINV(inode) \
  49 do { \
  50         NFS_READTIME(inode) = jiffies - 1000000; \
  51         NFS_OLDMTIME(inode) = 0; \
  52 } while (0)
  53 
  54 
  55 #ifdef __KERNEL__
  56 
  57 /* linux/fs/nfs/proc.c */
  58 
  59 extern int nfs_proc_getattr(struct nfs_server *server, struct nfs_fh *fhandle,
  60                             struct nfs_fattr *fattr);
  61 extern int nfs_proc_setattr(struct nfs_server *server, struct nfs_fh *fhandle,
  62                             struct nfs_sattr *sattr, struct nfs_fattr *fattr);
  63 extern int nfs_proc_lookup(struct nfs_server *server, struct nfs_fh *dir,
  64                            const char *name, struct nfs_fh *fhandle,
  65                            struct nfs_fattr *fattr);
  66 extern int nfs_proc_readlink(struct nfs_server *server, struct nfs_fh *fhandle,
  67                         int **p0, char **string, unsigned int *len,
  68                         unsigned int maxlen);
  69 extern int nfs_proc_read(struct nfs_server *server, struct nfs_fh *fhandle,
  70                          int offset, int count, char *data,
  71                          struct nfs_fattr *fattr);
  72 extern int nfs_proc_write(struct inode * inode, int offset,
  73                           int count, const char *data, struct nfs_fattr *fattr);
  74 extern int nfs_proc_create(struct nfs_server *server, struct nfs_fh *dir,
  75                            const char *name, struct nfs_sattr *sattr,
  76                            struct nfs_fh *fhandle, struct nfs_fattr *fattr);
  77 extern int nfs_proc_remove(struct nfs_server *server, struct nfs_fh *dir,
  78                            const char *name);
  79 extern int nfs_proc_rename(struct nfs_server *server,
  80                            struct nfs_fh *old_dir, const char *old_name,
  81                            struct nfs_fh *new_dir, const char *new_name);
  82 extern int nfs_proc_link(struct nfs_server *server, struct nfs_fh *fhandle,
  83                          struct nfs_fh *dir, const char *name);
  84 extern int nfs_proc_symlink(struct nfs_server *server, struct nfs_fh *dir,
  85                             const char *name, const char *path, struct nfs_sattr *sattr);
  86 extern int nfs_proc_mkdir(struct nfs_server *server, struct nfs_fh *dir,
  87                           const char *name, struct nfs_sattr *sattr,
  88                           struct nfs_fh *fhandle, struct nfs_fattr *fattr);
  89 extern int nfs_proc_rmdir(struct nfs_server *server, struct nfs_fh *dir,
  90                           const char *name);
  91 extern int nfs_proc_readdir(struct nfs_server *server, struct nfs_fh *fhandle,
  92                             int cookie, int count, struct nfs_entry *entry);
  93 extern int nfs_proc_statfs(struct nfs_server *server, struct nfs_fh *fhandle,
  94                             struct nfs_fsinfo *res);
  95 extern int nfs_proc_read_request(struct rpc_ioreq *, struct nfs_server *,
  96                                  struct nfs_fh *, unsigned long offset,
  97                                  unsigned long count, __u32 *buf);
  98 extern int nfs_proc_read_reply(struct rpc_ioreq *);
  99 extern int *rpc_header(int *p, int procedure, int program, int version,
 100                                 int uid, int gid, int *groups);
 101 extern int *rpc_verify(int *p);
 102 
 103 /* linux/fs/nfs/sock.c */
 104 
 105 extern int nfs_rpc_call(struct nfs_server *server, int *start,
 106                                 int *end, int size);
 107 extern int nfs_rpc_doio(struct nfs_server *server, struct rpc_ioreq *,
 108                                 int async);
 109 
 110 /* linux/fs/nfs/inode.c */
 111 
 112 extern struct super_block *nfs_read_super(struct super_block *sb, 
 113                                           void *data,int);
 114 extern int init_nfs_fs(void);
 115 extern struct inode *nfs_fhget(struct super_block *sb, struct nfs_fh *fhandle,
 116                                struct nfs_fattr *fattr);
 117 extern void nfs_refresh_inode(struct inode *inode, struct nfs_fattr *fattr);
 118 
 119 /* linux/fs/nfs/file.c */
 120 
 121 extern struct inode_operations nfs_file_inode_operations;
 122 
 123 /* linux/fs/nfs/dir.c */
 124 
 125 extern struct inode_operations nfs_dir_inode_operations;
 126 extern void nfs_kfree_cache(void);
 127 
 128 /* linux/fs/nfs/symlink.c */
 129 
 130 extern struct inode_operations nfs_symlink_inode_operations;
 131 
 132 /* linux/fs/nfs/mmap.c */
 133 
 134 extern int nfs_mmap(struct inode * inode, struct file * file, struct vm_area_struct * vma);
 135 
 136 /* linux/fs/nfs/bio.c */
 137 
 138 extern int nfs_readpage(struct inode *, struct page *);
 139 
 140 /* NFS root */
 141 
 142 #define NFS_ROOT                "/tftpboot/%s"
 143 #define NFS_ROOT_NAME_LEN       256
 144 #define NFS_ROOT_ADDRS_LEN      128
 145 
 146 extern int nfs_root_mount(struct super_block *sb);
 147 extern int nfs_root_init(char *nfsname, char *nfsaddrs);
 148 extern char nfs_root_name[];
 149 extern char nfs_root_addrs[];
 150 
 151 #endif /* __KERNEL__ */
 152 
 153 #endif

/* [previous][next][first][last][top][bottom][index][help] */