![]() |
![]() |
![]() |
![]() |
ds_create()
Create a data server variable
Synopsis:
#include <ds.h>
int ds_create( ds_t dsdes,
const char * variable_name,
char flags,
struct sigevent * sigevent );
Arguments:
- dsdes
- A data server descriptor returned by ds_register().
- variable_name
- The name of the variable that you want to create.
All variables are global, so only one instance of the variable can exist in the data server process. The maximum length of a variable name is 60 characters.
- flags
- Flags that specify the variable's behavior:
- DS_PERM — don't delete the variable when the application that created it terminates. The variable is removed when the data server process terminates, or if the flag is turned off after the application that created the variable terminates.
If flags is 0, the variable is removed if you call ds_deregister(), or the process terminates.
- sigevent
- A pointer to a sigevent structure that describes a proxy or signal to be sent to the external application that created the variable if the data referenced by the variable changes; see below.
Library:
libds
Use the -l ds option to qcc to link against this library.
Description:
The ds_create() function creates a variable, whose name is given by variable_name, on the data server identified by dsdes.
If the data referenced by variable_name changes, a proxy or signal, described in the sigevent structure, can be sent to the external application that created variable_name (see ds_set()).
We recommend the following event types for use with this function:
- SIGEV_SIGNAL
- SIGEV_SIGNAL_CODE
- SIGEV_SIGNAL_THREAD
- SIGEV_PULSE
- SIGEV_INTR
To display the current value of a variable on an HTML page, use the qnxvar token with the read tag. See the description of slinger in the Utilities Reference.
Returns:
- 0
- Success.
- -1
- An error occurred (errno is set).
Errors:
- EBADF
- Invalid file descriptor dsdes.
- EEXIST
- The variable name already exists in the data server.
- ENOMEM
- Not enough memory to create the variable or initialize the data.
Examples:
See slinger in the Utilities Reference.
Classification:
| Safety: | |
|---|---|
| Cancellation point | Yes |
| Interrupt handler | No |
| Signal handler | Yes |
| Thread | Yes |
See also:
ds_flags(), ds_get(), ds_register(), ds_set(), sigevent
![]() |
![]() |
![]() |
![]() |

![[Previous]](../prev.gif)
![[Contents]](../contents.gif)
![[Index]](../keyword_index.gif)
![[Next]](../next.gif)