I am trying to use *ei\_get\_type()* ([ei](http://www.erlang.org/doc/man/ei.html)) but I am having trouble finding where the 'type' field is documented. I've looked in **ei.h** but all I could find was a list of constants starting with "ERL\_".

```
#define ERL_SMALL_INTEGER_EXT 'a'
#define ERL_INTEGER_EXT       'b'
#define ERL_FLOAT_EXT         'c'
#define ERL_ATOM_EXT          'd'
#define ERL_REFERENCE_EXT     'e'
#define ERL_NEW_REFERENCE_EXT 'r'
#define ERL_PORT_EXT          'f'
#define ERL_PID_EXT           'g'
#define ERL_SMALL_TUPLE_EXT   'h'
#define ERL_LARGE_TUPLE_EXT   'i'
#define ERL_NIL_EXT           'j'
#define ERL_STRING_EXT        'k'
#define ERL_LIST_EXT          'l'
#define ERL_BINARY_EXT        'm'
#define ERL_SMALL_BIG_EXT     'n'
#define ERL_LARGE_BIG_EXT     'o'
#define ERL_NEW_FUN_EXT   'p'
#define ERL_FUN_EXT           'u'

```

Is this the correct list? I am unsure because the prototype of *er\_get\_type()* has \*int \*\* for the type field whereas the *ei.h* file defines *char* the above constants.

NOTE: There are other 'constants' used in the 'erl\_interface' package that aren't listed here.