Figure 2-7 “Sample Type Include File” through Figure 2-9 “Sample Externals Include File” 
illustrate, respectively, the
type, variable, and externals include files that correspond to the
modified source file in Figure 2-9.  Note
that the preprocessor inserts
the following three C compiler directives
to reference include files of the following syntax:
     #include "ModifiedSourceFileName.sqlt"
     #include "ModifiedSourceFileName.sqlv"
     #include "ModifiedSourceFileName.sqle"
 | 
These three directives are always inserted into the static or
global declaration part of the program.
Figure 2-7 Sample Type Include File
	typedef char  ownername_type[21];
	typedef char  modulename_type[21];
	typedef short sqlind;
	typedef struct {
	  int    SQLREC1_FIELD1_LEN;
	  char   SQLREC1_FIELD1[133];
	  } SQLREC1;
	typedef struct {
	  int    SQLREC2_FIELD1_LEN;
	  char   SQLREC2_FIELD1[20];
	  } SQLREC2;
	typedef struct {
	  int    SQLREC3_FIELD1_LEN;
	  char   SQLREC3_FIELD1[20];
	  int    SQLREC3_FIELD2_LEN;
	  char   SQLREC3_FIELD2[32];
	  double SQLREC3_FIELD3;
	  sqlind SQLREC3_FIELD3_IND;
	  } SQLREC3;
	typedef struct {
	  SQLREC3  dummy1, dummy2;
	  } SQLREC4;
	#define sqlwarn0 sqlwarn[0]
	#define sqlwarn1 sqlwarn[1]
	#define sqlwarn2 sqlwarn[2]
	#define sqlwarn3 sqlwarn[3]
	#define sqlwarn4 sqlwarn[4]
	#define sqlwarn5 sqlwarn[5]
	#define sqlwarn6 sqlwarn[6]
	#define sqlwarn7 sqlwarn[7]
	typedef struct {
	  char  sqlaid[8];
	  int   sqlabc;
	  int   sqlcode;
	  int   sqlerrl;
	  char  sqlerrm[256];
	  char  sqlerrp[8];
	  int   sqlerrd[6];
	  char  sqlwarn[8];
	  char  sqlext[8];
	  } sqlca_type;
	typedef struct {
	  short sqlnty;
	  short sqltype;
	  short sqlprec;
	  short sqlscale;
	  int   sqltotallen;
	  int   sqlvallen;
	  int   sqlindlen;
	  int   sqlvof;
	  int   sqlnof;
	  char  sqlname[20];
	  } sqlformat_type;
	typedef struct {
	  char  sqldaid[8];
	  int   sqldabc;
	  int   sqln;
	  int   sqld;
	  sqlformat_type *sqlfmtarr;
	  int   sqlnrow;
	  int   sqlrrow;
	  int   sqlrowlen;
	  int   sqlbuflen;
	  int   sqlrowbuf;
	  } sqlda_type;
	typedef union {
	  int     dummy;
	  SQLREC1 rec1;
	  SQLREC2 rec2;
	  SQLREC3 rec3;
	  SQLREC4 rec4;
	  } sqltempv_type;
 | 
Figure 2-8 Sample Variable Include File
static ownername_type  sqlowner   = "JOANN               ";
static modulename_type sqlmodname = "CEX2                ";
int sqlindex;
char  *sqlvar1;
char  *sqlvar2;
char  *sqlvar3;
char  *sqlvar4;
sqltempv_type   sqltempv;
  | 
Figure 2-9 Sample Externals Include File
	extern sqlxbfec();
	extern sqlxbinc();
	extern sqlxcnhc();
	extern sqlxconc();
	extern sqlxdduc();
	extern sqlxdexc();
	extern sqlxdfec();
	extern sqlxdopc();
	extern sqlxdsbc();
	extern sqlxexic();
	extern sqlxexuc();
	extern sqlxfetc();
	extern sqlxiduc();
	extern sqlxopkc();
	extern sqlxopuc();
	extern sqlxplnc();
	extern sqlxprec();
	extern sqlxsecc();
	extern sqlxstpc();
	extern sqlxsvpc();
  |