Создать переменную сервера данных
#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