|
|
1.1 ! root 1: /* ! 2: * Copyright (c) 2000 Apple Computer, Inc. All rights reserved. ! 3: * ! 4: * @APPLE_LICENSE_HEADER_START@ ! 5: * ! 6: * The contents of this file constitute Original Code as defined in and ! 7: * are subject to the Apple Public Source License Version 1.1 (the ! 8: * "License"). You may not use this file except in compliance with the ! 9: * License. Please obtain a copy of the License at ! 10: * http://www.apple.com/publicsource and read it before using this file. ! 11: * ! 12: * This Original Code and all software distributed under the License are ! 13: * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER ! 14: * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, ! 15: * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, ! 16: * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the ! 17: * License for the specific language governing rights and limitations ! 18: * under the License. ! 19: * ! 20: * @APPLE_LICENSE_HEADER_END@ ! 21: */ ! 22: /* ! 23: * @OSF_COPYRIGHT@ ! 24: */ ! 25: /* ! 26: * @APPLE_FREE_COPYRIGHT@ ! 27: */ ! 28: ! 29: ! 30: #include <device/device_types.h> ! 31: #include <mach_kdp.h> ! 32: ! 33: /* ! 34: * Console is on the Printer Port (chip channel 0) ! 35: * Debugger is on the Modem Port (chip channel 1) ! 36: */ ! 37: ! 38: #define CONSOLE_PORT 1 ! 39: ! 40: struct scc_tty { ! 41: char * t_addr; /* device pointer */ ! 42: int t_dev; /* device number */ ! 43: int t_ispeed; /* input speed */ ! 44: int t_ospeed; /* output speed */ ! 45: char t_breakc; /* character to deliver when 'break' ! 46: condition received */ ! 47: int t_flags; /* mode flags */ ! 48: int t_state; /* current state */ ! 49: int t_line; /* fake line discipline number, ! 50: for old drivers - always 0 */ ! 51: int t_outofband; /* current out-of-band events */ ! 52: int t_outofbandarg; /* arg to first out-of-band event */ ! 53: int t_nquoted; /* number of quoted chars in inq */ ! 54: int t_hiwater; /* baud-rate limited high water mark */ ! 55: int t_lowater; /* baud-rate limited low water mark */ ! 56: }; ! 57: typedef struct scc_tty *scc_tty_t; ! 58: ! 59: /* ! 60: * function declarations for performing serial i/o ! 61: * other functions below are declared in kern/misc_protos.h ! 62: * cnputc, cngetc, cnmaygetc ! 63: */ ! 64: ! 65: void initialize_serial(caddr_t scc_phys_base); ! 66: ! 67: extern int scc_probe(void); ! 68: ! 69: #if 0 ! 70: extern int scc_open( ! 71: dev_t dev, ! 72: dev_mode_t flag, ! 73: io_req_t ior); ! 74: ! 75: extern void scc_close( ! 76: dev_t dev); ! 77: ! 78: extern int scc_read( ! 79: dev_t dev, ! 80: io_req_t ior); ! 81: ! 82: extern io_return_t scc_write( ! 83: dev_t dev, ! 84: io_req_t ior); ! 85: ! 86: extern io_return_t scc_get_status( ! 87: dev_t dev, ! 88: dev_flavor_t flavor, ! 89: dev_status_t data, ! 90: mach_msg_type_number_t *status_count); ! 91: ! 92: extern io_return_t scc_set_status( ! 93: dev_t dev, ! 94: dev_flavor_t flavor, ! 95: dev_status_t data, ! 96: mach_msg_type_number_t status_count); ! 97: ! 98: extern boolean_t scc_portdeath( ! 99: dev_t dev, ! 100: ipc_port_t port); ! 101: ! 102: #endif /* 0 */ ! 103: ! 104: extern int scc_putc( ! 105: int unit, ! 106: int line, ! 107: int c); ! 108: ! 109: extern int scc_getc( ! 110: int unit, ! 111: int line, ! 112: boolean_t wait, ! 113: boolean_t raw); ! 114: ! 115: /* Functions in serial_console.c for switching between serial and video ! 116: consoles. */ ! 117: extern boolean_t console_is_serial(void); ! 118: extern int switch_to_serial_console( ! 119: void); ! 120: ! 121: extern int switch_to_video_console( ! 122: void); ! 123: ! 124: extern void switch_to_old_console( ! 125: int old_console); ! 126: ! 127: ! 128: /* ! 129: * JMM - We are not really going to support this driver in SMP (barely ! 130: * support it now - so just pick up the stubbed out versions. ! 131: */ ! 132: #define DECL_FUNNEL(class,f) ! 133: #define DECL_FUNNEL_VARS ! 134: #define FUNNEL_INIT(f,p) ! 135: #define FUNNEL_ENTER(f) ! 136: #define FUNNEL_EXIT(f) ! 137: #define FUNNEL_ESCAPE(f) (1) ! 138: #define FUNNEL_REENTER(f,count) ! 139: #define FUNNEL_IN_USE(f) (TRUE) ! 140: ! 141: /* ! 142: * Flags ! 143: */ ! 144: #define TF_ODDP 0x00000002 /* get/send odd parity */ ! 145: #define TF_EVENP 0x00000004 /* get/send even parity */ ! 146: #define TF_ANYP (TF_ODDP|TF_EVENP) ! 147: /* get any parity/send none */ ! 148: #define TF_LITOUT 0x00000008 /* output all 8 bits ! 149: otherwise, characters >= 0x80 ! 150: are time delays XXX */ ! 151: #define TF_ECHO 0x00000080 /* device wants user to echo input */ ! 152: #define TS_MIN 0x00004000 /* buffer input chars, if possible */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.