[BACK]Return to bufaux.h CVS log [TXT][DIR] Up to [local] / src / usr.bin / ssh

Annotation of src/usr.bin/ssh/bufaux.h, Revision 1.8.2.3

1.1       deraadt     1: /*
1.3       deraadt     2:  * Author: Tatu Ylonen <ylo@cs.hut.fi>
                      3:  * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
                      4:  *                    All rights reserved
1.6       markus      5:  *
1.8       deraadt     6:  * As far as I am concerned, the code I have written for this software
                      7:  * can be used freely for any purpose.  Any derived versions of this
                      8:  * software must be clearly marked as such, and if the derived work is
                      9:  * incompatible with the protocol description in the RFC file, it must be
                     10:  * called by a name other than "ssh" or "Secure Shell".
1.3       deraadt    11:  */
1.1       deraadt    12:
1.8.2.1   jason      13: /* RCSID("$OpenBSD: bufaux.h,v 1.11 2001/01/21 19:05:45 markus Exp $"); */
1.1       deraadt    14:
                     15: #ifndef BUFAUX_H
                     16: #define BUFAUX_H
                     17:
                     18: #include "buffer.h"
1.8.2.1   jason      19: #include <openssl/bn.h>
1.1       deraadt    20:
1.4       markus     21: /*
                     22:  * Stores an BIGNUM in the buffer with a 2-byte msb first bit count, followed
                     23:  * by (bits+7)/8 bytes of binary data, msb first.
                     24:  */
1.3       deraadt    25: void    buffer_put_bignum(Buffer * buffer, BIGNUM * value);
1.5       markus     26: void    buffer_put_bignum2(Buffer * buffer, BIGNUM * value);
1.1       deraadt    27:
1.2       provos     28: /* Retrieves an BIGNUM from the buffer. */
1.3       deraadt    29: int     buffer_get_bignum(Buffer * buffer, BIGNUM * value);
1.5       markus     30: int    buffer_get_bignum2(Buffer *buffer, BIGNUM * value);
1.1       deraadt    31:
                     32: /* Returns an integer from the buffer (4 bytes, msb first). */
1.8.2.1   jason      33: u_int buffer_get_int(Buffer * buffer);
                     34: u_int64_t buffer_get_int64(Buffer *buffer);
1.1       deraadt    35:
                     36: /* Stores an integer in the buffer in 4 bytes, msb first. */
1.8.2.1   jason      37: void    buffer_put_int(Buffer * buffer, u_int value);
                     38: void   buffer_put_int64(Buffer *buffer, u_int64_t value);
1.1       deraadt    39:
                     40: /* Returns a character from the buffer (0 - 255). */
1.3       deraadt    41: int     buffer_get_char(Buffer * buffer);
1.1       deraadt    42:
                     43: /* Stores a character in the buffer. */
1.3       deraadt    44: void    buffer_put_char(Buffer * buffer, int value);
1.1       deraadt    45:
1.4       markus     46: /*
                     47:  * Returns an arbitrary binary string from the buffer.  The string cannot be
                     48:  * longer than 256k.  The returned value points to memory allocated with
                     49:  * xmalloc; it is the responsibility of the calling function to free the
                     50:  * data.  If length_ptr is non-NULL, the length of the returned data will be
                     51:  * stored there.  A null character will be automatically appended to the
                     52:  * returned string, and is not counted in length.
                     53:  */
1.8.2.1   jason      54: char   *buffer_get_string(Buffer * buffer, u_int *length_ptr);
1.1       deraadt    55:
                     56: /* Stores and arbitrary binary string in the buffer. */
1.8.2.1   jason      57: void    buffer_put_string(Buffer * buffer, const void *buf, u_int len);
1.5       markus     58: void   buffer_put_cstring(Buffer *buffer, const char *s);
1.1       deraadt    59:
1.3       deraadt    60: #endif                         /* BUFAUX_H */