dmc_command
struct dmc_command *qp_next; /* next command on queue */
struct dmc_command sc_cmdbuf[NCMDS];
struct dmc_command *sc_qhead; /* head of command queue */
struct dmc_command *sc_qtail; /* tail of command queue */
struct dmc_command *sc_qactive; /* command in progress */
struct dmc_command *sc_qfreeh; /* head of list of free cmd buffers */
struct dmc_command *sc_qfreet; /* tail of list of free cmd buffers */
if ((tail) == (struct dmc_command *) 0) \
(qp)->qp_next = (struct dmc_command *) 0; \
if ((head) == (struct dmc_command *) 0)\
struct dmc_command *qp;
(struct dmc_command *)0;
struct dmc_command *qp;
if ((qp = sc->sc_qfreeh) == (struct dmc_command *)0)
struct dmc_command *qp;
if ((qp = sc->sc_qactive) == (struct dmc_command *) 0) {
if ((sc->sc_qactive = sc->sc_qhead) == (struct dmc_command *)0)