/* frida-base.h generated by valac 0.58.0-frida, the Vala compiler, do not modify */

#ifndef __SUBPROJECTS_FRIDA_CORE_LIB_BASE_FRIDA_BASE_H__
#define __SUBPROJECTS_FRIDA_CORE_LIB_BASE_FRIDA_BASE_H__

#include <glib-object.h>
#include <gio/gio.h>
#include <glib.h>
#include <stdlib.h>
#include <string.h>
#include <json-glib/json-glib.h>
#include <nice.h>
#include <float.h>
#include <math.h>
#include <gio/gfiledescriptorbased.h>

G_BEGIN_DECLS

#define FRIDA_SERVER_GUID_HOST_SESSION_SERVICE "6769746875622e636f6d2f6672696461"
#define FRIDA_OBJECT_PATH_HOST_SESSION "/re/frida/HostSession"
#define FRIDA_OBJECT_PATH_AGENT_SESSION_PROVIDER "/re/frida/AgentSessionProvider"
#define FRIDA_OBJECT_PATH_AGENT_SESSION "/re/frida/AgentSession"
#define FRIDA_OBJECT_PATH_AGENT_CONTROLLER "/re/frida/AgentController"
#define FRIDA_OBJECT_PATH_AGENT_MESSAGE_SINK "/re/frida/AgentMessageSink"
#define FRIDA_OBJECT_PATH_CHANNEL "/re/frida/Channel"
#define FRIDA_OBJECT_PATH_SERVICE "/re/frida/Service"
#define FRIDA_OBJECT_PATH_TRANSPORT_BROKER "/re/frida/TransportBroker"
#define FRIDA_OBJECT_PATH_PORTAL_SESSION "/re/frida/PortalSession"
#define FRIDA_OBJECT_PATH_BUS_SESSION "/re/frida/BusSession"
#define FRIDA_OBJECT_PATH_AUTHENTICATION_SERVICE "/re/frida/AuthenticationService"
#if !defined(VALA_EXTERN)
#if defined(_WIN32) || defined(__CYGWIN__)
#define VALA_EXTERN __declspec(dllexport) extern
#elif __GNUC__ >= 4
#define VALA_EXTERN __attribute__((visibility("default"))) extern
#else
#define VALA_EXTERN extern
#endif
#endif
#define FRIDA_DEFAULT_CONTROL_PORT ((guint16) 27042)
#define FRIDA_DEFAULT_CLUSTER_PORT ((guint16) 27052)

#define FRIDA_TYPE_HOST_SESSION (frida_host_session_get_type ())
#define FRIDA_HOST_SESSION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_HOST_SESSION, FridaHostSession))
#define FRIDA_IS_HOST_SESSION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_HOST_SESSION))
#define FRIDA_HOST_SESSION_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), FRIDA_TYPE_HOST_SESSION, FridaHostSessionIface))

typedef struct _FridaHostSession FridaHostSession;
typedef struct _FridaHostSessionIface FridaHostSessionIface;

#define FRIDA_TYPE_HOST_SESSION_PROXY (frida_host_session_proxy_get_type ())

#define FRIDA_TYPE_HOST_APPLICATION_INFO (frida_host_application_info_get_type ())
typedef struct _FridaHostApplicationInfo FridaHostApplicationInfo;

#define FRIDA_TYPE_HOST_PROCESS_INFO (frida_host_process_info_get_type ())
typedef struct _FridaHostProcessInfo FridaHostProcessInfo;

#define FRIDA_TYPE_HOST_SPAWN_INFO (frida_host_spawn_info_get_type ())
typedef struct _FridaHostSpawnInfo FridaHostSpawnInfo;

#define FRIDA_TYPE_HOST_CHILD_INFO (frida_host_child_info_get_type ())
typedef struct _FridaHostChildInfo FridaHostChildInfo;
typedef enum  {
	FRIDA_CHILD_ORIGIN_FORK,
	FRIDA_CHILD_ORIGIN_EXEC,
	FRIDA_CHILD_ORIGIN_SPAWN
} FridaChildOrigin;

#define FRIDA_TYPE_CHILD_ORIGIN (frida_child_origin_get_type ())

#define FRIDA_TYPE_HOST_SPAWN_OPTIONS (frida_host_spawn_options_get_type ())
typedef struct _FridaHostSpawnOptions FridaHostSpawnOptions;
typedef enum  {
	FRIDA_STDIO_INHERIT,
	FRIDA_STDIO_PIPE
} FridaStdio;

#define FRIDA_TYPE_STDIO (frida_stdio_get_type ())

#define FRIDA_TYPE_AGENT_SESSION_ID (frida_agent_session_id_get_type ())
typedef struct _FridaAgentSessionId FridaAgentSessionId;

#define FRIDA_TYPE_INJECTOR_PAYLOAD_ID (frida_injector_payload_id_get_type ())
typedef struct _FridaInjectorPayloadId FridaInjectorPayloadId;

#define FRIDA_TYPE_CHANNEL_ID (frida_channel_id_get_type ())
typedef struct _FridaChannelId FridaChannelId;

#define FRIDA_TYPE_SERVICE_SESSION_ID (frida_service_session_id_get_type ())
typedef struct _FridaServiceSessionId FridaServiceSessionId;

#define FRIDA_TYPE_AGENT_SESSION_PROVIDER (frida_agent_session_provider_get_type ())
#define FRIDA_AGENT_SESSION_PROVIDER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_AGENT_SESSION_PROVIDER, FridaAgentSessionProvider))
#define FRIDA_IS_AGENT_SESSION_PROVIDER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_AGENT_SESSION_PROVIDER))
#define FRIDA_AGENT_SESSION_PROVIDER_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), FRIDA_TYPE_AGENT_SESSION_PROVIDER, FridaAgentSessionProviderIface))

typedef struct _FridaAgentSessionProvider FridaAgentSessionProvider;
typedef struct _FridaAgentSessionProviderIface FridaAgentSessionProviderIface;

#define FRIDA_TYPE_AGENT_SESSION_PROVIDER_PROXY (frida_agent_session_provider_proxy_get_type ())

#define FRIDA_TYPE_AGENT_SESSION (frida_agent_session_get_type ())
#define FRIDA_AGENT_SESSION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_AGENT_SESSION, FridaAgentSession))
#define FRIDA_IS_AGENT_SESSION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_AGENT_SESSION))
#define FRIDA_AGENT_SESSION_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), FRIDA_TYPE_AGENT_SESSION, FridaAgentSessionIface))

typedef struct _FridaAgentSession FridaAgentSession;
typedef struct _FridaAgentSessionIface FridaAgentSessionIface;

#define FRIDA_TYPE_AGENT_SESSION_PROXY (frida_agent_session_proxy_get_type ())

#define FRIDA_TYPE_AGENT_SCRIPT_ID (frida_agent_script_id_get_type ())
typedef struct _FridaAgentScriptId FridaAgentScriptId;

#define FRIDA_TYPE_AGENT_MESSAGE (frida_agent_message_get_type ())
typedef struct _FridaAgentMessage FridaAgentMessage;
typedef enum  {
	FRIDA_AGENT_MESSAGE_KIND_SCRIPT = 1,
	FRIDA_AGENT_MESSAGE_KIND_DEBUGGER
} FridaAgentMessageKind;

#define FRIDA_TYPE_AGENT_MESSAGE_KIND (frida_agent_message_kind_get_type ())

#define FRIDA_TYPE_PORTAL_MEMBERSHIP_ID (frida_portal_membership_id_get_type ())
typedef struct _FridaPortalMembershipId FridaPortalMembershipId;

#define FRIDA_TYPE_AGENT_CONTROLLER (frida_agent_controller_get_type ())
#define FRIDA_AGENT_CONTROLLER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_AGENT_CONTROLLER, FridaAgentController))
#define FRIDA_IS_AGENT_CONTROLLER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_AGENT_CONTROLLER))
#define FRIDA_AGENT_CONTROLLER_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), FRIDA_TYPE_AGENT_CONTROLLER, FridaAgentControllerIface))

typedef struct _FridaAgentController FridaAgentController;
typedef struct _FridaAgentControllerIface FridaAgentControllerIface;

#define FRIDA_TYPE_AGENT_CONTROLLER_PROXY (frida_agent_controller_proxy_get_type ())

#define FRIDA_TYPE_HOST_CHILD_ID (frida_host_child_id_get_type ())
typedef struct _FridaHostChildId FridaHostChildId;
typedef enum  {
	FRIDA_SPAWN_START_STATE_RUNNING,
	FRIDA_SPAWN_START_STATE_SUSPENDED
} FridaSpawnStartState;

#define FRIDA_TYPE_SPAWN_START_STATE (frida_spawn_start_state_get_type ())

#define FRIDA_TYPE_AGENT_MESSAGE_SINK (frida_agent_message_sink_get_type ())
#define FRIDA_AGENT_MESSAGE_SINK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_AGENT_MESSAGE_SINK, FridaAgentMessageSink))
#define FRIDA_IS_AGENT_MESSAGE_SINK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_AGENT_MESSAGE_SINK))
#define FRIDA_AGENT_MESSAGE_SINK_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), FRIDA_TYPE_AGENT_MESSAGE_SINK, FridaAgentMessageSinkIface))

typedef struct _FridaAgentMessageSink FridaAgentMessageSink;
typedef struct _FridaAgentMessageSinkIface FridaAgentMessageSinkIface;

#define FRIDA_TYPE_AGENT_MESSAGE_SINK_PROXY (frida_agent_message_sink_proxy_get_type ())

#define FRIDA_TYPE_AGENT_MESSAGE_TRANSMITTER (frida_agent_message_transmitter_get_type ())
#define FRIDA_AGENT_MESSAGE_TRANSMITTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_AGENT_MESSAGE_TRANSMITTER, FridaAgentMessageTransmitter))
#define FRIDA_AGENT_MESSAGE_TRANSMITTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), FRIDA_TYPE_AGENT_MESSAGE_TRANSMITTER, FridaAgentMessageTransmitterClass))
#define FRIDA_IS_AGENT_MESSAGE_TRANSMITTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_AGENT_MESSAGE_TRANSMITTER))
#define FRIDA_IS_AGENT_MESSAGE_TRANSMITTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), FRIDA_TYPE_AGENT_MESSAGE_TRANSMITTER))
#define FRIDA_AGENT_MESSAGE_TRANSMITTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), FRIDA_TYPE_AGENT_MESSAGE_TRANSMITTER, FridaAgentMessageTransmitterClass))

typedef struct _FridaAgentMessageTransmitter FridaAgentMessageTransmitter;
typedef struct _FridaAgentMessageTransmitterClass FridaAgentMessageTransmitterClass;

#define FRIDA_TYPE_ERROR (frida_error_get_type ())

#define FRIDA_TYPE_CHANNEL (frida_channel_get_type ())
#define FRIDA_CHANNEL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_CHANNEL, FridaChannel))
#define FRIDA_IS_CHANNEL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_CHANNEL))
#define FRIDA_CHANNEL_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), FRIDA_TYPE_CHANNEL, FridaChannelIface))

typedef struct _FridaChannel FridaChannel;
typedef struct _FridaChannelIface FridaChannelIface;

#define FRIDA_TYPE_CHANNEL_PROXY (frida_channel_proxy_get_type ())

#define FRIDA_TYPE_SERVICE_SESSION (frida_service_session_get_type ())
#define FRIDA_SERVICE_SESSION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_SERVICE_SESSION, FridaServiceSession))
#define FRIDA_IS_SERVICE_SESSION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_SERVICE_SESSION))
#define FRIDA_SERVICE_SESSION_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), FRIDA_TYPE_SERVICE_SESSION, FridaServiceSessionIface))

typedef struct _FridaServiceSession FridaServiceSession;
typedef struct _FridaServiceSessionIface FridaServiceSessionIface;

#define FRIDA_TYPE_SERVICE_SESSION_PROXY (frida_service_session_proxy_get_type ())

#define FRIDA_TYPE_TRANSPORT_BROKER (frida_transport_broker_get_type ())
#define FRIDA_TRANSPORT_BROKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_TRANSPORT_BROKER, FridaTransportBroker))
#define FRIDA_IS_TRANSPORT_BROKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_TRANSPORT_BROKER))
#define FRIDA_TRANSPORT_BROKER_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), FRIDA_TYPE_TRANSPORT_BROKER, FridaTransportBrokerIface))

typedef struct _FridaTransportBroker FridaTransportBroker;
typedef struct _FridaTransportBrokerIface FridaTransportBrokerIface;

#define FRIDA_TYPE_TRANSPORT_BROKER_PROXY (frida_transport_broker_proxy_get_type ())

#define FRIDA_TYPE_PORTAL_SESSION (frida_portal_session_get_type ())
#define FRIDA_PORTAL_SESSION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_PORTAL_SESSION, FridaPortalSession))
#define FRIDA_IS_PORTAL_SESSION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_PORTAL_SESSION))
#define FRIDA_PORTAL_SESSION_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), FRIDA_TYPE_PORTAL_SESSION, FridaPortalSessionIface))

typedef struct _FridaPortalSession FridaPortalSession;
typedef struct _FridaPortalSessionIface FridaPortalSessionIface;

#define FRIDA_TYPE_PORTAL_SESSION_PROXY (frida_portal_session_proxy_get_type ())

#define FRIDA_TYPE_BUS_SESSION (frida_bus_session_get_type ())
#define FRIDA_BUS_SESSION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_BUS_SESSION, FridaBusSession))
#define FRIDA_IS_BUS_SESSION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_BUS_SESSION))
#define FRIDA_BUS_SESSION_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), FRIDA_TYPE_BUS_SESSION, FridaBusSessionIface))

typedef struct _FridaBusSession FridaBusSession;
typedef struct _FridaBusSessionIface FridaBusSessionIface;

#define FRIDA_TYPE_BUS_SESSION_PROXY (frida_bus_session_proxy_get_type ())

#define FRIDA_TYPE_AUTHENTICATION_SERVICE (frida_authentication_service_get_type ())
#define FRIDA_AUTHENTICATION_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_AUTHENTICATION_SERVICE, FridaAuthenticationService))
#define FRIDA_IS_AUTHENTICATION_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_AUTHENTICATION_SERVICE))
#define FRIDA_AUTHENTICATION_SERVICE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), FRIDA_TYPE_AUTHENTICATION_SERVICE, FridaAuthenticationServiceIface))

typedef struct _FridaAuthenticationService FridaAuthenticationService;
typedef struct _FridaAuthenticationServiceIface FridaAuthenticationServiceIface;

#define FRIDA_TYPE_AUTHENTICATION_SERVICE_PROXY (frida_authentication_service_proxy_get_type ())

#define FRIDA_TYPE_STATIC_AUTHENTICATION_SERVICE (frida_static_authentication_service_get_type ())
#define FRIDA_STATIC_AUTHENTICATION_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_STATIC_AUTHENTICATION_SERVICE, FridaStaticAuthenticationService))
#define FRIDA_STATIC_AUTHENTICATION_SERVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), FRIDA_TYPE_STATIC_AUTHENTICATION_SERVICE, FridaStaticAuthenticationServiceClass))
#define FRIDA_IS_STATIC_AUTHENTICATION_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_STATIC_AUTHENTICATION_SERVICE))
#define FRIDA_IS_STATIC_AUTHENTICATION_SERVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), FRIDA_TYPE_STATIC_AUTHENTICATION_SERVICE))
#define FRIDA_STATIC_AUTHENTICATION_SERVICE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), FRIDA_TYPE_STATIC_AUTHENTICATION_SERVICE, FridaStaticAuthenticationServiceClass))

typedef struct _FridaStaticAuthenticationService FridaStaticAuthenticationService;
typedef struct _FridaStaticAuthenticationServiceClass FridaStaticAuthenticationServiceClass;

#define FRIDA_TYPE_NULL_AUTHENTICATION_SERVICE (frida_null_authentication_service_get_type ())
#define FRIDA_NULL_AUTHENTICATION_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_NULL_AUTHENTICATION_SERVICE, FridaNullAuthenticationService))
#define FRIDA_NULL_AUTHENTICATION_SERVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), FRIDA_TYPE_NULL_AUTHENTICATION_SERVICE, FridaNullAuthenticationServiceClass))
#define FRIDA_IS_NULL_AUTHENTICATION_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_NULL_AUTHENTICATION_SERVICE))
#define FRIDA_IS_NULL_AUTHENTICATION_SERVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), FRIDA_TYPE_NULL_AUTHENTICATION_SERVICE))
#define FRIDA_NULL_AUTHENTICATION_SERVICE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), FRIDA_TYPE_NULL_AUTHENTICATION_SERVICE, FridaNullAuthenticationServiceClass))

typedef struct _FridaNullAuthenticationService FridaNullAuthenticationService;
typedef struct _FridaNullAuthenticationServiceClass FridaNullAuthenticationServiceClass;

#define FRIDA_TYPE_UNAUTHORIZED_HOST_SESSION (frida_unauthorized_host_session_get_type ())
#define FRIDA_UNAUTHORIZED_HOST_SESSION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_UNAUTHORIZED_HOST_SESSION, FridaUnauthorizedHostSession))
#define FRIDA_UNAUTHORIZED_HOST_SESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), FRIDA_TYPE_UNAUTHORIZED_HOST_SESSION, FridaUnauthorizedHostSessionClass))
#define FRIDA_IS_UNAUTHORIZED_HOST_SESSION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_UNAUTHORIZED_HOST_SESSION))
#define FRIDA_IS_UNAUTHORIZED_HOST_SESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), FRIDA_TYPE_UNAUTHORIZED_HOST_SESSION))
#define FRIDA_UNAUTHORIZED_HOST_SESSION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), FRIDA_TYPE_UNAUTHORIZED_HOST_SESSION, FridaUnauthorizedHostSessionClass))

typedef struct _FridaUnauthorizedHostSession FridaUnauthorizedHostSession;
typedef struct _FridaUnauthorizedHostSessionClass FridaUnauthorizedHostSessionClass;

#define FRIDA_TYPE_UNAUTHORIZED_PORTAL_SESSION (frida_unauthorized_portal_session_get_type ())
#define FRIDA_UNAUTHORIZED_PORTAL_SESSION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_UNAUTHORIZED_PORTAL_SESSION, FridaUnauthorizedPortalSession))
#define FRIDA_UNAUTHORIZED_PORTAL_SESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), FRIDA_TYPE_UNAUTHORIZED_PORTAL_SESSION, FridaUnauthorizedPortalSessionClass))
#define FRIDA_IS_UNAUTHORIZED_PORTAL_SESSION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_UNAUTHORIZED_PORTAL_SESSION))
#define FRIDA_IS_UNAUTHORIZED_PORTAL_SESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), FRIDA_TYPE_UNAUTHORIZED_PORTAL_SESSION))
#define FRIDA_UNAUTHORIZED_PORTAL_SESSION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), FRIDA_TYPE_UNAUTHORIZED_PORTAL_SESSION, FridaUnauthorizedPortalSessionClass))

typedef struct _FridaUnauthorizedPortalSession FridaUnauthorizedPortalSession;
typedef struct _FridaUnauthorizedPortalSessionClass FridaUnauthorizedPortalSessionClass;

#define FRIDA_TYPE_UNAUTHORIZED_BUS_SESSION (frida_unauthorized_bus_session_get_type ())
#define FRIDA_UNAUTHORIZED_BUS_SESSION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_UNAUTHORIZED_BUS_SESSION, FridaUnauthorizedBusSession))
#define FRIDA_UNAUTHORIZED_BUS_SESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), FRIDA_TYPE_UNAUTHORIZED_BUS_SESSION, FridaUnauthorizedBusSessionClass))
#define FRIDA_IS_UNAUTHORIZED_BUS_SESSION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_UNAUTHORIZED_BUS_SESSION))
#define FRIDA_IS_UNAUTHORIZED_BUS_SESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), FRIDA_TYPE_UNAUTHORIZED_BUS_SESSION))
#define FRIDA_UNAUTHORIZED_BUS_SESSION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), FRIDA_TYPE_UNAUTHORIZED_BUS_SESSION, FridaUnauthorizedBusSessionClass))

typedef struct _FridaUnauthorizedBusSession FridaUnauthorizedBusSession;
typedef struct _FridaUnauthorizedBusSessionClass FridaUnauthorizedBusSessionClass;
typedef enum  {
	FRIDA_REALM_NATIVE,
	FRIDA_REALM_EMULATED
} FridaRealm;

#define FRIDA_TYPE_REALM (frida_realm_get_type ())
typedef enum  {
	FRIDA_UNLOAD_POLICY_IMMEDIATE,
	FRIDA_UNLOAD_POLICY_RESIDENT,
	FRIDA_UNLOAD_POLICY_DEFERRED
} FridaUnloadPolicy;

#define FRIDA_TYPE_UNLOAD_POLICY (frida_unload_policy_get_type ())

#define FRIDA_TYPE_MAPPED_LIBRARY_BLOB (frida_mapped_library_blob_get_type ())
typedef struct _FridaMappedLibraryBlob FridaMappedLibraryBlob;

#define FRIDA_TYPE_LINUX_INJECTOR_STATE (frida_linux_injector_state_get_type ())
typedef struct _FridaLinuxInjectorState FridaLinuxInjectorState;

#define FRIDA_TYPE_POSIX_INJECTOR_STATE (frida_posix_injector_state_get_type ())
typedef struct _FridaPosixInjectorState FridaPosixInjectorState;
typedef enum  {
	FRIDA_SESSION_DETACH_REASON_APPLICATION_REQUESTED = 1,
	FRIDA_SESSION_DETACH_REASON_PROCESS_REPLACED,
	FRIDA_SESSION_DETACH_REASON_PROCESS_TERMINATED,
	FRIDA_SESSION_DETACH_REASON_CONNECTION_TERMINATED,
	FRIDA_SESSION_DETACH_REASON_DEVICE_LOST
} FridaSessionDetachReason;

#define FRIDA_TYPE_SESSION_DETACH_REASON (frida_session_detach_reason_get_type ())

#define FRIDA_TYPE_FRONTMOST_QUERY_OPTIONS (frida_frontmost_query_options_get_type ())
#define FRIDA_FRONTMOST_QUERY_OPTIONS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_FRONTMOST_QUERY_OPTIONS, FridaFrontmostQueryOptions))
#define FRIDA_FRONTMOST_QUERY_OPTIONS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), FRIDA_TYPE_FRONTMOST_QUERY_OPTIONS, FridaFrontmostQueryOptionsClass))
#define FRIDA_IS_FRONTMOST_QUERY_OPTIONS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_FRONTMOST_QUERY_OPTIONS))
#define FRIDA_IS_FRONTMOST_QUERY_OPTIONS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), FRIDA_TYPE_FRONTMOST_QUERY_OPTIONS))
#define FRIDA_FRONTMOST_QUERY_OPTIONS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), FRIDA_TYPE_FRONTMOST_QUERY_OPTIONS, FridaFrontmostQueryOptionsClass))

typedef struct _FridaFrontmostQueryOptions FridaFrontmostQueryOptions;
typedef struct _FridaFrontmostQueryOptionsClass FridaFrontmostQueryOptionsClass;
typedef enum  {
	FRIDA_SCOPE_MINIMAL,
	FRIDA_SCOPE_METADATA,
	FRIDA_SCOPE_FULL
} FridaScope;

#define FRIDA_TYPE_SCOPE (frida_scope_get_type ())

#define FRIDA_TYPE_APPLICATION_QUERY_OPTIONS (frida_application_query_options_get_type ())
#define FRIDA_APPLICATION_QUERY_OPTIONS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_APPLICATION_QUERY_OPTIONS, FridaApplicationQueryOptions))
#define FRIDA_APPLICATION_QUERY_OPTIONS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), FRIDA_TYPE_APPLICATION_QUERY_OPTIONS, FridaApplicationQueryOptionsClass))
#define FRIDA_IS_APPLICATION_QUERY_OPTIONS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_APPLICATION_QUERY_OPTIONS))
#define FRIDA_IS_APPLICATION_QUERY_OPTIONS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), FRIDA_TYPE_APPLICATION_QUERY_OPTIONS))
#define FRIDA_APPLICATION_QUERY_OPTIONS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), FRIDA_TYPE_APPLICATION_QUERY_OPTIONS, FridaApplicationQueryOptionsClass))

