/***********************************************************************************************************************************
PostgreSQL Interface

Automatically generated by 'build-code postgres' -- do not modify directly.
***********************************************************************************************************************************/

/***********************************************************************************************************************************
PostgreSQL 18 interface
***********************************************************************************************************************************/
#define PG_VERSION                                                  PG_VERSION_18

#define CheckPoint                                                  CheckPoint_18
#define ControlFileData                                             ControlFileData_18
#define DBState                                                     DBState_18
#define DB_IN_ARCHIVE_RECOVERY                                      DB_IN_ARCHIVE_RECOVERY_18
#define DB_IN_CRASH_RECOVERY                                        DB_IN_CRASH_RECOVERY_18
#define DB_IN_PRODUCTION                                            DB_IN_PRODUCTION_18
#define DB_SHUTDOWNED                                               DB_SHUTDOWNED_18
#define DB_SHUTDOWNED_IN_RECOVERY                                   DB_SHUTDOWNED_IN_RECOVERY_18
#define DB_SHUTDOWNING                                              DB_SHUTDOWNING_18
#define DB_STARTUP                                                  DB_STARTUP_18
#define FullTransactionId                                           FullTransactionId_18
#define MultiXactId                                                 MultiXactId_18
#define MultiXactOffset                                             MultiXactOffset_18
#define Oid                                                         Oid_18
#define TimeLineID                                                  TimeLineID_18
#define XLogLongPageHeaderData                                      XLogLongPageHeaderData_18
#define XLogPageHeaderData                                          XLogPageHeaderData_18
#define XLogRecPtr                                                  XLogRecPtr_18
#define int64                                                       int64_18
#define pg_crc32c                                                   pg_crc32c_18
#define pg_time_t                                                   pg_time_t_18
#define uint64                                                      uint64_18

#include "postgres/interface/version.intern.h"

PG_INTERFACE_CONTROL_IS(18);
PG_INTERFACE_CONTROL(18);
PG_INTERFACE_CONTROL_CRC_OFFSET(18);
PG_INTERFACE_CONTROL_CHECKPOINT_INVALIDATE(18);
PG_INTERFACE_CONTROL_VERSION(18);
PG_INTERFACE_WAL_IS(18);
PG_INTERFACE_WAL(18);

#undef CheckPoint
#undef ControlFileData
#undef DBState
#undef DB_IN_ARCHIVE_RECOVERY
#undef DB_IN_CRASH_RECOVERY
#undef DB_IN_PRODUCTION
#undef DB_SHUTDOWNED
#undef DB_SHUTDOWNED_IN_RECOVERY
#undef DB_SHUTDOWNING
#undef DB_STARTUP
#undef FullTransactionId
#undef MultiXactId
#undef MultiXactOffset
#undef Oid
#undef TimeLineID
#undef XLogLongPageHeaderData
#undef XLogPageHeaderData
#undef XLogRecPtr
#undef int64
#undef pg_crc32c
#undef pg_time_t
#undef uint64

#undef CATALOG_VERSION_NO
#undef CATALOG_VERSION_NO_MAX
#undef FLOATFORMAT_VALUE
#undef MOCK_AUTH_NONCE_LEN
#undef PG_CONTROL_VERSION
#undef PG_VERSION
#undef XLOG_PAGE_MAGIC
#undef XLP_LONG_HEADER

#undef PG_INTERFACE_CONTROL_IS
#undef PG_INTERFACE_CONTROL
#undef PG_INTERFACE_CONTROL_CRC_OFFSET
#undef PG_INTERFACE_CONTROL_CHECKPOINT_INVALIDATE
#undef PG_INTERFACE_CONTROL_VERSION
#undef PG_INTERFACE_WAL_IS
#undef PG_INTERFACE_WAL

/***********************************************************************************************************************************
PostgreSQL 17 interface
***********************************************************************************************************************************/
#define PG_VERSION                                                  PG_VERSION_17

#define CheckPoint                                                  CheckPoint_17
#define ControlFileData                                             ControlFileData_17
#define DBState                                                     DBState_17
#define DB_IN_ARCHIVE_RECOVERY                                      DB_IN_ARCHIVE_RECOVERY_17
#define DB_IN_CRASH_RECOVERY                                        DB_IN_CRASH_RECOVERY_17
#define DB_IN_PRODUCTION                                            DB_IN_PRODUCTION_17
#define DB_SHUTDOWNED                                               DB_SHUTDOWNED_17
#define DB_SHUTDOWNED_IN_RECOVERY                                   DB_SHUTDOWNED_IN_RECOVERY_17
#define DB_SHUTDOWNING                                              DB_SHUTDOWNING_17
#define DB_STARTUP                                                  DB_STARTUP_17
#define FullTransactionId                                           FullTransactionId_17
#define MultiXactId                                                 MultiXactId_17
#define MultiXactOffset                                             MultiXactOffset_17
#define Oid                                                         Oid_17
#define TimeLineID                                                  TimeLineID_17
#define XLogLongPageHeaderData                                      XLogLongPageHeaderData_17
#define XLogPageHeaderData                                          XLogPageHeaderData_17
#define XLogRecPtr                                                  XLogRecPtr_17
#define int64                                                       int64_17
#define pg_crc32c                                                   pg_crc32c_17
#define pg_time_t                                                   pg_time_t_17
#define uint64                                                      uint64_17

