#ifndef SP_HW1_COMMON_H #define SP_HW1_COMMON_H #include #include #include #include #include #include void* e_malloc (size_t size); char* e_strcat (const char* s1, const char* s2); void e_err_exit (const char* a); typedef struct { bool active; int ref_count; fd_set fset; dev_t fdev; ino_t fino; } fnode; typedef struct { int maxfd; fnode* flist; } ftab; ftab* ftab_create (int maxfd); fnode* ftab_insert (ftab* ft, dev_t fdev, ino_t fino, int fd); fnode* ftab_search (ftab* ft, dev_t fdev, ino_t fino); void ftab_free (ftab* ft); fnode* fnode_ref (fnode* fn, int fd); void fnode_unref (fnode* fn, ftab* ft); #endif /* SP_HW1_COMMON_H */