c25356d5978632df6203437e1953bcb29e0c736fTimo Sirainen#ifndef OTP_H
c25356d5978632df6203437e1953bcb29e0c736fTimo Sirainen#define OTP_H
e9e2d23e1ea5a149a7d8828d2a45b9f2313c3785Timo Sirainen
e9e2d23e1ea5a149a7d8828d2a45b9f2313c3785Timo Sirainen#define OTP_MAX_SEED_LEN 16
e9e2d23e1ea5a149a7d8828d2a45b9f2313c3785Timo Sirainen#define OTP_MAX_WORD_LEN 4
e9e2d23e1ea5a149a7d8828d2a45b9f2313c3785Timo Sirainen#define OTP_WORDS_NUMBER 6
e9e2d23e1ea5a149a7d8828d2a45b9f2313c3785Timo Sirainen
e9e2d23e1ea5a149a7d8828d2a45b9f2313c3785Timo Sirainen#define OTP_HASH_SIZE 8
e9e2d23e1ea5a149a7d8828d2a45b9f2313c3785Timo Sirainen
e9e2d23e1ea5a149a7d8828d2a45b9f2313c3785Timo Sirainenstruct otp_state {
e9e2d23e1ea5a149a7d8828d2a45b9f2313c3785Timo Sirainen unsigned int algo;
e9e2d23e1ea5a149a7d8828d2a45b9f2313c3785Timo Sirainen int seq;
e9e2d23e1ea5a149a7d8828d2a45b9f2313c3785Timo Sirainen unsigned char hash[OTP_HASH_SIZE];
e9e2d23e1ea5a149a7d8828d2a45b9f2313c3785Timo Sirainen char seed[OTP_MAX_SEED_LEN + 1];
e9e2d23e1ea5a149a7d8828d2a45b9f2313c3785Timo Sirainen};
e9e2d23e1ea5a149a7d8828d2a45b9f2313c3785Timo Sirainen
e9e2d23e1ea5a149a7d8828d2a45b9f2313c3785Timo Sirainen#include "otp-hash.h"
e9e2d23e1ea5a149a7d8828d2a45b9f2313c3785Timo Sirainen#include "otp-dictionary.h"
e9e2d23e1ea5a149a7d8828d2a45b9f2313c3785Timo Sirainen#include "otp-parity.h"
e9e2d23e1ea5a149a7d8828d2a45b9f2313c3785Timo Sirainen#include "otp-parse.h"
e9e2d23e1ea5a149a7d8828d2a45b9f2313c3785Timo Sirainen
c25356d5978632df6203437e1953bcb29e0c736fTimo Sirainen#endif