*/
#include "includes.h"
-RCSID("$OpenBSD: bufaux.c,v 1.14 2000/12/19 23:17:55 markus Exp $");
+RCSID("$OpenBSD: bufaux.c,v 1.16 2001/01/16 23:58:08 deraadt Exp $");
#include "ssh.h"
#include <openssl/bn.h>
bytes = (bits + 7) / 8;
if (buffer_len(buffer) < bytes)
fatal("buffer_get_bignum: input buffer too small");
- bin = (u_char*) buffer_ptr(buffer);
+ bin = (u_char *) buffer_ptr(buffer);
BN_bin2bn(bin, bytes, value);
buffer_consume(buffer, bytes);
return GET_32BIT(buf);
}
+u_int64_t
+buffer_get_int64(Buffer *buffer)
+{
+ u_char buf[8];
+ buffer_get(buffer, (char *) buf, 8);
+ return GET_64BIT(buf);
+}
+
/*
* Stores an integer in the buffer in 4 bytes, msb first.
*/
buffer_append(buffer, buf, 4);
}
+void
+buffer_put_int64(Buffer *buffer, u_int64_t value)
+{
+ char buf[8];
+ PUT_64BIT(buf, value);
+ buffer_append(buffer, buf, 8);
+}
+
/*
* Returns an arbitrary binary string from the buffer. The string cannot
* be longer than 256k. The returned value points to memory allocated