home *** CD-ROM | disk | FTP | other *** search
/ Network Support Encyclopedia 96-1 / novell-nsepro-1996-1-cd2.iso / download / netware / os2hdr.exe / NWFSE.H < prev    next >
Text File  |  1993-05-03  |  42KB  |  1,601 lines

  1. /*--------------------------------------------------------------------------
  2.      (C) Copyright Novell, Inc. 1991  All Rights Reserved.
  3.  
  4.  No part of this file may be duplicated, revised, translated, localized or
  5.  modified in any manner or compiled, linked, or uploaded or downloaded to or
  6.  from any computer system without the prior written consent of Novell, Inc.
  7. --------------------------------------------------------------------------*/
  8. #ifndef NWFSE_INC
  9. #define NWFSE_INC
  10.  
  11. typedef struct
  12. {
  13.   DWORD currentServerTime;
  14.   BYTE vconsoleVersion;
  15.   BYTE vconsoleRevision;
  16. } SERVER_AND_VCONSOLE_INFO;
  17.  
  18. /* Get Cache Information --- 1 */
  19.  
  20. typedef struct
  21. {
  22.   DWORD readExistingBlockCount;
  23.   DWORD readExistingWriteWaitCount;
  24.   DWORD readExistingPartialReadCount;
  25.   DWORD readExistingReadErrorCount;
  26.   DWORD writeBlockCount;
  27.   DWORD writeEntireBlockCount;
  28.   DWORD getDiskCount;
  29.   DWORD getDiskNeedToAllocCount;
  30.   DWORD getDiskSomeoneBeatMeCount;
  31.   DWORD getDiskPartialReadCount;
  32.   DWORD getDiskReadErrorCount;
  33.   DWORD getAsyncDiskCount;
  34.   DWORD getAsyncDiskNeedToAlloc;
  35.   DWORD getAsyncDiskSomeoneBeatMe;
  36.   DWORD errorDoingAsyncReadCount;
  37.   DWORD getDiskNoReadCount;
  38.   DWORD getDiskNoReadAllocCount;
  39.   DWORD getDiskNoReadSomeoneBeatMeCount;
  40.   DWORD diskWriteCount;
  41.   DWORD diskWriteAllocCount;
  42.   DWORD diskWriteSomeoneBeatMeCount;
  43.   DWORD writeErrorCount;
  44.   DWORD waitOnSemaphoreCount;
  45.   DWORD allocBlockWaitForSomeoneCount;
  46.   DWORD allocBlockCount;
  47.   DWORD allocBlockWaitCount;
  48. } CACHE_COUNTERS;
  49.  
  50. typedef struct
  51. {
  52.   DWORD originalNumOfCacheBuffers;
  53.   DWORD currentNumOfCacheBuffers;
  54.   DWORD cacheDirtyBlockThreshold;
  55.   DWORD waitNodeCount;
  56.   DWORD waitNodeAllocFailureCount;
  57.   DWORD moveCacheNodeCount;
  58.   DWORD moveCacheNodeFromAvailCount;
  59.   DWORD accelerateCacheNodeWriteCount;
  60.   DWORD removeCacheNodeCount;
  61.   DWORD removeCacheNodeFromAvailCount;
  62. } CACHE_MEM_COUNTERS;
  63.  
  64. typedef struct
  65. {
  66.   DWORD numCacheChecks;
  67.   DWORD numCacheHits;
  68.   DWORD numDirtyCacheChecks;
  69.   DWORD numDirtyCacheHits;
  70.   DWORD cacheUsedWhileChecking;
  71.   DWORD waitForDirtyBlocksDecreaseCount;
  72.   DWORD allocBlockFromAvailCount;
  73.   DWORD allocBlockFromLRUCount;
  74.   DWORD allocBlockAlreadyWaiting;
  75.   DWORD LRUSittingTime;
  76. } CACHE_TREND_COUNTERS;
  77.  
  78. typedef struct
  79. {
  80.   DWORD maxByteCount;
  81.   DWORD minNumOfCacheBuffers;
  82.   DWORD minCacheReportThreshold;
  83.   DWORD allocWaitingCount;
  84.   DWORD numDirtyBlocks;
  85.   DWORD cacheDirtyWaitTime;
  86.   DWORD cacheMaxConcurrentWrites;
  87.   DWORD maxDirtyTime;
  88.   DWORD numOfDirCacheBuffers;
  89.   DWORD cacheByteToBlockShiftFactor;
  90. } CACHE_INFO;
  91.  
  92. typedef struct
  93. {
  94.   SERVER_AND_VCONSOLE_INFO serverTimeAndVConsoleInfo;
  95.   WORD reserved;
  96.   CACHE_COUNTERS cacheCounters;
  97.   CACHE_MEM_COUNTERS cacheMemCounters;
  98.   CACHE_TREND_COUNTERS cacheTrendCounters;
  99.   CACHE_INFO cacheInformation;
  100. } NWFSE_CACHE_INFO;
  101.  
  102. /* Get File Server Information --- 2 */
  103.  
  104. typedef struct
  105. {
  106.   DWORD replyCanceledCount;
  107.   DWORD writeHeldOffCount;
  108.   DWORD writeHeldOffWithDupRequest;
  109.   /* writeHeldOffWithDuplicateRequest */
  110.   DWORD invalidRequestTypeCount;
  111.   DWORD beingAbortedCount;
  112.   DWORD alreadyDoingReallocCount;
  113.   DWORD deAllocInvalidSlotCount;
  114.   DWORD deAllocBeingProcessedCount;
  115.   DWORD deAllocForgedPacketCount;
  116.   DWORD deAllocStillTransmittingCount;
  117.   DWORD startStationErrorCount;
  118.   DWORD invalidSlotCount;
  119.   DWORD beingProcessedCount;
  120.   DWORD forgedPacketCount;
  121.   DWORD stillTransmittingCount;
  122.   DWORD reExecuteRequestCount;
  123.   DWORD invalidSequenceNumCount;
  124.   DWORD duplicateIsBeingSentAlreadyCnt;
  125.   DWORD sentPositiveAcknowledgeCount;
  126.   DWORD sentDuplicateReplyCount;
  127.   DWORD noMemForStationCtrlCount;
  128.   DWORD noAvailableConnsCount;
  129.   DWORD reallocSlotCount;
  130.   DWORD reallocSlotCameTooSoonCount;
  131. } FSE_SERVER_INFO;
  132.  
  133. typedef struct
  134. {
  135.   WORD tooManyHops;
  136.   WORD unknownNetwork;
  137.   WORD noSpaceForService;
  138.   WORD noReceiveBuffers;
  139.   WORD notMyNetwork;
  140.   DWORD netBIOSProgatedCount;
  141.   DWORD totalPacketsServiced;
  142.   DWORD totalPacketsRouted;
  143. } FILE_SERVER_COUNTERS;
  144.  
  145. typedef struct
  146. {
  147.   SERVER_AND_VCONSOLE_INFO serverTimeAndVConsoleInfo;
  148.   WORD reserved;
  149.   DWORD NCPStationsInUseCount;
  150.   DWORD NCPPeakStationsInUseCount;
  151.   DWORD numOfNCPRequests;
  152.   DWORD serverUtilization;
  153.   FSE_SERVER_INFO ServerInfo;
  154.   FILE_SERVER_COUNTERS fileServerCounters;
  155. } NWFSE_FILE_SERVER_INFO;
  156.  
  157. /* Netware File Systems Information --- 3 */
  158.  
  159. typedef struct
  160. {
  161.   DWORD FATMovedCount;
  162.   DWORD FATWriteErrorCount;
  163.   DWORD someoneElseDidItCount0;
  164.   DWORD someoneElseDidItCount1;
  165.   DWORD someoneElseDidItCount2;
  166.   DWORD iRanOutSomeoneElseDidItCount0;
  167.   DWORD iRanOutSomeoneElseDidItCount1;
  168.   DWORD iRanOutSomeoneElseDidItCount2;
  169.   DWORD turboFATBuildScrededUpCount;
  170.   DWORD extraUseCountNodeCount;
  171.   DWORD extraExtraUseCountNodeCount;
  172.   DWORD errorReadingLastFATCount;
  173.   DWORD someoneElseUsingThisFileCount;
  174. } FSE_FILE_SYSTEM_INFO;
  175.  
  176. typedef struct
  177. {
  178.   SERVER_AND_VCONSOLE_INFO serverTimeAndVConsoleInfo;
  179.   WORD reserved;
  180.   FSE_FILE_SYSTEM_INFO fileSystemInfo;
  181. } NWFSE_FILE_SYSTEM_INFO;
  182.  
  183. /* User Information --- 4 */
  184.  
  185. /* status */
  186. #define FSE_LOGGED_IN                0x00000001
  187. #define FSE_BEING_ABORTED            0x00000002
  188. #define FSE_AUDITED                 0x00000004
  189. #define FSE_NEEDS_SECURITY_CHANGE        0x00000008
  190. #define FSE_MAC_STATION                 0x00000010
  191. #define FSE_AUTHENTICATED_TEMPORARY        0x00000020
  192. #define FSE_AUDIT_CONNECTION_RECORDED        0x00000040
  193. #define FSE_DSAUDIT_CONNECTION_RECORDED        0x00000080
  194.  
  195. /* fileWriteFlags */
  196. #define FSE_WRITE                1
  197. #define FSE_WRITE_ABORTED    2
  198.  
  199. /* fileWriteState */
  200. #define FSE_NOT_WRITING                0
  201. #define FSE_WRITE_IN_PROGRESS        1
  202. #define FSE_WRITE_BEING_STOPPED    2
  203.  
  204. typedef struct
  205. {
  206.   DWORD connNum;
  207.   DWORD useCount;
  208.   BYTE connServiceType;
  209.   BYTE loginTime[ 7 ];
  210.   DWORD status;
  211.   DWORD expirationTime;
  212.   DWORD objType;
  213.   BYTE transactionFlag;
  214.   BYTE logicalLockThreshold;
  215.   BYTE recordLockThreshold;
  216.   BYTE fileWriteFlags;         /* Includes active and stop bits */
  217.   BYTE fileWriteState;
  218.   BYTE filler;
  219.   WORD fileLockCount;
  220.   WORD recordLockCount;
  221.   BYTE totalBytesRead[ 6 ];
  222.   BYTE totalBytesWritten[ 6 ];
  223.   DWORD totalRequests;
  224.   DWORD heldRequests;
  225.   BYTE heldBytesRead[ 6 ];
  226.   BYTE heldBytesWritten[ 6 ];
  227. } USER_INFO;
  228.  
  229. typedef struct
  230. {
  231.   SERVER_AND_VCONSOLE_INFO serverTimeAndVConsoleInfo;
  232.   WORD reserved;
  233.   USER_INFO userInfo;
  234. } NWFSE_USER_INFO;
  235.  
  236. /* Packet Burst Information --- 5 */
  237.  
  238. typedef struct
  239. {
  240.   DWORD bigInvalidSlotCount;
  241.   DWORD bigForgedPacketCount;
  242.   DWORD bigInvalidPacketCount;
  243.   DWORD bigStillTransmittingCount;
  244.   DWORD stillDoingTheLastRequestCount;
  245.   DWORD invalidCtrlRequestCount;
  246.   DWORD ctrlInvalidMessageNumCount;
  247.   DWORD ctrlBeingTornDownCount;
  248.   DWORD bigRepeatTheFileReadCount;
  249.   DWORD bigSendExtraCCCount;
  250.   DWORD bigReturnAbortMessageCount;
  251.   DWORD bigReadInvalidMessageNumCount;
  252.   DWORD bigReadDoItOverCount;
  253.   DWORD bigReadBeingTornDownCount;
  254.   DWORD previousCtrlPacketCount;
  255.   DWORD sendHoldOffMessageCount;
  256.   DWORD bigReadNoDataAvailableCount;
  257.   DWORD bigReadTryingToReadTooMuchCount;
  258.   DWORD asyncReadErrorCount;
  259.   DWORD bigReadPhysicalReadErrorCount;
  260.   DWORD ctrlBadACKFragmentListCount;
  261.   DWORD ctrlNoDataReadCount;
  262.   DWORD writeDuplicateRequestCount;
  263.   DWORD shouldntBeACKingHereCount;
  264.   DWORD writeInconsistentPktLengthsCnt;
  265.   DWORD firstPacketIsntAWriteCount;
  266.   DWORD writeTrashedDuplicateRequestCnt;
  267.   DWORD bigWriteInvalidMessageNumCount;
  268.   DWORD bigWriteBeingTornDownCount;
  269.   DWORD bigWriteBeingAbortedCount;
  270.   DWORD zeroACKFragmentCountCount;
  271.   DWORD writeCurrentlyTransmittingCount;
  272.   DWORD tryingToWriteTooMuchCount;
  273.   DWORD writeOutOfMemForCtrlNodesCount;
  274.   DWORD writeDidntNeedThisFragmentCount;
  275.   DWORD writeTooManyBuffsCheckedOutCnt;
  276.   /* writeTooManyBuffersCheckedOutCount */
  277.   DWORD writeTimeOutCount;
  278.   DWORD writeGotAnACKCount;
  279.   DWORD writeGotAnACKCount1;
  280.   DWORD pollerAbortedTheConnCount;
  281.   DWORD maybeHadOutOfOrderWritesCount;
  282.   DWORD hadAnOutOfOrderWriteCount;
  283.   DWORD movedTheACKBitDownCount;
  284.   DWORD bumpedOutOfOrderWriteCount;
  285.   DWORD pollerRemovedOldOutOfOrderCount;
  286.   DWORD writeDidntNeedButRequestACKCnt;
  287.   /* writeDidntNeedButRequestedACTCount */
  288.   DWORD writeTrashedPacketCount;
  289.   DWORD tooManyACKFragmentsCount;
  290.   DWORD savedAnOutOfOrderPacketCount;
  291.   DWORD connBeingAbortedCount;
  292. } PACKET_BURST_INFO;
  293.  
  294. typedef struct
  295. {
  296.   SERVER_AND_VCONSOLE_INFO serverTimeAndVConsoleInfo;
  297.   WORD reserved;
  298.   PACKET_BURST_INFO packetBurstInfo;
  299. } NWFSE_PACKET_BURST_INFO;
  300.  
  301. /* IPX SPX Information --- 6 */
  302.  
  303. typedef struct
  304. {
  305.   DWORD IPXSendPacketCount;
  306.   WORD IPXMalformPacketCount;
  307.   DWORD IPXGetECBRequestCount;
  308.   DWORD IPXGetECBFailCount;
  309.   DWORD IPXAESEventCount;
  310.   WORD IPXPostponedAESCount;
  311.   WORD IPXMaxConfiguredSocketCount;
  312.   WORD IPXMaxOpenSocketCount;
  313.   WORD IPXOpenSocketFailCount;
  314.   DWORD IPXListenECBCount;
  315.   WORD IPXECBCancelFailCount;
  316.   WORD IPXGetLocalTargetFailCount;
  317. } IPX_INFO;
  318.  
  319. typedef struct
  320. {
  321.   WORD SPXMaxConnsCount;
  322.   WORD SPXMaxUsedConns;
  323.   WORD SPXEstConnReq;
  324.   WORD SPXEstConnFail;
  325.   WORD SPXListenConnectReq;
  326.   WORD SPXListenConnectFail;
  327.   DWORD SPXSendCount;
  328.   DWORD SPXWindowChokeCount;
  329.   WORD SPXBadSendCount;
  330.   WORD SPXSendFailCount;
  331.   WORD SPXAbortedConn;
  332.   DWORD SPXListenPacketCount;
  333.   WORD SPXBadListenCount;
  334.   DWORD SPXIncomingPacketCount;
  335.   WORD SPXBadInPacketCount;
  336.   WORD SPXSuppressedPackCount;
  337.   WORD SPXNoSesListenECBCount;
  338.   WORD SPXWatchDogDestSesCount;
  339. } SPX_INFO;
  340.  
  341. typedef struct
  342. {
  343.   SERVER_AND_VCONSOLE_INFO serverTimeAndVConsoleInfo;
  344.   WORD reserved;
  345.   IPX_INFO IPXInfo;
  346.   SPX_INFO SPXInfo;
  347. } NWFSE_IPXSPX_INFO;
  348.  
  349. /* Garbage Collection Information --- 7 */
  350.  
  351. typedef struct
  352. {
  353.   SERVER_AND_VCONSOLE_INFO serverTimeAndVConsoleInfo;
  354.   WORD reserved;
  355.   DWORD failedAllocRequestCount;
  356.   DWORD numOfAllocs;
  357.   DWORD noMoreMemAvailableCount;
  358.   DWORD numOfGarbageCollections;
  359.   DWORD garbageFoundSomeMem;
  360.   DWORD garbageNumOfChecks;
  361. } NWFSE_GARBAGE_COLLECTION_INFO;
  362.  
  363. /* CPU Information --- 8 */
  364.  
  365. #define FSE_CPU_STR_MAX            16
  366. #define FSE_COPROCESSOR_STR_MAX    48
  367. #define FSE_BUS_STR_MAX            32
  368.  
  369. typedef struct
  370. {
  371.   DWORD pageTableOwnerFlag;
  372.   DWORD CPUTypeFlag;
  373.   DWORD coProcessorFlag;
  374.   DWORD busTypeFlag;
  375.   DWORD IOEngineFlag;
  376.   DWORD FSEngineFlag;
  377.   DWORD nonDedicatedFlag;
  378. } CPU_INFO;
  379.  
  380. typedef struct
  381. {
  382.   SERVER_AND_VCONSOLE_INFO serverTimeAndVConsoleInfo;
  383.   WORD reserved;
  384.   DWORD numOfCPUs;
  385.   CPU_INFO CPUInfo;
  386. } NWFSE_CPU_INFO;
  387.  
  388. /* Volume Switch Information --- 9 */
  389.  
  390. typedef struct
  391. {
  392.   DWORD  readFile;
  393.   DWORD  writeFile;
  394.   DWORD  deleteFile;
  395.   DWORD  renMove;
  396.   DWORD  openFile;
  397.   DWORD  createFile;
  398.   DWORD  createAndOpenFile;
  399.   DWORD  closeFile;
  400.   DWORD  scanDeleteFile;
  401.   DWORD  salvageFile;
  402.   DWORD  purgeFile;
  403.   DWORD  migrateFile;
  404.   DWORD  deMigrateFile;
  405.   DWORD  createDir;
  406.   DWORD  deleteDir;
  407.   DWORD  directoryScans;
  408.   DWORD  mapPathToDirNum;
  409.   DWORD  modifyDirEntry;
  410.   DWORD  getAccessRights;
  411.   DWORD  getAccessRightsFromIDs;
  412.   DWORD  mapDirNumToPath;
  413.   DWORD  getEntryFromPathStrBase;
  414.   DWORD  getOtherNSEntry;
  415.   DWORD  getExtDirInfo;
  416.   DWORD  getParentDirNum;
  417.   DWORD  addTrusteeR;
  418.   DWORD  scanTrusteeR;
  419.   DWORD  delTrusteeR;
  420.   DWORD  purgeTrust;
  421.   DWORD  findNextTrustRef;
  422.   DWORD  scanUserRestNodes;
  423.   DWORD  addUserRest;
  424.   DWORD  deleteUserRest;
  425.   DWORD  rtnDirSpaceRest;
  426.   DWORD  getActualAvailDskSp;
  427.   DWORD  cntOwnedFilesAndDirs;
  428.   DWORD  migFileInfo;
  429.   DWORD  volMigInfo;
  430.   DWORD  readMigFileData;
  431.   DWORD  getVolusageStats;
  432.   DWORD  getActualVolUsageStats;
  433.   DWORD  getDirUsageStats;
  434.   DWORD  NMFileReadsCount;
  435.   DWORD  NMFileWritesCount;
  436.   /* DWORD  mapPathToDirectoryNumberOrPhantom; */
  437.   DWORD  mapPathToDirNumOrPhantom;
  438.   /* DWORD  stationHasAccessRightsGrantedBelow; */
  439.   DWORD  stationHasAccessRgtsGntedBelow;
  440.   /* DWORD  getDataStreamLengthsFromPathStringBase; */
  441.   DWORD  gtDataStreamLensFromPathStrBase;
  442.   DWORD  checkAndGetDirectoryEntry;
  443.   DWORD  getDeletedEntry;
  444.   DWORD  getOriginalNameSpace;
  445.   DWORD  getActualFileSize;
  446.   DWORD  verifyNameSpaceNumber;
  447.   DWORD  verifyDataStreamNumber;
  448.   DWORD  checkVolumeNumber;
  449.   DWORD  commitFile;
  450.   DWORD  VMGetDirectoryEntry;
  451.   DWORD  createDMFileEntry;
  452.   DWORD  renameNameSpaceEntry;
  453.   DWORD  logFile;
  454.   DWORD  releaseFile;
  455.   DWORD  clearFile;
  456.   DWORD  setVolumeFlag;
  457.   DWORD  clearVolumeFlag;
  458.   DWORD  getOriginalInfo;
  459.   DWORD  createMigratedDir;
  460.   DWORD  F3OpenCreate;
  461.   DWORD  F3InitFileSearch;
  462.   DWORD  F3ContinueFileSearch;
  463.   DWORD  F3RenameFile;
  464.   DWORD  F3ScanForTrustees;
  465.   DWORD  F3ObtainFileInfo;
  466.   DWORD  F3ModifyInfo;
  467.   DWORD  F3EraseFile;
  468.   DWORD  F3SetDirHandle;
  469.   DWORD  F3AddTrustees;
  470.   DWORD  F3DeleteTrustees;
  471.   DWORD  F3AllocDirHandle;
  472.   DWORD  F3ScanSalvagedFiles;
  473.   DWORD  F3RecoverSalvagedFiles;
  474.   DWORD  F3PurgeSalvageableFile;
  475.   DWORD  F3GetNSSpecificInfo;
  476.   DWORD  F3ModifyNSSpecificInfo;
  477.   DWORD  F3SearchSet;
  478.   DWORD  F3GetDirBase;
  479.   DWORD  F3QueryNameSpaceInfo;
  480.   DWORD  F3GetNameSpaceList;
  481.   DWORD  F3GetHugeInfo;
  482.   DWORD  F3SetHugeInfo;
  483.   DWORD  F3GetFullPathString;
  484.   DWORD  F3GetEffectiveDirectoryRights;
  485. } VOLUME_SWITCH_INFO;
  486.  
  487. typedef struct
  488. {
  489.   SERVER_AND_VCONSOLE_INFO serverTimeAndVConsoleInfo;
  490.   WORD reserved;
  491.   DWORD totalLFSCounters;
  492.   DWORD CurrentLFSCounters;
  493.   DWORD LFSCounters[ 128 ]; /* 512 / sizeof(DWORD) */
  494.   /* VOLUME_SWITCH_INFO volumeSwitchInfo; */ /* Cant return all counters */
  495. } NWFSE_VOLUME_SWITCH_INFO;
  496.  
  497. /* Get NLM Loaded List --- 10 */
  498.  
  499. #define FSE_NLM_NUMS_RETURNED_MAX 128
  500.  
  501. typedef struct
  502. {
  503.   SERVER_AND_VCONSOLE_INFO serverTimeAndVConsoleInfo;
  504.   WORD reserved;
  505.   DWORD numberNLMsLoaded;
  506.   DWORD NLMsInList;
  507.   DWORD NLMNums[ FSE_NLM_NUMS_RETURNED_MAX ];
  508. } NWFSE_NLM_LOADED_LIST;
  509.  
  510. /* NLM Information --- 11 */
  511.  
  512. /* 1 is added for the NULL */
  513.  
  514. #define FSE_NLM_FILENAME_LEN_MAX   37
  515. #define FSE_NLM_NAMELEN_MAX       129
  516. #define FSE_NLM_COPYRIGHTLEN_MAX  256
  517.  
  518. typedef struct {
  519.   DWORD identificationNum;
  520.   DWORD flags;
  521.   DWORD type;
  522.   DWORD parentID;
  523.   DWORD majorVersion;
  524.   DWORD minorVersion;
  525.   DWORD revision;
  526.   DWORD year;
  527.   DWORD month;
  528.   DWORD day;
  529.   DWORD allocAvailableBytes;
  530.   DWORD allocFreeCount;
  531.   DWORD lastGarbageCollection;
  532.   DWORD messageLanguage;
  533.   DWORD numOfReferencedPublics;
  534. } NLM_INFO;
  535.  
  536. typedef struct
  537. {
  538.   SERVER_AND_VCONSOLE_INFO serverTimeAndVConsoleInfo;
  539.   WORD reserved;
  540.   NLM_INFO NLMInfo;
  541. } NWFSE_NLM_INFO;
  542.  
  543. /* Get Directory Cache Information --- 12 */
  544.  
  545. typedef struct {
  546.   DWORD minTimeSinceFileDelete;
  547.   DWORD absMinTimeSinceFileDelete;
  548.   DWORD minNumOfDirCacheBuffers;
  549.   DWORD maxNumOfDirCacheBuffers;
  550.   DWORD numOfDirCacheBuffers;
  551.   DWORD dCMinNonReferencedTime;
  552.   DWORD dCWaitTimeBeforeNewBuffer;
  553.   DWORD dCMaxConcurrentWrites;
  554.   DWORD dCDirtyWaitTime;
  555.   DWORD dCDoubleReadFlag;
  556.   DWORD mapHashNodeCount;
  557.   DWORD spaceRestrictionNodeCount;
  558.   DWORD trusteeListNodeCount;
  559.   DWORD percentOfVolumeUsedByDirs;
  560. } DIR_CACHE_INFO;
  561.  
  562. typedef struct
  563. {
  564.   SERVER_AND_VCONSOLE_INFO serverTimeAndVConsoleInfo;
  565.   WORD reserved;
  566.   DIR_CACHE_INFO dirCacheInfo;
  567. } NWFSE_DIR_CACHE_INFO;
  568.  
  569. /* Get Operating System Version Information --- 13 */
  570.  
  571. typedef struct
  572. {
  573.   SERVER_AND_VCONSOLE_INFO serverTimeAndVConsoleInfo;
  574.   WORD reserved;
  575.   BYTE OSMajorVersion;
  576.   BYTE OSMinorVersion;
  577.   BYTE OSRevisionNum;
  578.   BYTE accountingVersion;
  579.   BYTE VAPVersion;
  580.   BYTE queueingVersion;
  581.   BYTE securityRestrictionsLevel;
  582.   BYTE bridgingSupport;
  583.   DWORD maxNumOfVolumes;
  584.   DWORD numOfConnSlots;
  585.   DWORD maxLoggedInConns;
  586.   DWORD maxNumOfNameSpaces;
  587.   DWORD maxNumOfLans;
  588.   DWORD maxNumOfMediaTypes;
  589.   DWORD maxNumOfProtocols;
  590.   DWORD maxMaxSubdirTreeDepth;
  591.   DWORD maxNumOfDataStreams;
  592.   DWORD maxNumOfSpoolPrinters;
  593.   DWORD serialNum;
  594.   WORD applicationNum;
  595. } NWFSE_OS_VERSION_INFO;
  596.  
  597. /* Get Active Connection List by Type --- 14 */
  598.  
  599. /* Connection service type */
  600. /* NOTE: type 1 is reserved by CLIB for backward compatability */
  601.  
  602. #define FSE_NCP_CONNECTION_TYPE            2
  603. #define FSE_NLM_CONNECTION_TYPE            3
  604. #define FSE_AFP_CONNECTION_TYPE            4
  605. #define FSE_FTAM_CONNECTION_TYPE           5
  606. #define FSE_ANCP_CONNECTION_TYPE           6
  607.  
  608. typedef struct
  609. {
  610.   SERVER_AND_VCONSOLE_INFO serverTimeAndVConsoleInfo;
  611.   WORD reserved;
  612.   BYTE activeConnBitList[ 512 ];
  613. } NWFSE_ACTIVE_CONN_LIST;
  614.  
  615. /* Get NLM's Resource Tag List --- 15 */
  616.  
  617. typedef struct
  618. {
  619.   SERVER_AND_VCONSOLE_INFO serverTimeAndVConsoleInfo;
  620.   WORD reserved;
  621.   DWORD totalNumOfResourceTags;
  622.   DWORD packetResourceTags;
  623.     BYTE resourceTagBuf[ 512 ]; /* (LONG,LONG,BYTE[])[] - BYTE[] is a null-terminated string.
  624.                                                          ** This packed structure consisting of:
  625.                                                          **
  626.                              ** DWORD number,
  627.                              ** DWORD signature,
  628.                              ** DWORD count,
  629.                                                          ** BYTE name[]
  630.                                                          **
  631.                                                          */
  632. } NWFSE_NLMS_RESOURCE_TAG_LIST;
  633.  
  634. /* Active LAN Board List --- 20 */
  635.  
  636. #define FSE_MAX_NUM_OF_LANS 64
  637.  
  638. typedef struct
  639. {
  640.   SERVER_AND_VCONSOLE_INFO serverTimeAndVConsoleInfo;
  641.   WORD reserved;
  642.   DWORD MaxNumOfLANs;
  643.   DWORD LANLoadedCount;
  644.   DWORD boardNums[ FSE_MAX_NUM_OF_LANS ];
  645. } NWFSE_ACTIVE_LAN_BOARD_LIST;
  646.  
  647. /* LAN Configuration Information --- 21 */
  648.  
  649. typedef    struct    {
  650.     BYTE    DriverCFG_MajorVersion;
  651.     BYTE    DriverCFG_MinorVersion;
  652.     BYTE    DriverNodeAddress[ 6 ];
  653.     WORD    DriverModeFlags;
  654.     WORD    DriverBoardNum;
  655.     WORD    DriverBoardInstance;
  656.   DWORD  DriverMaxSize;
  657.   DWORD  DriverMaxRecvSize;
  658.   DWORD  DriverRecvSize;
  659.   DWORD  Reserved1[3];
  660.     WORD    DriverCardID;
  661.     WORD    DriverMediaID;
  662.     WORD    DriverTransportTime;
  663.     BYTE    DriverReserved[ 16 ];
  664.     BYTE    DriverMajorVersion;
  665.     BYTE    DriverMinorVersion;
  666.     WORD    DriverFlags;
  667.     WORD    DriverSendRetries;
  668.   DWORD  DriverLink;
  669.     WORD    DriverSharingFlags;
  670.     WORD    DriverSlot;
  671.     WORD    DriverIOPortsAndLengths[ 4 ];
  672.   DWORD  DriverMemDecode0;
  673.     WORD    DriverLength0;
  674.   DWORD  DriverMemDecode1;
  675.     WORD    DriverLength1;
  676.     BYTE    DriverInterrupt[ 2 ];
  677.     BYTE    DriverDMAUsage[ 2 ];
  678.    DWORD Reserved2[3];
  679.     BYTE    DriverLogicalName[ 18 ];
  680.   DWORD  DriverLinearMem[ 2 ];
  681.     WORD    DriverChannelNum;
  682.     BYTE    DriverIOReserved[ 6 ];
  683. } LAN_CONFIG_INFO;
  684.  
  685. typedef struct
  686. {
  687.   SERVER_AND_VCONSOLE_INFO serverTimeAndVConsoleInfo;
  688.   WORD reserved;
  689.   LAN_CONFIG_INFO LANConfigInfo;
  690. } NWFSE_LAN_CONFIG_INFO;
  691.  
  692. /* LAN Common Counters Information --- 22 */
  693.  
  694. typedef struct
  695. {
  696.   DWORD notSupportedMask;
  697.   DWORD totalTxPAcketCount;
  698.   DWORD totalRxPacketCount;
  699.   DWORD noECBAvailableCount;
  700.   DWORD packetTxTooBigCount;
  701.   DWORD packetTxTooSmallCount;
  702.   DWORD packetRxOverflowCount;
  703.   DWORD packetRxTooBigCount;
  704.   DWORD packetRxTooSmallCount;
  705.   DWORD packetTxMiscErrorCount;
  706.   DWORD packetRxMiscErrorCount;
  707.   DWORD retryTxCount;
  708.   DWORD checksumErrorCount;
  709.   DWORD hardwareRxMismatchCount;
  710.   DWORD reserved[50];
  711. } LAN_COMMON_INFO;
  712.  
  713.  
  714. typedef struct
  715. {
  716.   SERVER_AND_VCONSOLE_INFO serverTimeAndVConsoleInfo;
  717.   BYTE statisticsMajorVersion;
  718.   BYTE statisticsMinorVersion;
  719.   DWORD numberOfGenericCounters;
  720.   DWORD numberOfCounterBlocks;
  721.   DWORD customVariableCount;
  722.   DWORD NextCounterBlock;
  723.     LAN_COMMON_INFO LANCommonInfo;
  724. } NWFSE_LAN_COMMON_COUNTERS_INFO;
  725.  
  726. /* LAN Custom Counters Information --- 23 */
  727.  
  728. typedef struct
  729. {
  730.   SERVER_AND_VCONSOLE_INFO serverTimeAndVConsoleInfo;
  731.   WORD reserved;
  732.   DWORD numCustomVar;
  733.   BYTE customInfo[ 512 ];   /* (LONG,BYTE[])[] - BYTE[] is a length preceded
  734.                               ** non-null terminated string. */
  735. } NWFSE_LAN_CUSTOM_INFO;
  736.  
  737. /* LSL Information --- 25 */
  738.  
  739. typedef struct
  740. {
  741.   DWORD rxBufs;
  742.   DWORD rxBufs75PerCent;
  743.   DWORD rxBufsCheckedOut;
  744.   DWORD rxBufMaxSize;
  745.   DWORD maxPhysicalSize;
  746.   DWORD lastTimeRxBufAllocated;
  747.   DWORD maxNumsOfProtocols;
  748.   DWORD maxNumsOfMediaTypes;
  749.   DWORD totalTXPackets;
  750.   DWORD getECBBfrs;
  751.   DWORD getECBFails;
  752.   DWORD AESEventCounts;
  753.   DWORD postponedEvents;
  754.   DWORD ECBCxlFails;
  755.   DWORD validBfrsReused;
  756.   DWORD enqueuedSendCount;
  757.   DWORD totalRXPackets;
  758.   DWORD unclaimedPackets;
  759.   BYTE StatisticsTableMajorVersion;
  760.   BYTE StatisticsTableMinorVersion;
  761. } LSL_INFO;
  762.  
  763. typedef struct
  764. {
  765.   SERVER_AND_VCONSOLE_INFO serverTimeAndVConsoleInfo;
  766.   WORD reserved;
  767.   LSL_INFO LSLInfo;
  768. } NWFSE_LSL_INFO;
  769.  
  770. /* LSL Logical Board Statistics --- 26 */
  771.  
  772. typedef struct
  773. {
  774.   SERVER_AND_VCONSOLE_INFO serverTimeAndVConsoleInfo;
  775.   WORD reserved0;
  776.   DWORD LogTtlTxPackets;
  777.   DWORD LogTtlRxPackets;
  778.   DWORD LogUnclaimedPackets;
  779.   DWORD reserved1;
  780. } NWFSE_LSL_LOGICAL_BOARD_STATS;
  781.  
  782. /* Get Media Manager Object Information --- 30 */
  783.  
  784. /* objtype */
  785.  
  786. #define FSE_ADAPTER_OBJECT            0
  787. #define FSE_CHANGER_OBJECT            1
  788. #define FSE_DEVICE_OBJECT            2
  789. #define FSE_MEDIA_OBJECT            4
  790. #define FSE_PARTITION_OBJECT        5
  791. #define FSE_SLOT_OBJECT                6
  792. #define    FSE_HOTFIX_OBJECT            7
  793. #define    FSE_MIRROR_OBJECT            8
  794. #define    FSE_PARITY_OBJECT            9
  795. #define    FSE_VOLUME_SEG_OBJECT        10
  796. #define    FSE_VOLUME_OBJECT            11
  797. #define    FSE_CLONE_OBJECT            12
  798. #define    FSE_MAGAZINE_OBJECT        14
  799. #define    FSE_VIRTUAL_DEVICE_OBJECT    15
  800.  
  801. #define FSE_UNKNOWN_OBJECT            0xFFFF
  802.  
  803. /* mediatype */
  804.  
  805. #define    FSE_HARD_DISK                  0
  806. #define FSE_CDROM_DISK                 1
  807. #define FSE_WORM_DISK                  2
  808. #define FSE_TAPE_DEVICE                 3
  809. #define FSE_MAGNETO_OPTICAL                4
  810.  
  811. /* cartridgetype */
  812.  
  813. #define    FSE_FIXED_MEDIA                        0x00000000
  814. #define    FSE_FLOPPY_5_25                        0x00000001
  815. #define    FSE_FLOPPY_3_5                        0x00000002
  816. #define    FSE_OPTICAL_5_25                        0x00000003
  817. #define    FSE_OPTICAL_3_5                        0x00000004
  818. #define    FSE_TAPE_0_5                            0x00000005
  819. #define    FSE_TAPE_0_25                            0x00000006
  820. #define    FSE_TAPE_8_MM                            0x00000007
  821. #define    FSE_TAPE_4_MM                            0x00000008
  822. #define    FSE_BERNOULLI_DISK                        0x00000009
  823.  
  824. /* type */
  825. /* same as defined below for object types */
  826.  
  827. /* status bits */
  828.  
  829. #define    FSE_OBJECT_ACTIVATED                0x00000001
  830. #define    FSE_OBJECT_CREATED                    0x00000002
  831. #define    FSE_OBJECT_SCRAMBLED                0x00000004
  832. #define    FSE_OBJECT_RESERVED                0x00000010
  833. #define    FSE_OBJECT_BEING_IDENTIFIED        0x00000020
  834. #define    FSE_OBJECT_MAGAZINE_LOADED        0x00000040
  835. #define    FSE_OBJECT_FAILURE                    0x00000080
  836. #define    FSE_OBJECT_REMOVABLE                0x00000100
  837. #define    FSE_OBJECT_READ_ONLY                0x00000200
  838. #define    FSE_OBJECT_IN_DEVICE                 0x00010000
  839. #define    FSE_OBJECT_ACCEPTS_MAGAZINES    0x00020000
  840. #define    FSE_OBJECT_IS_IN_A_CHANGER        0x00040000
  841. #define    FSE_OBJECT_LOADABLE                0x00080000
  842. #define    FSE_OBJECT_BEING_LOADED            0x00080000
  843. #define    FSE_OBJECT_DEVICE_LOCK            0x01000000
  844. #define    FSE_OBJECT_CHANGER_LOCK            0x02000000
  845. #define    FSE_OBJECT_REMIRRORING            0x04000000
  846. #define    FSE_OBJECT_SELECTED                0x08000000
  847.  
  848. /* functionmask */
  849.  
  850. #define  FSE_RANDOM_READ                         0x0001
  851. #define  FSE_RANDOM_WRITE                        0x0002
  852. #define  FSE_RANDOM_WRITE_ONCE                   0x0004
  853. #define  FSE_SEQUENTIAL_READ                     0x0008
  854. #define  FSE_SEQUENTIAL_WRITE                    0x0010
  855. #define  FSE_RESET_END_OF_TAPE                   0x0020
  856. #define  FSE_SINGLE_FILE_MARK                    0x0040
  857. #define  FSE_MULTIPLE_FILE_MARK                  0x0080
  858. #define  FSE_SINGLE_SET_MARK                     0x0100
  859. #define  FSE_MULTIPLE_SET_MARK                   0x0200
  860. #define  FSE_SPACE_DATA_BLOCKS                   0x0400
  861. #define  FSE_LOCATE_DATA_BLOCKS                  0x0800
  862. #define  FSE_POSITION_PARTITION                  0x1000
  863. #define  FSE_POSITION_MEDIA                      0x2000
  864.  
  865. /* controlmask */
  866.  
  867. #define  FSE_ACTIVATE_DEACTIVE            0x0001
  868. #define  FSE_MOUNT_DISMOUNT        0x0002
  869. #define  FSE_SELECT_UNSELECT               0x0004
  870. #define  FSE_LOCK_UNLOCK                  0x0008
  871. #define    FSE_EJECT            0x0010
  872. #define  FSE_MOVE                          0x0020
  873.  
  874. typedef struct
  875. {
  876.   BYTE label[ 64 ];
  877.   DWORD identificationtype;
  878.   DWORD identificationtimestamp;
  879. } MEDIA_INFO_DEF;
  880.  
  881. typedef struct
  882. {
  883.   MEDIA_INFO_DEF MediaInfo;
  884.   DWORD mediaType;
  885.   DWORD cartridgeType;
  886.   DWORD unitSize;
  887.   DWORD blockSize;
  888.   DWORD capacity;
  889.   DWORD preferredUnitSize;
  890.   BYTE name[ 64 ];
  891.   DWORD type;
  892.   DWORD status;
  893.   DWORD functionMask;
  894.   DWORD controlMask;
  895.   DWORD parentCount;
  896.   DWORD siblingCount;
  897.   DWORD childCount;
  898.   DWORD specificInfoSize;
  899.   DWORD objectUniqueID;
  900.   DWORD mediaSlot;
  901. } FSE_MM_OBJ_INFO;
  902.  
  903. typedef struct
  904. {
  905.   SERVER_AND_VCONSOLE_INFO serverTimeAndVConsoleInfo;
  906.   WORD reserved;
  907.   FSE_MM_OBJ_INFO fseMMObjInfo;
  908. } NWFSE_MEDIA_MGR_OBJ_INFO;
  909.  
  910. /* Get Media Manager Objects List --- 31
  911.    Get Media Manager Object Children's List --- 32 */
  912.  
  913. #define FSE_MAX_OBJECTS 128
  914.  
  915. /* object types */
  916.  
  917. #define    FSE_ADAPTER_OBJECT                0
  918. #define    FSE_CHANGER_OBJECT                1
  919. #define    FSE_DEVICE_OBJECT                2
  920. #define    FSE_MEDIA_OBJECT                4
  921. #define    FSE_PARTITION_OBJECT            5
  922. #define    FSE_SLOT_OBJECT                    6
  923. #define    FSE_HOTFIX_OBJECT                7
  924. #define    FSE_MIRROR_OBJECT                8
  925. #define    FSE_PARITY_OBJECT                9
  926. #define    FSE_VOLUME_SEG_OBJECT            10
  927. #define    FSE_VOLUME_OBJECT                11
  928. #define    FSE_CLONE_OBJECT                12
  929. #define    FSE_MAGAZINE_OBJECT            14
  930. #define    FSE_VIRTUAL_DEVICE_OBJECT    15
  931. #define    FSE_UNKNOWN_OBJECT_TYPE                0xFFFF
  932.  
  933. typedef struct
  934. {
  935.   SERVER_AND_VCONSOLE_INFO serverTimeAndVConsoleInfo;
  936.   WORD reserved;
  937.   DWORD nextStartObjNum;
  938.   DWORD objCount;
  939.   DWORD objs[ FSE_MAX_OBJECTS ];
  940. } NWFSE_MEDIA_MGR_OBJ_LIST;
  941.  
  942. /* Get Volume Segment List --- 33 */
  943.  
  944. #define FSE_MAX_NUM_SEGS_RETURNED 43
  945.  
  946. typedef struct
  947. {
  948.   DWORD volumeSegmentDeviceNum;
  949.   DWORD volumeSegmentOffset;
  950.   DWORD volumeSegmentSize;
  951. } VOLUME_SEGMENT;
  952.  
  953. typedef struct
  954. {
  955.   SERVER_AND_VCONSOLE_INFO serverTimeAndVConsoleInfo;
  956.   WORD reserved;
  957.   DWORD numOfVolumeSegments; /* segment info follows */
  958.   VOLUME_SEGMENT volumeSegment[ 42 ]; /* VOLUME_SEGMENT structures are packed */
  959. } NWFSE_VOLUME_SEGMENT_LIST;
  960.  
  961. /* Volume Information by Level --- 34 */
  962.  
  963. typedef struct {
  964.   DWORD volumeType;
  965.   DWORD statusFlagBits;
  966.   DWORD sectorSize;
  967.   DWORD sectorsPerCluster;
  968.   DWORD volumeSizeInClusters;
  969.   DWORD freedClusters;
  970.   DWORD subAllocFreeableClusters;
  971.   DWORD freeableLimboSectors;
  972.   DWORD nonFreeableLimboSectors;
  973.   DWORD nonFreeableAvailSubAllocSectors;
  974.   DWORD notUsableSubAllocSectors;
  975.   DWORD subAllocClusters;
  976.   DWORD dataStreamsCount;
  977.   DWORD limboDataStreamsCount;
  978.   DWORD oldestDeletedFileAgeInTicks;
  979.   DWORD compressedDataStreamsCount;
  980.   DWORD compressedLimboDataStreamsCount;
  981.   DWORD unCompressableDataStreamsCount;
  982.   DWORD preCompressedSectors;
  983.   DWORD compressedSectors;
  984.   DWORD migratedFiles;
  985.   DWORD migratedSectors;
  986.   DWORD clustersUsedByFAT;
  987.   DWORD clustersUsedByDirectories;
  988.   DWORD clustersUsedByExtendedDirs;
  989.   DWORD totalDirectoryEntries;
  990.   DWORD unUsedDirectoryEntries;
  991.   DWORD totalExtendedDirectoryExtants;
  992.   DWORD unUsedExtendedDirectoryExtants;
  993.   DWORD extendedAttributesDefined;
  994.   DWORD extendedAttributeExtantsUsed;
  995.   DWORD directoryServicesObjectID;
  996.   DWORD volumeLastModifiedDateAndTime;
  997. } VOLUME_INFO_BY_LEVEL_DEF;
  998.  
  999. typedef struct
  1000. {
  1001.   DWORD volumeActiveCount;
  1002.   DWORD volumeUseCount;
  1003.   DWORD mACRootIDs;
  1004.   DWORD volumeLastModifiedDateAndTime;
  1005.   DWORD volumeReferenceCount;
  1006.   DWORD compressionLowerLimit;
  1007.   DWORD outstandingIOs;
  1008.   DWORD outstandingCompressionIOs;
  1009.   DWORD compressionIOsLimit;
  1010. } VOLUME_INFO_BY_LEVEL_DEF2;
  1011.  
  1012. typedef union
  1013. {
  1014.     VOLUME_INFO_BY_LEVEL_DEF     volInfoDef;
  1015.     VOLUME_INFO_BY_LEVEL_DEF2    volInfoDef2;
  1016. } VOLUME_INFO_BY_LEVEL;
  1017.  
  1018. typedef struct
  1019. {
  1020.     SERVER_AND_VCONSOLE_INFO    serverAndVConsoleInfo;
  1021.     WORD                                reserved;
  1022.   DWORD                infoLevel;
  1023.     VOLUME_INFO_BY_LEVEL            volumeInfo;
  1024. } NWFSE_VOLUME_INFO_BY_LEVEL;
  1025.  
  1026.  
  1027. /* Active Protocol Stacks --- 40 */
  1028.  
  1029. #define FSE_MAX_NUM_OF_STACKINFO 25
  1030.  
  1031. typedef struct
  1032. {
  1033.   DWORD StackNum;
  1034.   BYTE StackShortName[ 16 ];
  1035. } STACK_INFO;
  1036.  
  1037. typedef struct
  1038. {
  1039.   SERVER_AND_VCONSOLE_INFO serverTimeAndVConsoleInfo;
  1040.   WORD reserved;
  1041.   DWORD maxNumOfStacks;
  1042.   DWORD stackCount;
  1043.   DWORD nextStartNum;
  1044.   STACK_INFO stackInfo[ FSE_MAX_NUM_OF_STACKINFO ];
  1045. } NWFSE_ACTIVE_STACKS;
  1046.  
  1047. /* Get Protocol Stack Configuration Information --- 41 */
  1048.  
  1049. #define FSE_STK_FULL_NAME_STR_LEN_MAX 256
  1050.  
  1051. typedef struct
  1052. {
  1053.   SERVER_AND_VCONSOLE_INFO serverTimeAndVConsoleInfo;
  1054.   WORD reserved;
  1055.   BYTE configMajorVersionNum;
  1056.   BYTE configMinorVersionNum;
  1057.   BYTE stackMajorVersionNum;
  1058.   BYTE stackMinorVersionNum;
  1059.   BYTE stackShortName[ 16 ];
  1060. } NWFSE_PROTOCOL_STK_CONFIG_INFO;
  1061.  
  1062. /* Get Protocol Stack Statistics Information --- 42 */
  1063.  
  1064. typedef struct
  1065. {
  1066.   SERVER_AND_VCONSOLE_INFO serverTimeAndVConsoleInfo;
  1067.   WORD reserved;
  1068.   BYTE statMajorVersionNum;
  1069.   BYTE statMinorVersionNum;
  1070.   WORD commonCounters;           /* always set to 3? */
  1071.   DWORD validCountersMask;
  1072.   DWORD totalTxPackets;
  1073.   DWORD totalRxPackets;
  1074.   DWORD ignoredRxPackets;
  1075.   WORD numCustomCounters;
  1076. } NWFSE_PROTOCOL_STK_STATS_INFO;
  1077.  
  1078. /* Get Protocol Stack Custom Information --- 43 */
  1079.  
  1080. typedef struct
  1081. {
  1082.   SERVER_AND_VCONSOLE_INFO serverTimeAndVConsoleInfo;
  1083.   WORD reserved0;
  1084.   DWORD customCount;
  1085.   BYTE customStruct[ 512 ]; /* (LONG,BYTE[])[] - BYTE[] is a length preceded
  1086.                               ** non-null terminated string. */
  1087. } NWFSE_PROTOCOL_CUSTOM_INFO;
  1088.  
  1089. /* Get Protocol Stack Numbers by Media     Number --- 44
  1090.    Get Protocol Stack Numbers by Lan Board Number --- 45 */
  1091.  
  1092. /* Currently 16 */
  1093. #define FSE_STACK_IDS_MAX 128
  1094.  
  1095. /* mediaNum */
  1096.  
  1097. #define FSE_NO_FRAME_ID_MAC                0
  1098. #define FSE_APPLE_LOCALTALK                1
  1099. #define FSE_ETHERNETII_DEC                2
  1100. #define FSE_ETHERNET_802_3_USING_802_2            3
  1101. #define FSE_TRING_802_5_USING_802_2            4
  1102. #define FSE_IPX_802_3                    5
  1103. #define FSE_TOKEN_PASSING_BUS                6
  1104. #define FSE_IBM_PC_NETWORK_II                 7
  1105. #define FSE_GATEWAY_GNET                 8
  1106. #define FSE_PROTEON_PRONET                 9
  1107. #define FSE_ENET_802_3_USING_802_2_SNAP            10
  1108. #define FSE_TRING_802_5_USE_802_2_SNAP       11
  1109. #define FSE_RACORE_FRAME                12
  1110. #define FSE_ISDN_FRAME                    13
  1111. #define FSE_NOVELL_ARCNET                14
  1112. #define FSE_IBM_PCN2_USING_802_2            15
  1113. #define FSE_IBM_PCN2_USING_802_2_SNAP            16
  1114. #define FSE_CORVUS_FRAME                17
  1115. #define FSE_HARRIS_ADACOM_FRAME                18
  1116. #define FSE_IP_TUNNEL_FRAME                19
  1117. #define FSE_FDDI_USING_802_2                20
  1118. #define FSE_COMMTEX_FRAME                21
  1119. #define FSE_DATACO_FRAME                22
  1120. #define FSE_FDDI_USING_802_2_SMAP            23
  1121. #define FSE_SDLC_TUNNEL                    24
  1122. #define FSE_PC_OFFICE_FRAME                25
  1123. #define FSE_HYPERCOMMUNICATIONS                26
  1124. #define FSE_NOVELL_FRAME                27
  1125.  
  1126. typedef struct
  1127. {
  1128.   SERVER_AND_VCONSOLE_INFO serverTimeAndVConsoleInfo;
  1129.   WORD reserved;
  1130.   DWORD stackIDCount;
  1131.   DWORD stackIDs[ FSE_STACK_IDS_MAX ];
  1132. } NWFSE_PROTOCOL_ID_NUMS;
  1133.  
  1134. /* Get Media Name by Media Number --- 46 */
  1135.  
  1136. #define FSE_MEDIA_NAME_LEN_MAX 81
  1137.  
  1138. typedef struct
  1139. {
  1140.   SERVER_AND_VCONSOLE_INFO serverTimeAndVConsoleInfo;
  1141.   WORD reserved;
  1142. } NWFSE_MEDIA_NAME_LIST;
  1143.  
  1144. /* Get Loaded Media Number List --- 47 */
  1145.  
  1146. #define FSE_MEDIA_LIST_MAX 32
  1147.  
  1148. typedef struct
  1149. {
  1150.   SERVER_AND_VCONSOLE_INFO serverTimeAndVConsoleInfo;
  1151.   WORD reserved;
  1152.   DWORD maxMediaTypes;
  1153.   DWORD mediaListCount;
  1154.   DWORD mediaList[ FSE_MEDIA_LIST_MAX ];
  1155. } NWFSE_LOADED_MEDIA_NUM_LIST;
  1156.  
  1157. /* Get General Router And SAP Information --- 50 */
  1158.  
  1159. typedef struct
  1160. {
  1161.   SERVER_AND_VCONSOLE_INFO serverTimeAndVConsoleInfo;
  1162.   WORD reserved;
  1163.   DWORD internalRIPSocket;
  1164.   DWORD internalRouterDownFlag;
  1165.   DWORD trackOnFlag;
  1166.   DWORD externalRouterActiveFlag;
  1167.   DWORD internalSAPSocketNumber;
  1168.   DWORD replyToNearestServerFlag;
  1169. } NWFSE_GENERAL_ROUTER_SAP_INFO;
  1170.  
  1171. /* Get Network Router Information --- 51 */
  1172.  
  1173. typedef struct
  1174. {
  1175.   SERVER_AND_VCONSOLE_INFO serverTimeAndVConsoleInfo;
  1176.     WORD reserved;
  1177.   DWORD NetIDNumber;
  1178.   WORD HopsToNet;
  1179.   WORD NetStatus;
  1180.   WORD TimeToNet;
  1181. } NWFSE_NETWORK_ROUTER_INFO;
  1182.  
  1183. /* Get Network Routers Information --- 52 */
  1184.  
  1185. typedef struct
  1186. {
  1187.   BYTE nodeAddress[ 6 ];
  1188.   DWORD connectedLAN;
  1189.   WORD routeHops;
  1190.   WORD routeTime;
  1191. } ROUTERS_INFO;
  1192.  
  1193. typedef struct
  1194. {
  1195.   SERVER_AND_VCONSOLE_INFO serverTimeAndVConsoleInfo;
  1196.     WORD reserved;
  1197.   DWORD NumberOfEntries;
  1198.     ROUTERS_INFO routersInfo[ 36 ]; /* 512 / sizeof( ROUTERS_INFO ) */
  1199. } NWFSE_NETWORK_ROUTERS_INFO;
  1200.  
  1201. /* Get Known Networks Information --- 53 */
  1202.  
  1203. /* netStatus */
  1204.  
  1205. #define FSE_LOCALBIT            0x01
  1206. #define FSE_NETSTARBIT        0x02
  1207. #define FSE_NETRELIABLEBIT    0x04
  1208. #define FSE_NETWANBIT            0x10
  1209.  
  1210. typedef    struct    {
  1211.   DWORD  netIDNumber;
  1212.     WORD    hopsToNet;
  1213.     WORD    netStatus;
  1214.     WORD    timeToNet;
  1215. } KNOWN_NET_INFO;
  1216.  
  1217. typedef struct
  1218. {
  1219.   SERVER_AND_VCONSOLE_INFO serverTimeAndVConsoleInfo;
  1220.     WORD reserved;
  1221.   DWORD numberOfEntries;
  1222.     KNOWN_NET_INFO knownNetInfo[ 51 ];  /* 512 / sizeof( KNOWN_NET_INFO ) */
  1223. } NWFSE_KNOWN_NETWORKS_INFO;
  1224.  
  1225. /* Get Server Information --- 54 */
  1226.  
  1227. typedef struct
  1228. {
  1229.   SERVER_AND_VCONSOLE_INFO serverTimeAndVConsoleInfo;
  1230.     WORD reserved;
  1231.     BYTE serverAddress[ 12 ];
  1232.     WORD hopsToServer;
  1233. } NWFSE_SERVER_INFO;
  1234.  
  1235. /* Get Server Sources Information --- 55 */
  1236.  
  1237. typedef struct
  1238. {
  1239.   BYTE serverNode[ 6 ];
  1240.   DWORD connectedLAN;
  1241.     WORD sourceHops;
  1242. } SERVERS_SRC_INFO;
  1243.  
  1244. typedef struct
  1245. {
  1246.   SERVER_AND_VCONSOLE_INFO serverTimeAndVConsoleInfo;
  1247.     WORD reserved;
  1248.   DWORD numberOfEntries;
  1249.   SERVERS_SRC_INFO serversSrcInfo[ 42 ]; /* 512 / sizeof( SERVERS_SRC_INFO ) */
  1250. } NWFSE_SERVER_SRC_INFO;
  1251.  
  1252. /* Get Known Servers Information --- 56 */
  1253.  
  1254. /*
  1255. ** NWFSE_KNOWN_SERVER_INFO.data is packed with as many variable length
  1256. **  structures of the following type as possible:
  1257. **
  1258. **  {
  1259. **    BYTE serverAddress[ 12 ];
  1260. **    WORD hopsToServer;
  1261. **    BYTE serverNameLen;
  1262. **    BYTE serverName[ serverNameLen ];
  1263. **  }
  1264. **
  1265. **  servername is not NULL terminated.
  1266. */
  1267.  
  1268. typedef struct
  1269. {
  1270.   SERVER_AND_VCONSOLE_INFO serverTimeAndVConsoleInfo;
  1271.     WORD reserved;
  1272.   DWORD numberOfEntries;
  1273.     BYTE data[ 512 ];
  1274. } NWFSE_KNOWN_SERVER_INFO;
  1275.  
  1276. /* Get Server Set Commands Information --- 60 */
  1277.  
  1278. /* setCmdType */
  1279.  
  1280. #define    FSE_TYPE_NUMBER            0
  1281. #define FSE_TYPE_BOOLEAN        1
  1282. #define    FSE_TYPE_TICKS            2
  1283. #define FSE_TYPE_BLOCK_SHIFT    3  /* 512 * number */
  1284. #define    FSE_TYPE_TIME_OFFSET    4    /* [+|-]hh:mm:ss converted to seconds */
  1285. #define    FSE_TYPE_STRING            5
  1286. #define    FSE_TYPE_TRIGGER        6  /* The following show the types of triggers */
  1287. #define    FSE_TYPE_TRIGGER_OFF        0x00
  1288. #define FSE_TYPE_TRIGGER_ON        0x01
  1289. #define    FSE_TYPE_TRIGGER_PENDING    0x10
  1290. #define FSE_TYPE_TRIGGER_SUCCESS    0x20
  1291. #define FSE_TYPE_TRIGGER_FAILED    0x30
  1292.  
  1293. /*    setCmdFlags    */
  1294.  
  1295. #define FSE_STARTUP_ONLY             0x01
  1296. #define FSE_HIDE                        0x02
  1297. #define FSE_ADVANCED                    0x04
  1298. #define FSE_STARTUP_OR_LATER        0x08
  1299. #define FSE_NOT_SECURED_CONSOLE    0x10    /* Can't be performed on secured console*/
  1300.  
  1301. /*    setCmdCategory        */
  1302.  
  1303. #define FSE_COMMUNICATIONS            0
  1304. #define FSE_MEMORY                        1
  1305. #define FSE_FILE_CACHE                2
  1306. #define FSE_DIR_CACHE                    3
  1307. #define FSE_FILE_SYSTEM                4
  1308. #define FSE_LOCKS                        5
  1309. #define FSE_TRANSACTION_TRACKING    6
  1310. #define FSE_DISK                        7
  1311. #define FSE_TIME                        8
  1312. #define FSE_NCP                            9
  1313. #define FSE_MISCELLANEOUS            10
  1314. #define FSE_ERRORS                        11
  1315.  
  1316. typedef struct
  1317. {
  1318.   SERVER_AND_VCONSOLE_INFO serverTimeAndVConsoleInfo;
  1319.     WORD reserved;
  1320.   DWORD numberOfSetCommands;
  1321.   DWORD nextSequenceNumber;
  1322.   DWORD setCmdType;
  1323.   DWORD setCmdCategory;
  1324.   DWORD setCmdFlags;
  1325.  
  1326.     /*
  1327.     **  The setNameAndValueInfo contains ASCIIZ strings
  1328.     **  in the following layout:
  1329.     **
  1330.     **    BYTE setCmdName[ ];
  1331.     **    BYTE setCmdValue[ ];
  1332.     **
  1333.     */
  1334.     BYTE setNameAndValueInfo[ 500 ];
  1335. } NWFSE_SERVER_SET_CMDS_INFO;
  1336.  
  1337. /* Get Server Set Categories --- 61 */
  1338.  
  1339. typedef struct
  1340. {
  1341.   SERVER_AND_VCONSOLE_INFO serverTimeAndVConsoleInfo;
  1342.     WORD reserved;
  1343.   DWORD numberOfSetCategories;
  1344.   DWORD nextSequenceNumber;
  1345.     /*
  1346.     **  CategoryName contains a LEN preceded string
  1347.     **  which is not NULL terminated.
  1348.     */
  1349.   BYTE categoryName[ 512 ];
  1350. } NWFSE_SERVER_SET_CATEGORIES;
  1351.  
  1352.  
  1353. #ifdef __cplusplus
  1354. extern "C" {
  1355. #endif
  1356.  
  1357. NWCCODE NWAPI NWGetCacheInfo(
  1358.   NWCONN_HANDLE conn,
  1359.   NWFSE_CACHE_INFO NWPTR fseCacheInfo);
  1360.  
  1361. NWCCODE NWAPI NWGetFileServerInfo(
  1362.   NWCONN_HANDLE conn,
  1363.   NWFSE_FILE_SERVER_INFO NWPTR fseFileServerInfo);
  1364.  
  1365. NWCCODE NWAPI NWGetNetWareFileSystemsInfo(
  1366.   NWCONN_HANDLE conn,
  1367.   NWFSE_FILE_SYSTEM_INFO NWPTR fseFileSystemInfo);
  1368.  
  1369. NWCCODE NWAPI NWGetUserInfo(
  1370.   NWCONN_HANDLE conn,
  1371.   DWORD connNum,
  1372.   char NWPTR userName,
  1373.   NWFSE_USER_INFO NWPTR fseUserInfo);
  1374.  
  1375. NWCCODE NWAPI NWGetPacketBurstInfo(
  1376.   NWCONN_HANDLE conn,
  1377.   NWFSE_PACKET_BURST_INFO NWPTR fsePacketBurstInfo);
  1378.  
  1379. NWCCODE NWAPI NWGetIPXSPXInfo(
  1380.   NWCONN_HANDLE conn,
  1381.   NWFSE_IPXSPX_INFO NWPTR fseIPXSPXInfo);
  1382.  
  1383. NWCCODE NWAPI NWGetGarbageCollectionInfo(
  1384.   NWCONN_HANDLE conn,
  1385.   NWFSE_GARBAGE_COLLECTION_INFO NWPTR fseGarbageCollectionInfo);
  1386.  
  1387. NWCCODE NWAPI NWGetCPUInfo(
  1388.   NWCONN_HANDLE conn,
  1389.   DWORD CPUNum,
  1390.   char NWPTR CPUString,
  1391.   char NWPTR numericCoprocessorString,
  1392.   char NWPTR busString,
  1393.   NWFSE_CPU_INFO NWPTR fseCPUInfo);
  1394.  
  1395. NWCCODE NWAPI NWGetVolumeSwitchInfo(
  1396.   NWCONN_HANDLE conn,
  1397.   DWORD startNum,
  1398.   NWFSE_VOLUME_SWITCH_INFO NWPTR fseVolumeSwitchInfo);
  1399.  
  1400. NWCCODE NWAPI NWGetNLMLoadedList(
  1401.   NWCONN_HANDLE conn,
  1402.   DWORD startNum,
  1403.   NWFSE_NLM_LOADED_LIST NWPTR fseNLMLoadedList);
  1404.  
  1405. NWCCODE NWAPI NWGetNLMInfo(
  1406.   NWCONN_HANDLE conn,
  1407.   DWORD NLMNum,
  1408.   char NWPTR fileName,
  1409.   char NWPTR name,
  1410.   char NWPTR copyright,
  1411.   NWFSE_NLM_INFO NWPTR fseNLMInfo);
  1412.  
  1413. NWCCODE NWAPI NWGetDirCacheInfo(
  1414.   NWCONN_HANDLE conn,
  1415.   NWFSE_DIR_CACHE_INFO NWPTR fseDirCacheInfo);
  1416.  
  1417. NWCCODE NWAPI NWGetOSVersionInfo(
  1418.   NWCONN_HANDLE conn,
  1419.   NWFSE_OS_VERSION_INFO NWPTR fseOSVersionInfo);
  1420.  
  1421. NWCCODE NWAPI NWGetActiveConnListByType(
  1422.   NWCONN_HANDLE conn,
  1423.   DWORD startConnNum,
  1424.   DWORD connType,
  1425.   NWFSE_ACTIVE_CONN_LIST NWPTR fseActiveConnListByType);
  1426.  
  1427. NWCCODE NWAPI NWGetNLMsResourceTagList(
  1428.   NWCONN_HANDLE conn,
  1429.   DWORD NLMNum,
  1430.   DWORD startNum,
  1431.   NWFSE_NLMS_RESOURCE_TAG_LIST NWPTR fseNLMsResourceTagList);
  1432.  
  1433. NWCCODE NWAPI NWGetActiveLANBoardList(
  1434.   NWCONN_HANDLE conn,
  1435.   DWORD startNum,
  1436.   NWFSE_ACTIVE_LAN_BOARD_LIST NWPTR fseActiveLANBoardList);
  1437.  
  1438. NWCCODE NWAPI NWGetLANConfigInfo(
  1439.   NWCONN_HANDLE conn,
  1440.   DWORD boardNum,
  1441.   NWFSE_LAN_CONFIG_INFO NWPTR fseLANConfigInfo);
  1442.  
  1443. NWCCODE NWAPI NWGetLANCommonCountersInfo(
  1444.   NWCONN_HANDLE conn,
  1445.   DWORD boardNum,
  1446.   DWORD blockNum,
  1447.   NWFSE_LAN_COMMON_COUNTERS_INFO NWPTR fseLANCommonCountersInfo);
  1448.  
  1449. NWCCODE NWAPI NWGetLANCustomCountersInfo(
  1450.   NWCONN_HANDLE conn,
  1451.   DWORD boardNum,
  1452.   DWORD startingNum,
  1453.   NWFSE_LAN_CUSTOM_INFO NWPTR fseLANCustomInfo);
  1454.  
  1455. NWCCODE NWAPI NWGetLSLInfo(
  1456.   NWCONN_HANDLE conn,
  1457.   NWFSE_LSL_INFO NWPTR fseLSLInfo);
  1458.  
  1459. NWCCODE NWAPI NWGetLSLLogicalBoardStats(
  1460.   NWCONN_HANDLE conn,
  1461.   DWORD LANBoardNum,
  1462.   NWFSE_LSL_LOGICAL_BOARD_STATS NWPTR fseLSLLogicalBoardStats);
  1463.  
  1464. NWCCODE NWAPI NWGetMediaMgrObjInfo(
  1465.   NWCONN_HANDLE conn,
  1466.   DWORD objNum,
  1467.   NWFSE_MEDIA_MGR_OBJ_INFO NWPTR fseMediaMgrObjInfo);
  1468.  
  1469. NWCCODE NWAPI NWGetMediaMgrObjList(
  1470.   NWCONN_HANDLE conn,
  1471.   DWORD startNum,
  1472.   DWORD objType,
  1473.   NWFSE_MEDIA_MGR_OBJ_LIST NWPTR fseMediaMgrObjList);
  1474.  
  1475. NWCCODE NWAPI NWGetMediaMgrObjChildrenList(
  1476.   NWCONN_HANDLE conn,
  1477.   DWORD startNum,
  1478.   DWORD objType,
  1479.   DWORD parentObjNum,
  1480.   NWFSE_MEDIA_MGR_OBJ_LIST NWPTR fseMediaMgrObjList);
  1481.  
  1482. NWCCODE NWAPI NWGetVolumeSegmentList(
  1483.   NWCONN_HANDLE conn,
  1484.   DWORD volumeNum,
  1485.   NWFSE_VOLUME_SEGMENT_LIST NWPTR fseVolumeSegmentList);
  1486.  
  1487. NWCCODE NWAPI NWGetVolumeInfoByLevel(
  1488.   NWCONN_HANDLE conn,
  1489.   DWORD volumeNum,
  1490.   DWORD infoLevel,
  1491.   NWFSE_VOLUME_INFO_BY_LEVEL NWPTR fseVolumeInfo);
  1492.  
  1493.  
  1494. NWCCODE NWAPI NWGetActiveProtocolStacks(
  1495.   NWCONN_HANDLE conn,
  1496.   DWORD startNum,
  1497.   NWFSE_ACTIVE_STACKS NWPTR fseActiveStacks);
  1498.  
  1499. NWCCODE NWAPI NWGetProtocolStackConfigInfo(
  1500.   NWCONN_HANDLE conn,
  1501.   DWORD stackNum,
  1502.   char NWPTR stackFullNameString,
  1503.   NWFSE_PROTOCOL_STK_CONFIG_INFO NWPTR fseProtocolStkConfigInfo);
  1504.  
  1505. NWCCODE NWAPI NWGetProtocolStackStatsInfo(
  1506.   NWCONN_HANDLE conn,
  1507.   DWORD stackNum,
  1508.   NWFSE_PROTOCOL_STK_STATS_INFO NWPTR fseProtocolStkStatsInfo);
  1509.  
  1510. NWCCODE NWAPI NWGetProtocolStackCustomInfo(
  1511.   NWCONN_HANDLE conn,
  1512.   DWORD stackNum,
  1513.   DWORD customStartNum,
  1514.   NWFSE_PROTOCOL_CUSTOM_INFO NWPTR fseProtocolStackCustomInfo);
  1515.  
  1516. NWCCODE NWAPI NWGetProtocolStkNumsByMediaNum(
  1517.   NWCONN_HANDLE conn,
  1518.   DWORD mediaNum,
  1519.   NWFSE_PROTOCOL_ID_NUMS NWPTR fseProtocolStkIDNums);
  1520.  
  1521. NWCCODE NWAPI NWGetProtocolStkNumsByLANBrdNum(
  1522.   NWCONN_HANDLE conn,
  1523.   DWORD LANBoardNum,
  1524.   NWFSE_PROTOCOL_ID_NUMS NWPTR fseProtocolStkIDNums);
  1525.  
  1526. NWCCODE NWAPI NWGetMediaNamebyMediaNum(
  1527.   NWCONN_HANDLE conn,
  1528.   DWORD mediaNum,
  1529.   char NWPTR mediaName,
  1530.   NWFSE_MEDIA_NAME_LIST NWPTR fseMediaNameList);
  1531.  
  1532. NWCCODE NWAPI NWGetLoadedMediaNumList(
  1533.   NWCONN_HANDLE conn,
  1534.   NWFSE_LOADED_MEDIA_NUM_LIST NWPTR fseLoadedMediaNumList);
  1535.  
  1536. /* 50 */
  1537. NWCCODE NWAPI NWGetGeneralRouterAndSAPInfo(
  1538.   NWCONN_HANDLE conn,
  1539.   NWFSE_GENERAL_ROUTER_SAP_INFO NWPTR  fseGeneralRouterSAPInfo );
  1540.  
  1541. /* 51 */
  1542. NWCCODE NWAPI NWGetNetworkRouterInfo(
  1543.   NWCONN_HANDLE conn,
  1544.   DWORD networkNum,
  1545.   NWFSE_NETWORK_ROUTER_INFO NWPTR  fseNetworkRouterInfo );
  1546.  
  1547. /* 52 */
  1548. NWCCODE NWAPI NWGetNetworkRoutersInfo(
  1549.   NWCONN_HANDLE conn,
  1550.   DWORD networkNum,
  1551.   DWORD startNum,
  1552.   NWFSE_NETWORK_ROUTERS_INFO NWPTR  fseNetworkRoutersInfo );
  1553.  
  1554. /* 53 */
  1555. NWCCODE NWAPI NWGetKnownNetworksInfo(
  1556.   NWCONN_HANDLE conn,
  1557.   DWORD numberOfEntries,
  1558.   NWFSE_KNOWN_NETWORKS_INFO NWPTR  fseKnownNetworksInfo );
  1559.  
  1560. /* 54 */
  1561. NWCCODE NWAPI NWGetServerInfo(
  1562.   NWCONN_HANDLE conn,
  1563.   DWORD serverType,
  1564.   char NWPTR serverName,
  1565.   NWFSE_SERVER_INFO NWPTR  fseServerInfo );
  1566.  
  1567. /* 55 */
  1568. NWCCODE NWAPI NWGetServerSourcesInfo(
  1569.   NWCONN_HANDLE conn,
  1570.   DWORD startNum,
  1571.   DWORD serverType,
  1572.   char NWPTR serverName,
  1573.   NWFSE_SERVER_SRC_INFO NWPTR  fseServerSrcInfo );
  1574.  
  1575. /* 56 */
  1576. NWCCODE NWAPI NWGetKnownServersInfo(
  1577.   NWCONN_HANDLE conn,
  1578.   DWORD startNum,
  1579.   DWORD serverType,
  1580.   NWFSE_KNOWN_SERVER_INFO NWPTR  fseKnownServerInfo );
  1581.  
  1582. /* 60 */
  1583. NWCCODE NWAPI NWGetServerSetCommandsInfo(
  1584.   NWCONN_HANDLE conn,
  1585.   DWORD startNum,
  1586.   NWFSE_SERVER_SET_CMDS_INFO NWPTR  fseServerSetCmdsInfo );
  1587.  
  1588. /* 61 */
  1589. NWCCODE NWAPI NWGetServerSetCategories(
  1590.   NWCONN_HANDLE conn,
  1591.   DWORD startNum,
  1592.   NWFSE_SERVER_SET_CATEGORIES NWPTR  fseServerSetCategories );
  1593.  
  1594. #ifdef __cplusplus
  1595. }
  1596. #endif
  1597.  
  1598.  
  1599. #endif
  1600. 
  1601.