Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

123 lines
3.4 KiB

  1. /**********************************************************************/
  2. /** Microsoft Windows/NT **/
  3. /** Copyright(c) Microsoft Corporation, 1997 - 1997 **/
  4. /**********************************************************************/
  5. /*
  6. ipxstrm.h
  7. IPX Root node configuration object.
  8. Use this to get/set configuration data. This class will take
  9. care of versioning of config formats as well as serializing
  10. of the data.
  11. FILE HISTORY:
  12. */
  13. #ifndef _IPXSTRM_H
  14. #define _IPXSTRM_H
  15. #ifndef _XSTREAM_H
  16. #include "xstream.h"
  17. #endif
  18. #ifndef _IPXADMIN_H
  19. #include "ipxadmin.h"
  20. #endif
  21. #ifndef _COLUMN_H
  22. #include "column.h"
  23. #endif
  24. #ifndef _CONFIG_H
  25. // #include "config.h"
  26. #endif
  27. enum
  28. {
  29. IPXSTRM_STATS_IPX = 0,
  30. IPXSTRM_STATS_ROUTING,
  31. IPXSTRM_STATS_SERVICE,
  32. IPXSTRM_MAX_COUNT,
  33. };
  34. enum IPSTRM_TAG
  35. {
  36. IPXSTRM_TAG_VERSION = XFER_TAG(1, XFER_DWORD),
  37. IPXSTRM_TAG_VERSIONADMIN = XFER_TAG(2, XFER_DWORD),
  38. IPXSTRM_TAG_STATS_IPX_COLUMNS = XFER_TAG(3, XFER_COLUMNDATA_ARRAY),
  39. IPXSTRM_TAG_STATS_IPX_SORT = XFER_TAG(4, XFER_DWORD),
  40. IPXSTRM_TAG_STATS_IPX_ASCENDING = XFER_TAG(5, XFER_DWORD),
  41. IPXSTRM_TAG_STATS_IPX_POSITION = XFER_TAG(6, XFER_RECT),
  42. IPXSTRM_TAG_STATS_IPXROUTING_COLUMNS = XFER_TAG(7, XFER_COLUMNDATA_ARRAY),
  43. IPXSTRM_TAG_STATS_IPXROUTING_SORT = XFER_TAG(8, XFER_DWORD),
  44. IPXSTRM_TAG_STATS_IPXROUTING_ASCENDING = XFER_TAG(9, XFER_DWORD),
  45. IPXSTRM_TAG_STATS_IPXROUTING_POSITION = XFER_TAG(10, XFER_RECT),
  46. IPXSTRM_TAG_STATS_IPXSERVICE_COLUMNS = XFER_TAG(11, XFER_COLUMNDATA_ARRAY),
  47. IPXSTRM_TAG_STATS_IPXSERVICE_SORT = XFER_TAG(12, XFER_DWORD),
  48. IPXSTRM_TAG_STATS_IPXSERVICE_ASCENDING = XFER_TAG(13, XFER_DWORD),
  49. IPXSTRM_TAG_STATS_IPXSERVICE_POSITION = XFER_TAG(14, XFER_RECT),
  50. };
  51. /*---------------------------------------------------------------------------
  52. Class: IPXAdminConfigStream
  53. This holds the configuration information for the IPX administration
  54. nodes. This does NOT hold the configuration information for the columns.
  55. That is stored in the Component Configuration streams.
  56. ---------------------------------------------------------------------------*/
  57. class IPXAdminConfigStream : public ConfigStream
  58. {
  59. public:
  60. IPXAdminConfigStream();
  61. virtual HRESULT InitNew(); // set defaults
  62. virtual HRESULT SaveTo(IStream *pstm);
  63. virtual HRESULT SaveAs(UINT nVersion, IStream *pstm);
  64. virtual HRESULT LoadFrom(IStream *pstm);
  65. virtual HRESULT GetSize(ULONG *pcbSize);
  66. // --------------------------------------------------------
  67. // Accessors
  68. // --------------------------------------------------------
  69. virtual HRESULT GetVersionInfo(DWORD *pnVersion, DWORD *pnAdminVersion);
  70. protected:
  71. HRESULT XferVersion0(IStream *pstm, XferStream::Mode mode, ULONG *pcbSize);
  72. };
  73. /*---------------------------------------------------------------------------
  74. These IDs are used by the component config stream.
  75. ---------------------------------------------------------------------------*/
  76. enum
  77. {
  78. COLUMNS_SUMMARY = 0,
  79. COLUMNS_NBBROADCASTS = 1,
  80. COLUMNS_STATICROUTES = 2,
  81. COLUMNS_STATICSERVICES = 3,
  82. COLUMNS_STATICNETBIOSNAMES = 4,
  83. COLUMNS_MAX_COUNT,
  84. };
  85. class IPXComponentConfigStream : public ConfigStream
  86. {
  87. public:
  88. virtual HRESULT XferVersion0(IStream *pstm, XferStream::Mode mode, ULONG *pcbSize);
  89. protected:
  90. };
  91. #endif _IPXSTRM_H