From 5d3573ef7a109ee70416fe94db098fe6a769a798 Mon Sep 17 00:00:00 2001 From: SkyperTHC Date: Tue, 3 Mar 2026 06:28:55 +0000 Subject: packetstorm sync --- other/openssh-reverse/buffer.h | 68 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 other/openssh-reverse/buffer.h (limited to 'other/openssh-reverse/buffer.h') diff --git a/other/openssh-reverse/buffer.h b/other/openssh-reverse/buffer.h new file mode 100644 index 0000000..a2b4eff --- /dev/null +++ b/other/openssh-reverse/buffer.h @@ -0,0 +1,68 @@ +/* + * + * buffer.h + * + * Author: Tatu Ylonen + * + * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland + * All rights reserved + * + * Created: Sat Mar 18 04:12:25 1995 ylo + * + * Code for manipulating FIFO buffers. + * + */ + +/* RCSID("$OpenBSD: buffer.h,v 1.5 2000/06/20 01:39:39 markus Exp $"); */ + +#ifndef BUFFER_H +#define BUFFER_H + +typedef struct { + char *buf; /* Buffer for data. */ + unsigned int alloc; /* Number of bytes allocated for data. */ + unsigned int offset; /* Offset of first byte containing data. */ + unsigned int end; /* Offset of last byte containing data. */ +} Buffer; +/* Initializes the buffer structure. */ +void buffer_init(Buffer * buffer); + +/* Frees any memory used for the buffer. */ +void buffer_free(Buffer * buffer); + +/* Clears any data from the buffer, making it empty. This does not actually + zero the memory. */ +void buffer_clear(Buffer * buffer); + +/* Appends data to the buffer, expanding it if necessary. */ +void buffer_append(Buffer * buffer, const char *data, unsigned int len); + +/* + * 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 * buffer, char **datap, unsigned int len); + +/* Returns the number of bytes of data in the buffer. */ +unsigned int buffer_len(Buffer * buffer); + +/* Gets data from the beginning of the buffer. */ +void buffer_get(Buffer * buffer, char *buf, unsigned int len); + +/* Consumes the given number of bytes from the beginning of the buffer. */ +void buffer_consume(Buffer * buffer, unsigned int bytes); + +/* Consumes the given number of bytes from the end of the buffer. */ +void buffer_consume_end(Buffer * buffer, unsigned int bytes); + +/* Returns a pointer to the first used byte in the buffer. */ +char *buffer_ptr(Buffer * buffer); + +/* + * Dumps the contents of the buffer to stderr in hex. This intended for + * debugging purposes only. + */ +void buffer_dump(Buffer * buffer); + +#endif /* BUFFER_H */ -- cgit v1.3