00001 #ifndef __LIBWFG_H__ 00002 #define __LIBWFG_H__ 00003 00004 #include <pthread.h> 00005 #include "queue.h" 00006 00007 typedef struct _wfg_t 00008 { 00009 00010 } wfg_t; 00011 00012 void wfg_init(wfg_t *wfg); 00013 int wfg_add_wait_edge(wfg_t *wfg, pthread_t t_id, unsigned int r_id); 00014 int wfg_add_hold_edge(wfg_t *wfg, pthread_t t_id, unsigned int r_id); 00015 int wfg_remove_edge(wfg_t *wfg, pthread_t t_id, unsigned int r_id); 00016 int wfg_get_cycle(wfg_t *wfg, pthread_t** cycle); 00017 void wfg_print_graph(wfg_t *wfg); 00018 void wfg_destroy(wfg_t *wfg); 00019 00020 #endif