# Standard C Language Types

The following simple data types are defined in `ESBAPI.H` for use in C language programs:

Simple Data Types
Other Data Types
Pointer Types
Miscellaneous Types
API Definitions

### Simple Data Types

Data Type | Essbase Type
typedef char | ESB_CHAR_T
typedef short | ESB_SHORT_T
typedef long | ESB_LONG_T
typedef unsigned char | ESB_UCHAR_T
typedef unsigned short | ESB_USHORT_T
typedef unsigned long | ESB_ULONG_T
typedef float | ESB_FLOAT_T
typedef double | ESB_DOUBLE_T

### Other Data Types

Data Type | Essbase Type | Description
typedef unsigned char | ESB_BOOL_T | boolean
typedef char | *ESB_STR_T | string (array of char)
typedef void | *ESB_HINST_T | API instance handle
typedef void | *ESB_HCTX_T | API context handle
typedef void | ESB_VOID_T | void
typedef size_t | ESB_SIZE_T | size of a memory block
typedef unsigned short | ESB_ACCESS_T | Essbase access level
typedef unsigned long | ESB_LOGINID_T | Essbase login id

### Pointer Types

Data Type | Essbase Type | Description
typedef char | *ESB_PCHAR_T | pointer to char
typedef short | *ESB_PSHORT_T | pointer to short
typedef long | *ESB_PLONG_T | pointer to long
typedef unsigned char | *ESB_PUCHAR_T | pointer to unsigned char
typedef unsigned short | *ESB_PUSHORT_T | pointer to unsigned short
typedef unsigned long | *ESB_PULONG_T | pointer to unsigned long
typedef float | *ESB_PFLOAT_T | pointer to float
typedef double | *ESB_PDOUBLE_T | pointer to double
typedef ESB_BOOL_T | *ESB_PBOOL_T | pointer to boolean
typedef ESB_STR_T | *ESB_PSTR_T | pointer to string
typedef ESB_VOID_T | *ESB_PVOID_T | pointer to void
typedef ESB_SIZE_T | *ESB_PSIZE_T | pointer to size of a memory block
typedef ESB_HINST_T | *ESB_PHINST_T | pointer to Essbase VB API instance handle
typedef ESB_HCTX_T | *ESB_PHCTX_T | pointer to Essbase VB API context handle
typedef ESB_ACCESS_T | *ESB_PACCESS_T | pointer to Essbase access level
typedef ESB_LOGINID_T | *ESB_PLOGINID_T | pointer to Essbase login id

### Miscellaneous Types

Data Type | Essbase Type | Description
typedef long | ESB_STS_T | return value from API functions
typedef ESB_STS_T | (*ESB_FUNC_T)() | pointer to function

### API Definitions

Constant | Value
#define ESB_TRUE | 1
#define ESB_FALSE | 0
#define ESB_NULL | NULL