1#ifndef SIDEBAND_H 2#define SIDEBAND_H 3 4enum sideband_type { 5 SIDEBAND_PROTOCOL_ERROR = -2, 6 SIDEBAND_REMOTE_ERROR = -1, 7 SIDEBAND_FLUSH =0, 8 SIDEBAND_PRIMARY =1 9}; 10 11/* 12 * Inspects a multiplexed packet read from the remote. If this packet is a 13 * progress packet and thus should not be processed by the caller, returns 0. 14 * Otherwise, returns 1, releases scratch, and sets sideband_type. 15 * 16 * If this packet is SIDEBAND_PROTOCOL_ERROR, SIDEBAND_REMOTE_ERROR, or a 17 * progress packet, also prints a message to stderr. 18 * 19 * scratch must be a struct strbuf allocated by the caller. It is used to store 20 * progress messages split across multiple packets. 21 */ 22intdemultiplex_sideband(const char*me,char*buf,int len, 23int die_on_error, 24struct strbuf *scratch, 25enum sideband_type *sideband_type); 26 27voidsend_sideband(int fd,int band,const char*data, ssize_t sz,int packet_max); 28 29#endif