home *** CD-ROM | disk | FTP | other *** search
- UNIT SQL;
-
- {*************************************************************************
- * *
- * Module Name = SQL.H *
- * *
- * Descriptive Name = External Include file for Database Manager *
- * *
- * 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 *
- * System Constants *
- * SQLCA/SQLDA Constants *
- * Dynamic Link Interface to BINDER *
- * Error Message Retrieval Interface *
- * Authorization Constants *
- * *
- *************************************************************************}
-
- INTERFACE
-
- USES OS2Def;
-
- TYPE
- /* SQL Communication Area - SQLCA */
- PSQLCA=^TSQLCA;
- TSQLCA=RECORD
- sqlcaid: ARRAY[0..7] OF BYTE; /* Eyecatcher = 'SQLCA ' */
- sqlcabc:LONG; /* SQLCA size in bytes = 136 */
- sqlcode:LONG; /* SQL return code */
- sqlerrml:SHORT; /* Length for SQLERRMC */
- sqlerrmc: ARRAY[0..69] OF BYTE; /* Error message tokens */
- sqlerrp:ARRAY[0..7] OF BYTE; /* Diagnostic information */
- sqlerrd:ARRAY[0..5] OF LONG; /* Diagnostic information */
- sqlwarn:ARRAY[0..10] OF BYTE; /* Warning flags */
- sqlstate:ARRAY[0..4] OF BYTE; /* State corresponding to SQLCODE */
- END;
-
- VAR
- sqlca:TSQLCA;
-
- VAR
- SQLCODE :LONG ABSOLUTE sqlca.sqlcode;
- SQLWARN0 :BYTE ABSOLUTE sqlca.sqlwarn[0];
- SQLWARN1 :BYTE ABSOLUTE sqlca.sqlwarn[1];
- SQLWARN2 :BYTE ABSOLUTE sqlca.sqlwarn[2];
- SQLWARN3 :BYTE ABSOLUTE sqlca.sqlwarn[3];
- SQLWARN4 :BYTE ABSOLUTE sqlca.sqlwarn[4];
- SQLWARN5 :BYTE ABSOLUTE sqlca.sqlwarn[5];
- SQLWARN6 :BYTE ABSOLUTE sqlca.sqlwarn[6];
- SQLWARN7 :BYTE ABSOLUTE sqlca.sqlwarn[7];
- SQLWARN8 :BYTE ABSOLUTE sqlca.sqlwarn[8];
- SQLWARN9 :BYTE ABSOLUTE sqlca.sqlwarn[9];
- SQLWARNA :BYTE ABSOLUTE sqlca.sqlwarn[10];
-
- CONST
- /* System Constants */
-
- SQL_KEYPMAX = 16 ; /* Maximum nbr of key parts in Index */
- SQL_KEYLMAX = 255 ; /* Maximum key length */
- SQL_SORTFLDLMT = 254 ; /* Maximum size of field for sort */
- SQL_MAXRECL = 4005 ; /* Maximum record length */
- SQL_MAXTABLES = 15 ; /* Maximum nbr of tables in a SELECT */
- SQL_MAXSEL_ITEMS = 255 ; /* Maximum nbr of items in a SELECT */
- SQL_MAXVARS = 880 ; /* Maximum nbr of unique Host Vars */
- SQL_MAXVARS_STMT = 1489 ; /* Maximum nbr of Host Vars per stmt */
- SQL_MAXSTMTS = 400 ; /* Maximum nbr of Sections in a Plan */
- SQL_MAXCOLS = 255 ; /* Maximum nbr of columns in a table */
- SQL_MAX_STMT_SIZ = 32765 ; /* Maximum statement size */
-
- SQL_SMALL_LENGTH = 2 ; /* Size of a SMALLINT */
- SQL_MAXSMALLVAL = 32767 ; /* Maximum value of a SMALLINT */
- SQL_MINSMALLVAL = -32768 ; /* Minimum value of a SMALLINT */
- SQL_INT_LENGTH = 4 ; /* Size of an INTEGER */
- SQL_MAXINTVAL = maxint ; /* Maximum value of an INTEGER */
- SQL_MININTVAL = minint ; /* Minimum value of an INTEGER */
- SQL_FLOAT_LENGTH = 8 ; /* Size of a FLOAT */
- SQL_DEFDEC_PRECISION= 5 ; /* Default precision for DECIMAL */
- SQL_DEFDEC_SCALE = 0 ; /* Default scale for DECIMAL */
- SQL_MAXDECIMAL = 31 ; /* Maximum scale/prec. for DECIMAL */
- SQL_DEFCHAR = 1 ; /* Default length for a CHAR */
- SQL_MAXCHAR = 254 ; /* Maximum length of a CHAR */
- SQL_MAXLSTR = 255 ; /* Maximum length of an LSTRING */
- SQL_MAXVCHAR=(SQL_MAXRECL-5); /* Maximum length of a VARCHAR */
- SQL_MAXVGRAPH = 2000 ; /* Maximum length of a VARGRAPHIC */
- SQL_VCHAROH = 4 ; /* Overhead for VARCHAR in record */
- SQL_LONGMAX = 32700 ; /* Maximum length of a LONG VARCHAR */
- SQL_LONGGRMAX = 16350 ; /* Max. length of a LONG VARGRAPHIC */
- SQL_LVCHAROH = 24 ; /* Overhead for LONG VARCHAR in rec. */
- SQL_TIME_LENGTH = 3 ; /* Size of a TIME field */
- SQL_TIME_STRLEN = 8 ; /* Size of a TIME field output */
- SQL_TIME_MINSTRLEN= 5 ; /* Size of a non-USA TIME field output
- without seconds */
- SQL_DATE_LENGTH = 4 ; /* Size of a DATE field */
- SQL_DATE_STRLEN = 10 ; /* Size of a DATE field output */
- SQL_STAMP_LENGTH = 10 ; /* Size of a TIMESTAMP field */
- SQL_STAMP_STRLEN = 26 ; /* Size of a TIMESTAMP field output */
- SQL_STAMP_MINSTRLEN= 19 ; /* Size of a TIMESTAMP field output
- without microseconds */
- SQL_IND_LENGTH = 2 ; /* Size of a indicator value */
-
- SQL_LG_IDENT = 18 ; /* Maximum length of Long Identifer */
- SQL_SH_IDENT = 8 ; /* Maximum length of Short Identifer */
- SQL_MN_IDENT = 1 ; /* Minimum length of Identifiers */
- SQL_MAX_VAR_NAME = 30 ; /* Max size of Host Variable Name */
-
-
-
- /* Codepages */
- SQL_CP_437 = 437 ; /* Codepage 437 - US, Europe */
- SQL_CP_813 = 813 ; /* Codepage 813 - AIX Greece */
- SQL_CP_819 = 819 ; /* Codepage 819 - ISO 8859-1 */
- SQL_CP_850 = 850 ; /* Codepage 850 - International PC */
- SQL_CP_852 = 852 ; /* Codepage 852 - OS2 Latin2 */
- SQL_CP_857 = 857 ; /* Codepage 857 - OS2 Turkey */
- SQL_CP_860 = 860 ; /* Codepage 860 - Portuguese */
- SQL_CP_862 = 862 ; /* Codepage 860 - OS2 Hebrew */
- SQL_CP_863 = 863 ; /* Codepage 863 - Canadian-French */
- SQL_CP_864 = 864 ; /* Codepage 863 - OS2 Arabic */
- SQL_CP_865 = 865 ; /* Codepage 865 - Norway, Denmark */
- SQL_CP_869 = 869 ; /* Codepage 869 - OS2 Greece */
- SQL_CP_891 = 891 ; /* Codepage 891 - Korean */
- SQL_CP_897 = 897 ; /* Codepage 897 - Japanese */
- SQL_CP_903 = 903 ; /* Codepage 903 - Chinese */
- SQL_CP_904 = 904 ; /* Codepage 904 - Taiwan */
- SQL_CP_912 = 912 ; /* Codepage 912 - AIX Latin2 */
- SQL_CP_916 = 916 ; /* Codepage 916 - AIX Hebrew */
- SQL_CP_920 = 920 ; /* Codepage 920 - AIX Turkey */
- SQL_CP_1040 = 1040 ; /* Codepage 1040 - Extended Korean */
- SQL_CP_1041 = 1041 ; /* Codepage 1041 - Extended Japanese */
- SQL_CP_1042 = 1042 ; /* Codepage 1042 - Extended Chinese */
- SQL_CP_1043 = 1043 ; /* Codepage 1043 - Extended Taiwan */
- SQL_CP_1046 = 1046 ; /* Codepage 1046 - AIX Arabic */
- SQL_CP_1088 = 1088 ; /* Codepage 1088 - Korea Std */
- SQL_CP_1089 = 1089 ; /* Codepage1089 - AIX Arabic */
-
- /* DBCS Codepages */
- SQL_CP_926 = 926 ; /* Codepage 926 - Korean */
- SQL_CP_951 = 951 ; /* Codepage 951 - New Korean */
- SQL_CP_301 = 301 ; /* Codepage 301 - Japanese */
- SQL_CP_928 = 928 ; /* Codepage 928 - Chinese */
- SQL_CP_927 = 927 ; /* Codepage 927 - Taiwan */
-
- /* Combined Codepages */
- SQL_CP_934 = 934 ; /* Codepage 891 + 926 - Korean */
- SQL_CP_949 = 949 ; /* CP 1088 + 951 - Korean Std */
- SQL_CP_932 = 932 ; /* Codepage 897 + 301 - Japanese */
- SQL_CP_936 = 936 ; /* Codepage 903 + 928 - Chinese */
- SQL_CP_938 = 938 ; /* Codepage 904 + 927 - Taiwan */
- SQL_CP_944 = 944 ; /* Codepage 1040 + 926 - Ext.Korean */
- SQL_CP_942 = 942 ; /* Codepage 1041 + 301 - Ext.Japanese*/
- SQL_CP_946 = 946 ; /* Codepage 1042 + 928 - Ext.Chinese */
- SQL_CP_948 = 948 ; /* Codepage 1043 + 927 - Ext.Taiwan */
-
- /* Datastream Types */
- SQL_JPN_PC = 1;/* Japanese-PC */
- SQL_CHN_PC = 2;/* Chinese-PC */
- SQL_KOR_PC = 3;/* Korean-PC */
- SQL_KSC_PC = 4;/* New Korean-PC */
- SQL_SBC_PC = 0;/* Single byte PC */
- SQL_UNKN_PC = 255;/* Unknown */
-
- /* SQLCA Constants */
-
- SQL_RC_INVALID_SQLCA = -1; /* Invalid SQLCA address */
-
- /* Size of SQLCA */
- SQLCA_SIZE = sizeof(sqlca);
-
- /* SQL Error message token delimiter */
- SQL_ERRMC_PRES =$FF; /* delimiter for string entry */
-
- /* Offset in SQLERRD - Diagnostic information */
- SQL_ERRD_RC =0 ; /* return code */
- SQL_ERRD_REAS =1 ; /* reason code */
- SQL_ERRD_CNT =2 ; /* nbr rows inserted/updated/deleted */
- SQL_ERRD_OPTM =3 ; /* optimizer information */
- SQL_ERRD_DCNT =4 ; /* nbr of cascaded deletes/updates */
- SQL_ERRD_LINE =4 ; /* line number for recompile error */
- SQL_ERRD_DIAG =5 ; /* diagnostics */
-
- /* Indexes in SQLWARN - Warning flags */
- SQL_WARN_ANY =0; /* composite - set if any warnings */
- SQL_WARN_TRUNC=1; /* string column truncated */
- SQL_WARN_NUL =2; /* null values eliminated */
- SQL_WARN_MISM =3; /* nbr of columns/host vars mismatch */
- SQL_WARN_ALLR =4; /* no WHERE clause in update/delete */
- SQL_WARN_DATE =6; /* date has been truncated */
-
- /* Values for Warning flags in SQLWARN */
- SQL_WARNING ='W'; /* warning indicator */
- SQL_NULL_TRN ='N'; /* null terminator truncated warning */
- SQL_NO_WARN =' '; /* no warning indicator */
-
-
-
- /* SQLDA Constants */
-
- /* increment for type with null indicator */
- SQL_TYP_NULINC = 1 ;
-
- /* Variable Types */
- SQL_TYP_DATE = 384 ; /* DATE */
- SQL_TYP_NDATE = (SQL_TYP_DATE+SQL_TYP_NULINC);
-
- SQL_TYP_TIME = 388 ; /* TIME */
- SQL_TYP_NTIME = (SQL_TYP_TIME+SQL_TYP_NULINC);
-
- SQL_TYP_STAMP = 392 ; /* TIMESTAMP */
- SQL_TYP_NSTAMP = (SQL_TYP_STAMP+SQL_TYP_NULINC);
-
- SQL_TYP_VARCHAR = 448 ; /* VARCHAR(i) - varying length string
- (2 byte length) */
- SQL_TYP_NVARCHAR = (SQL_TYP_VARCHAR+SQL_TYP_NULINC);
-
- SQL_TYP_CHAR = 452 ; /* CHAR(i) - fixed length string */
- SQL_TYP_NCHAR = (SQL_TYP_CHAR+SQL_TYP_NULINC);
-
- SQL_TYP_LONG = 456 ; /* LONG VARCHAR - varying length
- string */
- SQL_TYP_NLONG = (SQL_TYP_LONG+SQL_TYP_NULINC);
-
- SQL_TYP_CSTR = 460 ; /* varying length string for C
- (null terminated) */
- SQL_TYP_NCSTR = (SQL_TYP_CSTR+SQL_TYP_NULINC);
-
- SQL_TYP_VARGRAPH = 464 ; /* VARGRAPHIC(i) - varying length
- graphic string (2 byte length) */
- SQL_TYP_NVARGRAPH = (SQL_TYP_VARGRAPH+SQL_TYP_NULINC);
-
- SQL_TYP_GRAPHIC = 468 ; /* GRAPHIC(i) - fixed length graphic
- string */
- SQL_TYP_NGRAPHIC = (SQL_TYP_GRAPHIC+SQL_TYP_NULINC);
-
- SQL_TYP_LONGRAPH = 472 ; /* LONG VARGRAPHIC(i) - varying length
- graphic string */
- SQL_TYP_NLONGRAPH = (SQL_TYP_LONGRAPH+SQL_TYP_NULINC);
-
- SQL_TYP_LSTR = 476 ; /* varying length string for Pascal
- (1-byte length) */
- SQL_TYP_NLSTR = (SQL_TYP_LSTR+SQL_TYP_NULINC);
-
- SQL_TYP_FLOAT = 480 ; /* FLOAT - 8-byte floating point */
- SQL_TYP_NFLOAT = (SQL_TYP_FLOAT+SQL_TYP_NULINC);
-
- SQL_TYP_DECIMAL = 484 ; /* DECIMAL (m,n) */
- SQL_TYP_NDECIMAL = (SQL_TYP_DECIMAL+SQL_TYP_NULINC);
-
- SQL_TYP_ZONED = 488 ; /* Zoned Decimal -> DECIMAL (m,n) */
- SQL_TYP_NZONED = (SQL_TYP_ZONED+SQL_TYP_NULINC); /* &01 */
-
- SQL_TYP_INTEGER = 496 ; /* INTEGER - 4-byte signed integer */
- SQL_TYP_NINTEGER = (SQL_TYP_INTEGER+SQL_TYP_NULINC);
-
- SQL_TYP_SMALL = 500 ; /* SMALLINT - 2-byte signed integer*/
- SQL_TYP_NSMALL = (SQL_TYP_SMALL+SQL_TYP_NULINC);
-
- SQL_TYP_NUMERIC = 504 ; /* NUMERIC -> DECIMAL (m,n) &01 */
- SQL_TYP_NNUMERIC = (SQL_TYP_NUMERIC+SQL_TYP_NULINC); /* &01 */
-
-
-
- /* Return Codes for sqlabind and sqlabndr */
-
- SQLA_RC_BINDERROR = -1 ; /* Bind execution failed */
- SQLA_RC_BAD_BINDNAME = -2 ; /* Invalid bind file */
- SQLA_RC_BAD_DBNAME = -3 ; /* Invalid database */
- SQLA_RC_BAD_PASSWD = -4 ; /* Invalid password
- (not used after Release 2) */
- SQLA_RC_BAD_MSGNAME = -5 ; /* Invalid message file */
- SQLA_RC_BAD_FORMAT = -6 ; /* Invalid format */
- SQLA_RC_OPEN_ERROR = -31; /* Error opening list file */
- SQLA_RC_BAD_BNDFILE = -39; /* Bind file corrupted */
- SQLA_RC_LIST_ERROR = -40; /* Bind list errors */
- SQLA_RC_INTERRUPT = -94; /* Interrupt */
-
- /* Additional return Codes for sqlabndr only */
- SQLA_RC_OPTION_LEN_BAD =-4903;/* Option array length is invalid */
- SQLA_RC_OPTION_PTR_BAD =-4904;/* Option array ptr is invalid */
- SQLA_RC_OPTION_SIZE_BAD=-4905;/* Option array size is invalid */
- SQLA_RC_OPTION_DATA_BAD=-4917;/* Option array data is invalid */
-
- /* Values used for the date/time format parameter of sqlabind */
- SQL_FMT_DEF = 'DEF' ; /* FORMAT = Default for Country Code */
- SQL_FMT_USA = 'USA' ; /* FORMAT = USA */
- SQL_FMT_EUR = 'EUR' ; /* FORMAT = EUR */
- SQL_FMT_ISO = 'ISO' ; /* FORMAT = ISO */
- SQL_FMT_JIS = 'JIS' ; /* FORMAT = JIS */
- SQL_FMT_LOC = 'LOC' ; /* FORMAT = LOCAL */
-
-
- TYPE
- /* Structures used system wide */
- PSQLCHAR=^TSQLCHAR;
- TSQLCHAR=RECORD
- length:SHORT;
- data:BYTE;
- END;
-
- VAR
- sqlchar:TSQLCHAR;
-
- TYPE
- /* Structure used to store binder options when calling sqlabndr */
- PSQLOPT=^TSQLOPT;
- TSQLOPT=RECORD
- header:RECORD /* Header for sqlopt structur */
- allocated:ULONG; /* Number of options allocated */
- used:ULONG; /* Number of options used */
- END;
- option:RECORD
- atype:ULONG; /* Type of bind option */
- val:ULONG; /* Value of bind option */
- END;
- END;
-
- VAR
- sqlopt:TSQLOPT;
-
- CONST
- /* Values used for option[n].type in the sqlopt structure of sqlabndr */
- SQL_FRMT_OPT = 1 ; /* Option for date/time format */
- SQL_ISO_OPT = 4 ; /* Option for isolation level */
- SQL_BLOCK_OPT = 5 ; /* Option for record blocking */
- SQL_GRANT_OPT = 6 ; /* Option for granting privileges */
-
- /* Values used for option[n].val when option[n].type is SQL_FRMT_OPT */
- /* These can be also be used for the date/time format parameter of sqlabind */
- SQL_FMT_0 ='0'; /* FORMAT = Default for Country Code */
- SQL_FMT_1 ='1'; /* FORMAT = USA */
- SQL_FMT_2 ='2'; /* FORMAT = EUR */
- SQL_FMT_3 ='3'; /* FORMAT = ISO */
- SQL_FMT_4 ='4'; /* FORMAT = JIS */
- SQL_FMT_5 ='5'; /* FORMAT = LOCAL */
-
- /* Values used for option[n].val when option[n].type is SQL_ISO_OPT */
- SQL_REP_READ = 0 ; /* Repeatable read level */
- SQL_CURSOR_STAB = 1 ; /* Cursor stability level */
- SQL_UNCOM_READ = 2 ; /* Uncommitted read level */
-
- /* Values used for option[n].val when option[n].type is SQL_BLOCK_OPT */
- SQL_BL_UNAMBIG = 0 ; /* Block Unambiguous cursors */
- SQL_BL_ALL = 1 ; /* Block All cursors */
- SQL_NO_BL = 2 ; /* Block No cursors */
-
-
- /* Return Codes for sqlaintp */
- SQLA_ERR_BADCC =-1 ; /* insufficient memory for msg file */
- SQLA_ERR_NOCOD =-2 ; /* no error code in SQLCA */
- SQLA_ERR_NOMSG =-3 ; /* requested message not found */
- SQLA_ERR_BADLL =-4 ; /* specified line length negative */
- SQLA_ERR_BADCA =-5 ; /* invalid sqlca/buffer addr/length */
-
-
-
- /* Administrative/Database Authorizations returned from Get Administrative
- Authorizations function */
-
- /* Authorizations granted explicitly to user */
- SQL_SYSADM =$0001 ; /* SYSADM Authority */
- SQL_DBADM =$0002 ; /* DBADM Authority */
- SQL_CREATETAB =$0004 ; /* CREATETAB Privilege */
- SQL_BINDADD =$0008 ; /* BINDADD Privilege */
- SQL_CONNECT =$0010 ; /* CONNECT Privilege */
-
- /* Composite of authorizations granted explicitly to user,
- to groups of which user is a member, and to PUBLIC */
- SQL_SYSADM_GRP =(SQL_SYSADM SHL 8);
- SQL_DBADM_GRP =(SQL_DBADM SHL 8);
- SQL_CREATETAB_GRP =(SQL_CREATETAB SHL 8);
- SQL_BINDADD_GRP =(SQL_BINDADD SHL 8);
- SQL_CONNECT_GRP =(SQL_CONNECT SHL 8);
-
- /* Table/View Authorizations/Dependencies Bit definitions
- in SYSTABAUTH.TABAUTH and SYSPLANDEP.TABAUTH */
- SQL_TAB_CTL =$0001 ; /* Control Authority */
- SQL_TAB_ALT =$0002 ; /* Alter Privilege */
- SQL_TAB_DEL =$0004 ; /* Delete Privilege/Dependency */
- SQL_TAB_IDX =$0008 ; /* Index Privilege */
- SQL_TAB_INS =$0010 ; /* Insert Privilege/Dependency */
- SQL_TAB_SEL =$0020 ; /* Select Privilege/Dependency */
- SQL_TAB_UPD =$0040 ; /* Update Privilege/Dependency */
- SQL_TAB_REF =$0080 ; /* Reference Privilege */
- SQL_TAB_KEY =$2000 ; /* Key Dependency */
- SQL_TAB_CAS =$4000 ; /* Cascade Dependency */
-
- /* Definitions for application remote interface */
- SQLZ_DISCONNECT_PROC = 1; /* Unload Progam */
- SQLZ_HOLD_PROC = 2; /* Keep program loaded */
-
-
- IMPORTS
- /* Binder Interface Parameters/Return Codes */
- FUNCTION sqlabind (name:CSTRING; /* program name */
- database:CSTRING; /* database */
- spare:CSTRING; /* spare */
- msgfile:CSTRING; /* message file */
- datetimefmt:CSTRING; /* date/time format */
- VAR asqlca:TSQLCA):INTEGER; /* SQLCA */
- APIENTRY; 'SQLA32' name 'sqlabind';
- FUNCTION sqlabndr (name:CSTRING; /* program name */
- database:CSTRING; /* database */
- msgfile:CSTRING; /* message file */
- VAR asqlopt:TSQLOPT; /* binder options */
- VAR asqlca:TSQLCA):INTEGER; /* SQLCA */
- APIENTRY; 'SQLA32' name 'sqlabndr';
-
- /* Generic Dynamic Link Interface to the Binder */
- FUNCTION SQLGBIND (spare1:LONGWORD; /* spare1 */
- msgfilelen:LONGWORD; /* Message file length */
- fmtoptlen:LONGWORD; /* Format option length */
- PlanNameLen:LONGWORD; /* Plan name length */
- DataBaseNameLen:LONGWORD; /* Database name length */
- VAR asqlca:TSQLCA; /* SQLCA */
- spare2:CSTRING; /* spare2 */
- msgfile:CSTRING; /* Message file */
- DateTimeFmt:CSTRING; /* Date/time format */
- ProgName:CSTRING; /* Program name */
- DataBase:CSTRING):INTEGER; /* Database */
- APIENTRY; 'SQLAPI32' name 'SQLGBIND';
- FUNCTION SQLGBNDR (PlanNameLen:LONGWORD; /* Plan name length */
- DataBaseNameLen:LONGWORD; /* Database name length */
- MsgFileLen:LONGWORD; /* Message file length */
- ProgName:CSTRING; /* program name */
- DataBase:CSTRING; /* database */
- MsgFile:CSTRING; /* message file */
- VAR asqlopt :TSQLOPT; /* binder options */
- VAR asqlca : TSQLCA):INTEGER; /* SQLCA */
- APIENTRY; 'SQLAPI32' name 'SQLGBNDR';
-
- /* Error Message Retrieval Interface Parameters/Return Codes */
-
- /* Error Message Retrieval Macro */
- {sqlaintp(msgbuf,bufsize,linesize,sqlcaptr) \
- sqlaintp_api(msgbuf,bufsize,linesize, \
- (char *)"sqlzk001.mo",sqlcaptr)}
- FUNCTION sqlaintp_api (VAR buffer; /* buffer for message text */
- BufSize:LONGWORD; /* buffer size */
- linewidth:LONGWORD; /* line width */
- msgfile:CSTRING; /* message file */
- VAR asqlca:TSQLCA):INTEGER; /* SQLCA */
- APIENTRY; 'SQLA32' name 'sqlaintp_api';
-
- /* Generic Dynamic Link Interface to Error Message Retrieval */
- FUNCTION SQLGINTP (bufsize:LONGWORD; /* buffer size */
- linewidth:LONGWORD; /* line width */
- VAR asqlca :TSQLCA; /* SQLCA */
- VAR buffer):INTEGER; /* buffer */
- APIENTRY; 'SQLAPI32' name 'SQLGINTP';
- END;
-
- IMPLEMENTATION
-
- END.
-