Please enable JavaScript to view this site.

ESL Documentation

ESL supports small integer, small float and small string values as function arguments and return values. To indicate that the value for an argument or return value is the "smaller" C type of the corresponding ESL value, use the keyword small before the argument or return value data type in the declaration for the external function. This keyword is supported in declarations to external functions only; it is not supported in variable definitions.

Note:        You cannot use the keyword reference with a small argument type.

 

The following table shows the correspondence between the argument or return type declared in the ESL program and the C data type passed to or returned by the external function. Refer to the function prototype to determine whether the keyword reference was specified.

 

 

ESL Argument

Type

Reference

Keyword

Specified

Reference

Keyword

Not

Specified

reference

Keyword

Only

Specified

Small Keyword

Specified

integer1

long *

long

void *

short

float1

double *

double

void *

float

boolean2

long *

long

void *

NA

structure

STRUCTDEF_ NAME

Structure

STRUCTDEF_NAME*

 

Warning issued

Structure

STRUCTDEF_NAME *

void *

NA

string1

HSTRING *

(PHSTRING)

HSTRING

void *

char

string field in structure with no using clause

PHSTRING

HSTRING

void *

char

string field in structure with using string clause

char *

HSTRING

void *

char

string field in structure with using external clause

void *

HSTRING

void *

char

 

 

1This type can be a simple variable, an array element, or a field in a structure.

 

2This type must be a simple variable; it cannot be an array element or a field in a structure.