#include "postgres/interface/version.intern.h"

PG_INTERFACE_CONTROL_IS(17);
PG_INTERFACE_CONTROL(17);
PG_INTERFACE_CONTROL_CRC_OFFSET(17);
PG_INTERFACE_CONTROL_CHECKPOINT_INVALIDATE(17);
PG_INTERFACE_CONTROL_VERSION(17);
PG_INTERFACE_WAL_IS(17);
PG_INTERFACE_WAL(17);

#undef CheckPoint
#undef ControlFileData
#undef DBState
#undef DB_IN_ARCHIVE_RECOVERY
#undef DB_IN_CRASH_RECOVERY
#undef DB_IN_PRODUCTION
#undef DB_SHUTDOWNED
#undef DB_SHUTDOWNED_IN_RECOVERY
#undef DB_SHUTDOWNING
#undef DB_STARTUP
#undef FullTransactionId
#undef MultiXactId
#undef MultiXactOffset
#undef Oid
#undef TimeLineID
#undef XLogLongPageHeaderData
#undef XLogPageHeaderData
#undef XLogRecPtr
#undef int64
#undef pg_crc32c
#undef pg_time_t
#undef uint64

#undef CATALOG_VERSION_NO
#undef CATALOG_VERSION_NO_MAX
#undef FLOATFORMAT_VALUE
#undef MOCK_AUTH_NONCE_LEN
#undef PG_CONTROL_VERSION
#undef PG_VERSION
#undef XLOG_PAGE_MAGIC
#undef XLP_LONG_HEADER

#undef PG_INTERFACE_CONTROL_IS
#undef PG_INTERFACE_CONTROL
#undef PG_INTERFACE_CONTROL_CRC_OFFSET
#undef PG_INTERFACE_CONTROL_CHECKPOINT_INVALIDATE
#undef PG_INTERFACE_CONTROL_VERSION
#undef PG_INTERFACE_WAL_IS
#undef PG_INTERFACE_WAL

/***********************************************************************************************************************************
PostgreSQL 16 interface
***********************************************************************************************************************************/
#define PG_VERSION                                                  PG_VERSION_16

#define CheckPoint                                                  CheckPoint_16
#define ControlFileData                                             ControlFileData_16
#define DBState                                                     DBState_16
#define DB_IN_ARCHIVE_RECOVERY                                      DB_IN_ARCHIVE_RECOVERY_16
#define DB_IN_CRASH_RECOVERY                                        DB_IN_CRASH_RECOVERY_16
#define DB_IN_PRODUCTION                                            DB_IN_PRODUCTION_16
#define DB_SHUTDOWNED                                               DB_SHUTDOWNED_16
#define DB_SHUTDOWNED_IN_RECOVERY                                   DB_SHUTDOWNED_IN_RECOVERY_16
#define DB_SHUTDOWNING                                              DB_SHUTDOWNING_16
#define DB_STARTUP                                                  DB_STARTUP_16
#define FullTransactionId                                           FullTransactionId_16
#define MultiXactId                                                 MultiXactId_16
#define MultiXactOffset                                             MultiXactOffset_16
#define Oid                                                         Oid_16
#define TimeLineID                                                  TimeLineID_16
#define XLogLongPageHeaderData                                      XLogLongPageHeaderData_16
#define XLogPageHeaderData                                          XLogPageHeaderData_16
#define XLogRecPtr                                                  XLogRecPtr_16
#define int64                                                       int64_16
#define pg_crc32c                                                   pg_crc32c_16
#define pg_time_t                                                   pg_time_t_16
#define uint64                                                      uint64_16

#include "postgres/interface/version.intern.h"

PG_INTERFACE_CONTROL_IS(16);
PG_INTERFACE_CONTROL(16);
PG_INTERFACE_CONTROL_CRC_OFFSET(16);
PG_INTERFACE_CONTROL_CHECKPOINT_INVALIDATE(16);
PG_INTERFACE_CONTROL_VERSION(16);
PG_INTERFACE_WAL_IS(16);
PG_INTERFACE_WAL(16);

#undef CheckPoint
#undef ControlFileData
#undef DBState
#undef DB_IN_ARCHIVE_RECOVERY
#undef DB_IN_CRASH_RECOVERY
#undef DB_IN_PRODUCTION
#undef DB_SHUTDOWNED
#undef DB_SHUTDOWNED_IN_RECOVERY
#undef DB_SHUTDOWNING
#undef DB_STARTUP
#undef FullTransactionId
#undef MultiXactId
#undef MultiXactOffset
#undef Oid
#undef TimeLineID
#undef XLogLongPageHeaderData
#undef XLogPageHeaderData
#undef XLogRecPtr
#undef int64
#undef pg_crc32c
#undef pg_time_t
#undef uint64

