|
|
1.1 ! root 1: #ifndef __STAR_DOT_H ! 2: #define __STAR_DOT_H ! 3: ! 4: /* ! 5: * _STAR.H 5.20A June 8, 1995 ! 6: * ! 7: * ! 8: * The Greenleaf Comm Library ! 9: * ! 10: * Copyright (C) 1991-1995 Greenleaf Software Inc. All Rights Reserved. ! 11: * ! 12: * NOTES ! 13: * ! 14: * This header file contains constants, structures, and definitions ! 15: * used by the Greenleaf Stargate Intelligent board interface code. ! 16: * There should generally not be any reason for an end user of the ! 17: * library to include this file. ! 18: * ! 19: * MODIFICATIONS ! 20: * ! 21: * December 12, 1992 4.00A : Initial release ! 22: */ ! 23: ! 24: /* ! 25: * The next two structures are my recreations of the data structures ! 26: * found in the dual ported RAM buffers on the Stargate board. ! 27: */ ! 28: ! 29: typedef struct { ! 30: unsigned int global_command_word; ! 31: unsigned int global_status_word; ! 32: unsigned int global_service_request; ! 33: unsigned int buffer_space_remaining; ! 34: unsigned int board_type; ! 35: unsigned int acl_control_program_version; ! 36: unsigned int number_of_channels; ! 37: unsigned int ccb_offset; ! 38: unsigned int ccb_size; ! 39: unsigned int global_command_word_2; ! 40: unsigned int global_status_word_2; ! 41: unsigned int comm_error_service_request; ! 42: unsigned int input_buffer_service_request; ! 43: unsigned int output_buffer_service_request; ! 44: unsigned int modem_status_service_request; ! 45: unsigned int channel_command_service_request; ! 46: } GLOBAL_CONTROL_BLOCK; ! 47: ! 48: typedef struct { ! 49: unsigned int baud_rate; ! 50: unsigned int data_format; ! 51: unsigned int line_protocol; ! 52: unsigned int input_buffer_size; ! 53: unsigned int output_buffer_size; ! 54: unsigned int input_buffer_trigger_rate; ! 55: unsigned int output_buffer_low_water_mark; ! 56: unsigned int input_xon_xoff_characters; ! 57: unsigned int input_buffer_high_water_mark; ! 58: unsigned int input_buffer_low_water_mark; ! 59: unsigned int channel_command; ! 60: unsigned int channel_status; ! 61: unsigned int input_buffer_start; ! 62: unsigned int input_buffer_end; ! 63: unsigned int output_buffer_start; ! 64: unsigned int output_buffer_end; ! 65: unsigned int next_character_to_input; ! 66: unsigned int next_character_from_input; ! 67: unsigned int next_character_to_output; ! 68: unsigned int next_character_from_output; ! 69: unsigned int communication_error_status; ! 70: unsigned int bad_character_pointer; ! 71: unsigned int modem_control_word; ! 72: unsigned int modem_status_word; ! 73: unsigned int blocking_status; ! 74: unsigned int character_received_flag; ! 75: unsigned int output_xon_xoff_characters; ! 76: unsigned int channel_status_2; ! 77: } CHANNEL_CONTROL_BLOCK; ! 78: ! 79: typedef struct smart_stargate_port { ! 80: CHANNEL_CONTROL_BLOCK volatile far * ccb; ! 81: unsigned char volatile far * buffer; ! 82: struct smart_stargate_port *next_port; ! 83: int ram_latch; ! 84: int ram_enable; ! 85: int ram_disable; ! 86: int port_number; ! 87: int board_number; ! 88: int line_status; ! 89: } STARGATE_PORT; ! 90: ! 91: typedef struct smart_stargate_board { ! 92: GLOBAL_CONTROL_BLOCK volatile far * gcb; ! 93: unsigned int latch; ! 94: STARGATE_PORT *first_port; ! 95: int first_port_number; ! 96: int number_of_ports; ! 97: enum { ACL_UNKNOWN = 0, ACLII, ACL16 } board_type; ! 98: } STARGATE_BOARD; ! 99: ! 100: #define MAX_BOARDS 4 ! 101: int GF_CONV _DumpPortStatusSmartStarGate( PORT *port, PORT_DUMPER printer ); ! 102: int GF_CONV _SendCCBCommand( CHANNEL_CONTROL_BLOCK volatile far * ccb, int cmd ); ! 103: ! 104: extern STARGATE_BOARD stargate_boards[ MAX_BOARDS ]; ! 105: ! 106: #endif /* #ifndef __STAR_DOT_H */ ! 107: ! 108:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.