0x0000, request.AtSize+4, (u_int8_t *)&request);
0x0000, size+8, (uByte *)&request);
atu_send_mib(struct atu_softc *sc, u_int8_t type, u_int8_t size,    u_int8_t index, void *data){	int				err;	struct atu_cmd_set_mib	request;	/*	 * We don't construct a MIB packet first and then memcpy it into an	 * Atmel-command-packet, we just construct it the right way at once :)	 */	request.AtCmd = CMD_SET_MIB;	request.AtReserved = 0;	request.AtSize = size + 4;	request.MIBType = type;	request.MIBSize = size;	request.MIBIndex = index;	request.MIBReserved = 0;	/*	 * For 1 and 2 byte requests we assume a direct value,	 * everything bigger than 2 bytes we assume a pointer to the data	 */	switch (size) {	case 0:		break;	case 1:		request.data[0]=(long)data & 0x000000ff;		break;	case 2:		request.data[0]=(long)data & 0x000000ff;		request.data[1]=(long)data >> 8;		break;	default:		memcpy(request.data, data, size);	}	err = atu_usb_request(sc, UT_WRITE_VENDOR_DEVICE, 0x0e, 0x0000,		0x0000, request.AtSize+4, (u_int8_t *)&request);	if (err)		return err;	DPRINTFN(15, ("%s: sendmib : waitcompletion...\n",	    USBDEVNAME(sc->atu_dev)));	return atu_wait_completion(sc, CMD_SET_MIB, NULL);}