At startup, to register the library’s functions
Before the function returns, to package the return value
To accomplish these tasks, the interpreter defines several data types and exposes an API. Definitions for the data types and functions that are listed in this section appear in the mm_jsapi.h file. For your library to work properly, you must include the mm_jsapi.h file with the following line at the top of each file in your library:
Including the mm_jsapi.h file includes, in turn, mm_jsapi_environment.h, which defines the MM_Environment structure.