uuid.c

来自「IEEE 802.11a/b/g 服务器端AP」· C语言 代码 · 共 68 行

C
68
字号
/* * Universally Unique IDentifier (UUID) * Copyright (c) 2008, Jouni Malinen <j@w1.fi> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. * * Alternatively, this software may be distributed under the terms of BSD * license. * * See README and COPYING for more details. */#include "includes.h"#include "common.h"#include "uuid.h"int uuid_str2bin(const char *str, u8 *bin){	const char *pos;	u8 *opos;	pos = str;	opos = bin;	if (hexstr2bin(pos, opos, 4))		return -1;	pos += 8;	opos += 4;	if (*pos++ != '-' || hexstr2bin(pos, opos, 2))		return -1;	pos += 4;	opos += 2;	if (*pos++ != '-' || hexstr2bin(pos, opos, 2))		return -1;	pos += 4;	opos += 2;	if (*pos++ != '-' || hexstr2bin(pos, opos, 2))		return -1;	pos += 4;	opos += 2;	if (*pos++ != '-' || hexstr2bin(pos, opos, 6))		return -1;	return 0;}int uuid_bin2str(const u8 *bin, char *str, size_t max_len){	int len;	len = os_snprintf(str, max_len, "%02x%02x%02x%02x-%02x%02x-%02x%02x-"			  "%02x%02x-%02x%02x%02x%02x%02x%02x",			  bin[0], bin[1], bin[2], bin[3],			  bin[4], bin[5], bin[6], bin[7],			  bin[8], bin[9], bin[10], bin[11],			  bin[12], bin[13], bin[14], bin[15]);	if (len < 0 || (size_t) len >= max_len)		return -1;	return 0;}

⌨️ 快捷键说明

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