//============================================================================ // 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_