1/*-------------------------------------------------------------------------
2 *
3 * pg_lsn.h
4 * Declarations for operations on log sequence numbers (LSNs) of
5 * PostgreSQL.
6 *
7 *
8 * Portions Copyright (c) 1996-2019, PostgreSQL Global Development Group
9 * Portions Copyright (c) 1994, Regents of the University of California
10 *
11 * src/include/utils/pg_lsn.h
12 *
13 *-------------------------------------------------------------------------
14 */
15#ifndef PG_LSN_H
16#define PG_LSN_H
17
18#include "fmgr.h"
19#include "access/xlogdefs.h"
20
21#define DatumGetLSN(X) ((XLogRecPtr) DatumGetInt64(X))
22#define LSNGetDatum(X) (Int64GetDatum((int64) (X)))
23
24#define PG_GETARG_LSN(n) DatumGetLSN(PG_GETARG_DATUM(n))
25#define PG_RETURN_LSN(x) return LSNGetDatum(x)
26
27extern XLogRecPtr pg_lsn_in_internal(const char *str, bool *have_error);
28
29#endif /* PG_LSN_H */
30