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.