Packages
mob
0.3.10
0.7.20
0.7.19
0.7.18
0.7.17
0.7.16
0.7.15
0.7.14
0.7.13
0.7.12
0.7.11
0.7.10
0.7.9
0.7.8
0.7.7
0.7.6
0.7.5
0.7.4
0.7.3
0.7.2
0.7.1
0.7.0
0.6.26
0.6.25
0.6.24
0.6.23
0.6.22
0.6.21
0.6.20
0.6.19
0.6.18
0.6.17
0.6.16
0.6.15
0.6.14
0.6.13
0.6.12
0.6.11
0.6.10
0.6.9
0.6.8
0.6.7
0.6.6
0.6.5
0.6.2
0.6.1
0.6.0
0.5.18
0.5.17
0.5.16
0.5.15
0.5.14
0.5.11
0.5.10
0.5.7
0.5.6
0.5.5
0.5.4
0.5.3
0.5.2
0.5.1
0.5.0
0.4.0
0.3.10
0.3.9
0.3.8
0.3.7
0.3.6
0.3.5
0.3.4
0.3.3
0.3.2
0.3.1
0.3.0
0.2.0
0.1.0
BEAM-on-device mobile framework for Elixir
Current section
Files
Jump to
Current section
Files
ios/driver_tab_ios.c
// driver_tab_ios.c — Static NIF table with mob_nif added.
// Link BEFORE libbeam.a to override the built-in driver_tab.
// Mirrors driver_tab_android.c for iOS.
#include <stddef.h>
typedef struct { void* de; int flags; } ErtsStaticDriver;
#define THE_NON_VALUE ((unsigned long)0)
typedef struct {
void* (*nif_init)(void);
int is_builtin;
unsigned long nif_mod;
void* entry;
} ErtsStaticNif;
typedef struct { void* de; int flags; } ErlDrvEntryStub;
extern ErlDrvEntryStub inet_driver_entry;
extern ErlDrvEntryStub ram_file_driver_entry;
ErtsStaticDriver driver_tab[] = {
{&inet_driver_entry, 0},
{&ram_file_driver_entry, 0},
{NULL, 0}
};
void erts_init_static_drivers(void) {}
void *prim_tty_nif_init(void);
void *erl_tracer_nif_init(void);
void *prim_buffer_nif_init(void);
void *prim_file_nif_init(void);
void *zlib_nif_init(void);
void *zstd_nif_init(void);
void *prim_socket_nif_init(void);
void *prim_net_nif_init(void);
void *asn1rt_nif_nif_init(void);
// mob_nif.m's ERL_NIF_INIT(mob_nif,...) with -DSTATIC_ERLANG_NIF
// generates function name: mob_nif_nif_init
void *mob_nif_nif_init(void);
ErtsStaticNif erts_static_nif_tab[] = {
{prim_tty_nif_init, 0, THE_NON_VALUE, NULL},
{erl_tracer_nif_init, 0, THE_NON_VALUE, NULL},
{prim_buffer_nif_init, 0, THE_NON_VALUE, NULL},
{prim_file_nif_init, 0, THE_NON_VALUE, NULL},
{zlib_nif_init, 0, THE_NON_VALUE, NULL},
{zstd_nif_init, 0, THE_NON_VALUE, NULL},
{prim_socket_nif_init, 0, THE_NON_VALUE, NULL},
{prim_net_nif_init, 0, THE_NON_VALUE, NULL},
{asn1rt_nif_nif_init, 1, THE_NON_VALUE, NULL},
{mob_nif_nif_init, 0, THE_NON_VALUE, NULL},
{NULL, 0, THE_NON_VALUE, NULL}
};