Permalink
Cannot retrieve contributors at this time
| #ifndef PROTOCOL_H | |
| #define PROTOCOL_H | |
| enum protocol_version { | |
| protocol_unknown_version = -1, | |
| protocol_v0 = 0, | |
| protocol_v1 = 1, | |
| protocol_v2 = 2, | |
| }; | |
| /* | |
| * Used by a client to determine which protocol version to request be used when | |
| * communicating with a server, reflecting the configured value of the | |
| * 'protocol.version' config. If unconfigured, a value of 'protocol_v0' is | |
| * returned. | |
| */ | |
| enum protocol_version get_protocol_version_config(void); | |
| /* | |
| * Used by a server to determine which protocol version should be used based on | |
| * a client's request, communicated via the 'GIT_PROTOCOL' environment variable | |
| * by setting appropriate values for the key 'version'. If a client doesn't | |
| * request a particular protocol version, a default of 'protocol_v0' will be | |
| * used. | |
| */ | |
| enum protocol_version determine_protocol_version_server(void); | |
| /* | |
| * Used by a client to determine which protocol version the server is speaking | |
| * based on the server's initial response. | |
| */ | |
| enum protocol_version determine_protocol_version_client(const char *server_response); | |
| #endif /* PROTOCOL_H */ |