libfortuna  1
FortunalibraryfunctionsextractedfromPostgreSQLsource
 All Data Structures Files Functions Variables Typedefs Macros
c.h
Go to the documentation of this file.
1 /*-------------------------------------------------------------------------
2  *
3  * c.h
4  * Fundamental C definitions. This is included by every .c file in
5  * PostgreSQL (via either postgres.h or postgres_fe.h, as appropriate).
6  *
7  * Note that the definitions here are not intended to be exposed to clients
8  * of the frontend interface libraries --- so we don't worry much about
9  * polluting the namespace with lots of stuff...
10  *
11  *
12  * Portions Copyright (c) 1996-2012, PostgreSQL Global Development Group
13  * Portions Copyright (c) 1994, Regents of the University of California
14  *
15  * src/include/c.h
16  *
17  *-------------------------------------------------------------------------
18  */
19 /*
20  *----------------------------------------------------------------
21  * TABLE OF CONTENTS
22  *
23  * When adding stuff to this file, please try to put stuff
24  * into the relevant section, or add new sections as appropriate.
25  *
26  * section description
27  * ------- ------------------------------------------------
28  * 0) pg_config.h and standard system headers
29  * 1) hacks to cope with non-ANSI C compilers
30  * 2) bool, true, false, TRUE, FALSE, NULL
31  * 3) standard system types
32  * 4) IsValid macros for system types
33  * 5) offsetof, lengthof, endof, alignment
34  * 6) widely useful macros
35  * 7) random stuff
36  * 8) system-specific hacks
37  *
38  * NOTE: since this file is included by both frontend and backend modules, it's
39  * almost certainly wrong to put an "extern" declaration here. typedefs and
40  * macros are the kind of thing that might go here.
41  *
42  *----------------------------------------------------------------
43  */
44 #ifndef C_H
45 #define C_H
46 
47 
48 
49 #include <sys/types.h>
50 #include <string.h>
51 #include <stdarg.h>
52 #include <stdio.h>
53 
54 
55 typedef signed char int8; /* == 8 bits */
56 typedef signed short int16; /* == 16 bits */
57 typedef signed int int32; /* == 32 bits */
58 
59 typedef unsigned char uint8; /* == 8 bits */
60 typedef unsigned short uint16; /* == 16 bits */
61 typedef unsigned int uint32; /* == 32 bits */
62 
63 typedef uint8 bits8; /* >= 8 bits */
64 typedef uint16 bits16; /* >= 16 bits */
65 typedef uint32 bits32; /* >= 32 bits */
66 
67 typedef long int int64;
68 typedef unsigned long int uint64;
69 
70 typedef int16 int2;
71 typedef int32 int4;
72 typedef float float4;
73 typedef double float8;
74 
75 
76 #endif