Scroll to navigation

spidermonkey.h(3) Coin spidermonkey.h(3)

NAME

spidermonkey.h -

SYNOPSIS

#include <Inventor/C/basic.h>
 

Macros


#define JS_DLL_CALLBACK /* FIXME: set up this define properly. 20050601 mortene. */
 
#define JSVAL_OBJECT 0x0
 
#define JSVAL_INT 0x1
 
#define JSVAL_DOUBLE 0x2
 
#define JSVAL_STRING 0x4
 
#define JSVAL_BOOLEAN 0x6
 
#define JS_BIT(n) ((uint32_t)1 << (n))
 
#define JS_BITMASK(n) (JS_BIT(n) - 1)
 
#define JSVAL_TAGBITS 3
 
#define JSVAL_TAGMASK JS_BITMASK(JSVAL_TAGBITS)
 
#define JSVAL_TAG(v) ((v) & JSVAL_TAGMASK)
 
#define JSVAL_SETTAG(v, t) ((v) | (t))
 
#define JSVAL_CLRTAG(v) ((v) & ~(jsval)JSVAL_TAGMASK)
 
#define JSVAL_IS_PRIMITIVE(v) (!JSVAL_IS_OBJECT(v) || JSVAL_IS_NULL(v))
 
#define JSVAL_IS_OBJECT(v) (JSVAL_TAG(v) == JSVAL_OBJECT)
 
#define JSVAL_IS_NUMBER(v) (JSVAL_IS_INT(v) || JSVAL_IS_DOUBLE(v))
 
#define JSVAL_IS_INT(v) (((v) & JSVAL_INT) && (v) != JSVAL_VOID)
 
#define JSVAL_IS_DOUBLE(v) (JSVAL_TAG(v) == JSVAL_DOUBLE)
 
#define JSVAL_IS_STRING(v) (JSVAL_TAG(v) == JSVAL_STRING)
 
#define JSVAL_IS_BOOLEAN(v) (JSVAL_TAG(v) == JSVAL_BOOLEAN)
 
#define JSVAL_IS_NULL(v) ((v) == JSVAL_NULL)
 
#define JSVAL_IS_VOID(v) ((v) == JSVAL_VOID)
 
#define BOOLEAN_TO_JSVAL(b) JSVAL_SETTAG((jsval)(b) << JSVAL_TAGBITS, JSVAL_BOOLEAN)
 
#define JSVAL_TO_BOOLEAN(v) ((JSBool)((v) >> JSVAL_TAGBITS))
 
#define JSVAL_INT_BITS 31
 
#define JSVAL_INT_POW2(n) ((jsval)1 << (n))
 
#define JSVAL_INT_MIN ((jsval)1 - JSVAL_INT_POW2(30))
 
#define JSVAL_INT_MAX (JSVAL_INT_POW2(30) - 1)
 
#define INT_FITS_IN_JSVAL(i) ((uint32_t)((i)+JSVAL_INT_MAX) <= 2*JSVAL_INT_MAX)
 
#define JSVAL_TO_INT(v) ((int32_t)(v) >> 1)
 
#define INT_TO_JSVAL(i) (((jsval)(i) << 1) | JSVAL_INT)
 
#define JSVAL_TO_GCTHING(v) ((void *)JSVAL_CLRTAG(v))
 
#define JSVAL_TO_OBJECT(v) ((JSObject *)JSVAL_TO_GCTHING(v))
 
#define JSVAL_TO_DOUBLE(v) ((double *)JSVAL_TO_GCTHING(v))
 
#define JSVAL_TO_STRING(v) ((JSString *)JSVAL_TO_GCTHING(v))
 
#define OBJECT_TO_JSVAL(obj) ((jsval)(obj))
 
#define DOUBLE_TO_JSVAL(dp) JSVAL_SETTAG((jsval)(dp), JSVAL_DOUBLE)
 
#define STRING_TO_JSVAL(str) JSVAL_SETTAG((jsval)(str), JSVAL_STRING)
 
#define JSVAL_TO_PRIVATE(v) ((void *)((v) & ~JSVAL_INT))
 
#define PRIVATE_TO_JSVAL(p) ((jsval)(p) | JSVAL_INT)
 
#define JSPROP_ENUMERATE 0x01
 
#define JSPROP_READONLY 0x02
 
#define JSPROP_PERMANENT 0x04
 
#define JSPROP_EXPORTED 0x08
 
#define JSPROP_GETTER 0x10
 
#define JSPROP_SETTER 0x20
 
#define JSPROP_SHARED 0x40
 
#define JSPROP_INDEX 0x80
 
#define JS_FALSE (int)0
 
#define JS_TRUE (int)1
 
