home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
sp15demo.zip
/
libsrc.zip
/
LIBSRC
/
SQLAPREP.PAS
< prev
next >
Wrap
Pascal/Delphi Source File
|
1996-02-22
|
28KB
|
579 lines
UNIT SQLAPREP;
{***************************************************************************
*
Module Name = SQLAPREP.H *
*
Descriptive Name = External Include file for Precompiler Services *
*
Copyright = 5622-044 (C) Copyright IBM Corp. 1988, 1993 *
Licensed Material - Program Property of IBM *
Refer to Copyright Instructions Form Number G120-3083 *
*
Function = Include File defining *
Global equates and structures *
Precompiler and Runtime Command Interfaces *
*
****************************************************************************}
INTERFACE
USES sql,sqlcodes,Os2Def;
TYPE
/* SQLDA: SQL Descriptor Area - Variable descriptor */
PSQLDA=^TSQLDA;
TSQLDA=RECORD
sqldaid:CSTRING[7]; /* Eye catcher = 'SQLDA ' */
sqldabc:LONG; /* SQLDA size in bytes=16+44*SQLN */
sqln:SHORT; /* Number of SQLVAR elements */
sqld:SHORT; /* # of used SQLVAR elements */
sqlvar:RECORD /* Variable Description */
sqltype:SHORT; /* Variable data type */
sqllen:SHORT; /* Variable data length */
sqldata:POINTER; /* Pointer to variable data value*/
sqlind:POINTER; /* Pointer to Null indicator */
sqlname:RECORD /* Variable Name */
alength:SHORT; /* Name length [1..30] */
data:CSTRING[29]; /* Variable or Column name */
END;
END;
END;
/* macro for allocating SQLDA */
{ SQLDASIZE(n) (sizeof(struct sqlda) + (n-1)*sizeof(struct sqlvar))}
/*
** Macro used to calculate size of a precompiler option array, an input
** parameter of SQLAINIT.
*/
{ SQLA_NUM_OPTIONS(n) (sizeof(struct sqla_options_header) + \
(n)*sizeof(struct sqla_option) )}
CONST
/*
** Values used for option[n].type, an input parameter of SQLAINIT.
*/
SQLA_FORMAT = SQL_FRMT_OPT ;/* Option: date/time format */
SQLA_ACCESS_PLAN = 2 ;/* Option: access plan creation */
SQLA_BIND_FILE = 3 ;/* Option: bind file creation */
SQLA_ISOLATION = SQL_ISO_OPT ;/* Option: isolation level */
SQLA_BLOCK = SQL_BLOCK_OPT;/* Option: record blocking */
SQLA_STDS_LEVEL = 7 ;/* Option: standards compliance */
/*
** Values used for option[n].val when option[n].type is SQLA_FORMAT in
** the Precompiler Option Array.
*/
SQLA_POA_DEF = 0;/* Default date/time format */
SQLA_POA_USA = 1;/* USA date/time format */
SQLA_POA_EUR = 2;/* European date/time format */
SQLA_POA_ISO = 3;/* International date/time format */
SQLA_POA_JIS = 4;/* Japanese date/time format */
SQLA_POA_LOC = 5;/* Local date/time format */
/*
** Values used for option[n].val when option[n].type is SQLA_ACCESS_PLAN in
** the Precompiler Option Array.
*/
SQLA_CREATE_PLAN = 1;/* Create an access plan */
SQLA_NO_PLAN = 0;/* Do not create an access plan */
/*
** Values used for option[n].val when option[n].type is SQLA_BIND_FILE in
** the Precompiler Option Array.
*/
SQLA_CREATE_BIND_FILE=1;/* Create a bind file */
SQLA_NO_BIND_FILE =0;/* Do not create a bind file */
/*
** Values used for option[n].val when option[n].type is SQLA_ISOLATION in
** the Precompiler Option Array.
*/
SQLA_REPEATABLE_READ =SQL_REP_READ ;/* RR isolation level */
SQLA_CURSOR_STABILITY=SQL_CURSOR_STAB;/* CS Isolation level */
SQLA_UNCOMMITTED_READ=SQL_UNCOM_READ ;/* UR Isolation level */
/*
** Values used for option[n].val when option[n].type is SQLA_BLOCK in
** the Precompiler Option Array.
*/
SQLA_BLOCK_UNAMBIG = SQL_BL_UNAMBIG;
SQLA_BLOCK_ALL = SQL_BL_ALL;
SQLA_NO_BLOCK = SQL_NO_BL;
/*
** Values used for option[n].val when option[n].type is SQLA_STDS_LEVEL in
** the Precompiler Option Array.
*/
SQLA_STND_NONE = 0;/* No compliance required */
SQLA_STND_MIA = 1;/* Comply with MIA standard */
/*
** Values used for location, an input parameter of SQLAAHVR.
*/
SQLA_DECLARE_SECT = 0;/* Add host var found in a declare section */
SQLA_SQL_STMT = 1;/* Add host var found in an SQL statement */
/*
** Values assigned to task[n].func, an output parameter of SQLACMPL.
*/
SQLA_START = 0;/* Generate a call to sqlastrt */
SQLA_DECLARE = 1;/* Begin or end parsing hvar declarations */
SQLA_INCLUDE = 2;/* Generate code for an SQLCA or SQLDA */
SQLA_ALLOC_INPUT = 3;/* Allocate an input SQLDA using SQLAALOC */
SQLA_ALLOC_OUTPUT = 4;/* Allocate an output SQLDA using SQLAALOC */
SQLA_SETS = 5;/* Register a host variable using SQLASETS */
SQLA_USDA_INPUT = 6;/* Register an input user-defined SQLDA */
SQLA_USDA_OUTPUT = 7;/* Register an output user-defined SQLDA */
SQLA_CALL = 8;/* Generate a call to SQLACALL */
SQLA_DEALLOC = 9;/* Generate a call to SQLADLOC */
SQLA_STOP =10;/* Generate a call to SQLASTOP */
SQLA_SQLERROR =11;/* Generate code for WHENEVER SQLERROR */
SQLA_SQLWARNING =12;/* Generate code for WHENEVER SQLWARNING */
SQLA_NOT_FOUND =13;/* Generate code for WHENEVER NOT_FOUND */
SQLA_CONNECT_EXCL =14;/* Generate code for an SQL */
/* 'CONNECT TO x IN EXCLUSIVE MODE' */
/* statement */
SQLA_CONNECT_RESET =15;/* Generate code for an SQL */
/* 'CONNECT RESET' statement */
SQLA_CONNECT_SHARE =16;/* Generate code for an SQL */
/* 'CONNECT TO x [IN SHARE MODE]' */
/* statement */
SQLA_INC_TEXTFILE =17;/* Process an INCLUDE text-file stmt */
/*
** Values returned in task[n].val when task[n].func is SQLA_DECLARE.
** This is an output parameter of SQLACMPL.
*/
SQLA_BEGIN = 0;
SQLA_END = 1;
/*
** Values returned in task[n].val when task[n].func is SQLA_INCLUDE.
** This is an output parameter of SQLACMPL.
*/
SQLA_SQLCA =10;
SQLA_SQLDA =11;
/*
** Values returned in task[n].val when task[n].func is SQLA_CALL.
** This is an output parameter of SQLACMPL.
*/
SQLA_CLOSE =20;
SQLA_COMMIT =21;
SQLA_DESCRIBE =22;
SQLA_EXECIMMD =23;
SQLA_EXECUTE =24;
SQLA_FETCH =25;
SQLA_OPEN =26;
SQLA_PREPARE =27;
SQLA_ROLLBACK =28;
SQLA_CONNECT =29;
/*
** Values assigned to token[n].use, an output parameter of SQLACMPL.
*/
SQLA_INPUT_HVAR =0;/* Input host var, no indicator var */
SQLA_INPUT_WITH_IND =1;/* Input host var followed by indicator var */
SQLA_OUTPUT_HVAR =2;/* Output host var, no indicator var */
SQLA_OUTPUT_WITH_IND=3;/* Output host var followed by indicator var*/
SQLA_INDICATOR =4;/* Indicator variable */
SQLA_USER_SQLDA =5;/* SQLDA structure */
SQLA_INVALID_USE =6;/* Host variable type does not match use */
SQLA_INVALID_ID =7;/* Host variable token ID is not valid */
/*
** Values assigned to stmt_type, an output parameter of SQLACMPL.
*/
SQLA_TYPE_BEGIN = 0;
SQLA_TYPE_CLOSE =10;
SQLA_TYPE_COMMIT =20;
SQLA_TYPE_CONNECT_NOP =23;
SQLA_TYPE_CONNECT_EXCLUSIVE=24;
SQLA_TYPE_CONNECT_RESET =25;
SQLA_TYPE_CONNECT_SHARE =26;
SQLA_TYPE_DECLARE_SELECT =30;
SQLA_TYPE_DECLARE_SNAME =40;
SQLA_TYPE_DESCRIBE =50;
SQLA_TYPE_END =60;
SQLA_TYPE_EXECUTE =70;
SQLA_TYPE_EXECUTE_IMM =80;
SQLA_TYPE_FETCH =90;
SQLA_TYPE_INCLUDE_SQLCA =100;
SQLA_TYPE_INCLUDE_SQLDA =110;
SQLA_TYPE_INCLUDE_TEXTFILE=115;
SQLA_TYPE_OPEN =120;
SQLA_TYPE_PREPARE =130;
SQLA_TYPE_ROLLBACK =140;
SQLA_TYPE_SELECT =150;
SQLA_TYPE_SELECT_INTO =160;
SQLA_TYPE_WHEN_NOT_FOUND =170;
SQLA_TYPE_WHEN_SQLERROR =180;
SQLA_TYPE_WHEN_SQLWARNING =190;
SQLA_TYPE_OTHER =200;
/*
** Values used for term_option, an input parameter of SQLAFINI.
*/
SQLA_SAVE = 1;/* Save the access plan and/or bind file */
SQLA_DISCARD = 0;/* Discard the access plan and/or bind file */
/*
** Miscellaneous Constants
*/
SQL_MAX_FILE_NAME_LENGTH = 128;/* size of SQLAINIT file name buffer */
SQL_CMPL_BUFSIZ = 128;/* size of SQLACMPL output buffers */
SQL_PID_LENGTH = 40;/* length of precompiler pid */
/*
** Return codes from Precompiler Services and Runtime Services functions.
*/
SQLA_SQLCA_BAD = -1;/* sqlca pointer/length invalid */
SQLA_CHECK_SQLCA = 0;/* check sqlca completion status */
/*
** Values returned in sqlca.sqlcode by Precompiler or Runtime Services
*/
SQLA_RC_CHAR_BAD = SQL_RC_E007;
SQLA_RC_STRING_NOT_TERMINATED = SQL_RC_E010;
SQLA_RC_EMPTY_DEL_IDENT = SQL_RC_E013;
SQLA_RC_BFILE_OPEN_ERROR =-31;
SQLA_RC_BFILE_DISK_ERROR =-32;
SQLA_RC_SECTION_LIMIT =-51;
SQLA_RC_MEMORY_BAD =-83;
SQLA_RC_SNAME_DUP =-85;
SQLA_RC_STMT_LIMIT = SQL_RC_E101;
SQLA_RC_NUMBER_BAD = SQL_RC_E103;
SQLA_RC_STMT_SYNTAX_BAD = SQL_RC_E104;
SQLA_RC_GSTRING_BAD = SQL_RC_E105; /* DBCS only */
SQLA_RC_IDENTIFIER_LIMIT = SQL_RC_E107;
SQLA_RC_QUALIFIER_BAD = SQL_RC_E108;
SQLA_RC_DDSBAD = SQL_RC_E142;
SQLA_RC_DDSIGN = SQL_RC_W143;
SQLA_RC_DDSWRN = SQL_RC_W143;
SQLA_RC_KEYWORD_BAD = SQL_RC_E199;
SQLA_RC_HVAR_NOT_DEC =-306;
SQLA_RC_HVAR_DUP_NAME =-307;
SQLA_RC_HVAR_LIMIT =-308;
SQLA_RC_STMT_HVAR_LIMIT =-310;
SQLA_RC_HVAR_USE_BAD =-324;
SQLA_RC_CURSOR_DUP =-505;
SQLA_RC_STMT_MODIFY_ALL = 513;
SQLA_RC_DISK_FULL = SQL_RC_E968;
SQLA_RC_FATAL_ERROR =-4901;
SQLA_RC_PARM_CHARS_BAD =-4902;
SQLA_RC_PARM_LENGTH_BAD = SQLA_RC_OPTION_LEN_BAD;
SQLA_RC_PARM_POINTER_BAD = SQLA_RC_OPTION_PTR_BAD;
SQLA_RC_PARM_RANGE_BAD = SQLA_RC_OPTION_SIZE_BAD;
SQLA_RC_HVAR_SQLTYPE_BAD =-4911;
SQLA_RC_HVAR_SQLLEN_BAD =-4912;
SQLA_RC_HVAR_TOKEN_ID_DUP =-4913;
SQLA_RC_HVAR_TOKEN_ID_BAD =-4914;
SQLA_RC_INIT_DUP =-4915;
SQLA_RC_INIT_REQUIRED =-4916;
SQLA_RC_OPTION_BAD = SQLA_RC_OPTION_DATA_BAD;
SQLA_RC_TERM_OPTION_BAD =-4918;
SQLA_RC_TASK_ARRAY_LIMIT =-4919;
SQLA_RC_STMT_CLAUSE_BAD =-4940;/* Prep version of -109 */
SQLA_RC_STMT_BLANK =-4941;/* Prep version of -198 */
SQLA_RC_SELECT_HVAR_TYPE_BAD=-4942;/* Prep version of -303 */
SQLA_RC_SELECT_LIST_BAD = 4943;/* Prep version of -313 */
SQLA_RC_COLUMN_NOT_NULLABLE =-4944;/* Prep version of -407 */
SQLA_RC_STMT_MARKER_BAD =-4945;/* Prep version of -418 */
SQLA_RC_CURSOR_NOT_DECLARED =-4946;/* Prep version of -504 */
SQLA_RC_SQLDA_ID_BAD =-4951;
SQLA_RC_SQLVAR_INDEX_BAD =-4952;
SQLA_RC_CALL_TYPE_BAD =-4953;
SQLA_RC_SECTION_BAD =-4954;
/*
** Temporary value used in sqlca.sqlcode after an SQLAALOC function. Runtime
** code can check sqlca.sqlcode to determine whether or not the SQLASETV
** function needs to be called to initialize the sqlda sqlvar elements.
*/
SQLA_RC_SQLVARS_SET = 4959;/* sqlvars already initialized */
/*
** Errors that cause Precompiler Services to enter the fatal error state.
** After encountering one of these types of errors, Precompiler Services
** requires an SQLAFINI and SQLAINIT call before it will continue.
*/
SQLA_RC_INV_INSERT = SQL_RC_E803 ;
SQLA_RC_INV_SQLDA_ADR = SQL_RC_E822 ;
SQLA_RC_SYS_ERROR = SQL_RC_E902 ;
SQLA_RC_DEADLOCK_ERR = SQL_RC_E911 ;
SQLA_RC_FAT_SYS_ERR = SQL_RC_E912 ;
SQLA_RC_TOO_MANY_LKS = SQL_RC_E930 ;
SQLA_RC_STORAGE_ERR = SQL_RC_E954 ;
SQLA_RC_DB_HEAP_ERR = SQL_RC_E956 ;
SQLA_RC_TOOMANY_OFLS = SQL_RC_E958 ;
SQLA_RC_TOOMANY_FILES = SQL_RC_E960 ;
SQLA_RC_LOG_FULL = SQL_RC_E964 ;
SQLA_RC_FILE_SYS_FULL = SQL_RC_E968 ;
SQLA_RC_READ_ONLY_FIL = SQL_RC_E970 ;
SQLA_RC_INCORRECT_DSK = SQL_RC_E972 ;
SQLA_RC_DB_DRV_LOCKED = SQL_RC_E974 ;
SQLA_RC_DRV_DOOR_OPEN = SQL_RC_E976 ;
SQLA_RC_DISK_WRT_PRO = SQL_RC_E978 ;
SQLA_RC_DISK_ERROR = SQL_RC_E980 ;
SQLA_RC_DISK_ERR = SQL_RC_E982 ;
SQLA_RC_COMM_RB_ERR = SQL_RC_E984 ;
SQLA_RC_CAT_FILE_ERR = SQL_RC_E985 ;
SQLA_RC_TAB_FILE_ERR = SQL_RC_E986 ;
SQLA_RC_INDEX_ERR = SQL_RC_E990 ;
SQLA_RC_REL_NUM_BAD = SQL_RC_E992 ;
SQLA_RC_CTRL_BREAK = -4994;/* Prep version of -952 */
SQLA_RC_CODEPAGE_BAD = -4995;/* Country info not found */
SQLA_RC_SQLUSER_BAD = -4997;/* Prep version of -1046 */
SQLA_RC_DB_DISCONNECTED = -4998;/* Prep version of -900 */
SQLA_RC_INTERNAL_ERR = -4999;/* Precompiler Services err */
/*********************** Precompiler Services Structures *******************/
TYPE
/*
** Precompiler Option Array. Used with SQLAINIT.
*/
PSQLA_OPTIONS=^TSQLA_OPTIONS;
TSQLA_OPTIONS=RECORD
header:RECORD
allocated:ULONG;
used:ULONG;
END;
option:RECORD
atype:ULONG;
aval:ULONG;
END;
END;
TYPE
/*
** Program ID. Used by Precompiler Services and Runtime Services
*/
PSQLA_PROGRAM_ID=^TSQLA_PROGRAM_ID;
TSQLA_PROGRAM_ID=RECORD
alength:WORD;
rp_rel_num:WORD;
db_rel_num:WORD;
bf_rel_num:WORD;
sqluser:CSTRING[7];
planname:CSTRING[7];
contoken:CSTRING[7];
buffer:CSTRING[7];
END;
TYPE
/*
** Precompiler Task Array. Used with SQLACMPL.
*/
PSQLA_TASKS=^TSQLA_TASKS;
TSQLA_TASKS=RECORD
header:RECORD
allocated:ULONG;
used:ULONG;
END;
task:RECORD
func:ULONG;
aval:ULONG;
END;
END;
TYPE
/*
** Token return structure. Used to return length and offset of
** a token within an SQL statement. Overlaid on top of the val
** member of the task array.
*/
PSQLA_RETURN_TOKEN=^TSQLA_RETURN_TOKEN;
TSQLA_RETURN_TOKEN=RECORD
offset:WORD;
alength:WORD;
END;
TYPE
/*
** Precompiler Token ID Array. Used with SQLACMPL
*/
PSQLA_TOKENS=^TSQLA_TOKENS;
TSQLA_TOKENS=RECORD
header:RECORD
allocated:ULONG;
used:ULONG;
END;
token:RECORD
id:ULONG;
use:ULONG;
END;
END;
IMPORTS
/* ADD A HOST VARIABLE DECLARATION */
FUNCTION sqlaahvr (VAR hostnamelen:WORD; /* host variable name length */
hostname:CSTRING; /* host variable name */
VAR HostData:WORD; /* host variable SQL data type */
VAR VarLen:WORD; /* host variable length */
TokenID:POINTER; /* host variable token id */
VAR HostLoc:WORD; /* host variable location */
reserved:POINTER; /* reserved */
asqlca : TSQLCA):INTEGER; /* SQLCA */
APIENTRY; 'SQLAI32' name 'sqlaahvr';
/* COMPILE AN SQL STATEMENT */
FUNCTION sqlacmpl (VAR len:WORD; /* SQL statement text length */
statement:CSTRING; /* SQL statement text */
VAR linenum:WORD; /* source line number */
VAR asqla_tasks:TSQLA_TASKS; /* task array */
VAR asqla_tokens:TSQLA_TOKENS; /* token id array */
VAR sectionnum:WORD; /* section number */
VAR sqlstattype:WORD; /* type of SQL statement */
buffer1:CSTRING; /* 128 byte string buffer 1 */
buffer2:CSTRING; /* 128 byte string buffer 2 */
buffer3:CSTRING; /* 128 byte string buffer 3 */
reserved:POINTER; /* reserved */
VAR asqlca:TSQLCA):INTEGER; /* SQLCA */
APIENTRY; 'SQLAI32' name 'sqlacmpl';
/* TERMINATE AN ACCESS PLAN */
FUNCTION sqlafini (VAR bindfile:WORD; /* save/discard plan/bind file */
reserved:POINTER; /* reserved */
VAR asqlca:TSQLCA):INTEGER; /* SQLCA */
APIENTRY; 'SQLAI32' name 'sqlafini';
/* INITIALIZE AN ACCESS PLAN */
FUNCTION sqlainit (VAR prognamelen:WORD; /* program name length */
ProgName:CSTRING; /* program name */
VAR DatabaseNameLen:WORD; /* database name length */
DataBase:CSTRING; /* database name */
VAR passwdlen:WORD; /* password length */
passwd:CSTRING; /* database password */
VAR bindfilenamelen:WORD; /* bind file name length */
bindfile:CSTRING; /* bind file name */
VAR asqla_options:TSQLA_OPTIONS; /* precompiler option array */
VAR asqla_program_id:TSQLA_PROGRAM_ID; /* precompiler program ID */
reserved:POINTER; /* reserved */
VAR asqlca:TSQLCA):INTEGER; /* SQLCA */
APIENTRY; 'SQLAI32' name 'sqlainit';
/* ADD A HOST VARIABLE DECLARATION */
FUNCTION SQLGAHVR (VAR hostnamelen:WORD; /* host variable name length */
hostname:CSTRING; /* host variable name */
VAR sqldatatype:WORD; /* host variable SQL data type */
VAR hostvarlen:WORD; /* host variable length */
tokenid:POINTER; /* host variable token id */
VAR loc:WORD; /* host variable location */
reserved:POINTER; /* reserved */
VAR asqlca:TSQLCA):INTEGER; /* SQLCA */
APIENTRY; 'SQLAPI32' name 'SQLGAHVR';
/* COMPILE AN SQL STATEMENT */
FUNCTION SQLGCMPL (VAR textlen:WORD; /* SQL statement text length */
statement:CSTRING; /* SQL statement text */
VAR linenum:WORD; /* source line number */
VAR asqla_tasks:TSQLA_TASKS; /* task array */
VAR asqla_tokens:TSQLA_TOKENS; /* token id array */
VAR section:WORD; /* section number */
VAR sqltype:WORD; /* type of SQL statement */
buffer1:CSTRING; /* 128 byte string buffer 1 */
buffer2:CSTRING; /* 128 byte string buffer 2 */
buffer3:CSTRING; /* 128 byte string buffer 3 */
reserved:POINTER; /* reserved */
VAR asqlca:TSQLCA):INTEGER; /* SQLCA */
APIENTRY; 'SQLAPI32' name 'SQLGCMPL';
/* TERMINATE AN ACCESS PLAN */
FUNCTION SQLGFINI (VAR bindfile:WORD; /* save/discard plan/bind file */
reserved:POINTER; /* reserved */
VAR asqlca:TSQLCA):INTEGER; /* SQLCA */
APIENTRY; 'SQLAPI32' name 'SQLGFINI';
/* INITIALIZE AN ACCESS PLAN */
FUNCTION SQLGINIT (VAR ProgNameLen:WORD; /* program name length */
ProgName:CSTRING; /* program name */
VAR databasenamelen:WORD; /* database name length */
database:CSTRING; /* database name */
VAR passwdlen:WORD; /* password length */
passwd:CSTRING; /* database password */
VAR bindfilelen:WORD; /* bind file name length */
bindfile:CSTRING; /* bind file name */
VAR asqla_options:TSQLA_OPTIONS; /* precompiler option array */
VAR asqla_program_id:TSQLA_PROGRAM_ID; /* precompiler program ID */
reserved:POINTER; /* reserved */
VAR asqlca:TSQLCA):INTEGER; /* SQLCA */
APIENTRY; 'SQLAPI32' name 'SQLGINIT';
/* Begin Runtime Services prototypes : **************************************/
FUNCTION sqlaaloc (id:LONGWORD; /* sqlda identification number */
elems:LONGWORD; /* number of sqlvar elements needed */
statementid:LONGWORD; /* statement identification number */
reserved:POINTER):INTEGER; /* reserved */
APIENTRY; 'SQLAK32' name 'sqlaaloc';
FUNCTION sqlacall (typ:LONGWORD; /* function call type */
aplan:LONGWORD; /* access plan section */
id:LONGWORD; /* input SQLDA ID */
outputid:LONGWORD;/* output SQLDA ID */
reserved:POINTER):INTEGER; /* reserved */
APIENTRY; 'SQLAK32' name 'sqlacall';
FUNCTION sqladloc (id:LONGWORD; /* SQLDA ID */
reserved:POINTER):INTEGER; /* reserved */
APIENTRY; 'SQLAK32' name 'sqladloc';
FUNCTION sqlasets (textlen:LONGWORD; /* SQL statement text length */
statement:POINTER; /* SQL statement text */
reserved:POINTER):INTEGER; /* reserved */
APIENTRY; 'SQLAK32' name 'sqlasets';
FUNCTION sqlasetv (id:LONGWORD; /* SQLDA ID */
elem:LONGWORD; /* sqlvar element */
datatype:LONGWORD;/* SQL data type */
len:LONGWORD; /* declared length */
hostvaradr:POINTER; /* address of host var */
indicatoradr:POINTER; /* address of indicator var */
reserved:POINTER):INTEGER; /* reserved */
APIENTRY; 'SQLAK32' name 'sqlasetv';
FUNCTION sqlastop (reserved:POINTER):INTEGER; /* reserved */
APIENTRY; 'SQLAK32' name 'sqlastop';
FUNCTION sqlastrt (ProgId:POINTER; /* runtime program ID */
reserved:POINTER; /* reserved */
VAR asqlca:TSQLCA):INTEGER; /* SQLCA */
APIENTRY; 'SQLAK32' name 'sqlastrt';
FUNCTION sqlausda (id:LONGWORD; /* SQLDA id */
VAR asqlda:TSQLDA; /* SQLDA pointer */
reserved:POINTER):INTEGER; /* Reserved */
APIENTRY; 'SQLAK32' name 'sqlausda';
END;
IMPLEMENTATION
END.