⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 kern_info.c

📁 一个基于linux的TCP/IP协议栈的实现
💻 C
字号:
#include <linux/unistd.h>#include <linux/types.h>#include <linux/sysctl.h>#include <stdio.h>_syscall1(int, _sysctl, struct __sysctl_args *, args);int sysctl(int *name, int nlen, void *oldval, size_t *oldlenp,				void *newval, size_t newlen){	struct __sysctl_args args={name,nlen,oldval,oldlenp,newval,newlen};	return _sysctl(&args);}#define SIZE(x) sizeof(x)/sizeof(x[0])#define OSNAMESZ 100#define OSRELEASESZ 256char osname[OSNAMESZ];char osrelease[OSRELEASESZ];int osnamelth;int name[] = { CTL_KERN, KERN_OSTYPE };int osreleaseth;int release[] = { CTL_KERN, KERN_OSRELEASE };main(){	osnamelth = sizeof(osname);	if (sysctl(name, SIZE(name), osname, &osnamelth, 0, 0)){		perror("sysctl");		return -1;	}	osreleaseth = sizeof(osrelease);	if(sysctl(release, SIZE(release), osrelease, &osreleaseth, 0, 0)){		perror("sysctl");		return -1;	}			printf("This machine is running %s %s\n", osname, osrelease);	return 0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -