Current section

Files

Jump to
dala android jni driver_tab_android.c
Raw

android/jni/driver_tab_android.c

// driver_tab_android.c — Static NIF table with dala_nif added.
// Link BEFORE libbeam.a to override the built-in driver_tab.
#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);
// dala_nif.c's ERL_NIF_INIT(dala_nif,...) generates: dala_nif_nif_init
void *dala_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},
{dala_nif_nif_init, 0, THE_NON_VALUE, NULL},
{NULL, 0, THE_NON_VALUE, NULL}
};