1 #ifndef POSTGRES_SQLCA_H
2 #define POSTGRES_SQLCA_H
3 
4 #ifndef PGDLLIMPORT
5 #if  defined(WIN32) || defined(__CYGWIN__)
6 #define PGDLLIMPORT __declspec (dllimport)
7 #else
8 #define PGDLLIMPORT
9 #endif							/* __CYGWIN__ */
10 #endif							/* PGDLLIMPORT */
11 
12 #define SQLERRMC_LEN	150
13 
14 #ifdef __cplusplus
15 extern "C"
16 {
17 #endif
18 
19 struct sqlca_t
20 {
21 	char		sqlcaid[8];
22 	long		sqlabc;
23 	long		sqlcode;
24 	struct
25 	{
26 		int			sqlerrml;
27 		char		sqlerrmc[SQLERRMC_LEN];
28 	}			sqlerrm;
29 	char		sqlerrp[8];
30 	long		sqlerrd[6];
31 	/* Element 0: empty						*/
32 	/* 1: OID of processed tuple if applicable			*/
33 	/* 2: number of rows processed				*/
34 	/* after an INSERT, UPDATE or				*/
35 	/* DELETE statement					*/
36 	/* 3: empty						*/
37 	/* 4: empty						*/
38 	/* 5: empty						*/
39 	char		sqlwarn[8];
40 	/* Element 0: set to 'W' if at least one other is 'W'	*/
41 	/* 1: if 'W' at least one character string		*/
42 	/* value was truncated when it was			*/
43 	/* stored into a host variable.             */
44 
45 	/*
46 	 * 2: if 'W' a (hopefully) non-fatal notice occurred
47 	 */	/* 3: empty */
48 	/* 4: empty						*/
49 	/* 5: empty						*/
50 	/* 6: empty						*/
51 	/* 7: empty						*/
52 
53 	char		sqlstate[5];
54 };
55 
56 struct sqlca_t *ECPGget_sqlca(void);
57 
58 #ifndef POSTGRES_ECPG_INTERNAL
59 #define sqlca (*ECPGget_sqlca())
60 #endif
61 
62 #ifdef __cplusplus
63 }
64 #endif
65 
66 #endif
67