lock
[root] / sodium.nim
proc sodium_init(): cint {.importc, cdecl.}
proc sodium_memzero(p: pointer, len: csize_t) {.importc, cdecl.}
proc sodium_mlock(p: pointer, len: csize_t): cint {.importc, cdecl.}
proc sodium_munlock(p: pointer, len: csize_t): cint {.importc, cdecl.}
proc randombytes_buf(p: pointer, len: csize_t) {.importc, cdecl.}
export sodium_init, sodium_memzero, sodium_mlock, sodium_munlock, randombytes_buf
const
crypto_pwhash_ALG_ARGON2ID13* = 2.cint
crypto_aead_xchacha20poly1305_ietf_KEYBYTES* = 32
crypto_aead_xchacha20poly1305_ietf_NPUBBYTES* = 24
crypto_aead_xchacha20poly1305_ietf_ABYTES* = 16
crypto_pwhash_SALTBYTES* = 16
crypto_pwhash_OPSLIMIT_MODERATE* = 3.culong
crypto_pwhash_MEMLIMIT_MODERATE* = 67108864'u64
proc crypto_pwhash(key: pointer, keylen: csize_t, passwd: pointer, passwdlen: culonglong,
salt: pointer, opslimit: culong, memlimit: csize_t, alg: cint): cint {.importc, cdecl.}
proc crypto_aead_xchacha20poly1305_ietf_encrypt(c: pointer, clenp: ptr culonglong, m: pointer, mlen: culonglong,
ad: pointer, adlen: culonglong, nsec: pointer, npub: pointer, k: pointer): cint {.importc, cdecl.}
proc crypto_aead_xchacha20poly1305_ietf_decrypt(m: pointer, mlenp: ptr culonglong, nsec: pointer, c: pointer, clen: culonglong,
ad: pointer, adlen: culonglong, npub: pointer, k: pointer): cint {.importc, cdecl.}
export crypto_pwhash_ALG_ARGON2ID13, crypto_aead_xchacha20poly1305_ietf_KEYBYTES, crypto_aead_xchacha20poly1305_ietf_NPUBBYTES, crypto_aead_xchacha20poly1305_ietf_ABYTES, crypto_pwhash_SALTBYTES, crypto_pwhash_OPSLIMIT_MODERATE, crypto_pwhash_MEMLIMIT_MODERATE
export crypto_pwhash, crypto_aead_xchacha20poly1305_ietf_encrypt, crypto_aead_xchacha20poly1305_ietf_decrypt