epicsTypes.h

The core data types used by epics.

Author

: Jeff Hill

epicsTypes

Architecture Independent Data Types

These are sufficient for all our current archs

typedef signed char epicsInt8
typedef unsigned char epicsUInt8
typedef short epicsInt16
typedef unsigned short epicsUInt16
typedef int epicsInt32
typedef unsigned int epicsUInt32
typedef long long epicsInt64
typedef unsigned long long epicsUInt64
typedef epicsUInt16 epicsEnum16
typedef float epicsFloat32
typedef double epicsFloat64
typedef epicsInt32 epicsStatus

Defines

stringOf(TOKEN)
MAX_STRING_SIZE
firstEpicsType
lastEpicsType
validEpicsType(x)
invalidEpicsType(x)

Typedefs

typedef char epicsOldString[40]

!! Don’t use this - it may vanish in the future !!

Provided only for backwards compatibility with db_access.h

Enums

enum epicsBoolean

Values:

enumerator epicsFalse
enumerator epicsTrue
enum epicsType

Corresponding Type Codes (this enum must start at zero)

Note

Update epicsTypeToDBR_XXXX[] and DBR_XXXXToEpicsType in db_access.h if you edit this enum

Values:

enumerator epicsInt8T
enumerator epicsUInt8T
enumerator epicsInt16T
enumerator epicsUInt16T
enumerator epicsEnum16T
enumerator epicsInt32T
enumerator epicsUInt32T
enumerator epicsFloat32T
enumerator epicsFloat64T
enumerator epicsStringT
enumerator epicsOldStringT
enum epicsTypeClass

Values:

enumerator epicsIntC
enumerator epicsUIntC
enumerator epicsEnumC
enumerator epicsFloatC
enumerator epicsStringC
enumerator epicsOldStringC

Variables

const char *epicsTypeNames[epicsOldStringT + 1]

An array providing the names for each type The enumeration epicsType is an index to this array of type name strings.

const char *epicsTypeCodeNames[epicsOldStringT + 1]

An array providing the names for each type code The enumeration epicsType is an index to this array of type code name strings.

const unsigned epicsTypeSizes[epicsOldStringT + 1]

An array providing the sizes for each type The enumeration epicsType is an index to this array of type code name strings.

const epicsTypeClass epicsTypeClasses[epicsOldStringT + 1]

An array providing the class of each type The enumeration epicsType is an index to this array of type class identifiers.

const char *epicsTypeAnyFieldName[epicsOldStringT + 1]

An array providing the field name for each type The enumeration epicsType is an index to this array of type code name strings.

struct epicsString
#include <epicsTypes.h>

!! Don’t use this - it may vanish in the future !!

Public Members

unsigned length
char *pString
union epicsAny
#include <epicsTypes.h>

Union of all types.

Strings included here as pointers only so that we support large string types.

Arrays included here as pointers because large arrays will not fit in this union.