#if !defined(AFX_X25CFG_H__A29405ED_90DB_11D1_85EB_0040052F0B6E__INCLUDED_)
#define AFX_X25CFG_H__A29405ED_90DB_11D1_85EB_0040052F0B6E__INCLUDED_

#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
// x25cfg.h : header file
//

#include "ConfigWizPage.h"
#include "resource.h"
/////////////////////////////////////////////////////////////////////////////
// CX25Channel dialog

class CX25Channel : public CConfigWizPage
{
	DECLARE_DYNCREATE(CX25Channel)

// Construction
public:
	CX25Channel(X25 * const pX25 = NULL);
	CX25Channel(CConfigObject const * const pOwner, int const nState, X25 * const pX25);
	~CX25Channel();

// Dialog Data
	//{{AFX_DATA(CX25Channel)
	enum { IDD = IDD_X25_CHANNEL };
	DWORD	m_HIC;
	DWORD	m_HOC;
	DWORD	m_HTC;
	DWORD	m_LIC;
	DWORD	m_LOC;
	DWORD	m_LTC;
	DWORD	m_HPC;
	DWORD	m_LPC;
	//}}AFX_DATA
	DWORD	m_nPortLimit;
// Overrides
	// ClassWizard generate virtual function overrides
	//{{AFX_VIRTUAL(CX25Channel)
	public:
	virtual BOOL OnApply();
	virtual BOOL OnKillActive();
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:
	// Generated message map functions
	//{{AFX_MSG(CX25Channel)
	virtual BOOL OnInitDialog();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
private:
	void ReloadData();
	void Init();
// attributes
private:
	BOOL m_bWizardMode;
   X25  * m_pX25;	// Pointer to our config object's working copy of X25 structure
};

/////////////////////////////////////////////////////////////////////////////
// CX25Counters dialog

class CX25Counters : public CPropertyPage
{
	DECLARE_DYNCREATE(CX25Counters)

// Construction
public:
	CX25Counters(X25 * const pX25 = NULL);   // standard constructor

// Dialog Data
	//{{AFX_DATA(CX25Counters)
	enum { IDD = IDD_X25_COUNTERS };
	DWORD	m_R20Value;
	DWORD	m_R22Value;
	DWORD	m_R23Value;
	//}}AFX_DATA


// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CX25Counters)
	public:
	virtual BOOL OnApply();
	virtual BOOL OnKillActive();
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:

	// Generated message map functions
	//{{AFX_MSG(CX25Counters)
		// NOTE: the ClassWizard will add member functions here
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
private:
	void ReloadData();
   X25  * m_pX25;	// Pointer to our config object's working copy of X25 structure
};

/////////////////////////////////////////////////////////////////////////////
// CX25General dialog

class CX25General : public CConfigWizPage
{
	DECLARE_DYNCREATE(CX25General)

// Construction
public:
	CX25General(X25 * const pX25 = NULL);
	CX25General(CConfigObject const * const pOwner, int const nState, X25 * const pX25);
	~CX25General();

// Dialog Data
	//{{AFX_DATA(CX25General)
	enum { IDD = IDD_X25_GENERAL };
	int		m_L3PLPMode;
	int		m_ThisGFI;
	CString	m_LocalAddress;
	int		m_Vsn;
	//}}AFX_DATA


// Overrides
	// ClassWizard generate virtual function overrides
	//{{AFX_VIRTUAL(CX25General)
	public:
	virtual BOOL OnCmdMsg(UINT nID, int nCode, void* pExtra, AFX_CMDHANDLERINFO* pHandlerInfo);
	virtual BOOL OnKillActive();
	virtual BOOL OnApply();
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:
	// Generated message map functions
	//{{AFX_MSG(CX25General)
	virtual BOOL OnInitDialog();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
private:
	void ReloadData();
	void Init();
// attributes
private:
	BOOL m_bWizardMode;
   X25  * m_pX25;	// Pointer to our config object's working copy of X25 structure
};
/////////////////////////////////////////////////////////////////////////////
// CX25PacketInfo dialog

