rem: return EINVAL;
add: return B_BAD_VALUE;
context: mouse_ioctl(void *cookie, uint32 op, void *buf, size_t len){	mouse_movement *pos = (mouse_movement *)buf;	switch (op) {		case MS_NUM_EVENTS:		{			int32 count;			TRACE(("MS_NUM_EVENTS\n"));			get_sem_count(sMouseSem, &count);			return count;		}		case MS_READ:			TRACE(("MS_READ\n"));				return ps2_mouse_read(pos);		case MS_SET_TYPE:			TRACE(("MS_SET_TYPE not implemented\n"));			return EINVAL;		case MS_SET_MAP:			TRACE(("MS_SET_MAP (set mouse mapping) not implemented\n"));			return EINVAL;		case MS_GET_ACCEL:			TRACE(("MS_GET_ACCEL (get mouse acceleration) not implemented\n"));			return EINVAL;		case MS_SET_ACCEL:			TRACE(("MS_SET_ACCEL (set mouse acceleration) not implemented\n"));			return EINVAL;		case MS_SET_CLICKSPEED:			TRACE(("MS_SETCLICK (set click speed)\n"));			sClickSpeed = *(bigtime_t *)buf;			return B_OK;		default:			TRACE(("unknown opcode: %ld\n", op));			return EINVAL;	}}