]> granicus.if.org Git - postgresql/blob - src/include/postgres_ext.h
Remove leftovers of BeOS port
[postgresql] / src / include / postgres_ext.h
1 /*-------------------------------------------------------------------------
2  *
3  * postgres_ext.h
4  *
5  *         This file contains declarations of things that are visible everywhere
6  *      in PostgreSQL *and* are visible to clients of frontend interface libraries.
7  *      For example, the Oid type is part of the API of libpq and other libraries.
8  *
9  *         Declarations which are specific to a particular interface should
10  *      go in the header file for that interface (such as libpq-fe.h).  This
11  *      file is only for fundamental Postgres declarations.
12  *
13  *         User-written C functions don't count as "external to Postgres."
14  *      Those function much as local modifications to the backend itself, and
15  *      use header files that are otherwise internal to Postgres to interface
16  *      with the backend.
17  *
18  * src/include/postgres_ext.h
19  *
20  *-------------------------------------------------------------------------
21  */
22
23 #ifndef POSTGRES_EXT_H
24 #define POSTGRES_EXT_H
25
26 /*
27  * Object ID is a fundamental type in Postgres.
28  */
29 typedef unsigned int Oid;
30
31 #ifdef __cplusplus
32 #define InvalidOid              (Oid(0))
33 #else
34 #define InvalidOid              ((Oid) 0)
35 #endif
36
37 #define OID_MAX  UINT_MAX
38 /* you will need to include <limits.h> to use the above #define */
39
40
41 /*
42  * Identifiers of error message fields.  Kept here to keep common
43  * between frontend and backend, and also to export them to libpq
44  * applications.
45  */
46 #define PG_DIAG_SEVERITY                'S'
47 #define PG_DIAG_SQLSTATE                'C'
48 #define PG_DIAG_MESSAGE_PRIMARY 'M'
49 #define PG_DIAG_MESSAGE_DETAIL  'D'
50 #define PG_DIAG_MESSAGE_HINT    'H'
51 #define PG_DIAG_STATEMENT_POSITION 'P'
52 #define PG_DIAG_INTERNAL_POSITION 'p'
53 #define PG_DIAG_INTERNAL_QUERY  'q'
54 #define PG_DIAG_CONTEXT                 'W'
55 #define PG_DIAG_SOURCE_FILE             'F'
56 #define PG_DIAG_SOURCE_LINE             'L'
57 #define PG_DIAG_SOURCE_FUNCTION 'R'
58
59 #endif