/*
 * SecBus - This file is part of SecBus
 * Copyright (C) 2012 - Telecom ParisTech
 * 
 * This file must be used under the terms of the CeCILL.
 * This source file is licensed as described in the file COPYING, which
 * you should have received as part of this distribution.  The terms
 * are also available at    
 * http://www.cecill.info/licences/Licence_CeCILL_V1.1-US.txt
 *
 */


#ifndef MSPG__H_
#define MSPG__H_

////////////////////
//Global Parameter//
////////////////////


//PSPE
extern unsigned int PSPE_BASE_ADDRESS;
extern unsigned int PSPE_END_ADDRESS;
extern unsigned int PSPE_BLOCK_SIZE;
extern unsigned int PSPE_SIZE;
extern unsigned int PSPE_SIZE_IN_BYTES;
//SP
extern unsigned int SP_BASE_ADDRESS;
extern unsigned int SP_END_ADDRESS;
extern unsigned int SP_BLOCK_SIZE;
extern unsigned int SP_SIZE;
extern unsigned int SP_SIZE_IN_BYTES;
//SC
extern unsigned int SC_SIZE;
//maximum number of level in tree
extern unsigned int MAX_TREE_LEVEL;
//Master HT
extern unsigned int MHT_BASE_ADDRESS; 
extern unsigned int MHT_END_ADDRESS; 
extern unsigned int MHT_BLOCK_SIZE; 
//Hash input size
extern unsigned int HS_SIZE;
extern unsigned int LAST_HS_SIZE;
extern unsigned int HS_SIZE_IN_BYTES;
extern unsigned int LAST_HS_SIZE_IN_BYTES;
//Hash output size
extern unsigned int HASH_ARITY;
extern unsigned int LAST_HASH_ARITY;
//MAC input size
extern unsigned int MS_SIZE;
extern unsigned int MS_SIZE_IN_BYTES;
//MAC output size
extern unsigned int MAC_ARITY;
//master key and master hash value
extern int MASTER_HV[2];
extern int MASTER_KEY[4];
//DES latencies
extern unsigned int DES_L;
//DES block size
extern unsigned int SIZE_64_IN_WORDS;
extern unsigned int SIZE_64_IN_BYTES;
//CPU cache line size
extern unsigned int SIZE_256_IN_WORDS ;
extern unsigned int SIZE_256_IN_BYTES ;
extern unsigned int SIZE_256_IN_BYTES ;
//cycle counter
extern unsigned long int m;

#endif