#define JSVAL_VOID INT_TO_JSVAL(0 - JSVAL_INT_POW2(30))
 
#define JSVAL_NULL OBJECT_TO_JSVAL(0)
 
#define JSVAL_ZERO INT_TO_JSVAL(0)
 
#define JSVAL_ONE INT_TO_JSVAL(1)
 
#define JSVAL_FALSE BOOLEAN_TO_JSVAL(JS_FALSE)
 
#define JSVAL_TRUE BOOLEAN_TO_JSVAL(JS_TRUE)
 
#define JSCLASS_HAS_PRIVATE (1<<0)
 
#define JSCLASS_NEW_ENUMERATE (1<<1)
 
#define JSCLASS_NEW_RESOLVE (1<<2)
 
#define JSCLASS_PRIVATE_IS_NSISUPPORTS (1<<3)
 
#define JSCLASS_SHARE_ALL_PROPERTIES (1<<4)
 
#define JSCLASS_NEW_RESOLVE_GETS_START (1<<5)
 
#define JSFUN_BOUND_METHOD 0x40
 
#define JSOPTION_STRICT JS_BIT(0)
 
#define JSOPTION_WERROR JS_BIT(1)
 
#define JSOPTION_VAROBJFIX JS_BIT(2)
 
#define JSOPTION_PRIVATE_IS_NSISUPPORTS JS_BIT(3)
 
#define JSOPTION_COMPILE_N_GO JS_BIT(4)
 

Typedefs


typedef int JSBool
 
typedef long jsword
 
typedef jsword jsval
 
typedef jsword jsid
 
typedef int intN
 
typedef unsigned int uintN
 
typedef uint16_t jschar
 
typedef int32_t jsrefcount
 
typedef uint8_t jsbytecode
 
typedef uint32_t JSHashNumber
 
typedef uint32_t jsatomid
 
typedef enum JSType JSType
 
typedef enum JSAccessMode JSAccessMode
 
typedef enum JSGCStatus JSGCStatus
 
typedef void JSRuntime
 
typedef void JSContext
 
typedef void JSObject
 
typedef void JSObjectOps
 
typedef void JSXDRState
 
typedef void JSString
 
typedef struct JSClass JSClass
 
typedef struct JSPropertySpec JSPropertySpec
 
typedef int JSVersion
 
typedef void JSFunction
 
typedef struct JSFunctionSpec JSFunctionSpec
 
typedef struct JSErrorReport JSErrorReport
 
typedef void JSScript
 
typedef JSBool(* JSPropertyOp )(JSContext *, JSObject *, jsval, jsval *)
 
typedef JSBool(* JSEnumerateOp )(JSContext *, JSObject *)
 
typedef JSBool(* JSResolveOp )(JSContext *, JSObject *, jsval)
 
typedef JSBool(* JSConvertOp )(JSContext *, JSObject *, JSType, jsval *)
 
typedef void(* JSFinalizeOp )(JSContext *, JSObject *)
 
typedef JSObjectOps *(* JSGetObjectOps )(JSContext *, JSClass *)
 
typedef JSBool(* JSCheckAccessOp )(JSContext *, JSObject *, jsval, JSAccessMode, jsval *)
 
typedef JSBool(* JSNative )(JSContext *, JSObject *, uintN, jsval *, jsval *)
 
typedef JSBool(* JSXDRObjectOp )(JSXDRState *, JSObject **)
 
typedef JSBool(* JSHasInstanceOp )(JSContext *, JSObject *, jsval, JSBool *)
 
typedef uint32_t(* JSMarkOp )(JSContext *, JSObject *, void *)
 
typedef void(* JSErrorReporter )(JSContext *, const char *, JSErrorReport *)
 
typedef JSBool(* JSGCCallback )(JSContext *, JSGCStatus)
 
typedef JSBool(* JS_EvaluateScript_t )(JSContext *, JSObject *, const char *, uintN, const char *, uintN, jsval *)
 
typedef JSString *(* JS_ValueToString_t )(JSContext *, jsval)
 
typedef char *(* JS_GetStringBytes_t )(JSString *)
 
typedef JSBool(* JS_SetProperty_t )(JSContext *, JSObject *, const char *, jsval *)
 
typedef JSBool(* JS_GetProperty_t )(JSContext *, JSObject *, const char *, jsval *)
 
typedef JSBool(* JS_CallFunctionName_t )(JSContext *, JSObject *, const char *, uintN, jsval *, jsval *)
 
typedef JSBool(* JS_CallFunctionValue_t )(JSContext *, JSObject *, jsval, uintN, jsval *, jsval *)
 
typedef JSObject *(* JS_ConstructObjectWithArguments_t )(JSContext *, JSClass *, JSObject *, JSObject *, uintN, jsval *)
 
