diff --git a/WEGA/contrib/ingres/dbs/src/h/aux.h b/WEGA/contrib/ingres/dbs/src/h/aux.h new file mode 100644 index 0000000..7a1f29e --- /dev/null +++ b/WEGA/contrib/ingres/dbs/src/h/aux.h @@ -0,0 +1,226 @@ +/* Accessparam structure -- this structure is filled by */ +/* the AAdparam() and AAiparam() routines. It gives a list of */ +/* key domains in their key sequence order. */ + +struct accessparam +{ + short mode; /* mode of relation */ + short sec_index; /* TRUE if relation is a sec index. */ + char keydno[MAXDOM + 1]; +}; + +/* RETCODE STRUCTURE */ +/* This structure is passed back after each query to the front end */ +/* to give query status. */ + +struct retcode +{ + long rc_tupcount; /* count of tuples which satisfied */ + short rc_status; /* result status for the query */ + char rc_siteid[2]; /* reserved for distributed decomp */ +}; + + + + +/* Desxx structure -- This structure is used by opencatalog and */ +/* closecatalog. It is used to maintain a list of system relations */ +/* for caching. */ + +struct desxx +{ + char *cach_relname; /* name of the relation */ + struct descriptor *cach_desc; /* desc to use */ + struct descriptor *cach_alias; /* alias for above desc */ +}; + + +/* Relation status bits */ +/* */ +/* These bits are in the relation relation, in the "relstat" */ +/* field. They define status information about the relation. */ + +# define S_CATALOG 0000001 /* system catalog */ +# define S_NOUPDT 0000002 /* no update allowed */ +# define S_PROTUPS 0000004 /* tuples exist in AA_PROTECT */ +# define S_INTEG 0000010 /* integrity constrained */ +/*define S_CONCUR 0000020 ** concurrency enforced */ +# define S_VIEW 0000040 /* relation is a view */ +# define S_VBASE 0000100 /* base rel for a view */ +# define S_INDEX 0000200 /* is a sec indx */ +# define S_BINARY 0000400 /* print char domains in binary */ +# define S_DISTRIBUTED 0001000 /* reserved for distr rels */ +/*define S_DISCRIT 0002000 ** reserved for distr temp rels */ +/*define S_DISCOPY 0004000 ** reserved for distr rels */ +# define S_PROTALL 0010000 /* if clear, all permission */ +# define S_PROTRET 0020000 /* if clear, read permission */ + +/* Protection bits are defined as follows: */ +/* */ +/* S_PROTUPS -- if set, there are tuples for this relation in the */ +/* AA_PROTECT catalog */ +/* Need to look in the AA_PROTECT catalog to tell. */ +/* */ +/* S_PROTALL, S_PROTRET -- as shown from the following table: */ +/* PROTALL PROTRET meaning */ +/* 1 1 No permits. */ +/* 1 0 Permit RETRIEVE to ALL case. */ +/* 0 1 Permit ALL to ALL case. */ +/* 0 0 Permit ALL to ALL and RETRIEVE to ALL. */ + +/* User status bits */ +/* */ +/* These bits are in the status field of the AA_USERS. They end */ +/* up in a variable "AAdbstat" after a call to initucode. */ + +# define U_CREATDB 0000001 /* can create data bases */ +# define U_DRCTUPDT 0000002 /* can specify direct update */ +# define U_UPSYSCAT 0000004 /* can update catalogs directly */ +# define U_TRACE 0000020 /* can use trace flags */ +/*define U_QRYMODOFF 0000040 ** can turn off qrymod */ +# define U_APROCTAB 0000100 /* can use arbitrary proctab */ +# define U_EPROCTAB 0000200 /* can use =proctab form */ +# define U_SUPER 0100000 /* DBS superuser */ + +/* The following defines declare the field number in the */ +/* AA_USERS for each field. */ + +# define UF_NAME 0 /* login name */ +# define UF_UCODE 1 /* user code */ +# define UF_UID 2 /* BS user id */ +/*define UF_GID 3 ** BS group id */ +# define UF_STAT 4 /* status bits */ +# define UF_FLAGS 5 /* default flags */ +/*define UF_PTAB 6 ** default proctab */ +# define UF_IFILE 7 /* monitor init file */ +# define UF_DBLIST 9 /* list of valid DB's */ + +# define UF_NFIELDS 10 /* TOTAL # of fields */ + +/* AAusercode contains the current user's DBS user-id code. */ +/* AApath contains the name of the DBS subtree. */ + +extern char *AAusercode; +extern char *AApath; + + +/* The following defines declare the field number in the */ +/* AA_PASSWD for each field. */ + +# define PF_NAME 0 /* login name */ +/*define PF_PASSWD 1 ** password */ +# define PF_UID 2 /* BS user id */ +# define PF_GID 3 /* BS group id */ +/*define PF_COMMENT 4 ** comment */ +# define PF_HOME 5 /* home directory */ +/*define PF_CMD 6 ** default interpreter */ + + +/* The following structs are for use in type conversion. */ + +struct _i1type_ +{ + char i1type; +}; +typedef struct _i1type_ I1TYPE; + +struct _i2type_ +{ + short i2type; +}; +typedef struct _i2type_ I2TYPE; + +struct _i4type_ +{ + long i4type; +}; +typedef struct _i4type_ I4TYPE; + +# ifndef NO_F4 +struct _f4type_ +{ + float f4type; +}; +typedef struct _f4type_ F4TYPE; +# endif + +struct _f8type_ +{ + double f8type; +}; +typedef struct _f8type_ F8TYPE; + + + +/* PRINTED OUTPUT ARGUMENTS */ +/* */ +/* The following struct describes the printed output available */ +/* to the user. */ + +struct out_arg +{ + short c0width; /* minimum width of "c" field */ + short i1width; /* width of "i1" field */ + short i2width; /* width of "i2" field */ + short i4width; /* width of "i4" field */ +# ifndef NO_F4 + short f4width; /* width of "f4" field */ +# endif + short f8width; /* width of "f8" field */ +# ifndef NO_F4 + short f4prec; /* number of decimal places on "f4" */ +# endif + short f8prec; /* number of decimal places on "f8" */ +# ifndef NO_F4 + char f4style; /* "f4" output style */ +# endif + char f8style; /* "f8" output style */ + short linesperpage; /* number of lines per output page */ + char coldelim; /* column delimiter */ + char linedelim; /* line delimiter */ +}; + +/* maximum width of any of the above fields */ +# define MAXFIELD 255 + +/* Any text line read from a file (for example, USERFILES) can */ +/* be at most MAXLINE bytes long. Buffers designed for holding */ +/* such info should be decleared as char buf[MAXLINE + 1] to */ +/* allow for the null terminator. */ + +# define MAXLINE 256 + + +/* Assorted system stuff */ +/* */ +/* FILEMODE is the file mode on a 'creat' call for all files */ +/* in the database and probably other external files. */ + +# define FILEMODE 0600 /* db file mode */ + +/* Defines to specify the execid of each process in the */ +/* current process structure. */ +/* The constants are named with "EXEC_" AAconcatenated with */ +/* the process name. */ + +# define EXEC_DBU '#' /* db utilities (or overlays) */ +# define EXEC_DECOMP '$' /* decomposition process */ +# define EXEC_OVQP '*' /* one variable query processor */ +# define EXEC_QRYMOD '*' /* query modification for */ + /* view, protection, integrity */ +# define EXEC_PARSER '@' /* parser, scanner */ +/*define EXEC_FRONT ** EQL prog or terminal monitor */ +# define EXEC_ERROR '%' /* exec_id of an error block */ + + +/* stuff giving information about the machine */ + +# ifdef S_ALIGN +# define ALIGNMENT(x) (((x) + 01) & ~01) +# endif +# ifdef L_ALIGN +# define ALIGNMENT(x) (((x) + 03) & ~03) +# endif +# ifdef D_ALIGN +# define ALIGNMENT(x) (((x) + 07) & ~07) +# endif