typedef struct _FridaApplicationQueryOptions FridaApplicationQueryOptions;
typedef struct _FridaApplicationQueryOptionsClass FridaApplicationQueryOptionsClass;

#define FRIDA_TYPE_PROCESS_QUERY_OPTIONS (frida_process_query_options_get_type ())
#define FRIDA_PROCESS_QUERY_OPTIONS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_PROCESS_QUERY_OPTIONS, FridaProcessQueryOptions))
#define FRIDA_PROCESS_QUERY_OPTIONS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), FRIDA_TYPE_PROCESS_QUERY_OPTIONS, FridaProcessQueryOptionsClass))
#define FRIDA_IS_PROCESS_QUERY_OPTIONS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_PROCESS_QUERY_OPTIONS))
#define FRIDA_IS_PROCESS_QUERY_OPTIONS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), FRIDA_TYPE_PROCESS_QUERY_OPTIONS))
#define FRIDA_PROCESS_QUERY_OPTIONS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), FRIDA_TYPE_PROCESS_QUERY_OPTIONS, FridaProcessQueryOptionsClass))

typedef struct _FridaProcessQueryOptions FridaProcessQueryOptions;
typedef struct _FridaProcessQueryOptionsClass FridaProcessQueryOptionsClass;

#define FRIDA_TYPE_SESSION_OPTIONS (frida_session_options_get_type ())
#define FRIDA_SESSION_OPTIONS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_SESSION_OPTIONS, FridaSessionOptions))
#define FRIDA_SESSION_OPTIONS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), FRIDA_TYPE_SESSION_OPTIONS, FridaSessionOptionsClass))
#define FRIDA_IS_SESSION_OPTIONS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_SESSION_OPTIONS))
#define FRIDA_IS_SESSION_OPTIONS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), FRIDA_TYPE_SESSION_OPTIONS))
#define FRIDA_SESSION_OPTIONS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), FRIDA_TYPE_SESSION_OPTIONS, FridaSessionOptionsClass))

typedef struct _FridaSessionOptions FridaSessionOptions;
typedef struct _FridaSessionOptionsClass FridaSessionOptionsClass;

#define FRIDA_TYPE_CRASH_INFO (frida_crash_info_get_type ())
typedef struct _FridaCrashInfo FridaCrashInfo;

#define FRIDA_TYPE_SCRIPT_OPTIONS (frida_script_options_get_type ())
#define FRIDA_SCRIPT_OPTIONS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_SCRIPT_OPTIONS, FridaScriptOptions))
#define FRIDA_SCRIPT_OPTIONS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), FRIDA_TYPE_SCRIPT_OPTIONS, FridaScriptOptionsClass))
#define FRIDA_IS_SCRIPT_OPTIONS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_SCRIPT_OPTIONS))
#define FRIDA_IS_SCRIPT_OPTIONS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), FRIDA_TYPE_SCRIPT_OPTIONS))
#define FRIDA_SCRIPT_OPTIONS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), FRIDA_TYPE_SCRIPT_OPTIONS, FridaScriptOptionsClass))

typedef struct _FridaScriptOptions FridaScriptOptions;
typedef struct _FridaScriptOptionsClass FridaScriptOptionsClass;
typedef enum  {
	FRIDA_SNAPSHOT_TRANSPORT_INLINE,
	FRIDA_SNAPSHOT_TRANSPORT_SHARED_MEMORY
} FridaSnapshotTransport;

#define FRIDA_TYPE_SNAPSHOT_TRANSPORT (frida_snapshot_transport_get_type ())
typedef enum  {
	FRIDA_SCRIPT_RUNTIME_DEFAULT,
	FRIDA_SCRIPT_RUNTIME_QJS,
	FRIDA_SCRIPT_RUNTIME_V8
} FridaScriptRuntime;

#define FRIDA_TYPE_SCRIPT_RUNTIME (frida_script_runtime_get_type ())

#define FRIDA_TYPE_SNAPSHOT_OPTIONS (frida_snapshot_options_get_type ())
#define FRIDA_SNAPSHOT_OPTIONS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_SNAPSHOT_OPTIONS, FridaSnapshotOptions))
#define FRIDA_SNAPSHOT_OPTIONS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), FRIDA_TYPE_SNAPSHOT_OPTIONS, FridaSnapshotOptionsClass))
#define FRIDA_IS_SNAPSHOT_OPTIONS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_SNAPSHOT_OPTIONS))
#define FRIDA_IS_SNAPSHOT_OPTIONS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), FRIDA_TYPE_SNAPSHOT_OPTIONS))
#define FRIDA_SNAPSHOT_OPTIONS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), FRIDA_TYPE_SNAPSHOT_OPTIONS, FridaSnapshotOptionsClass))

typedef struct _FridaSnapshotOptions FridaSnapshotOptions;
typedef struct _FridaSnapshotOptionsClass FridaSnapshotOptionsClass;

#define FRIDA_TYPE_PORTAL_OPTIONS (frida_portal_options_get_type ())
#define FRIDA_PORTAL_OPTIONS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_PORTAL_OPTIONS, FridaPortalOptions))
#define FRIDA_PORTAL_OPTIONS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), FRIDA_TYPE_PORTAL_OPTIONS, FridaPortalOptionsClass))
#define FRIDA_IS_PORTAL_OPTIONS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_PORTAL_OPTIONS))
#define FRIDA_IS_PORTAL_OPTIONS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), FRIDA_TYPE_PORTAL_OPTIONS))
#define FRIDA_PORTAL_OPTIONS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), FRIDA_TYPE_PORTAL_OPTIONS, FridaPortalOptionsClass))

typedef struct _FridaPortalOptions FridaPortalOptions;
typedef struct _FridaPortalOptionsClass FridaPortalOptionsClass;

#define FRIDA_TYPE_PEER_OPTIONS (frida_peer_options_get_type ())
#define FRIDA_PEER_OPTIONS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_PEER_OPTIONS, FridaPeerOptions))
#define FRIDA_PEER_OPTIONS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), FRIDA_TYPE_PEER_OPTIONS, FridaPeerOptionsClass))
#define FRIDA_IS_PEER_OPTIONS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_PEER_OPTIONS))
#define FRIDA_IS_PEER_OPTIONS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), FRIDA_TYPE_PEER_OPTIONS))
#define FRIDA_PEER_OPTIONS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), FRIDA_TYPE_PEER_OPTIONS, FridaPeerOptionsClass))

typedef struct _FridaPeerOptions FridaPeerOptions;
typedef struct _FridaPeerOptionsClass FridaPeerOptionsClass;

#define FRIDA_TYPE_RELAY (frida_relay_get_type ())
#define FRIDA_RELAY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_RELAY, FridaRelay))
#define FRIDA_RELAY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), FRIDA_TYPE_RELAY, FridaRelayClass))
#define FRIDA_IS_RELAY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_RELAY))
#define FRIDA_IS_RELAY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), FRIDA_TYPE_RELAY))
#define FRIDA_RELAY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), FRIDA_TYPE_RELAY, FridaRelayClass))

typedef struct _FridaRelay FridaRelay;
typedef struct _FridaRelayClass FridaRelayClass;
typedef enum  {
	FRIDA_RELAY_KIND_TURN_UDP,
	FRIDA_RELAY_KIND_TURN_TCP,
	FRIDA_RELAY_KIND_TURN_TLS
} FridaRelayKind;

#define FRIDA_TYPE_RELAY_KIND (frida_relay_kind_get_type ())

#define FRIDA_TYPE_CHANNEL_REGISTRY (frida_channel_registry_get_type ())
#define FRIDA_CHANNEL_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_CHANNEL_REGISTRY, FridaChannelRegistry))
#define FRIDA_CHANNEL_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), FRIDA_TYPE_CHANNEL_REGISTRY, FridaChannelRegistryClass))
#define FRIDA_IS_CHANNEL_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_CHANNEL_REGISTRY))
#define FRIDA_IS_CHANNEL_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), FRIDA_TYPE_CHANNEL_REGISTRY))
#define FRIDA_CHANNEL_REGISTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), FRIDA_TYPE_CHANNEL_REGISTRY, FridaChannelRegistryClass))

typedef struct _FridaChannelRegistry FridaChannelRegistry;
typedef struct _FridaChannelRegistryClass FridaChannelRegistryClass;

#define FRIDA_TYPE_CHANNEL_ENDPOINT (frida_channel_endpoint_get_type ())
#define FRIDA_CHANNEL_ENDPOINT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_CHANNEL_ENDPOINT, FridaChannelEndpoint))
#define FRIDA_CHANNEL_ENDPOINT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), FRIDA_TYPE_CHANNEL_ENDPOINT, FridaChannelEndpointClass))
#define FRIDA_IS_CHANNEL_ENDPOINT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_CHANNEL_ENDPOINT))
#define FRIDA_IS_CHANNEL_ENDPOINT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), FRIDA_TYPE_CHANNEL_ENDPOINT))
#define FRIDA_CHANNEL_ENDPOINT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), FRIDA_TYPE_CHANNEL_ENDPOINT, FridaChannelEndpointClass))

typedef struct _FridaChannelEndpoint FridaChannelEndpoint;
typedef struct _FridaChannelEndpointClass FridaChannelEndpointClass;

#define FRIDA_TYPE_VIRTUAL_STREAM (frida_virtual_stream_get_type ())
#define FRIDA_VIRTUAL_STREAM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_VIRTUAL_STREAM, FridaVirtualStream))
#define FRIDA_VIRTUAL_STREAM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), FRIDA_TYPE_VIRTUAL_STREAM, FridaVirtualStreamClass))
#define FRIDA_IS_VIRTUAL_STREAM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_VIRTUAL_STREAM))
#define FRIDA_IS_VIRTUAL_STREAM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), FRIDA_TYPE_VIRTUAL_STREAM))
#define FRIDA_VIRTUAL_STREAM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), FRIDA_TYPE_VIRTUAL_STREAM, FridaVirtualStreamClass))

typedef struct _FridaVirtualStream FridaVirtualStream;
typedef struct _FridaVirtualStreamClass FridaVirtualStreamClass;

#define FRIDA_TYPE_CHANNEL_STREAM (frida_channel_stream_get_type ())
#define FRIDA_CHANNEL_STREAM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_CHANNEL_STREAM, FridaChannelStream))
#define FRIDA_CHANNEL_STREAM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), FRIDA_TYPE_CHANNEL_STREAM, FridaChannelStreamClass))
#define FRIDA_IS_CHANNEL_STREAM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_CHANNEL_STREAM))
#define FRIDA_IS_CHANNEL_STREAM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), FRIDA_TYPE_CHANNEL_STREAM))
#define FRIDA_CHANNEL_STREAM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), FRIDA_TYPE_CHANNEL_STREAM, FridaChannelStreamClass))

typedef struct _FridaChannelStream FridaChannelStream;
typedef struct _FridaChannelStreamClass FridaChannelStreamClass;

#define FRIDA_TYPE_SERVICE_SESSION_REGISTRY (frida_service_session_registry_get_type ())
#define FRIDA_SERVICE_SESSION_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_SERVICE_SESSION_REGISTRY, FridaServiceSessionRegistry))
#define FRIDA_SERVICE_SESSION_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), FRIDA_TYPE_SERVICE_SESSION_REGISTRY, FridaServiceSessionRegistryClass))
#define FRIDA_IS_SERVICE_SESSION_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_SERVICE_SESSION_REGISTRY))
#define FRIDA_IS_SERVICE_SESSION_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), FRIDA_TYPE_SERVICE_SESSION_REGISTRY))
#define FRIDA_SERVICE_SESSION_REGISTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), FRIDA_TYPE_SERVICE_SESSION_REGISTRY, FridaServiceSessionRegistryClass))

typedef struct _FridaServiceSessionRegistry FridaServiceSessionRegistry;
typedef struct _FridaServiceSessionRegistryClass FridaServiceSessionRegistryClass;
typedef struct _FridaVirtualStreamPrivate FridaVirtualStreamPrivate;
typedef enum  {
	FRIDA_VIRTUAL_STREAM_STATE_CREATED,
	FRIDA_VIRTUAL_STREAM_STATE_OPENING,
	FRIDA_VIRTUAL_STREAM_STATE_OPEN,
	FRIDA_VIRTUAL_STREAM_STATE_CLOSED
} FridaVirtualStreamState;

#define FRIDA_VIRTUAL_STREAM_TYPE_STATE (frida_virtual_stream_state_get_type ())
typedef void (*FridaVirtualStreamWorkFunc) (gpointer user_data);

#define FRIDA_TYPE_VIRTUAL_INPUT_STREAM (frida_virtual_input_stream_get_type ())
#define FRIDA_VIRTUAL_INPUT_STREAM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_VIRTUAL_INPUT_STREAM, FridaVirtualInputStream))
#define FRIDA_VIRTUAL_INPUT_STREAM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), FRIDA_TYPE_VIRTUAL_INPUT_STREAM, FridaVirtualInputStreamClass))
#define FRIDA_IS_VIRTUAL_INPUT_STREAM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_VIRTUAL_INPUT_STREAM))
#define FRIDA_IS_VIRTUAL_INPUT_STREAM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), FRIDA_TYPE_VIRTUAL_INPUT_STREAM))
#define FRIDA_VIRTUAL_INPUT_STREAM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), FRIDA_TYPE_VIRTUAL_INPUT_STREAM, FridaVirtualInputStreamClass))

typedef struct _FridaVirtualInputStream FridaVirtualInputStream;
typedef struct _FridaVirtualInputStreamClass FridaVirtualInputStreamClass;

#define FRIDA_TYPE_VIRTUAL_OUTPUT_STREAM (frida_virtual_output_stream_get_type ())
#define FRIDA_VIRTUAL_OUTPUT_STREAM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_VIRTUAL_OUTPUT_STREAM, FridaVirtualOutputStream))
#define FRIDA_VIRTUAL_OUTPUT_STREAM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), FRIDA_TYPE_VIRTUAL_OUTPUT_STREAM, FridaVirtualOutputStreamClass))
#define FRIDA_IS_VIRTUAL_OUTPUT_STREAM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_VIRTUAL_OUTPUT_STREAM))
#define FRIDA_IS_VIRTUAL_OUTPUT_STREAM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), FRIDA_TYPE_VIRTUAL_OUTPUT_STREAM))
#define FRIDA_VIRTUAL_OUTPUT_STREAM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), FRIDA_TYPE_VIRTUAL_OUTPUT_STREAM, FridaVirtualOutputStreamClass))

typedef struct _FridaVirtualOutputStream FridaVirtualOutputStream;
typedef struct _FridaVirtualOutputStreamClass FridaVirtualOutputStreamClass;

#define FRIDA_TYPE_RPC_CLIENT (frida_rpc_client_get_type ())
#define FRIDA_RPC_CLIENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_RPC_CLIENT, FridaRpcClient))
#define FRIDA_RPC_CLIENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), FRIDA_TYPE_RPC_CLIENT, FridaRpcClientClass))
#define FRIDA_IS_RPC_CLIENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_RPC_CLIENT))
#define FRIDA_IS_RPC_CLIENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), FRIDA_TYPE_RPC_CLIENT))
#define FRIDA_RPC_CLIENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), FRIDA_TYPE_RPC_CLIENT, FridaRpcClientClass))

typedef struct _FridaRpcClient FridaRpcClient;
typedef struct _FridaRpcClientClass FridaRpcClientClass;

#define FRIDA_TYPE_RPC_PEER (frida_rpc_peer_get_type ())
#define FRIDA_RPC_PEER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_RPC_PEER, FridaRpcPeer))
#define FRIDA_IS_RPC_PEER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_RPC_PEER))
#define FRIDA_RPC_PEER_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), FRIDA_TYPE_RPC_PEER, FridaRpcPeerIface))

typedef struct _FridaRpcPeer FridaRpcPeer;
typedef struct _FridaRpcPeerIface FridaRpcPeerIface;

#define FRIDA_TYPE_PEER_SESSION_DESCRIPTION (frida_peer_session_description_get_type ())
#define FRIDA_PEER_SESSION_DESCRIPTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_PEER_SESSION_DESCRIPTION, FridaPeerSessionDescription))
#define FRIDA_PEER_SESSION_DESCRIPTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), FRIDA_TYPE_PEER_SESSION_DESCRIPTION, FridaPeerSessionDescriptionClass))
#define FRIDA_IS_PEER_SESSION_DESCRIPTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_PEER_SESSION_DESCRIPTION))
#define FRIDA_IS_PEER_SESSION_DESCRIPTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), FRIDA_TYPE_PEER_SESSION_DESCRIPTION))
#define FRIDA_PEER_SESSION_DESCRIPTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), FRIDA_TYPE_PEER_SESSION_DESCRIPTION, FridaPeerSessionDescriptionClass))

typedef struct _FridaPeerSessionDescription FridaPeerSessionDescription;
typedef struct _FridaPeerSessionDescriptionClass FridaPeerSessionDescriptionClass;
typedef struct _FridaPeerSessionDescriptionPrivate FridaPeerSessionDescriptionPrivate;
typedef enum  {
	FRIDA_PEER_SETUP_ACTIVE,
	FRIDA_PEER_SETUP_PASSIVE,
	FRIDA_PEER_SETUP_ACTPASS,
	FRIDA_PEER_SETUP_HOLDCONN
} FridaPeerSetup;

#define FRIDA_TYPE_PEER_SETUP (frida_peer_setup_get_type ())

#define FRIDA_TYPE_PEER_SOCKET (frida_peer_socket_get_type ())
#define FRIDA_PEER_SOCKET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_PEER_SOCKET, FridaPeerSocket))
#define FRIDA_PEER_SOCKET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), FRIDA_TYPE_PEER_SOCKET, FridaPeerSocketClass))
#define FRIDA_IS_PEER_SOCKET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_PEER_SOCKET))
#define FRIDA_IS_PEER_SOCKET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), FRIDA_TYPE_PEER_SOCKET))
#define FRIDA_PEER_SOCKET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), FRIDA_TYPE_PEER_SOCKET, FridaPeerSocketClass))

typedef struct _FridaPeerSocket FridaPeerSocket;
typedef struct _FridaPeerSocketClass FridaPeerSocketClass;

#define FRIDA_TYPE_SCTP_CONNECTION (frida_sctp_connection_get_type ())
#define FRIDA_SCTP_CONNECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_SCTP_CONNECTION, FridaSctpConnection))
#define FRIDA_SCTP_CONNECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), FRIDA_TYPE_SCTP_CONNECTION, FridaSctpConnectionClass))
#define FRIDA_IS_SCTP_CONNECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_SCTP_CONNECTION))
#define FRIDA_IS_SCTP_CONNECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), FRIDA_TYPE_SCTP_CONNECTION))
#define FRIDA_SCTP_CONNECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), FRIDA_TYPE_SCTP_CONNECTION, FridaSctpConnectionClass))

typedef struct _FridaSctpConnection FridaSctpConnection;
typedef struct _FridaSctpConnectionClass FridaSctpConnectionClass;
typedef enum  {
	FRIDA_SCTP_SHUTDOWN_TYPE_READ = 1,
	FRIDA_SCTP_SHUTDOWN_TYPE_WRITE,
	FRIDA_SCTP_SHUTDOWN_TYPE_READ_WRITE
} FridaSctpShutdownType;

#define FRIDA_TYPE_SCTP_SHUTDOWN_TYPE (frida_sctp_shutdown_type_get_type ())
typedef enum  {
	FRIDA_PAYLOAD_PROTOCOL_ID_NONE = 0,
	FRIDA_PAYLOAD_PROTOCOL_ID_WEBRTC_DCEP = 50,
	FRIDA_PAYLOAD_PROTOCOL_ID_WEBRTC_STRING,
	FRIDA_PAYLOAD_PROTOCOL_ID_WEBRTC_BINARY_PARTIAL,
	FRIDA_PAYLOAD_PROTOCOL_ID_WEBRTC_BINARY,
	FRIDA_PAYLOAD_PROTOCOL_ID_WEBRTC_STRING_PARTIAL,
	FRIDA_PAYLOAD_PROTOCOL_ID_WEBRTC_STRING_EMPTY,
	FRIDA_PAYLOAD_PROTOCOL_ID_WEBRTC_BINARY_EMPTY
} FridaPayloadProtocolId;

#define FRIDA_TYPE_PAYLOAD_PROTOCOL_ID (frida_payload_protocol_id_get_type ())
typedef enum  {
	FRIDA_SCTP_MESSAGE_FLAGS_END_OF_RECORD = 1 << 0,
	FRIDA_SCTP_MESSAGE_FLAGS_NOTIFICATION = 1 << 1
} FridaSctpMessageFlags;

#define FRIDA_TYPE_SCTP_MESSAGE_FLAGS (frida_sctp_message_flags_get_type ())
typedef enum  {
	FRIDA_DCEP_MESSAGE_TYPE_DATA_CHANNEL_OPEN = 0x03,
	FRIDA_DCEP_MESSAGE_TYPE_DATA_CHANNEL_ACK = 0x02
} FridaDcepMessageType;

#define FRIDA_TYPE_DCEP_MESSAGE_TYPE (frida_dcep_message_type_get_type ())

#define FRIDA_TYPE_DUMMY_INPUT_STREAM (frida_dummy_input_stream_get_type ())
#define FRIDA_DUMMY_INPUT_STREAM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_DUMMY_INPUT_STREAM, FridaDummyInputStream))
#define FRIDA_DUMMY_INPUT_STREAM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), FRIDA_TYPE_DUMMY_INPUT_STREAM, FridaDummyInputStreamClass))
#define FRIDA_IS_DUMMY_INPUT_STREAM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_DUMMY_INPUT_STREAM))
#define FRIDA_IS_DUMMY_INPUT_STREAM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), FRIDA_TYPE_DUMMY_INPUT_STREAM))
#define FRIDA_DUMMY_INPUT_STREAM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), FRIDA_TYPE_DUMMY_INPUT_STREAM, FridaDummyInputStreamClass))

typedef struct _FridaDummyInputStream FridaDummyInputStream;
typedef struct _FridaDummyInputStreamClass FridaDummyInputStreamClass;

#define FRIDA_TYPE_PROMISE (frida_promise_get_type ())
#define FRIDA_PROMISE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_PROMISE, FridaPromise))
#define FRIDA_PROMISE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), FRIDA_TYPE_PROMISE, FridaPromiseClass))
#define FRIDA_IS_PROMISE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_PROMISE))
#define FRIDA_IS_PROMISE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), FRIDA_TYPE_PROMISE))
#define FRIDA_PROMISE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), FRIDA_TYPE_PROMISE, FridaPromiseClass))

typedef struct _FridaPromise FridaPromise;
typedef struct _FridaPromiseClass FridaPromiseClass;

#define FRIDA_TYPE_FUTURE (frida_future_get_type ())
#define FRIDA_FUTURE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_FUTURE, FridaFuture))
#define FRIDA_IS_FUTURE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_FUTURE))
#define FRIDA_FUTURE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), FRIDA_TYPE_FUTURE, FridaFutureIface))

typedef struct _FridaFuture FridaFuture;
typedef struct _FridaFutureIface FridaFutureIface;
typedef void (*FridaFutureCompletionHandler) (FridaFuture* future, gpointer user_data);

