You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
1.6 KiB
55 lines
1.6 KiB
#ifndef PROTOCOL_H |
|
#define PROTOCOL_H |
|
|
|
/* |
|
* Intensive research over the course of many years has shown that |
|
* port 9418 is totally unused by anything else. Or |
|
* |
|
* Your search - "port 9418" - did not match any documents. |
|
* |
|
* as www.google.com puts it. |
|
* |
|
* This port has been properly assigned for git use by IANA: |
|
* git (Assigned-9418) [I06-050728-0001]. |
|
* |
|
* git 9418/tcp git pack transfer service |
|
* git 9418/udp git pack transfer service |
|
* |
|
* with Linus Torvalds <torvalds@osdl.org> as the point of |
|
* contact. September 2005. |
|
* |
|
* See http://www.iana.org/assignments/port-numbers |
|
*/ |
|
#define DEFAULT_GIT_PORT 9418 |
|
|
|
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 */
|
|
|