|
|
1.1 root 1: /*
2: * Mach Operating System
3: * Copyright (c) 1991,1990 Carnegie Mellon University
4: * All Rights Reserved.
5: *
6: * Permission to use, copy, modify and distribute this software and its
7: * documentation is hereby granted, provided that both the copyright
8: * notice and this permission notice appear in all copies of the
9: * software, derivative works or modified versions, and any portions
10: * thereof, and that both notices appear in supporting documentation.
11: *
12: * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
13: * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
14: * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
15: *
16: * Carnegie Mellon requests users of this software to return to
17: *
18: * Software Distribution Coordinator or [email protected]
19: * School of Computer Science
20: * Carnegie Mellon University
21: * Pittsburgh PA 15213-3890
22: *
23: * any improvements or extensions that they make and grant Carnegie Mellon
24: * the rights to redistribute these changes.
25: */
26: /*
27: * Author: David B. Golub, Carnegie Mellon University
28: * Date: 7/90
29: */
30:
31: #ifndef _DEVICE_CIRBUF_H_
32: #define _DEVICE_CIRBUF_H_
33:
34: /*
35: * Circular buffers for TTY
36: */
37:
38: struct cirbuf {
39: char * c_start; /* start of buffer */
40: char * c_end; /* end of buffer + 1*/
41: char * c_cf; /* read pointer */
42: char * c_cl; /* write pointer */
43: short c_cc; /* current number of characters
44: (compatibility) */
45: short c_hog; /* max ever */
46: };
47:
48: /*
49: * Exported routines
50: */
51: extern int putc(int, struct cirbuf *);
52: extern int getc(struct cirbuf *);
53: extern int q_to_b(struct cirbuf *, char *, int);
54: extern int b_to_q(char *, int, struct cirbuf *);
55: extern int nqdb(struct cirbuf *, int);
56: extern void ndflush(struct cirbuf *, int);
57: extern void cb_clear(struct cirbuf *);
58:
59: extern void cb_alloc(struct cirbuf *, int);
60: extern void cb_free(struct cirbuf *);
61:
62: #endif /* _DEVICE_CIRBUF_H_ */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.