X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=pkt-line.h;h=5b373fe4cdaae2d1446fb86d4fb0762aaac764f5;hb=ff9dccf6155a73b04e3b521d19c449c8635066eb;hp=fef3a0d792d31bd04aa0145908db9dfb0c87c94d;hpb=d55a4ae71d515e788e5afb355a20c4b262049cac;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,