head	1.5;
access;
symbols
	release_4_2:1.5
	aix_ok:1.5
	Version_2_1:1.4
	Version_2:1.2
	C_Demo_1:1.2;
locks; strict;
comment	@ * @;


1.5
date	93.07.02.03.09.56;	author aoki;	state Exp;
branches;
next	1.4;

1.4
date	90.08.18.00.39.24;	author cimarron;	state Exp;
branches;
next	1.3;

1.3
date	90.08.13.20.47.12;	author cimarron;	state Exp;
branches;
next	1.2;

1.2
date	89.09.05.16.47.50;	author mao;	state Version_2;
branches;
next	1.1;

1.1
date	89.08.22.20.37.37;	author hirohama;	state Exp;
branches;
next	;


desc
@@


1.5
log
@the utilities were casting char * into Name and the
AM code was happily reading 16 bytes out of x-byte strings
(where x < 16).
@
text
@/* ----------------------------------------------------------------
 * manip.h --
 *	POSTGRES "manipulation" utility definitions.
 *
 * DESCRIPTION:
 *	Prototypes and routine descriptions for manip.c.
 *
 * NOTES:
 *
 * IDENTIFICATION:
 *	$Header: /home2/aoki/postgres/src/backend/commands/RCS/manip.h,v 1.4 1990/08/18 00:39:24 cimarron Exp aoki $
 * ----------------------------------------------------------------
 */

#ifndef	ManipIncluded		/* Include this file only once */
#define ManipIncluded	1

#include "nodes/pg_lisp.h"

/*
 * DefineListRemoveOptionalIndicator --
 *	Returns list element with car matching given string or LispNil.
 *
 * Side effects:
 *	Returned list element is removed from *assocListInOutP.
 *
 * Exceptions:
 *	"WARN" if string is not found.
 *	...
 */
extern
LispValue
DefineListRemoveOptionalIndicator ARGS((
	LispValue	*assocListInOutP,
	String		string
));

/*
 * DefineListRemoveOptionalAssignment --
 *	Returns list element with car matching given string or LispNil.
 *
 * Side effects:
 *	Returned list element is removed from *assocListInOutP.
 *
 * Exceptions:
 *	"WARN" if string is not found.
 *	...
 */
extern
LispValue
DefineListRemoveOptionalAssignment ARGS((
	LispValue	*assocListInOutP,
	String		string
));

/*
 * DefineListRemoveRequiredAssignment --
 *	Returns list element with car matching given string or LispNil.
 *
 * Side effects:
 *	Returned list element is removed from *assocListInOutP.
 *
 * Exceptions:
 *	"WARN" if string is not found.
 *	...
 */
extern
LispValue
DefineListRemoveRequiredAssignment ARGS((
	LispValue	*assocListInOutP,
	String		string
));

/*
 * DefineEntryGetString --
 *	Returns "value" string for given define entry.
 *	Returns NULL if entry is undefined.
 *
 * Exceptions:
 *	BadArg if entry is an invalid "entry."
 *	"WARN" if "value" is not a string.
 */
extern
String
DefineEntryGetString ARGS((
	LispValue	entry
));

/*
 * DefineEntryGetName --
 *	Returns "value" name for given define entry.
 *	Returns NULL if entry is undefined.
 *
 * Exceptions:
 *	BadArg if entry is an invalid "entry."
 *	"WARN" if "value" is not a name.
 */
extern
Name
DefineEntryGetName ARGS((
	LispValue	entry
));

/*
 * DefineEntryGetInteger --
 *	Returns "value" number for given define entry.
 *
 * Exceptions:
 *	BadArg if entry is an invalid "entry."
 *	"WARN" if "value" is not a string.
 */
extern
int32
DefineEntryGetInteger ARGS((
	LispValue	entry
));

/*
 * DefineEntryGetLength --
 *	Returns "value" length for given define entry.
 *	Returns -1 if the entry is the string "variable".
 *
 * Exceptions:
 *	BadArg if entry is an invalid "entry."
 *	"WARN" if "value" is not a positive number or "variable."
 */
extern
int16		/* int2 */
DefineEntryGetLength ARGS((
	LispValue	entry
));

/*
 * DefineListAssertEmpty --
 *	Causes an error if assocList is nonempty.
 *
 * Exceptions:
 *	BadArg if assocList is an invalid list.
 */
extern
void
DefineListAssertEmpty ARGS((
	LispValue	assocList
));

/*
 * private?
 */

/*
 * LispRemoveMatchingString --
 *	Returns first list element with car matching given string or LispNil.
 *
 * Side effects:
 *	Returned list element is removed from *assocListInOutP.
 *
 * Exceptions:
 *	BadArg if assocListInOutP is invalid.
 *	BadArg if *assocListInOutP is not a list.
 *	BadArg if string is invalid.
 */
extern
LispValue
LispRemoveMatchingString ARGS((
	LispValue	*assocListInOutP,
	String		string
));

/*
 * LispRemoveMatchingSymbol --
 *	Returns first list element with car matching given symbol or LispNil.
 *
 * Side effects:
 *	Returned list element is removed from *AssocListP.
 *
 * Exceptions:
 *	BadArg if assocListP is invalid.
 *	BadArg if *assocListP is not a list.
 *	BadArg if symbol is not a symbol handle.
 */
extern
LispValue
LispRemoveMatchingSymbol ARGS((
	LispValue	*assocListP,
	int		symbol
));

#endif	/* !defined(ManipIncluded) */
@


1.4
log
@eliminated less significant .h files
@
text
@d1 1
a1 1
/*
d5 8
a12 2
 * Identification:
 *	$Header: RCS/manip.h,v 1.3 90/08/13 20:47:12 cimarron Exp Locker: cimarron $
a17 9
#include <strings.h>

#include "tmp/postgres.h"

/*
 * XXX style--this should be in a more global header file
 */
#define StringEquals(x, y)	(strcmp(x, y) == 0)

d77 1
d92 1
d121 1
@


1.3
log
@added pathnames to include statements
@
text
@d6 1
a6 1
 *	$Header: RCS/manip.h,v 1.2 89/09/05 16:47:50 mao Version_2 Locker: cimarron $
d14 1
a14 1
#include "tmp/c.h"
a21 1
#include "tmp/name.h"
@


1.2
log
@Working version of C-only demo
@
text
@d6 1
a6 1
 *	$Header: RCS/manip.h,v 1.1 89/08/22 20:37:37 hirohama Exp $
d12 1
a12 3
#ifndef C_H
#include "c.h"
#endif
d14 2
a18 1
#include <strings.h>
a19 2
/*
 */
d21 2
a22 2
#include "name.h"
#include "pg_lisp.h"
@


1.1
log
@Initial revision
@
text
@d6 1
a6 1
 *	$Header$
@
