protocol

uuid_protocol

Universally unique identifier (UUID) generator protocol.

Availability:
logtalk_load(uuid(loader))
Author: Paulo Moura
Version: 0:5:0
Date: 2026-02-04
Compilation flags:
static
Dependencies:
(none)
Remarks:
(none)
Inherited public predicates:
(none)

Public predicates

uuid_v1/2

Returns a version 1 UUID for the given MAC address (a list of six bytes). The MAC address can be replaced by a random 6 bytes node identifier as per RFC 4122 when the MAC address is not available or should not be disclosed.

Compilation flags:
static
Template:
uuid_v1(MAC,UUID)
Mode and number of proofs:
uuid_v1(+list(byte),--ground) - one

uuid_v4/1

Returns a version 4 UUID.

Compilation flags:
static
Template:
uuid_v4(UUID)
Mode and number of proofs:
uuid_v4(--ground) - one

uuid_v7/1

Returns a version 7 UUID.

Compilation flags:
static
Template:
uuid_v7(UUID)
Mode and number of proofs:
uuid_v7(--ground) - one

uuid_null/1

Returns the null UUID. Deprecated. Use uuid_nil/1 instead.

Compilation flags:
static
Template:
uuid_null(UUID)
Mode and number of proofs:
uuid_null(--ground) - one

uuid_nil/1

Returns the Nil UUID.

Compilation flags:
static
Template:
uuid_nil(UUID)
Mode and number of proofs:
uuid_nil(--ground) - one

uuid_max/1

Returns the Max UUID.

Compilation flags:
static
Template:
uuid_max(UUID)
Mode and number of proofs:
uuid_max(--ground) - one

random_node/1

Generates a list with six random bytes that can be used in alternative to a MAC address when generating version 1 UUIDs.

Compilation flags:
static
Template:
random_node(Node)
Mode and number of proofs:
random_node(--list(byte)) - one

Protected predicates

(none)

Private predicates

(none)

Operators

(none)