if_indextoname(unsigned ifindex, char *ifname)

本文详细介绍了if_indextoname函数的功能及使用方法。该函数用于将接口索引映射到对应的接口名称,并返回指向缓冲区的指针,其中包含指定索引的接口名称。如果索引有效,则返回相应的接口名称;否则返回NULL指针并设置错误代码。

if_indextoname(unsigned ifindex, char *ifname)

DESCRIPTION

  The if_indextoname() function shall map an interface index to its corresponding name.

  When this function is called, ifname shall point to a buffer of at least {IF_NAMESIZE} bytes. The function shall place in this buffer the name of the interface with index ifindex.

  RETURN VALUE

  If ifindex is an interface index, then the function shall return the value supplied in ifname, which points to a buffer now containing the interface name. Otherwise, the function shall

  return a NULL pointer and set errno to indicate the error.

 

ERRORS

  The if_indextoname() function shall fail if:

  ENXIO The interface does not exist.

查看文档这句是这么写的帮我分析一下是什么原因引起的 hc separate apis common.h/c #if defined(CONFIG_TP_HYFI_HAHC_SWITCH_SUPPORT) bool apsd_check_link_state_v2(enum interface_type type); void apsd_reset_link_state_all(); void apsd_set_link_state_changed(bool is_changed); bool apsd_get_link_state_changed(); void apsd_set_5G_newly_connected(bool is_newly_connected); bool apsd_get_5G_newly_connected(); bool apsd_check_hc_entry_valid(struct __hctbl_entry *hc); bool apsd_set_hc_entry(const char *brname, const u_int8_t *src_mac, const u_int8_t *id, const char *src_ifname, const char *dst_ifname); bool apsd_get_hyfi_bridge_hc_table(const char *brname, void **table, u_int32_t *entry_num); bool apsd_set_hc_preferred(struct bridge_context *b, const char *ifname); bool apsd_delete_hc_entry(const char *brname, u_int8_t *mac); bool apsd_set_hc_preferred_and_flush_hc_table(struct bridge_context *b, const char *ifname); #endif 以上除了apsd_check_link_state_v2()都是相对独立的实现。 wlan_platform_api.h #if defined(CONFIG_TP_HYFI_HAHC_SWITCH_SUPPORT) /* cannot include both net/if.h and linux/if.h due to conflicts extern functions from net/if.h here instead */ extern unsigned int if_nametoindex (__const char *__ifname) __THROW; extern char *if_indextoname(unsigned int ifindex, char *ifname); int wlan_get_type_by_ifindex(u_int32_t index); int wlan_get_type_by_ifname(const char *name); int wlan_get_subunit_by_ifname(const char *name); int wlan_get_wdsport_by_stamac(const char *ifname, u_int8_t *mac); bool wlan_check_wds_by_ifname(const char *name); unsigned int wlan_get_links_v2(const char *ifname, struct link_info *links); unsigned int wlan_get_sta_links(const char *ifname, struct link_info *links, int size); bool wlan_get_link_counters(const char *ifname, struct link_counters *lc); void wlan_restart_link(const char *ifname); void wlan_reset_util_record(int type); void wlan_reset_trinfo(int type); #endif wlan_get_links_v2()已基于ha ioctl实现进行适配。 需要注意的是ha/hc同名api是否有实现上的差异。在后文wlan_platform_api章节单独分析。
11-29
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值