Standard C Language Types

The following simple data types are defined in the Essbase API for the C programming language:

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

Simple Data Types

Data TypeEssbase Type
typedef charESS_CHAR_T
typedef shortESS_SHORT_T
typedef longESS_LONG_T
typedef unsigned charESS_UCHAR_T
typedef unsigned shortESS_USHORT_T
typedef unsigned longESS_ULONG_T
typedef floatESS_FLOAT_T
typedef doubleESS_DOUBLE_T

Other Data Types

Data TypeEssbase TypeDescription
typedef void*ESS_HCTX_TAPI context handle
typedef void*ESS_HINST_TAPI instance handle
typedef unsigned charESS_BOOL_Tboolean
typedef size_tESS_SIZE_Tsize of a memory block
typedef char*ESS_STR_Tstring (array of char)
typedef voidESS_VOID_Tvoid

Bitmask Data Types

The values for these data types consist of bit values that are combined to provide additional values when appropriate. For example, a caller needing WRITE access to a database must have the READ and WRITE privileges, thus ESS_ACCESS_WRITE equals the bit values for ESS_PRIV_READ and ESS__PRIV_WRITE. Similarly, ESS_OBJTYPE_BACKUP is a combination of ESS_OBJTYPE_ASCBACKUP and ESS_OBJTYPE_BINBACKUP.

Data TypeEssbase TypeDescription
typedef unsigned shortESS_ACCESS_TEssbase access level. Possible bit values are:
ESS_PRIV_NONE
ESS_PRIV_READ
ESS_PRIV_WRITE
ESS_PRIV_CALC
ESS_PRIV_DBLOAD
ESS_PRIV_DBDESIGN
ESS_PRIV_DBCREATE
ESS_PRIV_APPLOAD
ESS_PRIV_APPDESIGN
ESS_PRIV_APPCREATE
ESS_PRIV_USERCREATE

The combinations are shown below.
ESS_ACCESS_NONE
ESS_ACCESS_READ
ESS_ACCESS_WRITE
ESS_ACCESS_CALC
ESS_ACCESS_DBDESIGN
ESS_ACCESS_DBCREATE
ESS_ACCESS_APPDESIGN
ESS_ACCESS_APPCREATE
ESS_ACCESS_FILTER (= ESS_PRIV_DBLOAD + ESS_PRIV_DBLOAD)
ESS_ACCESS_DBALL
ESS_ACCESS_APPALL
ESS_ACCESS_SUPER

typedef unsigned longESS_OBJTYPE_TFile object type.
Single object types are:

ESS_OBJTYPE_NONE
ESS_OBJTYPE_OUTLINE
ESS_OBJTYPE_CALCSCRIPT
ESS_OBJTYPE_REPORT
ESS_OBJTYPE_RULES
ESS_OBJTYPE_ALIAS
ESS_OBJTYPE_STRUCTURE
ESS_OBJTYPE_ASCBACKUP
ESS_OBJTYPE_BINBACKUP
ESS_OBJTYPE_EXCEL
ESS_OBJTYPE_LOTUS2
ESS_OBJTYPE_LOTUS3
ESS_OBJTYPE_TEXT
ESS_OBJTYPE_PARTITION
ESS_OBJTYPE_LOTUS4
ESS_OBJTYPE_WIZARD
ESS_OBJTYPE_SELECTION
ESS_OBJTYPE_LRO

#define ESS_OBJTYPE_MAX 0x08000000 /* maximum single object type value */ Combined object types are:
ESS_OBJTYPE_BACKUP
ESS_OBJTYPE_WORKSHEET
ESS_OBJTYPE_DATA
ESS_OBJTYPE_ALL

Pointer Types

Data Type Essbase Type Description
char *ESS_PCHAR_T pointer to char
unsigned char *ESS_PUCHAR_T pointer to unsigned char
short *ESS_PSHORT_T pointer to short
unsigned short *ESS_PUSHORT_T pointer to unsigned short
long *ESS_PLONG_T pointer to long
unsigned long *ESS_PULONG_T pointer to unsigned long
double *ESS_PDOUBLE_T pointer to double
float *ESS_PFLOAT_T pointer to float
ESS_ACCESS_T *ESS_PACCESS_T pointer to Essbase access level
ESS_BOOL_T *ESS_PBOOL_T pointer to boolean
ESS_HCTX_T *ESS_PHCTX_T pointer to Essbase API context handle
ESS_HINST_T *ESS_PHINST_T pointer to Essbase API instance handle
ESS_HCTX_T *ESS_PHCTX_T pointer to Essbase API context handle
ESS_SIZE_T *ESS_PSIZE_T pointer to size of a memory block
ESS_STR_T *ESS_PSTR_T pointer to string
ESS_VOID_T *ESS_PVOID_T pointer to void

Miscellaneous Types

Data TypeEssbase TypeDescription
typedef longESS_STS_T return value from API functions
typedef ESS_STS_T(*ESS_FUNC_T)()pointer to function

Array Types

The following array types are defined using the appropriate maximum string length. For example, the type ESS_USERNAME_T is defined as typedef char ESS_USERNAME_T[ESS_USERNAME_LEN].

Data TypeEssbase TypeDescription
typedef char ESS_USERNAME_T user name
typedef charESS_PASSWORD_T password
typedef charESS_SVRNAME_T server name
typedef charESS_APPNAME_T application name
typedef charESS_DBNAME_T database name
typedef charESS_OBJNAME_T object name
typedef charESS_MBRNAME_Tmember name
typedef charESS_FTRNAME_Tfilter name
typedef charESS_ALIASNAME_T alias table name
typedef charESS_PATH_Tfile path name
typedef char ESS_DESC_T app/database description

API Definitions

Essbase TypeValue
#define ESS_TRUE1
#define ESS_FALSE0
#define ESS_NULLNULL