+++ /dev/null
-#ifndef _AHS_API_H_\r
-#define _AHS_API_H_\r
-\r
-/***********************************************************************\r
-**\r
-** Interface declarations of the AHS API using the Skein hash function.\r
-**\r
-** Source code author: Doug Whiting, 2008.\r
-**\r
-** This algorithm and source code is released to the public domain.\r
-** \r
-************************************************************************/\r
-\r
-#include "skein.h"\r
-\r
-typedef enum\r
- {\r
- SUCCESS = SKEIN_SUCCESS,\r
- FAIL = SKEIN_FAIL,\r
- BAD_HASHLEN = SKEIN_BAD_HASHLEN\r
- }\r
- HashReturn;\r
-\r
-typedef size_t DataLength; /* bit count type */\r
-typedef u08b_t BitSequence; /* bit stream type */\r
-\r
-typedef struct\r
- {\r
- uint_t statebits; /* 256, 512, or 1024 */\r
- union\r
- {\r
- Skein_Ctxt_Hdr_t h; /* common header "overlay" */\r
- Skein_256_Ctxt_t ctx_256;\r
- Skein_512_Ctxt_t ctx_512;\r
- Skein1024_Ctxt_t ctx1024;\r
- } u;\r
- }\r
- hashState;\r
-\r
-/* "incremental" hashing API */\r
-HashReturn Init (hashState *state, int hashbitlen);\r
-HashReturn Update(hashState *state, const BitSequence *data, DataLength databitlen);\r
-HashReturn Final (hashState *state, BitSequence *hashval);\r
-\r
-/* "all-in-one" call */\r
-HashReturn Hash (int hashbitlen, const BitSequence *data, \r
- DataLength databitlen, BitSequence *hashval);\r
-\r
-\r
-/*\r
-** Re-define the compile-time constants below to change the selection\r
-** of the Skein state size in the Init() function in SHA3api_ref.c.\r
-**\r
-** That is, the NIST API does not allow for explicit selection of the\r
-** Skein block size, so it must be done implicitly in the Init() function.\r
-** The selection is controlled by these constants.\r
-*/\r
-#ifndef SKEIN_256_NIST_MAX_HASHBITS\r
-#define SKEIN_256_NIST_MAX_HASHBITS (0)\r
-#endif\r
-\r
-#ifndef SKEIN_512_NIST_MAX_HASHBITS\r
-#define SKEIN_512_NIST_MAX_HASHBITS (512)\r
-#endif\r
-\r
-#endif /* ifdef _AHS_API_H_ */\r