#ifndef PROTOCOL_H
#define PROTOCOL_H
#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'
#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'
#define PqMsg_CopyDone 'c'
#define PqMsg_CopyData 'd'
#define PqMsg_Progress 'P'
#define AUTH_REQ_OK 0
#define AUTH_REQ_KRB4 1
#define AUTH_REQ_KRB5 2
#define AUTH_REQ_PASSWORD 3
#define AUTH_REQ_CRYPT 4
#define AUTH_REQ_MD5 5
#define AUTH_REQ_GSS 7
#define AUTH_REQ_GSS_CONT 8
#define AUTH_REQ_SSPI 9
#define AUTH_REQ_SASL 10
#define AUTH_REQ_SASL_CONT 11
#define AUTH_REQ_SASL_FIN 12
#define AUTH_REQ_MAX AUTH_REQ_SASL_FIN
#endif