blob: b37908729150b2f5a101c82c8017d5ce555db123 [file] [log] [blame]
/***************************************************************************
*
Copyright 2013 CertiVox UK Ltd. *
*
This file is part of CertiVox SkyKey XT Crypto SDK. *
*
The CertiVox SkyKey XT Crypto SDK provides developers with an *
extensive and efficient set of cryptographic functions. *
For further information about its features and functionalities please *
refer to http://www.certivox.com *
*
* The CertiVox SkyKey XT Crypto SDK is free software: you can *
redistribute it and/or modify it under the terms of the *
GNU Affero General Public License as published by the *
Free Software Foundation, either version 3 of the License, *
or (at your option) any later version. *
*
* The CertiVox SkyKey XT Crypto SDK is distributed in the hope *
that it will be useful, but WITHOUT ANY WARRANTY; without even the *
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
See the GNU Affero General Public License for more details. *
*
* You should have received a copy of the GNU Affero General Public *
License along with CertiVox MIRACL Crypto SDK. *
If not, see <http://www.gnu.org/licenses/>. *
*
You can be released from the requirements of the license by purchasing *
a commercial license. Buying such a license is mandatory as soon as you *
develop commercial activities involving the CertiVox SkyKey XT Crypto SDK *
without disclosing the source code of your own applications, or shipping *
the CertiVox SkyKey XT Crypto SDK with a closed source product. *
*
***************************************************************************/
/*! \file octet_c.h
\brief Portable Octet Structure
*- Project : SkyKey SDK
*- Authors : M. Scott, modified by Mony Aladjem
*- Company : Certivox
*- Created : January 10, 2013, 5:01 PM
*- Last update : February 15, 2013
*- Platform : Windows XP SP3 - Windows 7
*- Dependency : MIRACL library
*/
#ifndef OCTET_C_H
#define OCTET_C_H
#ifdef MR_SKYKEY_DLL
#ifdef SKYKEY_DLL
#define SKYKEY_API __declspec(dllexport)
#else
#define SKYKEY_API __declspec(dllimport)
#endif
#else
#define SKYKEY_API
#endif //MR_SKYKEY_DLL
#ifdef __cplusplus
extern "C"
{
#endif
#include "miracl.h"
#ifdef mr_compare
#undef mr_compare
#endif
/* portable representation of a big positive number */
typedef struct
{
int len;
int max;
char *val;
} octet;
/* Octet string handlers */
SKYKEY_API void OCTET_OUTPUT(const octet *);
SKYKEY_API void OCTET_CLEAR(octet *);
SKYKEY_API void OCTET_EMPTY(octet *);
SKYKEY_API void OCTET_JOIN_STRING(const char *,octet *);
SKYKEY_API void OCTET_JOIN_BYTES(const char *,int,octet *);
SKYKEY_API void OCTET_JOIN_BYTE(int,int,octet *);
SKYKEY_API void OCTET_JOIN_LONG(long,int, octet *y);
SKYKEY_API void OCTET_JOIN_OCTET(const octet *, octet *);
SKYKEY_API void OCTET_XOR(const octet *,octet *);
SKYKEY_API void OCTET_XOR_BYTE(octet *,int);
SKYKEY_API void OCTET_TO_BASE64(const octet *, char *);
SKYKEY_API void OCTET_FROM_BASE64(const char *, octet *);
SKYKEY_API void OCTET_COPY(const octet *, octet *);
SKYKEY_API BOOL OCTET_COMPARE(const octet *, const octet *);
SKYKEY_API void OCTET_CHOP(octet *, int, octet *);
SKYKEY_API void OCTET_KILL(octet *);
#ifdef __cplusplus
}
#endif
#endif /* OCTET_C_H */