#define FRIDA_TYPE_ENDPOINT_PARAMETERS (frida_endpoint_parameters_get_type ())
#define FRIDA_ENDPOINT_PARAMETERS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_ENDPOINT_PARAMETERS, FridaEndpointParameters))
#define FRIDA_ENDPOINT_PARAMETERS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), FRIDA_TYPE_ENDPOINT_PARAMETERS, FridaEndpointParametersClass))
#define FRIDA_IS_ENDPOINT_PARAMETERS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_ENDPOINT_PARAMETERS))
#define FRIDA_IS_ENDPOINT_PARAMETERS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), FRIDA_TYPE_ENDPOINT_PARAMETERS))
#define FRIDA_ENDPOINT_PARAMETERS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), FRIDA_TYPE_ENDPOINT_PARAMETERS, FridaEndpointParametersClass))

typedef struct _FridaEndpointParameters FridaEndpointParameters;
typedef struct _FridaEndpointParametersClass FridaEndpointParametersClass;
typedef enum  {
	FRIDA_WEB_SERVICE_TRANSPORT_PLAIN,
	FRIDA_WEB_SERVICE_TRANSPORT_TLS
} FridaWebServiceTransport;

#define FRIDA_TYPE_WEB_SERVICE_TRANSPORT (frida_web_service_transport_get_type ())

#define FRIDA_TYPE_WEB_SERVICE (frida_web_service_get_type ())
#define FRIDA_WEB_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_WEB_SERVICE, FridaWebService))
#define FRIDA_WEB_SERVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), FRIDA_TYPE_WEB_SERVICE, FridaWebServiceClass))
#define FRIDA_IS_WEB_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_WEB_SERVICE))
#define FRIDA_IS_WEB_SERVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), FRIDA_TYPE_WEB_SERVICE))
#define FRIDA_WEB_SERVICE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), FRIDA_TYPE_WEB_SERVICE, FridaWebServiceClass))

typedef struct _FridaWebService FridaWebService;
typedef struct _FridaWebServiceClass FridaWebServiceClass;
typedef enum  {
	FRIDA_WEB_SERVICE_FLAVOR_CONTROL,
	FRIDA_WEB_SERVICE_FLAVOR_CLUSTER
} FridaWebServiceFlavor;

#define FRIDA_TYPE_WEB_SERVICE_FLAVOR (frida_web_service_flavor_get_type ())
typedef enum  {
	FRIDA_PORT_CONFLICT_BEHAVIOR_FAIL,
	FRIDA_PORT_CONFLICT_BEHAVIOR_PICK_NEXT
} FridaPortConflictBehavior;

#define FRIDA_TYPE_PORT_CONFLICT_BEHAVIOR (frida_port_conflict_behavior_get_type ())

#define FRIDA_TYPE_DYNAMIC_INTERFACE_OBSERVER (frida_dynamic_interface_observer_get_type ())
#define FRIDA_DYNAMIC_INTERFACE_OBSERVER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_DYNAMIC_INTERFACE_OBSERVER, FridaDynamicInterfaceObserver))
#define FRIDA_IS_DYNAMIC_INTERFACE_OBSERVER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_DYNAMIC_INTERFACE_OBSERVER))
#define FRIDA_DYNAMIC_INTERFACE_OBSERVER_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), FRIDA_TYPE_DYNAMIC_INTERFACE_OBSERVER, FridaDynamicInterfaceObserverIface))

typedef struct _FridaDynamicInterfaceObserver FridaDynamicInterfaceObserver;
typedef struct _FridaDynamicInterfaceObserverIface FridaDynamicInterfaceObserverIface;

#define FRIDA_TYPE_DYNAMIC_INTERFACE (frida_dynamic_interface_get_type ())
#define FRIDA_DYNAMIC_INTERFACE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_DYNAMIC_INTERFACE, FridaDynamicInterface))
#define FRIDA_DYNAMIC_INTERFACE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), FRIDA_TYPE_DYNAMIC_INTERFACE, FridaDynamicInterfaceClass))
#define FRIDA_IS_DYNAMIC_INTERFACE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_DYNAMIC_INTERFACE))
#define FRIDA_IS_DYNAMIC_INTERFACE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), FRIDA_TYPE_DYNAMIC_INTERFACE))
#define FRIDA_DYNAMIC_INTERFACE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), FRIDA_TYPE_DYNAMIC_INTERFACE, FridaDynamicInterfaceClass))

typedef struct _FridaDynamicInterface FridaDynamicInterface;
typedef struct _FridaDynamicInterfaceClass FridaDynamicInterfaceClass;

#define FRIDA_TYPE_WEB_CONNECTION (frida_web_connection_get_type ())
#define FRIDA_WEB_CONNECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_WEB_CONNECTION, FridaWebConnection))
#define FRIDA_WEB_CONNECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), FRIDA_TYPE_WEB_CONNECTION, FridaWebConnectionClass))
#define FRIDA_IS_WEB_CONNECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_WEB_CONNECTION))
#define FRIDA_IS_WEB_CONNECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), FRIDA_TYPE_WEB_CONNECTION))
#define FRIDA_WEB_CONNECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), FRIDA_TYPE_WEB_CONNECTION, FridaWebConnectionClass))

typedef struct _FridaWebConnection FridaWebConnection;
typedef struct _FridaWebConnectionClass FridaWebConnectionClass;

#define FRIDA_TYPE_BUFFER_BUILDER (frida_buffer_builder_get_type ())
#define FRIDA_BUFFER_BUILDER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_BUFFER_BUILDER, FridaBufferBuilder))
#define FRIDA_BUFFER_BUILDER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), FRIDA_TYPE_BUFFER_BUILDER, FridaBufferBuilderClass))
#define FRIDA_IS_BUFFER_BUILDER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_BUFFER_BUILDER))
#define FRIDA_IS_BUFFER_BUILDER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), FRIDA_TYPE_BUFFER_BUILDER))
#define FRIDA_BUFFER_BUILDER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), FRIDA_TYPE_BUFFER_BUILDER, FridaBufferBuilderClass))

typedef struct _FridaBufferBuilder FridaBufferBuilder;
typedef struct _FridaBufferBuilderClass FridaBufferBuilderClass;
typedef enum  {
	FRIDA_STRING_TERMINATOR_NONE,
	FRIDA_STRING_TERMINATOR_NUL
} FridaStringTerminator;

#define FRIDA_TYPE_STRING_TERMINATOR (frida_string_terminator_get_type ())

#define FRIDA_TYPE_BUFFER (frida_buffer_get_type ())
#define FRIDA_BUFFER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_BUFFER, FridaBuffer))
#define FRIDA_BUFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), FRIDA_TYPE_BUFFER, FridaBufferClass))
#define FRIDA_IS_BUFFER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_BUFFER))
#define FRIDA_IS_BUFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), FRIDA_TYPE_BUFFER))
#define FRIDA_BUFFER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), FRIDA_TYPE_BUFFER, FridaBufferClass))

typedef struct _FridaBuffer FridaBuffer;
typedef struct _FridaBufferClass FridaBufferClass;

#define FRIDA_TYPE_BUFFER_READER (frida_buffer_reader_get_type ())
#define FRIDA_BUFFER_READER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_BUFFER_READER, FridaBufferReader))
#define FRIDA_BUFFER_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), FRIDA_TYPE_BUFFER_READER, FridaBufferReaderClass))
#define FRIDA_IS_BUFFER_READER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_BUFFER_READER))
#define FRIDA_IS_BUFFER_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), FRIDA_TYPE_BUFFER_READER))
#define FRIDA_BUFFER_READER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), FRIDA_TYPE_BUFFER_READER, FridaBufferReaderClass))

typedef struct _FridaBufferReader FridaBufferReader;
typedef struct _FridaBufferReaderClass FridaBufferReaderClass;

#define FRIDA_TYPE_OBJECT_BUILDER (frida_object_builder_get_type ())
#define FRIDA_OBJECT_BUILDER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_OBJECT_BUILDER, FridaObjectBuilder))
#define FRIDA_IS_OBJECT_BUILDER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_OBJECT_BUILDER))
#define FRIDA_OBJECT_BUILDER_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), FRIDA_TYPE_OBJECT_BUILDER, FridaObjectBuilderIface))

typedef struct _FridaObjectBuilder FridaObjectBuilder;
typedef struct _FridaObjectBuilderIface FridaObjectBuilderIface;

#define FRIDA_TYPE_OBJECT_READER (frida_object_reader_get_type ())
#define FRIDA_OBJECT_READER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_OBJECT_READER, FridaObjectReader))
#define FRIDA_IS_OBJECT_READER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_OBJECT_READER))
#define FRIDA_OBJECT_READER_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), FRIDA_TYPE_OBJECT_READER, FridaObjectReaderIface))

typedef struct _FridaObjectReader FridaObjectReader;
typedef struct _FridaObjectReaderIface FridaObjectReaderIface;

#define FRIDA_TYPE_VARIANT_READER (frida_variant_reader_get_type ())
#define FRIDA_VARIANT_READER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_VARIANT_READER, FridaVariantReader))
#define FRIDA_VARIANT_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), FRIDA_TYPE_VARIANT_READER, FridaVariantReaderClass))
#define FRIDA_IS_VARIANT_READER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_VARIANT_READER))
#define FRIDA_IS_VARIANT_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), FRIDA_TYPE_VARIANT_READER))
#define FRIDA_VARIANT_READER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), FRIDA_TYPE_VARIANT_READER, FridaVariantReaderClass))

typedef struct _FridaVariantReader FridaVariantReader;
typedef struct _FridaVariantReaderClass FridaVariantReaderClass;

#define FRIDA_TYPE_JSON_OBJECT_BUILDER (frida_json_object_builder_get_type ())
#define FRIDA_JSON_OBJECT_BUILDER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_JSON_OBJECT_BUILDER, FridaJsonObjectBuilder))
#define FRIDA_JSON_OBJECT_BUILDER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), FRIDA_TYPE_JSON_OBJECT_BUILDER, FridaJsonObjectBuilderClass))
#define FRIDA_IS_JSON_OBJECT_BUILDER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_JSON_OBJECT_BUILDER))
#define FRIDA_IS_JSON_OBJECT_BUILDER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), FRIDA_TYPE_JSON_OBJECT_BUILDER))
#define FRIDA_JSON_OBJECT_BUILDER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), FRIDA_TYPE_JSON_OBJECT_BUILDER, FridaJsonObjectBuilderClass))

typedef struct _FridaJsonObjectBuilder FridaJsonObjectBuilder;
typedef struct _FridaJsonObjectBuilderClass FridaJsonObjectBuilderClass;

#define FRIDA_TYPE_JSON_OBJECT_READER (frida_json_object_reader_get_type ())
#define FRIDA_JSON_OBJECT_READER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_JSON_OBJECT_READER, FridaJsonObjectReader))
#define FRIDA_JSON_OBJECT_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), FRIDA_TYPE_JSON_OBJECT_READER, FridaJsonObjectReaderClass))
#define FRIDA_IS_JSON_OBJECT_READER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_JSON_OBJECT_READER))
#define FRIDA_IS_JSON_OBJECT_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), FRIDA_TYPE_JSON_OBJECT_READER))
#define FRIDA_JSON_OBJECT_READER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), FRIDA_TYPE_JSON_OBJECT_READER, FridaJsonObjectReaderClass))

typedef struct _FridaJsonObjectReader FridaJsonObjectReader;
typedef struct _FridaJsonObjectReaderClass FridaJsonObjectReaderClass;

#define FRIDA_TYPE_FILE_DESCRIPTOR (frida_file_descriptor_get_type ())
#define FRIDA_FILE_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_FILE_DESCRIPTOR, FridaFileDescriptor))
#define FRIDA_FILE_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), FRIDA_TYPE_FILE_DESCRIPTOR, FridaFileDescriptorClass))
#define FRIDA_IS_FILE_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_FILE_DESCRIPTOR))
#define FRIDA_IS_FILE_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), FRIDA_TYPE_FILE_DESCRIPTOR))
#define FRIDA_FILE_DESCRIPTOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), FRIDA_TYPE_FILE_DESCRIPTOR, FridaFileDescriptorClass))

typedef struct _FridaFileDescriptor FridaFileDescriptor;
typedef struct _FridaFileDescriptorClass FridaFileDescriptorClass;
typedef struct _FridaFileDescriptorPrivate FridaFileDescriptorPrivate;

#define FRIDA_TYPE_PID_FILE_DESCRIPTOR (frida_pid_file_descriptor_get_type ())
#define FRIDA_PID_FILE_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FRIDA_TYPE_PID_FILE_DESCRIPTOR, FridaPidFileDescriptor))
#define FRIDA_PID_FILE_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), FRIDA_TYPE_PID_FILE_DESCRIPTOR, FridaPidFileDescriptorClass))
#define FRIDA_IS_PID_FILE_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FRIDA_TYPE_PID_FILE_DESCRIPTOR))
#define FRIDA_IS_PID_FILE_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), FRIDA_TYPE_PID_FILE_DESCRIPTOR))
#define FRIDA_PID_FILE_DESCRIPTOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), FRIDA_TYPE_PID_FILE_DESCRIPTOR, FridaPidFileDescriptorClass))

typedef struct _FridaPidFileDescriptor FridaPidFileDescriptor;
typedef struct _FridaPidFileDescriptorClass FridaPidFileDescriptorClass;

struct _FridaHostApplicationInfo {
	gchar* identifier;
	gchar* name;
	guint pid;
	GHashTable* parameters;
};

struct _FridaHostProcessInfo {
	guint pid;
	gchar* name;
	GHashTable* parameters;
};

struct _FridaHostSpawnInfo {
	guint pid;
	gchar* identifier;
};

struct _FridaHostChildInfo {
	guint pid;
	guint parent_pid;
	FridaChildOrigin origin;
	gchar* identifier;
	gchar* path;
	gboolean has_argv;
	gchar** argv;
	gint argv_length1;
	gboolean has_envp;
	gchar** envp;
	gint envp_length1;
};

struct _FridaHostSpawnOptions {
	gboolean has_argv;
	gchar** argv;
	gint argv_length1;
	gboolean has_envp;
	gchar** envp;
	gint envp_length1;
	gboolean has_env;
	gchar** env;
	gint env_length1;
	gchar* cwd;
	FridaStdio stdio;
	GHashTable* aux;
};

struct _FridaAgentSessionId {
	gchar* handle;
};

struct _FridaInjectorPayloadId {
	guint handle;
};

struct _FridaChannelId {
	gchar* handle;
};

struct _FridaServiceSessionId {
	gchar* handle;
};

