Enscript Output

extractedLnx/linux/drivers/i2o/i2o_proc.c_i2o_proc_read_lan_media_operation.c

int i2o_proc_read_lan_media_operation(char *buf, char **start, off_t offset,
				      int len, int *eof, void *data)
{
	struct i2o_device *d = (struct i2o_device*)data;
	static u32 work32[9];
	static u8 *work8 = (u8*)work32;
        static u64 *work64 = (u64*)work32;
	int token;

	spin_lock(&i2o_proc_lock);	
	len = 0;

	token = i2o_query_scalar(d->controller, d->id, proc_context, 
				 0x0005, -1, &work32, 36, &i2o_proc_token);
	if(token < 0)
	{
		len += sprintf(buf, "Timeout waiting for reply from IOP\n");
		spin_unlock(&i2o_proc_lock);
		return len;
	}

	len += sprintf(buf, "Connector type: ");
	switch(work32[0])
	{
	case 0x00000000:
		len += sprintf(buf+len, "OTHER\n");
		break;
	case 0x00000001:
		len += sprintf(buf+len, "UNKNOWN\n");
		break;
	case 0x00000002:
		len += sprintf(buf+len, "AUI\n");
		break;
	case 0x00000003:
		len += sprintf(buf+len, "UTP\n");
		break;
	case 0x00000004:
		len += sprintf(buf+len, "BNC\n");
		break;
	case 0x00000005:
		len += sprintf(buf+len, "RJ45\n");
		break;
	case 0x00000006:
		len += sprintf(buf+len, "STP DB9\n");
		break;
	case 0x00000007:
		len += sprintf(buf+len, "FIBER MIC\n");
		break;
	case 0x00000008:
		len += sprintf(buf+len, "APPLE AUI\n");
		break;
	case 0x00000009:
		len += sprintf(buf+len, "MII\n");
		break;
	case 0x0000000A:
		len += sprintf(buf+len, "DB9\n");
		break;
	case 0x0000000B:
		len += sprintf(buf+len, "HSSDC\n");
		break;
	case 0x0000000C:
		len += sprintf(buf+len, "DUPLEX SC FIBER\n");
		break;
	case 0x0000000D:
		len += sprintf(buf+len, "DUPLEX ST FIBER\n");
		break;
	case 0x0000000E:
		len += sprintf(buf+len, "TNC/BNC\n");
		break;
	case 0xFFFFFFFF:
		len += sprintf(buf+len, "HW DEFAULT\n");
		break;
	}

	len += sprintf(buf+len, "Connection type: ");
	switch(work32[1])
	{
	case I2O_LAN_UNKNOWN:
		len += sprintf(buf+len, "UNKNOWN\n");
		break;
	case I2O_LAN_AUI:
		len += sprintf(buf+len, "AUI\n");
		break;
	case I2O_LAN_10BASE5:
		len += sprintf(buf+len, "10BASE5\n");
		break;
	case I2O_LAN_FIORL:
		len += sprintf(buf+len, "FIORL\n");
		break;
	case I2O_LAN_10BASE2:
		len += sprintf(buf+len, "10BASE2\n");
		break;
	case I2O_LAN_10BROAD36:
		len += sprintf(buf+len, "10BROAD36\n");
		break;
	case I2O_LAN_10BASE_T:
		len += sprintf(buf+len, "10BASE-T\n");
		break;
	case I2O_LAN_10BASE_FP:
		len += sprintf(buf+len, "10BASE-FP\n");
		break;
	case I2O_LAN_10BASE_FB:
		len += sprintf(buf+len, "10BASE-FB\n");
		break;
	case I2O_LAN_10BASE_FL:
		len += sprintf(buf+len, "10BASE-FL\n");
		break;
	case I2O_LAN_100BASE_TX:
		len += sprintf(buf+len, "100BASE-TX\n");
		break;
	case I2O_LAN_100BASE_FX:
		len += sprintf(buf+len, "100BASE-FX\n");
		break;
	case I2O_LAN_100BASE_T4:
		len += sprintf(buf+len, "100BASE-T4\n");
		break;
	case I2O_LAN_1000BASE_SX:
		len += sprintf(buf+len, "1000BASE-SX\n");
		break;
	case I2O_LAN_1000BASE_LX:
		len += sprintf(buf+len, "1000BASE-LX\n");
		break;
	case I2O_LAN_1000BASE_CX:
		len += sprintf(buf+len, "1000BASE-CX\n");
		break;
	case I2O_LAN_1000BASE_T:
		len += sprintf(buf+len, "1000BASE-T\n");
		break;
	case I2O_LAN_100VG_ETHERNET:
		len += sprintf(buf+len, "100VG-ETHERNET\n");
		break;
	case I2O_LAN_100VG_TR:
		len += sprintf(buf+len, "100VG-TOKEN RING\n");
		break;
	case I2O_LAN_4MBIT:
		len += sprintf(buf+len, "4MBIT TOKEN RING\n");
		break;
	case I2O_LAN_16MBIT:
		len += sprintf(buf+len, "16 Mb Token Ring\n");
		break;
	case I2O_LAN_125MBAUD:
		len += sprintf(buf+len, "125 MBAUD FDDI\n");
		break;
	case I2O_LAN_POINT_POINT:
		len += sprintf(buf+len, "Point-to-point\n");
		break;
	case I2O_LAN_ARB_LOOP:
		len += sprintf(buf+len, "Arbitrated loop\n");
		break;
	case I2O_LAN_PUBLIC_LOOP:
		len += sprintf(buf+len, "Public loop\n");
		break;
	case I2O_LAN_FABRIC:
		len += sprintf(buf+len, "Fabric\n");
		break;
	case I2O_LAN_EMULATION:
		len += sprintf(buf+len, "Emulation\n");
		break;
	case I2O_LAN_OTHER:
		len += sprintf(buf+len, "Other\n");
		break;
	case I2O_LAN_DEFAULT:
		len += sprintf(buf+len, "HW default\n");
		break;
	}

	len += sprintf(buf+len, "Current Tx Wire Speed: " FMT_U64_HEX " bps\n",
		       U64_VAL(&work64[1]));
	len += sprintf(buf+len, "Current Rx Wire Speed: " FMT_U64_HEX " bps\n",
		       U64_VAL(&work64[2]));

	len += sprintf(buf+len, "%s duplex\n", (work8[24]&1)?"Full":"Half");

	len += sprintf(buf+len, "Link status: ");
	if(work8[25] == 0x00)
		len += sprintf(buf+len, "Unknown\n");
	else if(work8[25] == 0x01)
		len += sprintf(buf+len, "Normal\n");
	else if(work8[25] == 0x02)
		len += sprintf(buf+len, "Failure\n");
	else if(work8[25] == 0x03)
		len += sprintf(buf+len, "Reset\n");
	else
		len += sprintf(buf+len, "Unspecified\n");

	if (d->i2oversion == 0x00) { /* Reserved in 1.53 and 2.0 */
		len += sprintf(buf+len, "Bad packets handled by: %s\n",
			       (work8[26] == 0xFF)?"host":"DDM");
	}
	if (d->i2oversion != 0x00) {
		len += sprintf(buf+len, "Duplex mode target: ");
		switch (work8[27]) {
		case 0:
			len += sprintf(buf+len, "Half Duplex\n");
			break;
		case 1:
			len += sprintf(buf+len, "Full Duplex\n");
			break;
		default:
			len += sprintf(buf+len, "\n");
			break;
		}

		len += sprintf(buf+len, "Connector type target: ");
		switch(work32[7])
		{
		case 0x00000000:
			len += sprintf(buf+len, "OTHER\n");
			break;
		case 0x00000001:
			len += sprintf(buf+len, "UNKNOWN\n");
			break;
		case 0x00000002:
			len += sprintf(buf+len, "AUI\n");
			break;
		case 0x00000003:
			len += sprintf(buf+len, "UTP\n");
			break;
		case 0x00000004:
			len += sprintf(buf+len, "BNC\n");
			break;
		case 0x00000005:
			len += sprintf(buf+len, "RJ45\n");
			break;
		case 0x00000006:
			len += sprintf(buf+len, "STP DB9\n");
			break;
		case 0x00000007:
			len += sprintf(buf+len, "FIBER MIC\n");
			break;
		case 0x00000008:
			len += sprintf(buf+len, "APPLE AUI\n");
			break;
		case 0x00000009:
			len += sprintf(buf+len, "MII\n");
			break;
		case 0x0000000A:
			len += sprintf(buf+len, "DB9\n");
			break;
		case 0x0000000B:
			len += sprintf(buf+len, "HSSDC\n");
			break;
		case 0x0000000C:
			len += sprintf(buf+len, "DUPLEX SC FIBER\n");
			break;
		case 0x0000000D:
			len += sprintf(buf+len, "DUPLEX ST FIBER\n");
			break;
		case 0x0000000E:
			len += sprintf(buf+len, "TNC/BNC\n");
			break;
		case 0xFFFFFFFF:
			len += sprintf(buf+len, "HW DEFAULT\n");
			break;
		default:
			len += sprintf(buf+len, "\n");
			break;
		}

		len += sprintf(buf+len, "Connection type target: ");
		switch(work32[8])
		{
		case I2O_LAN_UNKNOWN:
			len += sprintf(buf+len, "UNKNOWN\n");
			break;
		case I2O_LAN_AUI:
			len += sprintf(buf+len, "AUI\n");
			break;
		case I2O_LAN_10BASE5:
			len += sprintf(buf+len, "10BASE5\n");
			break;
		case I2O_LAN_FIORL:
			len += sprintf(buf+len, "FIORL\n");
			break;
		case I2O_LAN_10BASE2:
			len += sprintf(buf+len, "10BASE2\n");
			break;
		case I2O_LAN_10BROAD36:
			len += sprintf(buf+len, "10BROAD36\n");
			break;
		case I2O_LAN_10BASE_T:
			len += sprintf(buf+len, "10BASE-T\n");
			break;
		case I2O_LAN_10BASE_FP:
			len += sprintf(buf+len, "10BASE-FP\n");
			break;
		case I2O_LAN_10BASE_FB:
			len += sprintf(buf+len, "10BASE-FB\n");
			break;
		case I2O_LAN_10BASE_FL:
			len += sprintf(buf+len, "10BASE-FL\n");
			break;
		case I2O_LAN_100BASE_TX:
			len += sprintf(buf+len, "100BASE-TX\n");
			break;
		case I2O_LAN_100BASE_FX:
			len += sprintf(buf+len, "100BASE-FX\n");
			break;
		case I2O_LAN_100BASE_T4:
			len += sprintf(buf+len, "100BASE-T4\n");
			break;
		case I2O_LAN_1000BASE_SX:
			len += sprintf(buf+len, "1000BASE-SX\n");
			break;
		case I2O_LAN_1000BASE_LX:
			len += sprintf(buf+len, "1000BASE-LX\n");
			break;
		case I2O_LAN_1000BASE_CX:
			len += sprintf(buf+len, "1000BASE-CX\n");
			break;
		case I2O_LAN_1000BASE_T:
			len += sprintf(buf+len, "1000BASE-T\n");
			break;
		case I2O_LAN_100VG_ETHERNET:
			len += sprintf(buf+len, "100VG-ETHERNET\n");
			break;
		case I2O_LAN_100VG_TR:
			len += sprintf(buf+len, "100VG-TOKEN RING\n");
			break;
		case I2O_LAN_4MBIT:
			len += sprintf(buf+len, "4MBIT TOKEN RING\n");
			break;
		case I2O_LAN_16MBIT:
			len += sprintf(buf+len, "16 Mb Token Ring\n");
			break;
		case I2O_LAN_125MBAUD:
			len += sprintf(buf+len, "125 MBAUD FDDI\n");
			break;
		case I2O_LAN_POINT_POINT:
			len += sprintf(buf+len, "Point-to-point\n");
			break;
		case I2O_LAN_ARB_LOOP:
			len += sprintf(buf+len, "Arbitrated loop\n");
			break;
		case I2O_LAN_PUBLIC_LOOP:
			len += sprintf(buf+len, "Public loop\n");
			break;
		case I2O_LAN_FABRIC:
			len += sprintf(buf+len, "Fabric\n");
			break;
		case I2O_LAN_EMULATION:
			len += sprintf(buf+len, "Emulation\n");
			break;
		case I2O_LAN_OTHER:
			len += sprintf(buf+len, "Other\n");
			break;
		case I2O_LAN_DEFAULT:
			len += sprintf(buf+len, "HW default\n");
			break;
		default:
			len += sprintf(buf+len, "\n");
			break;
		}
	}
	spin_unlock(&i2o_proc_lock);
	return len;
}

Generated by GNU enscript 1.6.4.