kdatasize.c

来自「linux 设备驱动程序开发 第三版 中文」· C语言 代码 · 共 49 行

C
49
字号
/* * kdatasize.c -- print the size of common data items from kernel space * This runs with any Linux kernel (not any Unix, because of <linux/types.h>) * * Copyright (C) 2001 Alessandro Rubini and Jonathan Corbet * Copyright (C) 2001 O'Reilly & Associates * * The source code in this file can be freely used, adapted, * and redistributed in source or binary form, so long as an * acknowledgment appears in derived source files.  The citation * should list that the code comes from the book "Linux Device * Drivers" by Alessandro Rubini and Jonathan Corbet, published * by O'Reilly & Associates.   No warranty is attached; * we cannot take responsibility for errors or fitness for use. */#include <linux/config.h>#include <linux/module.h>#include <linux/kernel.h>#include <linux/types.h>#include <linux/utsname.h>#include <linux/errno.h>static void data_cleanup(void){	/* never called */}int data_init(void){	/* print information and return an error */	printk("arch   Size:  char  short  int  long   ptr long-long "		" u8 u16 u32 u64\n");	printk("%-12s  %3i   %3i   %3i   %3i   %3i   %3i      "		"%3i %3i %3i %3i\n",		system_utsname.machine,		(int)sizeof(char), (int)sizeof(short), (int)sizeof(int),		(int)sizeof(long),		(int)sizeof(void *), (int)sizeof(long long), (int)sizeof(__u8),		(int)sizeof(__u16), (int)sizeof(__u32), (int)sizeof(__u64));	return -ENODEV;}module_init(data_init);module_exit(data_cleanup);MODULE_LICENSE("Dual BSD/GPL");

⌨️ 快捷键说明

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