root/include/linux/minix_fs.h

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

INCLUDED FROM


   1 /*
   2  * The minix filesystem constants/structures
   3  */
   4 
   5 #ifndef _MINIX_FS_H
   6 #define _MINIX_FS_H
   7 
   8 #include <sys/types.h>
   9 
  10 #define MINIX_NAME_LEN 14
  11 #define MINIX_ROOT_INO 1
  12 
  13 #define MINIX_I_MAP_SLOTS 8
  14 #define MINIX_Z_MAP_SLOTS 8
  15 #define MINIX_SUPER_MAGIC 0x137F
  16 
  17 #define MINIX_INODES_PER_BLOCK ((BLOCK_SIZE)/(sizeof (struct minix_inode)))
  18 #define MINIX_DIR_ENTRIES_PER_BLOCK ((BLOCK_SIZE)/(sizeof (struct minix_dir_entry)))
  19 
  20 struct minix_inode {
  21         unsigned short i_mode;
  22         unsigned short i_uid;
  23         unsigned long i_size;
  24         unsigned long i_time;
  25         unsigned char i_gid;
  26         unsigned char i_nlinks;
  27         unsigned short i_zone[9];
  28 };
  29 
  30 struct minix_super_block {
  31         unsigned short s_ninodes;
  32         unsigned short s_nzones;
  33         unsigned short s_imap_blocks;
  34         unsigned short s_zmap_blocks;
  35         unsigned short s_firstdatazone;
  36         unsigned short s_log_zone_size;
  37         unsigned long s_max_size;
  38         unsigned short s_magic;
  39 };
  40 
  41 struct minix_dir_entry {
  42         unsigned short inode;
  43         char name[MINIX_NAME_LEN];
  44 };
  45 
  46 extern int minix_open(struct inode * inode, struct file * filp);
  47 extern void minix_release(struct inode * inode, struct file * filp);
  48 extern struct inode * minix_follow_link(struct inode * dir, struct inode * inode);
  49 extern int minix_lookup(struct inode * dir,const char * name, int len,
  50         struct inode ** result);
  51 extern int minix_create(struct inode * dir,const char * name, int len, int mode,
  52         struct inode ** result);
  53 extern int minix_mkdir(struct inode * dir, const char * name, int len, int mode);
  54 extern int minix_rmdir(struct inode * dir, const char * name, int len);
  55 extern int minix_unlink(struct inode * dir, const char * name, int len);
  56 extern int minix_symlink(struct inode * inode, const char * name, int len,
  57         const char * symname);
  58 extern int minix_link(struct inode * oldinode, struct inode * dir, const char * name, int len);
  59 extern int minix_mknod(struct inode * dir, const char * name, int len, int mode, int rdev);
  60 extern int minix_rename(struct inode * old_dir, const char * old_name, int old_len,
  61         struct inode * new_dir, const char * new_name, int new_len);
  62 extern int minix_readlink(struct inode * inode, char * buffer, int buflen);
  63 extern struct inode * minix_new_inode(int dev);
  64 extern void minix_free_inode(struct inode * inode);
  65 extern int minix_new_block(int dev);
  66 extern int minix_free_block(int dev, int block);
  67 
  68 extern int minix_create_block(struct inode * inode, int block);
  69 extern int minix_bmap(struct inode * inode,int block);
  70 
  71 extern void minix_truncate(struct inode * inode);
  72 extern void minix_put_super(struct super_block *sb);
  73 extern struct super_block *minix_read_super(struct super_block *s,void *data);
  74 extern void minix_read_inode(struct inode * inode);
  75 extern void minix_write_inode(struct inode * inode);
  76 
  77 extern int minix_lseek(struct inode * inode, struct file * filp, off_t offset, int origin);
  78 extern int minix_read(struct inode * inode, struct file * filp, char * buf, int count);
  79 extern int minix_write(struct inode * inode, struct file * filp, char * buf, int count);
  80 extern int minix_readdir(struct inode * inode, struct file * filp, struct dirent * dirent);
  81 extern int minix_file_read(struct inode *, struct file *, char *, int);
  82 extern int minix_file_write(struct inode *, struct file *, char *, int);
  83 
  84 extern struct inode_operations minix_inode_operations;
  85 extern struct file_operations minix_file_operations;
  86 
  87 #endif

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