86 lines
2.8 KiB
C
86 lines
2.8 KiB
C
/*-------------------------------------------------------------------------
|
|
*
|
|
* protocol.h
|
|
* Definitions of the request/response codes for the wire protocol.
|
|
*
|
|
*
|
|
* Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group
|
|
* Portions Copyright (c) 1994, Regents of the University of California
|
|
*
|
|
* src/include/libpq/protocol.h
|
|
*
|
|
*-------------------------------------------------------------------------
|
|
*/
|
|
#ifndef PROTOCOL_H
|
|
#define PROTOCOL_H
|
|
|
|
/* These are the request codes sent by the frontend. */
|
|
|
|
#define PqMsg_Bind 'B'
|
|
#define PqMsg_Close 'C'
|
|
#define PqMsg_Describe 'D'
|
|
#define PqMsg_Execute 'E'
|
|
#define PqMsg_FunctionCall 'F'
|
|
#define PqMsg_Flush 'H'
|
|
#define PqMsg_Parse 'P'
|
|
#define PqMsg_Query 'Q'
|
|
#define PqMsg_Sync 'S'
|
|
#define PqMsg_Terminate 'X'
|
|
#define PqMsg_CopyFail 'f'
|
|
#define PqMsg_GSSResponse 'p'
|
|
#define PqMsg_PasswordMessage 'p'
|
|
#define PqMsg_SASLInitialResponse 'p'
|
|
#define PqMsg_SASLResponse 'p'
|
|
|
|
|
|
/* These are the response codes sent by the backend. */
|
|
|
|
#define PqMsg_ParseComplete '1'
|
|
#define PqMsg_BindComplete '2'
|
|
#define PqMsg_CloseComplete '3'
|
|
#define PqMsg_NotificationResponse 'A'
|
|
#define PqMsg_CommandComplete 'C'
|
|
#define PqMsg_DataRow 'D'
|
|
#define PqMsg_ErrorResponse 'E'
|
|
#define PqMsg_CopyInResponse 'G'
|
|
#define PqMsg_CopyOutResponse 'H'
|
|
#define PqMsg_EmptyQueryResponse 'I'
|
|
#define PqMsg_BackendKeyData 'K'
|
|
#define PqMsg_NoticeResponse 'N'
|
|
#define PqMsg_AuthenticationRequest 'R'
|
|
#define PqMsg_ParameterStatus 'S'
|
|
#define PqMsg_RowDescription 'T'
|
|
#define PqMsg_FunctionCallResponse 'V'
|
|
#define PqMsg_CopyBothResponse 'W'
|
|
#define PqMsg_ReadyForQuery 'Z'
|
|
#define PqMsg_NoData 'n'
|
|
#define PqMsg_PortalSuspended 's'
|
|
#define PqMsg_ParameterDescription 't'
|
|
#define PqMsg_NegotiateProtocolVersion 'v'
|
|
|
|
|
|
/* These are the codes sent by both the frontend and backend. */
|
|
|
|
#define PqMsg_CopyDone 'c'
|
|
#define PqMsg_CopyData 'd'
|
|
|
|
|
|
/* These are the authentication request codes sent by the backend. */
|
|
|
|
#define AUTH_REQ_OK 0 /* User is authenticated */
|
|
#define AUTH_REQ_KRB4 1 /* Kerberos V4. Not supported any more. */
|
|
#define AUTH_REQ_KRB5 2 /* Kerberos V5. Not supported any more. */
|
|
#define AUTH_REQ_PASSWORD 3 /* Password */
|
|
#define AUTH_REQ_CRYPT 4 /* crypt password. Not supported any more. */
|
|
#define AUTH_REQ_MD5 5 /* md5 password */
|
|
/* 6 is available. It was used for SCM creds, not supported any more. */
|
|
#define AUTH_REQ_GSS 7 /* GSSAPI without wrap() */
|
|
#define AUTH_REQ_GSS_CONT 8 /* Continue GSS exchanges */
|
|
#define AUTH_REQ_SSPI 9 /* SSPI negotiate without wrap() */
|
|
#define AUTH_REQ_SASL 10 /* Begin SASL authentication */
|
|
#define AUTH_REQ_SASL_CONT 11 /* Continue SASL authentication */
|
|
#define AUTH_REQ_SASL_FIN 12 /* Final SASL message */
|
|
#define AUTH_REQ_MAX AUTH_REQ_SASL_FIN /* maximum AUTH_REQ_* value */
|
|
|
|
#endif /* PROTOCOL_H */
|