Beispiel #1
0
const sctp_sm_table_entry_t *sctp_sm_lookup_event(sctp_event_t event_type,
                          sctp_state_t state,
                          sctp_subtype_t event_subtype)
{
    switch (event_type) {
    case SCTP_EVENT_T_CHUNK:
        return sctp_chunk_event_lookup(event_subtype.chunk, state);
        break;
    case SCTP_EVENT_T_TIMEOUT:
        DO_LOOKUP(SCTP_EVENT_TIMEOUT_MAX, timeout,
              timeout_event_table);
        break;

    case SCTP_EVENT_T_OTHER:
        DO_LOOKUP(SCTP_EVENT_OTHER_MAX, other, other_event_table);
        break;

    case SCTP_EVENT_T_PRIMITIVE:
        DO_LOOKUP(SCTP_EVENT_PRIMITIVE_MAX, primitive,
              primitive_event_table);
        break;

    default:
        /* Yikes!  We got an illegal event type.  */
        return &bug;
    }
}
Beispiel #2
0
const struct sctp_sm_table_entry *sctp_sm_lookup_event(
					struct net *net,
					enum sctp_event_type event_type,
					enum sctp_state state,
					union sctp_subtype event_subtype)
{
	switch (event_type) {
	case SCTP_EVENT_T_CHUNK:
		return sctp_chunk_event_lookup(net, event_subtype.chunk, state);
	case SCTP_EVENT_T_TIMEOUT:
		return DO_LOOKUP(SCTP_EVENT_TIMEOUT_MAX, timeout,
				 timeout_event_table);
	case SCTP_EVENT_T_OTHER:
		return DO_LOOKUP(SCTP_EVENT_OTHER_MAX, other,
				 other_event_table);
	case SCTP_EVENT_T_PRIMITIVE:
		return DO_LOOKUP(SCTP_EVENT_PRIMITIVE_MAX, primitive,
				 primitive_event_table);
	default:
		/* Yikes!  We got an illegal event type.  */
		return &bug;
	}
}