//Editor-Info: -*- C++ -*-
//
//Subject: TOVE project / SW
//
//File: swdefs.h
//
//Version: $Revision: 1.10 $
//
//State: $State: Exp $
//
//Date: $Date: 1999/03/10 16:26:19 $
//
//Organisation:
//      Helsinki University of Technology
//      Laboratory of Telecommunications Software and Multimedia
//
//Author:
//      Timo Pärnänen
//
//Description:
//      Configurable and constant variable definitions for sw module.
//
//Copyright:
//      Copyright 1999 Helsinki University of Technology
//      ALL RIGHTS RESERVED BETWEEN JANUARY 1996 AND JUNE 1999.
//
//Licence:
//
//
//History: 

#ifndef __SW_DEFS_H__
#define __SW_DEFS_H__

#include <string>
#include "pf/types.h"

//
// Configurable variables
//

// Software can be tested without switching fabric, ILMI and SS7
extern pfUlong SW_FABRIC_USED;
extern pfUlong SW_ILMI_USED;
extern pfUlong SW_SS7_USED;

// Control port definitions
extern pfUlong SW_CONTROL_PORT;         // PC port (controller)
extern pfUlong SW_FABRIC_CONTROL_PORT;  // FSR port

// Virtual path and channel used for signaling
extern pfUlong SW_SIGNALING_VPI;
extern pfUlong SW_SIGNALING_VCI;

// Virtual path and channel used for ILMI
extern pfUlong SW_ILMI_VPI;
extern pfUlong SW_ILMI_VCI;

// Virtual path and channel used for GSMP
extern pfUlong SW_GSMP_VPI;
extern pfUlong SW_GSMP_VCI;

// Minimum and maximun values for VPI/VCI values of data channel.
extern pfUlong SW_MIN_VPI;
extern pfUlong SW_MAX_VPI;
extern pfUlong SW_MIN_VCI;
extern pfUlong SW_MAX_VCI;

// Base values for special VCI reservation
extern pfUlong SW_SIGNALING_VCI_BASE;
extern pfUlong SW_ILMI_VCI_BASE;

//
// Config file definitions
// 

extern string SW_CONFIG_FILE_NAME;
extern char SW_COMMENT_CHARACTER;

//
// Constant definitions
//

const pfUlong SW_MAX_PORT_NUMBER = 0xFF; // 255
const int SW_LINKNUMBER_OFFSET = 8;      // 2^8 - 1 = 255

#endif // __SW_DEFS_H__