#undef CATALOG_VERSION_NO
#undef CATALOG_VERSION_NO_MAX
#undef FLOATFORMAT_VALUE
#undef MOCK_AUTH_NONCE_LEN
#undef PG_CONTROL_VERSION
#undef PG_VERSION
#undef XLOG_PAGE_MAGIC
#undef XLP_LONG_HEADER

#undef PG_INTERFACE_CONTROL_IS
#undef PG_INTERFACE_CONTROL
#undef PG_INTERFACE_CONTROL_CRC_OFFSET
#undef PG_INTERFACE_CONTROL_CHECKPOINT_INVALIDATE
#undef PG_INTERFACE_CONTROL_VERSION
#undef PG_INTERFACE_WAL_IS
#undef PG_INTERFACE_WAL

/***********************************************************************************************************************************
PostgreSQL 15 interface
***********************************************************************************************************************************/
#define PG_VERSION                                                  PG_VERSION_15

#define CheckPoint                                                  CheckPoint_15
#define ControlFileData                                             ControlFileData_15
#define DBState                                                     DBState_15
#define DB_IN_ARCHIVE_RECOVERY                                      DB_IN_ARCHIVE_RECOVERY_15
#define DB_IN_CRASH_RECOVERY                                        DB_IN_CRASH_RECOVERY_15
#define DB_IN_PRODUCTION                                            DB_IN_PRODUCTION_15
#define DB_SHUTDOWNED                                               DB_SHUTDOWNED_15
#define DB_SHUTDOWNED_IN_RECOVERY                                   DB_SHUTDOWNED_IN_RECOVERY_15
#define DB_SHUTDOWNING                                              DB_SHUTDOWNING_15
#define DB_STARTUP                                                  DB_STARTUP_15
#define FullTransactionId                                           FullTransactionId_15
#define MultiXactId                                                 MultiXactId_15
#define MultiXactOffset                                             MultiXactOffset_15
#define Oid                                                         Oid_15
#define TimeLineID                                                  TimeLineID_15
#define XLogLongPageHeaderData                                      XLogLongPageHeaderData_15
#define XLogPageHeaderData                                          XLogPageHeaderData_15
#define XLogRecPtr                                                  XLogRecPtr_15
#define int64                                                       int64_15
#define pg_crc32c                                                   pg_crc32c_15
#define pg_time_t                                                   pg_time_t_15
#define uint64                                                      uint64_15

#include "postgres/interface/version.intern.h"

PG_INTERFACE_CONTROL_IS(15);
PG_INTERFACE_CONTROL(15);
PG_INTERFACE_CONTROL_CRC_OFFSET(15);
PG_INTERFACE_CONTROL_CHECKPOINT_INVALIDATE(15);
PG_INTERFACE_CONTROL_VERSION(15);
PG_INTERFACE_WAL_IS(15);
PG_INTERFACE_WAL(15);

#undef CheckPoint
#undef ControlFileData
#undef DBState
#undef DB_IN_ARCHIVE_RECOVERY
#undef DB_IN_CRASH_RECOVERY
#undef DB_IN_PRODUCTION
#undef DB_SHUTDOWNED
#undef DB_SHUTDOWNED_IN_RECOVERY
#undef DB_SHUTDOWNING
#undef DB_STARTUP
#undef FullTransactionId
#undef MultiXactId
#undef MultiXactOffset
#undef Oid
#undef TimeLineID
#undef XLogLongPageHeaderData
#undef XLogPageHeaderData
#undef XLogRecPtr
#undef int64
#undef pg_crc32c
#undef pg_time_t
#undef uint64

#undef CATALOG_VERSION_NO
#undef CATALOG_VERSION_NO_MAX
#undef FLOATFORMAT_VALUE
#undef MOCK_AUTH_NONCE_LEN
#undef PG_CONTROL_VERSION
#undef PG_VERSION
#undef XLOG_PAGE_MAGIC
#undef XLP_LONG_HEADER

#undef PG_INTERFACE_CONTROL_IS
#undef PG_INTERFACE_CONTROL
#undef PG_INTERFACE_CONTROL_CRC_OFFSET
#undef PG_INTERFACE_CONTROL_CHECKPOINT_INVALIDATE
#undef PG_INTERFACE_CONTROL_VERSION
#undef PG_INTERFACE_WAL_IS
#undef PG_INTERFACE_WAL

/***********************************************************************************************************************************
PostgreSQL 14 interface
***********************************************************************************************************************************/
#define PG_VERSION                                                  PG_VERSION_14