typedef JSRuntime *(* JS_NewRuntime_t )(uint32_t)
 
typedef void(* JS_DestroyRuntime_t )(JSRuntime *)
 
typedef JSContext *(* JS_NewContext_t )(JSRuntime *, size_t)
 
typedef void(* JS_DestroyContext_t )(JSContext *)
 
typedef void(* JS_ShutDown_t )(void)
 
typedef JSObject *(* JS_NewObject_t )(JSContext *, JSClass *, JSObject *, JSObject *)
 
typedef JSBool(* JS_InitStandardClasses_t )(JSContext *, JSObject *)
 
typedef JSErrorReporter(* JS_SetErrorReporter_t )(JSContext *, JSErrorReporter)
 
typedef JSBool(* JS_PropertyStub_t )(JSContext *, JSObject *, jsval, jsval *)
 
typedef JSBool(* JS_EnumerateStub_t )(JSContext *, JSObject *)
 
typedef JSBool(* JS_ResolveStub_t )(JSContext *, JSObject *, jsval)
 
typedef JSBool(* JS_ConvertStub_t )(JSContext *, JSObject *, JSType, jsval *)
 
typedef void(* JS_FinalizeStub_t )(JSContext *, JSObject *)
 
typedef const char *(* JS_GetImplementationVersion_t )(void)
 
typedef void *(* JS_GetPrivate_t )(JSContext *, JSObject *)
 
typedef JSBool(* JS_SetPrivate_t )(JSContext *, JSObject *, void *)
 
typedef JSFunction *(* JS_NewFunction_t )(JSContext *, JSNative, uintN, uintN flags, JSObject *, const char *)
 
typedef JSObject *(* JS_GetFunctionObject_t )(JSFunction *)
 
typedef JSObject *(* JS_DefineObject_t )(JSContext *, JSObject *, const char *, JSClass *, JSObject *, uintN)
 
typedef JSBool(* JS_DefineProperties_t )(JSContext *, JSObject *, JSPropertySpec *)
 
typedef JSObject *(* JS_GetParent_t )(JSContext *, JSObject *)
 
typedef JSBool(* JS_SetParent_t )(JSContext *, JSObject *, JSObject *)
 
typedef JSBool(* JS_DefineFunctions_t )(JSContext *, JSObject *, JSFunctionSpec *)
 
typedef JSString *(* JS_NewStringCopyZ_t )(JSContext *, const char *)
 
typedef JSType(* JS_TypeOfValue_t )(JSContext *, jsval)
 
typedef const char *(* JS_GetTypeName_t )(JSContext *, JSType)
 
typedef JSBool(* JS_InstanceOf_t )(JSContext *, JSObject *, JSClass *, jsval *)
 
typedef JSObject *(* JS_InitClass_t )(JSContext *, JSObject *, JSObject *, JSClass *, JSNative, uintN, JSPropertySpec *, JSFunctionSpec *, JSPropertySpec *, JSFunctionSpec *)
 
typedef JSBool(* JS_NewDoubleValue_t )(JSContext *, double, jsval *)
 
typedef void *(* JS_GetContextPrivate_t )(JSContext *)
 
typedef void(* JS_SetContextPrivate_t )(JSContext *, void *)
 
typedef JSBool(* JS_ValueToBoolean_t )(JSContext *, jsval, JSBool *)
 
typedef JSBool(* JS_ValueToNumber_t )(JSContext *, jsval, double *)
 
typedef JSObject *(* JS_NewArrayObject_t )(JSContext *, int32_t, jsval *)
 
typedef JSBool(* JS_GetArrayLength_t )(JSContext *, JSObject *, uint32_t *)
 
typedef JSBool(* JS_SetArrayLength_t )(JSContext *, JSObject *, uint32_t)
 
typedef JSBool(* JS_HasArrayLength_t )(JSContext *, JSObject *, uint32_t *)
 
typedef JSBool(* JS_GetElement_t )(JSContext *, JSObject *, int32_t, jsval *)
 
typedef JSBool(* JS_SetElement_t )(JSContext *, JSObject *, int32_t, jsval *)
 
typedef JSBool(* JS_AddRoot_t )(JSContext *, void *)
 
typedef JSBool(* JS_RemoveRoot_t )(JSContext *, void *)
 
typedef size_t(* JS_GetStringLength_t )(JSString *)
 
typedef JSBool(* JS_LookupProperty_t )(JSContext *, JSObject *, const char *, jsval *)
 
typedef JSBool(* JS_DefineProperty_t )(JSContext *, JSObject *, const char *, jsval, JSPropertyOp, JSPropertyOp, uintN)
 
