(1)libnl下载地址http://www.infradead.org/~tgr/libnl/
(2)将下载的代码进行编译后,在.lib/.libs下生成如下的静态库
   libnl-3.a  libnl-genl-3.a  libnl-idiag-3.a  libnl-nf-3.a  libnl-route-3.a  libnl-xfrm-3.a
(3)新建测试文件te.c代码如下:

#include <stdio.h>
#include <stdlib.h>
#include <netlink/genl/genl.h>
#include <netlink/netlink.h>
#include <errno.h>int main(int argc,char *argv[])
{int err;struct nl_sock *nlsock;int famid;nlsock = nl_socket_alloc();if(NULL == nlsock){printf("socket error\n");return -1;}err = genl_connect(nlsock);if(err != 0){printf("netlink connect error\n");goto out;}//"testnet"为某个family namefamid = genl_ctrl_resolve(nlsock,"testnet");if(famid <= 0)printf("Not found fam id by this name[%s]\n","testnet");elseprintf("famid= %d\n",famid);
out:nl_socket_free(nlsock);return 0;
}

(4)编译gcc te.c  -pthread -lm ./libnl-3.a ./libnl-genl-3.a -I./include  -o  te

//创建一个netlink socket
struct nl_sock *nl_socket_alloc(void)

//释放一个netlink socket
void nl_socket_free(struct nl_sock *sk)

//连接一个通用netlink socket
int genl_connect(struct nl_sock *sk) 
 
//根据通用netlink family名获得family id
//通过调用genl_ctrl_probe_by_name向内核发送CTRL_CMD_GETFAMILY命令
int genl_ctrl_resolve(struct nl_sock *sk, const char *name)

libnl的基本使用(根据通用netlink family name获得通用netlink family id)相关推荐

  1. 【Redis】6.Redis key通用指令以及数据库的通用操作

    key通用指令 key特征 key是一个字符串,通过key获取redis中保存的数据 key应该设计那些操作? 对于key自身状态的相关操作,例如:删除,判定存在,获取类型等 对于key有效性控制相关 ...

  2. 通用返回_Springboot项目整合通用mapper

    1.简介 什么是通用mapper 什么是通用mapper,用一句话概括就是,它就是一个辅助mybatis开发的组件,它不是替代mybatis,而是使mybatis更方便的开发.通用mapper提供极其 ...

  3. Axure高保真移动端电商app通用模板、axure高保真移动端教育app通用模板、旅游app通用模板、电商app、教育app、旅游app 、直播、在线教育、旅游、Axure原型、rp原型

    Axure高保真移动端电商app通用模板.axure高保真移动端教育app通用模板.旅游app通用模板.电商app.教育app.旅游app .直播.在线教育.旅游.Axure原型.rp原型 Axure ...

  4. 一个通用中间组件,简单通用的适配 ViewPager,以及 pager 中的 RecycleView 简化复杂的操作,简单直接。

    EasyTabPager 项目地址:ccj659/EasyTabPager  简介:一个通用中间组件,简单通用的适配 ViewPager,以及 pager 中的 RecycleView 简化复杂的操作 ...

  5. 表单验证-通用表单验证大全/通用表单验证函数收集

    表单验证-通用表单验证大全/通用表单验证函数收集_Web设计论坛 文章来源:IT人才网(http://www.ad0.cn) Javascript表单验证函数大全: 复制内容到剪贴板代码: <s ...

  6. 【爬虫学习笔记day03】1.1. (了解)通用爬虫和聚焦爬虫+通用搜索引擎(Search Engine)工作原理+聚焦爬虫

    文章目录 1.1. (了解)通用爬虫和聚焦爬虫 通用爬虫和聚焦爬虫 通用爬虫 通用搜索引擎(Search Engine)工作原理 第一步:抓取网页 搜索引擎如何获取一个新网站的URL: 1. 新网站向 ...

  7. 阿里云服务器ECS通用型g5和ECS通用型g6实例区别在哪?如何选择?

    阿里云服务器ECS通用型g5和ECS通用型g6是阿里云的常用服务器实例.同属于最新一代(第六代)云服务器,采用了处理器:2.5 GHz主频的Intel ® Xeon ® Platinum 8163(S ...

  8. java通用象棋游戏_在通用国际象棋界面周围模拟GraphQL包装器

    java通用象棋游戏 The Universal Chess Interface (UCI) has been around a long time and used by many chess en ...

  9. mysql通用分页_MySQL海量数据的通用存储过程分页代码

    本节主要内容: MySQL海量数据的通用存储过程分页代码 本节为大家分享一例mysql 通用存储过程分页.海量数据分页的代码. 1,测试用的表结构: 复制代码 代码示例: CREATE TABLE I ...

最新文章

  1. 巧用CSS的Light滤镜
  2. SQL Server 2005/2008 用户数据库文件默认路径和默认备份路径修改方法
  3. 查看存储过程死锁的存储过程
  4. 【NCEPU】凌亮:Linux实践
  5. 一文读懂深度学习中的各种卷积
  6. php代码格式化工具 php-cs-fixer的使用
  7. 薄如冈本,37°恒温发热超薄保暖内衣,既要风度也要温度
  8. 《C++ Primer》7.3.1节练习
  9. mysql binary blob区别_SQL中binary 和 varbinary的区别 blob
  10. 解决T400死机的问题!
  11. java coherence_Coherence配置默认覆盖路径
  12. oracle新建对象 权限管理
  13. 1.7_heap_sort_堆的向下调整堆排序
  14. 【求助】Android开发中的数据持久化
  15. 多层RNN的定义与理解
  16. 趣图图解 SOLID 软件开发原则
  17. 力扣-1880(243 周赛) 检查某单词是否等于两单词之和
  18. 现在大火的Web3是什么 web1 web2
  19. luis soares mysql,mysql访问报错如下
  20. IPD解读——IPD流程

热门文章

  1. 3000字详解,“会裂变”的小程序产品设计案例
  2. SpiderFoot(信息收集)
  3. java 语言程序设计 李尊朝 第11章 图形用户界面设计
  4. HTML页面的自动刷新以及跳转
  5. node ref char*_复杂腕表之最江诗丹顿Ref.57260
  6. 集团财务分析BI项目中的财务系统环境
  7. 找到个学习用友的论坛
  8. 你好Python!再见Excel?
  9. 项目定义软件过程(PDSP:Project's Defined Software Process)1
  10. python发微信提醒天气冷了注意保暖_给客户发天气变冷注意保暖短信 提醒客户注意保暖的温馨句子...