Sha256: a6c04d39bf6a11e3ceec449bc68e05b142e86dfcf28f3cc15314542eeb7ca040

Contents?: true

Size: 1.2 KB

Versions: 3

Compression:

Stored size: 1.2 KB

Contents

#include <Windows.h>

#include "entry.h"

#ifndef WDM_QUEUE_H
#define WDM_QUEUE_H

#ifdef __cplusplus
extern "C" {
#endif // __cplusplus

// ---------------------------------------------------------
// Types
// ---------------------------------------------------------

typedef struct WDM_QueueItem {
    WDM_PEntryUserData user_data;
    BYTE buffer[WDM_BUFFER_SIZE];
    struct WDM_QueueItem* previous;
    struct WDM_QueueItem* next;
} WDM_QueueItem, *WDM_PQueueItem;

typedef struct WDM_Queue {
    CRITICAL_SECTION lock;
    WDM_PQueueItem front;
    WDM_PQueueItem rear;
} WDM_Queue, *WDM_PQueue;

// ---------------------------------------------------------
// Prototypes
// ---------------------------------------------------------

WDM_PQueueItem wdm_queue_item_new();
void wdm_queue_item_free(WDM_PQueueItem);

WDM_PQueue wdm_queue_new();
void wdm_queue_free(WDM_PQueue);

void wdm_queue_enqueue(WDM_PQueue, WDM_PQueueItem);
WDM_PQueueItem wdm_queue_dequeue(WDM_PQueue);
void wdm_queue_empty(WDM_PQueue);
BOOL wdm_queue_is_empty(WDM_PQueue);

// ---------------------------------------------------------

#ifdef __cplusplus
}
#endif // __cplusplus

#endif // WDM_QUEUE_H

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
wdm-0.0.2-x86-mingw32 ext/wdm/queue.h
wdm-0.0.2-mingw32 ext/wdm/queue.h
wdm-0.0.1 ext/wdm/queue.h