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

📄 uuid.c

📁 busybox最新版的源码:学习和应用的好东东,多的不说了,大家看后再说吧
💻 C
字号:
/* vi: set sw=4 ts=4: *//* * uuid.c -- utility routines for manipulating UUID's. */#include <stdio.h>#include <string.h>#include "../ext2fs/ext2_types.h"#include "e2p.h"struct uuid {	__u32	time_low;	__u16	time_mid;	__u16	time_hi_and_version;	__u16	clock_seq;	__u8	node[6];};/* Returns 1 if the uuid is the NULL uuid */int e2p_is_null_uuid(void *uu){	__u8	*cp;	int	i;	for (i=0, cp = uu; i < 16; i++)		if (*cp)			return 0;	return 1;}static void e2p_unpack_uuid(void *in, struct uuid *uu){	__u8	*ptr = in;	__u32	tmp;	tmp = *ptr++;	tmp = (tmp << 8) | *ptr++;	tmp = (tmp << 8) | *ptr++;	tmp = (tmp << 8) | *ptr++;	uu->time_low = tmp;	tmp = *ptr++;	tmp = (tmp << 8) | *ptr++;	uu->time_mid = tmp;	tmp = *ptr++;	tmp = (tmp << 8) | *ptr++;	uu->time_hi_and_version = tmp;	tmp = *ptr++;	tmp = (tmp << 8) | *ptr++;	uu->clock_seq = tmp;	memcpy(uu->node, ptr, 6);}void e2p_uuid_to_str(void *uu, char *out){	struct uuid uuid;	e2p_unpack_uuid(uu, &uuid);	sprintf(out,		"%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x",		uuid.time_low, uuid.time_mid, uuid.time_hi_and_version,		uuid.clock_seq >> 8, uuid.clock_seq & 0xFF,		uuid.node[0], uuid.node[1], uuid.node[2],		uuid.node[3], uuid.node[4], uuid.node[5]);}const char *e2p_uuid2str(void *uu){	static char buf[80];	if (e2p_is_null_uuid(uu))		return "<none>";	e2p_uuid_to_str(uu, buf);	return buf;}

⌨️ 快捷键说明

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