rem: dprintf( "rtl8139_nielx control_hook(): Wants us to init... ;-)\n" );
add: TRACE( "rtl8139_nielx control_hook(): Wants us to init... ;-)\n" );
context: control_hook (void* cookie, uint32 op, void* arg, size_t len){	rtl8139_properties_t *data = (rtl8139_properties_t *)cookie;	ether_address_t address;	dprintf( "rtl8139_nielx control_hook()\n" );			switch ( op )	{		case ETHER_INIT:		dprintf( "rtl8139_nielx control_hook(): Wants us to init... ;-)\n" );		return B_NO_ERROR;			case ETHER_GETADDR:		if ( data == NULL )			return B_ERROR;					dprintf( "rtl8139_nielx control_hook(): Wants our address...\n" );		memcpy( arg , (void *) &(data->address) , sizeof( ether_address_t ) );		return B_OK;		case ETHER_ADDMULTI:		if (data == NULL )			return B_ERROR;		//Check if the maximum of multicast addresses isn't reached		if ( data->multiset == 8 )			return B_ERROR;					dprintf( "rtl8139_nielx control_hook(): Add multicast...\n" );		memcpy( &address , arg , sizeof( address ) );		dprintf( "Multicast address: %i %i %i %i %i %i \n" , address.ebyte[0] ,		address.ebyte[1] , address.ebyte[2] , address.ebyte[3] , address.ebyte[4] ,		address.ebyte[5] );		return B_OK;	case ETHER_NONBLOCK:		if ( data == NULL )			return B_ERROR;				dprintf( "rtl8139_nielx control_hook(): Wants to set block/nonblock\n" );		memcpy( &data->nonblocking , arg , sizeof( data->nonblocking ) );		return B_NO_ERROR;			case ETHER_REMMULTI:		dprintf( "rtl8139_nielx control_hook(): Wants REMMULTI\n" );		return B_OK;			case ETHER_SETPROMISC:		dprintf("rtl8139_nielx control_hook(): Wants PROMISC\n" );		return B_OK;		case ETHER_GETFRAMESIZE:		dprintf("rtl8139_nielx control_hook(): Wants GETFRAMESIZE\n" ) ;		*( (unsigned int *)arg ) = 1514;		return B_OK;	}	return B_BAD_VALUE;}