#include<stdio.h>
|
|
#include<stdlib.h>
|
|
#include<stdbool.h>
|
|
#include<stdatomic.h>
|
|
#include<erl_nif.h>
|
|
|
|
#include "eHJpsAtom.h"
|
|
|
|
typedef struct Node_r {
|
|
bool IsBarrier; // 是否障碍
|
|
} Node;
|
|
|
|
int nifLoad(ErlNifEnv* env, void** priv_data, ERL_NIF_TERM load_info) {
|
|
enif_fprintf(stdout, "IMY*************nifload00000\n");
|
|
NIF_ATOMS(NIF_ATOM_INIT)
|
|
|
|
enif_fprintf(stdout, "IMY*************nifload00001\n");
|
|
*priv_data = NULL;
|
|
|
|
return 0;
|
|
}
|
|
|
|
int nifUpgrade(ErlNifEnv* env, void** priv_data, void** old_priv_data, ERL_NIF_TERM load_info) {
|
|
*priv_data = *old_priv_data;
|
|
enif_fprintf(stdout, "IMY*************nifUpgrade %p %T\n", old_priv_data, load_info);
|
|
return 0;
|
|
}
|
|
|
|
void nifUnload(ErlNifEnv* env, void* priv_data) {
|
|
enif_fprintf(stdout, "IMY*************nifUnload0000 \n");
|
|
return;
|
|
}
|
|
|
|
static ErlNifFunc nifFuns[] = {
|
|
};
|
|
|
|
ERL_NIF_INIT(eQuic, nifFuns, nifLoad, NULL, nifUpgrade, nifUnload)
|