ds_create()

Создать переменную сервера данных

Прототип:

#include <ds.h>
int ds_create( ds_t dsdes,
const char *variable_name,
char flags,
struct sigevent *sigevent );

Аргументы:

dsdes
Дескриптор сервера данных, возвращаемый ds_register().
variable_name
Имя переменной, которую требуется создать. Все переменные являются глобальными, поэтому только один экземпляр переменной может сущестововать в процессе сервера данных. Максимальная длина переменной составляет 60 символов.
flags
Флаги, описывающие поведение переменной:
DS_PERM
не удалять переменную при завершении приложения, создавшего эту переменную. Переменная удаляется при завершении процесса сервера данных, или ели флаг сброшен после того, как приложение, создавшее эту переменную, завершится.
Если flags установлены в 0, переменная удаляется при вызове ds_deregister(), или по завершению процесса.
sigevent
Указатель на struct sigevent, описывающую импульс или сигнал, которые должны быть отправлены внешнему приложению, создавшему перменную, если данные, связанные с переменной буду изменены.

Библиотека:

libds

Описание:

Функция ds_create() создает переменную, с именем variable_name, на сервере данных dsdes.

При изменении данных, связанных с variable_name, импульс или сигнал, описанные в struct sigevent, могут быть отправлены внешнему приложению, создавшему переменную variable_name (см. ds_set()).

Рекомендуется использовать следующие типы событий при работе с данной функцией:

SIGEV_SIGNAL
SIGEV_SIGNAL_CODE
SIGEV_SIGNAL_THREAD
SIGEV_PULSE
SIGEV_INTR

Для отображения текущего значения переменной на HTML странице используйте qnxvar с тегом read. Подробнее в slinger в Справочнике по утилитам.

Возвращаемое значение:

0
Успешное завершение.
-1
Возникла ошибка. Код ошибки записан в errno.

Коды ошибок:

EBADF
Некорректный файловый дескриптор dsdes.
EEXIST
Имя переменной уже существует на сервере данных.
ENOMEM
Недостаточно памяти для содания переменной или инициализации данных.

Примеры:

Обратитесь к slinger в Справочнике по утилитам.

Классификация:

ЗОСРВ «Нейтрино»

Точка остановки потока
Да
Обработчик прерываний
Нет
Обработчик сигналов
Да
В потоке
Да

Тематические ссылки:

ds_flags(), ds_get(), ds_register(), ds_set(), struct sigevent




Предыдущий раздел: Описание API библиотеки ds