Annotation of XNU/osfmk/ppc/POWERMAC/serial_io.h, revision 1.1.1.1

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 */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.