The dsc$descriptor structure is used for describing scalar values or
strings less than 64K characters in length. |
Field |
Description |
unsigned short dsc$w_length |
Length of data in bytes |
unsigned char dsc$b_dtype |
Data type |
unsigned char dsc$b_class |
Descriptor class |
char *dsc$a_pointer |
Pointer to bytes |
struct dsc$descriptor
|
The dsc$descriptor_s structure is the same as the dsc$descriptor structure.
It is used when the memory pointer to by the dsc$a_pointer is statically
allocated. |
Field |
Description |
unsigned short dsc$w_length |
Length of data in bytes |
unsigned char dsc$b_dtype |
Data type |
unsigned char dsc$b_class |
DSC$K_CLASS_S |
char *dsc$a_pointer |
Pointer to bytes |
struct dsc$descriptor_s
|
The dsc$descriptor_d is the same as dsc$descriptor. The memory pointed
to by dsc$a_pointer is dynamically allocated. |
Field |
Description |
unsigned short dsc$w_length |
Length of data in bytes |
unsigned char dsc$b_dtype |
Data type |
unsigned char dsc$b_class |
DSC$K_CLASS_D |
char *dsc$a_pointer |
Pointer to bytes |
struct dsc$descriptor_d
|
The dsc$descriptor_a is used to describe arrays of primitive data types. |
Field |
Description |
unsigned short dsc$w_length |
Length of data in bytes |
unsigned char dsc$b_dtype |
Data type |
unsigned char dsc$b_class |
DSC$K_CLASS_A |
char *dsc$a_pointer |
Pointer to bytes |
char dsc$b_scale |
unused |
unsigned char dsc$b_digits |
unused |
struct dsc$b_aflags |
flags |
unsigned char dsc$b_dimct |
Number of dimensions |
unsigned long dsc$l_arsize |
Total size of array in bytes |
Optional fields |
Used if dsc$b_aflags.dsc$v_fl_coeff is set |
char *dsc$a_a0 |
Address of array element whose subscripts are all zero |
long dsc$l_m[DIMCT] |
Number of elements in each dimension |
Optional fields |
Used if dsc$b_aflags.dsc$v_fl_bounds is set |
struct dsc$bounds[DIMCT] |
Upper and lower bounds for each dimension |
struct dsc$descriptor_a
Field |
Description |
unsigned : 3 |
Reserved must be zero |
unsigned dsc$v_fl_binscale : 1 |
Unused |
unsigned dsc$v_fl_redim |
Unused |
unsigned dsc$v_fl_coeff |
If set dsc$a_a0 and dsc$a_m fields included |
unsigned dsc$v_fl_bounds |
If set dsc$bounds fields included |
struct dsc$b_aflags
Field |
Description |
long dsc$l_l |
Lower bound |
long dsc$l_u |
Upper bound |
struct dsc$bound
|
The dsc$descriptor_xd structure is used to point to large segments
of dynamic memory. |
Field |
Description |
unsigned short dsc$w_length |
unused |
unsigned char dsc$b_dtype |
Data type |
unsigned char dsc$b_class |
DSC$K_CLASS_XD |
char *dsc$a_pointer |
Pointer to bytes |
unsigned int dsc$l_length |
Length of data in bytes |
struct dsc$descriptor_xd
|
The dsc$descriptor_xd structure is used to point to large segments
of static memory. |
Field |
Description |
unsigned short dsc$w_length |
unused |
unsigned char dsc$b_dtype |
Data type |
unsigned char dsc$b_class |
DSC$K_CLASS_XS |
char *dsc$a_pointer |
Pointer to bytes |
unsigned int dsc$l_length |
Length of data in bytes |
struct dsc$descriptor_xs
|
The dsc$descriptor_r structure is used to represent MDSplus data types
that contain pointers to other descriptors. |
Field |
Description |
unsigned short dsc$w_length |
Lenth of data in bytes |
unsigned char dsc$b_dtype |
Data type |
unsigned char dsc$b_class |
DSC$K_CLASS_R |
char *dsc$a_pointer |
Pointer to bytes |
unsigned char dsc$b_ndesc |
Number of descriptor pointers |
unsigned : 24 |
Unused |
struct dsc$descriptor *dsc$a_dscptrs[NDESC] |
Pointers to descriptors |
struct dsc$descriptor_r
|
The dsc$descriptor_action structure is a variant of the dsc$descriptor_r
structure. It is used to describe MDSplus actions which are scheduled operations
which are dispatched to MDSplus server processes. It contains pointers
to dispatch information and task information. |
Field |
Description |
unsigned short dsc$w_length |
0 |
unsigned char dsc$b_dtype |
DSC$K_DTYPE_ACTION |
unsigned char dsc$b_class |
DSC$K_CLASS_R |
char *dsc$a_pointer |
NULL |
unsigned char dsc$b_ndesc |
Number of descriptor pointers |
unsigned : 24 |
Unused |
struct dsc$descriptor *dsc$a_dispatch |
Pointer to dispatch information |
struct dsc$descriptor *dsc$a_task |
Pointer to task information |
struct dsc$descriptor *dsc$a_errorlogs |
unused |
struct dsc$descriptor *dsc$a_completion_message |
unused |
struct dsc$descriptor *dsc$a_performance |
unused |
struct dsc$descriptor_action
|
The dsc$descriptor_call structure is used to describe external function
calls, either shared library routine calls or tdi FUN calls. The record
contains pointers to the shared library name, the routine name and arguments
to the external function. |
Field |
Description |
unsigned short dsc$w_length |
0 |
unsigned char dsc$b_dtype |
DSC$K_DTYPE_CALL |
unsigned char dsc$b_class |
DSC$K_CLASS_R |
char *dsc$a_pointer |
NULL |
unsigned char dsc$b_ndesc |
Number of descriptor pointers |
unsigned : 24 |
Unused |
struct dsc$descriptor *dsc$a_image |
Pointer to image name |
struct dsc$descriptor *dsc$a_routine |
Pointer to routine name |
struct dsc$descriptor *dsc$a_arguments[NDESC-2] |
Pointer to arguments |
struct dsc$descriptor_call
|
The dsc$descriptor_conglom record is used for describing devices. Devices
are typically used to describe data acquisition hardware but can also describe
software devices such as IDL jobs. The conglom name comes from the internal
implementation of devices which are contiguous collections of nodes. The
conglom structure contains the image name containing the device support,
the model of the device, an optional instance name of the device (i.e.
CAMAC CTS name) and an optional qualifier string for the device. |
Field |
Description |
unsigned short dsc$w_length |
0 |
unsigned char dsc$b_dtype |
DSC$K_DTYPE_CONGLOM |
unsigned char dsc$b_class |
DSC$K_CLASS_R |
char *dsc$a_pointer |
NULL |
unsigned char dsc$b_ndesc |
Number of descriptor pointers |
unsigned : 24 |
Unused |
struct dsc$descriptor *dsc$a_image |
Pointer to image name |
struct dsc$descriptor *dsc$a_model |
Pointer to device type |
struct dsc$descriptor *dsc$a_name |
Pointer to device name |
struct dsc$descriptor *dsc$a_qualifiers |
Pointer to qualifiers |
struct dsc$descriptor_conglom
|
The dsc$descriptor_dimension structure is generally used to describe
timebase information for digitizer channels. It contains window and axis
information. |
Field |
Description |
unsigned short dsc$w_length |
0 |
unsigned char dsc$b_dtype |
DSC$K_DTYPE_DIMENSION |
unsigned char dsc$b_class |
DSC$K_CLASS_R |
char *dsc$a_pointer |
NULL |
unsigned char dsc$b_ndesc |
Number of descriptor pointers |
unsigned : 24 |
Unused |
struct dsc$descriptor *dsc$a_window |
Pointer to window into axis |
struct dsc$descriptor *dsc$a_axis |
Pointer to axis |
struct dsc$descriptor_dimension
|
The dsc$descriptor_dispatch structure is used to describe action dispatching
information. It contains pointers to the server which should execute the
action, the phase in which the action is to be executed, scheduling information,
and a completion MDSplus event. |
Field |
Description |
unsigned short dsc$w_length |
1 |
unsigned char dsc$b_dtype |
DSC$K_DTYPE_DISPATCH |
unsigned char dsc$b_class |
DSC$K_CLASS_R |
char *dsc$a_pointer |
Pointer to scheduling type (TREE$K_SCHED_SEQ) |
unsigned char dsc$b_ndesc |
Number of descriptor pointers |
unsigned : 24 |
Unused |
struct dsc$descriptor *dsc$a_ident |
Pointer to server name |
struct dsc$descriptor *dsc$a_phase |
Pointer to phase |
struct dsc$descriptor *dsc$a_when |
Pointer to scheduling info |
struct dsc$descriptor *dsc$a_completion |
Pointer to completion event |
struct dsc$descriptor_dispatch
|
The dsc$descriptor_function is used to describe references to internal
built-in functions. It contains a pointer to the built-in function id and
pointers to the arguments to the function. |
Field |
Description |
unsigned short dsc$w_length |
2 |
unsigned char dsc$b_dtype |
DSC$K_DTYPE_DISPATCH |
unsigned char dsc$b_class |
DSC$K_CLASS_R |
char *dsc$a_pointer |
Pointer to built-in number |
unsigned char dsc$b_ndesc |
Number of descriptor pointers |
unsigned : 24 |
Unused |
struct dsc$descriptor *dsc$a_dscptrs[NDESC] |
Pointer to function arguments |
struct dsc$descriptor_function
|
The dsc$descriptor_method structure is used to describe a method task.
Methods are operations provided by device support. The structure contains
pointers to a timeout value, the method name, the device and optional arguments
to the method. |
Field |
Description |
unsigned short dsc$w_length |
0 |
unsigned char dsc$b_dtype |
DSC$K_DTYPE_METHOD |
unsigned char dsc$b_class |
DSC$K_CLASS_R |
char *dsc$a_pointer |
NULL |
unsigned char dsc$b_ndesc |
Number of descriptor pointers |
unsigned : 24 |
Unused |
struct dsc$descriptor *dsc$a_time_out |
Pointer to time out value |
struct dsc$descriptor *dsc$a_method |
Pointer to method name |
struct dsc$descriptor *dsc$a_object |
Pointer to method object |
struct dsc$descriptor *dsc$a_arguments[ndesc-3] |
Pointer to method arguments |
struct dsc$descriptor_method
|
The dsc$descriptor_range structure is used to decribe ramps. It contains
a pointer to the beginning value(s), the ending values(s) and the increment(s). |
Field |
Description |
unsigned short dsc$w_length |
0 |
unsigned char dsc$b_dtype |
DSC$K_DTYPE_RANGE |
unsigned char dsc$b_class |
DSC$K_CLASS_R |
char *dsc$a_pointer |
NULL |
unsigned char dsc$b_ndesc |
Number of descriptor pointers |
unsigned : 24 |
Unused |
struct dsc$descriptor *dsc$a_begin |
Pointer to beginning |
struct dsc$descriptor *dsc$a_end |
Pointer to end |
struct dsc$descriptor *dsc$a_delta |
Pointer to delta |
struct dsc$descriptor_range
|
The dsc$descriptor_routine structure is similar to the dsc$descriptor_call
structure but includes a timeout value. It is generally used as a action
task. |
Field |
Description |
unsigned short dsc$w_length |
0 |
unsigned char dsc$b_dtype |
DSC$K_DTYPE_ROUTINE |
unsigned char dsc$b_class |
DSC$K_CLASS_R |
char *dsc$a_pointer |
NULL |
unsigned char dsc$b_ndesc |
Number of descriptor pointers |
unsigned : 24 |
Unused |
struct dsc$descriptor *dsc$a_time_out |
Pointer to time out value |
struct dsc$descriptor *dsc$a_image |
Pointer to image name |
struct dsc$descriptor *dsc$a_routine |
Pointer to routine name |
struct dsc$descriptor *dsc$a_arguments[ndesc-3] |
Pointers to arguments |
struct dsc$descriptor_routine
|
The dsc$descriptor_signal structure is used to describe MDSplus signals.
A signal contains a data pointer, a raw data pointer and one or more dimension
descriptions. The data portion is often an expression of the raw data.
This structure is commonly used for describing digitizer channels. |
Field |
Description |
unsigned short dsc$w_length |
0 |
unsigned char dsc$b_dtype |
DSC$K_DTYPE_SIGNAL |
unsigned char dsc$b_class |
DSC$K_CLASS_R |
char *dsc$a_pointer |
NULL |
unsigned char dsc$b_ndesc |
Number of descriptor pointers |
unsigned : 24 |
Unused |
struct dsc$descriptor *dsc$a_data |
Pointer to signal data |
struct dsc$descriptor *dsc$a_raw |
Pointer to raw data |
struct dsc$descriptor *dsc$a_dimension[ndesc-2] |
Pointers to dimension info |
struct dsc$descriptor_signal
|
The dsc$descriptor_window structure is used in constructing a dimension.
It contains a start index, an end index and a value at index=0. |
Field |
Description |
unsigned short dsc$w_length |
0 |
unsigned char dsc$b_dtype |
DSC$K_DTYPE_WINDOW |
unsigned char dsc$b_class |
DSC$K_CLASS_R |
char *dsc$a_pointer |
NULL |
unsigned char dsc$b_ndesc |
Number of descriptor pointers |
unsigned : 24 |
Unused |
struct dsc$descriptor *dsc$a_startidx |
Pointer to start index |
struct dsc$descriptor *dsc$a_endidx |
Pointer to end index |
struct dsc$descriptor *dsc$a_value_at_idx0 |
Pointer to value at index 0 |
struct dsc$descriptor_window
|
The dsc$descriptor_with error is used to include error bar information.
It contains a pointer to the data and a pointer to the associated error. |
Field |
Description |
unsigned short dsc$w_length |
0 |
unsigned char dsc$b_dtype |
DSC$K_DTYPE_WITH_ERROR |
unsigned char dsc$b_class |
DSC$K_CLASS_R |
char *dsc$a_pointer |
NULL |
unsigned char dsc$b_ndesc |
Number of descriptor pointers |
unsigned : 24 |
Unused |
struct dsc$descriptor *dsc$a_data |
Pointer to data |
struct dsc$descriptor *dsc$a_error |
Pointer to error |
struct dsc$descriptor_with_error
|
The dsc$descriptor_with_units is used to associate units with data.
It contains a pointer to the data and a pointer to the units. |
Field |
Description |
unsigned short dsc$w_length |
0 |
unsigned char dsc$b_dtype |
DSC$K_DTYPE_WITH_UNITS |
unsigned char dsc$b_class |
DSC$K_CLASS_R |
char *dsc$a_pointer |
NULL |
unsigned char dsc$b_ndesc |
Number of descriptor pointers |
unsigned : 24 |
Unused |
struct dsc$descriptor *dsc$a_data |
Pointer to data |
struct dsc$descriptor *dsc$a_units |
Pointer to units |
struct dsc$descriptor_with_units
|