head	1.8;
access;
symbols
	release_4_2:1.8
	aix_ok:1.8
	Version_2_1:1.8
	Version_2:1.7
	C_Demo_1:1.7;
locks; strict;
comment	@ * @;


1.8
date	90.08.17.08.54.55;	author cimarron;	state Exp;
branches;
next	1.7;

1.7
date	89.09.05.17.11.46;	author mao;	state Version_2;
branches;
next	1.6;

1.6
date	89.07.14.17.49.36;	author dillon;	state Exp;
branches;
next	1.5;

1.5
date	89.05.07.22.42.05;	author dillon;	state Exp;
branches;
next	1.4;

1.4
date	89.05.04.19.09.10;	author dillon;	state Exp;
branches;
next	1.3;

1.3
date	89.05.04.19.06.39;	author dillon;	state Exp;
branches;
next	1.2;

1.2
date	89.02.25.05.31.34;	author aoki;	state Stab;
branches;
next	1.1;

1.1
date	89.01.31.16.13.00;	author dillon;	state Exp;
branches;
next	;


desc
@Used with lib/C/simplelists.c
@


1.8
log
@added pathnames to #include statements
@
text
@/*
 * simplelists.h --
 *	Linked list primitives.
 *
 * Identification:
 *	$Header: RCS/simplelists.h,v 1.7 89/09/05 17:11:46 mao Version_2 Locker: cimarron $
 */

#ifndef SIMPLELISTS_H
#define SIMPLELISTS_H

#include "tmp/c.h"

#define SLNode	struct _SetNode
#define SLList	struct _SetList

#define NODE_MAGIC  0x41424344
#define LIST_MAGIC  0x45464748

SLNode {
    SLNode  *sn_Next;	/* Next node or &sn_Term	*/
    SLNode  *sn_Prev;	/* Previous node or &sn_Head	*/
    SLList  *sn_List;	/* node's list or NULL		*/ 
    uint32   sn_Magic;	/* NODE_MAGIC			*/
};

SLList {
    SLNode *sl_Head;	/* First node or &sn_Term	*/
    SLNode *sl_Term;	/* Terminator == NULL		*/
    SLNode *sl_Tail;	/* Last node or &sn_Head	*/
    Offset  sl_Offset;	/* structural offset.		*/
    uint32  sl_Magic;	/* LIST_MAGIC			*/
    uint32  sl_Pad0;	/* pad byte for 8 char align.	*/
};

extern void SLNewList();
extern void SLNewNode();
extern Pointer SLGetHead();
extern Pointer SLGetTail();
extern Pointer SLGetSucc();
extern Pointer SLGetPred();
extern void SLRemove();
extern void SLAddHead();
extern void SLAddTail();
extern Pointer SLRemHead();
extern Pointer SLRemTail();
extern void SLInsertAfter();
extern void SLInsertBefore();
extern SLList *SLGetList();

#endif

@


1.7
log
@Working version of C-only demo
@
text
@d6 1
a6 1
 *	$Header: /usr6/postgres/mao/postgres/src/lib/H/RCS/simplelists.h,v 1.6 89/07/14 17:49:36 dillon Exp $
d12 1
a12 3
#ifndef C_H
#include "c.h"
#endif
@


1.6
log
@fixed externs
@
text
@d6 1
a6 1
 *	$Header: simplelists.h,v 1.5 89/05/07 22:42:05 dillon Locked $
@


1.5
log
@Modified, now uses SL convention
@
text
@d6 1
a6 1
 *	$Header: simplelists.h,v 1.4 89/05/04 19:09:10 dillon Locked $
d38 14
a51 14
extern void SetNewList();
extern void SetNewNode();
extern void *SetGetHead();
extern void *SetGetTail();
extern void *SetGetSucc();
extern void *SetGetPred();
extern void SetRemove();
extern void SetAddHead();
extern void SetAddTail();
extern void *SetRemHead();
extern void *SetRemTail();
extern void SetInsertAfter();
extern void SetInsertBefore();
extern SLList *SetGetList();
@


1.4
log
@*** empty log message ***
@
text
@d6 1
a6 1
 *	$Header: /usr6/postgres/dillon/stree/src/lib/H/RCS/simplelists.h,v 1.3 89/05/04 19:06:39 dillon Exp $
d9 2
a10 2
#ifndef SimpleListsIncluded
#define SimpleListsIncluded
d16 2
a17 2
#define SetNode	struct _SetNode
#define SetList	struct _SetList
d22 5
a26 5
SetNode {
    SetNode *sn_Next;	/* Next node or &sn_Term	*/
    SetNode *sn_Prev;	/* Previous node or &sn_Head	*/
    SetList *sn_List;
    ulong    sn_Magic;
d29 4
a32 4
SetList {
    SetNode *sl_Head;	/* First node or &sn_Term	*/
    SetNode *sl_Term;	/* Terminator == NULL		*/
    SetNode *sl_Tail;	/* Last node or &sn_Head	*/
d34 2
a35 1
    ulong   sl_Magic;
d51 1
a51 1
extern SetList *SetGetList();
@


1.3
log
@Changed names and structures
@
text
@d6 1
a6 1
 *	$Header: /usr6/postgres/dillon/stree/src/lib/H/RCS/simplelists.h,v 1.2 89/02/25 05:31:34 aoki Stab $
d50 1
@


1.2
log
@added header, include-once wrapper
@
text
@d6 1
a6 1
 *	$Header$
d12 3
a14 2
#define SimpleNode	struct _SimpleNode
#define SimpleList	struct _SimpleList
d16 11
a26 4
SimpleNode {
    SimpleNode *sn_Next;	/* Next node or &sn_Term	*/
    SimpleNode *sn_Prev;	/* Previous node or &sn_Head	*/
    short	sn_Offset;	/* structural offset.		*/
d29 6
a34 4
SimpleList {
    SimpleNode *sl_Head;	/* First node or &sn_Term	*/
    SimpleNode *sl_Term;	/* Terminator == NULL		*/
    SimpleNode *sl_Tail;	/* Last node or &sn_Head	*/
d37 13
a49 11
extern void SListNewList();
extern void SListNewNode();
extern void *SListGetHead();
extern void *SListGetTail();
extern void *SListGetSucc();
extern void *SListGetPred();
extern void SListRemove();
extern void SListAddHead();
extern void SListAddTail();
extern void *SListRemHead();
extern void *SListRemTail();
@


1.1
log
@Initial revision
@
text
@a0 1

d2 5
a6 1
 *  simplelists.h
@
