35#ifndef _NETSIM_QUEUE_H_
36#define _NETSIM_QUEUE_H_
40#pragma comment(lib,"NetSim_utility.lib")
41 typedef void* ptrQUEUE;
43 _declspec(dllexport) ptrQUEUE queue_init(
double size);
44 _declspec(dllexport)
void queue_free(ptrQUEUE q);
45 _declspec(dllexport)
bool queue_enqueue(ptrQUEUE queue,
const void* mem,
double size);
46 _declspec(dllexport)
void* queue_get_head_ptr(ptrQUEUE queue);
47 _declspec(dllexport)
void* queue_dequeue(ptrQUEUE queue);
48 _declspec(dllexport)
double queue_get_size(ptrQUEUE queue);
49 _declspec(dllexport)
bool queue_is_empty(ptrQUEUE queue);
50#define queue_is_not_empty(q) (queue_is_empty((q)) == false)
51 _declspec(dllexport)
double queue_get_head_size(ptrQUEUE queue);
52 _declspec(dllexport)
void queue_update_head_size(ptrQUEUE queue,
double newSize);