public static extern UIntPtr JSObjectGetArrayBufferByteLength(JSContextRef ctx, JSObjectRef @object, /* (JSValueRef *) */ IntPtr exception);
public static extern void JSGarbageCollect(JSContextRef ctx);
public static extern JSContextGroupRef JSContextGetGroup(JSContextRef ctx);
public static extern JSObjectRef JSValueToObject(JSContextRef ctx, JSValueRef value, /* (JSValueRef *) */ IntPtr exception);
public static extern JSValueRef JSEvaluateScript(JSContextRef ctx, JSStringRef script, JSObjectRef thisObject, JSStringRef sourceURL, int startingLineNumber, /* (JSValueRef *) */ IntPtr exception);
public static extern JSStringRef JSValueCreateJSONString(JSContextRef ctx, JSValueRef value, uint indent, /* (JSValueRef *) */ IntPtr exception);
public static extern double JSValueToNumber(JSContextRef ctx, JSValueRef value, /* (JSValueRef *) */ IntPtr exception);
public static extern bool JSValueIsObjectOfClass(JSContextRef ctx, JSValueRef value, JSClassRef jsClass);
public static extern bool JSValueIsDate(JSContextRef ctx, JSValueRef value);
public static extern bool JSValueIsString(JSContextRef ctx, JSValueRef value);
public static extern bool JSValueIsObject(JSContextRef ctx, JSValueRef value);
public static extern bool JSValueIsNumber(JSContextRef ctx, JSValueRef value);
public static extern bool JSValueIsUndefined(JSContextRef ctx, JSValueRef value);
public static extern JSType JSValueGetType(JSContextRef ctx, JSValueRef value);
public static extern JSValueRef JSValueMakeNumber(JSContextRef ctx, double number);
public static extern JSTypedArrayType JSValueGetTypedArrayType(JSContextRef ctx, JSValueRef value, /* (JSValueRef *) */ IntPtr exception);
public static extern JSValueRef JSValueMakeFromJSONString(JSContextRef ctx, JSStringRef @string);
public static extern bool JSValueIsEqual(JSContextRef ctx, JSValueRef a, JSValueRef b, /* (JSValueRef *) */ IntPtr exception);
public static extern bool JSValueToBoolean(JSContextRef ctx, JSValueRef value);
public static extern bool JSValueIsStrictEqual(JSContextRef ctx, JSValueRef a, JSValueRef b);
public static extern JSStringRef JSValueToStringCopy(JSContextRef ctx, JSValueRef value, /* (JSValueRef *) */ IntPtr exception);
public static extern bool JSValueIsInstanceOfConstructor(JSContextRef ctx, JSValueRef value, JSObjectRef constructor, /* (JSValueRef *) */ IntPtr exception);
public static extern void JSValueUnprotect(JSContextRef ctx, JSValueRef value);
public static extern JSValueRef JSValueMakeUndefined(JSContextRef ctx);
public static extern bool JSCheckScriptSyntax(JSContextRef ctx, JSStringRef script, JSStringRef sourceURL, int startingLineNumber, /* (JSValueRef *) */ IntPtr exception);
public static extern JSValueRef JSValueMakeNull(JSContextRef ctx);
public static extern JSObjectRef JSContextGetGlobalObject(JSContextRef ctx);
public static extern JSValueRef JSValueMakeBoolean(JSContextRef ctx, bool boolean);
public static extern JSGlobalContextRef JSContextGetGlobalContext(JSContextRef ctx);
public static extern JSObjectRef JSObjectMakeArrayBufferWithBytesNoCopy(JSContextRef ctx, IntPtr bytes, UIntPtr byteLength, JSTypedArrayBytesDeallocator bytesDeallocator, IntPtr deallocatorContext, /* (JSValueRef *) */ IntPtr exception);