btmux-0.6-rc4/doc/
btmux-0.6-rc4/event/
btmux-0.6-rc4/game/
btmux-0.6-rc4/game/maps/
btmux-0.6-rc4/game/mechs/
btmux-0.6-rc4/game/text/help/
btmux-0.6-rc4/game/text/help/cat_faction/
btmux-0.6-rc4/game/text/help/cat_inform/
btmux-0.6-rc4/game/text/help/cat_misc/
btmux-0.6-rc4/game/text/help/cat_mux/
btmux-0.6-rc4/game/text/help/cat_mux/cat_commands/
btmux-0.6-rc4/game/text/help/cat_mux/cat_functions/
btmux-0.6-rc4/game/text/help/cat_templates/
btmux-0.6-rc4/game/text/wizhelp/
btmux-0.6-rc4/include/
btmux-0.6-rc4/misc/
btmux-0.6-rc4/python/
btmux-0.6-rc4/src/hcode/btech/
btmux-0.6-rc4/tree/
/* cque.h */
/* $Id: */

#ifndef __CQUE_H__
#define __CQUE_H__
#include "config.h"

/* BQUE - Command queue */

typedef struct bque BQUE;
struct bque {
    BQUE *next;
    
    dbref player;       /* player who will do command */
    dbref cause;        /* player causing command (for %N) */
    dbref sem;          /* blocking semaphore */
    int waittime;       /* time to run command */
    int queuetime;
    int attr;           /* blocking attribute */
    char *text;         /* buffer for comm, env, and scr text */
    char *comm;         /* command */
    char *env[NUM_ENV_VARS];    /* environment vars */
    char *scr[NUM_ENV_VARS];    /* temp vars */
    int nargs;          /* How many args I have */
    struct event ev;   /* event structure for wait queue */
};

/* Per object run queues */
typedef struct objqe OBJQE;

struct objqe {
    dbref obj;
    BQUE *cque;
    BQUE *ctail;
    BQUE *wait_que; // commands waiting on this object
    BQUE *pending_que; // obj's commands that are waiting
    struct objqe *next;
    int queued;
};  

#endif