dt_state
struct dt_state dt_state;
dt_state.ds_poll = (volatile u_int *)
dt_state.ds_data = (volatile u_int *)
poll = dt_state.ds_poll;
data = dt_state.ds_data;
if (dt_state.ds_state == 0) {
dt_state.ds_escaped = 0;
dt_state.ds_ptr = 0;
if (dt_state.ds_state != 0) {
dt_state.ds_bad_pkts++;
dt_state.ds_state = 0;
if (dt_state.ds_escaped) {
dt_state.ds_bad_pkts++;
dt_state.ds_state = 0;
dt_state.ds_escaped = 0;
dt_state.ds_escaped = 1;
if (dt_state.ds_state == 0) {
dt_state.ds_state = 1;
} else if (dt_state.ds_state == 1) {
dt_state.ds_state = 2;
dt_state.ds_len = DT_CTL_LEN(msg->ctl) + 1;
if (dt_state.ds_len > sizeof(msg->body))
dt_state.ds_len);
if (dt_state.ds_ptr < sizeof(msg->body))
msg->body[dt_state.ds_ptr++] = c;
if (dt_state.ds_ptr >= dt_state.ds_len)
dt_state.ds_state = 0;
extern struct dt_state dt_state;