public static extern OpaqueJSContext *JSContextGetGlobalContext([NativeTypeName("JSContextRef")] OpaqueJSContext *ctx);
public static extern OpaqueJSValue *JSValueMakeFromJSONString([NativeTypeName("JSContextRef")] OpaqueJSContext *ctx, [NativeTypeName("JSStringRef")] OpaqueJSString * @string);
public static extern bool JSCheckScriptSyntax([NativeTypeName("JSContextRef")] OpaqueJSContext *ctx, [NativeTypeName("JSStringRef")] OpaqueJSString *script, [NativeTypeName("JSStringRef")] OpaqueJSString *sourceURL, int startingLineNumber, [NativeTypeName("JSValueRef *")] OpaqueJSValue **exception);
public static extern bool JSValueIsInstanceOfConstructor([NativeTypeName("JSContextRef")] OpaqueJSContext *ctx, [NativeTypeName("JSValueRef")] OpaqueJSValue *value, [NativeTypeName("JSObjectRef")] OpaqueJSValue *constructor, [NativeTypeName("JSValueRef *")] OpaqueJSValue **exception);
public static extern OpaqueJSValue *JSValueMakeBoolean([NativeTypeName("JSContextRef")] OpaqueJSContext *ctx, bool boolean);
public static extern bool JSValueIsDate([NativeTypeName("JSContextRef")] OpaqueJSContext *ctx, [NativeTypeName("JSValueRef")] OpaqueJSValue *value);
public static extern bool JSValueIsEqual([NativeTypeName("JSContextRef")] OpaqueJSContext *ctx, [NativeTypeName("JSValueRef")] OpaqueJSValue *a, [NativeTypeName("JSValueRef")] OpaqueJSValue *b, [NativeTypeName("JSValueRef *")] OpaqueJSValue **exception);
public static extern UIntPtr JSObjectGetTypedArrayByteOffset([NativeTypeName("JSContextRef")] OpaqueJSContext *ctx, [NativeTypeName("JSObjectRef")] OpaqueJSValue * @object, [NativeTypeName("JSValueRef *")] OpaqueJSValue **exception);
public static extern OpaqueJSValue *JSObjectGetTypedArrayBuffer([NativeTypeName("JSContextRef")] OpaqueJSContext *ctx, [NativeTypeName("JSObjectRef")] OpaqueJSValue * @object, [NativeTypeName("JSValueRef *")] OpaqueJSValue **exception);
public static extern OpaqueJSValue *JSObjectMakeTypedArrayWithArrayBuffer([NativeTypeName("JSContextRef")] OpaqueJSContext *ctx, JSTypedArrayType arrayType, [NativeTypeName("JSObjectRef")] OpaqueJSValue *buffer, [NativeTypeName("JSValueRef *")] OpaqueJSValue **exception);
public static extern OpaqueJSValue *JSObjectMakeTypedArrayWithArrayBufferAndOffset([NativeTypeName("JSContextRef")] OpaqueJSContext *ctx, JSTypedArrayType arrayType, [NativeTypeName("JSObjectRef")] OpaqueJSValue *buffer, [NativeTypeName("size_t")] UIntPtr byteOffset, [NativeTypeName("size_t")] UIntPtr length, [NativeTypeName("JSValueRef *")] OpaqueJSValue **exception);
public static extern OpaqueJSValue *JSObjectMakeTypedArray([NativeTypeName("JSContextRef")] OpaqueJSContext *ctx, JSTypedArrayType arrayType, [NativeTypeName("size_t")] UIntPtr length, [NativeTypeName("JSValueRef *")] OpaqueJSValue **exception);
public static extern void JSGlobalContextSetName([NativeTypeName("JSGlobalContextRef")] OpaqueJSContext *ctx, [NativeTypeName("JSStringRef")] OpaqueJSString *name);
public static extern OpaqueJSString *JSGlobalContextCopyName([NativeTypeName("JSGlobalContextRef")] OpaqueJSContext *ctx);
public static extern JSType JSValueGetType([NativeTypeName("JSContextRef")] OpaqueJSContext *ctx, [NativeTypeName("JSValueRef")] OpaqueJSValue *value);
public static extern OpaqueJSValue *JSObjectMakeArrayBufferWithBytesNoCopy([NativeTypeName("JSContextRef")] OpaqueJSContext *ctx, [NativeTypeName("void *")] void *bytes, [NativeTypeName("size_t")] UIntPtr byteLength, [NativeTypeName("JSTypedArrayBytesDeallocator")] IntPtr bytesDeallocator, [NativeTypeName("void *")] void *deallocatorContext, [NativeTypeName("JSValueRef *")] OpaqueJSValue **exception);
public static extern bool JSValueIsObjectOfClass([NativeTypeName("JSContextRef")] OpaqueJSContext *ctx, [NativeTypeName("JSValueRef")] OpaqueJSValue *value, [NativeTypeName("JSClassRef")] OpaqueJSClass *jsClass);
public static extern UIntPtr JSObjectGetArrayBufferByteLength([NativeTypeName("JSContextRef")] OpaqueJSContext *ctx, [NativeTypeName("JSObjectRef")] OpaqueJSValue * @object, [NativeTypeName("JSValueRef *")] OpaqueJSValue **exception);
public static extern JSTypedArrayType JSValueGetTypedArrayType([NativeTypeName("JSContextRef")] OpaqueJSContext *ctx, [NativeTypeName("JSValueRef")] OpaqueJSValue *value, [NativeTypeName("JSValueRef *")] OpaqueJSValue **exception);
public static extern OpaqueJSString *JSValueCreateJSONString([NativeTypeName("JSContextRef")] OpaqueJSContext *ctx, [NativeTypeName("JSValueRef")] OpaqueJSValue *value, [NativeTypeName("unsigned int")] uint indent, [NativeTypeName("JSValueRef *")] OpaqueJSValue **exception);
public static extern bool JSValueIsStrictEqual([NativeTypeName("JSContextRef")] OpaqueJSContext *ctx, [NativeTypeName("JSValueRef")] OpaqueJSValue *a, [NativeTypeName("JSValueRef")] OpaqueJSValue *b);
public static extern double JSValueToNumber([NativeTypeName("JSContextRef")] OpaqueJSContext *ctx, [NativeTypeName("JSValueRef")] OpaqueJSValue *value, [NativeTypeName("JSValueRef *")] OpaqueJSValue **exception);
public static extern OpaqueJSValue *JSValueMakeNull([NativeTypeName("JSContextRef")] OpaqueJSContext *ctx);
public static extern OpaqueJSString *JSValueToStringCopy([NativeTypeName("JSContextRef")] OpaqueJSContext *ctx, [NativeTypeName("JSValueRef")] OpaqueJSValue *value, [NativeTypeName("JSValueRef *")] OpaqueJSValue **exception);
public static extern OpaqueJSValue *JSValueMakeNumber([NativeTypeName("JSContextRef")] OpaqueJSContext *ctx, double number);
public static extern OpaqueJSValue *JSValueToObject([NativeTypeName("JSContextRef")] OpaqueJSContext *ctx, [NativeTypeName("JSValueRef")] OpaqueJSValue *value, [NativeTypeName("JSValueRef *")] OpaqueJSValue **exception);
public static extern OpaqueJSValue *JSEvaluateScript([NativeTypeName("JSContextRef")] OpaqueJSContext *ctx, [NativeTypeName("JSStringRef")] OpaqueJSString *script, [NativeTypeName("JSObjectRef")] OpaqueJSValue *thisObject, [NativeTypeName("JSStringRef")] OpaqueJSString *sourceURL, int startingLineNumber, [NativeTypeName("JSValueRef *")] OpaqueJSValue **exception);
public static extern void JSValueUnprotect([NativeTypeName("JSContextRef")] OpaqueJSContext *ctx, [NativeTypeName("JSValueRef")] OpaqueJSValue *value);
public static extern void JSGarbageCollect([NativeTypeName("JSContextRef")] OpaqueJSContext *ctx);
public static extern OpaqueJSContextGroup *JSContextGetGroup([NativeTypeName("JSContextRef")] OpaqueJSContext *ctx);