diff options
Diffstat (limited to 'pkt-line.h')
-rw-r--r-- | pkt-line.h | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/pkt-line.h b/pkt-line.h index 0a838d1656..18eac64830 100644 --- a/pkt-line.h +++ b/pkt-line.h @@ -20,18 +20,22 @@ * side can't, we stay with pure read/write interfaces. */ void packet_flush(int fd); -void packet_write(int fd, const char *fmt, ...) __attribute__((format (printf, 2, 3))); +void packet_write_fmt(int fd, const char *fmt, ...) __attribute__((format (printf, 2, 3))); void packet_buf_flush(struct strbuf *buf); void packet_buf_write(struct strbuf *buf, const char *fmt, ...) __attribute__((format (printf, 2, 3))); +int packet_flush_gently(int fd); +int packet_write_fmt_gently(int fd, const char *fmt, ...) __attribute__((format (printf, 2, 3))); +int write_packetized_from_fd(int fd_in, int fd_out); +int write_packetized_from_buf(const char *src_in, size_t len, int fd_out); /* * Read a packetized line into the buffer, which must be at least size bytes * long. The return value specifies the number of bytes read into the buffer. * - * If src_buffer is not NULL (and nor is *src_buffer), it should point to a - * buffer containing the packet data to parse, of at least *src_len bytes. - * After the function returns, src_buf will be incremented and src_len - * decremented by the number of bytes consumed. + * If src_buffer and *src_buffer are not NULL, it should point to a buffer + * containing the packet data to parse, of at least *src_len bytes. After the + * function returns, src_buf will be incremented and src_len decremented by the + * number of bytes consumed. * * If src_buffer (or *src_buffer) is NULL, then data is read from the * descriptor "fd". @@ -75,8 +79,14 @@ char *packet_read_line(int fd, int *size); */ char *packet_read_line_buf(char **src_buf, size_t *src_len, int *size); +/* + * Reads a stream of variable sized packets until a flush packet is detected. + */ +ssize_t read_packetized_to_strbuf(int fd_in, struct strbuf *sb_out); + #define DEFAULT_PACKET_MAX 1000 #define LARGE_PACKET_MAX 65520 +#define LARGE_PACKET_DATA_MAX (LARGE_PACKET_MAX - 4) extern char packet_buffer[LARGE_PACKET_MAX]; #endif |