| /* |
| * $Header: sqlca.h 24-apr-2003.12:50:58 mkandarp Exp $ sqlca.h |
| */ |
| |
| /* Copyright (c) 1985, 2003, Oracle Corporation. All rights reserved. */ |
| |
| /* |
| NAME |
| SQLCA : SQL Communications Area. |
| FUNCTION |
| Contains no code. Oracle fills in the SQLCA with status info |
| during the execution of a SQL stmt. |
| NOTES |
| ************************************************************** |
| *** *** |
| *** This file is SOSD. Porters must change the data types *** |
| *** appropriately on their platform. See notes/pcport.doc *** |
| *** for more information. *** |
| *** *** |
| ************************************************************** |
| |
| If the symbol SQLCA_STORAGE_CLASS is defined, then the SQLCA |
| will be defined to have this storage class. For example: |
| |
| #define SQLCA_STORAGE_CLASS extern |
| |
| will define the SQLCA as an extern. |
| |
| If the symbol SQLCA_INIT is defined, then the SQLCA will be |
| statically initialized. Although this is not necessary in order |
| to use the SQLCA, it is a good pgming practice not to have |
| unitialized variables. However, some C compilers/OS's don't |
| allow automatic variables to be init'd in this manner. Therefore, |
| if you are INCLUDE'ing the SQLCA in a place where it would be |
| an automatic AND your C compiler/OS doesn't allow this style |
| of initialization, then SQLCA_INIT should be left undefined -- |
| all others can define SQLCA_INIT if they wish. |
| |
| If the symbol SQLCA_NONE is defined, then the SQLCA variable will |
| not be defined at all. The symbol SQLCA_NONE should not be defined |
| in source modules that have embedded SQL. However, source modules |
| that have no embedded SQL, but need to manipulate a sqlca struct |
| passed in as a parameter, can set the SQLCA_NONE symbol to avoid |
| creation of an extraneous sqlca variable. |
| |
| MODIFIED |
| lvbcheng 07/31/98 - long to int |
| jbasu 12/12/94 - Bug 217878: note this is an SOSD file |
| losborne 08/11/92 - No sqlca var if SQLCA_NONE macro set |
| Clare 12/06/84 - Ch SQLCA to not be an extern. |
| Clare 10/21/85 - Add initialization. |
| Bradbury 01/05/86 - Only initialize when SQLCA_INIT set |
| Clare 06/12/86 - Add SQLCA_STORAGE_CLASS option. |
| */ |
| |
| #ifndef SQLCA |
| #define SQLCA 1 |
| |
| struct sqlca |
| { |
| /* ub1 */ char sqlcaid[8]; |
| /* b4 */ int sqlabc; |
| /* b4 */ int sqlcode; |
| struct |
| { |
| /* ub2 */ unsigned short sqlerrml; |
| /* ub1 */ char sqlerrmc[70]; |
| } sqlerrm; |
| /* ub1 */ char sqlerrp[8]; |
| /* b4 */ int sqlerrd[6]; |
| /* ub1 */ char sqlwarn[8]; |
| /* ub1 */ char sqlext[8]; |
| }; |
| |
| #ifndef SQLCA_NONE |
| #ifdef SQLCA_STORAGE_CLASS |
| SQLCA_STORAGE_CLASS struct sqlca sqlca |
| #else |
| struct sqlca sqlca |
| #endif |
| |
| #ifdef SQLCA_INIT |
| = { |
| {'S', 'Q', 'L', 'C', 'A', ' ', ' ', ' '}, |
| sizeof(struct sqlca), |
| 0, |
| { 0, {0}}, |
| {'N', 'O', 'T', ' ', 'S', 'E', 'T', ' '}, |
| {0, 0, 0, 0, 0, 0}, |
| {0, 0, 0, 0, 0, 0, 0, 0}, |
| {0, 0, 0, 0, 0, 0, 0, 0} |
| } |
| #endif |
| ; |
| #endif |
| |
| #endif |
| |
| /* end SQLCA */ |