#define CheckPoint                                                  CheckPoint_14
#define ControlFileData                                             ControlFileData_14
#define DBState                                                     DBState_14
#define DB_IN_ARCHIVE_RECOVERY                                      DB_IN_ARCHIVE_RECOVERY_14
#define DB_IN_CRASH_RECOVERY                                        DB_IN_CRASH_RECOVERY_14
#define DB_IN_PRODUCTION                                            DB_IN_PRODUCTION_14
#define DB_SHUTDOWNED                                               DB_SHUTDOWNED_14
#define DB_SHUTDOWNED_IN_RECOVERY                                   DB_SHUTDOWNED_IN_RECOVERY_14
#define DB_SHUTDOWNING                                              DB_SHUTDOWNING_14
#define DB_STARTUP                                                  DB_STARTUP_14
#define FullTransactionId                                           FullTransactionId_14
#define MultiXactId                                                 MultiXactId_14
#define MultiXactOffset                                             MultiXactOffset_14
#define Oid                                                         Oid_14
#define TimeLineID                                                  TimeLineID_14
#define XLogLongPageHeaderData                                      XLogLongPageHeaderData_14
#define XLogPageHeaderData                                          XLogPageHeaderData_14
#define XLogRecPtr                                                  XLogRecPtr_14
#define int64                                                       int64_14
#define pg_crc32c                                                   pg_crc32c_14
#define pg_time_t                                                   pg_time_t_14
#define uint64                                                      uint64_14

#include "postgres/interface/version.intern.h"

PG_INTERFACE_CONTROL_IS(14);
PG_INTERFACE_CONTROL(14);
PG_INTERFACE_CONTROL_CRC_OFFSET(14);
PG_INTERFACE_CONTROL_CHECKPOINT_INVALIDATE(14);
PG_INTERFACE_CONTROL_VERSION(14);
PG_INTERFACE_WAL_IS(14);
PG_INTERFACE_WAL(14);

#undef CheckPoint
#undef ControlFileData
#undef DBState
#undef DB_IN_ARCHIVE_RECOVERY
#undef DB_IN_CRASH_RECOVERY
#undef DB_IN_PRODUCTION
#undef DB_SHUTDOWNED
#undef DB_SHUTDOWNED_IN_RECOVERY
#undef DB_SHUTDOWNING
#undef DB_STARTUP
#undef FullTransactionId
#undef MultiXactId
#undef MultiXactOffset
#undef Oid
#undef TimeLineID
#undef XLogLongPageHeaderData
#undef XLogPageHeaderData
#undef XLogRecPtr
#undef int64
#undef pg_crc32c
#undef pg_time_t
#undef uint64

#undef CATALOG_VERSION_NO
#undef CATALOG_VERSION_NO_MAX
#undef FLOATFORMAT_VALUE
#undef MOCK_AUTH_NONCE_LEN
#undef PG_CONTROL_VERSION
#undef PG_VERSION
#undef XLOG_PAGE_MAGIC
#undef XLP_LONG_HEADER

#undef PG_INTERFACE_CONTROL_IS
#undef PG_INTERFACE_CONTROL
#undef PG_INTERFACE_CONTROL_CRC_OFFSET
#undef PG_INTERFACE_CONTROL_CHECKPOINT_INVALIDATE
#undef PG_INTERFACE_CONTROL_VERSION
#undef PG_INTERFACE_WAL_IS
#undef PG_INTERFACE_WAL

/***********************************************************************************************************************************
PostgreSQL 13 interface
***********************************************************************************************************************************/
#define PG_VERSION                                                  PG_VERSION_13

#define CheckPoint                                                  CheckPoint_13
#define ControlFileData                                             ControlFileData_13
#define DBState                                                     DBState_13
#define DB_IN_ARCHIVE_RECOVERY                                      DB_IN_ARCHIVE_RECOVERY_13
#define DB_IN_CRASH_RECOVERY                                        DB_IN_CRASH_RECOVERY_13
#define DB_IN_PRODUCTION                                            DB_IN_PRODUCTION_13
#define DB_SHUTDOWNED                                               DB_SHUTDOWNED_13
#define DB_SHUTDOWNED_IN_RECOVERY                                   DB_SHUTDOWNED_IN_RECOVERY_13
#define DB_SHUTDOWNING                                              DB_SHUTDOWNING_13
#define DB_STARTUP                                                  DB_STARTUP_13
#define FullTransactionId                                           FullTransactionId_13
#define MultiXactId                                                 MultiXactId_13
#define MultiXactOffset                                             MultiXactOffset_13
#define Oid                                                         Oid_13
#define TimeLineID                                                  TimeLineID_13
#define XLogLongPageHeaderData                                      XLogLongPageHeaderData_13
#define XLogPageHeaderData                                          XLogPageHeaderData_13
#define XLogRecPtr                                                  XLogRecPtr_13
#define int64                                                       int64_13
#define pg_crc32c                                                   pg_crc32c_13
#define pg_time_t                                                   pg_time_t_13
#define uint64                                                      uint64_13

#include "postgres/interface/version.intern.h"

PG_INTERFACE_CONTROL_IS(13);
PG_INTERFACE_CONTROL(13);
PG_INTERFACE_CONTROL_CRC_OFFSET(13);
PG_INTERFACE_CONTROL_CHECKPOINT_INVALIDATE(13);
PG_INTERFACE_CONTROL_VERSION(13);
PG_INTERFACE_WAL_IS(13);
PG_INTERFACE_WAL(13);

