Programming Examples
Appendix B
B-5
} AUTOCONFIGURE_CMD;
typedef struct {
UBYTE
module_slot_address;
UBYTE logical_rack_address;
UBYTE
bt_data_length;
UWORD
bt_data[64];
} BT_WRITE_CMD;
typedef struct {
UBYTE
module_slot_address;
UBYTE logical_rack_address;
UBYTE
bt_data_length;
} BT_READ_CMD;
typedef struct {
UBYTE
fg_number:4;
UBYTE
in_fault_group:1;
UBYTE
unused:3;
} FAULT_GROUP_BYTE;
typedef struct {
FAULT_GROUP_BYTE fault_group_data[128];
} SET_FAULT_GROUP_CMD;
typedef struct {
UBYTE
unused;
} GET_SCAN_LIST_CMD;
typedef struct {
UBYTE
host_command;
UBYTE
transaction_num;
UBYTE
command_length;
union {
SET_MODE_CMD set_mode;
SET_SCAN_LIST_CMD
set_scan_list;
AUTOCONFIGURE_CMD
autoconfig;
BT_WRITE_CMD
bt_write;
BT_READ_CMD
bt_read;
SET_FAULT_GROUP_CMD
set_fault_group;
GET_SCAN_LIST_CMD
get_scan_list;
UBYTE
padding[253];
} cmd;
} COMMAND;
/*=============================================================================
CONFIRMATION DATA STRUCTURES
==============================================================================*/
typedef struct
{
UBYTE
count;
UBYTE
scan_list[64];
} GET_LIST_CONF;
typedef struct
{
UBYTE
orphan;
} SET_LIST_CONF;
typedef
struct
{
UWORD
bt_data[64];
} BT_READ_CONF;
typedef struct
{
UBYTE
host_command;
UBYTE
transaction_num;
UBYTE
conf_status;
UBYTE
conf_length;
union
{
GET_LIST_CONF
get_list;
SET_LIST_CONF
set_list;
BT_READ_CONF
bt_read;
UBYTE
dummy[252];
} conf;
} CONFIRMATION;