/* -----------------------------------------------------------------------
 *
 * Copyright (c) 2008 EURL Cryptographie IngŽnierie et Conseil <ecctk@cryptograph-ic.com>, AIX-NOULETTE, FRANCE
 *
 * Termes :
 *
 * L'utilisation et/ou la redistribution de ce code (avec ou sans modification),
 * ainsi que de tous les composants du produit (librairies, documentation, exemples, ...)
 * est soumise aux termes de la licence qui vous est attribuée par son auteur.
 *
 * -----------------------------------------------------------------------
 */

#ifndef _ECCTK_PROTOTYPE_H_
#define _ECCTK_PROTOTYPE_H_

/*! \file ecctk-prototype.h
 *
 * Ce fichier contiend les prototypes des donnés utilisés par les
 * différentes fonctions du Toolkit.
 *
 * \author Ludovic FLAMENT <ludovic.flament\@free.fr>
 *
 * \warning L'utilisation et/ou la redistribution de ce code (avec ou sans modification),
 * ainsi que de tous les composants du produit (librairies, documentation, exemples, ...)
 * est soumise aux termes de la licence qui vous est attribuée par son auteur.
 */

/*!
 * \ingroup ecctk_proto
 * 8 bits unsigned byte
 */
typedef unsigned char		u1byte;

/*!
 * \ingroup ecctk_proto
 * 16 bits unsigned byte
 */
typedef unsigned short		u2byte;

/*!
 * \ingroup ecctk_proto
 * 32 bits unsigned byte
 */
typedef unsigned int		u4byte;

/*!
 * \ingroup ecctk_proto
 * 8 bits signed byte
 */
typedef char				s1byte;

/*!
 * \ingroup ecctk_proto
 * 16 bits signed byte
 */
typedef signed short		s2byte;

/*!
 * \ingroup ecctk_proto
 * 32 bits signed byte
 */
typedef signed int			s4byte;

#if (defined(WIN32) && !defined(MINGW))
/*!
 * \ingroup ecctk_proto
 * 64 bits unsigned byte
 */
typedef unsigned __int64	u8byte;

/*!
 * \ingroup ecctk_proto
 * 64 bits signed byte
 */
typedef __int64				s8byte;

#else
/*!
 * \ingroup ecctk_proto
 * 64 bits unsigned byte
 */
typedef unsigned long long	u8byte;

/*!
 * \ingroup ecctk_proto
 * 64 bits signed byte
 */
typedef signed long long	s8byte;
#endif

#endif
