blob: 7326cb5fae61254e53b08cf13c5a8f8b6bb384d4 [file] [log] [blame]
#ifndef ERLANG_BCRYPT_BCRYPT_NIF_H
#define ERLANG_BCRYPT_BCRYPT_NIF_H
#include "async_queue.h"
typedef unsigned char byte;
int bcrypt(char *, 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