EPICS Base 7.0.8.0
Loading...
Searching...
No Matches
Classes | Macros | Typedefs | Enumerations | Variables
epicsTypes.h File Reference

The core data types used by epics. More...

#include "libComAPI.h"
#include "compilerDependencies.h"
Include dependency graph for epicsTypes.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  epicsString
 !! Don't use this - it may vanish in the future !! More...
 
union  epicsAny
 Union of all types. More...
 

Macros

#define stringOf(TOKEN)   #TOKEN
 
#define MAX_STRING_SIZE   40
 
#define firstEpicsType   epicsInt8T
 
#define lastEpicsType   epicsOldStringT
 
#define validEpicsType(x)   ((x>=firstEpicsType) && (x<=lastEpicsType))
 
#define invalidEpicsType(x)   ((x<firstEpicsType) || (x>lastEpicsType))
 

Typedefs

typedef char epicsOldString[MAX_STRING_SIZE]
 !! Don't use this - it may vanish in the future !!
 
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
 

Enumerations

enum  epicsBoolean { epicsFalse = 0 , epicsTrue = 1 }
 
enum  epicsType {
  epicsInt8T , epicsUInt8T , epicsInt16T , epicsUInt16T ,
  epicsEnum16T , epicsInt32T , epicsUInt32T , epicsFloat32T ,
  epicsFloat64T , epicsStringT , epicsOldStringT
}
 Corresponding Type Codes (this enum must start at zero) More...
 
enum  epicsTypeClass {
  epicsIntC , epicsUIntC , epicsEnumC , epicsFloatC ,
  epicsStringC , epicsOldStringC
}
 

Variables

LIBCOM_API const charepicsTypeNames [lastEpicsType+1]
 An array providing the names for each type The enumeration epicsType is an index to this array of type name strings.
 
LIBCOM_API const charepicsTypeCodeNames [lastEpicsType+1]
 An array providing the names for each type code The enumeration epicsType is an index to this array of type code name strings.
 
LIBCOM_API const unsigned epicsTypeSizes [lastEpicsType+1]
 An array providing the sizes for each type The enumeration epicsType is an index to this array of type code name strings.
 
LIBCOM_API const epicsTypeClass epicsTypeClasses [lastEpicsType+1]
 An array providing the class of each type The enumeration epicsType is an index to this array of type class identifiers.
 
LIBCOM_API const charepicsTypeAnyFieldName [lastEpicsType+1]
 An array providing the field name for each type The enumeration epicsType is an index to this array of type code name strings.
 

Detailed Description

Author
: Jeff Hill

Definition in file epicsTypes.h.

Macro Definition Documentation

◆ stringOf

#define stringOf (   TOKEN)    #TOKEN

Definition at line 26 of file epicsTypes.h.

◆ MAX_STRING_SIZE

#define MAX_STRING_SIZE   40

Definition at line 59 of file epicsTypes.h.

◆ firstEpicsType

#define firstEpicsType   epicsInt8T

Definition at line 121 of file epicsTypes.h.

◆ lastEpicsType

#define lastEpicsType   epicsOldStringT

Definition at line 122 of file epicsTypes.h.

◆ validEpicsType

#define validEpicsType (   x)    ((x>=firstEpicsType) && (x<=lastEpicsType))

Definition at line 123 of file epicsTypes.h.

◆ invalidEpicsType

#define invalidEpicsType (   x)    ((x<firstEpicsType) || (x>lastEpicsType))

Definition at line 124 of file epicsTypes.h.

Typedef Documentation

◆ epicsInt8

Definition at line 44 of file epicsTypes.h.

◆ epicsUInt8

typedef unsigned char epicsUInt8

Definition at line 45 of file epicsTypes.h.

◆ epicsInt16

typedef short epicsInt16

Definition at line 46 of file epicsTypes.h.

◆ epicsUInt16

typedef unsigned short epicsUInt16

Definition at line 47 of file epicsTypes.h.

◆ epicsInt32

typedef int epicsInt32

Definition at line 48 of file epicsTypes.h.

◆ epicsUInt32

typedef unsigned int epicsUInt32

Definition at line 49 of file epicsTypes.h.

◆ epicsInt64

typedef long long epicsInt64

Definition at line 50 of file epicsTypes.h.

◆ epicsUInt64

typedef unsigned long long epicsUInt64

Definition at line 51 of file epicsTypes.h.

◆ epicsEnum16

typedef epicsUInt16 epicsEnum16

Definition at line 53 of file epicsTypes.h.

◆ epicsFloat32

typedef float epicsFloat32

Definition at line 54 of file epicsTypes.h.

◆ epicsFloat64

typedef double epicsFloat64

Definition at line 55 of file epicsTypes.h.

◆ epicsStatus

typedef epicsInt32 epicsStatus

Definition at line 56 of file epicsTypes.h.

◆ epicsOldString

typedef char epicsOldString[MAX_STRING_SIZE]

Provided only for backwards compatibility with db_access.h

Definition at line 75 of file epicsTypes.h.

Enumeration Type Documentation

◆ epicsBoolean

enum epicsBoolean

Definition at line 32 of file epicsTypes.h.

◆ epicsType

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

Definition at line 108 of file epicsTypes.h.

◆ epicsTypeClass

enum epicsTypeClass

Definition at line 196 of file epicsTypes.h.