X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/89b3af67bb32e691275bf6fa803d1834b2284115..4d15aeb193b2c68f1d38666c317f8d3734f5f083:/bsd/machine/cons.h diff --git a/bsd/machine/cons.h b/bsd/machine/cons.h index a5c4e92b4..43d364ef0 100644 --- a/bsd/machine/cons.h +++ b/bsd/machine/cons.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000-2004 Apple Computer, Inc. All rights reserved. + * Copyright (c) 2000 Apple Computer, Inc. All rights reserved. * * @APPLE_OSREFERENCE_LICENSE_HEADER_START@ * @@ -25,17 +25,59 @@ * * @APPLE_OSREFERENCE_LICENSE_HEADER_END@ */ -#ifndef _BSD_MACHINE_CONS_H_ -#define _BSD_MACHINE_CONS_H_ +/* + * Copyright (c) 1987 NeXT, Inc. + */ + +struct consdev { + char *cn_name; /* name of device in dev_name_list */ + int (*cn_probe)(void); /* probe and fill in consdev info */ + int (*cn_init)(void); /* turn on as console */ + int (*cn_getc)(void); /* kernel getchar interface */ + int (*cn_putc)(void); /* kernel putchar interface */ + struct tty *cn_tp; /* tty structure for console device */ + dev_t cn_dev; /* major/minor of device */ + short cn_pri; /* pecking order; the higher the better */ +}; +/* values for cn_pri - reflect our policy for console selection */ +#define CN_DEAD 0 /* device doesn't exist */ +#define CN_NORMAL 1 /* device exists but is nothing special */ +#define CN_INTERNAL 2 /* "internal" bit-mapped display */ +#define CN_REMOTE 3 /* serial interface with remote bit set */ -#if defined (__ppc__) || defined (__ppc64__) -#include -#elif defined (__i386__) || defined(__x86_64__) -#include -#else -#error architecture not supported -#endif +/* XXX */ +#define CONSMAJOR 0 + +#ifdef KERNEL + +#include +#include + +extern struct consdev constab[]; +extern struct consdev *cn_tab; +extern struct tty *cn_tty; + +extern struct tty *constty; /* current console device */ +int consopen(dev_t, int, int, struct proc *); +int consclose(dev_t, int, int, struct proc *); +int consread(dev_t, struct uio *, int); +int conswrite(dev_t, struct uio *, int); +int consioctl(dev_t, u_long, caddr_t, int, struct proc *); +int consselect(dev_t, int, void *, struct proc *); + +/* + * These really want their own header file, but this is the only one in + * common, and the km device is the keyboard monitor, so it's technically a + * part of the console. + */ +int kmopen(dev_t, int, int, struct proc *); +int kmclose(dev_t, int, int, struct proc *); +int kmread(dev_t, struct uio *, int); +int kmwrite(dev_t, struct uio *, int); +int kmioctl(dev_t, u_long, caddr_t, int, struct proc *); +int kmputc(dev_t, char); + +#endif -#endif /* _BSD_MACHINE_CONS_H_ */