view src/file.h @ 181:f9df567f7f2d

tweak_gen_context.pl
author anatofuz
date Mon, 20 Jan 2020 16:44:55 +0900
parents 654f2dadd744
children
line wrap: on
line source

/*
typedef struct file {
    enum { FD_NONE, FD_PIPE, FD_INODE } type;
    int          ref;   // reference count
    char         readable;
    char         writable;
    struct pipe  *pipe;
    struct inode *ip;
    uint         off;
} file;
*/
// in-memory copy of an inode

/*
struct inode {
    uint    dev;        // Device number
    uint    inum;       // Inode number
    int     ref;        // Reference count
    int     flags;      // I_BUSY, I_VALID

    short   type;       // copy of disk inode
    short   major;
    short   minor;
    short   nlink;
    uint    size;
    uint    addrs[NDIRECT+1];
};
*/

#define I_BUSY 0x1
#define I_VALID 0x2



// table mapping major device number to
// device functions
struct devsw {
    int (*read) (struct inode*, char*, int);
    int (*write)(struct inode*, char*, int);
};

struct cbc_devsw {
    __code (*read) (struct inode*, char*, int, __code (*)(int));
    //__code (*write)(struct inode*, char*, int, __code (*)(int));
};

extern struct devsw devsw[];
extern struct cbc_devsw cbc_devsw[];

#define CONSOLE 1