00001 00012 #ifndef HQUEUE_H 00013 #define HQUEUE_H 00014 00015 #include "hstructures.h" 00016 00017 00018 int hqueue_size(struct hqueue* queue); 00019 void* hqelement_get_data(struct hqelement* element); 00020 struct hqelement* hqelement_get_prev(struct hqelement* element); 00021 struct hqelement* hqelement_get_next(struct hqelement* element); 00022 struct hqueue* hqueue_create(); 00023 struct hqelement* hqueue_enqueue(struct hqueue* queue, void* data_element); 00024 void* hqelement_remove(struct hqelement* element, struct hqueue* queue); 00025 void* hqueue_dequeue(struct hqueue* queue); 00026 int hqueue_remove(struct hqueue* queue); 00027 struct hqelement* hqueue_get_first(struct hqueue* queue); 00028 struct hqelement* hqueue_get_last(struct hqueue* queue); 00029 00030 #endif 00031