Annotation of ntddk/src/vdd/com_vdd/pc_com.h, revision 1.1

1.1     ! root        1: /*
        !             2:  * PC_com.h
        !             3:  *
        !             4:  * function and structure definitions used external to PC_com.c
        !             5:  *
        !             6:  * copyright 1992 by Microsoft Corporation
        !             7:  * portions copyright 1991 by Insignia Solutions Ltd., used by permission.
        !             8:  *
        !             9:  * revision history:
        !            10:  *  24-Dec-1992 John Morgan:  written based on  com.h  from Insignia Solutions
        !            11:  *
        !            12:  */
        !            13: 
        !            14: #define NUM_SERIAL_PORTS 4
        !            15: 
        !            16: typedef unsigned tAdapter;
        !            17: #define INVALID_UART ((tAdapter) ~0)
        !            18: #define adapter_for_port(port) \
        !            19:     (((port & 0x3F8) == 0x3F8) ? COM1 : \
        !            20:      ((port & 0x3F8) == 0x2F8) ? COM2 : \
        !            21:      ((port & 0x3F8) == 0x3E8) ? COM3 : \
        !            22:      ((port & 0x3F8) == 0x2E8) ? COM4 : INVALID_UART)
        !            23: 
        !            24: #include "UART.h"
        !            25: 
        !            26: typedef struct
        !            27: {
        !            28:         BUFFER_REG          rx_buff_reg;
        !            29:         DIVISOR_LATCH       divisor_latch;
        !            30:         INT_ENABLE_REG      int_enable_reg;
        !            31:         LINE_CONTROL_REG    line_control_reg;
        !            32:         MODEM_CONTROL_REG   modem_control_reg;
        !            33:         LINE_STATUS_REG     line_status_reg;
        !            34:         MODEM_STATUS_REG    modem_status_reg;
        !            35:         BYTE                scratch;           /* scratch register */
        !            36: 
        !            37:         MODEM_STATUS_REG    last_modem_status_value;
        !            38:         BOOLEAN             modem_status_changed;
        !            39:         BOOLEAN             divisor_latch_state;
        !            40:         BOOLEAN             baud_rate_changed;
        !            41: 
        !            42:         BOOLEAN             break_state;        /* either OFF or ON */
        !            43: 
        !            44:         BYTE                modem_ctrl_state;
        !            45:         BOOLEAN             loopback_state;     /* either OFF or ON */
        !            46:         BOOLEAN             out2_state;         /* either OFF or ON */
        !            47: 
        !            48:         BOOLEAN             receiver_line_status_interrupt_state;
        !            49:         BOOLEAN             data_available_interrupt_state;
        !            50:         BOOLEAN             tx_holding_register_empty_interrupt_state;
        !            51:         BOOLEAN             modem_status_interrupt_state;
        !            52:         BOOLEAN             interrupt_line_state;
        !            53:         
        !            54:         BYTE                hw_interrupt_priority;
        !            55:         BYTE                com_baud_ind;
        !            56:         BOOLEAN             had_first_read;
        !            57: 
        !            58: } UART_STATE;
        !            59: 
        !            60: 
        !            61: extern void com_init( tAdapter );
        !            62: extern void com_close( tAdapter );
        !            63: extern void com_reset( tAdapter );
        !            64: 
        !            65: extern void com_flush_printer( tAdapter );
        !            66: 
        !            67: extern void com_inb( WORD, BYTE * );
        !            68: extern void com_outb( WORD, BYTE );
        !            69: 
        !            70: extern void com_recv_char( tAdapter );
        !            71: extern void com_modem_change( tAdapter );
        !            72: 
        !            73: extern void com_int_data( tAdapter, int *, int * );
        !            74: 
        !            75: extern void clear_tbr_flag( UART_STATE * );
        !            76: extern void set_modem_control( tAdapter );
        !            77: 
        !            78: extern void raise_rls_interrupt( UART_STATE * );
        !            79: extern void raise_rda_interrupt( UART_STATE * );
        !            80: extern void raise_ms_interrupt( UART_STATE * );
        !            81: extern void raise_thre_interrupt( UART_STATE * );
        !            82: 
        !            83: #if 0
        !            84: extern BOOL check_rda_interrupt( UART_STATE * );
        !            85: #endif
        !            86: #define check_rda_interrupt(pUART) ((pUART)->data_available_interrupt_state)
        !            87: 
        !            88: #define COM1 0
        !            89: #define COM2 1
        !            90: #define COM3 2
        !            91: #define COM4 3
        !            92: 

unix.superglobalmegacorp.com

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