#undef CheckPoint
#undef ControlFileData
#undef DBState
#undef DB_IN_ARCHIVE_RECOVERY
#undef DB_IN_CRASH_RECOVERY
#undef DB_IN_PRODUCTION
#undef DB_SHUTDOWNED
#undef DB_SHUTDOWNED_IN_RECOVERY
#undef DB_SHUTDOWNING
#undef DB_STARTUP
#undef FullTransactionId
#undef MultiXactId
#undef MultiXactOffset
#undef Oid
#undef TimeLineID
#undef XLogLongPageHeaderData
#undef XLogPageHeaderData
#undef XLogRecPtr
#undef int64
#undef pg_crc32c
#undef pg_time_t
#undef uint64

#undef CATALOG_VERSION_NO
#undef CATALOG_VERSION_NO_MAX
#undef FLOATFORMAT_VALUE
#undef MOCK_AUTH_NONCE_LEN
#undef PG_CONTROL_VERSION
#undef PG_VERSION
#undef XLOG_PAGE_MAGIC
#undef XLP_LONG_HEADER

#undef PG_INTERFACE_CONTROL_IS
#undef PG_INTERFACE_CONTROL
#undef PG_INTERFACE_CONTROL_CRC_OFFSET
#undef PG_INTERFACE_CONTROL_CHECKPOINT_INVALIDATE
#undef PG_INTERFACE_CONTROL_VERSION
#undef PG_INTERFACE_WAL_IS
#undef PG_INTERFACE_WAL

/***********************************************************************************************************************************
PostgreSQL 12 interface
***********************************************************************************************************************************/
#define PG_VERSION                                                  PG_VERSION_12

#define CheckPoint                                                  CheckPoint_12
#define ControlFileData                                             ControlFileData_12
#define DBState                                                     DBState_12
#define DB_IN_ARCHIVE_RECOVERY                                      DB_IN_ARCHIVE_RECOVERY_12
#define DB_IN_CRASH_RECOVERY                                        DB_IN_CRASH_RECOVERY_12
#define DB_IN_PRODUCTION                                            DB_IN_PRODUCTION_12
#define DB_SHUTDOWNED                                               DB_SHUTDOWNED_12
#define DB_SHUTDOWNED_IN_RECOVERY                                   DB_SHUTDOWNED_IN_RECOVERY_12
#define DB_SHUTDOWNING                                              DB_SHUTDOWNING_12
#define DB_STARTUP                                                  DB_STARTUP_12
#define FullTransactionId                                           FullTransactionId_12
#define MultiXactId                                                 MultiXactId_12
#define MultiXactOffset                                             MultiXactOffset_12
#define Oid                                                         Oid_12
#define TimeLineID                                                  TimeLineID_12
#define XLogLongPageHeaderData                                      XLogLongPageHeaderData_12
#define XLogPageHeaderData                                          XLogPageHeaderData_12
#define XLogRecPtr                                                  XLogRecPtr_12
#define int64                                                       int64_12
#define pg_crc32c                                                   pg_crc32c_12
#define pg_time_t                                                   pg_time_t_12
#define uint64                                                      uint64_12

#include "postgres/interface/version.intern.h"

PG_INTERFACE_CONTROL_IS(12);
PG_INTERFACE_CONTROL(12);
PG_INTERFACE_CONTROL_CRC_OFFSET(12);
PG_INTERFACE_CONTROL_CHECKPOINT_INVALIDATE(12);
PG_INTERFACE_CONTROL_VERSION(12);
PG_INTERFACE_WAL_IS(12);
PG_INTERFACE_WAL(12);

#undef CheckPoint
#undef ControlFileData
#undef DBState
#undef DB_IN_ARCHIVE_RECOVERY
#undef DB_IN_CRASH_RECOVERY
#undef DB_IN_PRODUCTION
#undef DB_SHUTDOWNED
#undef DB_SHUTDOWNED_IN_RECOVERY
#undef DB_SHUTDOWNING
#undef DB_STARTUP
#undef FullTransactionId
#undef MultiXactId
#undef MultiXactOffset
#undef Oid
#undef TimeLineID
#undef XLogLongPageHeaderData
#undef XLogPageHeaderData
#undef XLogRecPtr
#undef int64
#undef pg_crc32c
#undef pg_time_t
#undef uint64

#undef CATALOG_VERSION_NO
#undef CATALOG_VERSION_NO_MAX
#undef FLOATFORMAT_VALUE
#undef MOCK_AUTH_NONCE_LEN
#undef PG_CONTROL_VERSION
#undef PG_VERSION
#undef XLOG_PAGE_MAGIC
#undef XLP_LONG_HEADER

#undef PG_INTERFACE_CONTROL_IS
#undef PG_INTERFACE_CONTROL
#undef PG_INTERFACE_CONTROL_CRC_OFFSET
#undef PG_INTERFACE_CONTROL_CHECKPOINT_INVALIDATE
#undef PG_INTERFACE_CONTROL_VERSION
#undef PG_INTERFACE_WAL_IS
#undef PG_INTERFACE_WAL

/***********************************************************************************************************************************
PostgreSQL 11 interface
***********************************************************************************************************************************/
#define PG_VERSION                                                  PG_VERSION_11