struct _FridaHostSessionIface {
	GTypeInterface parent_iface;
	void (*ping) (FridaHostSession* self, guint interval_seconds, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*ping_finish) (FridaHostSession* self, GAsyncResult* _res_, GError** error);
	void (*query_system_parameters) (FridaHostSession* self, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	GHashTable* (*query_system_parameters_finish) (FridaHostSession* self, GAsyncResult* _res_, GError** error);
	void (*get_frontmost_application) (FridaHostSession* self, GHashTable* options, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*get_frontmost_application_finish) (FridaHostSession* self, GAsyncResult* _res_, FridaHostApplicationInfo* result, GError** error);
	void (*enumerate_applications) (FridaHostSession* self, GHashTable* options, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	FridaHostApplicationInfo* (*enumerate_applications_finish) (FridaHostSession* self, GAsyncResult* _res_, gint* result_length1, GError** error);
	void (*enumerate_processes) (FridaHostSession* self, GHashTable* options, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	FridaHostProcessInfo* (*enumerate_processes_finish) (FridaHostSession* self, GAsyncResult* _res_, gint* result_length1, GError** error);
	void (*enable_spawn_gating) (FridaHostSession* self, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*enable_spawn_gating_finish) (FridaHostSession* self, GAsyncResult* _res_, GError** error);
	void (*disable_spawn_gating) (FridaHostSession* self, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*disable_spawn_gating_finish) (FridaHostSession* self, GAsyncResult* _res_, GError** error);
	void (*enumerate_pending_spawn) (FridaHostSession* self, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	FridaHostSpawnInfo* (*enumerate_pending_spawn_finish) (FridaHostSession* self, GAsyncResult* _res_, gint* result_length1, GError** error);
	void (*enumerate_pending_children) (FridaHostSession* self, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	FridaHostChildInfo* (*enumerate_pending_children_finish) (FridaHostSession* self, GAsyncResult* _res_, gint* result_length1, GError** error);
	void (*spawn) (FridaHostSession* self, const gchar* program, FridaHostSpawnOptions* options, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	guint (*spawn_finish) (FridaHostSession* self, GAsyncResult* _res_, GError** error);
	void (*input) (FridaHostSession* self, guint pid, guint8* data, gint data_length1, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*input_finish) (FridaHostSession* self, GAsyncResult* _res_, GError** error);
	void (*resume) (FridaHostSession* self, guint pid, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*resume_finish) (FridaHostSession* self, GAsyncResult* _res_, GError** error);
	void (*kill) (FridaHostSession* self, guint pid, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*kill_finish) (FridaHostSession* self, GAsyncResult* _res_, GError** error);
	void (*attach) (FridaHostSession* self, guint pid, GHashTable* options, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*attach_finish) (FridaHostSession* self, GAsyncResult* _res_, FridaAgentSessionId* result, GError** error);
	void (*reattach) (FridaHostSession* self, FridaAgentSessionId* id, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*reattach_finish) (FridaHostSession* self, GAsyncResult* _res_, GError** error);
	void (*inject_library_file) (FridaHostSession* self, guint pid, const gchar* path, const gchar* entrypoint, const gchar* data, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*inject_library_file_finish) (FridaHostSession* self, GAsyncResult* _res_, FridaInjectorPayloadId* result, GError** error);
	void (*inject_library_blob) (FridaHostSession* self, guint pid, guint8* blob, gint blob_length1, const gchar* entrypoint, const gchar* data, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*inject_library_blob_finish) (FridaHostSession* self, GAsyncResult* _res_, FridaInjectorPayloadId* result, GError** error);
	void (*open_channel) (FridaHostSession* self, const gchar* address, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*open_channel_finish) (FridaHostSession* self, GAsyncResult* _res_, FridaChannelId* result, GError** error);
	void (*open_service) (FridaHostSession* self, const gchar* address, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*open_service_finish) (FridaHostSession* self, GAsyncResult* _res_, FridaServiceSessionId* result, GError** error);
};

struct _FridaAgentSessionProviderIface {
	GTypeInterface parent_iface;
	void (*open) (FridaAgentSessionProvider* self, FridaAgentSessionId* id, GHashTable* options, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*open_finish) (FridaAgentSessionProvider* self, GAsyncResult* _res_, GError** error);
	void (*migrate) (FridaAgentSessionProvider* self, FridaAgentSessionId* id, GSocket* to_socket, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*migrate_finish) (FridaAgentSessionProvider* self, GAsyncResult* _res_, GError** error);
	void (*unload) (FridaAgentSessionProvider* self, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*unload_finish) (FridaAgentSessionProvider* self, GAsyncResult* _res_, GError** error);
};

struct _FridaAgentScriptId {
	guint handle;
};

struct _FridaAgentMessage {
	FridaAgentMessageKind kind;
	FridaAgentScriptId script_id;
	gchar* text;
	gboolean has_data;
	guint8* data;
	gint data_length1;
};

struct _FridaPortalMembershipId {
	guint handle;
};

struct _FridaAgentSessionIface {
	GTypeInterface parent_iface;
	void (*close) (FridaAgentSession* self, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*close_finish) (FridaAgentSession* self, GAsyncResult* _res_, GError** error);
	void (*interrupt) (FridaAgentSession* self, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*interrupt_finish) (FridaAgentSession* self, GAsyncResult* _res_, GError** error);
	void (*resume) (FridaAgentSession* self, guint rx_batch_id, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*resume_finish) (FridaAgentSession* self, GAsyncResult* _res_, guint* tx_batch_id, GError** error);
	void (*enable_child_gating) (FridaAgentSession* self, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*enable_child_gating_finish) (FridaAgentSession* self, GAsyncResult* _res_, GError** error);
	void (*disable_child_gating) (FridaAgentSession* self, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*disable_child_gating_finish) (FridaAgentSession* self, GAsyncResult* _res_, GError** error);
	void (*create_script) (FridaAgentSession* self, const gchar* source, GHashTable* options, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*create_script_finish) (FridaAgentSession* self, GAsyncResult* _res_, FridaAgentScriptId* result, GError** error);
	void (*create_script_from_bytes) (FridaAgentSession* self, guint8* bytes, gint bytes_length1, GHashTable* options, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*create_script_from_bytes_finish) (FridaAgentSession* self, GAsyncResult* _res_, FridaAgentScriptId* result, GError** error);
	void (*compile_script) (FridaAgentSession* self, const gchar* source, GHashTable* options, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	guint8* (*compile_script_finish) (FridaAgentSession* self, GAsyncResult* _res_, gint* result_length1, GError** error);
	void (*snapshot_script) (FridaAgentSession* self, const gchar* embed_script, GHashTable* options, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	guint8* (*snapshot_script_finish) (FridaAgentSession* self, GAsyncResult* _res_, gint* result_length1, GError** error);
	void (*destroy_script) (FridaAgentSession* self, FridaAgentScriptId* script_id, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*destroy_script_finish) (FridaAgentSession* self, GAsyncResult* _res_, GError** error);
	void (*load_script) (FridaAgentSession* self, FridaAgentScriptId* script_id, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*load_script_finish) (FridaAgentSession* self, GAsyncResult* _res_, GError** error);
	void (*eternalize_script) (FridaAgentSession* self, FridaAgentScriptId* script_id, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*eternalize_script_finish) (FridaAgentSession* self, GAsyncResult* _res_, GError** error);
	void (*enable_debugger) (FridaAgentSession* self, FridaAgentScriptId* script_id, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*enable_debugger_finish) (FridaAgentSession* self, GAsyncResult* _res_, GError** error);
	void (*disable_debugger) (FridaAgentSession* self, FridaAgentScriptId* script_id, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*disable_debugger_finish) (FridaAgentSession* self, GAsyncResult* _res_, GError** error);
	void (*post_messages) (FridaAgentSession* self, FridaAgentMessage* messages, gint messages_length1, guint batch_id, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*post_messages_finish) (FridaAgentSession* self, GAsyncResult* _res_, GError** error);
	void (*join_portal) (FridaAgentSession* self, const gchar* address, GHashTable* options, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*join_portal_finish) (FridaAgentSession* self, GAsyncResult* _res_, FridaPortalMembershipId* result, GError** error);
	void (*leave_portal) (FridaAgentSession* self, FridaPortalMembershipId* membership_id, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*leave_portal_finish) (FridaAgentSession* self, GAsyncResult* _res_, GError** error);
	void (*offer_peer_connection) (FridaAgentSession* self, const gchar* offer_sdp, GHashTable* peer_options, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*offer_peer_connection_finish) (FridaAgentSession* self, GAsyncResult* _res_, gchar** answer_sdp, GError** error);
	void (*add_candidates) (FridaAgentSession* self, gchar** candidate_sdps, gint candidate_sdps_length1, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*add_candidates_finish) (FridaAgentSession* self, GAsyncResult* _res_, GError** error);
	void (*notify_candidate_gathering_done) (FridaAgentSession* self, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*notify_candidate_gathering_done_finish) (FridaAgentSession* self, GAsyncResult* _res_, GError** error);
	void (*begin_migration) (FridaAgentSession* self, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*begin_migration_finish) (FridaAgentSession* self, GAsyncResult* _res_, GError** error);
	void (*commit_migration) (FridaAgentSession* self, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*commit_migration_finish) (FridaAgentSession* self, GAsyncResult* _res_, GError** error);
};

struct _FridaHostChildId {
	guint handle;
};

struct _FridaAgentControllerIface {
	GTypeInterface parent_iface;
	void (*prepare_to_fork) (FridaAgentController* self, guint parent_pid, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*prepare_to_fork_finish) (FridaAgentController* self, GAsyncResult* _res_, guint* parent_injectee_id, guint* child_injectee_id, GSocket** child_socket, FridaHostChildId* result, GError** error);
	void (*prepare_to_specialize) (FridaAgentController* self, guint pid, const gchar* identifier, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*prepare_to_specialize_finish) (FridaAgentController* self, GAsyncResult* _res_, guint* specialized_injectee_id, gchar** specialized_pipe_address, FridaHostChildId* result, GError** error);
	void (*recreate_agent_thread) (FridaAgentController* self, guint pid, guint injectee_id, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*recreate_agent_thread_finish) (FridaAgentController* self, GAsyncResult* _res_, GError** error);
	void (*wait_for_permission_to_resume) (FridaAgentController* self, FridaHostChildId* id, FridaHostChildInfo* info, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*wait_for_permission_to_resume_finish) (FridaAgentController* self, GAsyncResult* _res_, GError** error);
	void (*prepare_to_exec) (FridaAgentController* self, FridaHostChildInfo* info, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*prepare_to_exec_finish) (FridaAgentController* self, GAsyncResult* _res_, GError** error);
	void (*cancel_exec) (FridaAgentController* self, guint pid, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*cancel_exec_finish) (FridaAgentController* self, GAsyncResult* _res_, GError** error);
	void (*acknowledge_spawn) (FridaAgentController* self, FridaHostChildInfo* info, FridaSpawnStartState start_state, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*acknowledge_spawn_finish) (FridaAgentController* self, GAsyncResult* _res_, GError** error);
};

struct _FridaAgentMessageSinkIface {
	GTypeInterface parent_iface;
	void (*post_messages) (FridaAgentMessageSink* self, FridaAgentMessage* messages, gint messages_length1, guint batch_id, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*post_messages_finish) (FridaAgentMessageSink* self, GAsyncResult* _res_, GError** error);
};

typedef enum  {
	FRIDA_ERROR_SERVER_NOT_RUNNING,
	FRIDA_ERROR_EXECUTABLE_NOT_FOUND,
	FRIDA_ERROR_EXECUTABLE_NOT_SUPPORTED,
	FRIDA_ERROR_PROCESS_NOT_FOUND,
	FRIDA_ERROR_PROCESS_NOT_RESPONDING,
	FRIDA_ERROR_INVALID_ARGUMENT,
	FRIDA_ERROR_INVALID_OPERATION,
	FRIDA_ERROR_PERMISSION_DENIED,
	FRIDA_ERROR_ADDRESS_IN_USE,
	FRIDA_ERROR_TIMED_OUT,
	FRIDA_ERROR_NOT_SUPPORTED,
	FRIDA_ERROR_PROTOCOL,
	FRIDA_ERROR_TRANSPORT
} FridaError;
#define FRIDA_ERROR frida_error_quark ()

struct _FridaChannelIface {
	GTypeInterface parent_iface;
	void (*close) (FridaChannel* self, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*close_finish) (FridaChannel* self, GAsyncResult* _res_, GError** error);
	void (*input) (FridaChannel* self, guint8* data, gint data_length1, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*input_finish) (FridaChannel* self, GAsyncResult* _res_, GError** error);
};

struct _FridaServiceSessionIface {
	GTypeInterface parent_iface;
	void (*activate) (FridaServiceSession* self, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*activate_finish) (FridaServiceSession* self, GAsyncResult* _res_, GError** error);
	void (*cancel) (FridaServiceSession* self, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*cancel_finish) (FridaServiceSession* self, GAsyncResult* _res_, GError** error);
	void (*request) (FridaServiceSession* self, GVariant* parameters, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	GVariant* (*request_finish) (FridaServiceSession* self, GAsyncResult* _res_, GError** error);
};

struct _FridaTransportBrokerIface {
	GTypeInterface parent_iface;
	void (*open_tcp_transport) (FridaTransportBroker* self, FridaAgentSessionId* id, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*open_tcp_transport_finish) (FridaTransportBroker* self, GAsyncResult* _res_, guint16* port, gchar** token, GError** error);
};

struct _FridaPortalSessionIface {
	GTypeInterface parent_iface;
	void (*join) (FridaPortalSession* self, FridaHostApplicationInfo* app, FridaSpawnStartState current_state, FridaAgentSessionId* interrupted_sessions, gint interrupted_sessions_length1, GHashTable* options, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*join_finish) (FridaPortalSession* self, GAsyncResult* _res_, FridaSpawnStartState* next_state, GError** error);
};

struct _FridaBusSessionIface {
	GTypeInterface parent_iface;
	void (*attach) (FridaBusSession* self, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*attach_finish) (FridaBusSession* self, GAsyncResult* _res_, GError** error);
	void (*post) (FridaBusSession* self, const gchar* json, gboolean has_data, guint8* data, gint data_length1, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*post_finish) (FridaBusSession* self, GAsyncResult* _res_, GError** error);
};

struct _FridaAuthenticationServiceIface {
	GTypeInterface parent_iface;
	void (*authenticate) (FridaAuthenticationService* self, const gchar* token, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	gchar* (*authenticate_finish) (FridaAuthenticationService* self, GAsyncResult* _res_, GError** error);
};

struct _FridaMappedLibraryBlob {
	guint64 address;
	guint size;
	guint allocated_size;
};

struct _FridaLinuxInjectorState {
	gint frida_ctrlfd;
	gint agent_ctrlfd;
};

struct _FridaPosixInjectorState {
	gint fifo_fd;
};

struct _FridaCrashInfo {
	guint pid;
	gchar* process_name;
	gchar* summary;
	gchar* report;
	GHashTable* parameters;
};

struct _FridaVirtualStream {
	GIOStream parent_instance;
	FridaVirtualStreamPrivate * priv;
	FridaVirtualStreamState state;
	GCancellable* io_cancellable;
	GMainContext* main_context;
};

struct _FridaVirtualStreamClass {
	GIOStreamClass parent_class;
	FridaVirtualStreamState (*query_initial_state) (FridaVirtualStream* self);
	GIOCondition (*query_events) (FridaVirtualStream* self);
	void (*handle_close) (FridaVirtualStream* self);
	void (*shutdown_read) (FridaVirtualStream* self, GError** error);
	void (*shutdown_write) (FridaVirtualStream* self, GError** error);
	gssize (*read) (FridaVirtualStream* self, guint8* buffer, gint buffer_length1, GError** error);
	gssize (*write) (FridaVirtualStream* self, guint8* buffer, gint buffer_length1, GError** error);
	void (*update_pending_io) (FridaVirtualStream* self);
};

struct _FridaRpcPeerIface {
	GTypeInterface parent_iface;
	void (*post_rpc_message) (FridaRpcPeer* self, const gchar* json, GBytes* data, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*post_rpc_message_finish) (FridaRpcPeer* self, GAsyncResult* _res_, GError** error);
};

struct _FridaPeerSessionDescription {
	GTypeInstance parent_instance;
	volatile int ref_count;
	FridaPeerSessionDescriptionPrivate * priv;
	guint64 session_id;
	gchar* ice_ufrag;
	gchar* ice_pwd;
	gboolean ice_trickle;
	gchar* fingerprint;
	FridaPeerSetup setup;
	guint16 sctp_port;
	gsize max_message_size;
};

struct _FridaPeerSessionDescriptionClass {
	GTypeClass parent_class;
	void (*finalize) (FridaPeerSessionDescription *self);
};

struct _FridaFutureIface {
	GTypeInterface parent_iface;
	void (*wait_async) (FridaFuture* self, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	gpointer (*wait_finish) (FridaFuture* self, GAsyncResult* _res_, GError** error);
	void (*then) (FridaFuture* self, FridaFutureCompletionHandler handler, gpointer handler_target, GDestroyNotify handler_target_destroy_notify);
	gpointer (*get_result) (FridaFuture* self, GError** error);
	gboolean (*get_ready) (FridaFuture* self);
	gconstpointer (*get_value) (FridaFuture* self);
	GError* (*get_error) (FridaFuture* self);
};

struct _FridaDynamicInterfaceObserverIface {
	GTypeInterface parent_iface;
	void (*start) (FridaDynamicInterfaceObserver* self);
};

struct _FridaObjectBuilderIface {
	GTypeInterface parent_iface;
	FridaObjectBuilder* (*begin_dictionary) (FridaObjectBuilder* self);
	FridaObjectBuilder* (*set_member_name) (FridaObjectBuilder* self, const gchar* name);
	FridaObjectBuilder* (*end_dictionary) (FridaObjectBuilder* self);
	FridaObjectBuilder* (*begin_array) (FridaObjectBuilder* self);
	FridaObjectBuilder* (*end_array) (FridaObjectBuilder* self);
	FridaObjectBuilder* (*add_null_value) (FridaObjectBuilder* self);
	FridaObjectBuilder* (*add_bool_value) (FridaObjectBuilder* self, gboolean val);
	FridaObjectBuilder* (*add_int64_value) (FridaObjectBuilder* self, gint64 val);
	FridaObjectBuilder* (*add_uint64_value) (FridaObjectBuilder* self, guint64 val);
	FridaObjectBuilder* (*add_data_value) (FridaObjectBuilder* self, GBytes* val);
	FridaObjectBuilder* (*add_string_value) (FridaObjectBuilder* self, const gchar* val);
	FridaObjectBuilder* (*add_uuid_value) (FridaObjectBuilder* self, guint8* val, gint val_length1);
	FridaObjectBuilder* (*add_raw_value) (FridaObjectBuilder* self, GBytes* val);
	GBytes* (*build) (FridaObjectBuilder* self);
};

struct _FridaObjectReaderIface {
	GTypeInterface parent_iface;
	gboolean (*has_member) (FridaObjectReader* self, const gchar* name, GError** error);
	FridaObjectReader* (*read_member) (FridaObjectReader* self, const gchar* name, GError** error);
	FridaObjectReader* (*end_member) (FridaObjectReader* self);
	guint (*count_elements) (FridaObjectReader* self, GError** error);
	FridaObjectReader* (*read_element) (FridaObjectReader* self, guint index, GError** error);
	FridaObjectReader* (*end_element) (FridaObjectReader* self, GError** error);
	gboolean (*get_bool_value) (FridaObjectReader* self, GError** error);
	guint8 (*get_uint8_value) (FridaObjectReader* self, GError** error);
	guint16 (*get_uint16_value) (FridaObjectReader* self, GError** error);
	gint64 (*get_int64_value) (FridaObjectReader* self, GError** error);
	guint64 (*get_uint64_value) (FridaObjectReader* self, GError** error);
	GBytes* (*get_data_value) (FridaObjectReader* self, GError** error);
	const gchar* (*get_string_value) (FridaObjectReader* self, GError** error);
	const gchar* (*get_uuid_value) (FridaObjectReader* self, GError** error);
};

struct _FridaFileDescriptor {
	GObject parent_instance;
	FridaFileDescriptorPrivate * priv;
	gint handle;
};

struct _FridaFileDescriptorClass {
	GObjectClass parent_class;
};

VALA_EXTERN GType frida_host_session_proxy_get_type (void) G_GNUC_CONST ;
VALA_EXTERN guint frida_host_session_register_object (void* object,
                                          GDBusConnection* connection,
                                          const gchar* path,
                                          GError** error);
VALA_EXTERN GType frida_host_application_info_get_type (void) G_GNUC_CONST ;
VALA_EXTERN FridaHostApplicationInfo* frida_host_application_info_dup (const FridaHostApplicationInfo* self);
VALA_EXTERN void frida_host_application_info_free (FridaHostApplicationInfo* self);
VALA_EXTERN void frida_host_application_info_copy (const FridaHostApplicationInfo* self,
                                       FridaHostApplicationInfo* dest);
VALA_EXTERN void frida_host_application_info_destroy (FridaHostApplicationInfo* self);
G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC (FridaHostApplicationInfo, frida_host_application_info_destroy)
VALA_EXTERN GType frida_host_process_info_get_type (void) G_GNUC_CONST ;
VALA_EXTERN FridaHostProcessInfo* frida_host_process_info_dup (const FridaHostProcessInfo* self);
VALA_EXTERN void frida_host_process_info_free (FridaHostProcessInfo* self);
VALA_EXTERN void frida_host_process_info_copy (const FridaHostProcessInfo* self,
                                   FridaHostProcessInfo* dest);
VALA_EXTERN void frida_host_process_info_destroy (FridaHostProcessInfo* self);
G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC (FridaHostProcessInfo, frida_host_process_info_destroy)
VALA_EXTERN GType frida_host_spawn_info_get_type (void) G_GNUC_CONST ;
VALA_EXTERN FridaHostSpawnInfo* frida_host_spawn_info_dup (const FridaHostSpawnInfo* self);
VALA_EXTERN void frida_host_spawn_info_free (FridaHostSpawnInfo* self);
VALA_EXTERN void frida_host_spawn_info_copy (const FridaHostSpawnInfo* self,
                                 FridaHostSpawnInfo* dest);
VALA_EXTERN void frida_host_spawn_info_destroy (FridaHostSpawnInfo* self);
G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC (FridaHostSpawnInfo, frida_host_spawn_info_destroy)
VALA_EXTERN GType frida_host_child_info_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType frida_child_origin_get_type (void) G_GNUC_CONST ;
VALA_EXTERN FridaHostChildInfo* frida_host_child_info_dup (const FridaHostChildInfo* self);
VALA_EXTERN void frida_host_child_info_free (FridaHostChildInfo* self);
VALA_EXTERN void frida_host_child_info_copy (const FridaHostChildInfo* self,
                                 FridaHostChildInfo* dest);
VALA_EXTERN void frida_host_child_info_destroy (FridaHostChildInfo* self);
G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC (FridaHostChildInfo, frida_host_child_info_destroy)
VALA_EXTERN GType frida_host_spawn_options_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType frida_stdio_get_type (void) G_GNUC_CONST ;
VALA_EXTERN FridaHostSpawnOptions* frida_host_spawn_options_dup (const FridaHostSpawnOptions* self);
VALA_EXTERN void frida_host_spawn_options_free (FridaHostSpawnOptions* self);
VALA_EXTERN void frida_host_spawn_options_copy (const FridaHostSpawnOptions* self,
                                    FridaHostSpawnOptions* dest);
VALA_EXTERN void frida_host_spawn_options_destroy (FridaHostSpawnOptions* self);
G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC (FridaHostSpawnOptions, frida_host_spawn_options_destroy)
VALA_EXTERN GType frida_agent_session_id_get_type (void) G_GNUC_CONST ;
VALA_EXTERN FridaAgentSessionId* frida_agent_session_id_dup (const FridaAgentSessionId* self);
VALA_EXTERN void frida_agent_session_id_free (FridaAgentSessionId* self);
VALA_EXTERN void frida_agent_session_id_copy (const FridaAgentSessionId* self,
                                  FridaAgentSessionId* dest);
VALA_EXTERN void frida_agent_session_id_destroy (FridaAgentSessionId* self);
G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC (FridaAgentSessionId, frida_agent_session_id_destroy)
VALA_EXTERN GType frida_injector_payload_id_get_type (void) G_GNUC_CONST ;
VALA_EXTERN FridaInjectorPayloadId* frida_injector_payload_id_dup (const FridaInjectorPayloadId* self);
VALA_EXTERN void frida_injector_payload_id_free (FridaInjectorPayloadId* self);
VALA_EXTERN GType frida_channel_id_get_type (void) G_GNUC_CONST ;
VALA_EXTERN FridaChannelId* frida_channel_id_dup (const FridaChannelId* self);
VALA_EXTERN void frida_channel_id_free (FridaChannelId* self);
VALA_EXTERN void frida_channel_id_copy (const FridaChannelId* self,
                            FridaChannelId* dest);
VALA_EXTERN void frida_channel_id_destroy (FridaChannelId* self);
G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC (FridaChannelId, frida_channel_id_destroy)
VALA_EXTERN GType frida_service_session_id_get_type (void) G_GNUC_CONST ;
VALA_EXTERN FridaServiceSessionId* frida_service_session_id_dup (const FridaServiceSessionId* self);
VALA_EXTERN void frida_service_session_id_free (FridaServiceSessionId* self);
VALA_EXTERN void frida_service_session_id_copy (const FridaServiceSessionId* self,
                                    FridaServiceSessionId* dest);
VALA_EXTERN void frida_service_session_id_destroy (FridaServiceSessionId* self);
G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC (FridaServiceSessionId, frida_service_session_id_destroy)
VALA_EXTERN GType frida_host_session_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (FridaHostSession, g_object_unref)
VALA_EXTERN void frida_host_session_ping (FridaHostSession* self,
                              guint interval_seconds,
                              GCancellable* cancellable,
                              GAsyncReadyCallback _callback_,
                              gpointer _user_data_);
VALA_EXTERN void frida_host_session_ping_finish (FridaHostSession* self,
                                     GAsyncResult* _res_,
                                     GError** error);
VALA_EXTERN void frida_host_session_query_system_parameters (FridaHostSession* self,
                                                 GCancellable* cancellable,
                                                 GAsyncReadyCallback _callback_,
                                                 gpointer _user_data_);
VALA_EXTERN GHashTable* frida_host_session_query_system_parameters_finish (FridaHostSession* self,
                                                               GAsyncResult* _res_,
                                                               GError** error);
VALA_EXTERN void frida_host_session_get_frontmost_application (FridaHostSession* self,
                                                   GHashTable* options,
                                                   GCancellable* cancellable,
                                                   GAsyncReadyCallback _callback_,
                                                   gpointer _user_data_);
VALA_EXTERN void frida_host_session_get_frontmost_application_finish (FridaHostSession* self,
                                                          GAsyncResult* _res_,
                                                          FridaHostApplicationInfo* result,
                                                          GError** error);
VALA_EXTERN void frida_host_session_enumerate_applications (FridaHostSession* self,
                                                GHashTable* options,
                                                GCancellable* cancellable,
                                                GAsyncReadyCallback _callback_,
                                                gpointer _user_data_);
VALA_EXTERN FridaHostApplicationInfo* frida_host_session_enumerate_applications_finish (FridaHostSession* self,
                                                                            GAsyncResult* _res_,
                                                                            gint* result_length1,
                                                                            GError** error);
VALA_EXTERN void frida_host_session_enumerate_processes (FridaHostSession* self,
                                             GHashTable* options,
                                             GCancellable* cancellable,
                                             GAsyncReadyCallback _callback_,
                                             gpointer _user_data_);
VALA_EXTERN FridaHostProcessInfo* frida_host_session_enumerate_processes_finish (FridaHostSession* self,
                                                                     GAsyncResult* _res_,
                                                                     gint* result_length1,
                                                                     GError** error);
VALA_EXTERN void frida_host_session_enable_spawn_gating (FridaHostSession* self,
                                             GCancellable* cancellable,
                                             GAsyncReadyCallback _callback_,
                                             gpointer _user_data_);
VALA_EXTERN void frida_host_session_enable_spawn_gating_finish (FridaHostSession* self,
                                                    GAsyncResult* _res_,
                                                    GError** error);
VALA_EXTERN void frida_host_session_disable_spawn_gating (FridaHostSession* self,
                                              GCancellable* cancellable,
                                              GAsyncReadyCallback _callback_,
                                              gpointer _user_data_);
VALA_EXTERN void frida_host_session_disable_spawn_gating_finish (FridaHostSession* self,
                                                     GAsyncResult* _res_,
                                                     GError** error);
VALA_EXTERN void frida_host_session_enumerate_pending_spawn (FridaHostSession* self,
                                                 GCancellable* cancellable,
                                                 GAsyncReadyCallback _callback_,
                                                 gpointer _user_data_);
VALA_EXTERN FridaHostSpawnInfo* frida_host_session_enumerate_pending_spawn_finish (FridaHostSession* self,
                                                                       GAsyncResult* _res_,
                                                                       gint* result_length1,
                                                                       GError** error);
VALA_EXTERN void frida_host_session_enumerate_pending_children (FridaHostSession* self,
                                                    GCancellable* cancellable,
                                                    GAsyncReadyCallback _callback_,
                                                    gpointer _user_data_);
VALA_EXTERN FridaHostChildInfo* frida_host_session_enumerate_pending_children_finish (FridaHostSession* self,
                                                                          GAsyncResult* _res_,
                                                                          gint* result_length1,
                                                                          GError** error);
VALA_EXTERN void frida_host_session_spawn (FridaHostSession* self,
                               const gchar* program,
                               FridaHostSpawnOptions* options,
                               GCancellable* cancellable,
                               GAsyncReadyCallback _callback_,
                               gpointer _user_data_);
VALA_EXTERN guint frida_host_session_spawn_finish (FridaHostSession* self,
                                       GAsyncResult* _res_,
                                       GError** error);
VALA_EXTERN void frida_host_session_input (FridaHostSession* self,
                               guint pid,
                               guint8* data,
                               gint data_length1,
                               GCancellable* cancellable,
                               GAsyncReadyCallback _callback_,
                               gpointer _user_data_);
VALA_EXTERN void frida_host_session_input_finish (FridaHostSession* self,
                                      GAsyncResult* _res_,
                                      GError** error);
VALA_EXTERN void frida_host_session_resume (FridaHostSession* self,
                                guint pid,
                                GCancellable* cancellable,
                                GAsyncReadyCallback _callback_,
                                gpointer _user_data_);
VALA_EXTERN void frida_host_session_resume_finish (FridaHostSession* self,
                                       GAsyncResult* _res_,
                                       GError** error);
VALA_EXTERN void frida_host_session_kill (FridaHostSession* self,
                              guint pid,
                              GCancellable* cancellable,
                              GAsyncReadyCallback _callback_,
                              gpointer _user_data_);
VALA_EXTERN void frida_host_session_kill_finish (FridaHostSession* self,
                                     GAsyncResult* _res_,
                                     GError** error);
VALA_EXTERN void frida_host_session_attach (FridaHostSession* self,
                                guint pid,
                                GHashTable* options,
                                GCancellable* cancellable,
                                GAsyncReadyCallback _callback_,
                                gpointer _user_data_);
VALA_EXTERN void frida_host_session_attach_finish (FridaHostSession* self,
                                       GAsyncResult* _res_,
                                       FridaAgentSessionId* result,
                                       GError** error);
VALA_EXTERN void frida_host_session_reattach (FridaHostSession* self,
                                  FridaAgentSessionId* id,
                                  GCancellable* cancellable,
                                  GAsyncReadyCallback _callback_,
                                  gpointer _user_data_);
VALA_EXTERN void frida_host_session_reattach_finish (FridaHostSession* self,
                                         GAsyncResult* _res_,
                                         GError** error);
VALA_EXTERN void frida_host_session_inject_library_file (FridaHostSession* self,
                                             guint pid,
                                             const gchar* path,
                                             const gchar* entrypoint,
                                             const gchar* data,
                                             GCancellable* cancellable,
                                             GAsyncReadyCallback _callback_,
                                             gpointer _user_data_);
VALA_EXTERN void frida_host_session_inject_library_file_finish (FridaHostSession* self,
                                                    GAsyncResult* _res_,
                                                    FridaInjectorPayloadId* result,
                                                    GError** error);
VALA_EXTERN void frida_host_session_inject_library_blob (FridaHostSession* self,
                                             guint pid,
                                             guint8* blob,
                                             gint blob_length1,
                                             const gchar* entrypoint,
                                             const gchar* data,
                                             GCancellable* cancellable,
                                             GAsyncReadyCallback _callback_,
                                             gpointer _user_data_);
VALA_EXTERN void frida_host_session_inject_library_blob_finish (FridaHostSession* self,
                                                    GAsyncResult* _res_,
                                                    FridaInjectorPayloadId* result,
                                                    GError** error);
VALA_EXTERN void frida_host_session_open_channel (FridaHostSession* self,
                                      const gchar* address,
                                      GCancellable* cancellable,
                                      GAsyncReadyCallback _callback_,
                                      gpointer _user_data_);
VALA_EXTERN void frida_host_session_open_channel_finish (FridaHostSession* self,
                                             GAsyncResult* _res_,
                                             FridaChannelId* result,
                                             GError** error);
VALA_EXTERN void frida_host_session_open_service (FridaHostSession* self,
                                      const gchar* address,
                                      GCancellable* cancellable,
                                      GAsyncReadyCallback _callback_,
                                      gpointer _user_data_);
VALA_EXTERN void frida_host_session_open_service_finish (FridaHostSession* self,
                                             GAsyncResult* _res_,
                                             FridaServiceSessionId* result,
                                             GError** error);
VALA_EXTERN GType frida_agent_session_provider_proxy_get_type (void) G_GNUC_CONST ;
VALA_EXTERN guint frida_agent_session_provider_register_object (void* object,
                                                    GDBusConnection* connection,
                                                    const gchar* path,
                                                    GError** error);
VALA_EXTERN GType frida_agent_session_provider_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (FridaAgentSessionProvider, g_object_unref)
VALA_EXTERN void frida_agent_session_provider_open (FridaAgentSessionProvider* self,
                                        FridaAgentSessionId* id,
                                        GHashTable* options,
                                        GCancellable* cancellable,
                                        GAsyncReadyCallback _callback_,
                                        gpointer _user_data_);
VALA_EXTERN void frida_agent_session_provider_open_finish (FridaAgentSessionProvider* self,
                                               GAsyncResult* _res_,
                                               GError** error);
VALA_EXTERN void frida_agent_session_provider_migrate (FridaAgentSessionProvider* self,
                                           FridaAgentSessionId* id,
                                           GSocket* to_socket,
                                           GCancellable* cancellable,
                                           GAsyncReadyCallback _callback_,
                                           gpointer _user_data_);
VALA_EXTERN void frida_agent_session_provider_migrate_finish (FridaAgentSessionProvider* self,
                                                  GAsyncResult* _res_,
                                                  GError** error);
VALA_EXTERN void frida_agent_session_provider_unload (FridaAgentSessionProvider* self,
                                          GCancellable* cancellable,
                                          GAsyncReadyCallback _callback_,
                                          gpointer _user_data_);
VALA_EXTERN void frida_agent_session_provider_unload_finish (FridaAgentSessionProvider* self,
                                                 GAsyncResult* _res_,
                                                 GError** error);
VALA_EXTERN GType frida_agent_session_proxy_get_type (void) G_GNUC_CONST ;
VALA_EXTERN guint frida_agent_session_register_object (void* object,
                                           GDBusConnection* connection,
                                           const gchar* path,
                                           GError** error);
VALA_EXTERN GType frida_agent_script_id_get_type (void) G_GNUC_CONST ;
VALA_EXTERN FridaAgentScriptId* frida_agent_script_id_dup (const FridaAgentScriptId* self);
VALA_EXTERN void frida_agent_script_id_free (FridaAgentScriptId* self);
VALA_EXTERN GType frida_agent_message_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType frida_agent_message_kind_get_type (void) G_GNUC_CONST ;
VALA_EXTERN FridaAgentMessage* frida_agent_message_dup (const FridaAgentMessage* self);
VALA_EXTERN void frida_agent_message_free (FridaAgentMessage* self);
VALA_EXTERN void frida_agent_message_copy (const FridaAgentMessage* self,
                               FridaAgentMessage* dest);
VALA_EXTERN void frida_agent_message_destroy (FridaAgentMessage* self);
G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC (FridaAgentMessage, frida_agent_message_destroy)
VALA_EXTERN GType frida_portal_membership_id_get_type (void) G_GNUC_CONST ;
VALA_EXTERN FridaPortalMembershipId* frida_portal_membership_id_dup (const FridaPortalMembershipId* self);
VALA_EXTERN void frida_portal_membership_id_free (FridaPortalMembershipId* self);
VALA_EXTERN GType frida_agent_session_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (FridaAgentSession, g_object_unref)
VALA_EXTERN void frida_agent_session_close (FridaAgentSession* self,
                                GCancellable* cancellable,
                                GAsyncReadyCallback _callback_,
                                gpointer _user_data_);
VALA_EXTERN void frida_agent_session_close_finish (FridaAgentSession* self,
                                       GAsyncResult* _res_,
                                       GError** error);
VALA_EXTERN void frida_agent_session_interrupt (FridaAgentSession* self,
                                    GCancellable* cancellable,
                                    GAsyncReadyCallback _callback_,
                                    gpointer _user_data_);
VALA_EXTERN void frida_agent_session_interrupt_finish (FridaAgentSession* self,
                                           GAsyncResult* _res_,
                                           GError** error);
VALA_EXTERN void frida_agent_session_resume (FridaAgentSession* self,
                                 guint rx_batch_id,
                                 GCancellable* cancellable,
                                 GAsyncReadyCallback _callback_,
                                 gpointer _user_data_);
VALA_EXTERN void frida_agent_session_resume_finish (FridaAgentSession* self,
                                        GAsyncResult* _res_,
                                        guint* tx_batch_id,
                                        GError** error);
VALA_EXTERN void frida_agent_session_enable_child_gating (FridaAgentSession* self,
                                              GCancellable* cancellable,
                                              GAsyncReadyCallback _callback_,
                                              gpointer _user_data_);
VALA_EXTERN void frida_agent_session_enable_child_gating_finish (FridaAgentSession* self,
                                                     GAsyncResult* _res_,
                                                     GError** error);
VALA_EXTERN void frida_agent_session_disable_child_gating (FridaAgentSession* self,
                                               GCancellable* cancellable,
                                               GAsyncReadyCallback _callback_,
                                               gpointer _user_data_);
VALA_EXTERN void frida_agent_session_disable_child_gating_finish (FridaAgentSession* self,
                                                      GAsyncResult* _res_,
                                                      GError** error);
VALA_EXTERN void frida_agent_session_create_script (FridaAgentSession* self,
                                        const gchar* source,
                                        GHashTable* options,
                                        GCancellable* cancellable,
                                        GAsyncReadyCallback _callback_,
                                        gpointer _user_data_);
VALA_EXTERN void frida_agent_session_create_script_finish (FridaAgentSession* self,
                                               GAsyncResult* _res_,
                                               FridaAgentScriptId* result,
                                               GError** error);
VALA_EXTERN void frida_agent_session_create_script_from_bytes (FridaAgentSession* self,
                                                   guint8* bytes,
                                                   gint bytes_length1,
                                                   GHashTable* options,
                                                   GCancellable* cancellable,
                                                   GAsyncReadyCallback _callback_,
                                                   gpointer _user_data_);
VALA_EXTERN void frida_agent_session_create_script_from_bytes_finish (FridaAgentSession* self,
                                                          GAsyncResult* _res_,
                                                          FridaAgentScriptId* result,
                                                          GError** error);
VALA_EXTERN void frida_agent_session_compile_script (FridaAgentSession* self,
                                         const gchar* source,
                                         GHashTable* options,
                                         GCancellable* cancellable,
                                         GAsyncReadyCallback _callback_,
                                         gpointer _user_data_);
VALA_EXTERN guint8* frida_agent_session_compile_script_finish (FridaAgentSession* self,
                                                   GAsyncResult* _res_,
                                                   gint* result_length1,
                                                   GError** error);
VALA_EXTERN void frida_agent_session_snapshot_script (FridaAgentSession* self,
                                          const gchar* embed_script,
                                          GHashTable* options,
                                          GCancellable* cancellable,
                                          GAsyncReadyCallback _callback_,
                                          gpointer _user_data_);
VALA_EXTERN guint8* frida_agent_session_snapshot_script_finish (FridaAgentSession* self,
                                                    GAsyncResult* _res_,
                                                    gint* result_length1,
                                                    GError** error);
VALA_EXTERN void frida_agent_session_destroy_script (FridaAgentSession* self,
                                         FridaAgentScriptId* script_id,
                                         GCancellable* cancellable,
                                         GAsyncReadyCallback _callback_,
                                         gpointer _user_data_);
VALA_EXTERN void frida_agent_session_destroy_script_finish (FridaAgentSession* self,
                                                GAsyncResult* _res_,
                                                GError** error);
VALA_EXTERN void frida_agent_session_load_script (FridaAgentSession* self,
                                      FridaAgentScriptId* script_id,
                                      GCancellable* cancellable,
                                      GAsyncReadyCallback _callback_,
                                      gpointer _user_data_);
VALA_EXTERN void frida_agent_session_load_script_finish (FridaAgentSession* self,
                                             GAsyncResult* _res_,
                                             GError** error);
VALA_EXTERN void frida_agent_session_eternalize_script (FridaAgentSession* self,
                                            FridaAgentScriptId* script_id,
                                            GCancellable* cancellable,
                                            GAsyncReadyCallback _callback_,
                                            gpointer _user_data_);
VALA_EXTERN void frida_agent_session_eternalize_script_finish (FridaAgentSession* self,
                                                   GAsyncResult* _res_,
                                                   GError** error);
VALA_EXTERN void frida_agent_session_enable_debugger (FridaAgentSession* self,
                                          FridaAgentScriptId* script_id,
                                          GCancellable* cancellable,
                                          GAsyncReadyCallback _callback_,
                                          gpointer _user_data_);
VALA_EXTERN void frida_agent_session_enable_debugger_finish (FridaAgentSession* self,
                                                 GAsyncResult* _res_,
                                                 GError** error);
VALA_EXTERN void frida_agent_session_disable_debugger (FridaAgentSession* self,
                                           FridaAgentScriptId* script_id,
                                           GCancellable* cancellable,
                                           GAsyncReadyCallback _callback_,
                                           gpointer _user_data_);
VALA_EXTERN void frida_agent_session_disable_debugger_finish (FridaAgentSession* self,
                                                  GAsyncResult* _res_,
                                                  GError** error);
VALA_EXTERN void frida_agent_session_post_messages (FridaAgentSession* self,
                                        FridaAgentMessage* messages,
                                        gint messages_length1,
                                        guint batch_id,
                                        GCancellable* cancellable,
                                        GAsyncReadyCallback _callback_,
                                        gpointer _user_data_);
VALA_EXTERN void frida_agent_session_post_messages_finish (FridaAgentSession* self,
                                               GAsyncResult* _res_,
                                               GError** error);
VALA_EXTERN void frida_agent_session_join_portal (FridaAgentSession* self,
                                      const gchar* address,
                                      GHashTable* options,
                                      GCancellable* cancellable,
                                      GAsyncReadyCallback _callback_,
                                      gpointer _user_data_);
VALA_EXTERN void frida_agent_session_join_portal_finish (FridaAgentSession* self,
                                             GAsyncResult* _res_,
                                             FridaPortalMembershipId* result,
                                             GError** error);
VALA_EXTERN void frida_agent_session_leave_portal (FridaAgentSession* self,
                                       FridaPortalMembershipId* membership_id,
                                       GCancellable* cancellable,
                                       GAsyncReadyCallback _callback_,
                                       gpointer _user_data_);
VALA_EXTERN void frida_agent_session_leave_portal_finish (FridaAgentSession* self,
                                              GAsyncResult* _res_,
                                              GError** error);
VALA_EXTERN void frida_agent_session_offer_peer_connection (FridaAgentSession* self,
                                                const gchar* offer_sdp,
                                                GHashTable* peer_options,
                                                GCancellable* cancellable,
                                                GAsyncReadyCallback _callback_,
                                                gpointer _user_data_);
VALA_EXTERN void frida_agent_session_offer_peer_connection_finish (FridaAgentSession* self,
                                                       GAsyncResult* _res_,
                                                       gchar** answer_sdp,
                                                       GError** error);
VALA_EXTERN void frida_agent_session_add_candidates (FridaAgentSession* self,
                                         gchar** candidate_sdps,
                                         gint candidate_sdps_length1,
                                         GCancellable* cancellable,
                                         GAsyncReadyCallback _callback_,
                                         gpointer _user_data_);
VALA_EXTERN void frida_agent_session_add_candidates_finish (FridaAgentSession* self,
                                                GAsyncResult* _res_,
                                                GError** error);
VALA_EXTERN void frida_agent_session_notify_candidate_gathering_done (FridaAgentSession* self,
                                                          GCancellable* cancellable,
                                                          GAsyncReadyCallback _callback_,
                                                          gpointer _user_data_);
VALA_EXTERN void frida_agent_session_notify_candidate_gathering_done_finish (FridaAgentSession* self,
                                                                 GAsyncResult* _res_,
                                                                 GError** error);
VALA_EXTERN void frida_agent_session_begin_migration (FridaAgentSession* self,
                                          GCancellable* cancellable,
                                          GAsyncReadyCallback _callback_,
                                          gpointer _user_data_);
VALA_EXTERN void frida_agent_session_begin_migration_finish (FridaAgentSession* self,
                                                 GAsyncResult* _res_,
                                                 GError** error);
VALA_EXTERN void frida_agent_session_commit_migration (FridaAgentSession* self,
                                           GCancellable* cancellable,
                                           GAsyncReadyCallback _callback_,
                                           gpointer _user_data_);
VALA_EXTERN void frida_agent_session_commit_migration_finish (FridaAgentSession* self,
                                                  GAsyncResult* _res_,
                                                  GError** error);
VALA_EXTERN GType frida_agent_controller_proxy_get_type (void) G_GNUC_CONST ;
VALA_EXTERN guint frida_agent_controller_register_object (void* object,
                                              GDBusConnection* connection,
                                              const gchar* path,
                                              GError** error);
VALA_EXTERN GType frida_host_child_id_get_type (void) G_GNUC_CONST ;
VALA_EXTERN FridaHostChildId* frida_host_child_id_dup (const FridaHostChildId* self);
VALA_EXTERN void frida_host_child_id_free (FridaHostChildId* self);
VALA_EXTERN GType frida_spawn_start_state_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType frida_agent_controller_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (FridaAgentController, g_object_unref)
VALA_EXTERN void frida_agent_controller_prepare_to_fork (FridaAgentController* self,
                                             guint parent_pid,
                                             GCancellable* cancellable,
                                             GAsyncReadyCallback _callback_,
                                             gpointer _user_data_);
VALA_EXTERN void frida_agent_controller_prepare_to_fork_finish (FridaAgentController* self,
                                                    GAsyncResult* _res_,
                                                    guint* parent_injectee_id,
                                                    guint* child_injectee_id,
                                                    GSocket** child_socket,
                                                    FridaHostChildId* result,
                                                    GError** error);
VALA_EXTERN void frida_agent_controller_prepare_to_specialize (FridaAgentController* self,
                                                   guint pid,
                                                   const gchar* identifier,
                                                   GCancellable* cancellable,
                                                   GAsyncReadyCallback _callback_,
                                                   gpointer _user_data_);
VALA_EXTERN void frida_agent_controller_prepare_to_specialize_finish (FridaAgentController* self,
                                                          GAsyncResult* _res_,
                                                          guint* specialized_injectee_id,
                                                          gchar** specialized_pipe_address,
                                                          FridaHostChildId* result,
                                                          GError** error);
VALA_EXTERN void frida_agent_controller_recreate_agent_thread (FridaAgentController* self,
                                                   guint pid,
                                                   guint injectee_id,
                                                   GCancellable* cancellable,
                                                   GAsyncReadyCallback _callback_,
                                                   gpointer _user_data_);
VALA_EXTERN void frida_agent_controller_recreate_agent_thread_finish (FridaAgentController* self,
                                                          GAsyncResult* _res_,
                                                          GError** error);
VALA_EXTERN void frida_agent_controller_wait_for_permission_to_resume (FridaAgentController* self,
                                                           FridaHostChildId* id,
                                                           FridaHostChildInfo* info,
                                                           GCancellable* cancellable,
                                                           GAsyncReadyCallback _callback_,
                                                           gpointer _user_data_);
VALA_EXTERN void frida_agent_controller_wait_for_permission_to_resume_finish (FridaAgentController* self,
                                                                  GAsyncResult* _res_,
                                                                  GError** error);
VALA_EXTERN void frida_agent_controller_prepare_to_exec (FridaAgentController* self,
                                             FridaHostChildInfo* info,
                                             GCancellable* cancellable,
                                             GAsyncReadyCallback _callback_,
                                             gpointer _user_data_);
VALA_EXTERN void frida_agent_controller_prepare_to_exec_finish (FridaAgentController* self,
                                                    GAsyncResult* _res_,
                                                    GError** error);
VALA_EXTERN void frida_agent_controller_cancel_exec (FridaAgentController* self,
                                         guint pid,
                                         GCancellable* cancellable,
                                         GAsyncReadyCallback _callback_,
                                         gpointer _user_data_);
VALA_EXTERN void frida_agent_controller_cancel_exec_finish (FridaAgentController* self,
                                                GAsyncResult* _res_,
                                                GError** error);
VALA_EXTERN void frida_agent_controller_acknowledge_spawn (FridaAgentController* self,
                                               FridaHostChildInfo* info,
                                               FridaSpawnStartState start_state,
                                               GCancellable* cancellable,
                                               GAsyncReadyCallback _callback_,
                                               gpointer _user_data_);
VALA_EXTERN void frida_agent_controller_acknowledge_spawn_finish (FridaAgentController* self,
                                                      GAsyncResult* _res_,
                                                      GError** error);
VALA_EXTERN GType frida_agent_message_sink_proxy_get_type (void) G_GNUC_CONST ;
VALA_EXTERN guint frida_agent_message_sink_register_object (void* object,
                                                GDBusConnection* connection,
                                                const gchar* path,
                                                GError** error);
VALA_EXTERN GType frida_agent_message_sink_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (FridaAgentMessageSink, g_object_unref)
VALA_EXTERN void frida_agent_message_sink_post_messages (FridaAgentMessageSink* self,
                                             FridaAgentMessage* messages,
                                             gint messages_length1,
                                             guint batch_id,
                                             GCancellable* cancellable,
                                             GAsyncReadyCallback _callback_,
                                             gpointer _user_data_);
VALA_EXTERN void frida_agent_message_sink_post_messages_finish (FridaAgentMessageSink* self,
                                                    GAsyncResult* _res_,
                                                    GError** error);
VALA_EXTERN void frida_agent_message_init (FridaAgentMessage *self,
                               FridaAgentMessageKind kind,
                               FridaAgentScriptId* script_id,
                               const gchar* text,
                               gboolean has_data,
                               guint8* data,
                               gint data_length1);
VALA_EXTERN GType frida_agent_message_transmitter_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (FridaAgentMessageTransmitter, g_object_unref)
VALA_EXTERN FridaAgentMessageTransmitter* frida_agent_message_transmitter_new (FridaAgentSession* agent_session,
                                                                   guint persist_timeout,
                                                                   GMainContext* frida_context,
                                                                   GMainContext* dbus_context);
VALA_EXTERN FridaAgentMessageTransmitter* frida_agent_message_transmitter_construct (GType object_type,
                                                                         FridaAgentSession* agent_session,
                                                                         guint persist_timeout,
                                                                         GMainContext* frida_context,
                                                                         GMainContext* dbus_context);
VALA_EXTERN void frida_agent_message_transmitter_close (FridaAgentMessageTransmitter* self,
                                            GCancellable* cancellable,
                                            GAsyncReadyCallback _callback_,
                                            gpointer _user_data_);
VALA_EXTERN void frida_agent_message_transmitter_close_finish (FridaAgentMessageTransmitter* self,
                                                   GAsyncResult* _res_,
                                                   GError** error);
VALA_EXTERN GQuark frida_error_quark (void);
VALA_EXTERN GType frida_error_get_type (void) G_GNUC_CONST ;
VALA_EXTERN void frida_agent_message_transmitter_check_okay_to_receive (FridaAgentMessageTransmitter* self,
                                                            GError** error);
VALA_EXTERN void frida_agent_message_transmitter_interrupt (FridaAgentMessageTransmitter* self,
                                                GError** error);
VALA_EXTERN void frida_agent_message_transmitter_resume (FridaAgentMessageTransmitter* self,
                                             guint rx_batch_id,
                                             guint* tx_batch_id,
                                             GError** error);
VALA_EXTERN void frida_agent_message_transmitter_notify_rx_batch_id (FridaAgentMessageTransmitter* self,
                                                         guint batch_id,
                                                         GError** error);
VALA_EXTERN void frida_agent_message_transmitter_offer_peer_connection (FridaAgentMessageTransmitter* self,
                                                            const gchar* offer_sdp,
                                                            GHashTable* peer_options,
                                                            GCancellable* cancellable,
                                                            GAsyncReadyCallback _callback_,
                                                            gpointer _user_data_);
VALA_EXTERN void frida_agent_message_transmitter_offer_peer_connection_finish (FridaAgentMessageTransmitter* self,
                                                                   GAsyncResult* _res_,
                                                                   gchar** answer_sdp,
                                                                   GError** error);
VALA_EXTERN void frida_agent_message_transmitter_add_candidates (FridaAgentMessageTransmitter* self,
                                                     gchar** candidate_sdps,
                                                     gint candidate_sdps_length1,
                                                     GError** error);
VALA_EXTERN void frida_agent_message_transmitter_notify_candidate_gathering_done (FridaAgentMessageTransmitter* self,
                                                                      GError** error);
VALA_EXTERN void frida_agent_message_transmitter_begin_migration (FridaAgentMessageTransmitter* self);
VALA_EXTERN void frida_agent_message_transmitter_commit_migration (FridaAgentMessageTransmitter* self);
VALA_EXTERN void frida_agent_message_transmitter_post_message_from_script (FridaAgentMessageTransmitter* self,
                                                               FridaAgentScriptId* script_id,
                                                               const gchar* json,
                                                               GBytes* data);
VALA_EXTERN void frida_agent_message_transmitter_post_message_from_debugger (FridaAgentMessageTransmitter* self,
                                                                 FridaAgentScriptId* script_id,
                                                                 const gchar* message);
VALA_EXTERN void frida_agent_message_transmitter_schedule_on_frida_thread (FridaAgentMessageTransmitter* self,
                                                               GSourceFunc function,
                                                               gpointer function_target,
                                                               GDestroyNotify function_target_destroy_notify);
VALA_EXTERN void frida_agent_message_transmitter_schedule_on_dbus_thread (FridaAgentMessageTransmitter* self,
                                                              GSourceFunc function,
                                                              gpointer function_target,
                                                              GDestroyNotify function_target_destroy_notify);
VALA_EXTERN FridaAgentSession* frida_agent_message_transmitter_get_agent_session (FridaAgentMessageTransmitter* self);
VALA_EXTERN guint frida_agent_message_transmitter_get_persist_timeout (FridaAgentMessageTransmitter* self);
VALA_EXTERN FridaAgentMessageSink* frida_agent_message_transmitter_get_message_sink (FridaAgentMessageTransmitter* self);
VALA_EXTERN void frida_agent_message_transmitter_set_message_sink (FridaAgentMessageTransmitter* self,
                                                       FridaAgentMessageSink* value);
VALA_EXTERN GMainContext* frida_agent_message_transmitter_get_frida_context (FridaAgentMessageTransmitter* self);
VALA_EXTERN GMainContext* frida_agent_message_transmitter_get_dbus_context (FridaAgentMessageTransmitter* self);
VALA_EXTERN GType frida_channel_proxy_get_type (void) G_GNUC_CONST ;
VALA_EXTERN guint frida_channel_register_object (void* object,
                                     GDBusConnection* connection,
                                     const gchar* path,
                                     GError** error);
VALA_EXTERN GType frida_channel_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (FridaChannel, g_object_unref)
VALA_EXTERN void frida_channel_close (FridaChannel* self,
                          GCancellable* cancellable,
                          GAsyncReadyCallback _callback_,
                          gpointer _user_data_);
VALA_EXTERN void frida_channel_close_finish (FridaChannel* self,
                                 GAsyncResult* _res_,
                                 GError** error);
VALA_EXTERN void frida_channel_input (FridaChannel* self,
                          guint8* data,
                          gint data_length1,
                          GCancellable* cancellable,
                          GAsyncReadyCallback _callback_,
                          gpointer _user_data_);
VALA_EXTERN void frida_channel_input_finish (FridaChannel* self,
                                 GAsyncResult* _res_,
                                 GError** error);
VALA_EXTERN GType frida_service_session_proxy_get_type (void) G_GNUC_CONST ;
VALA_EXTERN guint frida_service_session_register_object (void* object,
                                             GDBusConnection* connection,
                                             const gchar* path,
                                             GError** error);
VALA_EXTERN GType frida_service_session_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (FridaServiceSession, g_object_unref)
VALA_EXTERN void frida_service_session_activate (FridaServiceSession* self,
                                     GCancellable* cancellable,
                                     GAsyncReadyCallback _callback_,
                                     gpointer _user_data_);
VALA_EXTERN void frida_service_session_activate_finish (FridaServiceSession* self,
                                            GAsyncResult* _res_,
                                            GError** error);
VALA_EXTERN void frida_service_session_cancel (FridaServiceSession* self,
                                   GCancellable* cancellable,
                                   GAsyncReadyCallback _callback_,
                                   gpointer _user_data_);
VALA_EXTERN void frida_service_session_cancel_finish (FridaServiceSession* self,
                                          GAsyncResult* _res_,
                                          GError** error);
VALA_EXTERN void frida_service_session_request (FridaServiceSession* self,
                                    GVariant* parameters,
                                    GCancellable* cancellable,
                                    GAsyncReadyCallback _callback_,
                                    gpointer _user_data_);
VALA_EXTERN GVariant* frida_service_session_request_finish (FridaServiceSession* self,
                                                GAsyncResult* _res_,
                                                GError** error);
VALA_EXTERN GType frida_transport_broker_proxy_get_type (void) G_GNUC_CONST ;
VALA_EXTERN guint frida_transport_broker_register_object (void* object,
                                              GDBusConnection* connection,
                                              const gchar* path,
                                              GError** error);
VALA_EXTERN GType frida_transport_broker_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (FridaTransportBroker, g_object_unref)
VALA_EXTERN void frida_transport_broker_open_tcp_transport (FridaTransportBroker* self,
                                                FridaAgentSessionId* id,
                                                GCancellable* cancellable,
                                                GAsyncReadyCallback _callback_,
                                                gpointer _user_data_);
VALA_EXTERN void frida_transport_broker_open_tcp_transport_finish (FridaTransportBroker* self,
                                                       GAsyncResult* _res_,
                                                       guint16* port,
                                                       gchar** token,
                                                       GError** error);
VALA_EXTERN GType frida_portal_session_proxy_get_type (void) G_GNUC_CONST ;
VALA_EXTERN guint frida_portal_session_register_object (void* object,
                                            GDBusConnection* connection,
                                            const gchar* path,
                                            GError** error);
VALA_EXTERN GType frida_portal_session_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (FridaPortalSession, g_object_unref)
VALA_EXTERN void frida_portal_session_join (FridaPortalSession* self,
                                FridaHostApplicationInfo* app,
                                FridaSpawnStartState current_state,
                                FridaAgentSessionId* interrupted_sessions,
                                gint interrupted_sessions_length1,
                                GHashTable* options,
                                GCancellable* cancellable,
                                GAsyncReadyCallback _callback_,
                                gpointer _user_data_);
VALA_EXTERN void frida_portal_session_join_finish (FridaPortalSession* self,
                                       GAsyncResult* _res_,
                                       FridaSpawnStartState* next_state,
                                       GError** error);
VALA_EXTERN GType frida_bus_session_proxy_get_type (void) G_GNUC_CONST ;
VALA_EXTERN guint frida_bus_session_register_object (void* object,
                                         GDBusConnection* connection,
                                         const gchar* path,
                                         GError** error);
VALA_EXTERN GType frida_bus_session_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (FridaBusSession, g_object_unref)
VALA_EXTERN void frida_bus_session_attach (FridaBusSession* self,
                               GCancellable* cancellable,
                               GAsyncReadyCallback _callback_,
                               gpointer _user_data_);
VALA_EXTERN void frida_bus_session_attach_finish (FridaBusSession* self,
                                      GAsyncResult* _res_,
                                      GError** error);
VALA_EXTERN void frida_bus_session_post (FridaBusSession* self,
                             const gchar* json,
                             gboolean has_data,
                             guint8* data,
                             gint data_length1,
                             GCancellable* cancellable,
                             GAsyncReadyCallback _callback_,
                             gpointer _user_data_);
VALA_EXTERN void frida_bus_session_post_finish (FridaBusSession* self,
                                    GAsyncResult* _res_,
                                    GError** error);
VALA_EXTERN GType frida_authentication_service_proxy_get_type (void) G_GNUC_CONST ;
VALA_EXTERN guint frida_authentication_service_register_object (void* object,
                                                    GDBusConnection* connection,
                                                    const gchar* path,
                                                    GError** error);
VALA_EXTERN GType frida_authentication_service_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (FridaAuthenticationService, g_object_unref)
VALA_EXTERN void frida_authentication_service_authenticate (FridaAuthenticationService* self,
                                                const gchar* token,
                                                GCancellable* cancellable,
                                                GAsyncReadyCallback _callback_,
                                                gpointer _user_data_);
VALA_EXTERN gchar* frida_authentication_service_authenticate_finish (FridaAuthenticationService* self,
                                                         GAsyncResult* _res_,
                                                         GError** error);
VALA_EXTERN GType frida_static_authentication_service_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (FridaStaticAuthenticationService, g_object_unref)
VALA_EXTERN FridaStaticAuthenticationService* frida_static_authentication_service_new (const gchar* token);
VALA_EXTERN FridaStaticAuthenticationService* frida_static_authentication_service_construct (GType object_type,
                                                                                 const gchar* token);
VALA_EXTERN const gchar* frida_static_authentication_service_get_token_hash (FridaStaticAuthenticationService* self);
VALA_EXTERN GType frida_null_authentication_service_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (FridaNullAuthenticationService, g_object_unref)
VALA_EXTERN FridaNullAuthenticationService* frida_null_authentication_service_new (void);
VALA_EXTERN FridaNullAuthenticationService* frida_null_authentication_service_construct (GType object_type);
VALA_EXTERN GType frida_unauthorized_host_session_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (FridaUnauthorizedHostSession, g_object_unref)
VALA_EXTERN FridaUnauthorizedHostSession* frida_unauthorized_host_session_new (void);
VALA_EXTERN FridaUnauthorizedHostSession* frida_unauthorized_host_session_construct (GType object_type);
VALA_EXTERN GType frida_unauthorized_portal_session_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (FridaUnauthorizedPortalSession, g_object_unref)
VALA_EXTERN FridaUnauthorizedPortalSession* frida_unauthorized_portal_session_new (void);
VALA_EXTERN FridaUnauthorizedPortalSession* frida_unauthorized_portal_session_construct (GType object_type);
VALA_EXTERN GType frida_unauthorized_bus_session_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (FridaUnauthorizedBusSession, g_object_unref)
VALA_EXTERN FridaUnauthorizedBusSession* frida_unauthorized_bus_session_new (void);
VALA_EXTERN FridaUnauthorizedBusSession* frida_unauthorized_bus_session_construct (GType object_type);
VALA_EXTERN GType frida_realm_get_type (void) G_GNUC_CONST ;
VALA_EXTERN FridaRealm frida_realm_from_nick (const gchar* nick,
                                  GError** error);
VALA_EXTERN gchar* frida_realm_to_nick (FridaRealm self);
VALA_EXTERN FridaSpawnStartState frida_spawn_start_state_from_nick (const gchar* nick,
                                                        GError** error);
VALA_EXTERN gchar* frida_spawn_start_state_to_nick (FridaSpawnStartState self);
VALA_EXTERN GType frida_unload_policy_get_type (void) G_GNUC_CONST ;
VALA_EXTERN FridaUnloadPolicy frida_unload_policy_from_nick (const gchar* nick,
                                                 GError** error);
VALA_EXTERN gchar* frida_unload_policy_to_nick (FridaUnloadPolicy self);
VALA_EXTERN void frida_injector_payload_id_init (FridaInjectorPayloadId *self,
                                     guint handle);
VALA_EXTERN guint frida_injector_payload_id_hash (FridaInjectorPayloadId* id);
VALA_EXTERN gboolean frida_injector_payload_id_equal (FridaInjectorPayloadId* a,
                                          FridaInjectorPayloadId* b);
VALA_EXTERN GType frida_mapped_library_blob_get_type (void) G_GNUC_CONST ;
VALA_EXTERN FridaMappedLibraryBlob* frida_mapped_library_blob_dup (const FridaMappedLibraryBlob* self);
VALA_EXTERN void frida_mapped_library_blob_free (FridaMappedLibraryBlob* self);
VALA_EXTERN void frida_mapped_library_blob_init (FridaMappedLibraryBlob *self,
                                     guint64 address,
                                     guint size,
                                     guint allocated_size);
VALA_EXTERN GType frida_linux_injector_state_get_type (void) G_GNUC_CONST ;
VALA_EXTERN FridaLinuxInjectorState* frida_linux_injector_state_dup (const FridaLinuxInjectorState* self);
VALA_EXTERN void frida_linux_injector_state_free (FridaLinuxInjectorState* self);
VALA_EXTERN GType frida_posix_injector_state_get_type (void) G_GNUC_CONST ;
VALA_EXTERN FridaPosixInjectorState* frida_posix_injector_state_dup (const FridaPosixInjectorState* self);
VALA_EXTERN void frida_posix_injector_state_free (FridaPosixInjectorState* self);
VALA_EXTERN GType frida_session_detach_reason_get_type (void) G_GNUC_CONST ;
VALA_EXTERN FridaSessionDetachReason frida_session_detach_reason_from_nick (const gchar* nick,
                                                                GError** error);
VALA_EXTERN gchar* frida_session_detach_reason_to_nick (FridaSessionDetachReason self);
VALA_EXTERN void frida_throw_api_error (GError* e,
                            GError** error);
VALA_EXTERN void frida_throw_dbus_error (GError* e,
                             GError** error);
VALA_EXTERN void frida_host_application_info_init (FridaHostApplicationInfo *self,
                                       const gchar* identifier,
                                       const gchar* name,
                                       guint pid,
                                       GHashTable* parameters);
VALA_EXTERN void frida_host_application_info_init_empty (FridaHostApplicationInfo *self);
VALA_EXTERN void frida_host_process_info_init (FridaHostProcessInfo *self,
                                   guint pid,
                                   const gchar* name,
                                   GHashTable* parameters);
VALA_EXTERN GType frida_frontmost_query_options_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (FridaFrontmostQueryOptions, g_object_unref)
VALA_EXTERN GHashTable* _frida_frontmost_query_options_serialize (FridaFrontmostQueryOptions* self);
VALA_EXTERN FridaFrontmostQueryOptions* _frida_frontmost_query_options_deserialize (GHashTable* dict,
                                                                        GError** error);
VALA_EXTERN FridaFrontmostQueryOptions* frida_frontmost_query_options_new (void);
VALA_EXTERN FridaFrontmostQueryOptions* frida_frontmost_query_options_construct (GType object_type);
VALA_EXTERN GType frida_scope_get_type (void) G_GNUC_CONST ;
VALA_EXTERN FridaScope frida_frontmost_query_options_get_scope (FridaFrontmostQueryOptions* self);
VALA_EXTERN void frida_frontmost_query_options_set_scope (FridaFrontmostQueryOptions* self,
                                              FridaScope value);
VALA_EXTERN GType frida_application_query_options_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (FridaApplicationQueryOptions, g_object_unref)
VALA_EXTERN void frida_application_query_options_select_identifier (FridaApplicationQueryOptions* self,
                                                        const gchar* identifier);
VALA_EXTERN gboolean frida_application_query_options_has_selected_identifiers (FridaApplicationQueryOptions* self);
VALA_EXTERN void frida_application_query_options_enumerate_selected_identifiers (FridaApplicationQueryOptions* self,
                                                                     GFunc func,
                                                                     gpointer func_target);
VALA_EXTERN GHashTable* _frida_application_query_options_serialize (FridaApplicationQueryOptions* self);
VALA_EXTERN FridaApplicationQueryOptions* _frida_application_query_options_deserialize (GHashTable* dict,
                                                                            GError** error);
VALA_EXTERN FridaApplicationQueryOptions* frida_application_query_options_new (void);
VALA_EXTERN FridaApplicationQueryOptions* frida_application_query_options_construct (GType object_type);
VALA_EXTERN FridaScope frida_application_query_options_get_scope (FridaApplicationQueryOptions* self);
VALA_EXTERN void frida_application_query_options_set_scope (FridaApplicationQueryOptions* self,
                                                FridaScope value);
VALA_EXTERN GType frida_process_query_options_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (FridaProcessQueryOptions, g_object_unref)
VALA_EXTERN void frida_process_query_options_select_pid (FridaProcessQueryOptions* self,
                                             guint pid);
VALA_EXTERN gboolean frida_process_query_options_has_selected_pids (FridaProcessQueryOptions* self);
VALA_EXTERN void frida_process_query_options_enumerate_selected_pids (FridaProcessQueryOptions* self,
                                                          GFunc func,
                                                          gpointer func_target);
VALA_EXTERN GHashTable* _frida_process_query_options_serialize (FridaProcessQueryOptions* self);
VALA_EXTERN FridaProcessQueryOptions* _frida_process_query_options_deserialize (GHashTable* dict,
                                                                    GError** error);
VALA_EXTERN FridaProcessQueryOptions* frida_process_query_options_new (void);
VALA_EXTERN FridaProcessQueryOptions* frida_process_query_options_construct (GType object_type);
VALA_EXTERN FridaScope frida_process_query_options_get_scope (FridaProcessQueryOptions* self);
VALA_EXTERN void frida_process_query_options_set_scope (FridaProcessQueryOptions* self,
                                            FridaScope value);
VALA_EXTERN FridaScope frida_scope_from_nick (const gchar* nick,
                                  GError** error);
VALA_EXTERN gchar* frida_scope_to_nick (FridaScope self);
VALA_EXTERN void frida_host_spawn_options_init (FridaHostSpawnOptions *self);
VALA_EXTERN gchar** frida_host_spawn_options_compute_argv (FridaHostSpawnOptions *self,
                                               const gchar* path,
                                               gint* result_length1);
VALA_EXTERN gchar** frida_host_spawn_options_compute_envp (FridaHostSpawnOptions *self,
                                               gint* result_length1);
VALA_EXTERN GType frida_session_options_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (FridaSessionOptions, g_object_unref)
VALA_EXTERN GHashTable* _frida_session_options_serialize (FridaSessionOptions* self);
VALA_EXTERN FridaSessionOptions* _frida_session_options_deserialize (GHashTable* dict,
                                                         GError** error);
VALA_EXTERN FridaSessionOptions* frida_session_options_new (void);
VALA_EXTERN FridaSessionOptions* frida_session_options_construct (GType object_type);
VALA_EXTERN FridaRealm frida_session_options_get_realm (FridaSessionOptions* self);
VALA_EXTERN void frida_session_options_set_realm (FridaSessionOptions* self,
                                      FridaRealm value);
VALA_EXTERN guint frida_session_options_get_persist_timeout (FridaSessionOptions* self);
VALA_EXTERN void frida_session_options_set_persist_timeout (FridaSessionOptions* self,
                                                guint value);
VALA_EXTERN const gchar* frida_session_options_get_emulated_agent_path (FridaSessionOptions* self);
VALA_EXTERN void frida_session_options_set_emulated_agent_path (FridaSessionOptions* self,
                                                    const gchar* value);
VALA_EXTERN FridaStdio frida_stdio_from_nick (const gchar* nick,
                                  GError** error);
VALA_EXTERN gchar* frida_stdio_to_nick (FridaStdio self);
VALA_EXTERN void frida_host_spawn_info_init (FridaHostSpawnInfo *self,
                                 guint pid,
                                 const gchar* identifier);
VALA_EXTERN void frida_host_child_id_init (FridaHostChildId *self,
                               guint handle);
VALA_EXTERN guint frida_host_child_id_hash (FridaHostChildId* id);
VALA_EXTERN gboolean frida_host_child_id_equal (FridaHostChildId* a,
                                    FridaHostChildId* b);
VALA_EXTERN void frida_host_child_info_init (FridaHostChildInfo *self,
                                 guint pid,
                                 guint parent_pid,
                                 FridaChildOrigin origin);
VALA_EXTERN FridaChildOrigin frida_child_origin_from_nick (const gchar* nick,
                                               GError** error);
VALA_EXTERN gchar* frida_child_origin_to_nick (FridaChildOrigin self);
VALA_EXTERN GType frida_crash_info_get_type (void) G_GNUC_CONST ;
VALA_EXTERN FridaCrashInfo* frida_crash_info_dup (const FridaCrashInfo* self);
VALA_EXTERN void frida_crash_info_free (FridaCrashInfo* self);
VALA_EXTERN void frida_crash_info_copy (const FridaCrashInfo* self,
                            FridaCrashInfo* dest);
VALA_EXTERN void frida_crash_info_destroy (FridaCrashInfo* self);
G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC (FridaCrashInfo, frida_crash_info_destroy)
VALA_EXTERN void frida_crash_info_init (FridaCrashInfo *self,
                            guint pid,
                            const gchar* process_name,
                            const gchar* summary,
                            const gchar* report,
                            GHashTable* parameters);
VALA_EXTERN void frida_crash_info_init_empty (FridaCrashInfo *self);
VALA_EXTERN void frida_agent_session_id_init (FridaAgentSessionId *self,
                                  const gchar* handle);
VALA_EXTERN void frida_agent_session_id_init_generate (FridaAgentSessionId *self);
VALA_EXTERN guint frida_agent_session_id_hash (FridaAgentSessionId* id);
VALA_EXTERN gboolean frida_agent_session_id_equal (FridaAgentSessionId* a,
                                       FridaAgentSessionId* b);
VALA_EXTERN void frida_channel_id_init (FridaChannelId *self,
                            const gchar* handle);
VALA_EXTERN void frida_channel_id_init_generate (FridaChannelId *self);
VALA_EXTERN guint frida_channel_id_hash (FridaChannelId* id);
VALA_EXTERN gboolean frida_channel_id_equal (FridaChannelId* a,
                                 FridaChannelId* b);
VALA_EXTERN void frida_service_session_id_init (FridaServiceSessionId *self,
                                    const gchar* handle);
VALA_EXTERN void frida_service_session_id_init_generate (FridaServiceSessionId *self);
VALA_EXTERN guint frida_service_session_id_hash (FridaServiceSessionId* id);
VALA_EXTERN gboolean frida_service_session_id_equal (FridaServiceSessionId* a,
                                         FridaServiceSessionId* b);
VALA_EXTERN void frida_agent_script_id_init (FridaAgentScriptId *self,
                                 guint handle);
VALA_EXTERN guint frida_agent_script_id_hash (FridaAgentScriptId* id);
VALA_EXTERN gboolean frida_agent_script_id_equal (FridaAgentScriptId* a,
                                      FridaAgentScriptId* b);
VALA_EXTERN GType frida_script_options_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (FridaScriptOptions, g_object_unref)
VALA_EXTERN GHashTable* _frida_script_options_serialize (FridaScriptOptions* self);
VALA_EXTERN FridaScriptOptions* _frida_script_options_deserialize (GHashTable* dict,
                                                       GError** error);
VALA_EXTERN FridaScriptOptions* frida_script_options_new (void);
VALA_EXTERN FridaScriptOptions* frida_script_options_construct (GType object_type);
VALA_EXTERN const gchar* frida_script_options_get_name (FridaScriptOptions* self);
VALA_EXTERN void frida_script_options_set_name (FridaScriptOptions* self,
                                    const gchar* value);
VALA_EXTERN GBytes* frida_script_options_get_snapshot (FridaScriptOptions* self);
VALA_EXTERN void frida_script_options_set_snapshot (FridaScriptOptions* self,
                                        GBytes* value);
VALA_EXTERN GType frida_snapshot_transport_get_type (void) G_GNUC_CONST ;
VALA_EXTERN FridaSnapshotTransport frida_script_options_get_snapshot_transport (FridaScriptOptions* self);
VALA_EXTERN void frida_script_options_set_snapshot_transport (FridaScriptOptions* self,
                                                  FridaSnapshotTransport value);
VALA_EXTERN GType frida_script_runtime_get_type (void) G_GNUC_CONST ;
VALA_EXTERN FridaScriptRuntime frida_script_options_get_runtime (FridaScriptOptions* self);
VALA_EXTERN void frida_script_options_set_runtime (FridaScriptOptions* self,
                                       FridaScriptRuntime value);
VALA_EXTERN GType frida_snapshot_options_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (FridaSnapshotOptions, g_object_unref)
VALA_EXTERN GHashTable* _frida_snapshot_options_serialize (FridaSnapshotOptions* self);
VALA_EXTERN FridaSnapshotOptions* _frida_snapshot_options_deserialize (GHashTable* dict,
                                                           GError** error);
VALA_EXTERN FridaSnapshotOptions* frida_snapshot_options_new (void);
VALA_EXTERN FridaSnapshotOptions* frida_snapshot_options_construct (GType object_type);
VALA_EXTERN const gchar* frida_snapshot_options_get_warmup_script (FridaSnapshotOptions* self);
VALA_EXTERN void frida_snapshot_options_set_warmup_script (FridaSnapshotOptions* self,
                                               const gchar* value);
VALA_EXTERN FridaScriptRuntime frida_snapshot_options_get_runtime (FridaSnapshotOptions* self);
VALA_EXTERN void frida_snapshot_options_set_runtime (FridaSnapshotOptions* self,
                                         FridaScriptRuntime value);
VALA_EXTERN FridaScriptRuntime frida_script_runtime_from_nick (const gchar* nick,
                                                   GError** error);
VALA_EXTERN gchar* frida_script_runtime_to_nick (FridaScriptRuntime self);
VALA_EXTERN void frida_portal_membership_id_init (FridaPortalMembershipId *self,
                                      guint handle);
VALA_EXTERN guint frida_portal_membership_id_hash (FridaPortalMembershipId* id);
VALA_EXTERN gboolean frida_portal_membership_id_equal (FridaPortalMembershipId* a,
                                           FridaPortalMembershipId* b);
VALA_EXTERN GType frida_portal_options_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (FridaPortalOptions, g_object_unref)
VALA_EXTERN GHashTable* _frida_portal_options_serialize (FridaPortalOptions* self);
VALA_EXTERN FridaPortalOptions* _frida_portal_options_deserialize (GHashTable* dict,
                                                       GError** error);
VALA_EXTERN FridaPortalOptions* frida_portal_options_new (void);
VALA_EXTERN FridaPortalOptions* frida_portal_options_construct (GType object_type);
VALA_EXTERN GTlsCertificate* frida_portal_options_get_certificate (FridaPortalOptions* self);
VALA_EXTERN void frida_portal_options_set_certificate (FridaPortalOptions* self,
                                           GTlsCertificate* value);
VALA_EXTERN const gchar* frida_portal_options_get_token (FridaPortalOptions* self);
VALA_EXTERN void frida_portal_options_set_token (FridaPortalOptions* self,
                                     const gchar* value);
VALA_EXTERN gchar** frida_portal_options_get_acl (FridaPortalOptions* self,
                                      gint* result_length1);
VALA_EXTERN void frida_portal_options_set_acl (FridaPortalOptions* self,
                                   gchar** value,
                                   gint value_length1);
VALA_EXTERN GType frida_peer_options_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (FridaPeerOptions, g_object_unref)
VALA_EXTERN void frida_peer_options_clear_relays (FridaPeerOptions* self);
VALA_EXTERN GType frida_relay_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (FridaRelay, g_object_unref)
VALA_EXTERN void frida_peer_options_add_relay (FridaPeerOptions* self,
                                   FridaRelay* relay);
VALA_EXTERN void frida_peer_options_enumerate_relays (FridaPeerOptions* self,
                                          GFunc func,
                                          gpointer func_target);
VALA_EXTERN GHashTable* _frida_peer_options_serialize (FridaPeerOptions* self);
VALA_EXTERN FridaPeerOptions* _frida_peer_options_deserialize (GHashTable* dict,
                                                   GError** error);
VALA_EXTERN FridaPeerOptions* frida_peer_options_new (void);
VALA_EXTERN FridaPeerOptions* frida_peer_options_construct (GType object_type);
VALA_EXTERN const gchar* frida_peer_options_get_stun_server (FridaPeerOptions* self);
VALA_EXTERN void frida_peer_options_set_stun_server (FridaPeerOptions* self,
                                         const gchar* value);
VALA_EXTERN GType frida_relay_kind_get_type (void) G_GNUC_CONST ;
VALA_EXTERN FridaRelay* frida_relay_new (const gchar* address,
                             const gchar* username,
                             const gchar* password,
                             FridaRelayKind kind);
VALA_EXTERN FridaRelay* frida_relay_construct (GType object_type,
                                   const gchar* address,
                                   const gchar* username,
                                   const gchar* password,
                                   FridaRelayKind kind);
VALA_EXTERN const gchar* frida_relay_get_address (FridaRelay* self);
VALA_EXTERN const gchar* frida_relay_get_username (FridaRelay* self);
VALA_EXTERN const gchar* frida_relay_get_password (FridaRelay* self);
VALA_EXTERN FridaRelayKind frida_relay_get_kind (FridaRelay* self);
VALA_EXTERN GHashTable* frida_make_parameters_dict (void);
VALA_EXTERN GHashTable* frida_compute_system_parameters (void);
gchar* _frida_query_android_system_property (const gchar* name);
VALA_EXTERN gchar* frida_object_path_for_agent_session (FridaAgentSessionId* id);
VALA_EXTERN gchar* frida_object_path_for_agent_message_sink (FridaAgentSessionId* id);
VALA_EXTERN gchar* frida_object_path_for_channel (FridaChannelId* id);
VALA_EXTERN gchar* frida_object_path_for_service_session (FridaServiceSessionId* id);
VALA_EXTERN gpointer frida_marshal_enum_from_nick (GType t_type,
                                       GBoxedCopyFunc t_dup_func,
                                       GDestroyNotify t_destroy_func,
                                       const gchar* nick,
                                       GError** error);
VALA_EXTERN gchar* frida_marshal_enum_to_nick (GType t_type,
                                   GBoxedCopyFunc t_dup_func,
                                   GDestroyNotify t_destroy_func,
                                   gint val);
VALA_EXTERN guint frida_numeric_int64_hash (gint64* val);
VALA_EXTERN gboolean frida_numeric_int64_equal (gint64* val_a,
                                    gint64* val_b);
VALA_EXTERN guint frida_numeric_uint64_hash (guint64* val);
VALA_EXTERN gboolean frida_numeric_uint64_equal (guint64* val_a,
                                     guint64* val_b);
VALA_EXTERN GType frida_channel_registry_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (FridaChannelRegistry, g_object_unref)
VALA_EXTERN void frida_channel_registry_clear (FridaChannelRegistry* self);
VALA_EXTERN void frida_channel_registry_register (FridaChannelRegistry* self,
                                      FridaChannelId* id,
                                      GIOStream* stream);
VALA_EXTERN GIOStream* frida_channel_registry_link (FridaChannelRegistry* self,
                                        FridaChannelId* id,
                                        GError** error);
VALA_EXTERN void frida_channel_registry_unlink (FridaChannelRegistry* self,
                                    FridaChannelId* id);
VALA_EXTERN FridaChannelRegistry* frida_channel_registry_new (void);
VALA_EXTERN FridaChannelRegistry* frida_channel_registry_construct (GType object_type);
VALA_EXTERN GType frida_channel_endpoint_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (FridaChannelEndpoint, g_object_unref)
VALA_EXTERN FridaChannelEndpoint* frida_channel_endpoint_new (GIOStream* stream);
VALA_EXTERN FridaChannelEndpoint* frida_channel_endpoint_construct (GType object_type,
                                                        GIOStream* stream);
VALA_EXTERN GType frida_virtual_stream_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (FridaVirtualStream, g_object_unref)
VALA_EXTERN GType frida_channel_stream_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (FridaChannelStream, g_object_unref)
VALA_EXTERN FridaChannelStream* frida_channel_stream_new (FridaChannel* channel);
VALA_EXTERN FridaChannelStream* frida_channel_stream_construct (GType object_type,
                                                    FridaChannel* channel);
VALA_EXTERN void frida_channel_stream_abandon (FridaChannelStream* self);
VALA_EXTERN FridaChannel* frida_channel_stream_get_channel (FridaChannelStream* self);
VALA_EXTERN GType frida_service_session_registry_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (FridaServiceSessionRegistry, g_object_unref)
VALA_EXTERN void frida_service_session_registry_clear (FridaServiceSessionRegistry* self);
VALA_EXTERN void frida_service_session_registry_register (FridaServiceSessionRegistry* self,
                                              FridaServiceSessionId* id,
                                              FridaServiceSession* session);
VALA_EXTERN FridaServiceSession* frida_service_session_registry_link (FridaServiceSessionRegistry* self,
                                                          FridaServiceSessionId* id,
                                                          GError** error);
VALA_EXTERN void frida_service_session_registry_unlink (FridaServiceSessionRegistry* self,
                                            FridaServiceSessionId* id);
VALA_EXTERN FridaServiceSessionRegistry* frida_service_session_registry_new (void);
VALA_EXTERN FridaServiceSessionRegistry* frida_service_session_registry_construct (GType object_type);
VALA_EXTERN GType frida_virtual_stream_state_get_type (void) G_GNUC_CONST ;
VALA_EXTERN FridaVirtualStreamState frida_virtual_stream_query_initial_state (FridaVirtualStream* self);
VALA_EXTERN GIOCondition frida_virtual_stream_query_events (FridaVirtualStream* self);
VALA_EXTERN void frida_virtual_stream_handle_close (FridaVirtualStream* self);
VALA_EXTERN void frida_virtual_stream_shutdown_read (FridaVirtualStream* self,
                                         GError** error);
VALA_EXTERN void frida_virtual_stream_shutdown_write (FridaVirtualStream* self,
                                          GError** error);
VALA_EXTERN gssize frida_virtual_stream_read (FridaVirtualStream* self,
                                  guint8* buffer,
                                  gint buffer_length1,
                                  GError** error);
VALA_EXTERN gssize frida_virtual_stream_write (FridaVirtualStream* self,
                                   guint8* buffer,
                                   gint buffer_length1,
                                   GError** error);
VALA_EXTERN void frida_virtual_stream_with_state_lock (FridaVirtualStream* self,
                                           FridaVirtualStreamWorkFunc func,
                                           gpointer func_target);
VALA_EXTERN void frida_virtual_stream_register_source (FridaVirtualStream* self,
                                           GSource* source,
                                           GIOCondition condition);
VALA_EXTERN void frida_virtual_stream_unregister_source (FridaVirtualStream* self,
                                             GSource* source);
VALA_EXTERN void frida_virtual_stream_update_pending_io (FridaVirtualStream* self);
VALA_EXTERN FridaVirtualStream* frida_virtual_stream_construct (GType object_type);
VALA_EXTERN GIOCondition frida_virtual_stream_get_pending_io (FridaVirtualStream* self);
VALA_EXTERN GType frida_virtual_input_stream_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (FridaVirtualInputStream, g_object_unref)
VALA_EXTERN GType frida_virtual_output_stream_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (FridaVirtualOutputStream, g_object_unref)
VALA_EXTERN GType frida_rpc_client_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (FridaRpcClient, g_object_unref)
VALA_EXTERN GType frida_rpc_peer_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (FridaRpcPeer, g_object_unref)
VALA_EXTERN FridaRpcClient* frida_rpc_client_new (FridaRpcPeer* peer);
VALA_EXTERN FridaRpcClient* frida_rpc_client_construct (GType object_type,
                                            FridaRpcPeer* peer);
VALA_EXTERN void frida_rpc_client_call (FridaRpcClient* self,
                            const gchar* method,
                            JsonNode** args,
                            gint args_length1,
                            GBytes* data,
                            GCancellable* cancellable,
                            GAsyncReadyCallback _callback_,
                            gpointer _user_data_);
VALA_EXTERN JsonNode* frida_rpc_client_call_finish (FridaRpcClient* self,
                                        GAsyncResult* _res_,
                                        GError** error);
VALA_EXTERN gboolean frida_rpc_client_try_handle_message (FridaRpcClient* self,
                                              const gchar* json);
VALA_EXTERN FridaRpcPeer* frida_rpc_client_get_peer (FridaRpcClient* self);
VALA_EXTERN void frida_rpc_peer_post_rpc_message (FridaRpcPeer* self,
                                      const gchar* json,
                                      GBytes* data,
                                      GCancellable* cancellable,
                                      GAsyncReadyCallback _callback_,
                                      gpointer _user_data_);
VALA_EXTERN void frida_rpc_peer_post_rpc_message_finish (FridaRpcPeer* self,
                                             GAsyncResult* _res_,
                                             GError** error);
VALA_EXTERN void frida_peer_connection_configure_agent (NiceAgent* agent,
                                            guint stream_id,
                                            guint component_id,
                                            FridaPeerOptions* options,
                                            GCancellable* cancellable,
                                            GAsyncReadyCallback _callback_,
                                            gpointer _user_data_);
VALA_EXTERN void frida_peer_connection_configure_agent_finish (GAsyncResult* _res_,
                                                   GError** error);
VALA_EXTERN gchar* frida_peer_connection_compute_certificate_fingerprint (guint8* cert_der,
                                                              gint cert_der_length1);
VALA_EXTERN gpointer frida_peer_session_description_ref (gpointer instance);
VALA_EXTERN void frida_peer_session_description_unref (gpointer instance);
VALA_EXTERN GParamSpec* frida_param_spec_peer_session_description (const gchar* name,
                                                       const gchar* nick,
                                                       const gchar* blurb,
                                                       GType object_type,
                                                       GParamFlags flags);
VALA_EXTERN void frida_value_set_peer_session_description (GValue* value,
                                               gpointer v_object);
VALA_EXTERN void frida_value_take_peer_session_description (GValue* value,
                                                gpointer v_object);
VALA_EXTERN gpointer frida_value_get_peer_session_description (const GValue* value);
VALA_EXTERN GType frida_peer_session_description_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (FridaPeerSessionDescription, frida_peer_session_description_unref)
VALA_EXTERN GType frida_peer_setup_get_type (void) G_GNUC_CONST ;
VALA_EXTERN FridaPeerSessionDescription* frida_peer_session_description_parse (const gchar* sdp,
                                                                   GError** error);
VALA_EXTERN gchar* frida_peer_session_description_to_sdp (FridaPeerSessionDescription* self);
VALA_EXTERN FridaPeerSessionDescription* frida_peer_session_description_new (void);
VALA_EXTERN FridaPeerSessionDescription* frida_peer_session_description_construct (GType object_type);
VALA_EXTERN guint64 frida_peer_session_id_generate (void);
VALA_EXTERN FridaPeerSetup frida_peer_setup_from_nick (const gchar* nick,
                                           GError** error);
VALA_EXTERN gchar* frida_peer_setup_to_nick (FridaPeerSetup self);
VALA_EXTERN GType frida_peer_socket_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (FridaPeerSocket, g_object_unref)
VALA_EXTERN FridaPeerSocket* frida_peer_socket_new (NiceAgent* agent,
                                        guint stream_id,
                                        guint component_id);
VALA_EXTERN FridaPeerSocket* frida_peer_socket_construct (GType object_type,
                                              NiceAgent* agent,
                                              guint stream_id,
                                              guint component_id);
VALA_EXTERN gint frida_peer_socket_datagram_receive_messages (FridaPeerSocket* self,
                                                  GInputMessage* messages,
                                                  guint messages_length1,
                                                  gint flags,
                                                  gint64 timeout,
                                                  GCancellable* cancellable,
                                                  GError** error);
VALA_EXTERN gint frida_peer_socket_datagram_send_messages (FridaPeerSocket* self,
                                               GOutputMessage* messages,
                                               guint messages_length1,
                                               gint flags,
                                               gint64 timeout,
                                               GCancellable* cancellable,
                                               GError** error);
VALA_EXTERN GSource* frida_peer_socket_datagram_create_source (FridaPeerSocket* self,
                                                   GIOCondition condition,
                                                   GCancellable* cancellable);
VALA_EXTERN GIOCondition frida_peer_socket_datagram_condition_check (FridaPeerSocket* self,
                                                         GIOCondition condition);
VALA_EXTERN gboolean frida_peer_socket_datagram_condition_wait (FridaPeerSocket* self,
                                                    GIOCondition condition,
                                                    gint64 timeout,
                                                    GCancellable* cancellable,
                                                    GError** error);
VALA_EXTERN void frida_peer_socket_register_source (FridaPeerSocket* self,
                                        GSource* source,
                                        GIOCondition condition);
VALA_EXTERN void frida_peer_socket_unregister_source (FridaPeerSocket* self,
                                          GSource* source);
VALA_EXTERN NiceAgent* frida_peer_socket_get_agent (FridaPeerSocket* self);
VALA_EXTERN guint frida_peer_socket_get_stream_id (FridaPeerSocket* self);
VALA_EXTERN guint frida_peer_socket_get_component_id (FridaPeerSocket* self);
VALA_EXTERN GMainContext* frida_peer_socket_get_main_context (FridaPeerSocket* self);
VALA_EXTERN GIOCondition frida_peer_socket_get_pending_io (FridaPeerSocket* self);
VALA_EXTERN GType frida_sctp_connection_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (FridaSctpConnection, g_object_unref)
VALA_EXTERN FridaSctpConnection* frida_sctp_connection_new (GDatagramBased* transport_socket,
                                                FridaPeerSetup setup,
                                                guint16 port,
                                                gsize max_message_size);
VALA_EXTERN FridaSctpConnection* frida_sctp_connection_construct (GType object_type,
                                                      GDatagramBased* transport_socket,
                                                      FridaPeerSetup setup,
                                                      guint16 port,
                                                      gsize max_message_size);
void _frida_sctp_connection_initialize_sctp_backend (void);
void* _frida_sctp_connection_create_sctp_socket (FridaSctpConnection* self);
void _frida_sctp_connection_connect_sctp_socket (FridaSctpConnection* self,
                                                 void* sock,
                                                 guint16 port);
GIOCondition _frida_sctp_connection_query_sctp_socket_events (void* sock);
void _frida_sctp_connection_close (void* sock);
VALA_EXTERN GType frida_sctp_shutdown_type_get_type (void) G_GNUC_CONST ;
void _frida_sctp_connection_shutdown (void* sock,
                                      FridaSctpShutdownType type,
                                      GError** error);
void _frida_sctp_connection_handle_transport_packet (FridaSctpConnection* self,
                                                     guint8* data,
                                                     gint data_length1);
VALA_EXTERN gint _frida_sctp_connection_emit_transport_packet (FridaSctpConnection* self,
                                                   guint8* data,
                                                   gint data_length1);
VALA_EXTERN void _frida_sctp_connection_on_sctp_socket_events_changed (FridaSctpConnection* self);
VALA_EXTERN GType frida_payload_protocol_id_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType frida_sctp_message_flags_get_type (void) G_GNUC_CONST ;
gssize _frida_sctp_connection_recv (void* sock,
                                    guint8* buffer,
                                    gint buffer_length1,
                                    guint16* stream_id,
                                    FridaPayloadProtocolId* protocol_id,
                                    FridaSctpMessageFlags* message_flags,
                                    GError** error);
gssize _frida_sctp_connection_send (void* sock,
                                    guint16 stream_id,
                                    FridaPayloadProtocolId protocol_id,
                                    guint8* data,
                                    gint data_length1,
                                    GError** error);
VALA_EXTERN GDatagramBased* frida_sctp_connection_get_transport_socket (FridaSctpConnection* self);
VALA_EXTERN FridaPeerSetup frida_sctp_connection_get_setup (FridaSctpConnection* self);
VALA_EXTERN guint16 frida_sctp_connection_get_port (FridaSctpConnection* self);
VALA_EXTERN gsize frida_sctp_connection_get_max_message_size (FridaSctpConnection* self);
VALA_EXTERN GType frida_dcep_message_type_get_type (void) G_GNUC_CONST ;
VALA_EXTERN void frida_generate_certificate (GAsyncReadyCallback _callback_,
                                 gpointer _user_data_);
VALA_EXTERN void frida_generate_certificate_finish (GAsyncResult* _res_,
                                        guint8** cert_der,
                                        gint* cert_der_length1,
                                        gchar** cert_pem,
                                        gchar** key_pem);
void _frida_generate_certificate (guint8** cert_der,
                                  gint* cert_der_length1,
                                  gchar** cert_pem,
                                  gchar** key_pem);
VALA_EXTERN void frida_get_dbus_context (GAsyncReadyCallback _callback_,
                             gpointer _user_data_);
VALA_EXTERN GMainContext* frida_get_dbus_context_finish (GAsyncResult* _res_);
VALA_EXTERN void frida_invalidate_dbus_context (void);
VALA_EXTERN GType frida_dummy_input_stream_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (FridaDummyInputStream, g_object_unref)
VALA_EXTERN gpointer frida_promise_ref (gpointer instance);
VALA_EXTERN void frida_promise_unref (gpointer instance);
VALA_EXTERN GParamSpec* frida_param_spec_promise (const gchar* name,
                                      const gchar* nick,
                                      const gchar* blurb,
                                      GType object_type,
                                      GParamFlags flags);
VALA_EXTERN void frida_value_set_promise (GValue* value,
                              gpointer v_object);
VALA_EXTERN void frida_value_take_promise (GValue* value,
                               gpointer v_object);
VALA_EXTERN gpointer frida_value_get_promise (const GValue* value);
VALA_EXTERN GType frida_promise_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (FridaPromise, frida_promise_unref)
VALA_EXTERN FridaPromise* frida_promise_new (GType t_type,
                                 GBoxedCopyFunc t_dup_func,
                                 GDestroyNotify t_destroy_func);
VALA_EXTERN FridaPromise* frida_promise_construct (GType object_type,
                                       GType t_type,
                                       GBoxedCopyFunc t_dup_func,
                                       GDestroyNotify t_destroy_func);
VALA_EXTERN void frida_promise_resolve (FridaPromise* self,
                            gconstpointer _result_);
VALA_EXTERN void frida_promise_reject (FridaPromise* self,
                           GError* _error_);
VALA_EXTERN GType frida_future_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (FridaFuture, g_object_unref)
VALA_EXTERN FridaFuture* frida_promise_get_future (FridaPromise* self);
VALA_EXTERN void frida_future_wait_async (FridaFuture* self,
                              GCancellable* cancellable,
                              GAsyncReadyCallback _callback_,
                              gpointer _user_data_);
VALA_EXTERN gpointer frida_future_wait_finish (FridaFuture* self,
                                   GAsyncResult* _res_,
                                   GError** error);
VALA_EXTERN void frida_future_then (FridaFuture* self,
                        FridaFutureCompletionHandler handler,
                        gpointer handler_target,
                        GDestroyNotify handler_target_destroy_notify);
VALA_EXTERN gpointer frida_future_get_result (FridaFuture* self,
                                  GError** error);
VALA_EXTERN gboolean frida_future_get_ready (FridaFuture* self);
VALA_EXTERN gconstpointer frida_future_get_value (FridaFuture* self);
VALA_EXTERN GError* frida_future_get_error (FridaFuture* self);
VALA_EXTERN void frida_fs_mkdirp (GFile* dir,
                      GCancellable* cancellable,
                      GError** error);
VALA_EXTERN void frida_fs_rmtree (GFile* dir,
                      GCancellable* cancellable,
                      GError** error);
VALA_EXTERN void frida_fs_rmtree_async (GFile* dir,
                            GCancellable* cancellable,
                            GAsyncReadyCallback _callback_,
                            gpointer _user_data_);
VALA_EXTERN void frida_fs_rmtree_finish (GAsyncResult* _res_,
                             GError** error);
VALA_EXTERN void frida_fs_read_all_text (GFile* f,
                             GCancellable* cancellable,
                             GAsyncReadyCallback _callback_,
                             gpointer _user_data_);
VALA_EXTERN gchar* frida_fs_read_all_text_finish (GAsyncResult* _res_,
                                      GError** error);
VALA_EXTERN void frida_fs_write_all_text (GFile* f,
                              const gchar* t,
                              GCancellable* cancellable,
                              GAsyncReadyCallback _callback_,
                              gpointer _user_data_);
VALA_EXTERN void frida_fs_write_all_text_finish (GAsyncResult* _res_,
                                     GError** error);
VALA_EXTERN void frida_fs_read_all_bytes (GFile* f,
                              GCancellable* cancellable,
                              GAsyncReadyCallback _callback_,
                              gpointer _user_data_);
VALA_EXTERN GBytes* frida_fs_read_all_bytes_finish (GAsyncResult* _res_,
                                        GError** error);
VALA_EXTERN void frida_fs_write_all_bytes (GFile* f,
                               GBytes* b,
                               GCancellable* cancellable,
                               GAsyncReadyCallback _callback_,
                               gpointer _user_data_);
VALA_EXTERN void frida_fs_write_all_bytes_finish (GAsyncResult* _res_,
                                      GError** error);
VALA_EXTERN GSocketConnectable* frida_parse_control_address (const gchar* address,
                                                 guint16 port,
                                                 GError** error);
VALA_EXTERN GSocketConnectable* frida_parse_cluster_address (const gchar* address,
                                                 guint16 port,
                                                 GError** error);
VALA_EXTERN GSocketConnectable* frida_parse_socket_address (const gchar* address,
                                                guint16 port,
                                                const gchar* default_address,
                                                guint16 default_port,
                                                GError** error);
void frida_unix_socket_tune_buffer_sizes (gint fd);
void frida_tcp_enable_nodelay (GSocket* socket);
VALA_EXTERN gsize frida_udp_recv (guint8* data,
                      gint data_length1,
                      GDatagramBased* source,
                      GCancellable* cancellable,
                      GInetSocketAddress** remote_address,
                      GError** error);
VALA_EXTERN void frida_udp_send (guint8* data,
                     gint data_length1,
                     GDatagramBased* sink,
                     GCancellable* cancellable,
                     GError** error);
VALA_EXTERN void frida_udp_send_to (guint8* data,
                        gint data_length1,
                        GInetSocketAddress* dest_addr,
                        GDatagramBased* sink,
                        GCancellable* cancellable,
                        GError** error);
VALA_EXTERN GType frida_endpoint_parameters_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (FridaEndpointParameters, g_object_unref)
VALA_EXTERN FridaEndpointParameters* frida_endpoint_parameters_new (const gchar* address,
                                                        guint16 port,
                                                        GTlsCertificate* certificate,
                                                        const gchar* origin,
                                                        FridaAuthenticationService* auth_service,
                                                        GFile* asset_root);
VALA_EXTERN FridaEndpointParameters* frida_endpoint_parameters_construct (GType object_type,
                                                              const gchar* address,
                                                              guint16 port,
                                                              GTlsCertificate* certificate,
                                                              const gchar* origin,
                                                              FridaAuthenticationService* auth_service,
                                                              GFile* asset_root);
VALA_EXTERN const gchar* frida_endpoint_parameters_get_address (FridaEndpointParameters* self);
VALA_EXTERN guint16 frida_endpoint_parameters_get_port (FridaEndpointParameters* self);
VALA_EXTERN GTlsCertificate* frida_endpoint_parameters_get_certificate (FridaEndpointParameters* self);
VALA_EXTERN const gchar* frida_endpoint_parameters_get_origin (FridaEndpointParameters* self);
VALA_EXTERN FridaAuthenticationService* frida_endpoint_parameters_get_auth_service (FridaEndpointParameters* self);
VALA_EXTERN GFile* frida_endpoint_parameters_get_asset_root (FridaEndpointParameters* self);
VALA_EXTERN void frida_endpoint_parameters_set_asset_root (FridaEndpointParameters* self,
                                               GFile* value);
VALA_EXTERN GType frida_web_service_transport_get_type (void) G_GNUC_CONST ;
VALA_EXTERN void frida_negotiate_connection (GIOStream* stream,
                                 FridaWebServiceTransport transport,
                                 const gchar* host,
                                 const gchar* origin,
                                 GCancellable* cancellable,
                                 GAsyncReadyCallback _callback_,
                                 gpointer _user_data_);
VALA_EXTERN GIOStream* frida_negotiate_connection_finish (GAsyncResult* _res_,
                                              GError** error);
VALA_EXTERN GType frida_web_service_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (FridaWebService, g_object_unref)
VALA_EXTERN GType frida_web_service_flavor_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType frida_port_conflict_behavior_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType frida_dynamic_interface_observer_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (FridaDynamicInterfaceObserver, g_object_unref)
VALA_EXTERN FridaWebService* frida_web_service_new (FridaEndpointParameters* endpoint_params,
                                        FridaWebServiceFlavor flavor,
                                        FridaPortConflictBehavior on_port_conflict,
                                        FridaDynamicInterfaceObserver* dynif_observer);
VALA_EXTERN FridaWebService* frida_web_service_construct (GType object_type,
                                              FridaEndpointParameters* endpoint_params,
                                              FridaWebServiceFlavor flavor,
                                              FridaPortConflictBehavior on_port_conflict,
                                              FridaDynamicInterfaceObserver* dynif_observer);
VALA_EXTERN void frida_web_service_start (FridaWebService* self,
                              GCancellable* cancellable,
                              GAsyncReadyCallback _callback_,
                              gpointer _user_data_);
VALA_EXTERN void frida_web_service_start_finish (FridaWebService* self,
                                     GAsyncResult* _res_,
                                     GError** error);
VALA_EXTERN void frida_web_service_stop (FridaWebService* self);
VALA_EXTERN FridaEndpointParameters* frida_web_service_get_endpoint_params (FridaWebService* self);
VALA_EXTERN FridaWebServiceFlavor frida_web_service_get_flavor (FridaWebService* self);
VALA_EXTERN FridaPortConflictBehavior frida_web_service_get_on_port_conflict (FridaWebService* self);
VALA_EXTERN FridaDynamicInterfaceObserver* frida_web_service_get_dynamic_interface_observer (FridaWebService* self);
VALA_EXTERN GSocketAddress* frida_web_service_get_listen_address (FridaWebService* self);
VALA_EXTERN void frida_dynamic_interface_observer_start (FridaDynamicInterfaceObserver* self);
VALA_EXTERN GType frida_dynamic_interface_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (FridaDynamicInterface, g_object_unref)
VALA_EXTERN FridaDynamicInterface* frida_dynamic_interface_new (const gchar* name,
                                                    GInetAddress* ip);
VALA_EXTERN FridaDynamicInterface* frida_dynamic_interface_construct (GType object_type,
                                                          const gchar* name,
                                                          GInetAddress* ip);
VALA_EXTERN const gchar* frida_dynamic_interface_get_name (FridaDynamicInterface* self);
VALA_EXTERN GInetAddress* frida_dynamic_interface_get_ip (FridaDynamicInterface* self);
const gchar* _frida_version_string (void);
VALA_EXTERN GType frida_web_connection_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (FridaWebConnection, g_object_unref)
VALA_EXTERN GType frida_buffer_builder_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (FridaBufferBuilder, g_object_unref)
VALA_EXTERN FridaBufferBuilder* frida_buffer_builder_new (int byte_order,
                                              guint pointer_size);
VALA_EXTERN FridaBufferBuilder* frida_buffer_builder_construct (GType object_type,
                                                    int byte_order,
                                                    guint pointer_size);
VALA_EXTERN FridaBufferBuilder* frida_buffer_builder_seek (FridaBufferBuilder* self,
                                               gsize offset);
VALA_EXTERN FridaBufferBuilder* frida_buffer_builder_skip (FridaBufferBuilder* self,
                                               gsize n);
VALA_EXTERN FridaBufferBuilder* frida_buffer_builder_align (FridaBufferBuilder* self,
                                                gsize n);
VALA_EXTERN FridaBufferBuilder* frida_buffer_builder_append_pointer (FridaBufferBuilder* self,
                                                         guint64 val);
VALA_EXTERN FridaBufferBuilder* frida_buffer_builder_append_pointer_to_label (FridaBufferBuilder* self,
                                                                  const gchar* name);
VALA_EXTERN FridaBufferBuilder* frida_buffer_builder_append_pointer_to_label_if (FridaBufferBuilder* self,
                                                                     gboolean present,
                                                                     const gchar* name);
VALA_EXTERN FridaBufferBuilder* frida_buffer_builder_append_label (FridaBufferBuilder* self,
                                                       const gchar* name,
                                                       GError** error);
VALA_EXTERN FridaBufferBuilder* frida_buffer_builder_append_size (FridaBufferBuilder* self,
                                                      guint64 val);
VALA_EXTERN FridaBufferBuilder* frida_buffer_builder_append_int8 (FridaBufferBuilder* self,
                                                      gint8 val);
VALA_EXTERN FridaBufferBuilder* frida_buffer_builder_append_uint8 (FridaBufferBuilder* self,
                                                       guint8 val);
VALA_EXTERN FridaBufferBuilder* frida_buffer_builder_append_int16 (FridaBufferBuilder* self,
                                                       gint16 val);
VALA_EXTERN FridaBufferBuilder* frida_buffer_builder_append_uint16 (FridaBufferBuilder* self,
                                                        guint16 val);
VALA_EXTERN FridaBufferBuilder* frida_buffer_builder_append_int32 (FridaBufferBuilder* self,
                                                       gint32 val);
VALA_EXTERN FridaBufferBuilder* frida_buffer_builder_append_uint32 (FridaBufferBuilder* self,
                                                        guint32 val);
VALA_EXTERN FridaBufferBuilder* frida_buffer_builder_append_int64 (FridaBufferBuilder* self,
                                                       gint64 val);
VALA_EXTERN FridaBufferBuilder* frida_buffer_builder_append_uint64 (FridaBufferBuilder* self,
                                                        guint64 val);
VALA_EXTERN FridaBufferBuilder* frida_buffer_builder_append_float (FridaBufferBuilder* self,
                                                       gfloat val);
VALA_EXTERN FridaBufferBuilder* frida_buffer_builder_append_double (FridaBufferBuilder* self,
                                                        gdouble val);
VALA_EXTERN GType frida_string_terminator_get_type (void) G_GNUC_CONST ;
VALA_EXTERN FridaBufferBuilder* frida_buffer_builder_append_string (FridaBufferBuilder* self,
                                                        const gchar* val,
                                                        FridaStringTerminator terminator);
VALA_EXTERN FridaBufferBuilder* frida_buffer_builder_append_bytes (FridaBufferBuilder* self,
                                                       GBytes* bytes);
VALA_EXTERN FridaBufferBuilder* frida_buffer_builder_append_data (FridaBufferBuilder* self,
                                                      guint8* data,
                                                      gint data_length1);
VALA_EXTERN FridaBufferBuilder* frida_buffer_builder_write_pointer (FridaBufferBuilder* self,
                                                        gsize offset,
                                                        guint64 val);
VALA_EXTERN FridaBufferBuilder* frida_buffer_builder_write_size (FridaBufferBuilder* self,
                                                     gsize offset,
                                                     guint64 val);
VALA_EXTERN FridaBufferBuilder* frida_buffer_builder_write_int8 (FridaBufferBuilder* self,
                                                     gsize offset,
                                                     gint8 val);
VALA_EXTERN FridaBufferBuilder* frida_buffer_builder_write_uint8 (FridaBufferBuilder* self,
                                                      gsize offset,
                                                      guint8 val);
VALA_EXTERN FridaBufferBuilder* frida_buffer_builder_write_int16 (FridaBufferBuilder* self,
                                                      gsize offset,
                                                      gint16 val);
VALA_EXTERN FridaBufferBuilder* frida_buffer_builder_write_uint16 (FridaBufferBuilder* self,
                                                       gsize offset,
                                                       guint16 val);
VALA_EXTERN FridaBufferBuilder* frida_buffer_builder_write_int32 (FridaBufferBuilder* self,
                                                      gsize offset,
                                                      gint32 val);
VALA_EXTERN FridaBufferBuilder* frida_buffer_builder_write_uint32 (FridaBufferBuilder* self,
                                                       gsize offset,
                                                       guint32 val);
VALA_EXTERN FridaBufferBuilder* frida_buffer_builder_write_int64 (FridaBufferBuilder* self,
                                                      gsize offset,
                                                      gint64 val);
VALA_EXTERN FridaBufferBuilder* frida_buffer_builder_write_uint64 (FridaBufferBuilder* self,
                                                       gsize offset,
                                                       guint64 val);
VALA_EXTERN FridaBufferBuilder* frida_buffer_builder_write_float (FridaBufferBuilder* self,
                                                      gsize offset,
                                                      gfloat val);
VALA_EXTERN FridaBufferBuilder* frida_buffer_builder_write_double (FridaBufferBuilder* self,
                                                       gsize offset,
                                                       gdouble val);
VALA_EXTERN FridaBufferBuilder* frida_buffer_builder_write_string (FridaBufferBuilder* self,
                                                       gsize offset,
                                                       const gchar* val);
VALA_EXTERN FridaBufferBuilder* frida_buffer_builder_write_bytes (FridaBufferBuilder* self,
                                                      gsize offset,
                                                      GBytes* bytes);
VALA_EXTERN FridaBufferBuilder* frida_buffer_builder_write_data (FridaBufferBuilder* self,
                                                     gsize offset,
                                                     guint8* data,
                                                     gint data_length1);
VALA_EXTERN GBytes* frida_buffer_builder_try_build (FridaBufferBuilder* self,
                                        guint64 base_address,
                                        GError** error);
VALA_EXTERN GBytes* frida_buffer_builder_build (FridaBufferBuilder* self,
                                    guint64 base_address);
VALA_EXTERN guint64 frida_buffer_builder_address_of (FridaBufferBuilder* self,
                                         const gchar* label,
                                         GError** error);
VALA_EXTERN int frida_buffer_builder_get_byte_order (FridaBufferBuilder* self);
VALA_EXTERN guint frida_buffer_builder_get_pointer_size (FridaBufferBuilder* self);
VALA_EXTERN gsize frida_buffer_builder_get_offset (FridaBufferBuilder* self);
VALA_EXTERN GType frida_buffer_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (FridaBuffer, g_object_unref)
VALA_EXTERN FridaBuffer* frida_buffer_new (GBytes* bytes,
                               int byte_order,
                               guint pointer_size);
VALA_EXTERN FridaBuffer* frida_buffer_construct (GType object_type,
                                     GBytes* bytes,
                                     int byte_order,
                                     guint pointer_size);
VALA_EXTERN guint64 frida_buffer_read_pointer (FridaBuffer* self,
                                   gsize offset);
VALA_EXTERN void frida_buffer_write_pointer (FridaBuffer* self,
                                 gsize offset,
                                 guint64 val);
VALA_EXTERN gint8 frida_buffer_read_int8 (FridaBuffer* self,
                              gsize offset);
VALA_EXTERN FridaBuffer* frida_buffer_write_int8 (FridaBuffer* self,
                                      gsize offset,
                                      gint8 val);
VALA_EXTERN guint8 frida_buffer_read_uint8 (FridaBuffer* self,
                                gsize offset);
VALA_EXTERN FridaBuffer* frida_buffer_write_uint8 (FridaBuffer* self,
                                       gsize offset,
                                       guint8 val);
VALA_EXTERN gint16 frida_buffer_read_int16 (FridaBuffer* self,
                                gsize offset);
VALA_EXTERN FridaBuffer* frida_buffer_write_int16 (FridaBuffer* self,
                                       gsize offset,
                                       gint16 val);
VALA_EXTERN guint16 frida_buffer_read_uint16 (FridaBuffer* self,
                                  gsize offset);
VALA_EXTERN FridaBuffer* frida_buffer_write_uint16 (FridaBuffer* self,
                                        gsize offset,
                                        guint16 val);
VALA_EXTERN gint32 frida_buffer_read_int32 (FridaBuffer* self,
                                gsize offset);
VALA_EXTERN FridaBuffer* frida_buffer_write_int32 (FridaBuffer* self,
                                       gsize offset,
                                       gint32 val);
VALA_EXTERN guint32 frida_buffer_read_uint32 (FridaBuffer* self,
                                  gsize offset);
VALA_EXTERN FridaBuffer* frida_buffer_write_uint32 (FridaBuffer* self,
                                        gsize offset,
                                        guint32 val);
VALA_EXTERN gint64 frida_buffer_read_int64 (FridaBuffer* self,
                                gsize offset);
VALA_EXTERN FridaBuffer* frida_buffer_write_int64 (FridaBuffer* self,
                                       gsize offset,
                                       gint64 val);
VALA_EXTERN guint64 frida_buffer_read_uint64 (FridaBuffer* self,
                                  gsize offset);
VALA_EXTERN FridaBuffer* frida_buffer_write_uint64 (FridaBuffer* self,
                                        gsize offset,
                                        guint64 val);
VALA_EXTERN gfloat frida_buffer_read_float (FridaBuffer* self,
                                gsize offset);
VALA_EXTERN gdouble frida_buffer_read_double (FridaBuffer* self,
                                  gsize offset);
VALA_EXTERN gchar* frida_buffer_read_string (FridaBuffer* self,
                                 gsize offset,
                                 GError** error);
VALA_EXTERN gchar* frida_buffer_read_fixed_string (FridaBuffer* self,
                                       gsize offset,
                                       gsize size,
                                       GError** error);
VALA_EXTERN FridaBuffer* frida_buffer_write_string (FridaBuffer* self,
                                        gsize offset,
                                        const gchar* val);
VALA_EXTERN GBytes* frida_buffer_read_bytes (FridaBuffer* self,
                                 gsize offset,
                                 gsize size);
VALA_EXTERN FridaBuffer* frida_buffer_write_bytes (FridaBuffer* self,
                                       gsize offset,
                                       GBytes* bytes);
VALA_EXTERN GBytes* frida_buffer_get_bytes (FridaBuffer* self);
VALA_EXTERN int frida_buffer_get_byte_order (FridaBuffer* self);
VALA_EXTERN guint frida_buffer_get_pointer_size (FridaBuffer* self);
VALA_EXTERN gpointer frida_buffer_reader_ref (gpointer instance);
VALA_EXTERN void frida_buffer_reader_unref (gpointer instance);
VALA_EXTERN GParamSpec* frida_param_spec_buffer_reader (const gchar* name,
                                            const gchar* nick,
                                            const gchar* blurb,
                                            GType object_type,
                                            GParamFlags flags);
VALA_EXTERN void frida_value_set_buffer_reader (GValue* value,
                                    gpointer v_object);
VALA_EXTERN void frida_value_take_buffer_reader (GValue* value,
                                     gpointer v_object);
VALA_EXTERN gpointer frida_value_get_buffer_reader (const GValue* value);
VALA_EXTERN GType frida_buffer_reader_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (FridaBufferReader, frida_buffer_reader_unref)
VALA_EXTERN FridaBufferReader* frida_buffer_reader_new (FridaBuffer* buf);
VALA_EXTERN FridaBufferReader* frida_buffer_reader_construct (GType object_type,
                                                  FridaBuffer* buf);
VALA_EXTERN guint64 frida_buffer_reader_read_pointer (FridaBufferReader* self,
                                          gsize offset,
                                          GError** error);
VALA_EXTERN gint8 frida_buffer_reader_read_int8 (FridaBufferReader* self,
                                     GError** error);
VALA_EXTERN guint8 frida_buffer_reader_read_uint8 (FridaBufferReader* self,
                                       GError** error);
VALA_EXTERN gint16 frida_buffer_reader_read_int16 (FridaBufferReader* self,
                                       GError** error);
VALA_EXTERN guint16 frida_buffer_reader_read_uint16 (FridaBufferReader* self,
                                         GError** error);
VALA_EXTERN gint32 frida_buffer_reader_read_int32 (FridaBufferReader* self,
                                       GError** error);
VALA_EXTERN guint32 frida_buffer_reader_read_uint32 (FridaBufferReader* self,
                                         GError** error);
VALA_EXTERN gint64 frida_buffer_reader_read_int64 (FridaBufferReader* self,
                                       GError** error);
VALA_EXTERN guint64 frida_buffer_reader_read_uint64 (FridaBufferReader* self,
                                         GError** error);
VALA_EXTERN gfloat frida_buffer_reader_read_float (FridaBufferReader* self,
                                       GError** error);
VALA_EXTERN gdouble frida_buffer_reader_read_double (FridaBufferReader* self,
                                         GError** error);
VALA_EXTERN gchar* frida_buffer_reader_read_string (FridaBufferReader* self,
                                        GError** error);
VALA_EXTERN gchar* frida_buffer_reader_read_fixed_string (FridaBufferReader* self,
                                              gsize size,
                                              GError** error);
VALA_EXTERN GBytes* frida_buffer_reader_read_bytes (FridaBufferReader* self,
                                        gsize size,
                                        GError** error);
VALA_EXTERN FridaBufferReader* frida_buffer_reader_skip (FridaBufferReader* self,
                                             gsize n,
                                             GError** error);
VALA_EXTERN gsize frida_buffer_reader_get_offset (FridaBufferReader* self);
VALA_EXTERN gsize frida_buffer_reader_get_available (FridaBufferReader* self);
GBytes* frida_make_bytes_with_owner (GType t_type,
                                     GBoxedCopyFunc t_dup_func,
                                     GDestroyNotify t_destroy_func,
                                     void* data,
                                     gsize size,
                                     gpointer owner);
VALA_EXTERN GType frida_object_builder_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (FridaObjectBuilder, g_object_unref)
VALA_EXTERN FridaObjectBuilder* frida_object_builder_begin_dictionary (FridaObjectBuilder* self);
VALA_EXTERN FridaObjectBuilder* frida_object_builder_set_member_name (FridaObjectBuilder* self,
                                                          const gchar* name);
VALA_EXTERN FridaObjectBuilder* frida_object_builder_end_dictionary (FridaObjectBuilder* self);
VALA_EXTERN FridaObjectBuilder* frida_object_builder_begin_array (FridaObjectBuilder* self);
VALA_EXTERN FridaObjectBuilder* frida_object_builder_end_array (FridaObjectBuilder* self);
VALA_EXTERN FridaObjectBuilder* frida_object_builder_add_null_value (FridaObjectBuilder* self);
VALA_EXTERN FridaObjectBuilder* frida_object_builder_add_bool_value (FridaObjectBuilder* self,
                                                         gboolean val);
VALA_EXTERN FridaObjectBuilder* frida_object_builder_add_int64_value (FridaObjectBuilder* self,
                                                          gint64 val);
VALA_EXTERN FridaObjectBuilder* frida_object_builder_add_uint64_value (FridaObjectBuilder* self,
                                                           guint64 val);
VALA_EXTERN FridaObjectBuilder* frida_object_builder_add_data_value (FridaObjectBuilder* self,
                                                         GBytes* val);
VALA_EXTERN FridaObjectBuilder* frida_object_builder_add_string_value (FridaObjectBuilder* self,
                                                           const gchar* val);
VALA_EXTERN FridaObjectBuilder* frida_object_builder_add_uuid_value (FridaObjectBuilder* self,
                                                         guint8* val,
                                                         gint val_length1);
VALA_EXTERN FridaObjectBuilder* frida_object_builder_add_raw_value (FridaObjectBuilder* self,
                                                        GBytes* val);
VALA_EXTERN GBytes* frida_object_builder_build (FridaObjectBuilder* self);
VALA_EXTERN GType frida_object_reader_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (FridaObjectReader, g_object_unref)
VALA_EXTERN gboolean frida_object_reader_has_member (FridaObjectReader* self,
                                         const gchar* name,
                                         GError** error);
VALA_EXTERN FridaObjectReader* frida_object_reader_read_member (FridaObjectReader* self,
                                                    const gchar* name,
                                                    GError** error);
VALA_EXTERN FridaObjectReader* frida_object_reader_end_member (FridaObjectReader* self);
VALA_EXTERN guint frida_object_reader_count_elements (FridaObjectReader* self,
                                          GError** error);
VALA_EXTERN FridaObjectReader* frida_object_reader_read_element (FridaObjectReader* self,
                                                     guint index,
                                                     GError** error);
VALA_EXTERN FridaObjectReader* frida_object_reader_end_element (FridaObjectReader* self,
                                                    GError** error);
VALA_EXTERN gboolean frida_object_reader_get_bool_value (FridaObjectReader* self,
                                             GError** error);
VALA_EXTERN guint8 frida_object_reader_get_uint8_value (FridaObjectReader* self,
                                            GError** error);
VALA_EXTERN guint16 frida_object_reader_get_uint16_value (FridaObjectReader* self,
                                              GError** error);
VALA_EXTERN gint64 frida_object_reader_get_int64_value (FridaObjectReader* self,
                                            GError** error);
VALA_EXTERN guint64 frida_object_reader_get_uint64_value (FridaObjectReader* self,
                                              GError** error);
VALA_EXTERN GBytes* frida_object_reader_get_data_value (FridaObjectReader* self,
                                            GError** error);
VALA_EXTERN const gchar* frida_object_reader_get_string_value (FridaObjectReader* self,
                                                   GError** error);
VALA_EXTERN const gchar* frida_object_reader_get_uuid_value (FridaObjectReader* self,
                                                 GError** error);
VALA_EXTERN GType frida_variant_reader_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (FridaVariantReader, g_object_unref)
VALA_EXTERN FridaVariantReader* frida_variant_reader_new (GVariant* v);
VALA_EXTERN FridaVariantReader* frida_variant_reader_construct (GType object_type,
                                                    GVariant* v);
VALA_EXTERN GVariant* frida_variant_reader_get_root_object (FridaVariantReader* self);
VALA_EXTERN GVariant* frida_variant_reader_get_current_object (FridaVariantReader* self);
VALA_EXTERN GType frida_json_object_builder_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (FridaJsonObjectBuilder, g_object_unref)
VALA_EXTERN FridaJsonObjectBuilder* frida_json_object_builder_new (void);
VALA_EXTERN FridaJsonObjectBuilder* frida_json_object_builder_construct (GType object_type);
VALA_EXTERN GType frida_json_object_reader_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (FridaJsonObjectReader, g_object_unref)
VALA_EXTERN FridaJsonObjectReader* frida_json_object_reader_new (const gchar* json,
                                                     GError** error);
VALA_EXTERN FridaJsonObjectReader* frida_json_object_reader_construct (GType object_type,
                                                           const gchar* json,
                                                           GError** error);
VALA_EXTERN gboolean frida_check_kernel_version (guint major,
                                     guint minor);
VALA_EXTERN GType frida_file_descriptor_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (FridaFileDescriptor, g_object_unref)
VALA_EXTERN FridaFileDescriptor* frida_file_descriptor_new (gint handle);
VALA_EXTERN FridaFileDescriptor* frida_file_descriptor_construct (GType object_type,
                                                      gint handle);
VALA_EXTERN gint frida_file_descriptor_steal (FridaFileDescriptor* self);
VALA_EXTERN GType frida_pid_file_descriptor_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (FridaPidFileDescriptor, g_object_unref)
VALA_EXTERN gboolean frida_pid_file_descriptor_is_supported (void);
VALA_EXTERN gboolean frida_pid_file_descriptor_getfd_is_supported (void);
VALA_EXTERN FridaPidFileDescriptor* frida_pid_file_descriptor_from_pid (guint pid,
                                                            GError** error);
VALA_EXTERN FridaFileDescriptor* frida_pid_file_descriptor_getfd (FridaPidFileDescriptor* self,
                                                      gint targetfd,
                                                      GError** error);
VALA_EXTERN gboolean frida_memory_file_descriptor_is_supported (void);
VALA_EXTERN FridaFileDescriptor* frida_memory_file_descriptor_from_bytes (const gchar* name,
                                                              GBytes* bytes);

G_END_DECLS

#endif