class CX25PacketInfo : public CPropertyPage
{
	DECLARE_DYNCREATE(CX25PacketInfo)

// Construction
public:
	CX25PacketInfo(X25 * const pX25 = NULL);
	~CX25PacketInfo();

// Dialog Data
	//{{AFX_DATA(CX25PacketInfo)
	enum { IDD = IDD_X25_PACKET_INFO };
	DWORD	m_LocDefWSize;
	DWORD	m_LocMaxWSize;
	DWORD	m_MaxNSDULen;
	DWORD	m_RemDefWSize;
	DWORD	m_RemMaxWSize;
	CString	m_LocMaxPktSize;
	CString	m_LocDefPktSize;
	CString	m_RemDefPktSize;
	CString	m_RemMaxPktSize;
	//}}AFX_DATA


// Overrides
	// ClassWizard generate virtual function overrides
	//{{AFX_VIRTUAL(CX25PacketInfo)
	public:
	virtual BOOL OnApply();
	virtual BOOL OnKillActive();
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:
	// Generated message map functions
	//{{AFX_MSG(CX25PacketInfo)
	afx_msg void OnSelchangeX25Locdefpktsize();
	afx_msg void OnSelchangeX25Locmaxpktsize();
	afx_msg void OnSelchangeX25Remdefpktsize();
	afx_msg void OnSelchangeX25Remmaxpktsize();
	afx_msg void OnUpdateX25Locdefwsize();
	afx_msg void OnUpdateX25Locmaxwsize();
	afx_msg void OnUpdateX25Remdefwsize();
	afx_msg void OnUpdateX25Remmaxwsize();
	virtual BOOL OnInitDialog();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
private:
	void ReloadData();
   X25  * m_pX25;	// Pointer to our config object's working copy of X25 structure
};
/////////////////////////////////////////////////////////////////////////////
// CX25SubModes dialog

class CX25SubModes : public CPropertyPage
{
	DECLARE_DYNCREATE(CX25SubModes)

// Construction
public:
	CX25SubModes(X25 * const pX25 = NULL);
	~CX25SubModes();

// Dialog Data
	//{{AFX_DATA(CX25SubModes)
	enum { IDD = IDD_X25_SUB_MODES };
	BOOL	m_RejNegReq;
	int		m_CallRestriction;
	int		m_WndPktNeg;
	BOOL	m_FastSelect;
	BOOL	m_PreventLocChg;
	int		m_ReverseCharging;
	int		m_TOANPIAddr;
	//}}AFX_DATA


// Overrides
	// ClassWizard generate virtual function overrides
	//{{AFX_VIRTUAL(CX25SubModes)
	public:
	virtual BOOL OnApply();
	virtual BOOL OnKillActive();
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:
	// Generated message map functions
	//{{AFX_MSG(CX25SubModes)
	afx_msg void OnX25SubRevcharging();
	afx_msg void OnX25SubExtended();
	afx_msg void OnRefuseReverseChg();
	afx_msg void OnNegWndPktSizes();
	virtual BOOL OnInitDialog();
	afx_msg void OnAdvanced();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
private:
	void ReloadData();
   X25  * m_pX25;	// Pointer to our config object's working copy of X25 structure
};
/////////////////////////////////////////////////////////////////////////////
// CX25SNModes dialog

class CX25SNModes : public CPropertyPage
{
	DECLARE_DYNCREATE(CX25SNModes)

// Construction
public:
	CX25SNModes(X25 * const pX25 = NULL);
	~CX25SNModes();

// Dialog Data
	//{{AFX_DATA(CX25SNModes)
	enum { IDD = IDD_X25_SNMODES };
	CButton	m_CCITT_CLR_LEN_BUTTON;
	BOOL	m_AccNoDiag;
	BOOL	m_BarDiag;
	BOOL	m_CCITTClearLen;
	BOOL	m_DiscNZDiag;
	BOOL	m_UseDiag;
	int		m_NetMode;
	int		m_NegToDeg;
	//}}AFX_DATA


// Overrides
	// ClassWizard generate virtual function overrides
	//{{AFX_VIRTUAL(CX25SNModes)
	public:
	virtual BOOL OnApply();
	virtual BOOL OnKillActive();
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:
	// Generated message map functions
	//{{AFX_MSG(CX25SNModes)
	afx_msg void OnX25BarDiag();
	afx_msg void OnAdvanced();
	virtual BOOL OnInitDialog();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
private:
	void ReloadData();
   X25  * m_pX25;	// Pointer to our config object's working copy of X25 structure
};
/////////////////////////////////////////////////////////////////////////////
// CX25International dialog

