|
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. |