当前位置: 首页 > news >正文

南充网站建设略奥科技制作网站南京

南充网站建设略奥科技,制作网站南京,可做分析图的地图网站,wordpress图像缩放插件以下源实现为遍历MAC苹果电脑系统上配置的所有IP路由表配置,回调 predicate 过滤函数只在 AF_INET(IPV4)的时候跳出,其它时不处理,人们可以根据自己的需求改动。 无需依赖MAC OS框架库提供的函数,最小依赖才有可能更容易移植代码到…

 以下源实现为遍历MAC苹果电脑系统上配置的所有IP路由表配置,回调 predicate 过滤函数只在 AF_INET(IPV4)的时候跳出,其它时不处理,人们可以根据自己的需求改动。

无需依赖MAC OS框架库提供的函数,最小依赖才有可能更容易移植代码到 Apple Inc. 其它操作系统平台上面,另外是 MAC OS 平台依赖不容易受高版本限制。

        static int FetchAllRouteNtreeStuff(const ppp::function<bool(int interface_index, uint32_t ip, uint32_t gw, uint32_t mask)>& predicate) noexcept /* sysctlbyname("net.route.0.0.dump", buf, &len, NULL, 0) */{if (NULL == predicate){return -1;}int mib[] = { CTL_NET, PF_ROUTE, 0, AF_INET, NET_RT_FLAGS, RTF_GATEWAY };size_t needed = 0;if (sysctl(mib, arraysizeof(mib), NULL, &needed, NULL, 0) < 0){return -1;}std::shared_ptr<Byte> buffer_managed = ppp::make_shared_alloc<Byte>(needed);if (NULL == buffer_managed){return -1;}char* buffer = (char*)buffer_managed.get();if (sysctl(mib, arraysizeof(mib), buffer, &needed, NULL, 0) < 0){return -1;}struct rt_msghdr* rtm = NULL;char* buffer_needed = buffer + needed;for (char* i = buffer; i < buffer_needed; i += rtm->rtm_msglen){rtm = (struct rt_msghdr*)(i); /* RTAX_NETMASK */if (rtm->rtm_type != RTM_GET){continue;}/* inet_ntop(AF_INET, &sa->sin_addr.s_addr, line, sizeof(line) - 1); */if (!(rtm->rtm_flags & RTF_UP)){continue;}/* MAXHOSTNAMELEN; */if (!(rtm->rtm_flags & RTF_GATEWAY)){continue;}struct sockaddr* sa_tab[RTAX_MAX];if (struct sockaddr* sa = (struct sockaddr*)(rtm + 1); NULL != sa){for (int j = 0; j < RTAX_MAX; j++){if (rtm->rtm_addrs & (1 << j)){sa_tab[j] = sa;sa = (struct sockaddr*)((char*)sa + ROUNDUP(sa->sa_len));}else{sa_tab[j] = NULL;}}}uint32_t ip = IPEndPoint::AnyAddress;uint32_t gw = IPEndPoint::AnyAddress;uint32_t mask = IPEndPoint::AnyAddress;if (rtm->rtm_addrs & (1 << RTAX_DST)){struct sockaddr_in* sa = (struct sockaddr_in*)(sa_tab[RTAX_DST]);if (sa->sin_family != AF_INET){continue;}ip = sa->sin_addr.s_addr;}if (rtm->rtm_addrs & (1 << RTAX_GATEWAY)){struct sockaddr_in* sa = (struct sockaddr_in*)(sa_tab[RTAX_GATEWAY]);if (sa->sin_family != AF_INET){continue;}gw = sa->sin_addr.s_addr;}if (rtm->rtm_addrs & (1 << RTAX_NETMASK)){struct sockaddr_in* sa = (struct sockaddr_in*)(sa_tab[RTAX_NETMASK]);mask = sa->sin_addr.s_addr;}if (predicate(rtm->rtm_index, ip, gw, mask)){break;}}return 0;}

http://www.yayakq.cn/news/745389/

相关文章:

  • 怎么通过互联网做一个服务的网站seo在线优化网站
  • 网站建设需求调研计划表wordpress get_posts
  • 重庆微信网站建设报价表江西加油app下载官网
  • 微信公众号端网站开发郑州短视频拍摄制作
  • 网站建设空标记定制车需要多少钱
  • 百度网盟 网站定向投放做网站买个域名多少钱
  • 房地网站制作怎样创建个人销售网站
  • 2023年二建报名网站官网登录珠海企业建站
  • 建设 静态网站淘客网站怎么做百度
  • 海原电商网站建设国外建筑设计网站推荐
  • 网站如何建设手机版网站抓取qq
  • 手机网站设计资讯自己做网站卖二手车
  • flash制作网站的好处欢迎页网页设计作品欣赏
  • 网站类的知识学计算机
  • 网站建设市场调查报告阿里云 wordpress 建站
  • 兼职网站建设推广人才数据查询插件 wordpress
  • wordpress 影视兰州seo
  • 网站开发用什么软件编程微信公众平台如何与wordpress对接实现自动回复功能
  • 网站优化外链皖icp阜阳网站建设
  • 太原网站优化公司wordpress拖动实现
  • 网络销售怎么做自己的网站品牌网站建设推荐大蝌蚪
  • 便捷网站建设哪家便宜网站建设外包需要多少钱
  • 住房和城乡建设厅网站青海省如何做网站流量分析报表
  • 专业制作网站 地摊网站后台管理的超级链接怎么做
  • 网站开发模板图片手机app开发制作报价
  • 搭建网站需要备案吗区域网站设计
  • 济南网站建设搜点网络北京网站优化 卓立海创
  • 酒店网站建设方案结束语营销型网站建设风格设定
  • 手机移动端网站怎么做seo修改新wordpress密码
  • 网站怎么做才有效果纯代码为WordPress添加