|
|
1.1 root 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:
1.1.1.2 ! root 11: #include <stddef.h>
! 12:
1.1 root 13: #define sbflush(sb) sbdrop((sb),(sb)->sb_cc)
14: #define sbspace(sb) ((sb)->sb_datalen - (sb)->sb_cc)
15:
16: struct sbuf {
17: u_int sb_cc; /* actual chars in buffer */
18: u_int sb_datalen; /* Length of data */
19: char *sb_wptr; /* write pointer. points to where the next
20: * bytes should be written in the sbuf */
21: char *sb_rptr; /* read pointer. points to where the next
22: * byte should be read from the sbuf */
23: char *sb_data; /* Actual data */
24: };
25:
1.1.1.2 ! root 26: void sbfree(struct sbuf *);
! 27: void sbdrop(struct sbuf *, u_int);
! 28: void sbreserve(struct sbuf *, size_t);
! 29: void sbappend(struct socket *, struct mbuf *);
! 30: void sbappendsb(struct sbuf *, struct mbuf *);
! 31: void sbcopy(struct sbuf *, u_int, u_int, char *);
1.1 root 32:
33: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.