blob: 5d513cb7faa3b278ba521959e0417383a0efddbb [file] [log] [blame]
#ifndef ERLANG_BCRYPT_BCRYPT_NIF_H
#define ERLANG_BCRYPT_BCRYPT_NIF_H
#include "async_queue.h"
typedef unsigned char byte;
char *bcrypt(const char *, const char *);
void encode_salt(char *, u_int8_t *, u_int16_t, u_int8_t);
typedef struct {
ErlNifResourceType *bcrypt_rt;
} bcrypt_privdata_t;
typedef struct {
async_queue_t *queue;
ErlNifThreadOpts *topts;
ErlNifTid tid;
} ctx_t;
typedef enum {
UNKNOWN,
SHUTDOWN,
HASH
} task_type_t;
typedef struct {
task_type_t type;
ErlNifEnv *env;
ErlNifPid pid;
ERL_NIF_TERM ref;
union {
struct {
ErlNifBinary salt;
ErlNifBinary password;
} hash;
} data;
} task_t;
#endif // ERLANG_BCRYPT_BCRYPT_NIF_H