📄 uuid.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 + -