Ejemplo n.º 1
0
Archivo: util.c Proyecto: 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;
}
Ejemplo n.º 2
0
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;
}