]> granicus.if.org Git - postgresql/blob - src/include/postgres_ext.h
A visit from the message-style police ...
[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  * $Id: postgres_ext.h,v 1.12 2003/03/18 17:21:07 momjian Exp $
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  * NAMEDATALEN is the max length for system identifiers (e.g. table names,
43  * attribute names, function names, etc).  It must be a multiple of
44  * sizeof(int) (typically 4).
45  *
46  * NOTE that databases with different NAMEDATALEN's cannot interoperate!
47  */
48 #define NAMEDATALEN 64
49
50 #endif