X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=pkt-line.h;h=5b373fe4cdaae2d1446fb86d4fb0762aaac764f5;hb=c2dbcd206d2d654c1d934501a7f03a5a0f452b92;hp=fef3a0d792d31bd04aa0145908db9dfb0c87c94d;hpb=16a4bf10359edf34a7c62d6466dab2e33060d332;p=thirdparty%2Fgit.git diff --git a/pkt-line.h b/pkt-line.h index fef3a0d792..5b373fe4cd 100644 --- a/pkt-line.h +++ b/pkt-line.h @@ -22,6 +22,7 @@ */ void packet_flush(int fd); void packet_delim(int fd); +void packet_response_end(int fd); void packet_write_fmt(int fd, const char *fmt, ...) __attribute__((format (printf, 2, 3))); void packet_buf_flush(struct strbuf *buf); void packet_buf_delim(struct strbuf *buf); @@ -74,6 +75,15 @@ int write_packetized_from_buf(const char *src_in, size_t len, int fd_out); int packet_read(int fd, char **src_buffer, size_t *src_len, char *buffer, unsigned size, int options); +/* + * Convert a four hex digit packet line length header into its numeric + * representation. + * + * If lenbuf_hex contains non-hex characters, return -1. Otherwise, return the + * numeric value of the length header. + */ +int packet_length(const char lenbuf_hex[4]); + /* * Read a packetized line into a buffer like the 'packet_read()' function but * returns an 'enum packet_read_status' which indicates the status of the read. @@ -85,6 +95,7 @@ enum packet_read_status { PACKET_READ_NORMAL, PACKET_READ_FLUSH, PACKET_READ_DELIM, + PACKET_READ_RESPONSE_END, }; enum packet_read_status packet_read_with_status(int fd, char **src_buffer, size_t *src_len, char *buffer,