Annotation of ntddk/src/vdd/com_vdd/pc_com.h, revision 1.1.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.