|
|
1.1 root 1: /*
2: * Copyright (c) 1995 Danny Gasparovski.
1.1.1.2 root 3: *
4: * Please read the file COPYRIGHT for the
1.1 root 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:
1.1.1.3 ! root 24: void sbfree(struct sbuf *);
! 25: void sbdrop(struct sbuf *, int);
! 26: void sbreserve(struct sbuf *, int);
! 27: void sbappend(struct socket *, struct mbuf *);
! 28: void sbcopy(struct sbuf *, int, int, char *);
1.1 root 29:
30: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.