|
|
1.1 root 1: /*
2: * Copyright (c) 1988-1994, The University of Utah and
3: * the Computer Systems Laboratory at the University of Utah (CSL).
4: * All rights reserved.
5: *
6: * Permission to use, copy, modify and distribute this software is hereby
7: * granted provided that (1) source code retains these copyright, permission,
8: * and disclaimer notices, and (2) redistributions including binaries
9: * reproduce the notices in supporting documentation, and (3) all advertising
10: * materials mentioning features or use of this software display the following
11: * acknowledgement: ``This product includes software developed by the
12: * Computer Systems Laboratory at the University of Utah.''
13: *
14: * THE UNIVERSITY OF UTAH AND CSL ALLOW FREE USE OF THIS SOFTWARE IN ITS "AS
15: * IS" CONDITION. THE UNIVERSITY OF UTAH AND CSL DISCLAIM ANY LIABILITY OF
16: * ANY KIND FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
17: *
18: * CSL requests users of this software to return to [email protected] any
19: * improvements that they make and grant CSL redistribution rights.
20: *
21: * Utah $Hdr: cons.h 1.10 94/12/14$
22: */
23:
1.1.1.2 root 24: #ifndef _DEVICE_CONS_H
25: #define _DEVICE_CONS_H
26: #include <sys/types.h>
27:
1.1 root 28: struct consdev {
29: char *cn_name; /* name of device in dev_name_list */
1.1.1.2 root 30: int (*cn_probe)(struct consdev *cp); /* probe hardware and fill in consdev info */
31: int (*cn_init)(struct consdev *cp); /* turn on as console */
32: int (*cn_getc)(dev_t dev, int wait); /* kernel getchar interface */
33: int (*cn_putc)(dev_t dev, int c); /* kernel putchar interface */
1.1 root 34: dev_t cn_dev; /* major/minor of device */
35: short cn_pri; /* pecking order; the higher the better */
36: };
37:
38: /* values for cn_pri - reflect our policy for console selection */
39: #define CN_DEAD 0 /* device doesn't exist */
40: #define CN_NORMAL 1 /* device exists but is nothing special */
41: #define CN_INTERNAL 2 /* "internal" bit-mapped display */
42: #define CN_REMOTE 3 /* serial interface with remote bit set */
43:
44: #define CONSBUFSIZE 1024
45:
46: #ifdef KERNEL
47: extern struct consdev constab[];
48: #endif
1.1.1.2 root 49:
50: extern void cninit(void);
51:
52: extern int cngetc(void);
53:
54: extern int cnmaygetc(void);
55:
56: extern void cnputc(char);
1.1.1.3 ! root 57:
! 58: /*
! 59: * ROM getc/putc primitives.
! 60: * On some architectures, the boot ROM provides basic character input/output
! 61: * routines that can be used before devices are configured or virtual memory
! 62: * is enabled. This can be useful to debug (or catch panics from) code early
! 63: * in the bootstrap procedure.
! 64: */
! 65: extern int (*romgetc)(char c);
! 66: extern void (*romputc)(char c);
! 67:
1.1.1.2 root 68: #endif /* _DEVICE_CONS_H */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.