IoTivity-Lite
|
Generate and work with UUIDs as specified in RFC 4122. More...
#include "oc_export.h"
#include "util/oc_compiler.h"
#include "util/oc_features.h"
#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
Macros | |
#define | OC_UUID_ID_SIZE (16) |
Size of the integer array representation of a UUID. More... | |
#define | OC_UUID_LEN (37) |
The length of a UUID string. More... | |
Functions | |
void | oc_gen_uuid (oc_uuid_t *uuid) |
Generate a random Universally Unique IDentifier (UUID) More... | |
void | oc_str_to_uuid (const char *str, oc_uuid_t *uuid) |
Convert a UUID string representation to a 128-bit oc_uuid_t. More... | |
int | oc_str_to_uuid_v1 (const char *str, size_t str_len, oc_uuid_t *uuid) |
Convert a UUID string representation to a 128-bit oc_uuid_t. More... | |
bool | oc_uuid_is_empty (oc_uuid_t uuid) |
Check if the uuid is empty. More... | |
bool | oc_uuid_is_equal (oc_uuid_t first, oc_uuid_t second) |
Compare two uuid values. More... | |
void | oc_uuid_to_str (const oc_uuid_t *uuid, char *buffer, size_t buflen) |
Convert the 128 bit oc_uuid_t to a string representation. More... | |
int | oc_uuid_to_str_v1 (const oc_uuid_t *uuid, char *buffer, size_t buflen) |
Convert the 128 bit oc_uuid_t to a string representation. More... | |
Generate and work with UUIDs as specified in RFC 4122.
This module implements the generation of version-4 UUIDs based on its specification in RFC 4122, along with routines to convert between their string and binary representations.
#define OC_UUID_ID_SIZE (16) |
Size of the integer array representation of a UUID.
#define OC_UUID_LEN (37) |
The length of a UUID string.
This is the length of UUID string as specified by RFC 4122.
void oc_gen_uuid | ( | oc_uuid_t * | uuid | ) |
Generate a random Universally Unique IDentifier (UUID)
This will return a 128 bit version 4 UUID as specified by RFC 4122.
Version 4 UUID is created using random or pseudo-random numbers
Example
[out] | uuid | the randomly generated UUID |
void oc_str_to_uuid | ( | const char * | str, |
oc_uuid_t * | uuid | ||
) |
Convert a UUID string representation to a 128-bit oc_uuid_t.
str
is '*' then the first byte of the oc_uuid_t will be set to '*' (0x2A) and the other bytes will be set to zero.Example
str | the UUID string | |
[out] | uuid | the oc_uuid_t to hold the UUID bits (cannot be NULL). |
int oc_str_to_uuid_v1 | ( | const char * | str, |
size_t | str_len, | ||
oc_uuid_t * | uuid | ||
) |
Convert a UUID string representation to a 128-bit oc_uuid_t.
str | the UUID string (cannot be NULL) | |
str_len | the length of the UUID string | |
[out] | uuid | the oc_uuid_t to hold the UUID bits. |
bool oc_uuid_is_empty | ( | oc_uuid_t | uuid | ) |
Check if the uuid is empty.
An empty uuid is one that has all its bytes set to zero.
uuid | A uuid to be checked |
bool oc_uuid_is_equal | ( | oc_uuid_t | first, |
oc_uuid_t | second | ||
) |
Compare two uuid values.
first | A uuid value (cannot be NULL) |
second | A uuid value (cannot be NULL) |
void oc_uuid_to_str | ( | const oc_uuid_t * | uuid, |
char * | buffer, | ||
size_t | buflen | ||
) |
Convert the 128 bit oc_uuid_t to a string representation.
int oc_uuid_to_str_v1 | ( | const oc_uuid_t * | uuid, |
char * | buffer, | ||
size_t | buflen | ||
) |
Convert the 128 bit oc_uuid_t to a string representation.
The string representation of the UUID will be as specified in RFC 4122.
Example
uuid | A oc_uuid_t to convert to a string (cannot be NULL) | |
[out] | buffer | A char array that will hold the string representation of the UUID (cannot be NULL) |
buflen | The size of the input buffer. It is recommended to always use OC_UUID_LEN for buflen. |