=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/ssh/Attic/buffer.h,v retrieving revision 1.7.2.2 retrieving revision 1.8 diff -u -r1.7.2.2 -r1.8 --- src/usr.bin/ssh/Attic/buffer.h 2002/03/09 00:20:44 1.7.2.2 +++ src/usr.bin/ssh/Attic/buffer.h 2001/06/26 06:32:48 1.8 @@ -1,5 +1,3 @@ -/* $OpenBSD: buffer.h,v 1.7.2.2 2002/03/09 00:20:44 miod Exp $ */ - /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -13,31 +11,56 @@ * called by a name other than "ssh" or "Secure Shell". */ +/* RCSID("$OpenBSD: buffer.h,v 1.8 2001/06/26 06:32:48 itojun Exp $"); */ + #ifndef BUFFER_H #define BUFFER_H typedef struct { - u_char *buf; /* Buffer for data. */ - u_int alloc; /* Number of bytes allocated for data. */ - u_int offset; /* Offset of first byte containing data. */ - u_int end; /* Offset of last byte containing data. */ + char *buf; /* Buffer for data. */ + u_int alloc; /* Number of bytes allocated for data. */ + u_int offset; /* Offset of first byte containing data. */ + u_int end; /* Offset of last byte containing data. */ } Buffer; +/* Initializes the buffer structure. */ +void buffer_init(Buffer *); -void buffer_init(Buffer *); -void buffer_clear(Buffer *); -void buffer_free(Buffer *); +/* Frees any memory used for the buffer. */ +void buffer_free(Buffer *); -u_int buffer_len(Buffer *); -void *buffer_ptr(Buffer *); +/* Clears any data from the buffer, making it empty. This does not actually + zero the memory. */ +void buffer_clear(Buffer *); -void buffer_append(Buffer *, const void *, u_int); -void *buffer_append_space(Buffer *, u_int); +/* Appends data to the buffer, expanding it if necessary. */ +void buffer_append(Buffer *, const char *, u_int); -void buffer_get(Buffer *, void *, u_int); +/* + * Appends space to the buffer, expanding the buffer if necessary. This does + * not actually copy the data into the buffer, but instead returns a pointer + * to the allocated region. + */ +void buffer_append_space(Buffer *, char **, u_int); -void buffer_consume(Buffer *, u_int); -void buffer_consume_end(Buffer *, u_int); +/* Returns the number of bytes of data in the buffer. */ +u_int buffer_len(Buffer *); -void buffer_dump(Buffer *); +/* Gets data from the beginning of the buffer. */ +void buffer_get(Buffer *, char *, u_int); + +/* Consumes the given number of bytes from the beginning of the buffer. */ +void buffer_consume(Buffer *, u_int); + +/* Consumes the given number of bytes from the end of the buffer. */ +void buffer_consume_end(Buffer *, u_int); + +/* Returns a pointer to the first used byte in the buffer. */ +char *buffer_ptr(Buffer *); + +/* + * Dumps the contents of the buffer to stderr in hex. This intended for + * debugging purposes only. + */ +void buffer_dump(Buffer *); #endif /* BUFFER_H */