class CX25International : public CPropertyPage
{
	DECLARE_DYNCREATE(CX25International)

// Construction
public:
	CX25International(X25 * const pX25 = NULL);   // standard constructor

// Dialog Data
	//{{AFX_DATA(CX25International)
	enum { IDD = IDD_X25_INTERNATIONAL };
	CComboBox	m_ForcedValueBox;
	DWORD	m_DNIC;
	BOOL	m_X25PrtyEncodeControl;
	BOOL	m_ForceValueEnable;
	int		m_IntlAddrRecognValue;
	int		m_PrtyEncodeControlValue;
	int		m_X25PrtyPktForcedValue;
	//}}AFX_DATA


// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CX25International)
	public:
	virtual BOOL OnApply();
	virtual BOOL OnKillActive();
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:

	// Generated message map functions
	//{{AFX_MSG(CX25International)
	afx_msg void OnX25IntlAddrRecogn1();
	afx_msg void OnX25IntlAddrRecogn3();
	afx_msg void OnX25IntlAddrRecogn4();
	afx_msg void OnX25PriorisedPrtyEncode();
	afx_msg void OnForceValueEnable();
	virtual BOOL OnInitDialog();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
private:
	void ReloadData();
   X25  * m_pX25;	// Pointer to our config object's working copy of X25 structure
};
/////////////////////////////////////////////////////////////////////////////
// CX25Timer dialog

class CX25Timer : public CPropertyPage
{
	DECLARE_DYNCREATE(CX25Timer)

// Construction
public:
	CX25Timer(X25 * const pX25 = NULL);
	~CX25Timer();

// Dialog Data
	//{{AFX_DATA(CX25Timer)
	enum { IDD = IDD_X25_TIMER };
	DWORD	m_AckDelay;
	DWORD	m_T20Value;
	DWORD	m_T21Value;
	DWORD	m_T22Value;
	DWORD	m_T23Value;
	DWORD	m_T25Value;
	DWORD	m_T26Value;
	DWORD	m_TValue;
	//}}AFX_DATA


// Overrides
	// ClassWizard generate virtual function overrides
	//{{AFX_VIRTUAL(CX25Timer)
	public:
	virtual void OnOK();
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:
	// Generated message map functions
	//{{AFX_MSG(CX25Timer)
	virtual BOOL OnInitDialog();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()

private:
   X25  * m_pX25;	// Pointer to our config object's working copy of X25 structure
};
/////////////////////////////////////////////////////////////////////////////
// CX25ThroughPutClass dialog

class CX25ThroughPutClass : public CPropertyPage
{
	DECLARE_DYNCREATE(CX25ThroughPutClass)

// Construction
public:
	CX25ThroughPutClass(X25 * const pX25 = NULL);
	~CX25ThroughPutClass();

// Dialog Data
	//{{AFX_DATA(CX25ThroughPutClass)
	enum { IDD = IDD_X25_THROUGHPUT_CLASS };
	int		m_LocDefThClass;
	int		m_LocMaxThClass;
	int		m_LocMinThClass;
	int		m_RemDefThClass;
	int		m_RemMaxThClass;
	int		m_RemMinThClass;
	//}}AFX_DATA


// Overrides
	// ClassWizard generate virtual function overrides
	//{{AFX_VIRTUAL(CX25ThroughPutClass)
	public:
	virtual BOOL OnApply();
	virtual BOOL OnKillActive();
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:
	// Generated message map functions
	//{{AFX_MSG(CX25ThroughPutClass)
	afx_msg void OnSelchangeX25Locdefthclass();
	afx_msg void OnSelchangeX25Locmaxthclass();
	afx_msg void OnSelchangeX25Locminthclass();
	afx_msg void OnSelchangeX25Remdefthclass();
	afx_msg void OnSelchangeX25Remmaxthclass();
	afx_msg void OnSelchangeX25Remminthclass();
	virtual BOOL OnInitDialog();
	afx_msg void OnAdvanced();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()

private:
	void ReloadData();
   X25  * m_pX25;	// Pointer to our config object's working copy of X25 structure
};
/////////////////////////////////////////////////////////////////////////////
// CX25CUG dialog