#define CheckPoint                                                  CheckPoint_11
#define ControlFileData                                             ControlFileData_11
#define DBState                                                     DBState_11
#define DB_IN_ARCHIVE_RECOVERY                                      DB_IN_ARCHIVE_RECOVERY_11
#define DB_IN_CRASH_RECOVERY                                        DB_IN_CRASH_RECOVERY_11
#define DB_IN_PRODUCTION                                            DB_IN_PRODUCTION_11
#define DB_SHUTDOWNED                                               DB_SHUTDOWNED_11
#define DB_SHUTDOWNED_IN_RECOVERY                                   DB_SHUTDOWNED_IN_RECOVERY_11
#define DB_SHUTDOWNING                                              DB_SHUTDOWNING_11
#define DB_STARTUP                                                  DB_STARTUP_11
#define FullTransactionId                                           FullTransactionId_11
#define MultiXactId                                                 MultiXactId_11
#define MultiXactOffset                                             MultiXactOffset_11
#define Oid                                                         Oid_11
#define TimeLineID                                                  TimeLineID_11
#define XLogLongPageHeaderData                                      XLogLongPageHeaderData_11
#define XLogPageHeaderData                                          XLogPageHeaderData_11
#define XLogRecPtr                                                  XLogRecPtr_11
#define int64                                                       int64_11
#define pg_crc32c                                                   pg_crc32c_11
#define pg_time_t                                                   pg_time_t_11
#define uint64                                                      uint64_11

#include "postgres/interface/version.intern.h"

PG_INTERFACE_CONTROL_IS(11);
PG_INTERFACE_CONTROL(11);
PG_INTERFACE_CONTROL_CRC_OFFSET(11);
PG_INTERFACE_CONTROL_CHECKPOINT_INVALIDATE(11);
PG_INTERFACE_CONTROL_VERSION(11);
PG_INTERFACE_WAL_IS(11);
PG_INTERFACE_WAL(11);

#undef CheckPoint
#undef ControlFileData
#undef DBState
#undef DB_IN_ARCHIVE_RECOVERY
#undef DB_IN_CRASH_RECOVERY
#undef DB_IN_PRODUCTION
#undef DB_SHUTDOWNED
#undef DB_SHUTDOWNED_IN_RECOVERY
#undef DB_SHUTDOWNING
#undef DB_STARTUP
#undef FullTransactionId
#undef MultiXactId
#undef MultiXactOffset
#undef Oid
#undef TimeLineID
#undef XLogLongPageHeaderData
#undef XLogPageHeaderData
#undef XLogRecPtr
#undef int64
#undef pg_crc32c
#undef pg_time_t
#undef uint64

#undef CATALOG_VERSION_NO
#undef CATALOG_VERSION_NO_MAX
#undef FLOATFORMAT_VALUE
#undef MOCK_AUTH_NONCE_LEN
#undef PG_CONTROL_VERSION
#undef PG_VERSION
#undef XLOG_PAGE_MAGIC
#undef XLP_LONG_HEADER

#undef PG_INTERFACE_CONTROL_IS
#undef PG_INTERFACE_CONTROL
#undef PG_INTERFACE_CONTROL_CRC_OFFSET
#undef PG_INTERFACE_CONTROL_CHECKPOINT_INVALIDATE
#undef PG_INTERFACE_CONTROL_VERSION
#undef PG_INTERFACE_WAL_IS
#undef PG_INTERFACE_WAL

/***********************************************************************************************************************************
PostgreSQL 10 interface
***********************************************************************************************************************************/
#define PG_VERSION                                                  PG_VERSION_10

#define CheckPoint                                                  CheckPoint_10
#define ControlFileData                                             ControlFileData_10
#define DBState                                                     DBState_10
#define DB_IN_ARCHIVE_RECOVERY                                      DB_IN_ARCHIVE_RECOVERY_10
#define DB_IN_CRASH_RECOVERY                                        DB_IN_CRASH_RECOVERY_10
#define DB_IN_PRODUCTION                                            DB_IN_PRODUCTION_10
#define DB_SHUTDOWNED                                               DB_SHUTDOWNED_10
#define DB_SHUTDOWNED_IN_RECOVERY                                   DB_SHUTDOWNED_IN_RECOVERY_10
#define DB_SHUTDOWNING                                              DB_SHUTDOWNING_10
#define DB_STARTUP                                                  DB_STARTUP_10
#define FullTransactionId                                           FullTransactionId_10
#define MultiXactId                                                 MultiXactId_10
#define MultiXactOffset                                             MultiXactOffset_10
#define Oid                                                         Oid_10
#define TimeLineID                                                  TimeLineID_10
#define XLogLongPageHeaderData                                      XLogLongPageHeaderData_10
#define XLogPageHeaderData                                          XLogPageHeaderData_10
#define XLogRecPtr                                                  XLogRecPtr_10
#define int64                                                       int64_10
#define pg_crc32c                                                   pg_crc32c_10
#define pg_time_t                                                   pg_time_t_10
#define uint64                                                      uint64_10

#include "postgres/interface/version.intern.h"

