0.6.2-alt1.1
[qemu] / qemu-snapshot-2004-11-28_23 / slirp / sbuf.h
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 sbappendsb _P((struct sbuf *, struct mbuf *));
29 void sbcopy _P((struct sbuf *, int, int, char *));
30
31 #endif