User Guide
376 Chapter 4: C-Level Extensibility
typedef struct jsval jsval
An opaque data structure that can contain an integer, or a pointer to a float, string, or object.
Some functions in the API can read the values of function arguments by reading the contents of a
jsval structure, and some can be used to write the function’s return value by writing a jsval
structure.
typedef enum { JS_FALSE = 0, JS_TRUE = 1 } JSBool
A simple data type that stores a Boolean value.
The C-level API
The C-level extensibility API consists of the JSBool (*JSNative) function signature and the
following functions:
• JSBool JS_DefineFunction()
• unsigned short *JS_ValueToString()
• JSBool JS_ValueToInteger()
• JSBool JS_ValueToDouble()
• JSBool JS_ValueToBoolean()
• JSBool JS_ValueToObject()
• JSBool JS_StringToValue()
• JSBool JS_DoubleToValue()
• JSVal JS_BooleanToValue()
• JSVal JS_BytesToValue()
• JSVal JS_IntegerToValue()
• JSVal JS_ObjectToValue()
• unsigned short *JS_ObjectType()
• JSObject *JS_NewArrayObject()
• long JS_GetArrayLength()
• JSBool JS_GetElement()
• JSBool JS_SetElement()
• JSBool JS_ExecuteScript()