forked from Bananymous/banan-os
Kernel: Add support for SIOCGIFNAME ioctl
This commit is contained in:
parent
a231f8587e
commit
c02de2580d
|
@ -95,6 +95,14 @@ namespace Kernel
|
|||
memcpy(ifreq->ifr_ifru.ifru_hwaddr.sa_data, &mac_address, sizeof(mac_address));
|
||||
return 0;
|
||||
}
|
||||
case SIOCGIFNAME:
|
||||
{
|
||||
auto& ifrn_name = ifreq->ifr_ifrn.ifrn_name;
|
||||
ASSERT(m_interface->name().size() < sizeof(ifrn_name));
|
||||
memcpy(ifrn_name, m_interface->name().data(), m_interface->name().size());
|
||||
ifrn_name[m_interface->name().size()] = '\0';
|
||||
return 0;
|
||||
}
|
||||
default:
|
||||
return BAN::Error::from_errno(EINVAL);
|
||||
}
|
||||
|
|
|
@ -19,6 +19,10 @@ struct if_nameindex
|
|||
|
||||
struct ifreq
|
||||
{
|
||||
union {
|
||||
char ifrn_name[IF_NAMESIZE];
|
||||
} ifr_ifrn;
|
||||
|
||||
union {
|
||||
struct sockaddr ifru_addr;
|
||||
struct sockaddr ifru_netmask;
|
||||
|
@ -35,6 +39,7 @@ struct ifreq
|
|||
#define SIOCGIFGWADDR 5 /* Get gateway address */
|
||||
#define SIOCSIFGWADDR 6 /* Set gateway address */
|
||||
#define SIOCGIFHWADDR 7 /* Get hardware address */
|
||||
#define SIOCGIFNAME 8 /* Get interface name */
|
||||
|
||||
void if_freenameindex(struct if_nameindex* ptr);
|
||||
char* if_indextoname(unsigned ifindex, char* ifname);
|
||||
|
|
Loading…
Reference in New Issue