GameHeaders/xqueue.h

#pragma once
#include <Retrace.h>
 
typedef struct xQHdr {      
    long            qFlags;
    struct xthing   *qHead;
    struct xthing   *qTail;
    short           qEntries;
} xQHdr;
 
typedef Boolean (*updateProc)(struct xthing *xtp);
 
typedef struct xthing {
    VBLTask         timer;          /* update time */
    QElem           *xqel;          /* link in xthing queue */
    short           prime;          /* number of miliseconds between runs */
    xQHdr           *uQueueRef;     /* handy place to put your gum */
    long            flags;          /* indicating stuff */
    long            refcon;
    updateProc      updtProc;
    ProcPtr         vTaskPtr;
} xthing;
 
 
void xInitQueueHeader(xQHdr *queue);
void xEnqueue(xthing *qel, xQHdr *queue);
void xDequeue(xthing *qel, xQHdr *queue);
 
#ifndef nil
#define nil ((void*)0L)
#endif