
typedef struct fdlist_node {
	int fd;
	pid_t pid;
	void* buffer;
	bool open;
	size_t n;
	size_t size;
} fdlist_node_t;

typedef struct fdlist {
	fdlist_node_t* list;
	int max;
	int num;
} fdlist_t;

bool fdlist_new(fdlist_t* fdlist, int max);

void fdlist_destroy (fdlist_t* fdlist);

fdlist_node_t* fdlist_find(fdlist_t* fdlist, int fd);

fdlist_node_t* fdlist_add(fdlist_t* fdlist, int fd, pid_t pid);

void fdlist_delete(fdlist_t* fdlist, int fd);


