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

Annotation of src/usr.bin/ssh/buffer.h, Revision 1.13

1.13    ! markus      1: /*     $OpenBSD: buffer.h,v 1.12 2004/10/29 23:56:17 djm Exp $ */
1.11      stevesk     2:
1.1       deraadt     3: /*
1.2       deraadt     4:  * Author: Tatu Ylonen <ylo@cs.hut.fi>
                      5:  * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
                      6:  *                    All rights reserved
                      7:  * Code for manipulating FIFO buffers.
1.4       markus      8:  *
1.6       deraadt     9:  * As far as I am concerned, the code I have written for this software
                     10:  * can be used freely for any purpose.  Any derived versions of this
                     11:  * software must be clearly marked as such, and if the derived work is
                     12:  * incompatible with the protocol description in the RFC file, it must be
                     13:  * called by a name other than "ssh" or "Secure Shell".
1.2       deraadt    14:  */
1.1       deraadt    15:
                     16: #ifndef BUFFER_H
                     17: #define BUFFER_H
                     18:
1.2       deraadt    19: typedef struct {
1.10      stevesk    20:        u_char  *buf;           /* Buffer for data. */
1.9       markus     21:        u_int    alloc;         /* Number of bytes allocated for data. */
                     22:        u_int    offset;        /* Offset of first byte containing data. */
                     23:        u_int    end;           /* Offset of last byte containing data. */
1.2       deraadt    24: }       Buffer;
1.13    ! markus     25:
        !            26: #define        BUFFER_MAX_CHUNK        0x100000
        !            27: #define        BUFFER_MAX_LEN          0xa00000
1.1       deraadt    28:
1.9       markus     29: void    buffer_init(Buffer *);
                     30: void    buffer_clear(Buffer *);
                     31: void    buffer_free(Buffer *);
1.1       deraadt    32:
1.9       markus     33: u_int   buffer_len(Buffer *);
1.10      stevesk    34: void   *buffer_ptr(Buffer *);
1.9       markus     35:
1.10      stevesk    36: void    buffer_append(Buffer *, const void *, u_int);
                     37: void   *buffer_append_space(Buffer *, u_int);
1.9       markus     38:
1.10      stevesk    39: void    buffer_get(Buffer *, void *, u_int);
1.9       markus     40:
                     41: void    buffer_consume(Buffer *, u_int);
                     42: void    buffer_consume_end(Buffer *, u_int);
                     43:
                     44: void     buffer_dump(Buffer *);
1.12      djm        45:
                     46: int     buffer_get_ret(Buffer *, void *, u_int);
                     47: int     buffer_consume_ret(Buffer *, u_int);
                     48: int     buffer_consume_end_ret(Buffer *, u_int);
1.1       deraadt    49:
1.2       deraadt    50: #endif                         /* BUFFER_H */