30#if defined(_WIN32) && defined(TFAC_DLL)
32#define TFAC_API __declspec(dllexport)
34#define TFAC_API __declspec(dllimport)
48#define TFAC_MAX_DIGITS 18
53#define TFAC_MAX_SECRET_KEY_SIZE 256
58#define TFAC_DEFAULT_HASH_ALGO 0
63#define TFAC_DEFAULT_DIGITS 6
68#define TFAC_DEFAULT_STEPS 30
170TFAC_API uint64_t
tfac_totp_raw(
const uint8_t* secret_key,
size_t secret_key_length, uint8_t digits, uint8_t steps,
enum tfac_hash_algo hash_algo, time_t utc);
203TFAC_API uint64_t
tfac_hotp_raw(
const uint8_t* secret_key,
size_t secret_key_length, uint8_t digits, uint64_t counter,
enum tfac_hash_algo hash_algo);
char secret_key_base32[48+1]
Definition: tfac.h:109
uint8_t secret_key[30]
Definition: tfac.h:114
uint64_t number
Definition: tfac.h:96
uint32_t minor
Definition: tfac.h:130
uint32_t major
Definition: tfac.h:125
uint32_t patch
Definition: tfac.h:135
tfac_hash_algo
Definition: tfac.h:74
TFAC_API struct tfac_version_number tfac_get_version_number()
Definition: tfac.c:221
TFAC_API uint64_t tfac_hotp_raw(const uint8_t *secret_key, size_t secret_key_length, uint8_t digits, uint64_t counter, enum tfac_hash_algo hash_algo)
Definition: tfac.c:80
TFAC_API uint8_t tfac_verify_totp(const char *secret_key_base32, const char *totp, uint8_t digits, uint8_t steps, enum tfac_hash_algo hash_algo)
Definition: tfac.c:133
TFAC_API uint64_t tfac_totp_raw(const uint8_t *secret_key, size_t secret_key_length, uint8_t digits, uint8_t steps, enum tfac_hash_algo hash_algo, time_t utc)
Definition: tfac.c:114
TFAC_API struct tfac_token tfac_totp(const char *secret_key_base32, uint8_t digits, uint8_t steps, enum tfac_hash_algo hash_algo)
Definition: tfac.c:119
TFAC_API struct tfac_secret tfac_generate_secret()
Definition: tfac.c:210
TFAC_API struct tfac_token tfac_hotp(const char *secret_key_base32, uint8_t digits, uint64_t counter, enum tfac_hash_algo hash_algo)
Definition: tfac.c:100