Listing 2 TERM286.H - definition of the data structure used by the interrupt service routines to process the incoming data stream

/*
 * TERM286.H Copyright (C) 1992 Mark R. Nelson.
 *
 * This header file contains the definition of the port structure
 * used in the TERM286.H program. This structure is accessed by
 * both the real and protected mode ISRs, as well as the foreground
 * program.
 *
 */
struct port_data {
   int uart_address;           /* Base address of the UART         */
   int head_pointer;           /* Index into the buffer            */
   int tail_pointer;           /* The other index into the buffer  */
   PIHANDLER old_prot_vector;  /* Saved prot mode vector           */
   REALPTR old_real_vector;    /* Saved real mode vector           */
   int irq_mask;               /* Mask to apply to the 8259 PIC    */
   int interrupt_number;       /* The int number for this port     */
   int prot_count;             /* Count of port mode interrupts    */
   int real_count;             /* Count of real mode interrupts    */
   char buffer[ 1024 ];        /* The input storage  buffer        */
};
/* End of File */