int cdds_index(bin_tag, field_tag, prime);
field_tag is a tag that identifies a field within bin_tag obtained from cdds_member.
Prime is a tag that identifies a DDS prime type. It must be compatible with the field's prime type. (For a simple byte offset to a field, use cdds_offset.) The field offset must be compatible with the type's precision; a fractional index would be useless. An error is issued, if these assumptions are violated.
Symbolic names for DDS prime types are provided in cdds.h. They correspond to "C" types on the host computer. This allows the prime argument to be host independent. Possible values include:
Host Dependent values
prime Host Type
----- ---------
DDS_VOID zero precision
DDS_PTR pointer
DDS_CHAR character
DDS_SCHAR signed character
DDS_UCHAR unsigned character
DDS_SHORT signed integer
DDS_INT integer
DDS_LONG long
DDS_LLONG long long
DDS_USHORT unsigned short
DDS_UINT unsigned integer
DDS_ULONG unsigned long
DDS_ULLONG unsigned long long
DDS_FLOAT floating point
DDS_DOUBLE double float
DDS_LDOUBLE long double
DDS_CPX complex: struct{float real, imag;}
DDS_DBLCPX double complex
DDS_LDBLCPX long double complex
Host Independent values
prime Data Type
----- ---------
DDS_ASCII1 ascii characters
DDS_EBCDIC1 ebcdic characters
DDS_INTEGER1 signed integer*1
DDS_INTEGER2 signed integer*2
DDS_INTEGER4 signed integer*4
DDS_INTEGER8 signed integer*8
DDS_UNSIGNED1 unsigned integer*1
DDS_UNSIGNED2 unsigned integer*2
DDS_UNSIGNED4 unsigned integer*4
DDS_UNSIGNED8 unsigned integer*8
DDS_FLOAT4 IEEE float
DDS_FLOAT4IBM IBM float
DDS_FLOAT8 IEEE double
DDS_FLOAT8IBM IBM double
DDS_FLOAT16 IEEE long double
DDS_COMPLEX8 IEEE complex
DDS_COMPLEX8IBM IBM complex
DDS_COMPLEX16 IEEE double complex
DDS_COMPLEX16IBM IBM double complex
DDS_COMPLEX32 IEEE long double complex
BIN_TAG bin;
FIELD_TAG field;
int i_RecNum, RecNum;
short *buf_short;
...
/* index to RecNum field (short int) */
field = cdds_member(bin, 0, "RecNum");
i_RecNum = cdds_index(bin, field, DDS_SHORT);
...
RecNum = buf_short[i_RecNum];
cdds_offset Field offset within DDS type