PostgreSQL Source Code
git master
uuid.h
Go to the documentation of this file.
1
/*-------------------------------------------------------------------------
2
*
3
* uuid.h
4
* Header file for the "uuid" ADT. In C, we use the name pg_uuid_t,
5
* to avoid conflicts with any uuid_t type that might be defined by
6
* the system headers.
7
*
8
* Copyright (c) 2007-2024, PostgreSQL Global Development Group
9
*
10
* src/include/utils/uuid.h
11
*
12
*-------------------------------------------------------------------------
13
*/
14
#ifndef UUID_H
15
#define UUID_H
16
17
/* uuid size in bytes */
18
#define UUID_LEN 16
19
20
typedef
struct
pg_uuid_t
21
{
22
unsigned
char
data
[
UUID_LEN
];
23
}
pg_uuid_t
;
24
25
/* fmgr interface macros */
26
static
inline
Datum
27
UUIDPGetDatum
(
const
pg_uuid_t
*X)
28
{
29
return
PointerGetDatum
(X);
30
}
31
32
#define PG_RETURN_UUID_P(X) return UUIDPGetDatum(X)
33
34
static
inline
pg_uuid_t
*
35
DatumGetUUIDP
(
Datum
X)
36
{
37
return
(
pg_uuid_t
*)
DatumGetPointer
(X);
38
}
39
40
#define PG_GETARG_UUID_P(X) DatumGetUUIDP(PG_GETARG_DATUM(X))
41
42
#endif
/* UUID_H */
PointerGetDatum
static Datum PointerGetDatum(const void *X)
Definition:
postgres.h:322
Datum
uintptr_t Datum
Definition:
postgres.h:64
DatumGetPointer
static Pointer DatumGetPointer(Datum X)
Definition:
postgres.h:312
pg_uuid_t
Definition:
uuid.h:21
pg_uuid_t::data
unsigned char data[UUID_LEN]
Definition:
uuid.h:22
pg_uuid_t
struct pg_uuid_t pg_uuid_t
UUID_LEN
#define UUID_LEN
Definition:
uuid.h:18
UUIDPGetDatum
static Datum UUIDPGetDatum(const pg_uuid_t *X)
Definition:
uuid.h:27
DatumGetUUIDP
static pg_uuid_t * DatumGetUUIDP(Datum X)
Definition:
uuid.h:35
src
include
utils
uuid.h
Generated on Sun Sep 15 2024 12:13:24 for PostgreSQL Source Code by
1.9.1