OS版本:openEuler 22.03 LTS
架构:x86_64
描述:调用内核uuid_gen函数生成uuid并打印。
// uuid_test.c
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/uuid.h>
static int __init uuid_test_init(void)
{
uuid_t uuid;
uuid_gen(&uuid);
printk(KERN_INFO "my uuid = %02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-"
"%02x%02x%02x%02x%02x%02x\n",
uuid.b[0], uuid.b[1], uuid.b[2], uuid.b[3], uuid.b[4], uuid.b[5], uuid.b[6], uuid.b[7],
uuid.b[8], uuid.b[9], uuid.b[10], uuid.b[11], uuid.b[12], uuid.b[13], uuid.b[14], uuid.b[15]);
return 0;
}
static void __exit uuid_test_exit(void)
{
return;
}
module_init(uuid_test_init);
module_exit(uuid_test_exit);
MODULE_LICENSE("GPL");
Makefile
obj-m+=uuid_test.o
CONFIG_MODULE_SIG=n
all:
make -C /lib/modules/$(shell uname -r)/build/ M=$(PWD) modules
clean:
make -C /lib/modules/$(shell uname -r)/build/ M=$(PWD) clean
输出结果