int lbs_cmd(struct cmd_ds_command *cmd, struct cmd_ds_command *resp, int resp_size, XXXPROPERTYPE callback); caller would set cmd->command cmd->size cmd->(fields from union) lbs_cmd() would set cmd->seqnum cmd->result = 0 send to firmware it would block for if callback=0 it would copy at most resp_size to *resp