示例#1
0
文件: util.c 项目: fbbs/fbbs
/**
 * Get an positive int from /dev/urandom.
 * @return A random integer.
 */
int urandom_pos_int(void)
{
	int i;
	read_urandom(&i, sizeof(i));
	if (i < 0)
		return -i;
	return i;
}
示例#2
0
文件: uuid.c 项目: ystk/debian-lvm2
int id_create(struct id *id)
{
	unsigned i;
	size_t len = sizeof(id->uuid);

	memset(id->uuid, 0, len);
	if (!read_urandom(&id->uuid, len)) {
		return 0;
	}

	/*
	 * Skip out the last 2 chars in randomized creation for LVM1
	 * backwards compatibility.
	 */
	for (i = 0; i < len; i++)
		id->uuid[i] = _c[id->uuid[i] % (sizeof(_c) - 3)];

	return 1;
}