社区
C语言
帖子详情
###### 100分求--freebsd下用标准c语言取网卡MAC地址
zydgj
2005-03-24 01:09:06
解决即刻给分
...全文
148
3
打赏
收藏
###### 100分求--freebsd下用标准c语言取网卡MAC地址
解决即刻给分
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
galanz
2005-03-24
打赏
举报
回复
好东西,mark 一下
这里是调用了api函数
子函数都给出来,下面调用就可以饿
zydgj
2005-03-24
打赏
举报
回复
程序不完整啊!!!
xuzheng318
2005-03-24
打赏
举报
回复
#include “stdafx.h"
#include
#include
#include
#include
#include
// 因 为 是 通 过NetAPI 来 获 取 网 卡 信 息,
所 以 需 要 包 含 其 题 头 文 件nb30.h
#include
typedef struct _ASTAT_
{
ADAPTER_STATUS adapt;
NAME_BUFFER NameBuff [30];
}ASTAT, * PASTAT;
ASTAT Adapter;
// 定 义 一 个 存 放 返 回 网 卡 信 息 的 变 量
// 输 入 参 数:lana_num 为 网 卡 编 号,
一 般 地, 从0 开 始, 但 在Windows 2000 中
并 不 一 定 是 连 续 分 配 的
void getmac_one (int lana_num)
{
NCB ncb;
UCHAR uRetCode;
memset( &ncb, 0, sizeof(ncb) );
ncb.ncb_command = NCBRESET;
ncb.ncb_lana_num = lana_num;
// 指 定 网 卡 号
// 首 先 对 选 定 的 网 卡 发 送 一 个
NCBRESET 命 令, 以 便 进 行 初 始 化
uRetCode = Netbios( &ncb );
printf( “The NCBRESET
return code is: 0x %x \n", uRetCode );
memset( &ncb, 0, sizeof(ncb) );
ncb.ncb_command = NCBASTAT;
ncb.ncb_lana_num = lana_num; // 指 定 网 卡 号
strcpy((char *)ncb.ncb_callname,“ * " );
ncb.ncb_buffer = (unsigned char *) &Adapter;
// 指 定 返 回 的 信 息 存 放 的 变 量
ncb.ncb_length = sizeof(Adapter);
// 接 着, 可 以 发 送NCBASTAT 命 令
以 获 取 网 卡 的 信 息
uRetCode = Netbios( &ncb );
printf( “The NCBASTAT return code is:
0x %x \n", uRetCode );
if ( uRetCode == 0 )
{
// 把 网 卡MAC 地 址 格 式 化 成
常 用 的16 进 制 形 式, 如0010 -A4E4 -5802
printf( “The Ethernet Number[ %d] is:
%02X %02X - %02X %02X - %02X %02X\n",
lana_num,
Adapter.adapt.adapter_address[0],
Adapter.adapt.adapter_address[1],
Adapter.adapt.adapter_address[2],
Adapter.adapt.adapter_address[3],
Adapter.adapt.adapter_address[4],
Adapter.adapt.adapter_address[5] );
}
}
int main(int argc, char * argv[])
{
NCB ncb;
UCHAR uRetCode;
LANA_ENUM lana_enum;
memset( &ncb, 0, sizeof(ncb) );
ncb.ncb_command = NCBENUM;
ncb.ncb_buffer = (unsigned char *) &lana_enum;
ncb.ncb_length = sizeof(lana_enum);
// 向 网 卡 发 送NCBENUM 命 令,
以 获 取 当 前 机 器 的 网 卡 信 息,
如 有 多 少 个 网 卡、 每 张 网 卡 的 编 号 等
uRetCode = Netbios( &ncb );
printf( “The NCBENUM return code is:
0x %x \n", uRetCode );
if ( uRetCode == 0 )
{
printf( “Ethernet Count is : %d\n\n", lana_enum.length);
// 对 每 一 张 网 卡, 以 其 网 卡 编 号 为
输 入 编 号, 获 取 其MAC 地 址
spring-boot sigar的使用
sigar是什么 Sigar是Hyperic-hq产品的基础包,是Hyperic HQ主要的数据收集组件。 它用来从许多平台收集系统和处理信息、这些平台包括:Linux, Windows, Solaris, AIX, HP-UX,
FreeBSD
and Mac OSX. Sigar有C,C#,Java和Perl API,java版的API为sigar.jar sigar.jar的底层是用
C语言
编写的,它通过本地方法来调用操作系统API来获
取
系统相关数据。Windows操作系统下Sigar.jar 依赖si
FreeBSD
系统编程[简体中文版]
参考链接: [url=http://bbs.chinaunix.net/viewthread.php?tid=699102&extra=page%3D1]【
FreeBSD
system programming 】中文翻译计划及所有异义提交处 [size=5][align=center]
FreeBSD
系统编程[/align][/size] Copy...
FreeBSD
系统编程【转】
FreeBSD
系统编程 目录 第一章:
FreeBSD
的Make 第二章:BSD自举 第三章:进程和内核服务 第四章:高级进程控制和信号 第五章:基本I/O 第六章:高级I/O 第七章:进程资源和系统限制 第八章:
FreeBSD
5.x [align=center]第一章
FreeBSD
的make[...
linux编程获
取
本机
网卡
信息
转自:https://blog.csdn.net/shaderdx/article/details/78403437 ifaddrs结构体定义如下: struct ifaddrs { struct ifaddrs *ifa_next; /* Next item in list */ char *ifa_name; /* N...
Sigar介绍与使用
Sigar是Hyperic-hq产品的基础包,是Hyperic HQ主要的数据收集组件。它用来从许多平台收集系统和处理信息. 这些平台包括:Linux, Windows, Solaris, AIX, HP-UX,
FreeBSD
and Mac OSX. Sigar有C,C#,Java和Perl API,java版的API为sigar.jar sigar.jar的底层是用
C语言
编写的,它通过本地方法来调用操作系统API来获
取
系统相关数据。 注意:Sigar为不同平台提供了不同的库文件.典型的: wi
C语言
69,369
社区成员
243,082
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章