func: static void eepro100_cu_command(EEPRO100State * s, uint8_t val) switch ( val )  s -> cu_offset = e100_read_reg4 ( s , SCBPointer ); if ( get_cu_state ( s ) == cu_suspended )  action_command ( s ); static void action_command(EEPRO100State *s) bool bit_el ; bool bit_s ; s -> cb_address = s -> cu_base + s -> cu_offset; bit_el = ( ( s -> tx . command & COMMAND_EL ) != 0 ); bit_s = ( ( s -> tx . command & COMMAND_S ) != 0 ); s -> cu_offset = s -> tx . link; switch ( s -> tx . command & COMMAND_CMD )  set_multicast_list ( s ); s -> tx . status = 0; if ( bit_el )  if ( bit_s )  static void set_multicast_list(EEPRO100State *s) uint16_t multicast_count = s -> tx . tbd_array_addr & BITS ( 13 , 0 ) ; uint16_t i ; for (i = 0; i < multicast_count; i += 6) uint8_t multicast_addr [ 6 ] ; TRACE ( OTHER , logout ( "multicast entry %s\n" , nic_dump ( multicast_addr , 6 ) ) ); static const char *nic_dump(const uint8_t * buf, unsigned size) static char dump [ 3 * 16 + 1 ] ; char * p = & dump [ 0 ] ; if ( size > 16 )  size = 16; while ( size -- > 0 )  p += sprintf ( p , " %02x" , * buf ++ ); 