class CX25CUG : public CPropertyPage
{
	DECLARE_DYNCREATE(CX25CUG)

// Construction
public:
	CX25CUG();
	~CX25CUG();

// Dialog Data
	//{{AFX_DATA(CX25CUG)
	enum { IDD = IDD_X25_CUG };
	CButton	m_CUGFormatButton;
	BOOL	m_BarCUGIn;
	int		m_CUG;
	int		m_CugFormat;
	BOOL	m_CUGIA;
	BOOL	m_Pref;
	//}}AFX_DATA


// Overrides
	// ClassWizard generate virtual function overrides
	//{{AFX_VIRTUAL(CX25CUG)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:
	// Generated message map functions
	//{{AFX_MSG(CX25CUG)
		// NOTE: the ClassWizard will add member functions here
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()

};
/////////////////////////////////////////////////////////////////////////////
// CX25DBit dialog

class CX25DBit : public CPropertyPage
{
	DECLARE_DYNCREATE(CX25DBit)

// Construction
public:
	CX25DBit(X25 * const pX25 = NULL);
	~CX25DBit();

// Dialog Data
	//{{AFX_DATA(CX25DBit)
	enum { IDD = IDD_X25_DBIT };
	int		m_AcceptIn;
	int		m_DataIn;
	//}}AFX_DATA


// Overrides
	// ClassWizard generate virtual function overrides
	//{{AFX_VIRTUAL(CX25DBit)
	public:
	virtual void OnOK();
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:
	// Generated message map functions
	//{{AFX_MSG(CX25DBit)
	virtual BOOL OnInitDialog();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()

private:
   X25  * m_pX25;	// Pointer to our config object's working copy of X25 structure
};
/////////////////////////////////////////////////////////////////////////////
// CX25PVC dialog

class CX25PVC : public CPropertyPage
{
	DECLARE_DYNCREATE(CX25PVC)

// Construction
public:
	CX25PVC();
	~CX25PVC();

// Dialog Data
	//{{AFX_DATA(CX25PVC)
	enum { IDD = IDD_X25_PVC };
	CEdit	m_EditChannel;
	CString	m_Description;
	DWORD	m_Channel;
	//}}AFX_DATA
	CString m_IPAddress[4];
	DWORD m_SubnetMask[4];

//	CRegDataKey * m_CurSelPVC;
	BOOL m_Config;


// Overrides
	// ClassWizard generate virtual function overrides
	//{{AFX_VIRTUAL(CX25PVC)
	public:
	virtual BOOL PreTranslateMessage(MSG* pMsg);
	virtual void OnOK();
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	virtual void PostNcDestroy();
	//}}AFX_VIRTUAL

// Implementation
protected:
	// Generated message map functions
	//{{AFX_MSG(CX25PVC)
	virtual BOOL OnInitDialog();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()

};

/////////////////////////////////////////////////////////////////////////////
// CX25PVCAdvanced dialog

class CX25PVCAdvanced : public CPropertyPage
{
	DECLARE_DYNCREATE(CX25PVCAdvanced)

// Construction
public:
	CX25PVCAdvanced();
	~CX25PVCAdvanced();

// Dialog Data
	//{{AFX_DATA(CX25PVCAdvanced)
	enum { IDD = IDD_X25_PVC_ADVANCED };
	BOOL	m_AutoManage;
	int		m_LocPacket;
	DWORD	m_LocWindow;
	DWORD	m_RemWindow;
	int		m_RemPacket;
	//}}AFX_DATA
	CString	m_NetworkAddress[6];

//	CRegDataKey *m_CurSelPVC;


// Overrides
	// ClassWizard generate virtual function overrides
	//{{AFX_VIRTUAL(CX25PVCAdvanced)
	public:
	virtual BOOL PreTranslateMessage(MSG* pMsg);
	virtual void OnOK();
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:
	// Generated message map functions
	//{{AFX_MSG(CX25PVCAdvanced)
	virtual BOOL OnInitDialog();
	afx_msg void OnAutoManage();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()

};
/////////////////////////////////////////////////////////////////////////////
// CGetWindowSize dialog

class CGetWindowSize : public CDialog
{
// Construction
public:
	CGetWindowSize(CWnd* pParent = NULL);   // standard constructor

// Dialog Data
	//{{AFX_DATA(CGetWindowSize)
	enum { IDD = IDD_WindowMapDlg };
	DWORD	m_WindowSize;
	//}}AFX_DATA
	DWORD m_MaxWindowSize;


// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CGetWindowSize)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:

	// Generated message map functions
	//{{AFX_MSG(CGetWindowSize)
		// NOTE: the ClassWizard will add member functions here
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};
/////////////////////////////////////////////////////////////////////////////
// CX25ThClassAdvanced dialog

class CX25ThClassAdvanced : public CPropertyPage
{
	DECLARE_DYNCREATE(CX25ThClassAdvanced)

// Construction
public:
	CX25ThClassAdvanced(X25 * const pX25 = NULL);
	~CX25ThClassAdvanced();

// Dialog Data
	//{{AFX_DATA(CX25ThClassAdvanced)
	enum { IDD = IDD_X25_THCLASS_ADVANCED };
	CComboBox	m_PacketBox;
	CListBox	m_WindowMapList;
	CListBox	m_PacketMapList;
	int		m_Type;
	//}}AFX_DATA

	int m_Height;
	void DoSetWindowMap(DWORD);
	void DoSetPacketMap();

// Overrides
	// ClassWizard generate virtual function overrides
	//{{AFX_VIRTUAL(CX25ThClassAdvanced)
	public:
	virtual void OnOK();
	virtual BOOL OnCmdMsg(UINT nID, int nCode, void* pExtra, AFX_CMDHANDLERINFO* pHandlerInfo);
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:
	// Generated message map functions
	//{{AFX_MSG(CX25ThClassAdvanced)
	afx_msg void OnSelchangeThclassType();
	virtual BOOL OnInitDialog();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
private:
   X25  * m_pX25;	// Pointer to our config object's working copy of X25 structure
};


/////////////////////////////////////////////////////////////////////////////
// CLAPB dialog

class CLAPB : public CPropertyPage
{
	DECLARE_DYNCREATE(CLAPB)

// Construction
public:
	CLAPB(LAPB * const pLAPB = NULL, X25 * const pX25 = NULL);
	~CLAPB();

// Dialog Data
	//{{AFX_DATA(CLAPB)
	enum { IDD = IDD_LAPBDLG };
	DWORD	m_LAPBAckDelay;
	DWORD	m_N2;
	DWORD	m_T1;
	DWORD	m_TIdle;
	DWORD	m_TXWindow;
	int		m_LAPBLLClass;
	//}}AFX_DATA


// Overrides
	// ClassWizard generate virtual function overrides
	//{{AFX_VIRTUAL(CLAPB)
	public:
	virtual void OnOK();
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:
	// Generated message map functions
	//{{AFX_MSG(CLAPB)
	virtual BOOL OnInitDialog();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()

private:
   X25  * m_pX25;	// Pointer to our config object's working copy of X25 structure
   LAPB * m_pLAPB; // Pointer to our config object's working copy of LAPB structure
};

/////////////////////////////////////////////////////////////////////////////
// CLAPBNetwork dialog

class CLAPBNetwork : public CPropertyPage
{
	DECLARE_DYNCREATE(CLAPBNetwork)

// Construction
public:
	CLAPBNetwork(LAPB * const pLAPB = NULL);
	~CLAPBNetwork();

// Dialog Data
	//{{AFX_DATA(CLAPBNetwork)
	enum { IDD = IDD_LAPBNETWORK };
	BOOL	m_FRMRError;
	BOOL	m_INVRSPError;
	BOOL	m_IGNUAError;
	BOOL	m_NODMADM;
	BOOL	m_SFrameBit;
	//}}AFX_DATA


// Overrides
	// ClassWizard generate virtual function overrides
	//{{AFX_VIRTUAL(CLAPBNetwork)
	public:
	virtual void OnOK();
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:
	// Generated message map functions
	//{{AFX_MSG(CLAPBNetwork)
	virtual BOOL OnInitDialog();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()

private:
   LAPB * m_pLAPB; // Pointer to our config object's working copy of LAPB structure
public:
   void SetLAPB(LAPB * const p) { m_pLAPB = p; }
};

//{{AFX_INSERT_LOCATION}}
// Microsoft Developer Studio will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_X25CFG_H__A29405ED_90DB_11D1_85EB_0040052F0B6E__INCLUDED_)