PG_INTERFACE_CONTROL_IS(10);
PG_INTERFACE_CONTROL(10);
PG_INTERFACE_CONTROL_CRC_OFFSET(10);
PG_INTERFACE_CONTROL_CHECKPOINT_INVALIDATE(10);
PG_INTERFACE_CONTROL_VERSION(10);
PG_INTERFACE_WAL_IS(10);
PG_INTERFACE_WAL(10);

#undef CheckPoint
#undef ControlFileData
#undef DBState
#undef DB_IN_ARCHIVE_RECOVERY
#undef DB_IN_CRASH_RECOVERY
#undef DB_IN_PRODUCTION
#undef DB_SHUTDOWNED
#undef DB_SHUTDOWNED_IN_RECOVERY
#undef DB_SHUTDOWNING
#undef DB_STARTUP
#undef FullTransactionId
#undef MultiXactId
#undef MultiXactOffset
#undef Oid
#undef TimeLineID
#undef XLogLongPageHeaderData
#undef XLogPageHeaderData
#undef XLogRecPtr
#undef int64
#undef pg_crc32c
#undef pg_time_t
#undef uint64

#undef CATALOG_VERSION_NO
#undef CATALOG_VERSION_NO_MAX
#undef FLOATFORMAT_VALUE
#undef MOCK_AUTH_NONCE_LEN
#undef PG_CONTROL_VERSION
#undef PG_VERSION
#undef XLOG_PAGE_MAGIC
#undef XLP_LONG_HEADER

#undef PG_INTERFACE_CONTROL_IS
#undef PG_INTERFACE_CONTROL
#undef PG_INTERFACE_CONTROL_CRC_OFFSET
#undef PG_INTERFACE_CONTROL_CHECKPOINT_INVALIDATE
#undef PG_INTERFACE_CONTROL_VERSION
#undef PG_INTERFACE_WAL_IS
#undef PG_INTERFACE_WAL

/***********************************************************************************************************************************
PostgreSQL 9.6 interface
***********************************************************************************************************************************/
#define PG_VERSION                                                  PG_VERSION_96

#define CheckPoint                                                  CheckPoint_96
#define ControlFileData                                             ControlFileData_96
#define DBState                                                     DBState_96
#define DB_IN_ARCHIVE_RECOVERY                                      DB_IN_ARCHIVE_RECOVERY_96
#define DB_IN_CRASH_RECOVERY                                        DB_IN_CRASH_RECOVERY_96
#define DB_IN_PRODUCTION                                            DB_IN_PRODUCTION_96
#define DB_SHUTDOWNED                                               DB_SHUTDOWNED_96
#define DB_SHUTDOWNED_IN_RECOVERY                                   DB_SHUTDOWNED_IN_RECOVERY_96
#define DB_SHUTDOWNING                                              DB_SHUTDOWNING_96
#define DB_STARTUP                                                  DB_STARTUP_96
#define FullTransactionId                                           FullTransactionId_96
#define MultiXactId                                                 MultiXactId_96
#define MultiXactOffset                                             MultiXactOffset_96
#define Oid                                                         Oid_96
#define TimeLineID                                                  TimeLineID_96
#define XLogLongPageHeaderData                                      XLogLongPageHeaderData_96
#define XLogPageHeaderData                                          XLogPageHeaderData_96
#define XLogRecPtr                                                  XLogRecPtr_96
#define int64                                                       int64_96
#define pg_crc32c                                                   pg_crc32c_96
#define pg_time_t                                                   pg_time_t_96
#define uint64                                                      uint64_96

#include "postgres/interface/version.intern.h"

PG_INTERFACE_CONTROL_IS(96);
PG_INTERFACE_CONTROL(96);
PG_INTERFACE_CONTROL_CRC_OFFSET(96);
PG_INTERFACE_CONTROL_CHECKPOINT_INVALIDATE(96);
PG_INTERFACE_CONTROL_VERSION(96);
PG_INTERFACE_WAL_IS(96);
PG_INTERFACE_WAL(96);

#undef CheckPoint
#undef ControlFileData
#undef DBState
#undef DB_IN_ARCHIVE_RECOVERY
#undef DB_IN_CRASH_RECOVERY
#undef DB_IN_PRODUCTION
#undef DB_SHUTDOWNED
#undef DB_SHUTDOWNED_IN_RECOVERY
#undef DB_SHUTDOWNING
#undef DB_STARTUP
#undef FullTransactionId
#undef MultiXactId
#undef MultiXactOffset
#undef Oid
#undef TimeLineID
#undef XLogLongPageHeaderData
#undef XLogPageHeaderData
#undef XLogRecPtr
#undef int64
#undef pg_crc32c
#undef pg_time_t
#undef uint64

#undef CATALOG_VERSION_NO
#undef CATALOG_VERSION_NO_MAX
#undef FLOATFORMAT_VALUE
#undef MOCK_AUTH_NONCE_LEN
#undef PG_CONTROL_VERSION
#undef PG_VERSION
#undef XLOG_PAGE_MAGIC
#undef XLP_LONG_HEADER

