Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

phy_mii_ioctl(9) [centos man page]

PHY_MII_IOCTL(9)					      Network device support						  PHY_MII_IOCTL(9)

NAME
phy_mii_ioctl - generic PHY MII ioctl interface SYNOPSIS
int phy_mii_ioctl(struct phy_device * phydev, struct ifreq * ifr, int cmd); ARGUMENTS
phydev the phy_device struct ifr struct ifreq for socket ioctl's cmd ioctl cmd to execute DESCRIPTION
Note that this function is currently incompatible with the PHYCONTROL layer. It changes registers without regard to current state. Use at own risk. COPYRIGHT
Kernel Hackers Manual 3.10 June 2014 PHY_MII_IOCTL(9)

Check Out this Related Man Page

le(7)							 Miscellaneous Information Manual						     le(7)

NAME
le - LeMAC Ethernet interface SYNOPSIS
config_driver le DESCRIPTION
The le interface provides access to a 10 Mb/s Ethernet network through the LeMAC controller. The host's Internet address is specified at boot time with an SIOCSIFADDR ioctl. The le interface employs the address resolution protocol described in arp(7) to map dynamically between Internet and Ethernet addresses on the local network. The SIOCSPHYSADDR ioctl can be used to change the physical address of the LeMAC. The SIOCRPHYSADDR ioctl can be used to read the physical address of the LeMAC. The SIOCADDMULTI and SIOCDELMULTI ioctls can be used to add or delete multicast addresses. The LeMAC recognizes a maximum of 12 multicast addresses. The SIOCRDCTRS and SIOCRDZCTRS ioctls can be used to read or ``read and clear'' the Ethernet driver counters. The argument to these two ioctls is a pointer to a counter structure, ctrreq, found in <net/if.h>. The SIOCENABLBACK and SIOCDISABLBACK ioctls can be used to enable and disable the interface loopback mode respectively. EXAMPLES
To obtain the physical address of the adapter, use the SIOCRPHYSADDR ioctl as in the following program example: #include <stdio.h> /* standard I/O */ #include <errno.h> /* error numbers */ #include <sys/socket.h> /* socket definitions */ #include <sys/ioctl.h> /* ioctls */ #include <net/if.h> /* generic interface structures */ main() { int s,i; struct ifdevea devea; /* Get a socket */ s = socket(AF_INET,SOCK_DGRAM,0); if (s < 0) { perror("socket"); exit(1); } strcpy(devea.ifr_name,"le0"); if (ioctl(s,SIOCRPHYSADDR,&devea) < 0) { perror(&devea.ifr_name[0]); exit(1); } printf("Address is "); for (i = 0; i < 6; i++) printf("%X ", devea.default_pa[i] & 0xff); printf(" "); close(s); } To enable external loopback, use the SIOCENABLEBACK ioctl as in the following program example: #include <stdio.h> /* standard I/O */ #include <errno.h> /* error numbers */ #include <sys/socket.h> /* socket definitions */ #include <sys/ioctl.h> /* ioctls */ #include <net/if.h> /* generic interface structures */ main() { int s; struct ifreq data; /* Get a socket */ s = socket(AF_INET,SOCK_DGRAM,0); if (s < 0) { perror("socket"); exit(1); } strcpy(data.ifr,"le0"); if (ioctl(s,SIOCENABLEBACK,&data) < 0) { perror("SIOCENABLEBACK:"); exit(1); } close(s); } ERRORS
The diagnostic error messages contain relevant information provided by the LeMAC. The interface was handed a message with addresses for- matted in an unsuitable address family, and the packet was dropped. The le driver was unable to allocate memory for internal data struc- tures. The IRQ for the LeMAC is missing from the CMOS configuration data or is incorrect. The IRQ for the LeMAC is missing from the CMOS configuration data or is incorrect. Too many multicast requests have been made. The shared memory block for the LeMAC's local RAM buffer is missing from the CMOS configuration data. The station address PROM on the LeMAC is corrupt or inaccessible. The hardware transmit queue has been overflowed. An attempt was made to delete the Ethernet broadcast address of ff-ff-ff-ff-ff. RELATED INFORMATION
arp(7), inet(7), netintro(7) delim off le(7)
Man Page