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

Diff for /src/usr.bin/ssh/Attic/buffer.h between version 1.4 and 1.4.2.3

version 1.4, 2000/04/14 10:30:30 version 1.4.2.3, 2001/03/12 15:44:08
Line 1 
Line 1 
 /*  /*
  *  
  * buffer.h  
  *  
  * Author: Tatu Ylonen <ylo@cs.hut.fi>   * Author: Tatu Ylonen <ylo@cs.hut.fi>
  *  
  * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland   * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
  *                    All rights reserved   *                    All rights reserved
  *  
  * Created: Sat Mar 18 04:12:25 1995 ylo  
  *  
  * Code for manipulating FIFO buffers.   * Code for manipulating FIFO buffers.
  *   *
    * As far as I am concerned, the code I have written for this software
    * can be used freely for any purpose.  Any derived versions of this
    * software must be clearly marked as such, and if the derived work is
    * incompatible with the protocol description in the RFC file, it must be
    * called by a name other than "ssh" or "Secure Shell".
  */   */
   
 /* RCSID("$Id$"); */  /* RCSID("$OpenBSD$"); */
   
 #ifndef BUFFER_H  #ifndef BUFFER_H
 #define BUFFER_H  #define BUFFER_H
   
 typedef struct {  typedef struct {
         char   *buf;            /* Buffer for data. */          char   *buf;            /* Buffer for data. */
         unsigned int alloc;     /* Number of bytes allocated for data. */          u_int alloc;    /* Number of bytes allocated for data. */
         unsigned int offset;    /* Offset of first byte containing data. */          u_int offset;   /* Offset of first byte containing data. */
         unsigned int end;       /* Offset of last byte containing data. */          u_int end;      /* Offset of last byte containing data. */
 }       Buffer;  }       Buffer;
 /* Initializes the buffer structure. */  /* Initializes the buffer structure. */
 void    buffer_init(Buffer * buffer);  void    buffer_init(Buffer * buffer);
Line 35 
Line 33 
 void    buffer_clear(Buffer * buffer);  void    buffer_clear(Buffer * buffer);
   
 /* Appends data to the buffer, expanding it if necessary. */  /* Appends data to the buffer, expanding it if necessary. */
 void    buffer_append(Buffer * buffer, const char *data, unsigned int len);  void    buffer_append(Buffer * buffer, const char *data, u_int len);
   
 /*  /*
  * Appends space to the buffer, expanding the buffer if necessary. This does   * Appends space to the buffer, expanding the buffer if necessary. This does
  * not actually copy the data into the buffer, but instead returns a pointer   * not actually copy the data into the buffer, but instead returns a pointer
  * to the allocated region.   * to the allocated region.
  */   */
 void    buffer_append_space(Buffer * buffer, char **datap, unsigned int len);  void    buffer_append_space(Buffer * buffer, char **datap, u_int len);
   
 /* Returns the number of bytes of data in the buffer. */  /* Returns the number of bytes of data in the buffer. */
 unsigned int buffer_len(Buffer * buffer);  u_int buffer_len(Buffer * buffer);
   
 /* Gets data from the beginning of the buffer. */  /* Gets data from the beginning of the buffer. */
 void    buffer_get(Buffer * buffer, char *buf, unsigned int len);  void    buffer_get(Buffer * buffer, char *buf, u_int len);
   
 /* Consumes the given number of bytes from the beginning of the buffer. */  /* Consumes the given number of bytes from the beginning of the buffer. */
 void    buffer_consume(Buffer * buffer, unsigned int bytes);  void    buffer_consume(Buffer * buffer, u_int bytes);
   
 /* Consumes the given number of bytes from the end of the buffer. */  /* Consumes the given number of bytes from the end of the buffer. */
 void    buffer_consume_end(Buffer * buffer, unsigned int bytes);  void    buffer_consume_end(Buffer * buffer, u_int bytes);
   
 /* Returns a pointer to the first used byte in the buffer. */  /* Returns a pointer to the first used byte in the buffer. */
 char   *buffer_ptr(Buffer * buffer);  char   *buffer_ptr(Buffer * buffer);

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.4.2.3