Преобразование форматов представления идентификаторов UUID, GUID (uuid.h, guid.h, uuid_common.h)
API определены в следующих заголовочных файлах из состава KasperskyOS SDK:
sysroot-*-kos/include/kos/uuid.h;
sysroot-*-kos/include/kos/guid.h;
sysroot-*-kos/include/kos/uuid_common.h.
API uuid.h и guid.h позволяют преобразовывать формат представления идентификаторов UUID (об UUID см. RFC 4122) и GUID (реализации UUID от компании Microsoft) соответственно. UUID и GUID может быть представлен как байтовый массив, форматированная строка (пример: 2638179e-9732-4247-aa42-bd86ecc7bde0) или структура. Функции API uuid.h и guid.h выполняют конвертирование между эти форматами. Как UUID, так и GUID представляет собой 16-байтовый идентификатор, состоящий из пяти сегментов. Отличие между UUID и GUID состоит в том, что в UUID содержимое всех сегментов размещается в памяти как big-endian, а в GUID содержимое первых трех сегментов размещается в памяти как little-endian, и только содержимое последних двух сегментов размещается в памяти как big-endian.
API uuid_common.h содержит дополнительные макросы и функцию. Функция позволяет проверить корректность форматированной строки с данными UUID или GUID, а макросы можно применять при выполнении форматированного вывода UUID или GUID с использованием функций семейства printf.
Сведения о функциях и макросах API приведены в таблицах ниже.
Функции uuid.h
Функция
Сведения о функции
UuidStructToRaw()
Назначение
Копирует данные UUID из структуры в байтовый массив.
Параметры
[in] uuid – указатель на структуру с данными UUID. Тип структуры определен в заголовочном файле sysroot-*-kos/include/kos/uuid_common.h из состава KasperskyOS SDK.
[out] uuidRaw – идентификатор байтового массива с данными UUID. Тип параметра определен в заголовочном файле sysroot-*-kos/include/kos/uuid_common.h из состава KasperskyOS SDK.
Возвращаемые значения
Нет.
UuidRawToStruct()
Назначение
Копирует данные UUID из байтового массива в структуру.
Параметры
[in] uuidRaw – идентификатор байтового массива c данными UUID. Тип параметра определен в заголовочном файле sysroot-*-kos/include/kos/uuid_common.h из состава KasperskyOS SDK.
[out] uuid – указатель на структуру с данными UUID. Тип структуры определен в заголовочном файле sysroot-*-kos/include/kos/uuid_common.h из состава KasperskyOS SDK.
Возвращаемые значения
Нет.
UuidStringToRaw()
Назначение
Копирует данные UUID из форматированной строки в байтовый массив.
Параметры
[in] uuidStr – указатель на форматированную строку c данными UUID.
[out] uuidRaw – идентификатор байтового массива с данными UUID. Тип параметра определен в заголовочном файле sysroot-*-kos/include/kos/uuid_common.h из состава KasperskyOS SDK.
Возвращаемые значения
В случае успеха возвращает rcOk, иначе возвращает код ошибки.
Если форматированная строка с данными UUID некорректна (имеет несоответствующий размер, неправильное расположение дефисов или недопустимые символы), возвращает rcInvalidArgument.
UuidRawToString()
Назначение
Копирует данные UUID из байтового массива в форматированную строку.
Параметры
[in] uuidRaw – идентификатор байтового массива с данными UUID. Тип параметра определен в заголовочном файле sysroot-*-kos/include/kos/uuid_common.h из состава KasperskyOS SDK.
[out] uuidStr – указатель на форматированную строку c данными UUID. Размер строки (в байтах) с учетом терминирующего нуля соответствует значению константы UUID_STR_SIZE, определенной в заголовочном файле sysroot-*-kos/include/kos/uuid_common.h из состава KasperskyOS SDK.
Возвращаемые значения
Нет.
UuidStringToStruct()
Назначение
Копирует данные UUID из форматированной строки в структуру.
Параметры
[in] uuidStr – указатель на форматированную строку c данными UUID.
[out] uuid – указатель на структуру с данными UUID. Тип структуры определен в заголовочном файле sysroot-*-kos/include/kos/uuid_common.h из состава KasperskyOS SDK.
Возвращаемые значения
В случае успеха возвращает rcOk, иначе возвращает код ошибки.
Если форматированная строка с данными UUID некорректна (имеет несоответствующий размер, неправильное расположение дефисов или недопустимые символы), возвращает rcInvalidArgument.
UuidStructToString()
Назначение
Копирует данные UUID из структуры в форматированную строку.
Параметры
[in] uuid – указатель на структуру с данными UUID. Тип структуры определен в заголовочном файле sysroot-*-kos/include/kos/uuid_common.h из состава KasperskyOS SDK.
[out] uuidStr – указатель на форматированную строку c данными UUID. Размер строки (в байтах) с учетом терминирующего нуля соответствует значению константы UUID_STR_SIZE, определенной в заголовочном файле sysroot-*-kos/include/kos/uuid_common.h из состава KasperskyOS SDK.
Возвращаемые значения
Нет.
Функции guid.h
Функция
Сведения о функции
GuidStructToRaw()
Назначение
Копирует данные GUID из структуры в байтовый массив.
Параметры
[in] guid – указатель на структуру с данными GUID. Тип структуры определен в заголовочном файле sysroot-*-kos/include/kos/uuid_common.h из состава KasperskyOS SDK.
[out] guidRaw – идентификатор байтового массива с данными GUID. Тип параметра определен в заголовочном файле sysroot-*-kos/include/kos/uuid_common.h из состава KasperskyOS SDK.
Возвращаемые значения
Нет.
GuidRawToStruct()
Назначение
Копирует данные GUID из байтового массива в структуру.
Параметры
[in] guidRaw – идентификатор байтового массива c данными GUID. Тип параметра определен в заголовочном файле sysroot-*-kos/include/kos/uuid_common.h из состава KasperskyOS SDK.
[out] guid – указатель на структуру с данными GUID. Тип структуры определен в заголовочном файле sysroot-*-kos/include/kos/uuid_common.h из состава KasperskyOS SDK.
Возвращаемые значения
Нет.
GuidStringToRaw()
Назначение
Копирует данные GUID из форматированной строки в байтовый массив.
Параметры
[in] guidStr – указатель на форматированную строку c данными GUID.
[out] guidRaw – идентификатор байтового массива с данными GUID. Тип параметра определен в заголовочном файле sysroot-*-kos/include/kos/uuid_common.h из состава KasperskyOS SDK.
Возвращаемые значения
В случае успеха возвращает rcOk, иначе возвращает код ошибки.
Если форматированная строка с данными GUID некорректна (имеет несоответствующий размер, неправильное расположение дефисов или недопустимые символы), возвращает rcInvalidArgument.
GuidRawToString()
Назначение
Копирует данные GUID из байтового массива в форматированную строку.
Параметры
[in] guidRaw – идентификатор байтового массива с данными GUID. Тип параметра определен в заголовочном файле sysroot-*-kos/include/kos/uuid_common.h из состава KasperskyOS SDK.
[out] guidStr – указатель на форматированную строку c данными GUID. Размер строки (в байтах) с учетом терминирующего нуля соответствует значению константы UUID_STR_SIZE, определенной в заголовочном файле sysroot-*-kos/include/kos/uuid_common.h из состава KasperskyOS SDK.
Возвращаемые значения
Нет.
GuidStringToStruct()
Назначение
Копирует данные GUID из форматированной строки в структуру.
Параметры
[in] guidStr – указатель на форматированную строку c данными GUID.
[out] guid – указатель на структуру с данными GUID. Тип структуры определен в заголовочном файле sysroot-*-kos/include/kos/uuid_common.h из состава KasperskyOS SDK.
Возвращаемые значения
В случае успеха возвращает rcOk, иначе возвращает код ошибки.
Если форматированная строка с данными GUID некорректна (имеет несоответствующий размер, неправильное расположение дефисов или недопустимые символы), возвращает rcInvalidArgument.
GuidStructToString()
Назначение
Копирует данные GUID из структуры в форматированную строку.
Параметры
[in] guid – указатель на структуру с данными GUID. Тип структуры определен в заголовочном файле sysroot-*-kos/include/kos/uuid_common.h из состава KasperskyOS SDK.
[out] guidStr – указатель на форматированную строку c данными GUID. Размер строки (в байтах) с учетом терминирующего нуля соответствует значению константы UUID_STR_SIZE, определенной в заголовочном файле sysroot-*-kos/include/kos/uuid_common.h из состава KasperskyOS SDK.
Возвращаемые значения
Нет.
Функции и макросы uuid_common.h
Функция/макрос
Сведения о функции/макросе
UUID_PRINT_FMT
Назначение
Раскрывается в строку форматирования для функции семейства printf при выполнении форматированного вывода UUID или GUID.
Параметры
Нет.
Значения макроса
Строка форматирования для функции семейства printf.
UUID_PRINT_PARAMS()
Назначение
Раскрывается в последовательность параметров функции семейства printf, которые соответствуют строке форматирования, полученной в результате раскрытия макроса UUID_PRINT_FMT при выполнении форматированного вывода UUID или GUID.
Параметры
[in] uuid – указатель на структуру с данными UUID или GUID. Тип структуры определен в заголовочном файле sysroot-*-kos/include/kos/uuid_common.h из состава KasperskyOS SDK.
Значения макроса
Последовательность параметров функции семейства printf, которые соответствуют строке форматирования, полученной в результате раскрытия макроса UUID_PRINT_FMT.
UuidValidateString()
Назначение
Проверяет, является ли форматированная строка с данными UUID или GUID корректной (имеет соответствующий размер, правильное расположение дефисов и допустимые символы).
Параметры
[in] uuidStr – указатель на форматированную строку c данными UUID или GUID.
Возвращаемые значения
В случае успешной проверки возвращает rcOk, иначе возвращает rcInvalidArgument.