typedef JSScript *(* JS_CompileFile_t )(JSContext *, JSObject *, const char *)
 
typedef JSBool(* JS_ValueToObject_t )(JSContext *, jsval, JSObject **)
 
typedef JSBool(* JS_ExecuteScript_t )(JSContext *, JSObject *, JSScript *, jsval *)
 
typedef JSBool(* JS_IsExceptionPending_t )(JSContext *)
 
typedef JSBool(* JS_GetPendingException_t )(JSContext *, jsval *)
 
typedef void(* JS_SetPendingException_t )(JSContext *, jsval)
 
typedef void(* JS_ClearPendingException_t )(JSContext *)
 
typedef double *(* JS_NewDouble_t )(JSContext *, double)
 
typedef JSBool(* JS_CallFunction_t )(JSContext *, JSObject *, JSFunction *, uintN, jsval *, jsval *)
 
typedef JSFunction *(* JS_ValueToFunction_t )(JSContext *, jsval)
 
typedef void(* JS_ReportError_t )(JSContext *, const char *,...)
 
typedef JSBool(* JS_IsArrayObject_t )(JSContext *, JSObject *)
 
typedef JSBool(* JS_ObjectIsFunction_t )(JSContext *, JSObject *)
 
typedef JSBool(* JS_ValueToECMAInt32_t )(JSContext *, jsval, int32_t *)
 
typedef JSFunction *(* JS_DefineFunction_t )(JSContext *, JSObject *, const char *, JSNative, uintN, uintN)
 
typedef JSObject *(* JS_GetGlobalObject_t )(JSContext *)
 
typedef JSGCCallback(* JS_SetGCCallback_t )(JSContext *, JSGCCallback)
 
typedef void(* JS_GC_t )(JSContext *)
 
typedef void(* JS_MaybeGC_t )(JSContext *)
 
typedef JSBool(* JS_IsRunning_t )(JSContext *)
 
typedef JSBool(* JS_DeleteProperty_t )(JSContext *, JSObject *, const char *)
 
typedef JSScript *(* JS_CompileScript_t )(JSContext *, JSObject *, const char *, size_t, const char *, uintN)
 
typedef jsval(* JS_GetNaNValue_t )(JSContext *)
 
typedef jsval(* JS_GetNegativeInfinityValue_t )(JSContext *)
 
typedef jsval(* JS_GetPositiveInfinityValue_t )(JSContext *)
 
typedef jsval(* JS_GetEmptyStringValue_t )(JSContext *)
 
typedef JSBool(* JS_SetPropertyAttributes_t )(JSContext *, JSObject *, const char *, uintN, JSBool *)
 
typedef JSBool(* JS_GetPropertyAttributes_t )(JSContext *, JSObject *, const char *, uintN *, JSBool *)
 
typedef JSClass *(* JS_GetClass_t )(JSObject *)
 
typedef JSObject *(* JS_GetPrototype_t )(JSContext *, JSObject *)
 
typedef JSObject *(* JS_SetPrototype_t )(JSContext *, JSObject *, JSObject *)
 
typedef intN(* JS_CompareStrings_t )(JSString *, JSString *)
 
typedef uint32_t(* JS_GetOptions_t )(JSContext *)
 
typedef uint32_t(* JS_SetOptions_t )(JSContext *, uint32_t)
 
typedef uint32_t(* JS_ToggleOptions_t )(JSContext *, uint32_t)
 
typedef struct JSIdArray *(* JS_Enumerate_t )(JSContext *, JSObject *)
 
typedef JSBool(* JS_IdToValue_t )(JSContext *, jsid, jsval *)
 
typedef const char *(* JS_GetFunctionName_t )(JSFunction *)
 
typedef JSObject *(* JS_GetConstructor_t )(JSContext *, JSObject *)
 
typedef void(* JS_DestroyIdArray_t )(JSContext *, struct JSIdArray *)
 

Enumerations


enum JSType { JSTYPE_VOID, JSTYPE_OBJECT, JSTYPE_FUNCTION, JSTYPE_STRING, JSTYPE_NUMBER, JSTYPE_BOOLEAN, JSTYPE_LIMIT }
 
enum JSAccessMode { JSACC_PROTO = 0, JSACC_PARENT = 1, JSACC_IMPORT = 2, JSACC_WATCH = 3, JSACC_READ = 4, JSACC_WRITE = 8, JSACC_LIMIT }
 
enum JSGCStatus { JSGC_BEGIN, JSGC_END, JSGC_MARK_END, JSGC_FINALIZE_END }
 

Functions


const SpiderMonkey_t * spidermonkey (void)
 

Author

Generated automatically by Doxygen for Coin from the source code.
Thu May 29 2014 Version 4.0.0a