public static extern string JSh_GetJsvalString(IntPtr cx, ref jsval vp);
public static extern IntPtr JSh_GetJsvalObject(ref jsval vp);
public static extern int JSh_GetJsvalInt(ref jsval vp);
public static extern UInt32 JSh_GetJsvalUInt(ref jsval vp);
public static extern int JSh_SetElement(IntPtr cx, IntPtr obj, uint index, ref jsval vp);
public static extern double JSh_GetJsvalDouble(ref jsval vp);
public static extern void JSh_SetJsvalObject(ref jsval vp, IntPtr value);
public static extern bool JSh_ExecuteScript(IntPtr cx, IntPtr obj, IntPtr script, ref jsval rval);
public static extern void JSh_SetJsvalUInt(ref jsval vp, UInt32 value);
public static extern void JSh_SetJsvalString(IntPtr cx, ref jsval vp, string value);
public static extern void JSh_SetJsvalInt(ref jsval vp, int value);
public static extern void JSh_SetJsvalDouble(ref jsval vp, double value);
public static extern void JSh_SetJsvalBool(ref jsval vp, bool value);
public static extern int JSh_SetRvalJSVAL(IntPtr cx, IntPtr vp, ref jsval value);
public static extern void JSh_SetJsvalUndefined(ref jsval vp);
public static extern int JSh_EvaluateScript(IntPtr cx, IntPtr obj, string bytes, uint length, string filename, uint lineno, ref jsval rval);
public static extern bool JSh_GetJsvalBool(ref jsval vp);
public static extern bool JSh_CallFunction(IntPtr cx, IntPtr obj, IntPtr fun, UInt32 argc, /*[MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 1)] */ jsval[] argv, ref jsval rval);
public static extern bool JSh_GetElement(IntPtr cx, IntPtr obj, UInt32 index, ref jsval val);