version 1.11, 2001/01/21 19:05:45 |
version 1.11.2.4, 2002/06/02 22:56:10 |
|
|
|
/* $OpenBSD$ */ |
|
|
/* |
/* |
* Author: Tatu Ylonen <ylo@cs.hut.fi> |
* Author: Tatu Ylonen <ylo@cs.hut.fi> |
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland |
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland |
|
|
* called by a name other than "ssh" or "Secure Shell". |
* called by a name other than "ssh" or "Secure Shell". |
*/ |
*/ |
|
|
/* RCSID("$OpenBSD$"); */ |
|
|
|
#ifndef BUFAUX_H |
#ifndef BUFAUX_H |
#define BUFAUX_H |
#define BUFAUX_H |
|
|
#include "buffer.h" |
#include "buffer.h" |
#include <openssl/bn.h> |
#include <openssl/bn.h> |
|
|
/* |
void buffer_put_bignum(Buffer *, BIGNUM *); |
* Stores an BIGNUM in the buffer with a 2-byte msb first bit count, followed |
void buffer_put_bignum2(Buffer *, BIGNUM *); |
* by (bits+7)/8 bytes of binary data, msb first. |
void buffer_get_bignum(Buffer *, BIGNUM *); |
*/ |
void buffer_get_bignum2(Buffer *, BIGNUM *); |
void buffer_put_bignum(Buffer * buffer, BIGNUM * value); |
|
void buffer_put_bignum2(Buffer * buffer, BIGNUM * value); |
|
|
|
/* Retrieves an BIGNUM from the buffer. */ |
u_short buffer_get_short(Buffer *); |
int buffer_get_bignum(Buffer * buffer, BIGNUM * value); |
void buffer_put_short(Buffer *, u_short); |
int buffer_get_bignum2(Buffer *buffer, BIGNUM * value); |
|
|
|
/* Returns an integer from the buffer (4 bytes, msb first). */ |
u_int buffer_get_int(Buffer *); |
u_int buffer_get_int(Buffer * buffer); |
void buffer_put_int(Buffer *, u_int); |
u_int64_t buffer_get_int64(Buffer *buffer); |
|
|
|
/* Stores an integer in the buffer in 4 bytes, msb first. */ |
u_int64_t buffer_get_int64(Buffer *); |
void buffer_put_int(Buffer * buffer, u_int value); |
void buffer_put_int64(Buffer *, u_int64_t); |
void buffer_put_int64(Buffer *buffer, u_int64_t value); |
|
|
|
/* Returns a character from the buffer (0 - 255). */ |
int buffer_get_char(Buffer *); |
int buffer_get_char(Buffer * buffer); |
void buffer_put_char(Buffer *, int); |
|
|
/* Stores a character in the buffer. */ |
void *buffer_get_string(Buffer *, u_int *); |
void buffer_put_char(Buffer * buffer, int value); |
void buffer_put_string(Buffer *, const void *, u_int); |
|
void buffer_put_cstring(Buffer *, const char *); |
|
|
/* |
#define buffer_skip_string(b) \ |
* Returns an arbitrary binary string from the buffer. The string cannot be |
do { u_int l = buffer_get_int(b); buffer_consume(b, l); } while(0) |
* longer than 256k. The returned value points to memory allocated with |
|
* xmalloc; it is the responsibility of the calling function to free the |
|
* data. If length_ptr is non-NULL, the length of the returned data will be |
|
* stored there. A null character will be automatically appended to the |
|
* returned string, and is not counted in length. |
|
*/ |
|
char *buffer_get_string(Buffer * buffer, u_int *length_ptr); |
|
|
|
/* Stores and arbitrary binary string in the buffer. */ |
|
void buffer_put_string(Buffer * buffer, const void *buf, u_int len); |
|
void buffer_put_cstring(Buffer *buffer, const char *s); |
|
|
|
#endif /* BUFAUX_H */ |
#endif /* BUFAUX_H */ |