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

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.12    ! itojun     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.11      markus     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.12    ! itojun     25: void    buffer_put_bignum(Buffer *, BIGNUM *);
        !            26: void    buffer_put_bignum2(Buffer *, BIGNUM *);
1.1       deraadt    27:
1.2       provos     28: /* Retrieves an BIGNUM from the buffer. */
1.12    ! itojun     29: int     buffer_get_bignum(Buffer *, BIGNUM *);
        !            30: int    buffer_get_bignum2(Buffer *, BIGNUM *);
1.1       deraadt    31:
                     32: /* Returns an integer from the buffer (4 bytes, msb first). */
1.12    ! itojun     33: u_int buffer_get_int(Buffer *);
        !            34: u_int64_t buffer_get_int64(Buffer *);
1.1       deraadt    35:
                     36: /* Stores an integer in the buffer in 4 bytes, msb first. */
1.12    ! itojun     37: void    buffer_put_int(Buffer *, u_int);
        !            38: void   buffer_put_int64(Buffer *, u_int64_t);
1.1       deraadt    39:
                     40: /* Returns a character from the buffer (0 - 255). */
1.12    ! itojun     41: int     buffer_get_char(Buffer *);
1.1       deraadt    42:
                     43: /* Stores a character in the buffer. */
1.12    ! itojun     44: void    buffer_put_char(Buffer *, int);
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.12    ! itojun     54: char   *buffer_get_string(Buffer *, u_int *);
1.1       deraadt    55:
                     56: /* Stores and arbitrary binary string in the buffer. */
1.12    ! itojun     57: void    buffer_put_string(Buffer *, const void *, u_int);
        !            58: void   buffer_put_cstring(Buffer *, const char *);
1.1       deraadt    59:
1.3       deraadt    60: #endif                         /* BUFAUX_H */