#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 */
