DataMuseum.dk

Presents historical artifacts from the history of:

DKUUG/EUUG Conference tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about DKUUG/EUUG Conference tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download
Index: T q

⟦165a44208⟧ TextFile

    Length: 2028 (0x7ec)
    Types: TextFile
    Names: »queue.h,v«

Derivation

└─⟦a05ed705a⟧ Bits:30007078 DKUUG GNU 2/12/89
    └─⟦34cc4e2f7⟧ »./UNRELEASED/xgdb3.2.tar.Z« 
        └─⟦80fac5d7c⟧ 
            └─⟦this⟧ »./RCS/queue.h,v« 

TextFile

head     1.1;
access   ;
symbols  ;
locks    hubbard:1.1; strict;
comment  @ * @;


1.1
date     89.07.05.15.36.23;  author hubbard;  state Exp;
branches ;
next     ;


desc
@Initial checkin, Beta version 0.1.
@



1.1
log
@Initial revision
@
text
@\f


/* $Header$ */

/*
 *
 *                     Copyright 1988, 1989
 *                  PCS Computer Systeme, GmbH
 *                     Munich, West Germany
 *
 *  All rights reserved.
 * 
 *  This is unsupported software and is subject to change without notice.
 *  PCS makes no representations about the suitability of this software
 *  for any purpose. It is supplied "as is" without express or implied
 *  warranty.
 * 
 *  Permission to use, copy, modify, and distribute this software and its
 *  documentation for any purpose and without fee is hereby granted, provided
 *  that the above copyright notice appear in all copies and that both that
 *  copyright notice and this permission notice appear in supporting
 *  documentation, and that the name of PCS Computer Systeme not be used in
 *  advertising or publicity pertaining to distribution of the software
 *  without specific, written prior permission.
 *
 */

/*
 * Author:	Jordan K. Hubbard
 * For:		PCS Computer Systems
 * When:	April 18th, 1989.
 *
 * $Log$
 * 
 */

#ifndef QUEUE_H_INCLUDE
#define QUEUE_H_INCLUDE

/*
 * Defines for the queue manipulation routines.
 */

#define QUEUE_ENTRY(ent)	\
     typedef struct ent {	\
	  struct ent *prev;	\
	  struct ent *next;

#define IS_TYPE }

#define BEGIN

#define NEXT(i)     ((i)->next)
#define PREV(i)     ((i)->prev)
#define FIRST(q, t) ((t *)((q)->head))
#define LAST(q, t)  ((t *)((q)->tail))
#define HEAD(q)     ((Link)((q)->head))
#define TAIL(q)     ((Link)((q)->tail))

#define FIFO	1
#define LIFO	2

/* Forward declarations */
void addQueueEntry(), removeQueueEntry(), replaceQueueEntry(),
     storeEventQueue(), restoreEventQueue();

GenericPtr popQueueEntry();
Boolean queueActive(), queueEmpty(), entryOnQueue();

#endif /* QUEUE_H_INCLUDE */
@