struct ccb{
	char ccb_adapter;
	char ccb_command;
	char ccb_retcode;
	char ccb_work;
	struct ccb *ccb_pointer;
	void *ccb_cmd_cplt;
	void *ccb_parm_tab;
        };

struct dir_open_adapter_tab{
	struct adapter_parms_tab *adapter_parms;
	struct direct_parms_tab *direct_parms;
	struct dlc_parms_tab *dlc_parms;
	void *msg_parms;
	};

struct adapter_parms_tab{
	short open_error_code;
	short open_options;
	char node_address[6];
	long group_address;
	long functional_addr;
	short num_rcv_buffers;
	short rcv_buffer_len;
	short dhb_buffer_len;
	char data_hold_buf;
	char reserv;
	short lock_code;
	void *prod_id_addr;
	};

struct direct_parms_tab{
	short dir_buf_size;
	short dir_pool_blocks;
	void *dir_pool_addres;
	void *adpt_chk_exit;
	void *ring_status_exit;
	void *pc_error_exit;
	void *work_addr;
	short work_len_req;
	short work_len_act;
	};

struct dlc_parms_tab{
	char dlc_max_sap;
	char dlc_max_sta;
	char dlc_max_gsap;
	char dlc_max_gmem;
	char dlc_t1_tick_one;
	char dlc_t2_tick_one;
	char dlc_ti_tick_one;
	char dlc_t1_tick_two;
	char dlc_t2_tick_two;
	char dlc_ti_tick_two;
	};

struct transmit_tab{
	short station_id;
	char transmit_fs;
	char rsap;
	void *xmit_queue_one;
	void *xmit_queue_two;
	short buffer_len_one;
	short buffer_len_two;
	void *buffer_one;
	void *buffer_two;
	};

struct dlc_open_sap_tab{
	short station_id;
	short user_stat_value;
	char timer_t1;
	char timer_t2;
	char timer_ti;
	char maxout;
	char maxin;
	char maxout_incr;
	char max_retry_cnt;
	char max_members;
	short max_i_field;
	char sap_value;
	char option_priority;
	char station_count;
	short reserv;
	char group_count;
	void *group_list;
	void *dlc_status_exit;
	short dlc_buf_size;
	short dlc_pool_len;
	void *dlc_pool_addr;
	};

struct dlc_open_station_tab{
	short sap_station_id;
	short link_station_id;
	char timer_t1;
	char timer_t2;
	char timer_ti;
	char maxout;
	char maxin;
	char maxout_incr;
	char max_retry_cnt;
	char rsap_value;
	short max_i_field;
	char access_priority;
	char reserv;
	void *destination_addr;
	};

struct dlc_connect_station_tab{
	short station_id;
	short reserv;
	void *routing_addr;
	};

struct dir_initialize_tab{
	short bring_ups;
	short sram_address;
	long reserv;
	void *adptr_chk_exit;
	void *ring_status_exit;
	void *pc_error_exit;
	};
	
struct buffer_get_tab{
	short station_id;
	short buffer_left;
	char buffer_get;
	char reserv[3];
	void *first_buffer;
	};

struct buffer_free_tab{
	short station_id;
	short buffer_left;
	char reserv[4];
	void *first_buffer;
	};

struct receive_tab{
	short station_id;
	short user_length;
	void *received_data;
	void *first_buffer;
	char options;
	};

