/* I2OP.h */
/*--------------------------------------------------------------------*/
typedef struct _I2OP I2OP ;
struct _I2OP {
int value0 ;
int value1 ;
void *value2 ;
I2OP *next ;
} ;
#define I2OP_NULL 0
#define I2OP_FORWARD 1
#define I2OP_BACKWARD 2
/*--------------------------------------------------------------------*/
/*
---------------------------------------------------------
initializer.
create and return an array of n I2OP structures.
the structures are linked in one of three ways.
flag = 0 (I2OP_NULL) --> ip->next = NULL
flag = 1 (I2OP_FORWARD) --> ip->next = successor in list
flag = 2 (I2OP_BACKWARD) --> ip->next = predecessor in list
created -- 98feb06, cca
---------------------------------------------------------
*/
I2OP *
I2OP_init (
int n,
int flag
) ;
/*
---------------------------------------------------------
initializer.
create and return an array of n I2OP structures.
the structures are linked in one of three ways.
flag = 0 (I2OP_NULL) --> ip->next = NULL
flag = 1 (I2OP_FORWARD) --> ip->next = successor in list
flag = 2 (I2OP_BACKWARD) --> ip->next = predecessor in list
created -- 98feb06, cca
---------------------------------------------------------
*/
void
I2OP_initStorage (
int n,
int flag,
I2OP *base
) ;
/*
-----------------------------------------------
free the storage for an array of I2OP structures,
must have been allocated by I2OP_init
created -- 98feb06, cca
-----------------------------------------------
*/
void
I2OP_free (
I2OP *ip
) ;
/*
----------------------------------
purpose -- to print out a I2OP list
created -- 98feb06, cca
----------------------------------
*/
void
I2OP_fprintf (
FILE *fp,
I2OP *elem
) ;
/*--------------------------------------------------------------------*/
syntax highlighted by Code2HTML, v. 0.9.1