/* *++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ * * S Q L S R V D A . H Oracle SQL/Services Description Area * *-------------------------------------------------------------------------- * * Copyright (c) 1990,1995 by Oracle Corporation. All rights reserved. * *++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ *++ * FACILITY: * Oracle SQL/Services, client / server * * ABSTRACT: * Oracle SQL/Services Description Area data structure * * AUTHORS: * Larry Barnes * * * CREATION DATE: 10-Oct-1988 * * * MODIFICATION HISTORY: * 04/19/96 sjo Don't align structures is using DEC C on VMS. * 01/05/94 cc Turn off member alignment for Alpha VMS * 06/08/94 sjo Merge DBserver changes * 5/26/94 sjo Use SQS_LONGWORD instead of SQS_LONG to denote 32-bit * integers * 4/21/94 sjo use portable 32-bit integer types from sqlsrv.h * 4/14/92 dbg added SQLDA2 structure * 6/28/91 lb make SQLDA_ID a far pointer for windows * 6/ 5/91 lb eliminate SQLCA references * 4/17/91 lb load sqlsrv.h * 12/21/90 lb SQLIND, use SHORTPTR * 10/10/90 hjw use CHARPTR * 6/26/90 lb add _SQLSRV_SQLDA_ * 4/13/90 lb move the SQL Services datatypes to sqlsrv.h * 10/10/88 lb Field Test 1 *-- * * ROUTINES: * * TODO: */ #ifndef _SQLSRV_SQLDA_ #define _SQLSRV_SQLDA_ #ifndef _SQLSRV_SQLDA_DEFINED_ # define _SQLSRV_SQLDA_DEFINED_ # ifdef _WINDOWS typedef struct SQLDA far *SQLDA_ID; typedef struct SQLDA2 far *SQLDA2_ID; # else typedef struct SQLDA *SQLDA_ID; typedef struct SQLDA2 *SQLDA2_ID; # endif #endif /* * Mod: 6/5/91 lb * bring in sqlsrv.h to define portable datatypes. */ #ifndef LOCAL_INCLUDE # include #else # include "sqlsrv.h" #endif /* * Preserve structure layouts on OpenVMS VAX and OpenVMS Alpha if using DEC C. */ #if defined( __VMS ) && defined( __DECC ) #pragma member_alignment save /* save current alignment */ #pragma nomember_alignment /* turn off member alignment */ #endif /* * SQLVAR: Variable portion of the SQLDA structure. */ struct SQLVAR { short SQLTYPE; /* SQL Data type. */ unsigned short SQLLEN; /* SQL Data length. */ CHARPTR SQLDATA; /* ptr: SQL data. */ SHORTPTR SQLIND; /* ptr: SQL indicator var. */ short SQLNAME_LEN; /* length of SQL name. */ char SQLNAME[30]; /* SQL name. */ }; /* * SQLDA: Oracle Rdb SQL Description Area data structure. */ struct SQLDA { char SQLDAID[8]; SQS_LONGWORD SQLDABC; unsigned short SQLN; /* Total # of occurences in SQLVAR */ unsigned short SQLD; /* # of select list items or parameter markers * in prepared statement */ struct SQLVAR SQLVARARY[1]; /* Variable length SQLVARARY. */ }; /* * SQLVAR2: Variable portion of the SQLDA2 structure. */ struct SQLVAR2 { short SQLTYPE; /* SQL Data type. */ SQS_UNSIGNED_LONGWORD SQLLEN; /* SQL Data length. */ SQS_UNSIGNED_LONGWORD SQLOCTET_LEN; CHARPTR SQLDATA; /* ptr: SQL data. */ LONGPTR SQLIND; /* ptr: SQL indicator var. */ SQS_LONGWORD SQLCHRONO_SCALE; SQS_LONGWORD SQLCHRONO_PRECISION; short SQLNAME_LEN; /* length of SQL name. */ char SQLNAME[128]; /* SQL name. */ char SQLCHAR_SET_NAME[128]; char SQLCHAR_SET_SCHEMA[128]; char SQLCHAR_SET_CATALOG[128]; }; /* * SQLDA2: Oracle Rdb SQL Description Area data structure. */ struct SQLDA2 { char SQLDAID[8]; SQS_LONGWORD SQLDABC; unsigned short SQLN; /* Total # of occurences in SQLVAR */ unsigned short SQLD; /* # of select list items or parameter markers * in prepared statement */ struct SQLVAR2 SQLVARARY[1];/* Variable length SQLVARARY. */ }; /* * Restore member alignment on OpenVMS VAX and OpenVMS Alpha if using DEC C. */ #if defined( __VMS ) && defined( __DECC ) #pragma member_alignment restore #endif #endif