#undef PG_INTERFACE_CONTROL_IS
#undef PG_INTERFACE_CONTROL
#undef PG_INTERFACE_CONTROL_CRC_OFFSET
#undef PG_INTERFACE_CONTROL_CHECKPOINT_INVALIDATE
#undef PG_INTERFACE_CONTROL_VERSION
#undef PG_INTERFACE_WAL_IS
#undef PG_INTERFACE_WAL

/***********************************************************************************************************************************
PostgreSQL interface struct
***********************************************************************************************************************************/
static const PgInterface pgInterface[] =
{
    {
        .version = PG_VERSION_18,

        .controlIs = pgInterfaceControlIs18,
        .control = pgInterfaceControl18,
        .controlCrcOffset = pgInterfaceControlCrcOffset18,
        .controlCheckpointInvalidate = pgInterfaceControlCheckpointInvalidate18,
        .controlVersion = pgInterfaceControlVersion18,
        .walIs = pgInterfaceWalIs18,
        .wal = pgInterfaceWal18,
    },
    {
        .version = PG_VERSION_17,

        .controlIs = pgInterfaceControlIs17,
        .control = pgInterfaceControl17,
        .controlCrcOffset = pgInterfaceControlCrcOffset17,
        .controlCheckpointInvalidate = pgInterfaceControlCheckpointInvalidate17,
        .controlVersion = pgInterfaceControlVersion17,
        .walIs = pgInterfaceWalIs17,
        .wal = pgInterfaceWal17,
    },
    {
        .version = PG_VERSION_16,

        .controlIs = pgInterfaceControlIs16,
        .control = pgInterfaceControl16,
        .controlCrcOffset = pgInterfaceControlCrcOffset16,
        .controlCheckpointInvalidate = pgInterfaceControlCheckpointInvalidate16,
        .controlVersion = pgInterfaceControlVersion16,
        .walIs = pgInterfaceWalIs16,
        .wal = pgInterfaceWal16,
    },
    {
        .version = PG_VERSION_15,

        .controlIs = pgInterfaceControlIs15,
        .control = pgInterfaceControl15,
        .controlCrcOffset = pgInterfaceControlCrcOffset15,
        .controlCheckpointInvalidate = pgInterfaceControlCheckpointInvalidate15,
        .controlVersion = pgInterfaceControlVersion15,
        .walIs = pgInterfaceWalIs15,
        .wal = pgInterfaceWal15,
    },
    {
        .version = PG_VERSION_14,

        .controlIs = pgInterfaceControlIs14,
        .control = pgInterfaceControl14,
        .controlCrcOffset = pgInterfaceControlCrcOffset14,
        .controlCheckpointInvalidate = pgInterfaceControlCheckpointInvalidate14,
        .controlVersion = pgInterfaceControlVersion14,
        .walIs = pgInterfaceWalIs14,
        .wal = pgInterfaceWal14,
    },
    {
        .version = PG_VERSION_13,

        .controlIs = pgInterfaceControlIs13,
        .control = pgInterfaceControl13,
        .controlCrcOffset = pgInterfaceControlCrcOffset13,
        .controlCheckpointInvalidate = pgInterfaceControlCheckpointInvalidate13,
        .controlVersion = pgInterfaceControlVersion13,
        .walIs = pgInterfaceWalIs13,
        .wal = pgInterfaceWal13,
    },
    {
        .version = PG_VERSION_12,

        .controlIs = pgInterfaceControlIs12,
        .control = pgInterfaceControl12,
        .controlCrcOffset = pgInterfaceControlCrcOffset12,
        .controlCheckpointInvalidate = pgInterfaceControlCheckpointInvalidate12,
        .controlVersion = pgInterfaceControlVersion12,
        .walIs = pgInterfaceWalIs12,
        .wal = pgInterfaceWal12,
    },
    {
        .version = PG_VERSION_11,

        .controlIs = pgInterfaceControlIs11,
        .control = pgInterfaceControl11,
        .controlCrcOffset = pgInterfaceControlCrcOffset11,
        .controlCheckpointInvalidate = pgInterfaceControlCheckpointInvalidate11,
        .controlVersion = pgInterfaceControlVersion11,
        .walIs = pgInterfaceWalIs11,
        .wal = pgInterfaceWal11,
    },
    {
        .version = PG_VERSION_10,

        .controlIs = pgInterfaceControlIs10,
        .control = pgInterfaceControl10,
        .controlCrcOffset = pgInterfaceControlCrcOffset10,
        .controlCheckpointInvalidate = pgInterfaceControlCheckpointInvalidate10,
        .controlVersion = pgInterfaceControlVersion10,
        .walIs = pgInterfaceWalIs10,
        .wal = pgInterfaceWal10,
    },
    {
        .version = PG_VERSION_96,

        .controlIs = pgInterfaceControlIs96,
        .control = pgInterfaceControl96,
        .controlCrcOffset = pgInterfaceControlCrcOffset96,
        .controlCheckpointInvalidate = pgInterfaceControlCheckpointInvalidate96,
        .controlVersion = pgInterfaceControlVersion96,
        .walIs = pgInterfaceWalIs96,
        .wal = pgInterfaceWal96,
    },
};
