[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.10

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.10    ! markus     13: /* RCSID("$OpenBSD: bufaux.h,v 1.9 2000/12/19 23:17:55 markus Exp $"); */
1.1       deraadt    14:
                     15: #ifndef BUFAUX_H
                     16: #define BUFAUX_H
                     17:
                     18: #include "buffer.h"
                     19:
1.4       markus     20: /*
                     21:  * Stores an BIGNUM in the buffer with a 2-byte msb first bit count, followed
                     22:  * by (bits+7)/8 bytes of binary data, msb first.
                     23:  */
1.3       deraadt    24: void    buffer_put_bignum(Buffer * buffer, BIGNUM * value);
1.5       markus     25: void    buffer_put_bignum2(Buffer * buffer, BIGNUM * value);
1.1       deraadt    26:
1.2       provos     27: /* Retrieves an BIGNUM from the buffer. */
1.3       deraadt    28: int     buffer_get_bignum(Buffer * buffer, BIGNUM * value);
1.5       markus     29: int    buffer_get_bignum2(Buffer *buffer, BIGNUM * value);
1.1       deraadt    30:
                     31: /* Returns an integer from the buffer (4 bytes, msb first). */
1.9       markus     32: u_int buffer_get_int(Buffer * buffer);
1.10    ! markus     33: u_int64_t buffer_get_int64(Buffer *buffer);
1.1       deraadt    34:
                     35: /* Stores an integer in the buffer in 4 bytes, msb first. */
1.9       markus     36: void    buffer_put_int(Buffer * buffer, u_int value);
1.10    ! markus     37: void   buffer_put_int64(Buffer *buffer, u_int64_t value);
1.1       deraadt    38:
                     39: /* Returns a character from the buffer (0 - 255). */
1.3       deraadt    40: int     buffer_get_char(Buffer * buffer);
1.1       deraadt    41:
                     42: /* Stores a character in the buffer. */
1.3       deraadt    43: void    buffer_put_char(Buffer * buffer, int value);
1.1       deraadt    44:
1.4       markus     45: /*
                     46:  * Returns an arbitrary binary string from the buffer.  The string cannot be
                     47:  * longer than 256k.  The returned value points to memory allocated with
                     48:  * xmalloc; it is the responsibility of the calling function to free the
                     49:  * data.  If length_ptr is non-NULL, the length of the returned data will be
                     50:  * stored there.  A null character will be automatically appended to the
                     51:  * returned string, and is not counted in length.
                     52:  */
1.9       markus     53: char   *buffer_get_string(Buffer * buffer, u_int *length_ptr);
1.1       deraadt    54:
                     55: /* Stores and arbitrary binary string in the buffer. */
1.9       markus     56: void    buffer_put_string(Buffer * buffer, const void *buf, u_int len);
1.5       markus     57: void   buffer_put_cstring(Buffer *buffer, const char *s);
1.1       deraadt    58:
1.3       deraadt    59: #endif                         /* BUFAUX_H */