postgresql/src/include/tcop/backend_startup.h

42 lines
1.2 KiB
C

/*-------------------------------------------------------------------------
*
* backend_startup.h
* prototypes for backend_startup.c.
*
*
* Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
* src/include/tcop/backend_startup.h
*
*-------------------------------------------------------------------------
*/
#ifndef BACKEND_STARTUP_H
#define BACKEND_STARTUP_H
/*
* CAC_state is passed from postmaster to the backend process, to indicate
* whether the connection should be accepted, or if the process should just
* send an error to the client and close the connection. Note that the
* connection can fail for various reasons even if postmaster passed CAC_OK.
*/
typedef enum CAC_state
{
CAC_OK,
CAC_STARTUP,
CAC_SHUTDOWN,
CAC_RECOVERY,
CAC_NOTCONSISTENT,
CAC_TOOMANY,
} CAC_state;
/* Information passed from postmaster to backend process in 'startup_data' */
typedef struct BackendStartupData
{
CAC_state canAcceptConnections;
} BackendStartupData;
extern void BackendMain(char *startup_data, size_t startup_data_len) pg_attribute_noreturn();
#endif /* BACKEND_STARTUP_H */