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 functions 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()