 8f6982b4e1
			
		
	
	8f6982b4e1
	
	
	
		
			
			Introduce protocol_v2, a new value for 'enum protocol_version'. Subsequent patches will fill in the implementation of protocol_v2. Signed-off-by: Brandon Williams <bmwill@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
		
			
				
	
	
		
			35 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| #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.
 | |
|  */
 | |
| extern 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.
 | |
|  */
 | |
| extern 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.
 | |
|  */
 | |
| extern enum protocol_version determine_protocol_version_client(const char *server_response);
 | |
| 
 | |
| #endif /* PROTOCOL_H */
 |