add: TRACE(("get_port_info(id = %ld)\n", id));
context: _get_port_info(port_id id, port_info *info, size_t size){	cpu_status state;	int slot;	if (info == NULL || size != sizeof(port_info))		return B_BAD_VALUE;	if (!sPortsActive || id < 0)		return B_BAD_PORT_ID;	slot = id % sMaxPorts;	state = disable_interrupts();	GRAB_PORT_LOCK(sPorts[slot]);	if (sPorts[slot].id != id || sPorts[slot].capacity == 0) {		RELEASE_PORT_LOCK(sPorts[slot]);		restore_interrupts(state);		TRACE(("get_port_info: invalid port_id %ld\n", id));		return B_BAD_PORT_ID;	}	// fill a port_info struct with info	fill_port_info(&sPorts[slot], info, size);	RELEASE_PORT_LOCK(sPorts[slot]);	restore_interrupts(state);	return B_OK;}