protocol

uuid_protocol

Universally unique identifier (UUID) generator protocol.

Availability:
logtalk_load(uuid(loader))
Author: Paulo Moura
Version: 0:6:0
Date: 2026-04-08
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),--text) - one

uuid_v3/3

Returns a version 3 UUID for the given namespace UUID and name. Namespace UUIDs and names can be represented as atoms, lists of characters, or lists of character codes. Name character codes must be bytes.

Compilation flags:
static
Template:
uuid_v3(Namespace,Name,UUID)
Mode and number of proofs:
uuid_v3(+text,+text,--text) - one

uuid_v4/1

Returns a version 4 UUID.

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

uuid_v5/3

Returns a version 5 UUID for the given namespace UUID and name. Namespace UUIDs and names can be represented as atoms, lists of characters, or lists of character codes. Name character codes must be bytes.

Compilation flags:
static
Template:
uuid_v5(Namespace,Name,UUID)
Mode and number of proofs:
uuid_v5(+text,+text,--text) - one

uuid_v7/1

Returns a version 7 UUID.

Compilation flags:
static
Template:
uuid_v7(UUID)
Mode and number of proofs:
uuid_v7(--text) - 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(--text) - one

uuid_nil/1

Returns the Nil UUID.

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

uuid_max/1

Returns the Max UUID.

Compilation flags:
static
Template:
uuid_max(UUID)
Mode and number of proofs:
uuid_max(--text) - 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)