Additional Topics > External Development Guide > IDLInternals - Keyword Processing > IDL_KW_ARR_DESC_R

# IDL_KW_ARR_DESC_R

When a keyword is specified to be a read-only array (i.e., the IDL_KW_ARRAY flag is set), the value field of the IDL_KW_PAR struct should be set to point to an IDL_KW_ARR_DESC_R structure.

This structure is defined as:

typedef struct {

char *data;

IDL_MEMINT nmin;
IDL_MEMINT nmax;

IDL_MEMINT* n_offset;

} IDL_KW_ARR_DESC_R;

where:

### data

The offset of the field within the user supplied KW_RESULT structure, of the C array to receive the data. This offset is computed using the IDL_KW_OFFSETOF() macro. This array must be of the C type specified by the type field of the IDL_KW_PAR struct. For example, IDL_TYP_LONG maps into a C IDL_LONG. There must be nmax elements in the array.

### nmin

The minimum number of elements allowed.

### nmax

The maximum number of elements allowed.

### n_offset

The offset of the field within the user defined KW_RESULT structure into which IDL_KWProcessByOffset() will store the number of elements actually stored into the array field. This offset is computed using the IDL_KW_OFFSETOF() macro.