diff options
Diffstat (limited to 'components/net/netdev')
| -rw-r--r-- | components/net/netdev/include/netdev.h | 1 | ||||
| -rw-r--r-- | components/net/netdev/src/netdev.c | 14 |
2 files changed, 15 insertions, 0 deletions
diff --git a/components/net/netdev/include/netdev.h b/components/net/netdev/include/netdev.h index e9d8e38658..0be2a2bda3 100644 --- a/components/net/netdev/include/netdev.h +++ b/components/net/netdev/include/netdev.h @@ -138,6 +138,7 @@ struct netdev *netdev_get_by_ipaddr(ip_addr_t *ip_addr); struct netdev *netdev_get_by_name(const char *name); #ifdef RT_USING_SAL struct netdev *netdev_get_by_family(int family); +int netdev_family_get(struct netdev *netdev); #endif /* RT_USING_SAL */ /* Set default network interface device in list */ diff --git a/components/net/netdev/src/netdev.c b/components/net/netdev/src/netdev.c index 71b1ec7ccd..5f49a46f17 100644 --- a/components/net/netdev/src/netdev.c +++ b/components/net/netdev/src/netdev.c @@ -294,6 +294,20 @@ struct netdev *netdev_get_by_family(int family) return RT_NULL; } +/** + * This function will get the family type from network interface device + * + * @param netdev network interface device object + * + * @return the network interface device family type + */ +int netdev_family_get(struct netdev *netdev) +{ + RT_ASSERT(netdev); + + return ((struct sal_proto_family *)netdev->sal_user_data)->family; +} + #endif /* RT_USING_SAL */ /** |
