Listing 3. The inode_operations Structure
struct inode_operations {
struct file_operations * default_file_ops;
int (*create) (struct inode *,
const char *,int,int,struct inode **);
int (*lookup) (struct inode *
,const char *,int,struct inode **);
int (*link) (struct inode *,
struct inode *,const char *,int);
int (*unlink) (struct inode *,
const char *,int);
int (*symlink) (struct inode *,
const char *,int,const char *);
int (*mkdir) (struct inode *,
const char *,int,int);
int (*rmdir) (struct inode *,
const char *,int);
int (*mknod) (struct inode *,
const char *,int,int,int);
/* this from 2.0.1 onwards */
int (*rename) (struct inode *,
const char *,int, struct inode *,
const char *,int, int);
int (*readlink) (struct inode *,char *,int);
int (*follow_link) (struct inode *,struct inode *
,int,int,struct inode **);
int (*readpage) (struct inode *,
struct page *);
int (*writepage) (struct inode *,
struct page *);
int (*bmap) (struct inode *,int);
void (*truncate) (struct inode *);
int (*permission) (struct inode *, int);
int (*smap) (struct inode *,int);
};