blob: b580098956dbe7e88bb3259f88f701cd7b68a326 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
#ifndef SP_HW1_COMMON_H
#define SP_HW1_COMMON_H
#include <stdbool.h>
#include <stdlib.h>
#include <sys/select.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <unistd.h>
void* e_malloc (size_t size);
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 */
|