HPlogo ALLBASE/SQL C Application Programming Guide: HP 3000 MPE/iX Computer Systems > Chapter 2 Using the Preprocessor

Sample Preprocessor Generated Include Files

» 

Technical documentation

Complete book in PDF
» Feedback

 » Table of Contents

 » Index

Figures 2-10 through Figure 2-12 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 the include files:

       #include "sqltype"

       #include "sqlvar"

       #include "sqlextn"

These three directives are always inserted into the static or global declaration part of the program.

Figure 2-10 Sample Type Include File

typedef char  ownername_type[21];

typedef char  modulename_type[21];

typedef short sqlind;

typedef unsigned char sqlbinary;

typedef int  sqlvarbinary;

typedef struct {

  int  f1;

  int  f2;

  } sqltid;

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-11 Sample Variable Include File

static ownername_type  sqlowner   = "JOANN@ACCT1         ";

static modulename_type sqlmodname = "CEX2                ";

int sqlindex;

char  *sqlvar1;

char  *sqlvar2;

char  *sqlvar3;

char  *sqlvar4;

sqltempv_type   sqltempv;

Figure 2-12 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();
Feedback to webmaster