#ifndef _INODELIST_H #define _INODELIST_H #include #include #include "inode.h" typedef struct _inodelist_t { inode_t data; struct _inodelist_t *next; struct _inodelist_t *prev; } inodelist_t; inodelist_t *inodelist_get_head(); inodelist_t *inodelist_get_tail(); inodelist_t *inodelist_get_current(); bool inodelist_is_empty(); uint32_t inodelist_get_length(); void inodelist_debug_display_forward(); void inodelist_debug_display_backward(); void inodelist_insert_head(inode_t inode); void inodelist_insert_tail(inode_t inode); void inodelist_insert_if_not(uint32_t inodeval); void inodelist_insert_if_not_with_inode(inode_t inodeval); void inodelist_insert_if_not_with_hashkey(uint32_t inodeval, const char *hashkey, const char *hashkey2, uint32_t hk_len); int32_t inodelist_get_index_from_value(uint32_t inodeval); int32_t inodelist_get_index_from_pid(pid_t pid); inodelist_t* inodelist_find_hashkey(const char *hashkey); inodelist_t* inodelist_get_inode_from_value(uint32_t inodeval); inodelist_t* inodelist_remove_head(); inodelist_t* inodelist_remove_tail(); inodelist_t* inodelist_remove_at(int index); #endif //_INODELIST_H