struct fd {
enum { FD_CLOSED, FD_NONE, FD_PIPE, FD_FILE } type;
int ref; // reference count
char readable; char writeable; struct pipe *pipe;
struct inode *ip;
uint off;
}; extern struct fd fds[NFD];