Home | History | Annotate | Download | only in slirp
      1 /*
      2  * Copyright (c) 1995 Danny Gasparovski.
      3  *
      4  * Please read the file COPYRIGHT for the
      5  * terms and conditions of the copyright.
      6  */
      7 
      8 #ifndef _SBUF_H_
      9 #define _SBUF_H_
     10 
     11 #define sbflush(sb) sbdrop((sb),(sb)->sb_cc)
     12 #define sbspace(sb) ((sb)->sb_datalen - (sb)->sb_cc)
     13 
     14 struct sbuf {
     15 	u_int	sb_cc;		/* actual chars in buffer */
     16 	u_int	sb_datalen;	/* Length of data  */
     17 	char	*sb_wptr;	/* write pointer. points to where the next
     18 				 * bytes should be written in the sbuf */
     19 	char	*sb_rptr;	/* read pointer. points to where the next
     20 				 * byte should be read from the sbuf */
     21 	char	*sb_data;	/* Actual data */
     22 };
     23 
     24 void sbfree _P((struct sbuf *));
     25 void sbdrop _P((struct sbuf *, int));
     26 void sbreserve _P((struct sbuf *, int));
     27 void sbappend _P((struct socket *, struct mbuf *));
     28 void sbcopy _P((struct sbuf *, int, int, char *));
     29 
     30 #endif
     31