Net2/usr/src/contrib/isode/pepsy/pass2.h

Compare this file to the similar file:
Show the results in this format:

/* pass2.h */

/* 
 * $Header: /f/osi/pepsy/RCS/pass2.h,v 7.7 91/02/22 09:49:23 mrose Interim $
 *
 *
 * $Log:	pass2.h,v $
 * Revision 7.7  91/02/22  09:49:23  mrose
 * Interim 6.8
 * 
 * Revision 7.6  90/12/23  17:24:56  mrose
 * patches
 * 
 * Revision 7.5  90/11/11  10:54:03  mrose
 * update
 * 
 * Revision 7.4  90/11/04  19:19:01  mrose
 * update
 * 
 * Revision 7.3  90/07/27  08:49:28  mrose
 * update
 * 
 * Revision 7.2  90/07/09  14:52:47  mrose
 * sync
 * 
 * Revision 7.1  90/07/01  20:01:13  mrose
 * update
 * 
 * Revision 7.0  90/07/01  19:54:43  mrose
 * *** empty log message ***
 * 
 */

/*
 *				  NOTICE
 *
 *    Acquisition, use, and distribution of this module and related
 *    materials are subject to the restrictions of a license agreement.
 *    Consult the Preface in the User's Manual for the full terms of
 *    this agreement.
 *
 */


/* Change the version number only important features change - so people can
 * #ifdef on the version number. Also used to provide backwards compatible
 * macro definitions for posy/pepy.
 */
#define PEPSY_VERSION_NUMBER	2
#define NBPC	8	/* Number of Bits per character - machine dependant */
#define NBPI	sizeof (int)*NBPC	/* Number of bits per integer */

#define PSAP_DOT_H	"\"psap.h\""
#define I_PSAP_DOT_H	"<isode/psap.h>"
#define UNIV_TYPES_DOT_H	"\"UNIV-types.h\""
#define I_UNIV_TYPES_DOT_H	"<isode/pepsy/UNIV-types.h>"
#define	HFILE1	"_defs.h"
#define HFILE2	"_pre_defs.h"
#define ACTIONDEFS	"_action.h"

#define GENTYPES	"-types.h"
#define INCFILE1	"pepsy.h"
/* #define INCFILE2	"pepdefs.h" - not used any more */

#define	ACT1	"_act1"
#define	ACT2	"_act2"
#define	ACT3	"_act3"
#define	ACT4	"_act4"
#define	ACT05	"_act05"

#define PREFIX	"_Z"

#define ETABLE	"et_"
#define DTABLE	"dt_"
#define PTABLE	"pt_"

#define	ENCFNCNAME	"enc_f"
#define	DECFNCNAME	"dec_f"
#define	PRNTFNCNAME	"prnt_f"

#define	ENC_FNCNAME	"enc_f_"
#define	DEC_FNCNAME	"dec_f_"
#define	PRNT_FNCNAME	"prnt_f_"

#define	ENCFILENAME	"_enc.c"
#define	DECFILENAME	"_dec.c"
#define	PRNTFILENAME	"_prnt.c"

#define TBLNAME		"_tables.c"
#define MODTYP_SUFFIX	"_mod"

#define MAXPTRS		200   /* maximum number of pointers in pointer table */

#define PTR_TABNAME	"ptrtab"
extern	int	p_debug;

#define DEB 1

#ifdef DEB
#define Printf(x, y) if (x <= p_debug) printf y
#else
#define Printf(x, y)
#endif

/*
 * info for handling a Universal type
 */
struct	univ_typ	{
	char	*univ_name;	/* Name of this Universal type */
	char	*univ_data;	/* type to generate for it */
	char	*univ_tab;	/* type of table entry it needs */
	int	univ_id;	/* tag of the type */
	int	univ_class;	/* class - probably Universal primative */
	char	*univ_mod;	/* Name of its module if it has one  */
	int	univ_flags;	/* Information about entry */
	int	univ_type;	/* Type we can use for its contents */
#define UNF_EXTMOD	1	/* Use an external module reference */
#define UNF_HASDATA	2	/* Has data structure - allocate data for it */
    };

extern struct univ_typ *univtyp();

/* How many entries in an array */
#define NENTRIES(x)	(sizeof (x)/sizeof ((x)[0]))

/* used to specify which tables a routine is to generate */
#define G_ENC	0	/* encoding */
#define G_DEC	1	/* decoding */
#define G_PNT	2	/* printing */

#define	hflag	(options[0])
#define	Hflag	(options[1])
#define h2flag	(options[2])
#define	NOPTIONS	3
extern int	options[];

#define STRSIZE 128	/* general buffer size */

extern char   *proc_name();

extern char *getfield(), *getfldbit();
extern char *class2str();

extern int	gen_ventry();	/* generate a Value Passing Entry */
extern int	gen_fnentry();	/* generate a function calling entry */
/* extern Action	start_action, final_action; */
extern char	*int2tstr();	/* integer to temporary string */

extern char *getfield(), *getfldbit();
extern char *class2str();

extern int	gen_ventry();	/* generate a Value Passing Entry */
extern int	gen_fnentry();	/* generate a function calling entry */
/* extern Action	start_action, final_action; */