libics: Enumerated data types

libics v.1.6.6 Online Documentation. ©2000-2010 by Cris Luengo and others.

# Enumerated data types

### Ics_DataType

`Ics_DataType` is an `enum` that defines the numeric representation for the imels in the following values:

- `Ics_unknown`
- `Ics_uint8`: `unsigned char`
- `Ics_sint8`: `signed char`
- `Ics_uint16`: `unsigned short`
- `Ics_sint16`: `signed short`
- `Ics_uint32`: `unsigned int`
- `Ics_sint32`: `signed int`
- `Ics_uint64`: `unsigned long long`
- `Ics_sint64`: `signed long long`
- `Ics_real32`: `float`
- `Ics_real64`: `double`
- `Ics_complex32`: { `float`, `float` }
- `Ics_complex64`: { `double`, `double` }

### Ics_Compression

`Ics_Compression` is an `enum` that defines the compression method used to store the imel data. These are the currently defined methods:

- `IcsCompr_uncompressed`
- `IcsCompr_compress`: Using the UNIX `compress` utility, which uses LZW compression. When setting this value for writing, it is automatically translated to `IcsCompr_gzip`, which is a better method. Files written with this method can be read, but only if all data is read in one go. That is, block-wise reading is not supported. For more flexibility, it is possible to manually `uncompress` (`gunzip` is also able to do this) the .ids file and edit the `'.ics'` header to read `compression uncompressed`.
- `IcsCompr_gzip`: Using the `gzip` compression method (the zlib library must be linked to). The compression parameter is a value between 0 and 9: 1 gives best speed, 9 gives best compression, 0 gives no compression at all. A good value to use is 6.

### Ics_ByteOrder

`Ics_ByteOrder` is an `enum` used by `IcsSetByteOrder`. It defines the following values:

- `IcsByteOrder_littleEndian`
- `IcsByteOrder_bigEndian`

### Ics_HistoryWhich

`Ics_HistoryWhich` is an `enum` used by `IcsGetHistoryString`. It defines the following values:

- `IcsWhich_First`
- `IcsWhich_Next`

### Ics_Format

`Ics_Format` is an `enum` used by the low-level interface functions `IcsGetPropsDataType` and `IcsGetDataTypeProps`. It defines the numeric representation in the following values:

- `IcsForm_unknown`
- `IcsForm_integer`
- `IcsForm_real`
- `IcsForm_complex`

### Ics_FileMode

`Ics_FileMode` is an `enum` used internally by the high-level interface functions to avoid the user doing something unexpected. It defines the following values:

- `IcsFileMode_read`: Reading data and metadata allowed.
- `IcsFileMode_write`: Writing data and metadata allowed, reading metadata allowed.
- `IcsFileMode_update`: Reading and writing metadata allowed, reading data allowed.