David 'Digit' Turner | 5d8f37a | 2009-09-14 14:32:27 -0700 | [diff] [blame] | 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 |