/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ * * S Q L S R V . H Oracle SQL/Services API data structures. * *-------------------------------------------------------------------------- * * Copyright (c) 1988, 1996 by Oracle Corporation. All rights reserved. * *++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ *++ * FACILITY: * * Oracle SQL/SERVICES, client / server * * ABSTRACT: * * Oracle SQL/Services API structure definitions * * AUTHORS: * * Larry Barnes * * CREATION DATE: 10-Oct-1988 * * * 7.0 MODIFICATION HISTORY: * 05/09/96 sjo Add SQLSRV_DATA_TOO_LONG * 05/07/96 sjo Add #define's for date and interval sub-types. * 04/30/96 sjo Add SQLSRV_LOG_BINARY logging option * 04/26/96 cc Add SQLSRV_LOG_FLUSH logging option * 04/25/96 cc Remove sqlsrv_sqlda_call_param * 04/17/96 sjo Use better name for transaction-reusable service attr. * 04/16/96 sjo Add service attributes for sqlsrv_get_associate_info(). * 03/26/96 sjo Increase SQLSRV_MAXVARBYTSIZ * 01/29/96 sjo Enhance error text for INVSETLEN and INVSQLLEN * 01/24/96 sjo Change name of symbol for QPT stats * 01/23/96 sjo Add support for QPT stats * 01/18/96 cc Update Comments * 01/16/96 je Update Comments * 12/04/95 lb Sun compiler now supports function prototypes * 10/31/95 sjo Add signed char pointer * 10/26/95 sjo Add SQLSRV_FTCMANYACT error * 10/17/95 slm Add buffer_size to get_info items * 09/29/95 cc Add error msgs for SQL*Net. * 08/23/95 cc New API for SQLnet -- use node_name arg * 06/28/95 mjg QAR 333, new -2xxx codes for dbserver error mapping * SQLSRV_CONNTIMEOUT, SQLSRV_SVCNOTRUN, * SQLSRV_SVC_SHUTDOWN, & SQLSRV_TOOMANYCONNECTS * 06/20/95 slm Add password expired error code * 06/08/95 slm Fix client logging comments * *-- * * ROUTINES: * * * TODO: */ #ifndef _SQLSRV_INCLUDE_ #define _SQLSRV_INCLUDE_ # if defined( __osf__ ) && defined( __alpha ) typedef int SQS_LONGWORD; typedef unsigned int SQS_UNSIGNED_LONGWORD; # else typedef long int SQS_LONGWORD; typedef unsigned long int SQS_UNSIGNED_LONGWORD; # endif #ifndef __FARTYP__ # if defined (_WINDOWS) # define __FARTYP__ far # else # define __FARTYP__ # endif #endif #ifndef _CHARPTR_TYPE_ # define _CHARPTR_TYPE_ 1 # if defined (_WINDOWS) typedef unsigned char __FARTYP__ * CHARPTR; typedef char __FARTYP__ * SCHARPTR; typedef short int __FARTYP__ * SHORTPTR; typedef short int __FARTYP__ * __FARTYP__ * PTRSHORTPTR; typedef SQS_LONGWORD __FARTYP__ * LONGPTR; typedef SQS_LONGWORD __FARTYP__ * __FARTYP__ * PTRLONGPTR; typedef unsigned char __FARTYP__ * __FARTYP__ * PTRCHARPTR; typedef char __FARTYP__ * ASSOCIATE_ID; # ifndef _SQLSRV_SQLDA_DEFINED_ # define _SQLSRV_SQLDA_DEFINED_ typedef struct SQLDA __FARTYP__ * SQLDA_ID; typedef struct SQLDA2 __FARTYP__ * SQLDA2_ID; # endif # ifndef _SQLSRV_SQLCA_DEFINED_ # define _SQLSRV_SQLCA_DEFINED_ typedef struct SQLCA __FARTYP__ * SQLCA_ID; # endif # else typedef unsigned char * CHARPTR; typedef char * SCHARPTR; typedef short int * SHORTPTR; typedef short int ** PTRSHORTPTR; typedef SQS_LONGWORD * LONGPTR; typedef SQS_LONGWORD ** PTRLONGPTR; typedef unsigned char ** PTRCHARPTR; typedef char * ASSOCIATE_ID; # ifndef _SQLSRV_SQLDA_DEFINED_ # define _SQLSRV_SQLDA_DEFINED_ typedef struct SQLDA * SQLDA_ID; typedef struct SQLDA2 * SQLDA2_ID; # endif # ifndef _SQLSRV_SQLCA_DEFINED_ # define _SQLSRV_SQLCA_DEFINED_ typedef struct SQLCA * SQLCA_ID; # endif # endif #endif /* * define the SQLDA_ID field if it hasn't been defined already by the * sqlsrvda.h include file. this implies that all data and metadata references * are via the functional interface. * * define the SQLCA_ID field if it hasn't been defined already by the * sqlsrvca.h include file. */ /* * Associate structure. This structure allows the caller to set association * level parameters. */ #define MAXCLSSIZ 32 struct ASSOCIATE_STR { unsigned short int CLIENT_LOG; /* client log level. */ unsigned short int SERVER_LOG; /* server log level. */ short int LOCAL_FLAG; /* no longer used */ short int VERSION; /* structure version number. */ CHARPTR (__FARTYP__ *MEMORY_ROUTINE)(); /* memory allocation routine. */ CHARPTR (__FARTYP__ *FREE_MEMORY_ROUTINE)(); /* memory deallocation routine. */ short int RESERVED; /* reserved for future usage. */ short int ERRBUFLEN; /* length of error buffer in bytes. */ CHARPTR ERRBUF; /* ptr: error buffer. */ CHARPTR class_name; /* Oracle SQL/Services service name */ short int xpttyp; /* Transport type */ short int filler; /* reserved for future usage */ CHARPTR attach; /* Attach statement */ CHARPTR declare; /* Declare statement */ CHARPTR appnam; /* Client application name */ }; typedef struct ASSOCIATE_STR ASSOCIATE_STR, *ASSOCIATE_PTR; /* * environment structure: This structure is passed as part of an array into * sqlsrv_set_environment. */ struct SQLSRV_ENV_STR { unsigned short int ENV_TAG; /* environment variable tag. */ short int ENV_RESERVED; /* reserved for future use. */ SQS_LONGWORD ENV_VALUE; /* environment variable value. */ char __FARTYP__ *ENV_OPT_VALUE; /* optional environment value. */ }; typedef struct SQLSRV_ENV_STR SQLSRV_ENV_STR, *SQLSRV_ENV_PTR; #define SQLSRV_ENV_PROTOCOL_VERSION 4 /* * Oracle SQL/SERVICES data types and data type sub-types. */ #define SQLSRV_ASCII_STRING 129 #define SQLSRV_GENERALIZED_NUMBER 130 #define SQLSRV_GENERALIZED_DATE 131 #define SQLSRV_VARCHAR 132 #define SQLSRV_VARBYTE 155 #define SQLSRV_LIST_VARBYTE 159 #define SQLSRV_INTERVAL 168 #define SQLSRV_DT_DATE_VMS 0 #define SQLSRV_DT_DATE_ANSI 1 #define SQLSRV_DT_TIME 2 #define SQLSRV_DT_TIMESTAMP 3 #define SQLSRV_DT_TIME_TZ 4 #define SQLSRV_DT_TIMESTAMP_TZ 5 #define SQLSRV_DT_YEAR 1 #define SQLSRV_DT_MONTH 2 #define SQLSRV_DT_DAY 3 #define SQLSRV_DT_HOUR 4 #define SQLSRV_DT_MINUTE 5 #define SQLSRV_DT_SECOND 6 #define SQLSRV_DT_YEAR_MONTH 7 #define SQLSRV_DT_DAY_HOUR 8 #define SQLSRV_DT_DAY_MINUTE 9 #define SQLSRV_DT_DAY_SECOND 10 #define SQLSRV_DT_HOUR_MINUTE 11 #define SQLSRV_DT_HOUR_SECOND 12 #define SQLSRV_DT_MINUTE_SECOND 13 /* * Maximum size for a SQLSRV_VARBYTE entry, including leading length field. */ #define SQLSRV_MAXVARBYTSIZ 65534 /* * Client Log values. * * Client logging is specified on the sqlsrv_associate call via the CLIENT_LOG * field of the Associate Structure. This value may be overridden for Windows * clients by specifying the ClientLogging option in the SQSAPIW.INI file. * This value may be overridden for NT clients by specifying the ClientLogging * option in the SQSAPI32.INI file. * * To enable more than one type of logging, add the appropriate constants. */ #define SQLSRV_LOG_DISABLED 0 /* Disables logging (default) */ #define SQLSRV_LOG_ASSOCIATION 1 /* Enables application logging */ #define SQLSRV_LOG_ROUTINE 2 /* Enables API routine logging */ #define SQLSRV_LOG_PROTOCOL 4 /* Enables message protocol logging */ #define SQLSRV_LOG_SCREEN 8 /* Sends logging to standard output */ /* on the client system, as well as */ /* to the log file. Not available */ /* on all client platforms. */ #define SQLSRV_LOG_VARCHAR 16 /* OBSOLETE */ #define SQLSRV_LOG_OPNCLS 64 /* Opens and closes the log file */ /* around each log file write to */ /* insure that log is complete even */ /* if client terminates abnormally. */ #define SQLSRV_LOG_FLUSH 128 /* Flush to the log file after written the following to the file: - association level log - routine level log - protocol level log - parse message log */ #define SQLSRV_LOG_BINARY 256 /* Dumps memory in structured format */ /* if data contains non-printable */ /* characters. */ /* * Declare associate information option literals */ #define SQLSRV_INFO_SQL_VERSION 0 #define SQLSRV_INFO_ENGINE 1 #define SQLSRV_INFO_SRV_VERSION 2 #define SQLSRV_INFO_PROTOCOL 3 #define SQLSRV_INFO_SERVER_PID 4 #define SQLSRV_INFO_DB_CLASS 5 #define SQLSRV_INFO_TRANSPORT 6 #define SQLSRV_INFO_BUFFER_SIZE 7 #define SQLSRV_INFO_SERVICE_ATTRS 8 /* * Service attribute bit masks */ #define SQLSRV_INFO_SVC_DBSERVICE 1 /* Database service */ #define SQLSRV_INFO_SVC_REUSETXN 2 /* Transaction reusable */ #define SQLSRV_INFO_SVC_TIEDEXEC 4 /* Client tied to one exec. */ /* * Indicate the client version so we know what features * are available. */ #define SQLSRV_V610 610 #define SQLSRV_V700 700 /* * Declare cursor type literals */ #define SQLSRV_TABLE_CURSOR 0 #define SQLSRV_LIST_CURSOR 1 /* * Declare cursor mode literals. */ #define SQLSRV_MODE_UPDATE 0 #define SQLSRV_MODE_INSERT_ONLY 1 #define SQLSRV_MODE_READ_ONLY 2 #define SQLSRV_MODE_SCROLL 3 #define SQLSRV_MODE_UPDATE_ONLY 4 /* * Sqlsrv_execute execute flag literals */ #define SQLSRV_EXE_W_DATA 0 #define SQLSRV_EXE_BATCH 1 #define SQLSRV_EXE_WO_DATA 2 #define SQLSRV_EXE_ABORT 3 /* * Oracle SQL/Services Transport mechanisms */ /* Conditionally define XPT types EJ 07-Jul-1992 */ #ifndef _SQLSRV_XPT_TYPES_ #define _SQLSRV_XPT_TYPES_ #define SQLSRV_XPT_NOT_CHOSEN 0 #define SQLSRV_XPT_DECNET 1 #define SQLSRV_XPT_TCPIP 2 #define SQLSRV_XPT_ATK 3 /* Appletalk - only on MAC */ #define SQLSRV_XPT_SPXIPX 4 /* Novell SPX|IPX - on DOS/Windows */ #define SQLSRV_XPT_SQLNET 5 #define SQLSRV_XPT_CNT 6 /* Not yet available */ /* EJ 07-Jul-1992 */ #endif /* * Oracle SQL/Services Option types */ #define SQLSRV_OPT_SQLDA_TYPE 1 #define SQLSRV_OPT_STATS_FTCRESTBL 2 /* * Oracle SQL/Services Option values */ #define SQLSRV_OPT_SQLDA_NOT_CHOSEN 0 #define SQLSRV_OPT_SQLDA_SQLDA 1 #define SQLSRV_OPT_SQLDA_SQLDA2 2 #define SQLSRV_OPT_STATS_DISABLE 0 #define SQLSRV_OPT_STATS_ENABLE 1 /* * Oracle SQL/Services scrollable list cursor options */ #define SQLSRV_NO_SCROLL 0 #define SQLSRV_SCROLL_FIRST 1 #define SQLSRV_SCROLL_LAST 2 #define SQLSRV_SCROLL_PRIOR 3 #define SQLSRV_SCROLL_NEXT 4 #define SQLSRV_SCROLL_ABSOLUTE 5 #define SQLSRV_SCROLL_RELATIVE 6 /* * Oracle SQL/Services Error messages. */ /* * Oracle Rdb SQL and Oracle SQL/Services success status */ #define SQL_SUCCESS 0 /* command completed successfully */ /* * Oracle Rdb SQL and Oracle SQL/Services Warning statuses */ #define SQL_EOS 100 /* SELECT or cursor got to end of stream */ /* * Oracle Rdb SQL Error statuses */ #define SQL_RDBERR -1 /* Oracle Rdb returned an error */ #define SQL_OUTOFRAN -304 /* Value is out of range for a host variable */ #define SQL_NULLNOIND -305 /* NULL value and no indicator variable" */ #define SQL_STR_DAT_TRUNC -306 /* String data, right truncation */ #define SQL_INV_DATETIME -307 /* Invalid datetime format */ #define SQL_CURNOTOPE -501 /* Cursor isn't open. */ #define SQL_CURALROPE -502 /* Cursor is already open */ #define SQL_UDCURNOPE -507 /* Cursor in update or delete isn't opened. */ #define SQL_UDCURNPOS -508 /* Cursor in update or delete is not * positioned on a record */ #define SQL_UDCURDEL -509 /* Cursor in update or delete, positioned on * a deleted record */ #define SQL_NO_DUP -803 /* Duplicate on index */ #define SQL_SELMORVAL -811 /* THE RESULT OF AN EMBEDDED SELECT RETURNED *MORE THAN 1 VALUE */ #define SQL_ROTXN -817 /* Read write operation in R-O txn */ #define SQL_DEADLOCK -913 /* deadlock encountered */ #define SQL_INTEG_FAIL -1001 /* Constraint failed */ #define SQL_NOT_VALID -1002 /* Valid-if failed */ #define SQL_LOCK_CONFLICT -1003 /* Lock conflict */ #define SQL_BAD_TXN_STATE -1004 /* Invalid transaction state */ #define SQL_NO_TXN -1005 /* No transaction */ #define SQL_BAD_VERSION -1006 /* version of base system doesn't */ /* support a feature this query */ /* uses */ #define SQL_TRIG_ERROR -1007 /* Trigger forced an error */ #define SQL_NOIMPTXN -1008 /* No implicit transaction. */ #define SQL_GLOTIDERR -1009 /* Global TID Error. */ #define SQL_BAD_CTX_VER -1010 /* Bad version in context struct */ #define SQL_BAD_CTX_TYPE -1011 /* Bad type in context struct */ #define SQL_BAD_CTX_LEN -1012 /* Bad length in context struct */ #define SQL_BASROWDEL -1013 /* Row containing list deleted. */ #define SQL_DIFFDEFINV -1014 /* Invoker was not the definer. */ #define SQL_STMTNOTPRE -1015 /* Dynamic statement not prepared */ #define SQL_NOSUCHCONN -1016 /* Connection doesn't exist */ #define SQL_CONNAMEXI -1017 /* Connection name already exists */ #define SQL_DBENVSYNERR -1018 /* Database Environment syntax errror */ #define SQL_DBSPECSYNERR -1019 /* Database spec syntax error */ #define SQL_ATTACHERR -1020 /* Error attaching to database */ #define SQL_NOSUCHALIAS -1021 /* Alias not known */ #define SQL_ALIASINUSE -1022 /* Alias already declared */ #define SQL_COLEXISTS -1023 /* Column already exists in Table */ #define SQL_COLNOTDEF -1024 /* Column not defined in Table */ #define SQL_TBLEXISTS -1025 /* Table already exists in relation */ #define SQL_DOMEXISTS -1026 /* Domain already exists in relation */ #define SQL_DOMNOTDEF -1027 /* Domain already exists in relation */ #define SQL_NO_PRIV -1028 /* No privilege for attempted operation */ #define SQL_BAD_LENGTH -1029 /* Negative length specified for column */ #define SQL_BAD_SCALE -1030 /* Negative scale specified for column */ #define SQL_RO_TABLE -1031 /* Attempt to update a RO table */ #define SQL_OBSMETADATA -1032 /* Metadata no longer available */ #define SQL_UNRES_REL -1033 /* Relation in req not reserved in trans */ #define SQL_CASENOTFND -1034 /* Case not found: no WHEN for selector */ #define SQL_CHKOPT_VIOL -1035 /* Integ failure w/ check option */ #define SQL_UNTERM_C_STR -1036 /* Unterminated C string */ #define SQL_INDIC_OVFLOW -1037 /* Indicator overflow */ #define SQL_INV_PARAM_VAL -1038 /* Invalid parameter value */ #define SQL_NULL_ELIMIN -1039 /* Null eliminated in set function */ #define SQL_INV_ESC_SEQ -1040 /* Invalid escape sequence */ #define SQL_RELNOTDEF -1041 /* Table not defined in database */ /* * Oracle SQL/Services base error message code. */ #define ERROR_MESSAGE_BASE -2000 /* * Oracle SQL/Services error messages */ #define SQLSRV_INVARG (ERROR_MESSAGE_BASE-0) /* -2000 */ /* * Explanation: * Invalid routine parameter. * User Action: * Examine all routine parameters and retry with corrected value(s). */ #define SQLSRV_INVBUFSIZ (ERROR_MESSAGE_BASE-1) /* -2001 */ /* * Explanation: * Invalid read or write buffer size. * User Action: * Correct the value(s) for the read or write buffer size(s). */ #define SQLSRV_ASCACT (ERROR_MESSAGE_BASE-2) /* -2002 */ /* * Explanation: * Invalid routine parameter. * User Action: * Examine all routine parameters and retry with corrected value(s). */ #define SQLSRV_NETERR (ERROR_MESSAGE_BASE-3) /* -2003 */ /* * Explanation: * Network error. * User Action: * Find the DECnet, TCP/IP or NetWare error file (specific to your * platform) and look up the error code to determine a course of action. */ #define SQLSRV_SRVERR (ERROR_MESSAGE_BASE-4) /* -2004 */ /* * Explanation: * Server error. * User Action: * Examine the secondary error sources for more information, such as * the SQLERRD field value or any server error logs. */ #define SQLSRV_INVASC (ERROR_MESSAGE_BASE-5) /* -2005 */ /* * Explanation: * Invalid association identifier. The routine parameter for the * association identifier is invalid. * User Action: * Correct the problem and retry the routine call. */ #define SQLSRV_INVSQLDA (ERROR_MESSAGE_BASE-6) /* -2006 */ /* * Explanation: * Invalid SQLDA or SQLDA_ID. * User Action: * Examine the SQLDA or SQLDA_ID parameter passed to the routine and * correct it. */ #define SQLSRV_PRSERR (ERROR_MESSAGE_BASE-7) /* -2007 */ /* * Explanation: * Parsing error on the protocol message. Internal error. * User Action: * Contact your Oracle support representative for assistance. */ #define SQLSRV_INVSTMID (ERROR_MESSAGE_BASE-8) /* -2008 */ /* * Explanation: * Invalid statement identifier. * User Action: * Respecify a statement identifier that references a previously prepared * statement. */ #define SQLSRV_INVCURNAM (ERROR_MESSAGE_BASE-9) /* -2009 */ /* * Explanation: * Invalid cursor name. A nonexistent cursor name was specified. * User Action: * Specify a valid cursor name. */ #define SQLSRV_ASCNOTACT (ERROR_MESSAGE_BASE-10) /* -2010 */ /* * Explanation: * Associate not active. A command was attempted before calling the * sqlsrv_associate routine or after calling the sqlsrv_release routine. * User Action: * Make a call to the sqlsrv_associate routine to create an association * identifier that is used by subsequent routine calls or move your code * before sqlsrv_release. */ #define SQLSRV_INTERR (ERROR_MESSAGE_BASE-11) /* -2011 */ /* * Explanation: * Internal Error. * User Action: * Contact your Oracle support representative for assistance. */ #define SQLSRV_OPNLOGFIL (ERROR_MESSAGE_BASE-12) /* -2012 */ /* * Explanation: * Login was specified, but the log file could not be opened. * User Action: * Evaluate the platform-specific reasons as to why a log file could not be * opened, such as security reasons, disk space availability, and so forth. */ #define SQLSRV_NO_MEM (ERROR_MESSAGE_BASE-13) /* -2013 */ /* * Explanation: * API memory allocation failed. * User Action: * Release memory on your client system before running Oracle SQL/Services. */ #define SQLSRV_INVSQLCA (ERROR_MESSAGE_BASE-14) /* -2014 */ /* * Explanation: * Invalid routine parameter. * User Action: * Examine all routine parameters and retry with corrected value(s). */ #define SQLSRV_SQLDA_NOTALL (ERROR_MESSAGE_BASE-15) /* -2015 */ /* * Explanation: * Attempt to deallocate static memory. * User Action: * Call sqlsrv_free_sqlda_data or sqlsrv_free_sqlda2_data with an SQLDA_ID * whose memory was created by sqlsrv_allocate_sqlda_data or * sqlsrv_allocate_sqlda2_data. */ #define SQLSRV_MULTI_ACT (ERROR_MESSAGE_BASE-16) /* -2016 */ /* * Explanation: * A batched sqlsrv_execute, sqlsrv_execute_in_out or sqlsrv_fetch_many * context is active. * User Action: * Call sqlsrv_close_cursor, sqlsrv_execute or sqlsrv_execute_in_out * with the execute_flag = 0 or 3. */ /* * Deprecated: * SQLSRV_CNDERR (ERROR_MESSAGE_BASE-17) (-2017) */ #define SQLSRV_INVIDX (ERROR_MESSAGE_BASE-18) /* -2018 */ /* * Explanation: * Invalid sqlda_index_array. * User Action: * Respecify the sqlda_index_array. */ #define SQLSRV_INVEXEFLG (ERROR_MESSAGE_BASE-19) /* -2019 */ /* * Explanation: * Invalid execute flag. * User Action: * Respecify the execute flag on the sqlsrv_execute or * sqlsrv_execute_in_out call. */ /* Deprecated: * SQLSRV_FTRSYNERR (ERROR_MESSAGE_BASE-20) (-2020) */ #define SQLSRV_INVASCSTR (ERROR_MESSAGE_BASE-21) /* -2021 */ /* * Explanation: * Invalid parameter in ASSOCIATE_STR. * User Action: * Examine and fix the ASSOCIATE_STR structure. */ /* Deprecated: * SQLSRV_INVENVTAG (ERROR_MESSAGE_BASE-22) (-2022) * SQLSRV_INVENVVAR (ERROR_MESSAGE_BASE-23) (-2023) */ #define SQLSRV_INVREPCNT (ERROR_MESSAGE_BASE-24) /* -2024 */ /* * Explanation: * Invalid repeat count. * User Action: * Correctly specify the repeat count to the sqlsrv_fetch_many routine. */ #define SQLSRV_DUPCRSNAM (ERROR_MESSAGE_BASE-25) /* -2025 */ /* * Explanation: * Duplicate cursor name. * User Action: * Respecify a correct cursor name. */ #define SQLSRV_INVCOLNUM (ERROR_MESSAGE_BASE-26) /* -2026 */ /* * Explanation: * Column number is not within range. * User Action: * Examine all routine parameters and retry with corrected value(s). */ #define SQLSRV_INVDATTYP (ERROR_MESSAGE_BASE-27) /* -2027 */ /* * Explanation: * Invalid data type. * User Action: * Specify a correct data type. */ #define SQLSRV_INCDATTYP (ERROR_MESSAGE_BASE-28) /* -2028 */ /* * Explanation: * Incompatible data type with column. * User Action: * Examine all routine parameters and retry with corrected value(s). */ #define SQLSRV_USRDATALL (ERROR_MESSAGE_BASE-29) /* -2029 */ /* * Explanation: * The user, not Oracle SQL/Services, has allocated data buffers. * User Action: * Call sqlsrv_allocate_sqlda_data or sqlsrv_allocate_sqlda2_data or * sqlsrv_free_sqlda_data or sqlsrv_free_sqlda2_data with an SQLDA_ID that * does not contain user-allocated data. */ #define SQLSRV_ACTSTM (ERROR_MESSAGE_BASE-30) /* -2030 */ /* * Explanation: * The statement id already has an active cursor. * User Action: * Close the cursor or prepare the statement again. */ #define SQLSRV_APINOTSUP (ERROR_MESSAGE_BASE-31) /* -2031 */ /* * Explanation: * API not supported. An Oracle SQL/Services client is trying to access * server information that is not supported on the client. * User Action: * Check the version of the client software that you are using. Upgrade * your client software to match the version of the server to gain support * for the requested operation. */ #define SQLSRV_INV_CLS (ERROR_MESSAGE_BASE-32) /* -2032 */ /* * Explanation: * Invalid service name specified. * User Action: * Specify a service name in the CLASS_NAME field in the association * structure that matches one of the service names in the server * configuration file (check with your server system manager). */ #define SQLSRV_NO_PRCAVL (ERROR_MESSAGE_BASE-33) /* -2033 */ /* * Explanation: * No process is available. * User Action: * The maximum number of servers has been exceeded on the server system. * Try another time, or consult with your server system manager to raise * the MAX parameter(s) in the server configuration file. */ #define SQLSRV_GETACCINF (ERROR_MESSAGE_BASE-34) /* -2034 */ /* * Explanation: * The dispatcher was unable to obtain the appropriate account information to * authenticate an associating client. * User Action: * Consult with your server system manager to examine the log files for * more information. */ #define SQLSRV_EXEINTERR (ERROR_MESSAGE_BASE-35) /* -2035 */ /* * Explanation: * The executor has encountered an internal error. * User Action: * Examine any executor log files and correct the problem with the executor * if possible. If not, contact your Oracle support representative for * assistance. */ #define SQLSRV_HOSTERR (ERROR_MESSAGE_BASE-36) /* -2036 */ /* * Explanation: * An error occurred while accessing the hosts file for the TCP/IP * transport. Either a match was not found for the requested node name or * the host file does not exist, or cannot be read. * User Action: * Examine your platform-specific documentation for information about * the location and format of the hosts file. */ #define SQLSRV_XPT_MISSING (ERROR_MESSAGE_BASE-37) /* -2037 */ /* * Explanation: * A valid transport has been selected, but the code is disabled. * For example, this can occur on DOS systems when you link an application * with a particular transport disabled. * User Action: * Examine MAKE or linking procedures to ensure that the requested transport * code is enabled. */ #define SQLSRV_NO_SYSFLDR (ERROR_MESSAGE_BASE-38) /* -2038 */ /* * Explanation: * This error is valid only for Macintosh applications. An error has * occurred while trying to open the Oracle SQL/Services Control Panel device * in the System Folder. * User Action: * Examine the Macintosh environment for accessibility to the Oracle * SQL/Services Control Panel device in the System Folder. */ #define SQLSRV_NO_RSRC (ERROR_MESSAGE_BASE-39) /* -2039 */ /* * Explanation: * This error is valid only for Macintosh applications. An error has * occurred while trying to open the Oracle SQL/Services Control Panel device * resource. * User Action: * Ensure that the Oracle SQL/Services Control Panel device is installed and * accessible in the System Folder. */ #define SQLSRV_NO_CONNREC (ERROR_MESSAGE_BASE-40) /* -2040 */ /* * Explanation: * This error is valid only for Macintosh applications. An error has * occurred while trying to get a connection record from the Communications * Toolbox. This is an internal error. * User Action: * In some cases, rebooting the Macintosh or turning off/on the network * may resolve the problem. */ #define SQLSRV_PARTIAL_XFR (ERROR_MESSAGE_BASE-41) /* -2041 */ /* * Explanation: * This error is valid only for Macintosh applications. A partial * write has occurred while trying to write a message to the server. * This is an internal error. * User Action: * In some cases, adjusting network parameters may resolve the problem. */ #define SQLSRV_SRVNOTSUP (ERROR_MESSAGE_BASE-42) /* -2042 */ /* * Explanation: * Server not supported. An Oracle SQL/Services client is requesting an * operation that is not supported by the version of the server with which * it is * connected. * User Action: * Check the version of the server to which your Oracle SQL/Services client is * attached. Upgrade your server software and possibly your Oracle Rdb * software to gain support for the requested operation. */ #define SQLSRV_INVSETLEN (ERROR_MESSAGE_BASE-43) /* -2043 */ /* * Explanation: * 1. A length may not be specified for the following column data types: * - SQLSRV_LIST_VARBYTE * - SQLSRV_GENERALIZED_NUMBER * - SQLSRV_GENERALIZED_DATE * - SQLSRV_INTERVAL * 2. The SQLOCTET_LEN value does not correspond with the SQLLEN value: * - SQLSRV_ASCII_STRING * The SQLOCTET_LEN value must equal SQLLEN value or be an exact * multiple of the SQLLEN value if using a multi-octet character set. * - SQLSRV_VARCHAR, and * - SQLSRV_VARBYTE * The SQLOCTET_LEN value must include the leading count field * overhead, which is 4 octets or bytes. * User Action: * Specify a valid SQLLEN value or valid SQLLEN and SQLOCTET_LEN values. */ #define SQLSRV_INVSQLLEN (ERROR_MESSAGE_BASE-44) /* -2044 */ /* * Explanation: * The SQLLEN field in the SQLDA or SQLDA2 has been set to 0 or to a value * greater than the size of the column. * User Action: * Set the SQLLEN to a valid value. */ #define SQLSRV_DLL_LOAD_ERR (ERROR_MESSAGE_BASE-45) /* -2045 */ /* * Explanation: * This error is valid only for Windows applications. An error has been * returned from the MS Windows LoadLibrary call. * User Action: * Action may vary depending on the network transport: * (TCP/IP) Ensure that the TCP/IP DLL (winsock.dll,wsock32.dll) is in * the search PATH. * (DECnet) 32 bit applications using Windows 95 requires pwsock32.dll * in the search PATH. PATHWORKS For Windows 95 must be installed. * (DECnet) DECnet 32 bit applications using Windows NT requires dnetw.dll * in the search PATH. PATHWORKS For Windows NT must be installed. * (Oracle SQL*Net) * Ensure that you have all the required Oracle SQL*Net DLL files. * */ #define SQLSRV_DLL_ADDR_ERR (ERROR_MESSAGE_BASE-46) /* -2046 */ /* * Explanation: * This error is valid only for Windows applications. An error has been * returned from the MS Windows GetProcAddress call. * (TCP/IP) The expected routines in the winsock.dll or wsock32.dll * are not available. * (DECnet) The expected routines in the pwsock32.dll or dnetw.dll * are not available. * (Oracle SQL*Net) * The expected routines in the required Oracle SQL*Net DLL * files are not available. * User Action: * (TCP/IP) Install a winsock compatible version of TCP/IP * (DECnet) Install PATHWORKS For Windows NT or PATHWORKS For Windows 95. * (Oracle SQL*Net) * Install the version of Oracle SQL*Net required by Oracle * SQL/Services. * */ /* * Deprecated * SQLSRV_INVLICENSE (ERROR_MESSAGE_BASE-47) (-2047) */ #define SQLSRV_INVSELLST (ERROR_MESSAGE_BASE-48) /* -2048 */ /* * Explanation: * Invalid SQLDA Select list. * User Action: * Examine the SQLDA select list parameter passed to sqlsrv_prepare. * If you are calling sqlsrv_execute, select list was detected with * the statement identifier passed to sqlsrv_execute. sqlsrv_execute * statement identifier should never contain a select list SQLDA. * If you are calling sqlsrv_execute_in_out, the statement you are * executing does not have any output data, therefore it should not * have a select list SQLDA. */ #define SQLSRV_PWD_EXPIRED (ERROR_MESSAGE_BASE-49) /* -2049 */ /* * Explanation: * Password expired. * User Action: * Change your password. */ #define SQLSRV_CONNTIMEOUT (ERROR_MESSAGE_BASE-50) /* -2050 */ /* * Explanation: * The server created a connect context for a client, but it did not * complete connect processing within the server specified interval. * User Action: * N/A */ #define SQLSRV_SVCNOTRUN (ERROR_MESSAGE_BASE-51) /* -2051 */ /* * Explanation: * The requested service is not running (i.e. this service has * not been started. * User Action: * Start this service. */ #define SQLSRV_SVC_SHUTDOWN (ERROR_MESSAGE_BASE-52) /* -2052 */ /* * Explanation: * The service was shut down typically by system management. * been started for this service. * User Action: * Ask system manager why the service is shut down. */ #define SQLSRV_TOOMANYCONNECTS (ERROR_MESSAGE_BASE-53) /* -2053 */ /* * Explanation: * A connect arrived at the dispatcher when the number of connects * was at the maximum level. * User Action: * Request system management to increase the maximum number of connects. */ #define SQLSRV_SQLNET_BADINIT (ERROR_MESSAGE_BASE-54) /* -2054 */ /* * Explanation: * Unable to initialize Oracle SQL*Net. * User Action: * Make sure that the Oracle SQL*Net configuration files have correct * parameters. On Windows systems, try exiting Windows and rerunning * the application program. */ #define SQLSRV_SQLNET_BADSERVICE (ERROR_MESSAGE_BASE-55) /* -2055 */ /* * Explanation: * Oracle SQL*Net is unable to resolve the service name being specified. * User Action: * Verify that the service name exists in the tnsnames.ora file * or in the Oracle Names Server. */ #define SQLSRV_SQLNET_BADCONNECT (ERROR_MESSAGE_BASE-56) /* -2056 */ /* * Explanation: * Oracle SQL*Net is unable to connect to the server. * User Action: * Verify that the server is available for accepting a connection. */ #define SQLSRV_FTCMNYACT (ERROR_MESSAGE_BASE-57) /* -2057 */ /* * Explanation: * sqlsrv_fetch_many is already active for this cursor. * User Action: * Call sqlsrv_fetch until the requested number of rows have been * received or call sqlsrv_close_cursor to cancel fetch-many mode. */ #define SQLSRV_DATA_TOO_LONG (ERROR_MESSAGE_BASE-58) /* -2058 */ /* * Explanation: * The Oracle SQL/Services executor determined that the length of a data value * in a SQLDA exceeded the maximum allowed for the value's data type. * User Action: * Modify the client application to supply a value of the correct length. */ #define SQLSRV_MAXERR (ERROR_MESSAGE_BASE-500) /* -2500 */ /* * Explanation: * Internal error. Top-level error reserved for Oracle. * User Action: * Use this error to check for a 'valid' error (an error within the range * of Oracle SQL/Services errors). For error values greater than this value, * you can assume that an internal error has occurred. Contact your Oracle * support representative for assistance. */ /* End Oracle SQL/Services (specific) error messages */ /* * MacTcp Error Codes * * Note: You can also use ResEdit on the Macintosh system to examine * the MacTCP Tool for more complete or updated error * descriptions. Select "Err", and then select your error number. */ #define inProgress 1 /* I/O in progress */ #define ipBadLapErr -23000 /* bad network configuration */ #define ipBadCnfgErr -23001 /* bad IP configuration error */ #define ipNoCnfgErr -23002 /* missing IP or LAP configuration error */ #define ipLoadErr -23003 /* error in MacTCP load */ #define ipBadAddr -23004 /* error in getting address */ #define connectionClosing -23005 /* connection is closing */ #define invalidLength -23006 /* WDS describes length of 0 or > 65535 */ #define connectionExists -23007 /* request conflicts with existing connection */ #define connectionDoesntExist -23008 /* connection does not exist */ #define insufficientResources -23009 /* insufficient resources to perform request */ #define invalidStreamPtr -23010 /* TCP stream is not open */ #define streamAlreadyOpen -23011 /* open stream already using this buffer area */ #define connectionTerminated -23012 /* TCP connection went down */ #define invalidBufPtr -23013 /* receive buffer area ptr was NIL */ #define invalidRDS -23014 /* RDS refers to receive buffers not * owned by the user */ #define invalidWDS -23014 /* WDS pointer is zero */ #define openFailed -23015 /* connection came up halfway and failed */ #define commandTimeout -23016 /* command not completed within timeout */ #define duplicateSocket -23017 /* a TCP connection already exists */ /* Error codes from internal IP functions */ #define ipDontFragErr -23032 /* Packet too large to send w/o fragmenting */ #define ipDestDeadErr -23033 /* destination not responding */ #define ipNoFragMemErr -23036 /* no memory to send fragmented pkt */ #define ipRouteErr -23037 /* can't route packet off-net */ #define nameSyntaxErr -23041 /* dot notation address has syntax err */ #define cacheFault -23042 /* DNR cache fault */ #define noResultProc -23043 /* no result proc was passed to DNR */ #define noNameServer -23044 /* no name server can be found */ #define authNameErr -23045 /* domain name doesn't exist */ #define noAnsErr -23046 /* domain name servers not responding */ #define dnrErr -23047 /* domain name server internal err */ #define outOfMemory -23048 /* Not enough memory to issue domain * name resolver query or to build the * DNR cache */ /* End MACTcp error messages */ /* * AppleTalk-DECnet Tool Error Documentation * * Note: You can also use ResEdit on the Macintosh system to examine * the AppleTalk-Decnet Tool for more complete or updated error * descriptions. Select "Err", and then select your error number. */ /* Errors related to AppleTalk and general tool Conditions */ /* 1000 The DECnet Gateway's name cannot be found on the network. */ /* 1001 A Read operation was canceled because the connection closed. */ /* 1002 A Write operation was canceled because the connection closed. */ /* 1003 This computer's name cannot be registered because it is already */ /* in use by someone else. */ /* 1004 An unknown error occurred while trying to register your name on */ /* the network. */ /* 1005 AppleTalk doesn't seem to be working. Check to see if AppleTalk */ /* is turned on in the Chooser. */ /* 1006 The ADSP driver doesn't seem to be installed. Check to see if */ /* the ADSP file is in your System Folder. */ /* 1007 An unknown error has occurred in the ADSP device driver. */ /* 1008 An unknown error has occurred in the AppleTalk-DECnet Connection */ /* Tool. */ /* 1009 There is not enough memory available. */ /* 1010 A serious internal error has occurred. You should quit this */ /* application. */ /* 1011 A connection open operation was canceled while in progress. */ /* 1012 The Open Connection Request was denied by the remote machine. */ /* 1013 The remote machine did not respond to a request to open a */ /* connection. */ /* 1014 The application issued an overlapping I/O call. You should quit */ /* the application. */ /* 17000 Unable to establish a connection with the gateway. */ /* 17001 Cannot find the Apple-Digital Chooser device in the System */ /* Folder. */ /* Errors related to the gateway */ /* 38370 Maximum number of sessions iwth the gateway was reached. */ /* 40772 An invalid function was requested from the gateway. */ /* 40780 The gateway is not the same version. */ /* 40788 An invalid length was supplied to the gateway. */ /* 40796 An invalid type was supplied to the gateway. */ /* 40804 Insufficient information was provided to the gateway. */ /* Errors related to DECnet (while using AppleTalk-DECnet Tool) */ /* 44 The DECnet network's logical link was broken. */ /* 132 The DECnet network is no longer available. */ /* 292 There is not sufficient memory for the connection. */ /* 436 No I/O chanel is available on the gateway node. */ /* 636 No DECnet logical links are available. */ /* 652 No such node exists. */ /* 660 The DECnet network's object rejected the connection. */ /* 8300 Insufficient system resources on the remote node. */ /* 8308 There was a DECnet network protocol error. */ /* 8316 The DECnet logical link was terminated by a third party. */ /* 8324 The remote node could not recognize the login information. */ /* 8332 The remote node is no longer accepting connections. */ /* 8340 The remote node is currently unreachable. */ /* 8348 Username and/or password were found to be invalid. */ /* 8356 No such object exists. */ /* 8412 The connection to the network object timed out or failed. */ /* 8420 The DECnet network partner task aborted the logical link. */ /* End AppleTalk-Decnet Tool Error messages */ /* * DECnet Tool Error Documentation * * Note: You can also use ResEdit on the Macintosh system to examine * the Decnet Tool for more complete or updated error descriptions. * Select "ERRM", and then select your error number. */ /* -90 The DECnet link was disconnected */ /* -91 The remote DECnet node is not reachable */ /* -92 The remote DECnet user disconnected the link */ /* -95 The remote DECnet user disconnected */ /* -97 The remote system exceeded the available network links */ /* -98 The remote DECnet node terminated the link */ /* 200 The remote DECnet user disconnected without giving a reason */ /* 201 No resources for a new link */ /* 203 The remote DECnet node is shutting down */ /* 204 The DECnet task name was not known at the remote node */ /* 205 An invalid username was specified for the connection */ /* 206 The remote node has insufficent resources for this connection */ /* 208 A third party has terminated your DECnet link */ /* 209 The remote DECnet application aborted your link */ /* 232 The remote node has insufficent resources for this connection */ /* 233 The remote user has insufficient resources for this connection */ /* 234 Your DECnet connection was rejected because of an invalid username or password */ /* 236 Your DECnet connection was rejected because of an unacceptable account */ /* 238 The remote DECnet user cancelled or aborted your connect request */ /* 243 Either your username or password is too long for the remote system */ /* End Decnet Tool Error messages */ /* * VAX API conditionals */ #ifdef VMS /* * redefine sqlsrv_ prefix to the VMS standard sqlsrv$ */ #define sqlsrv_abort sqlsrv$abort #define sqlsrv_allocate_sqlda_data sqlsrv$allocate_sqlda_data #define sqlsrv_associate sqlsrv$associate #define sqlsrv_close_cursor sqlsrv$close_cursor #define sqlsrv_declare_cursor sqlsrv$declare_cursor #define sqlsrv_execute sqlsrv$execute #define sqlsrv_execute_in_out sqlsrv$execute_in_out #define sqlsrv_execute_immediate sqlsrv$execute_immediate #define sqlsrv_fetch sqlsrv$fetch #define sqlsrv_fetch_many sqlsrv$fetch_many #define sqlsrv_free_sqlda_data sqlsrv$free_sqlda_data #define sqlsrv_get_associate_info sqlsrv$get_associate_info #define sqlsrv_open_cursor sqlsrv$open_cursor #define sqlsrv_prepare sqlsrv$prepare #define sqlsrv_release sqlsrv$release #define sqlsrv_release_statement sqlsrv$release_statement #define sqlsrv_set_server_class sqlsrv$set_server_class #define sqlsrv_set_transport_type sqlsrv$set_transport_type #define sqlsrv_set_sqlca sqlsrv$set_sqlca #define sqlsrv_sqlca_error sqlsrv$sqlca_error #define sqlsrv_sqlca_error_text sqlsrv$sqlca_error_text #define sqlsrv_sqlca_num_batch_rows sqlsrv$sqlca_num_batch_rows #define sqlsrv_sqlca_count sqlsrv$sqlca_count #define sqlsrv_sqlca_sqlerrd sqlsrv$sqlca_sqlerrd #define sqlsrv_sqlca_sqlwarn sqlsrv$sqlca_sqlwarn #define sqlsrv_sqlda_sqld sqlsrv$sqlda_sqld #define sqlsrv_sqlda_column_name sqlsrv$sqlda_column_name #define sqlsrv_sqlda_column_type sqlsrv$sqlda_column_type #define sqlsrv_sqlda_map_data sqlsrv$sqlda_map_data #define sqlsrv_sqlda_unmap_data sqlsrv$sqlda_unmap_data #define sqlsrv_sqlda_ref_data sqlsrv$sqlda_ref_data #define sqlsrv_sqlda_unref_data sqlsrv$sqlda_unref_data #define sqlsrv_sqlda_get_data sqlsrv$sqlda_get_data #define sqlsrv_sqlda_set_data sqlsrv$sqlda_set_data #define sqlsrv_sqlda_set_sqllen sqlsrv$sqlda_set_sqllen #define sqlsrv_sqlda_bind_data sqlsrv$sqlda_bind_data #define sqlsrv_sqlda_unbind_sqlda sqlsrv$sqlda_unbind_sqlda #define sqlsrv_set_option sqlsrv$set_option #define sqlsrv_sqlda2_column_name sqlsrv$sqlda2_column_name #define sqlsrv_sqlda2_column_type sqlsrv$sqlda2_column_type #define sqlsrv_sqlda2_bind_data sqlsrv$sqlda2_bind_data #define sqlsrv_sqlda2_ref_data sqlsrv$sqlda2_ref_data #define sqlsrv_sqlda2_get_data sqlsrv$sqlda2_get_data #define sqlsrv_sqlda2_set_data sqlsrv$sqlda2_set_data #define sqlsrv_sqlda2_set_sqllen sqlsrv$sqlda2_set_sqllen #define sqlsrv_sqlda2_char_set_info sqlsrv$sqlda2_char_set_info #endif /* * Define the SQLDA2 routines that have the same interface as * those for SQLDA. */ #define sqlsrv_sqlda2_unref_data sqlsrv_sqlda_unref_data #define sqlsrv_sqlda2_unbind_sqlda sqlsrv_sqlda_unbind_sqlda #define sqlsrv_sqlda2_sqld sqlsrv_sqlda_sqld #define sqlsrv_allocate_sqlda2_data sqlsrv_allocate_sqlda_data #define sqlsrv_free_sqlda2_data sqlsrv_free_sqlda_data /* * Oracle SQL/Services function prototypes * Function prototypes are not supported by Unix pcc. */ /* * C/C++ linkage specification. Needed for QPT. */ #ifdef CPP extern "C" { #endif /* CPP */ /* * api function declarations. */ extern int __FARTYP__ sqlsrv_abort( ASSOCIATE_ID associate_id); extern int __FARTYP__ sqlsrv_allocate_sqlda_data( ASSOCIATE_ID associate_id, SQLDA_ID sqlda_str); extern int __FARTYP__ sqlsrv_associate( char __FARTYP__ *node_name, char __FARTYP__ *user_name, char __FARTYP__ *password, CHARPTR read_buffer, CHARPTR write_buffer, SQS_LONGWORD read_buffer_size, SQS_LONGWORD write_buffer_size, SQLCA_ID sqlca_str, struct ASSOCIATE_STR __FARTYP__ *associate_str, ASSOCIATE_ID __FARTYP__ *associate_id); extern int __FARTYP__ sqlsrv_close_cursor( ASSOCIATE_ID associate_id, char __FARTYP__ *cursor_name); extern int __FARTYP__ sqlsrv_declare_cursor( ASSOCIATE_ID associate_id, char __FARTYP__ *cursor_name, SQS_LONGWORD statement_id, short int cursor_type, short int cursor_mode); extern int __FARTYP__ sqlsrv_execute( ASSOCIATE_ID associate_id, SQS_LONGWORD database_id, SQS_LONGWORD statement_id, short int execute_flag, SQLDA_ID parameter_marker_sqlda); extern int __FARTYP__ sqlsrv_execute_in_out( ASSOCIATE_ID associate_id, SQS_LONGWORD database_id, SQS_LONGWORD statement_id, short int execute_flag, SQLDA_ID parameter_marker_sqlda, SQLDA_ID select_list_sqlda); extern int __FARTYP__ sqlsrv_execute_immediate( ASSOCIATE_ID associate_id, SQS_LONGWORD database_id, char __FARTYP__ *sql_statement); extern int __FARTYP__ sqlsrv_fetch( ASSOCIATE_ID associate_id, char __FARTYP__ *cursor_name, short int scroll_option, SQS_LONGWORD position, SQLDA_ID select_list_sqlda); extern int __FARTYP__ sqlsrv_fetch_many( ASSOCIATE_ID associate_id, char __FARTYP__ *cursor_name, short int increment, short int repeat_count); extern int __FARTYP__ sqlsrv_free_sqlda_data( ASSOCIATE_ID associate_id, SQLDA_ID sqlda_str); extern int __FARTYP__ sqlsrv_get_associate_info( ASSOCIATE_ID associate_id, unsigned short info_type, unsigned short buf_len, char __FARTYP__ *info_buf, SQS_LONGWORD __FARTYP__ *info_num); extern int __FARTYP__ sqlsrv_open_cursor( ASSOCIATE_ID associate_id, char __FARTYP__ *cursor_name, SQS_LONGWORD statement_id, SQLDA_ID parameter_marker_sqlda); extern int __FARTYP__ sqlsrv_prepare( ASSOCIATE_ID associate_id, SQS_LONGWORD database_id, char __FARTYP__ *sql_statement, SQS_LONGWORD __FARTYP__ *statement_id, SQLDA_ID __FARTYP__ *parameter_marker_sqlda, SQLDA_ID __FARTYP__ *select_list_sqlda); extern int __FARTYP__ sqlsrv_release( ASSOCIATE_ID associate_id, char __FARTYP__ *stats); extern int __FARTYP__ sqlsrv_release_statement( ASSOCIATE_ID associate_id, short int statement_id_count, SQS_LONGWORD __FARTYP__ *statement_id_array); extern int __FARTYP__ sqlsrv_set_server_class( char __FARTYP__ *class_name); extern int __FARTYP__ sqlsrv_set_transport_type( int transport_type); extern int __FARTYP__ sqlsrv_sqlca_error( ASSOCIATE_ID ctxid, SQS_LONGWORD __FARTYP__ *majerr, SQS_LONGWORD __FARTYP__ *suberr1, SQS_LONGWORD __FARTYP__ *suberr2); extern int __FARTYP__ sqlsrv_sqlca_error_text( ASSOCIATE_ID ctxid, short __FARTYP__ *msglen, char __FARTYP__ *msg, short buflen); extern int __FARTYP__ sqlsrv_sqlca_num_batch_rows( ASSOCIATE_ID ctxid); extern int __FARTYP__ sqlsrv_sqlca_count( ASSOCIATE_ID ctxid); extern int __FARTYP__ sqlsrv_sqlca_sqlerrd( ASSOCIATE_ID ctxid, SQS_LONGWORD __FARTYP__ *sqlerrd_array); extern int __FARTYP__ sqlsrv_sqlca_sqlwarn( ASSOCIATE_ID ctxid, char __FARTYP__ *sqlwarn_array); extern int __FARTYP__ sqlsrv_sqlda_sqld( SQLDA_ID sqldaid); extern int __FARTYP__ sqlsrv_sqlda_column_name( SQLDA_ID sqldaid, short colnum, char __FARTYP__ *colnam, short __FARTYP__ *colnamlen); extern int __FARTYP__ sqlsrv_sqlda_column_type( SQLDA_ID sqldaid, short colnum, short __FARTYP__ *coltyp, unsigned short __FARTYP__ *collen, short __FARTYP__ *colscl, void __FARTYP__ *rsv); extern int __FARTYP__ sqlsrv_sqlda_map_data( SQLDA_ID sqldaid, short colnum, short __FARTYP__ *coltyp, unsigned short __FARTYP__ *collen, short __FARTYP__ *colscl, PTRCHARPTR val, SHORTPTR nullp, void __FARTYP__ *rsv); extern int __FARTYP__ sqlsrv_sqlda_unmap_data( SQLDA_ID sqldaid, short colnum); extern int __FARTYP__ sqlsrv_sqlda_ref_data( SQLDA_ID sqldaid, short colnum, short __FARTYP__ *coltyp, unsigned short __FARTYP__ *collen, short __FARTYP__ *colscl, PTRCHARPTR val, PTRSHORTPTR nullp, void __FARTYP__ *rsv); extern int __FARTYP__ sqlsrv_sqlda_unref_data( SQLDA_ID sqldaid, short colnum); extern int __FARTYP__ sqlsrv_sqlda_get_data( SQLDA_ID sqldaid, short colnum, unsigned short offset, CHARPTR dst, unsigned short dstlen, SHORTPTR nullp, unsigned short __FARTYP__ *bytcpy); extern int __FARTYP__ sqlsrv_sqlda_set_data( SQLDA_ID sqldaid, short colnum, unsigned short offset, CHARPTR dst, unsigned short dstlen, short nullp, unsigned short __FARTYP__ *bytcpy); extern int __FARTYP__ sqlsrv_sqlda_set_sqllen( SQLDA_ID sqldaid, short colnum, unsigned short len); extern int __FARTYP__ sqlsrv_sqlda_bind_data( SQLDA_ID sqldaid, short colnum, short coltyp, unsigned short collen, short colscl, CHARPTR datptr, SHORTPTR nulptr, void __FARTYP__ *rsv); extern int __FARTYP__ sqlsrv_sqlda_unbind_sqlda( SQLDA_ID sqldaid); extern int __FARTYP__ sqlsrv_sqlda2_column_name( SQLDA_ID sqldaid, short colnum, char __FARTYP__ *colnam, short __FARTYP__ *colnamlen); extern int __FARTYP__ sqlsrv_sqlda2_column_type( SQLDA_ID sqldaid, short colnum, short __FARTYP__ *coltyp, SQS_UNSIGNED_LONGWORD __FARTYP__ *collen, short __FARTYP__ *colscl, SQS_UNSIGNED_LONGWORD __FARTYP__ *coloctlen, void __FARTYP__ *rsv); extern int __FARTYP__ sqlsrv_sqlda2_bind_data( SQLDA_ID sqldaid, short colnum, short coltyp, SQS_UNSIGNED_LONGWORD collen, short colscl, CHARPTR datptr, LONGPTR nulptr, SQS_UNSIGNED_LONGWORD octet_len, SQS_LONGWORD chrono_scale, SQS_LONGWORD chrono_precision, void __FARTYP__ *rsv); extern int __FARTYP__ sqlsrv_sqlda2_ref_data( SQLDA_ID sqldaid, short colnum, short __FARTYP__ *coltyp, SQS_UNSIGNED_LONGWORD __FARTYP__ *collen, short __FARTYP__ *colscl, PTRCHARPTR val, PTRLONGPTR nullp, SQS_UNSIGNED_LONGWORD __FARTYP__ *octet_len, SQS_LONGWORD __FARTYP__ *chrono_scale, SQS_LONGWORD __FARTYP__ *chrono_precision, void __FARTYP__ *rsv); extern int __FARTYP__ sqlsrv_sqlda2_get_data( SQLDA_ID sqldaid, short colnum, SQS_UNSIGNED_LONGWORD offset, CHARPTR dst, SQS_UNSIGNED_LONGWORD dstlen, LONGPTR nullp, SQS_UNSIGNED_LONGWORD __FARTYP__ *bytcpy); extern int __FARTYP__ sqlsrv_sqlda2_set_data( SQLDA_ID sqldaid, short colnum, SQS_UNSIGNED_LONGWORD offset, CHARPTR dst, SQS_UNSIGNED_LONGWORD dstlen, SQS_LONGWORD nullp, SQS_UNSIGNED_LONGWORD __FARTYP__ *bytcpy); extern int __FARTYP__ sqlsrv_sqlda2_set_sqllen( SQLDA_ID sqldaid, short colnum, SQS_UNSIGNED_LONGWORD len, SQS_UNSIGNED_LONGWORD octet_len); extern int __FARTYP__ sqlsrv_sqlda2_char_set_info( SQLDA_ID sqldaid, short colnum, CHARPTR name, short name_len, CHARPTR schema, short schema_len, CHARPTR catalog, short catalog_len); extern int __FARTYP__ sqlsrv_set_option( ASSOCIATE_ID association, SQS_LONGWORD option, SQS_LONGWORD value, void __FARTYP__ *rsv); #ifdef CPP } #endif /* CPP -- End of linkage specification */ #endif