windows-nt/Source/XPSP1/NT/net/mmc/rtrfiltr/datafmt.h
2020-09-26 16:20:57 +08:00

128 lines
2.9 KiB
C++

//============================================================================
// Copyright(c) 1996, Microsoft Corporation
//
// File: datafmt.h
//
// History:
// 08/30/96 Ram Cherala Created
//
// Class declarations for IPX data formatting routines
// Originally written by VadimE. (this should actually be in the common library)
//=============================================================================
#ifndef _DATAFMT_H_
#define _DATAFMT_H_
class CIPX_NETWORK {
public:
CIPX_NETWORK(PUCHAR net): m_pNet(net) {};
operator PUCHAR () {return m_pNet;};
friend CString& operator << (
CString& str,
CIPX_NETWORK &net
);
friend LPTSTR& operator << (
LPTSTR& str,
CIPX_NETWORK &net
);
friend CString& operator >> (
CString& str,
CIPX_NETWORK &net
);
private:
PUCHAR m_pNet;
CIPX_NETWORK();
};
class CIPX_NODE {
public:
CIPX_NODE(PUCHAR node): m_pNode(node) {};
operator PUCHAR () {return m_pNode;};
friend CString& operator << (
CString& str,
CIPX_NODE &node
);
friend LPTSTR& operator << (
LPTSTR& str,
CIPX_NODE &node
);
friend CString& operator >> (
CString& str,
CIPX_NODE &node
);
private:
PUCHAR m_pNode;
CIPX_NODE();
};
class CIPX_SOCKET {
public:
CIPX_SOCKET(PUCHAR sock): m_pSock(sock) {};
operator PUCHAR () {return m_pSock;};
friend CString& operator << (
CString& str,
CIPX_SOCKET &sock
);
friend LPTSTR& operator << (
LPTSTR& str,
CIPX_SOCKET &sock
);
friend CString& operator >> (
CString& str,
CIPX_SOCKET &sock
);
private:
PUCHAR m_pSock;
CIPX_SOCKET();
};
class CIPX_PACKET_TYPE {
public:
CIPX_PACKET_TYPE(UCHAR type): m_Type(type), m_pType(&m_Type) {};
CIPX_PACKET_TYPE(PUCHAR pType): m_pType(pType) {};
operator USHORT () {return *m_pType;};
friend CString& operator << (
CString& str,
CIPX_PACKET_TYPE& type
);
friend LPTSTR& operator << (
LPTSTR& str,
CIPX_PACKET_TYPE& type
);
friend CString& operator >> (
CString& str,
CIPX_PACKET_TYPE& type
);
private:
UCHAR m_Type;
PUCHAR m_pType;
CIPX_PACKET_TYPE();
};
class CIPX_ADDRESS {
public:
CIPX_ADDRESS (
PUCHAR net,
PUCHAR mask,
PUCHAR node,
PUCHAR sock
):m_pNet(net), m_pMask(mask), m_pNode(node), m_pSock(sock)
{};
friend LPTSTR& operator << (
LPTSTR& str,
CIPX_ADDRESS& addr
);
friend CString& operator << (
CString& str,
CIPX_ADDRESS& addr
);
private:
PUCHAR m_pNet;
PUCHAR m_pMask;
PUCHAR m_pNode;
PUCHAR m_pSock;
CIPX_ADDRESS();
};
#endif // _DATAFMT_H_