| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157 | {  Netware Server Imports for FreePascal, contains definition from the  following ndk header files:  nit/nwaccntg.h nit/nwafp.h nit/nwbindry.h nit/nwdatamg.h nit/nwdir.h  nit/nwenvrn.h nit/nwenvrn1.h nit/nwextatt.h nit/nwmsg.h nit/nwnit.h  nit/nwqueue.h nit/nwserial.h nit/nwservst.h nit/nwsync.h nit/nwtts.h  Initial Version 2002/02/22 Armin ([email protected] or [email protected])  The C-NDK and Documentation can be found here:    http://developer.novell.com  This program is distributed in the hope that it will be useful,but WITHOUT  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or  FITNESS FOR A PARTICULAR PURPOSE.  Do not blame Novell if there are errors in this file, instead  contact me and i will se what i can do.}unit nwnit;interface{$mode objfpc}{$packrecords C}const  Clib='clib';function AccountingInstalled (fileServerID:word):longint;cdecl;external Clib name 'AccountingInstalled';function GetAccountStatus    (binderyObjectType:word;                              binderyObjectName:Pchar;                              balance,limits,holds:Plongint):longint;cdecl;external Clib name 'GetAccountStatus';function GetAccountStatus    (binderyObjectType:word;                              binderyObjectName:Pchar;                          var balance,limits,holds:longint):longint;cdecl;external Clib name 'GetAccountStatus';function SubmitAccountCharge(binderyObjectType:word;                             binderyObjectName:Pchar;                             serviceType:word;                             chargeAmount:longint;                             cancelHoldAmount:longint;                             commentType:word;                             comment:Pchar):longint;cdecl;external Clib name 'SubmitAccountCharge';function SubmitAccountChargeWithLength(                             binderyObjectType:word;                             binderyObjectName:Pchar;                             serviceType:word;                             chargeAmount:longint;                             cancelHoldAmount:longint;                             commentType:word;                             commentData:pointer;                             commentLength:word):longint;cdecl;external Clib name 'SubmitAccountChargeWithLength';function SubmitAccountHold  (binderyObjectType:word;                             binderyObjectName:Pchar;                             reserveAmount:longint):longint;cdecl;external Clib name 'SubmitAccountHold';function SubmitAccountNote  (binderyObjectType:word;                             binderyObjectName:Pchar;                             serviceType:word;                             commentType:word;                             comment:Pchar):longint;cdecl;external Clib name 'SubmitAccountNote';{------------------------------------------------------------------------------}{$include npackon.inc}type   PAFPFILEINFO = ^TAFPFILEINFO;   TAFPFILEINFO = record        entryID            : longint;        parentID           : longint;        attributes         : word;        dataForkLength     : longint;        resourceForkLength : longint;        numOffspring       : word;        creationDate       : word;        accessDate         : word;        modifyDate         : word;        modifyTime         : word;        backupDate         : word;        backupTime         : word;        finderInfo         : array[0..31] of byte;        longName           : array[0..32] of char;        pad1               : char;        ownerID            : longint;        shortName          : array[0..12] of char;        pad2               : char;        accessPrivileges   : word;        proDosInfo         : array[0..5] of byte;     end;   PAFPSETINFO = ^TAFPSETINFO;   TAFPSETINFO = record        attributes   : word;        creationDate : word;        accessDate   : word;        modifyDate   : word;        modifyTime   : word;        backupDate   : word;        backupTime   : word;        finderInfo   : array[0..31] of byte;        proDosInfo   : array[0..5] of byte;     end;{$include npackoff.inc}function AFPAllocTemporaryDirHandle (connectionID:word;                                     volumeNum:byte;                                     AFPEntryID:longint;                                     AFPPathString:Pchar;                                     NetWareDirectoryHandle:PBYTE;                                     AccessRights:PBYTE):longint;  cdecl;external Clib name 'AFPAllocTemporaryDirHandle';function AFPCreateDirectory (connectionID:word;                             volumeNum:byte;                             AFPEntryID:longint;                             finderInfo:PBYTE;                             AFPPathString:Pchar;                             newAFPEntryID:Plongint):longint;cdecl;external Clib name 'AFPCreateDirectory';function AFPCreateFile (connectionID:word;                        volumeNum:byte;                        AFPEntryID:longint;                        deleteExistingFile:byte;                        finderInfo:PBYTE;                        AFPPathString:Pchar;                        newAFPEntryID:Plongint):longint;  cdecl;external Clib name 'AFPCreateFile';function AFPDelete (connectionID:word;                    volumeNum:byte;                    AFPEntryID:longint;                    AFPPathString:Pchar):longint;  cdecl;external Clib name 'AFPDelete';function AFPDirectoryEntry (connectionID:word;                            directoryHandle:byte;                            pathName:Pchar):longint;  cdecl;external Clib name 'AFPDirectoryEntry';function AFPGetEntryIDFromName (connectionID:word;                                volumeNum:byte;                                AFPEntryID:longint;                                AFPPathString:Pchar;                                newAFPEntryID:Plongint):longint;          cdecl;external Clib name 'AFPGetEntryIDFromName';function AFPGetEntryIDFromNetWareHandle (connectionID:word;                                         NetWareHandle:PBYTE;                                         volumeID:PBYTE;                                         AFPEntryID:Plongint;                                         forkIndicator:PBYTE):longint;    cdecl;external Clib name 'AFPGetEntryIDFromNetWareHandle';function AFPGetEntryIDFromNetWareHandle (connectionID:word;                                         var NetWareHandle:byte;                                         var volumeID:byte;                                         var AFPEntryID:longint;                                         var forkIndicator:byte):longint; cdecl;external Clib name 'AFPGetEntryIDFromNetWareHandle';function AFPGetEntryIDFromPathName (connectionID:word;                                    directoryHandle:byte;                                    pathName:Pchar;                                    AFPEntryID:Plongint):longint;         cdecl;external Clib name 'AFPGetEntryIDFromPathName';function AFPGetFileInformation     (connectionID:word;                                    volumeNum:byte;                                    AFPEntryID:longint;                                    requestBitMap:word;                                    AFPPathString:Pchar;                                    strucSize:word;                                    AFPFileInfo:PAFPFILEINFO):longint;    cdecl;external Clib name 'AFPGetFileInformation';function AFPGetFileInformation     (connectionID:word;                                    volumeNum:byte;                                    AFPEntryID:longint;                                    requestBitMap:word;                                    AFPPathString:Pchar;                                    strucSize:word;                                var AFPFileInfo:TAFPFILEINFO):longint;    cdecl;external Clib name 'AFPGetFileInformation';function AFPOpenFileFork           (connectionID:word;                                    volumeNum:byte;                                    AFPEntryID:longint;                                    forkIndicator:byte;                                    accessMode:byte;                                    AFPPathString:Pchar;                                    fileID:Plongint;                                    forkLength:Plongint;                                    NetWareHandle:PBYTE;                                    fileHandle:Plongint):longint;         cdecl;external Clib name 'AFPOpenFileFork';function AFPOpenFileFork           (connectionID:word;                                    volumeNum:byte;                                    AFPEntryID:longint;                                    forkIndicator:byte;                                    accessMode:byte;                                    AFPPathString:Pchar;                                    var fileID:longint;                                    var forkLength:longint;                                    var NetWareHandle:byte;                                    var fileHandle:longint):longint;         cdecl;external Clib name 'AFPOpenFileFork';function AFPRename                 (connectionID:word;                                    volumeNum:byte;                                    AFPSourceEntryID:longint;                                    AFPDestEntryID:longint;                                    AFPSourcePath:Pchar;                                    AFPDestPath:Pchar):longint;              cdecl;external Clib name 'AFPRename';function AFPScanFileInformation    (connectionID:word;                                    volumeNum:byte;                                    AFPEntryID:longint;                                    AFPLastSeenID:Plongint;                                    searchBitMap:word;                                    requestBitMap:word;                                    AFPPathString:Pchar;                                    strucSize:word;                                    AFPScanFileInfo:PAFPFILEINFO):longint;    cdecl;external Clib name 'AFPScanFileInformation';function AFPScanFileInformation    (connectionID:word;                                    volumeNum:byte;                                    AFPEntryID:longint;                                    AFPLastSeenID:Plongint;                                    searchBitMap:word;                                    requestBitMap:word;                                    AFPPathString:Pchar;                                    strucSize:word;                                var AFPScanFileInfo:TAFPFILEINFO):longint;    cdecl;external Clib name 'AFPScanFileInformation';function AFPSetFileInformation     (connectionID:word;                                    volumeNum:byte;                                    AFPEntryID:longint;                                    requestBitMap:word;                                    AFPPathString:Pchar;                                    strucSize:word;                                    AFPSetInfo:PAFPSETINFO):longint;          cdecl;external Clib name 'AFPSetFileInformation';function AFPSetFileInformation     (connectionID:word;                                    volumeNum:byte;                                    AFPEntryID:longint;                                    requestBitMap:word;                                    AFPPathString:Pchar;                                    strucSize:word;                                var AFPSetInfo:TAFPSETINFO):longint;          cdecl;external Clib name 'AFPSetFileInformation';function AFPSupported              (connectionID:word):longint;               cdecl;external Clib name 'AFPSupported';{------------------------------------------------------------------------------}const   BS_ANY_READ        = $0000;   BS_ANY_WRITE       = $0000;    // Writeable by anyone   BS_LOGGED_READ     = $0001;    // Must be logged in to read   BS_OBJECT_READ     = $0002;    // Readable by same object or super   BS_SUPER_READ      = $0003;    // Readable by supervisor only   BS_BINDERY_READ    = $0004;    // Readable only by the bindery   BS_LOGGED_WRITE    = $0010;    // Must be logged in to write   BS_OBJECT_WRITE    = $0020;    // Writeable by same object or super   BS_SUPER_WRITE     = $0030;    // Writeable only by the supervisor   BS_BINDERY_WRITE   = $0040;    // Writeable by the bindery only   // Bindery object type definitions   OT_WILD = -(1);   OT_UNKNOWN                     = $0000;   OT_USER                        = $0001;   OT_USER_GROUP                  = $0002;   OT_GROUP                       = $0002;   OT_PRINT_QUEUE                 = $0003;   OT_FILE_SERVER                 = $0004;   OT_JOB_SERVER                  = $0005;   OT_GATEWAY                     = $0006;   OT_PRINT_SERVER                = $0007;   OT_ARCHIVE_QUEUE               = $0008;   OT_ARCHIVE_SERVER              = $0009;   OT_JOB_QUEUE                   = $000A;   OT_ADMINISTRATION              = $000B;   OT_NAS_SNA_GATEWAY             = $0021;   OT_REMOTE_BRIDGE_SERVER        = $0024;   OT_TCPIP_GATEWAY               = $0027;   OT_TIME_SYNCHRONIZATION_SERVER = $002D;   OT_ARCHIVE_SERVER_DYNAMIC_SAP  = $002E;   OT_ADVERTISING_PRINT_SERVER    = $0047;   OT_BTRIEVE_VAP                 = $004B;   OT_NWSQL_VAP                   = $004C;   OT_PRINT_QUEUE_USER            = $0053;   // Attributes of objects and properties in the bindery   BF_STATIC                      = $0000;   BF_DYNAMIC                     = $0001;   BF_ITEM                        = $0000;   BF_SET                         = $0002;   BL_OBJECT                      = 48;     // Maximum lengths of object, properties, (includes terminating null)   BL_PROPERTY                    = 16;   BL_PASSWORD                    = 128;function AddBinderyObjectToSet (objectName   : Pchar;                                objectType   : word;                                propertyName : Pchar;                                memberName   : Pchar;                                memberType   : word):longint;  cdecl;external Clib name 'AddBinderyObjectToSet';function ChangeBinderyObjectPassword (objectName  : Pchar;                                      objectType  : word;                                      oldPassword : Pchar;                                      newPassword : Pchar):longint;  cdecl;external Clib name 'ChangeBinderyObjectPassword';function ChangeBinderyObjectSecurity (objectName  : Pchar;                                      objectType  : word;                                      newObjectSecurity : byte):longint;  cdecl;external Clib name 'ChangeBinderyObjectSecurity';function ChangePropertySecurity (objectName         : Pchar;                                 objectType         : word;                                 propertyName       : Pchar;                                 newPropertySecurity: byte):longint;  cdecl;external Clib name 'ChangePropertySecurity';function CloseBindery:longint;  cdecl;external Clib name 'CloseBindery';function CreateBinderyObject    (objectName         : Pchar;                                 objectType         : word;                                 objectFlag         : byte;                                 objectSecurity     : byte):longint;       cdecl;external Clib name 'CreateBinderyObject';function CreateProperty         (objectName         : Pchar;                                 objectType         : word;                                 propertyName       : Pchar;                                 propertyFlags      : byte;                                 propertySecurity   : byte):longint;     cdecl;external Clib name 'CreateProperty';function DeleteBinderyObject    (objectName         : Pchar;                                 objectType         : word):longint;           cdecl;external Clib name 'DeleteBinderyObject';function DeleteBinderyObjectFromSet (objectName:Pchar;                                     objectType:word;                                     propertyName:Pchar;                                     memberName:Pchar;                                     memberType:word):longint;       cdecl;external Clib name 'DeleteBinderyObjectFromSet';function DeleteProperty             (objectName:Pchar;                                     objectType:word;                                     propertyName:Pchar):longint;    cdecl;external Clib name 'DeleteProperty';function GetBinderyAccessLevel      (accessLevel:PBYTE;                                     objectID:Plongint):longint;     cdecl;external Clib name 'GetBinderyAccessLevel';function GetBinderyAccessLevel      (var accessLevel:byte;                                     var objectID:longint):longint;  cdecl;external Clib name 'GetBinderyAccessLevel';function GetBinderyObjectID         (objectName:Pchar;                                     objectType:word;                                     objectID:Plongint):longint;     cdecl;external Clib name 'GetBinderyObjectID';function GetBinderyObjectID         (objectName:Pchar;                                     objectType:word;                                 var objectID:longint):longint;      cdecl;external Clib name 'GetBinderyObjectID';function GetBinderyObjectName       (objectID:longint;                                     objectName:Pchar;                                     objectType:PWORD):longint;      cdecl;external Clib name 'GetBinderyObjectName';function GetBinderyObjectName       (objectID:longint;                                     objectName:Pchar;                                 var objectType:word):longint;       cdecl;external Clib name 'GetBinderyObjectName';function IsBinderyObjectInSet       (objectName:Pchar;                                     objectType:word;                                     propertyName:Pchar;                                     memberName:Pchar;                                     memberType:word):longint;       cdecl;external Clib name 'IsBinderyObjectInSet';function OpenBindery:longint;                                        cdecl;external Clib name 'OpenBindery';function ReadPropertyValue          (objectName   : Pchar;                                     objectType   : word;                                     propertyName : Pchar;                                     segmentNumber: longint;                                     propertyValue: PBYTE;                                     moreSegments : PBYTE;                                     propertyFlags: PBYTE):longint;   cdecl;external Clib name 'ReadPropertyValue';function ReadPropertyValue          (objectName   : Pchar;                                     objectType   : word;                                     propertyName : Pchar;                                     segmentNumber: longint;                                 var propertyValue: byte;                                 var moreSegments : byte;                                 var propertyFlags: byte):longint;   cdecl;external Clib name 'ReadPropertyValue';function RenameBinderyObject        (objectName   : Pchar;                                     newObjectName: Pchar;                                     objectType   : word):longint;   cdecl;external Clib name 'RenameBinderyObject';function ScanBinderyObject          (searchObjectName:Pchar;                                     searchObjectType:word;                                     objectID:Plongint;                                     objectName:Pchar;                                     objectType:PWORD;                                     objectHasProperties:Pchar;                                     objectFlag:Pchar;                                     objectSecurity:Pchar):longint;   cdecl;external Clib name 'ScanBinderyObject';function ScanBinderyObject          (searchObjectName:Pchar;                                     searchObjectType:word;                                 var objectID:longint;                                     objectName:Pchar;                                 var objectType:word;                                     objectHasProperties:Pchar;                                     objectFlag:Pchar;                                     objectSecurity:Pchar):longint;   cdecl;external Clib name 'ScanBinderyObject';function ScanProperty               (objectName:Pchar;                                     objectType:word;                                     searchPropertyName:Pchar;                                     sequenceNumber:Plongint;                                     propertyName:Pchar;                                     propertyFlags:Pchar;                                     propertySecurity:Pchar;                                     propertyHasValue:Pchar;                                     moreProperties:Pbyte):longint;   cdecl;external Clib name 'ScanProperty';function ScanProperty               (objectName:Pchar;                                     objectType:word;                                     searchPropertyName:Pchar;                                 var sequenceNumber:longint;                                     propertyName:Pchar;                                     propertyFlags:Pchar;                                     propertySecurity:Pchar;                                     propertyHasValue:Pchar;                                 var moreProperties:byte):longint;   cdecl;external Clib name 'ScanProperty';function VerifyBinderyObjectPassword (objectName : Pchar;                                      objectType : word;                                      password   : Pchar):longint;       cdecl;external Clib name 'VerifyBinderyObjectPassword';function WritePropertyValue          (objectName    : Pchar;                                      objectType    : word;                                      propertyName  : Pchar;                                      segmentNumber : longint;                                      propertyValue : PBYTE;                                      moreSegments  : byte):longint;        cdecl;external Clib name 'WritePropertyValue';function WritePropertyValue          (objectName    : Pchar;                                      objectType    : word;                                      propertyName  : Pchar;                                      segmentNumber : longint;                                  var propertyValue : byte;                                      moreSegments  : byte):longint;        cdecl;external Clib name 'WritePropertyValue';{------------------------------------------------------------------------------}const   ERR_INVALID_SUPPORT_MODULE_ID         = 240;   ERR_SUPPORT_MODULE_ALREADY_REGISTERED = 241;   ERR_SUPPORT_MODULE_CREATE_FAILED      = 242;   ERR_SUPPORT_MODULE_CLOSE_FAILED       = 243;   ERR_SM_WRITE_NO_SPACE                 = 244;   ERR_SM_WRITE_IO_ERROR                 = 245;   ERR_SM_READ_IO_ERROR                  = 246;   ERR_SUPPORT_MODULE_OPEN_FAILED        = 247;   ERR_SUPPORT_MODULE_DELETE_FAILED      = 248;   MaximumNumberOfDataStreams            = 3;{$include npackon.inc}(*TInfo0Rep = record   rIOStatus : longint;   rInfoBlockSize: longint;   rAvailSpace: longint;   rUsedSpace: longint;   rSMString: byte;end;TInfo1Rep = record   rSMRegs : longint;end;TInfo2Rep = record   NameLength : byte;end;*)type   PSUPPORT_MODULE_INFO = ^TSUPPORT_MODULE_INFO;   TSUPPORT_MODULE_INFO = record        IOStatus      : longint;        InfoBlockSize : longint;        AvailSpace    : longint;        UsedSpace     : longint;        SMString      : char; // 128 length limit, Info block follows string     end;{$include npackoff.inc}function NWDeRegisterDMSupportModule    (SupportModuleID:longint;                                         SupportModuleName:PChar;                                         SlotNumber:longint):longint;  cdecl;external Clib name 'NWDeRegisterDMSupportModule';function NWDeRegisterRTDataMigrationNLM (Station:longint;                                         DMTAG:PBYTE;                                         ForceFlag:longint):longint;   cdecl;external Clib name 'NWDeRegisterRTDataMigrationNLM';function NWDeRegisterRTDataMigrationNLM (Station:longint;                                     var DMTAG:byte;                                         ForceFlag:longint):longint;   cdecl;external Clib name 'NWDeRegisterRTDataMigrationNLM';{ Local and Remote Call  }procedure NWGetDataMigratorInfo         (DMPresentFlag:PLongint;                                         majorVersion:PLongint;                                         minorVersion:PLongint;                                         numberOfSupportModules:PLongint); cdecl;external Clib name 'NWGetDataMigratorInfo';procedure NWGetDataMigratorInfo         (var DMPresentFlag:longint;                                         var majorVersion:longint;                                         var minorVersion:longint;                                         var numberOfSupportModules:longint); cdecl;external Clib name 'NWGetDataMigratorInfo';{ Local and Remote call  }function NWGetDefaultSupportModule      (defaultSupportModuleID:PLongint):longint; cdecl;external Clib name 'NWGetDefaultSupportModule';function NWGetDefaultSupportModule      (var defaultSupportModuleID:longint):longint; cdecl;external Clib name 'NWGetDefaultSupportModule';{ Local and Remote call  }function NWGetDMFileInfo (path:Pchar;                          nameSpace:longint;                          supportModuleID:PLongint;                          validDataStreams:PLongint;                          estRetrievalTime:PLongint;                          info:PLongint):longint;cdecl;external Clib name 'NWGetDMFileInfo';function NWGetDMFileInfo (path:Pchar;                          nameSpace:longint;                          var supportModuleID:longint;                          var validDataStreams:longint;                          var estRetrievalTime:longint;                          var info:longint):longint;cdecl;external Clib name 'NWGetDMFileInfo';{ Local and Remote call  }function NWGetDMVolumeInfo (volume:longint;                            supportModuleID:longint;                            numberOfFilesMigrated:PLongint;                            totalMigratedSize:PLongint;                            spaceUsed:PLongint;                            limboUsed:PLongint;                            spaceMigrated:PLongint;                            filesLimbo:PLongint):longint; cdecl;external Clib name 'NWGetDMVolumeInfo';function NWGetDMVolumeInfo (volume:longint;                            supportModuleID:longint;                            var numberOfFilesMigrated:longint;                            var totalMigratedSize:longint;                            var spaceUsed:longint;                            var limboUsed:longint;                            var spaceMigrated:longint;                            var filesLimbo:longint):longint; cdecl;external Clib name 'NWGetDMVolumeInfo';{ Local and Remote call  }function NWGetSupportModuleInfo (informationLevel:longint;                                 supportModuleID:longint;                                 returnInfo:pointer;                                 returnInfoLen:PLongint):longint;cdecl;external Clib name 'NWGetSupportModuleInfo';function NWGetSupportModuleInfo (informationLevel:longint;                                 supportModuleID:longint;                                 returnInfo:pointer;                                 var returnInfoLen:longint):longint;cdecl;external Clib name 'NWGetSupportModuleInfo';function NWIsDataMigrationAllowed (Volume:longint):longint; cdecl;external Clib name 'NWIsDataMigrationAllowed';{ Local and Remote call  }function NWMoveFileFromDM         (path:Pchar;                                   nameSpace:longint):longint; cdecl;external Clib name 'NWMoveFileFromDM';{ Local and Remote call  }function NWMoveFileToDM           (path:Pchar;                                   nameSpace:longint;                                   SupportModuleID:longint;                                   flags:longint):longint; cdecl;external Clib name 'NWMoveFileToDM';function NWPeekFileData           (path:Pchar;                                   nameSpace:longint;                                   noWaitFlag:longint;                                   startingSector:longint;                                   sectorsToRead:longint;                                   buffer:PBYTE;                                   sectorsRead:PLongint;                                   bytesRead:PLongint;                                   NoWaitReason:PLongint):longint; cdecl;external Clib name 'NWPeekFileData';function NWPeekFileData           (path:Pchar;                                   nameSpace:longint;                                   noWaitFlag:longint;                                   startingSector:longint;                                   sectorsToRead:longint;                                   var buffer;                                   var sectorsRead:longint;                                   var bytesRead:longint;                                   var NoWaitReason:longint):longint; cdecl;external Clib name 'NWPeekFileData';type TFunction = function : longint; cdecl;function NWRegisterDMSupportModule (ioFlag:longint;                                    addr:array of TFunction;                                    SupportModuleName:PBYTE;                                    SupportModuleID:longint;                                    MaxSectorsXF:longint;                                    SlotNumber:PLongint):longint; cdecl;external Clib name 'NWRegisterDMSupportModule';function NWRegisterRTDataMigrationNLM (Station:longint;                                       addr:array of TFunction;                                       DMTAG:PBYTE; majorVersion:longint;                                       minorVersion:longint):longint; cdecl;external Clib name 'NWRegisterRTDataMigrationNLM';{ Local and Remote call  }function NWSetDefaultSupportModule    (newSupportModuleID:longint;                                       currentSupportModuleID:PLongint):longint; cdecl;external Clib name 'NWSetDefaultSupportModule';function NWSetDefaultSupportModule    (newSupportModuleID:longint;                                   var currentSupportModuleID:longint):longint; cdecl;external Clib name 'NWSetDefaultSupportModule';{------------------------------------------------------------------------------}{ Trustee Access Rights in a network directory  }const   TA_NONE          = $0000;   TA_READ          = $0001;   TA_WRITE         = $0002;   TA_CREATE        = $0008;   TA_DELETE        = $0010;   TA_ACCESSCONTROL = $0020;   TA_SEEFILES      = $0040;   TA_MODIFY        = $0080;   TA_SUPERVISOR    = $0100;   TA_ALL           = $01FB;{ Old names for rights  }   TA_OPEN          = $0004;   TA_OWNERSHIP     = $0020;   TA_SEARCH        = $0040;   BYTES_PER_SECTOR = 512;{ define volume types  }   VINetWare386     = 0;   VINetWare286     = 1;   VINetWare386v30  = 2;   VINetWare386v31  = 3;{ define the extended volume information status flag bits  }   NWSubAllocEnabledBit    = $01;   NWCompressionEnabledBit = $02;   NWMigrationEnabledBit   = $04;   NWAuditingEnabledBit    = $08;   NWReadOnlyEnabledBit    = $10;{$include npackon.inc}type   PAnswerStructure = ^TAnswerStructure;   TAnswerStructure = record     ALevelNumber   : byte;     AMaximumAmount : longint;  // ?? TMisalignedLONG;     ACurrentAmount : longint;  // ?? TMisalignedLONG;   end;   PVOLUME_STATS = ^TVOLUME_STATS;   TVOLUME_STATS = record        systemElapsedTime : longint;        volumeNumber : byte;        logicalDriveNumber : byte;        sectorsPerBlock : word;        startingBlock : longint;        totalBlocks : word;        availableBlocks : word;        totalDirectorySlots : word;        availableDirectorySlots : word;        maxDirectorySlotsUsed : word;        isHashing : byte;        isRemovable : byte;        isMounted : byte;        volumeName : array[0..16] of char;        purgableBlocks : longint;        notYetPurgableBlocks : longint;     end;   PVOLUME_INFO = ^TVOLUME_INFO;   TVOLUME_INFO = record        systemElapsedTime : longint;        volumeNumber : byte;        logicalDriveNumber : byte;        sectorsPerBlock : word;        startingBlock : smallint;        totalBlocks : longint;        availableBlocks : longint;        totalDirectorySlots : longint;        availableDirectorySlots : longint;        isHashing : byte;        isRemovable : byte;        isMounted : byte;        volumeName : array[0..16] of char;        purgableBlocks : longint;        notYetPurgableBlocks : longint;     end;   PNWVolExtendedInfo = ^TNWVolExtendedInfo;   TNWVolExtendedInfo = record        volType : longint;        statusFlag : longint;        sectorSize : longint;        sectorsPerCluster : longint;        volSizeInClusters : longint;        freeClusters : longint;        subAllocFreeableClusters : longint;        freeableLimboSectors : longint;        nonfreeableLimboSectors : longint;        availSubAllocSectors : longint;        nonuseableSubAllocSectors : longint;        subAllocClusters : longint;        numDataStreams : longint;        numLimboDataStreams : longint;        oldestDelFileAgeInTicks : longint;        numCompressedDataStreams : longint;        numCompressedLimboDataStreams : longint;        numNoncompressibleDataStreams : longint;        precompressedSectors : longint;        compressedSectors : longint;        numMigratedDataStreams : longint;        migratedSectors : longint;        clustersUsedByFAT : longint;        clustersUsedByDirs : longint;        clustersUsedByExtDirs : longint;        totalDirEntries : longint;        unusedDirEntries : longint;        totalExtDirExtants : longint;        unusedExtDirExtants : longint;        extAttrsDefined : longint;        extAttrExtantsUsed : longint;        directoryServicesObjectID : longint;        lastModifiedDateAndTime : longint;     end;{$include npackoff.inc}function AddSpaceRestrictionForDirectory (pathName:Pchar;                                          value:longint;                                          allowWildCardsFlag:longint):longint;cdecl;external Clib name 'AddSpaceRestrictionForDirectory';function AddTrustee                      (pathName:Pchar;                                          trusteeID:longint;                                          newRights:word):longint; cdecl;external Clib name 'AddTrustee';function AddUserSpaceRestriction         (volume:longint;                                          trusteeID:longint;                                          value:longint):longint;cdecl;external Clib name 'AddUserSpaceRestriction';function ChangeDirectoryEntry            (pathName:Pchar;                                          modifyVector:pointer;  //PModifyStructure;                                          modifyBits:longint;                                          allowWildCardsFlag:longint):longint;cdecl;external Clib name 'ChangeDirectoryEntry';function ChangeDirectoryEntry            (pathName:Pchar;                                      var modifyVector;                                          modifyBits:longint;                                          allowWildCardsFlag:longint):longint;cdecl;external Clib name 'ChangeDirectoryEntry';function ConvertNameToFullPath           (partialPath:Pchar;                                          fullPath:Pchar):longint;cdecl;external Clib name 'ConvertNameToFullPath';function ConvertNameToVolumePath         (fileName:Pchar;                                          volumePath:Pchar):longint;cdecl;external Clib name 'ConvertNameToVolumePath';function DeleteTrustee                   (pathName:Pchar;                                          trusteeID:longint):longint;cdecl;external Clib name 'DeleteTrustee';function DeleteUserSpaceRestriction      (volume:longint;                                          trusteeID:longint):longint;cdecl;external Clib name 'DeleteUserSpaceRestriction';function GetAvailableUserDiskSpace       (pathName:Pchar;                                          availableSpace:PLongint):longint;cdecl;external Clib name 'GetAvailableUserDiskSpace';function GetAvailableUserDiskSpace       (pathName:Pchar;                                      var availableSpace:longint):longint;cdecl;external Clib name 'GetAvailableUserDiskSpace';function GetDiskSpaceUsedByObject        (trusteeID:longint;                                          volume:longint;                                          usedSpace:PLongint):longint;cdecl;external Clib name 'GetDiskSpaceUsedByObject';function GetDiskSpaceUsedByObject        (trusteeID:longint;                                          volume:longint;                                      var usedSpace:longint):longint;cdecl;external Clib name 'GetDiskSpaceUsedByObject';function GetEffectiveRights              (pathName:Pchar;                                          accessRights:PWORD):longint;cdecl;external Clib name 'GetEffectiveRights';function GetEffectiveRights              (pathName:Pchar;                                      var accessRights:word):longint;cdecl;external Clib name 'GetEffectiveRights';function GetMaximumUserSpaceRestriction  (trusteeID, volume:longint; maxRestriction:PLongint):longint;cdecl;external Clib name 'GetMaximumUserSpaceRestriction';function GetMaximumUserSpaceRestriction  (trusteeID, volume:longint; var maxRestriction:longint):longint;cdecl;external Clib name 'GetMaximumUserSpaceRestriction';function GetNumberOfVolumes : longint; cdecl;external Clib name 'GetNumberOfVolumes';function GetVolumeInformation            (connectionID:word;                                          volumeNumber:byte;                                          structSize:longint;                                          volumeStatistics:PVOLUME_STATS):longint;cdecl;external Clib name 'GetVolumeInformation';function GetVolumeInformation            (connectionID:word;                                          volumeNumber:byte;                                          structSize:longint;                                      var volumeStatistics:TVOLUME_STATS):longint;cdecl;external Clib name 'GetVolumeInformation';function GetVolumeInfoWithNumber         (volumeNumber:byte;                                          volumeName:Pchar;                                          totalBlocks:PWORD;                                          sectorsPerBlock:PWORD;                                          availableBlocks:PWORD;                                          totalDirectorySlots:PWORD;                                          availableDirectorySlots:PWORD;                                          volumeIsRemovable:PWORD):longint;cdecl;external Clib name 'GetVolumeInfoWithNumber';function GetVolumeInfoWithNumber         (volumeNumber:byte;                                          volumeName:Pchar;                                      var totalBlocks:word;                                      var sectorsPerBlock:word;                                      var availableBlocks:word;                                      var totalDirectorySlots:word;                                      var availableDirectorySlots:word;                                      var volumeIsRemovable:word):longint;cdecl;external Clib name 'GetVolumeInfoWithNumber';function GetVolumeName(volumeNumber:longint; volumeName:Pchar):longint;cdecl;external Clib name 'GetVolumeName';function GetVolumeNumber(volumeName:Pchar; volumeNumber:Plongint):longint;cdecl;external Clib name 'GetVolumeNumber';function GetVolumeNumber(volumeName:Pchar; var volumeNumber:longint):longint;cdecl;external Clib name 'GetVolumeNumber';function GetVolumeStatistics             (connectionID:word;                                          volumeNumber:byte;                                          structSize:longint;                                          volumeStatistics:PVOLUME_INFO):longint;cdecl;external Clib name 'GetVolumeStatistics';function GetVolumeStatistics             (connectionID:word;                                          volumeNumber:byte;                                          structSize:longint;                                      var volumeStatistics:TVOLUME_INFO):longint;cdecl;external Clib name 'GetVolumeStatistics';procedure _makepath                      (path:Pchar;                                          drive:Pchar;                                          dir:Pchar;                                          fname:Pchar;                                          ext:Pchar);cdecl;external Clib name '_makepath';function ModifyInheritedRightsMask       (path:Pchar;                                          revokeRightsMask:word;                                          grantRightsMask:word):longint;cdecl;external Clib name 'ModifyInheritedRightsMask';function NWGetExtendedVolumeInfo         (volNumber:longint;                                          volName:Pchar;                                          volInfo:PNWVolExtendedInfo):longint;cdecl;external Clib name 'NWGetExtendedVolumeInfo';function NWGetExtendedVolumeInfo         (volNumber:longint;                                          volName:Pchar;                                      var volInfo:TNWVolExtendedInfo):longint;cdecl;external Clib name 'NWGetExtendedVolumeInfo';function NWVolumeIsCDROM                 (volNumber:longint;                                          isCDROM:PLongint):longint;cdecl;external Clib name 'NWVolumeIsCDROM';function NWVolumeIsCDROM                 (volNumber:longint;                                      var isCDROM:longint):longint;cdecl;external Clib name 'NWVolumeIsCDROM';function ParsePath                       (path:Pchar;                                          server:Pchar;                                          volume:Pchar;                                          directories:Pchar):longint;cdecl;external Clib name 'ParsePath';function PurgeTrusteeFromVolume          (volume:longint;                                          trusteeID:longint):longint;cdecl;external Clib name 'PurgeTrusteeFromVolume';function ReturnSpaceRestrictionForDirectory(pathName:Pchar;                                            numberOfStructuresToReturn:longint;                                            answerBuffer:pointer;                                            numberOfStructuresReturned:PLongint):longint;cdecl;external Clib name 'ReturnSpaceRestrictionForDirectory';function ScanBinderyObjectTrusteePaths     (objectID:longint;                                            volumeNumber:byte;                                            sequenceNumber:Plongint;                                            trusteeAccessMask:PWORD;                                            trusteePathName:Pchar):longint;cdecl;external Clib name 'ScanBinderyObjectTrusteePaths';function ScanBinderyObjectTrusteePaths     (objectID:longint;                                            volumeNumber:byte;                                        var sequenceNumber:longint;                                        var trusteeAccessMask:word;                                            trusteePathName:Pchar):longint;cdecl;external Clib name 'ScanBinderyObjectTrusteePaths';(* Const before type ignored *)function ScanTrustees                      (pathName:Pchar;                                            startingOffset:longint;                                            vectorSize:longint;                                            trusteeVector:PLongint;                                            maskVector:PWORD;                                            actualVectorSize:PLongint):longint;cdecl;external Clib name 'ScanTrustees';function ScanTrustees                      (pathName:Pchar;                                            startingOffset:longint;                                            vectorSize:longint;                                        var trusteeVector:longint;                                        var maskVector:longint;                                        var actualVectorSize:longint):longint;cdecl;external Clib name 'ScanTrustees';function ScanUserSpaceRestrictions         (volume:longint;                                            sequenceNumber:PLongint;                                            numberOfTrusteesToReturn:longint;                                            answerArea:PLongint;                                            numberOfTrusteesReturned:PLongint):longint;cdecl;external Clib name 'ScanUserSpaceRestrictions';function ScanUserSpaceRestrictions         (volume:longint;                                        var sequenceNumber:longint;                                            numberOfTrusteesToReturn:longint;                                        var answerArea;                                        var numberOfTrusteesReturned:longint):longint;cdecl;external Clib name 'ScanUserSpaceRestrictions';function SetDirectoryInfo                  (pathName:Pchar;                                            newCreationDateAndTime:PBYTE;                                            newOwnerObjectID:longint;                                            inheritedRightsMask:word):longint;cdecl;external Clib name 'SetDirectoryInfo';function SetWildcardTranslationMode         (newMode:byte):byte;cdecl;external Clib name 'SetWildcardTranslationMode';procedure _splitpath                        (path:Pchar;                                             drive:Pchar;                                             dir:Pchar;                                             fname:Pchar;                                             ext:Pchar);cdecl;external Clib name '_splitpath';function StripFileServerFromPath            (path:Pchar;                                             server:Pchar):Pchar;cdecl;external Clib name 'StripFileServerFromPath';function UpdateDirectoryEntry               (handle:longint):longint;cdecl;external Clib name 'UpdateDirectoryEntry';{------------------------------------------------------------------------------}const   TYPE_NORMAL_SERVER  = 0;   TYPE_IO_ENGINE      = 1;   TYPE_MS_ENGINE      = 2;   LOADER_TYPE_DOS     = 1;   LOADER_TYPE_OS2     = 2;   LOADER_TYPE_MSWIN31 = 3;   RSUPER              = 3;{$include npackon.inc}type   PFILE_SERV_INFO = ^TFILE_SERV_INFO;   TFILE_SERV_INFO = record        serverName : array[0..47] of char;        netwareVersion : byte;        netwareSubVersion : byte;        maxConnectionsSupported : word;        connectionsInUse : word;        maxVolumesSupported : word;        revisionLevel : byte;        SFTLevel : byte;        TTSLevel : byte;        peakConnectionsUsed : word;        accountingVersion : byte;        VAPversion : byte;        queingVersion : byte;        printServerVersion : byte;        virtualConsoleVersion : byte;        securityRestrictionLevel : byte;        internetBridgeSupport : byte;        reserved : array[0..59] of byte;        CLibMajorVersion : byte;        CLibMinorVersion : byte;        CLibRevision : byte;     end;{$include npackoff.inc}function CheckConsolePrivileges:longint;cdecl;external Clib name 'CheckConsolePrivileges';function CheckNetWareVersion (majorVersion,                              minorVersion,                              revisionNumber,                              minimumSFTLevel,                              minimumTTSLevel:word):longint;cdecl;external Clib name 'CheckNetWareVersion';function ClearConnectionNumber(connectionNumber:word):longint;cdecl;external Clib name 'ClearConnectionNumber';function DisableFileServerLogin:longint;cdecl;external Clib name 'DisableFileServerLogin';function DisableTransactionTracking:longint;cdecl;external Clib name 'DisableTransactionTracking';function DownFileServer(forceFlag:longint):longint;cdecl;external Clib name 'DownFileServer';function EnableFileServerLogin:longint;cdecl;external Clib name 'EnableFileServerLogin';function EnableTransactionTracking:longint;cdecl;external Clib name 'EnableTransactionTracking';function GetBinderyObjectDiskSpaceLeft (connectionID:word;                                        binderyObjectID:longint;                                        systemElapsedTime:PLongint;                                        unusedDiskBlocks:PLongint;                                        restrictionEnforced:PBYTE):longint;cdecl;external Clib name 'GetBinderyObjectDiskSpaceLeft';function GetBinderyObjectDiskSpaceLeft (connectionID:word;                                        binderyObjectID:longint;                                    var systemElapsedTime:Longint;                                    var unusedDiskBlocks:Longint;                                    var restrictionEnforced:byte):longint;cdecl;external Clib name 'GetBinderyObjectDiskSpaceLeft';function GetDiskUtilization            (objectID:longint;                                        volumeNumber:char;                                        usedDirectories:PLongint;                                        usedFiles:PLongint;                                        usedBlocks:PLongint):longint;cdecl;external Clib name 'GetDiskUtilization';function GetDiskUtilization            (objectID:longint;                                        volumeNumber:char;                                    var usedDirectories:Longint;                                    var usedFiles:Longint;                                    var usedBlocks:Longint):longint; cdecl;external Clib name 'GetDiskUtilization';//procedure GetFileServerConnectionID(fileServerName:Pchar; connectionID:PWORD);cdecl;external Clib name 'GetFileServerConnectionID';procedure GetFileServerDateAndTime(dateAndTime:PBYTE);cdecl;external Clib name 'GetFileServerDateAndTime';procedure GetFileServerDateAndTime(var dateAndTime);cdecl;external Clib name 'GetFileServerDateAndTime';function GetFileServerDescriptionStrings (company_Name:Pchar;                                          revision:Pchar;                                          revisionDate:Pchar;                                          copyrightNotice:Pchar):longint;cdecl;external Clib name 'GetFileServerDescriptionStrings';function GetFileServerLoginStatus        (loginEnabledFlag:PLongint):longint;cdecl;external Clib name 'GetFileServerLoginStatus';function GetFileServerLoginStatus        (var loginEnabledFlag:Longint):longint;cdecl;external Clib name 'GetFileServerLoginStatus';procedure GetFileServerName(connectionID:word; fileServerName:Pchar);cdecl;external Clib name 'GetFileServerName';function GetServerConfigurationInfo      (serverType:PLongint;                                          loaderType:PLongint):longint;cdecl;external Clib name 'GetServerConfigurationInfo';function GetServerConfigurationInfo      (var serverType:Longint;                                          var loaderType:Longint):longint;cdecl;external Clib name 'GetServerConfigurationInfo';function GetServerInformation            (returnSize:longint;                                          serverInfo:PFILE_SERV_INFO):longint;cdecl;external Clib name 'GetServerInformation';function GetServerInformation            (returnSize:longint;                                      var serverInfo:TFILE_SERV_INFO):longint;cdecl;external Clib name 'GetServerInformation';function GetServerMemorySize:longint;cdecl;external Clib name 'GetServerMemorySize';function GetServerUtilization:longint;cdecl;external Clib name 'GetServerUtilization';function SendConsoleBroadcast(msg:Pchar;                              connectionCount:word;                              connectionList:PWORD):longint;cdecl;external Clib name 'SendConsoleBroadcast';function SendConsoleBroadcast(msg:Pchar;                              connectionCount:word;                              const connectionList:array of word):longint;cdecl;external Clib name 'SendConsoleBroadcast';function SetFileServerDateAndTime (year,month,day,hour,minute,second:word):longint;cdecl;external Clib name 'SetFileServerDateAndTime';{------------------------------------------------------------------------------}const   ENVSERV_OVERHEAD_SIZE = 2 * cardinal(sizeof(WORD));   ENVSERV_BUFFER1_SIZE = 512 + ENVSERV_OVERHEAD_SIZE;   ENVSERV_CONN_TYPE_286 = 286;   ENVSERV_CONN_TYPE_386 = 386;{$include npackon.inc}type   PCONN_USAGE = ^TCONN_USAGE;   TCONN_USAGE = record        systemElapsedTime : longint;        bytesRead : array[0..5] of byte;        bytesWritten : array[0..5] of byte;        totalRequestPackets : longint;     end;   PDISK_CACHE_STATS = ^TDISK_CACHE_STATS;   TDISK_CACHE_STATS = record        systemElapsedTime : longint;        cacheBufferCount : word;        cacheBufferSize : word;        dirtyCacheBuffers : word;        cacheReadRequests : longint;        cacheWriteRequests : longint;        cacheHits : longint;        cacheMisses : longint;        physicalReadRequests : longint;        physicalWriteRequests : longint;        physicalReadErrors : word;        physicalWriteErrors : word;        cacheGetRequests : longint;        cacheFullWriteRequests : longint;        cachePartialWriteRequests : longint;        backgroundDirtyWrites : longint;        backgroundAgedWrites : longint;        totalCacheWrites : longint;        cacheAllocations : longint;        thrashingCount : word;        LRUBlockWasDirtyCount : word;        readBeyondWriteCount : word;        fragmentedWriteCount : word;        cacheHitOnUnavailCount : word;        cacheBlockScrappedCount : word;     end;   PDISK_CHANNEL_STATS = ^TDISK_CHANNEL_STATS;   TDISK_CHANNEL_STATS = record        systemElapsedTime : longint;        channelState : word;        channelSyncState : word;        driverType : byte;        driverMajorVersion : byte;        driverMinorVersion : byte;        driverDescription : array[0..64] of char;        IOAddr1 : word;        IOAddr1Size : word;        IOAddr2 : word;        IOAddr2Size : word;        sharedMem1Seg : array[0..2] of byte;        sharedMem1Ofs : word;        sharedMem2Seg : array[0..2] of byte;        sharedMem2Ofs : word;        interrupt1Used : byte;        interrupt1 : byte;        interrupt2Used : byte;        interrupt2 : byte;        DMAChannel1Used : byte;        DMAChannel1 : byte;        DMAChannel2Used : byte;        DMAChannel2 : byte;        reserved2 : word;        configDescription : array[0..79] of char;     end;   PDRIVE_MAP_TABLE = ^TDRIVE_MAP_TABLE;   TDRIVE_MAP_TABLE = record        systemElapsedTime : longint;        SFTLevel : byte;        logicalDriveCount : byte;        physicalDriveCount : byte;        diskChannelTable : array[0..4] of byte;        pendingIOCommands : word;        mappingTable : array[0..31] of byte;        driveMirrorTable : array[0..31] of byte;        deadMirrorTable : array[0..31] of byte;        remirroredDrive : byte;        reserved : byte;        remirroredBlock : longint;        SFTErrorTable : array[0..59] of word;     end;   PSERVER_LAN_IO = ^TSERVER_LAN_IO;   TSERVER_LAN_IO = record        systemElapsedTime : longint;        maxRoutingBuffersAvail : word;        maxRoutingBuffersUsed : word;        routingBuffersInUse : word;        totalFileServicePackets : longint;        fileServicePacketsBuffered : word;        invalidConnPacketCount : word;        badLogicalConnCount : word;        packetsRcvdDuringProcCount : word;        reprocessedRequestCount : word;        badSequenceNumberPacketCount : word;        duplicateReplyCount : word;        acknowledgementsSent : word;        badRequestTypeCount : word;        attachDuringProcCount : word;        attachWhileAttachingCount : word;        forgedDetachRequestCount : word;        badConnNumberOnDetachCount : word;        detachDuringProcCount : word;        repliesCanceledCount : word;        hopCountDiscardCount : word;        unknownNetDiscardCount : word;        noDGroupBufferDiscardCount : word;        outPacketNoBufferDiscardCount : word;        IPXNotMyNetworkCount : word;        NetBIOSPropagationCount : longint;        totalOtherPackets : longint;        totalRoutedPackets : longint;     end;   PSERVER_MISC_INFO = ^TSERVER_MISC_INFO;   TSERVER_MISC_INFO = record        systemElapsedTime : longint;        processorType : byte;        reserved : byte;        serviceProcessCount : byte;        serverUtilizationPercent : byte;        maxBinderyObjectsAvail : word;        maxBinderyObjectsUsed : word;        binderyObjectsInUse : word;        serverMemoryInK : word;        serverWastedMemoryInK : word;        dynamicAreaCount : word;        dynamicSpace1 : longint;        maxUsedDynamicSpace1 : longint;        dynamicSpaceInUse1 : longint;        dynamicSpace2 : longint;        maxUsedDynamicSpace2 : longint;        dynamicSpaceInUse2 : longint;        dynamicSpace3 : longint;        maxUsedDynamicSpace3 : longint;        dynamicSpaceInUse3 : longint;     end;   PFILE_SYS_STATS = ^TFILE_SYS_STATS;   TFILE_SYS_STATS = record        systemElapsedTime : longint;        maxOpenFiles : word;        maxFilesOpened : word;        currOpenFiles : word;        totalFilesOpened : longint;        totalReadRequests : longint;        totalWriteRequests : longint;        currChangedFATSectors : word;        totalChangedFATSectors : longint;        FATWriteErrors : word;        fatalFATWriteErrors : word;        FATScanErrors : word;        maxIndexFilesOpened : word;        currOpenIndexedFiles : word;        attachedIndexFiles : word;        availableIndexFiles : word;     end;   PLAN_CONFIG = ^TLAN_CONFIG;   TLAN_CONFIG = record        networkAddress : array[0..3] of byte;        hostAddress : array[0..5] of byte;        LANDriverInstalled : byte;        optionNumber : byte;        configurationText : array[0..159] of char;     end;   PPHYS_DISK_STATS = ^TPHYS_DISK_STATS;   TPHYS_DISK_STATS = record        systemElapsedTime : longint;        diskChannel : byte;        diskRemovable : byte;        driveType : byte;        controllerDriveNumber : byte;        controllerNumber : byte;        controllerType : byte;        driveSize : longint;        driveCylinders : word;        driveHeads : byte;        sectorsPerTrack : byte;        driveDefinition : array[0..63] of char;        IOErrorCount : word;        hotFixStart : longint;        hotFixSize : word;        hotFixBlockAvailable : word;        hotFixDisabled : byte;     end;   PTTS_STATS = ^TTTS_STATS;   TTTS_STATS = record        systemElapsedTime : longint;        TTS_Supported : byte;        TTS_Enabled : byte;        TTS_VolumeNumber : word;        TTS_MaxOpenTransactions : word;        TTS_MaxTransactionsOpened : word;        TTS_CurrTransactionsOpen : word;        TTS_TotalTransactions : longint;        TTS_TotalWrites : longint;        TTS_TotalBackouts : longint;        TTS_UnfilledBackouts : word;        TTS_DiskBlocksInUse : word;        TTS_FATAllocations : longint;        TTS_FileSizeChanges : longint;        TTS_FilesTruncated : longint;        numberOfTransactions : byte;     end;   PTTS_CONNECTIONS = ^TTTS_CONNECTIONS;   TTTS_CONNECTIONS = record        connectionNumber : byte;        taskNumber : byte;     end;   PCONN_OPEN_FILES_286 = ^TCONN_OPEN_FILES_286;   TCONN_OPEN_FILES_286 = record        taskNumber : byte;        lockType : byte;        accessControl : byte;        lockFlag : byte;        volumeNumber : byte;        dirEntry : word;        fileName : array[0..13] of char;     end;   PCONN_OPEN_FILES_386 = ^TCONN_OPEN_FILES_386;   TCONN_OPEN_FILES_386 = record        taskNumber : word;        lockType : byte;        accessControl : byte;        lockFlag : byte;        volumeNumber : byte;        parentDirEntry : longint;        dirEntry : longint;        forkCount : byte;        nameSpace : byte;        nameLength : byte;        fileName : array[0..255] of byte;     end;   PCONN_OPEN_FILES = ^TCONN_OPEN_FILES;   TCONN_OPEN_FILES = record        unionType : word;        u : record            case longint of               0 : ( con286 : TCONN_OPEN_FILES_286 );               1 : ( con386 : TCONN_OPEN_FILES_386 );            end;     end;   PCONN_SEMAPHORE_286 = ^TCONN_SEMAPHORE_286;   TCONN_SEMAPHORE_286 = record        openCount : word;        semaphoreValue : byte;        taskNumber : byte;        nameLength : byte;        semaphoreName : array[0..254] of byte;     end;   PCONN_SEMAPHORE_386 = ^TCONN_SEMAPHORE_386;   TCONN_SEMAPHORE_386 = record        openCount : word;        semaphoreValue : word;        taskNumber : word;        nameLength : byte;        semaphoreName : array[0..254] of byte;     end;   PCONN_SEMAPHORE = ^TCONN_SEMAPHORE;   TCONN_SEMAPHORE = record        unionType : word;        u : record            case longint of               0 : ( con286 : TCONN_SEMAPHORE_286 );               1 : ( con386 : TCONN_SEMAPHORE_386 );            end;     end;   PCONN_TASK_INFO_286 = ^TCONN_TASK_INFO_286;   TCONN_TASK_INFO_286 = record        unionType : word;        lockStatus : byte;        waitRecord : record            case longint of               0 : ( LockStatus1 : record                    taskNumber : byte;                    beginAddress : word;                    endAddress : word;                    volumeNumber : byte;                    directoryEntry : word;                    nameLength : byte;                    name : byte;                 end );               1 : ( LockStatus2 : record                    taskNumber : byte;                    volumeNumber : byte;                    directoryEntry : word;                    nameLength : byte;                    name : byte;                 end );               2 : ( LockStatus3Or4 : record                    taskNumber : byte;                    nameLength : byte;                    name : byte;                 end );            end;     end;   PCONN_TASK_INFO_386 = ^TCONN_TASK_INFO_386;   TCONN_TASK_INFO_386 = record        unionType : word;        lockStatus : byte;        waitRecord : record            case longint of               0 : ( LockStatus1 : record                    taskNumber : word;                    beginAddress : longint;                    endAddress : longint;                    volumeNumber : word;                    parentID : longint;                    directoryEntry : longint;                    forkCount : byte;                    nameSpace : byte;                    nameLength : byte;                    name : byte;                 end );               1 : ( LockStatus2 : record                    taskNumber : word;                    volumeNumber : word;                    parentID : longint;                    directoryEntry : longint;                    forkCount : byte;                    nameSpace : byte;                    nameLength : byte;                    name : byte;                 end );               2 : ( LockStatus3Or4 : record                    taskNumber : word;                    nameLength : byte;                    name : byte;                 end );            end;     end;   PCONN_TASK_PAIRS_286 = ^TCONN_TASK_PAIRS_286;   TCONN_TASK_PAIRS_286 = record        task : byte;        taskStatus : byte;     end;   PCONN_TASK_PAIRS_386 = ^TCONN_TASK_PAIRS_386;   TCONN_TASK_PAIRS_386 = record        task : word;        taskStatus : byte;     end;   PCONN_USING_FILE_REQ_286 = ^TCONN_USING_FILE_REQ_286;   TCONN_USING_FILE_REQ_286 = record        lastRecordSeen : word;        directoryHandle : byte;        pathLength : byte;        path : array[0..254] of byte;     end;   PCONN_USING_FILE_REQ_386 = ^TCONN_USING_FILE_REQ_386;   TCONN_USING_FILE_REQ_386 = record        forkType : byte;        volume : byte;        directoryID : longint;        nextRecord : word;     end;   PCONN_USING_FILE_REQUEST = ^TCONN_USING_FILE_REQUEST;   TCONN_USING_FILE_REQUEST = record        unionType : word;        reserved1 : word;        reserved2 : byte;        request : record            case longint of               0 : ( req286 : TCONN_USING_FILE_REQ_286 );               1 : ( req386 : TCONN_USING_FILE_REQ_386 );            end;     end;   PCONN_USING_FILE_REPLY_286 = ^TCONN_USING_FILE_REPLY_286;   TCONN_USING_FILE_REPLY_286 = record        useCount : word;        openCount : word;        openForReadCount : word;        openForWriteCount : word;        denyReadCount : word;        denyWriteCount : word;        nextRequestRecord : word;        locked : byte;        numberOfRecords : word;     end;   PCONN_USING_FILE_REPLY_386 = ^TCONN_USING_FILE_REPLY_386;   TCONN_USING_FILE_REPLY_386 = record        nextRequestRecord : word;        useCount : word;        openCount : word;        openForReadCount : word;        openForWriteCount : word;        denyReadCount : word;        denyWriteCount : word;        locked : byte;        forkCount : byte;        numberOfRecords : word;     end;   PCONN_USING_FILE_RECORD_286 = ^TCONN_USING_FILE_RECORD_286;   TCONN_USING_FILE_RECORD_286 = record        connectionNumber : word;        taskNumber : byte;        lockType : byte;        accessFlags : byte;        lockStatus : byte;     end;   PCONN_USING_FILE_RECORD_386 = ^TCONN_USING_FILE_RECORD_386;   TCONN_USING_FILE_RECORD_386 = record        connectionNumber : word;        taskNumber : word;        lockType : byte;        accessFlags : byte;        lockStatus : byte;     end;   PCONN_USING_FILE_REPLY = ^TCONN_USING_FILE_REPLY;   TCONN_USING_FILE_REPLY = record        unionType : word;        reply : record            case longint of               0 : ( rep286 : TCONN_USING_FILE_REPLY_286 );               1 : ( rep386 : TCONN_USING_FILE_REPLY_386 );            end;     end;   PLOGICAL_RECORD_INFO_286 = ^TLOGICAL_RECORD_INFO_286;   TLOGICAL_RECORD_INFO_286 = record        useCount : word;        shareableLockCount : word;        nextRequestRecord : word;        locked : byte;        numberOfRecords : byte;     end;   PLOGICAL_RECORD_INFO_386 = ^TLOGICAL_RECORD_INFO_386;   TLOGICAL_RECORD_INFO_386 = record        useCount : word;        shareableLockCount : word;        locked : byte;        nextRequestRecord : word;        numberOfRecords : word;     end;   PLOGICAL_RECORD_286 = ^TLOGICAL_RECORD_286;   TLOGICAL_RECORD_286 = record        connectionNumber : word;        taskNumber : byte;        lockStatus : byte;     end;   PLOGICAL_RECORD_386 = ^TLOGICAL_RECORD_386;   TLOGICAL_RECORD_386 = record        connectionNumber : word;        taskNumber : word;        lockStatus : byte;     end;   PLOGICAL_RECORD_INFO = ^TLOGICAL_RECORD_INFO;   TLOGICAL_RECORD_INFO = record        unionType : word;        u : record            case longint of               0 : ( lr286 : TLOGICAL_RECORD_INFO_286 );               1 : ( lr386 : TLOGICAL_RECORD_INFO_386 );            end;     end;   PLOGICAL_RECORD_REQUEST = ^TLOGICAL_RECORD_REQUEST;   TLOGICAL_RECORD_REQUEST = record        reserved1 : word;        reserved2 : byte;        nextRecord : word;        nameLength : byte;        name : array[0..254] of byte;     end;   PCONN_LOGICAL_RECORD_286 = ^TCONN_LOGICAL_RECORD_286;   TCONN_LOGICAL_RECORD_286 = record        nextRequest : word;        numberOfRecords : byte;     end;   PCONN_LOGICAL_RECORD_386 = ^TCONN_LOGICAL_RECORD_386;   TCONN_LOGICAL_RECORD_386 = record        nextRequest : word;        numberOfRecords : word;     end;   PCONN_LOGICAL_RECORD = ^TCONN_LOGICAL_RECORD;   TCONN_LOGICAL_RECORD = record        unionType : word;        u : record            case longint of               0 : ( lr286 : TCONN_LOGICAL_RECORD_286 );               1 : ( lr386 : TCONN_LOGICAL_RECORD_386 );            end;     end;   PCONN_LOGICAL_RECORD_BLOCK_286 = ^TCONN_LOGICAL_RECORD_BLOCK_286;   TCONN_LOGICAL_RECORD_BLOCK_286 = record        taskNumber : byte;        lockStatus : byte;        lockNameLength : byte;        lockName : byte;     end;   PCONN_LOGICAL_RECORD_BLOCK_386 = ^TCONN_LOGICAL_RECORD_BLOCK_386;   TCONN_LOGICAL_RECORD_BLOCK_386 = record        taskNumber : word;        lockStatus : byte;        lockNameLength : byte;        lockName : byte;     end;   PFILE_PHYSICAL_RECORD_LOCK_286 = ^TFILE_PHYSICAL_RECORD_LOCK_286;   TFILE_PHYSICAL_RECORD_LOCK_286 = record        nextRequest : word;        numberOfLocks : byte;        reserved : byte;     end;   PFILE_PHYSICAL_RECORD_LOCK_386 = ^TFILE_PHYSICAL_RECORD_LOCK_386;   TFILE_PHYSICAL_RECORD_LOCK_386 = record        nextRequest : word;        numberOfLocks : word;     end;   PFILE_PHYSICAL_RECORD_LOCK = ^TFILE_PHYSICAL_RECORD_LOCK;   TFILE_PHYSICAL_RECORD_LOCK = record        unionType : word;        u : record            case longint of               0 : ( pr286 : TFILE_PHYSICAL_RECORD_LOCK_286 );               1 : ( pr386 : TFILE_PHYSICAL_RECORD_LOCK_286 );            end;     end;   PFILE_PHYSICAL_RECORD_286 = ^TFILE_PHYSICAL_RECORD_286;   TFILE_PHYSICAL_RECORD_286 = record        loggedCount : word;        shareLockCount : word;        recordStart : longint;        recordEnd : longint;        connectionNumber : word;        taskNumber : byte;        lockType : byte;     end;   PFILE_PHYSICAL_RECORD_386 = ^TFILE_PHYSICAL_RECORD_386;   TFILE_PHYSICAL_RECORD_386 = record        loggedCount : word;        shareLockCount : word;        recordStart : longint;        recordEnd : longint;        connectionNumber : word;        taskNumber : word;        lockType : byte;     end;   PFILE_PHYSICAL_REQUEST_286 = ^TFILE_PHYSICAL_REQUEST_286;   TFILE_PHYSICAL_REQUEST_286 = record        lastRecord : word;        directoryHandle : byte;        pathLength : byte;        name : array[0..254] of byte;     end;   PFILE_PHYSICAL_REQUEST_386 = ^TFILE_PHYSICAL_REQUEST_386;   TFILE_PHYSICAL_REQUEST_386 = record        forkType : byte;        volume : byte;        directoryID : longint;        next : word;     end;   PFILE_PHYSICAL_RECORD_REQUEST = ^TFILE_PHYSICAL_RECORD_REQUEST;   TFILE_PHYSICAL_RECORD_REQUEST = record        unionType : word;        reserved1 : word;        reserved2 : byte;        u : record            case longint of               0 : ( pr286 : TFILE_PHYSICAL_REQUEST_286 );               1 : ( pr386 : TFILE_PHYSICAL_REQUEST_386 );            end;     end;   PCONN_RECORD_LOCKS_286 = ^TCONN_RECORD_LOCKS_286;   TCONN_RECORD_LOCKS_286 = record        nextRecord : word;        numberOfLocks : byte;        reserved : byte;     end;   PCONN_RECORD_LOCKS_386 = ^TCONN_RECORD_LOCKS_386;   TCONN_RECORD_LOCKS_386 = record        nextRecord : word;        numberOfLocks : word;     end;   PCONN_RECORD_LOCKS = ^TCONN_RECORD_LOCKS;   TCONN_RECORD_LOCKS = record        unionType : word;        u : record            case longint of               0 : ( rl286 : TCONN_RECORD_LOCKS_286 );               1 : ( rl386 : TCONN_RECORD_LOCKS_386 );            end;     end;   PCONN_LOCK_RECORD_286 = ^TCONN_LOCK_RECORD_286;   TCONN_LOCK_RECORD_286 = record        taskNumber : byte;        lockFlag : byte;        recordStart : longint;        recordEnd : longint;     end;   PCONN_LOCK_RECORD_386 = ^TCONN_LOCK_RECORD_386;   TCONN_LOCK_RECORD_386 = record        taskNumber : word;        lockFlag : byte;        recordStart : longint;        recordEnd : longint;     end;   PCONN_LOCK_REQUEST_286 = ^TCONN_LOCK_REQUEST_286;   TCONN_LOCK_REQUEST_286 = record        connectionNumber : word;        lastRecord : word;        volume : byte;        directoryID : word;        pathLength : byte;        fileName : array[0..13] of byte;     end;   PCONN_LOCK_REQUEST_386 = ^TCONN_LOCK_REQUEST_386;   TCONN_LOCK_REQUEST_386 = record        connectionNumber : word;        forkType : byte;        volume : byte;        directoryID : longint;        next : word;     end;   PCONN_LOCK_REQUEST = ^TCONN_LOCK_REQUEST;   TCONN_LOCK_REQUEST = record        unionType : word;        reserved1 : word;        reserved2 : byte;        u : record            case longint of               0 : ( lr286 : TCONN_LOCK_REQUEST_286 );               1 : ( lr386 : TCONN_LOCK_REQUEST_386 );            end;     end;   PSEMAPHORE_INFO_286 = ^TSEMAPHORE_INFO_286;   TSEMAPHORE_INFO_286 = record        nextRequest : word;        openCount : word;        semaphoreValue : byte;        numberOfRecords : byte;     end;   PSEMAPHORE_INFO_386 = ^TSEMAPHORE_INFO_386;   TSEMAPHORE_INFO_386 = record        nextRequest : word;        openCount : word;        semaphoreValue : word;        numberOfRecords : word;     end;   PSEMAPHORE_INFO = ^TSEMAPHORE_INFO;   TSEMAPHORE_INFO = record        unionType : word;        u : record            case longint of               0 : ( si286 : TSEMAPHORE_INFO_286 );               1 : ( si386 : TSEMAPHORE_INFO_386 );            end;     end;   PSEMAPHORE_INFO_RECORD_286 = ^TSEMAPHORE_INFO_RECORD_286;   TSEMAPHORE_INFO_RECORD_286 = record        connectionNumber : word;        taskNumber : byte;     end;   PSEMAPHORE_INFO_RECORD_386 = ^TSEMAPHORE_INFO_RECORD_386;   TSEMAPHORE_INFO_RECORD_386 = record        connectionNumber : word;        taskNumber : word;     end;   PSEMAPHORE_INFO_REQUEST = ^TSEMAPHORE_INFO_REQUEST;   TSEMAPHORE_INFO_REQUEST = record        reserved1 : word;        reserved2 : byte;        nextRecord : word;        nameLength : byte;        name : array[0..254] of byte;     end;{$include npackoff.inc}function GetConnectionsOpenFiles(connectionNumber:word; lastRecord:Plongint; lastTask:Plongint; structSize:longint; openFiles:PCONN_OPEN_FILES;               buffer:pointer; bufferSize:longint):longint;cdecl;external Clib name 'GetConnectionsOpenFiles';function GetConnectionsTaskInformation(connectionNumber:word; connectionTaskInfo:Ppointer; buffer:pointer; bufferSize:longint):longint;cdecl;external Clib name 'GetConnectionsTaskInformation';function GetConnectionsUsageStats(connectionNumber:longint; connectionUsage:PCONN_USAGE):longint;cdecl;external Clib name 'GetConnectionsUsageStats';function GetConnectionsUsingFile(requestSize:longint; request:pointer; buffer:pointer; bufferSize:longint):longint;cdecl;external Clib name 'GetConnectionsUsingFile';function GetDiskCacheStats(cacheStats:PDISK_CACHE_STATS):longint;cdecl;external Clib name 'GetDiskCacheStats';function GetDiskCacheStats(var cacheStats:TDISK_CACHE_STATS):longint;cdecl;external Clib name 'GetDiskCacheStats';function GetDiskChannelStats(channelNumber:longint; diskChannelStats:PDISK_CHANNEL_STATS):longint;cdecl;external Clib name 'GetDiskChannelStats';function GetDiskChannelStats(channelNumber:longint; var diskChannelStats:TDISK_CHANNEL_STATS):longint;cdecl;external Clib name 'GetDiskChannelStats';function GetDriveMappingTable(driveMappingTable:PDRIVE_MAP_TABLE):longint;cdecl;external Clib name 'GetDriveMappingTable';function GetDriveMappingTable(var driveMappingTable:TDRIVE_MAP_TABLE):longint;cdecl;external Clib name 'GetDriveMappingTable';function GetFileServerLANIOStats(serverLANIOStats:PSERVER_LAN_IO):longint;cdecl;external Clib name 'GetFileServerLANIOStats';function GetFileServerLANIOStats(var serverLANIOStats:TSERVER_LAN_IO):longint;cdecl;external Clib name 'GetFileServerLANIOStats';function GetFileServerMiscInformation(miscInformation:PSERVER_MISC_INFO):longint;cdecl;external Clib name 'GetFileServerMiscInformation';function GetFileServerMiscInformation(var miscInformation:TSERVER_MISC_INFO):longint;cdecl;external Clib name 'GetFileServerMiscInformation';function GetFileSystemStats(fileSysStats:PFILE_SYS_STATS):longint;cdecl;external Clib name 'GetFileSystemStats';function GetFileSystemStats(var fileSysStats:TFILE_SYS_STATS):longint;cdecl;external Clib name 'GetFileSystemStats';function GetLANDriverConfigInfo(LANBoardNumber:byte; LANConfiguration:PLAN_CONFIG):longint;cdecl;external Clib name 'GetLANDriverConfigInfo';function GetLANDriverConfigInfo(LANBoardNumber:byte; var LANConfiguration:TLAN_CONFIG):longint;cdecl;external Clib name 'GetLANDriverConfigInfo';function GetLogicalRecordInformation(requestSize:longint; request:pointer; buffer:pointer; bufferSize:longint):longint;cdecl;external Clib name 'GetLogicalRecordInformation';function GetLogicalRecordsByConnection(connectionNumber:word; nextRecord:word; buffer:pointer; bufferSize:longint):longint;cdecl;external Clib name 'GetLogicalRecordsByConnection';function GetPathFromDirectoryEntry(volumeNumber:byte; directoryEntry:word; pathLength:PBYTE; path:Pchar):longint;cdecl;external Clib name 'GetPathFromDirectoryEntry';function GetPhysicalDiskStats(physicalDiskNumber:byte; physicalDiskStats:PPHYS_DISK_STATS):longint;cdecl;external Clib name 'GetPhysicalDiskStats';function GetPhysicalDiskStats(physicalDiskNumber:byte; var physicalDiskStats:TPHYS_DISK_STATS):longint;cdecl;external Clib name 'GetPhysicalDiskStats';function GetPhysicalRecordLocksByFile(requestSize:longint; request:pointer; buffer:pointer; bufferSize:longint):longint;cdecl;external Clib name 'GetPhysicalRecordLocksByFile';function GetPhysRecLockByConnectAndFile(requestSize:longint; request:pointer; buffer:pointer; bufferSize:longint):longint;cdecl;external Clib name 'GetPhysRecLockByConnectAndFile';function GetSemaphoreInformation(requestSize:longint; request:pointer; buffer:pointer; bufferSize:longint):longint;cdecl;external Clib name 'GetSemaphoreInformation';function TTSGetStats(TTSStats:PTTS_STATS; bufferLen:longint; buffer:PBYTE):longint;cdecl;external Clib name 'TTSGetStats';function TTSGetStats(var TTSStats:TTTS_STATS; bufferLen:longint; var buffer):longint;cdecl;external Clib name 'TTSGetStats';{------------------------------------------------------------------------------}{$include npackon.inc}const   CRITICAL_ATTRIBUTE_FLAG = $00000080;   RESERVED_FLAGS_MASK     = $0000FFFF;   USER_FLAGS_MASK         = $FFFF0000;{------------------------------------------------------------------     T_enumerateEAnoKey is the structure returned in the dataBuffer     by EnumerateEA if a empty key (or NULL) is specified.  The     EAsInReply output parameter tells how many T_enumerateEAnoKey     structures are in the dataBuffer.    ------------------------------------------------------------------ }{ length of entire EA  }{ length of this field is given by keyLength  }type   PT_enumerateEAnoKey = ^TT_enumerateEAnoKey;   TT_enumerateEAnoKey = record        valueLength : longint;        keyLength   : word;        accessFlags : longint;        keyValue    : array[0..0] of char;     end;{----------------------------------------------------------------------     T_enumerateEAwithKey is the structure returned in the dataBuffer     by EnumerateEA if a non-empty key is specified.  In this case the     EAsInReply output parameter will return one and there will only be     one T_enumerateEAwithKey structure in the dataBuffer.    ---------------------------------------------------------------------- }   PT_enumerateEAwithKey = ^TT_enumerateEAwithKey;   TT_enumerateEAwithKey = record        valueLength : longint;        keyLength : word;        accessFlags : longint;        keyExtants : longint;        valueExtants : longint;        keyValue : array[0..0] of char;     end;{$include npackoff.inc}function CloseEA(handle:longint):longint;cdecl;external Clib name 'CloseEA';function CopyEA (srcPath,destPath:Pchar; destVolumeNumber,destDirectoryNumber:longint;                 EAcount,EAdataSize,EAkeySize:PLongint):longint;cdecl;external Clib name 'CopyEA';function CopyEA (srcPath,destPath:Pchar; destVolumeNumber,destDirectoryNumber:longint;             var EAcount,EAdataSize,EAkeySize:longint):longint;cdecl;external Clib name 'CopyEA';function EnumerateEA(handle:longint; keyBuffer:Pchar; dataBuffer:pointer; dataBufferSize:longint;                     startPosition:longint;                     dataSize,EAsInReply:PLongint):longint;cdecl;external Clib name 'EnumerateEA';function EnumerateEA(handle:longint; keyBuffer:Pchar; var dataBuffer; dataBufferSize:longint;                     startPosition:longint;                 var dataSize,EAsInReply:longint):longint;cdecl;external Clib name 'EnumerateEA';function EnumerateEA(handle:longint; keyBuffer:Pchar; dataBuffer:pointer; dataBufferSize:longint;                     startPosition:longint;                 var dataSize,EAsInReply:longint):longint;cdecl;external Clib name 'EnumerateEA';function GetEAInfo (handle:longint; totalEAs,totalDataSizeOfEAs,totalKeySizeOfEAs:PLongint):longint;cdecl;external Clib name 'GetEAInfo';function GetEAInfo (handle:longint; var totalEAs,totalDataSizeOfEAs,totalKeySizeOfEAs:longint):longint;cdecl;external Clib name 'GetEAInfo';function OpenEA(path:Pchar; reserved:longint):longint;cdecl;external Clib name 'OpenEA';function ReadEA(handle:longint; keyBuffer:Pchar; dataBuffer:Pchar; dataBufferSize:longint; accessFlags:PLongint):longint;cdecl;external Clib name 'ReadEA';function ReadEA(handle:longint; keyBuffer:Pchar; dataBuffer:Pchar; dataBufferSize:longint; var accessFlags:longint):longint;cdecl;external Clib name 'ReadEA';function WriteEA(handle:longint; keyBuffer:Pchar; dataBuffer:Pchar; dataBufferSize:longint; accessFlags:longint):longint;cdecl;external Clib name 'WriteEA';{------------------------------------------------------------------------------}const MAX_CONSOLE_MESSAGE_LENGTH =  80;      MAX_MESSAGE_LENGTH         =  58;      NEW_MAX_MESSAGE_LENGTH     = 250;function BroadcastToConsole       (msg:Pchar):longint;       cdecl;external Clib name 'BroadcastToConsole';function DisableStationBroadcasts:longint;                   cdecl;external Clib name 'DisableStationBroadcasts';function EnableStationBroadcasts:longint;                    cdecl;external Clib name 'EnableStationBroadcasts';function GetBroadcastMessage      (msgBuffer:Pchar):longint; cdecl;external Clib name 'GetBroadcastMessage';function SendBroadcastMessage     (msg:Pchar;                                   connectionList:PWORD;                                   resultList:PBYTE;                                   connectionCount:word):longint; cdecl;external Clib name 'SendBroadcastMessage';function SendBroadcastMessage     (msg:Pchar;                                   var connectionList;                                   var resultList;                                   var connectionCount:word):longint; cdecl;external Clib name 'SendBroadcastMessage';{------------------------------------------------------------------------------}{$include npackon.inc}const   NWMAX_QENTRIES = 250;{ the following manifest constant applies to server versions BELOW 3.X  }   NWMAX_JOB_SERVERS = 25;{ the following manifest constant applies to server versions ABOVE 2.X  }   NWQ_MAX_JOB_SERVERS = 50;   QF_AUTO_START = $08;   QF_SERVICE_RESTART = $10;   QF_ENTRY_OPEN = $20;   QF_USER_HOLD = $40;   QF_OPERATOR_HOLD = $80;{ Queue Status Flags  }   QS_CANT_ADD_JOBS = $01;   QS_SERVERS_CANT_ATTACH = $02;   QS_CANT_SERVICE_JOBS = $04;type   PJobStruct = ^TJobStruct;   TJobStruct = record        clientStation : byte;        clientTaskNumber : byte;        clientIDNumber : longint;        targetServerIDNumber : longint;        targetExecutionTime : array[0..5] of byte;        jobEntryTime : array[0..5] of byte;        jobNumber : word;        jobType : word;        jobPosition : byte;        jobControlFlags : byte;        jobFileName : array[0..13] of byte;        jobFileHandle : array[0..5] of byte;        serverStation : byte;        serverTaskNumber : byte;        serverIDNumber : longint;        textJobDescription : array[0..49] of byte;        clientRecordArea : array[0..151] of byte;     end;{ (19)80 - (20)79    }{ 1 = January,  ...  }{ 1 - 31             }{ 0 - 23             }{ 0 - 59             }{ 0 - 59             }   PNWStandardChronRec_t = ^TNWStandardChronRec_t;   TNWStandardChronRec_t = record        year : byte;        month : byte;        day : byte;        hour : byte;        minute : byte;        second : byte;     end;   PNWQChronRec_t = ^TNWQChronRec_t;   TNWQChronRec_t = TNWStandardChronRec_t;   PNWFileHandle_t = ^TNWFileHandle_t;   TNWFileHandle_t = byte;   PNWQEntityInfo_t = ^TNWQEntityInfo_t;   TNWQEntityInfo_t = record        clientConnNum : longint;        taskNum : longint;        id : longint;     end;   PNWQJobServerInfo_t = ^TNWQJobServerInfo_t;   TNWQJobServerInfo_t = record        id : longint;        executionTime : TNWQChronRec_t;     end;   PNWQJobInfo_t = ^TNWQJobInfo_t;   TNWQJobInfo_t = record        entryTime : TNWQChronRec_t;        num : longint;        _type : word;        position : word;        controlFlags : word;        assocFileName : array[0..13] of char;        fileHandle : TNWFileHandle_t;     end;   PNWQPrintJobInfo_t = ^TNWQPrintJobInfo_t;   TNWQPrintJobInfo_t = record        entryTime : TNWQChronRec_t;        num : longint;        formType : word;        position : word;        controlFlags : word;        assocFileName : array[0..13] of char;        fileHandle : TNWFileHandle_t;     end;   PNWQJobRec_t = ^TNWQJobRec_t;   TNWQJobRec_t = record        reserved : array[0..9] of byte;        client : TNWQEntityInfo_t;        target : TNWQJobServerInfo_t;        job : TNWQJobInfo_t;        jobServer : TNWQEntityInfo_t;        textJobDescription : array[0..49] of byte;        jobServerRecord : array[0..151] of byte;     end;   PNWQPrintServerRec_t = ^TNWQPrintServerRec_t;   TNWQPrintServerRec_t = record        versionNumber : byte;        tabSize : byte;        numberOfCopies : word;        printControlFlags : word;        maxLinesPerPage : word;        maxCharsPerLine : word;        formName : array[0..12] of char;        reserve : array[0..8] of byte;        bannerNameField : array[0..12] of char;        bannerFileField : array[0..12] of char;        bannerFileName : array[0..13] of char;        directoryPath : array[0..79] of char;     end;{$include npackoff.inc}function AbortServicingQueueJobAndFile(queueID:longint; jobNumber:word; fileHandle:longint):longint;cdecl;external Clib name 'AbortServicingQueueJobAndFile';function AttachQueueServerToQueue(queueID:longint):longint;cdecl;external Clib name 'AttachQueueServerToQueue';function ChangeQueueJobEntry(queueID:longint; job:PJobStruct):longint;cdecl;external Clib name 'ChangeQueueJobEntry';function ChangeQueueJobEntry(queueID:longint; var job:TJobStruct):longint;cdecl;external Clib name 'ChangeQueueJobEntry';function ChangeQueueJobPosition(queueID:longint; jobNumber:word; newPosition:byte):longint;cdecl;external Clib name 'ChangeQueueJobPosition';function ChangeToClientRights(queueID:longint; jobNumber:word):longint;cdecl;external Clib name 'ChangeToClientRights';function CloseFileAndAbortQueueJob(queueID:longint; jobNumber:word; fileHandle:longint):longint;cdecl;external Clib name 'CloseFileAndAbortQueueJob';function CloseFileAndStartQueueJob(queueID:longint; jobNumber:word; fileHandle:longint):longint;cdecl;external Clib name 'CloseFileAndStartQueueJob';function CreateAQueue(queueName:Pchar; queueType:longint; pathName:Pchar; queueID:Plongint):longint;cdecl;external Clib name 'CreateAQueue';function CreateAQueue(queueName:Pchar; queueType:longint; pathName:Pchar; var queueID:longint):longint;cdecl;external Clib name 'CreateAQueue';function CreateQueueJobAndFile(queueID:longint; job:PJobStruct; fileHandle:Plongint):longint;cdecl;external Clib name 'CreateQueueJobAndFile';function CreateQueueJobAndFile(queueID:longint; var job:TJobStruct; var fileHandle:longint):longint;cdecl;external Clib name 'CreateQueueJobAndFile';function DestroyQueue(queueID:longint):longint;cdecl;external Clib name 'DestroyQueue';function DetachQueueServerFromQueue(queueID:longint):longint;cdecl;external Clib name 'DetachQueueServerFromQueue';function FinishServicingQueueJobAndFile(queueID:longint; jobNumber:word; charge:longint; fileHandle:longint):longint;cdecl;external Clib name 'FinishServicingQueueJobAndFile';function GetQueueJobList(queueID:longint; jobCount:PWORD; jobNumberList:PWORD; maxJobNumbers:word):longint;cdecl;external Clib name 'GetQueueJobList';function GetQueueJobsFileSize(queueID:longint; jobNumber:longint; fileSize:Plongint):longint;cdecl;external Clib name 'GetQueueJobsFileSize';function NWQAbortJob(queueID:longint; jobNum:longint; fileHandle:longint):longint;cdecl;external Clib name 'NWQAbortJob';function NWQAbortJobService(queueID:longint; jobNum:longint; fileHandle:longint):longint;cdecl;external Clib name 'NWQAbortJobService';function NWQAttachServer(queueID:longint):longint;cdecl;external Clib name 'NWQAttachServer';function NWQBeginJobService(queueID:longint; targetJobType:word; jobInfo:PNWQJobRec_t; fileHandle:Plongint):longint;cdecl;external Clib name 'NWQBeginJobService';function NWQChangeJobEntry(queueID:longint; jobInfo:PNWQJobRec_t):longint;cdecl;external Clib name 'NWQChangeJobEntry';function NWQChangeJobPosition(queueID:longint; jobNum:longint; newPosition:longint):longint;cdecl;external Clib name 'NWQChangeJobPosition';function NWQChangeJobQueue(srcQueueID:longint; srcJobNum:longint; dstQueueID:longint; dstJobNum:Plongint):longint;cdecl;external Clib name 'NWQChangeJobQueue';function NWQChangeToClientRights(queueID:longint; jobNum:longint):longint;cdecl;external Clib name 'NWQChangeToClientRights';function NWQCreate(queueName:Pchar; queueType:word; pathName:Pchar; queueID:Plongint):longint;cdecl;external Clib name 'NWQCreate';function NWQCreateJob(queueID:longint; jobInfo:PNWQJobRec_t; fileHandle:Plongint):longint;cdecl;external Clib name 'NWQCreateJob';function NWQCreateJob(queueID:longint; var jobInfo:TNWQJobRec_t; fileHandle:Plongint):longint;cdecl;external Clib name 'NWQCreateJob';function NWQDestroy(queueID:longint):longint;cdecl;external Clib name 'NWQDestroy';function NWQDetachServer(queueID:longint):longint;cdecl;external Clib name 'NWQDetachServer';function NWQEndJobService(queueID:longint; jobNum:longint; chargeInfo:longint; fileHandle:longint):longint;cdecl;external Clib name 'NWQEndJobService';function NWQGetJobEntry(queueID:longint; jobNum:longint; jobInfo:PNWQJobRec_t):longint;cdecl;external Clib name 'NWQGetJobEntry';function NWQGetJobEntry(queueID:longint; jobNum:longint; var jobInfo:TNWQJobRec_t):longint;cdecl;external Clib name 'NWQGetJobEntry';function NWQGetJobFileSize(queueID:longint; jobNum:longint; fileSize:Plongint):longint;cdecl;external Clib name 'NWQGetJobFileSize';function NWQGetJobFileSize(queueID:longint; jobNum:longint; var fileSize:longint):longint;cdecl;external Clib name 'NWQGetJobFileSize';function NWQGetServers(queueID:longint; currentServers,qServerIDs,qServerConnNums:Plongint):longint;cdecl;external Clib name 'NWQGetServers';function NWQGetServerStatus(queueID:longint; jobServerID:longint; jobServerConnNum:longint; jobServerRecord:pointer):longint;cdecl;external Clib name 'NWQGetServerStatus';function NWQGetStatus(queueID:longint; queueStatus:Plongint; currentEntries:Plongint; currentServers:Plongint):longint;cdecl;external Clib name 'NWQGetStatus';function NWQMarkJobForService(queueID:longint; jobNum:longint; fileHandle:longint):longint;cdecl;external Clib name 'NWQMarkJobForService';function NWQRemoveJob(queueID:longint; jobNum:longint):longint;cdecl;external Clib name 'NWQRemoveJob';function NWQRestoreServerRights:longint;cdecl;external Clib name 'NWQRestoreServerRights';function NWQScanJobNums(queueID:longint; queueSequence:Plongint; totalJobs:Plongint; jobCount:Plongint; jobNumList:Plongint):longint;cdecl;external Clib name 'NWQScanJobNums';function NWQServiceJob(queueID:longint; targetJobTypesCount:longint; targetJobTypes:PWORD; jobInfo:PNWQJobRec_t; fileHandle:Plongint):longint;cdecl;external Clib name 'NWQServiceJob';function NWQSetServerStatus(queueID:longint; serverStatusRecord:pointer):longint;cdecl;external Clib name 'NWQSetServerStatus';function NWQSetStatus(queueID:longint; queueStatus:longint):longint;cdecl;external Clib name 'NWQSetStatus';function ReadQueueCurrentStatus(queueID:longint; queueStatus:PBYTE; numberOfJobs:PBYTE; numberOfServers:PBYTE; serverIDList:Plongint;           serverStationList:PWORD; maxNumberOfServers:word):longint;cdecl;external Clib name 'ReadQueueCurrentStatus';function ReadQueueJobEntry(queueID:longint; jobNumber:word; job:PJobStruct):longint;cdecl;external Clib name 'ReadQueueJobEntry';function ReadQueueServerCurrentStatus(queueID:longint; serverID:longint; serverStation:char; serverStatusRecord:Pchar):longint;cdecl;external Clib name 'ReadQueueServerCurrentStatus';function RemoveJobFromQueue(queueID:longint; jobNumber:word):longint;cdecl;external Clib name 'RemoveJobFromQueue';function RestoreQueueServerRights:longint;cdecl;external Clib name 'RestoreQueueServerRights';function ServiceQueueJobAndOpenFile(queueID:longint; targetJobType:word; job:PJobStruct; fileHandle:Plongint):longint;cdecl;external Clib name 'ServiceQueueJobAndOpenFile';function ServiceQueueJobAndOpenFile(queueID:longint; targetJobType:word; var job:TJobStruct; var fileHandle:longint):longint;cdecl;external Clib name 'ServiceQueueJobAndOpenFile';function SetQueueCurrentStatus(queueID:longint; queueStatus:byte):longint;cdecl;external Clib name 'SetQueueCurrentStatus';function SetQueueServerCurrentStatus(queueID:longint; serverStatusRecord:PBYTE):longint;cdecl;external Clib name 'SetQueueServerCurrentStatus';function SetQueueServerCurrentStatus(queueID:longint; var serverStatusRecord):longint;cdecl;external Clib name 'SetQueueServerCurrentStatus';{------------------------------------------------------------------------------}function GetNetworkSerialNumber    (networkSerialNumber : Plongint;                                    applicationNumber   : Pword)     : longint; cdecl; external Clib name 'GetNetworkSerialNumber';function GetNetworkSerialNumber    (var networkSerialNumber : longint;                                    var applicationNumber   : word)  : longint; cdecl; external Clib name 'GetNetworkSerialNumber';function VerifyNetworkSerialNumber (networkSerialNumber : longint;                                    applicationNumber   : Pword)     : longint; cdecl; external Clib name 'VerifyNetworkSerialNumber';function VerifyNetworkSerialNumber (networkSerialNumber : longint;                                var applicationNumber   : word)      : longint; cdecl; external Clib name 'VerifyNetworkSerialNumber';{------------------------------------------------------------------------------}const   OLD_SS_DEFAULT_BUFFER_SIZE = 538;   SS_DEFAULT_BUFFER_SIZE = 600;{ These connection types are used by SSGetActiveConnListByType          }{ They are all conditionally defined because some of them may appear in }{ other clib header files.                                              }{                                                                       }{ Connection service type  }{ NOTE: type 1 is reserved by CLIB for backward compatability  }   NCP_CONNECTION_TYPE = 2;   NLM_CONNECTION_TYPE = 3;   AFP_CONNECTION_TYPE = 4;   FTAM_CONNECTION_TYPE = 5;   ANCP_CONNECTION_TYPE = 6;{ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% }{      User Interface Structures         }{ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% }{$include npackon.inc}type   PSSDefaultBuffer = ^TSSDefaultBuffer;   TSSDefaultBuffer = record        data : array[0..(SS_DEFAULT_BUFFER_SIZE)-1] of byte;     end;   PCacheMemoryCounters = ^TCacheMemoryCounters;   TCacheMemoryCounters = record        OriginalNumberOfCacheBuffers : longint;        CurrentNumberOfCacheBuffers : longint;        CacheDirtyBlockThreshold : longint;        debugCounters : array[0..6] of longint;     end;   PCacheTrendCounters = ^TCacheTrendCounters;   TCacheTrendCounters = record        NumOfCacheChecks : longint;        NumOfCacheHits : longint;        debugCounters : array[0..6] of longint;        LRUSittingTime : longint;     end;   PCacheInformation = ^TCacheInformation;   TCacheInformation = record        MaximumByteCount : longint;        MinimumNumberOfCacheBuffers : longint;        MinimumCacheReportThreshold : longint;        AllocateWaitingCount : longint;        NDirtyBlocks : longint;        CacheDirtyWaitTime : longint;        CacheMaximumConcurrentWrites : longint;        MaximumDirtyTime : longint;        NumberOfDirectoryCacheBuffers : longint;        CacheByteToBlockShiftFactor : longint;     end;   PGetCacheInfoStructure = ^TGetCacheInfoStructure;   TGetCacheInfoStructure = record        currentServerTime : longint;        VConsoleVersion : byte;        VConsoleRevision : byte;        reserved : word;        CacheCntrs : array[0..25] of longint;        MemoryCntrs : TCacheMemoryCounters;        TrendCntrs : TCacheTrendCounters;        CacheInfo : TCacheInformation;     end;   PServerInformation = ^TServerInformation;   TServerInformation = record        ReplyCanceledCount : longint;        WriteHeldOffCount : longint;        reserved1 : longint;        InvalidRequestTypeCount : longint;        BeingAbortedCount : longint;        AlreadyDoingReAllocateCount : longint;        reserved2 : array[0..2] of longint;        DeAllocateStillTransmittingCount : longint;        StartStationErrorCount : longint;        InvalidSlotCount : longint;        BeingProcessedCount : longint;        ForgedPacketCount : longint;        StillTransmittingCount : longint;        ReExecuteRequestCount : longint;        InvalidSequenceNumberCount : longint;        DuplicateIsBeingSentAlreadyCount : longint;        SentPositiveAcknowledgeCount : longint;        SentADuplicateReplyCount : longint;        NoMemoryForStationControlCount : longint;        NoAvailableConnectionsCount : longint;        ReAllocateSlotCount : longint;        ReAllocateSlotCameTooSoonCount : longint;     end;   PFSCounters = ^TFSCounters;   TFSCounters = record        TooManyHops : word;        UnknownNetwork : word;        NoSpaceForService : word;        NoRecieveBuffers : word;        NotMyNetwork : word;        NetBIOSPropagatedCount : longint;        TotalPacketsServiced : longint;        TotalPacketsRouted : longint;     end;   PGetFileServerInfoStructure = ^TGetFileServerInfoStructure;   TGetFileServerInfoStructure = record        currentServerTime : longint;        vConsoleVersion : byte;        vConsoleRevision : byte;        reserved : word;        NCPStaInUseCnt : longint;        NCPPeakStaInUse : longint;        numOfNCPReqs : longint;        serverUtilization : longint;        serverInfo : TServerInformation;        fileServerCounters : TFSCounters;     end;   PGetFileSystemInfoStructure = ^TGetFileSystemInfoStructure;   TGetFileSystemInfoStructure = record        currentServerTime : longint;        vConsoleVersion : byte;        vConsoleRevision : byte;        reserved : word;        debugCounters : array[0..12] of longint;     end;   PUserInformation = ^TUserInformation;   TUserInformation = record        connectionNumber : longint;        useCount : longint;        connectionServiceType : byte;        loginTime : array[0..6] of byte;        status : longint;        expirationTime : longint;        objectType : longint;        transactionFlag : byte;        logicalLockThreshold : byte;        recordLockThreshold : byte;        fileWriteFlags : byte;        fileWriteState : byte;        filler : byte;        fileLockCount : word;        recordLockCount : word;        totalBytesRead : array[0..5] of byte;        totalBytesWritten : array[0..5] of byte;        totalRequests : longint;        heldRequests : longint;        heldBytesRead : array[0..5] of byte;        heldBytesWritten : array[0..5] of byte;     end;   PGetUserInfoStructure = ^TGetUserInfoStructure;   TGetUserInfoStructure = record        currentServerTime : longint;        vConsoleVersion : byte;        vConsoleRevision : byte;        reserved : word;        userInfo : TUserInformation;        userNameLen : byte;        username : byte;     end;   PPacketBurstInformation = ^TPacketBurstInformation;   TPacketBurstInformation = record        BigInvalidSlotCount : longint;        BigForgedPacketCount : longint;        BigInvalidPacketCount : longint;        BigStillTransmittingCount : longint;        StillDoingTheLastRequestCount : longint;        InvalidControlRequestCount : longint;        ControlInvalidMessageNumberCount : longint;        ControlBeingTornDownCount : longint;        BigRepeatTheFileReadCount : longint;        BigSendExtraCCCount : longint;        BigReturnAbortMessageCount : longint;        BigReadInvalidMessageNumberCount : longint;        BigReadDoItOverCount : longint;        BigReadBeingTornDownCount : longint;        PreviousControlPacketCount : longint;        SendHoldOffMessageCount : longint;        BigReadNoDataAvailableCount : longint;        BigReadTryingToReadTooMuchCount : longint;        ASyncReadErrorCount : longint;        BigReadPhysicalReadErrorCount : longint;        ControlBadACKFragmentListCount : longint;        ControlNoDataReadCount : longint;        WriteDuplicateRequestCount : longint;        ShouldntBeACKingHereCount : longint;        WriteInconsistentPacketLengthsCount : longint;        FirstPacketIsntAWriteCount : longint;        WriteTrashedDuplicateRequestCount : longint;        BigWriteInvalidMessageNumberCount : longint;        BigWriteBeingTornDownCount : longint;        BigWriteBeingAbortedCount : longint;        ZeroACKFragmentCountCount : longint;        WriteCurrentlyTransmittingCount : longint;        TryingToWriteTooMuchCount : longint;        WriteOutOfMemoryForControlNodesCount : longint;        WriteDidntNeedThisFragmentCount : longint;        WriteTooManyBuffersCheckedOutCount : longint;        WriteTimeOutCount : longint;        WriteGotAnACKCount : longint;        WriteGotAnACKCount1 : longint;        PollerAbortedTheConnectionCount : longint;        MaybeHadOutOfOrderWritesCount : longint;        HadAnOutOfOrderWriteCount : longint;        MovedTheACKBitDownCount : longint;        BumpedOutOfOrderWriteCount : longint;        PollerRemovedOldOutOfOrderCount : longint;        WriteDidntNeedButRequestedACKCount : longint;        WriteTrashedPacketCount : longint;        TooManyACKFragmentsCount : longint;        SavedAnOutOfOrderPacketCount : longint;        ConnectionBeingAbortedCount : longint;     end;   PGetPacketBurstInfoStructure = ^TGetPacketBurstInfoStructure;   TGetPacketBurstInfoStructure = record        currentServerTime : longint;        vConsoleVersion : byte;        vConsoleRevision : byte;        reserved : word;        packetBurstInfo : TPacketBurstInformation;     end;   PIPXInformation = ^TIPXInformation;   TIPXInformation = record        IpxSendPacketCount : longint;        IpxMalformPacketCount : word;        IpxGetECBRequestCount : longint;        IpxGetECBFailCount : longint;        IpxAESEventCount : longint;        IpxPostponedAESCount : word;        IpxMaxConfiguredSocketCount : word;        IpxMaxOpenSocketCount : word;        IpxOpensocketFailCount : word;        IpxListenECBCount : longint;        IpxECBCancelFailCount : word;        IpxGetLocalTargetFailCount : word;     end;   PSPXInformation = ^TSPXInformation;   TSPXInformation = record        SpxMaxConnectionsCount : word;        SpxMaxUsedConnections : word;        SpxEstConnectionReq : word;        SpxEstConnectionFail : word;        SpxListenConnectReq : word;        SpxListenConnectFail : word;        SpxSendCount : longint;        SpxWindowChokeCount : longint;        SpxBadSendCount : word;        SpxSendFailCount : word;        SpxAbortedConnection : word;        SpxListenPacketCount : longint;        SpxBadListenCount : word;        SpxIncomingPacketCount : longint;        SpxBadInPacketCnt : word;        SpxSuppressedPackCnt : word;        SpxNoSesListenECBCnt : word;        SpxWatchDogDestSesCnt : word;     end;   PGetIPXSPXInfoStructure = ^TGetIPXSPXInfoStructure;   TGetIPXSPXInfoStructure = record        currentServerTime : longint;        vConsoleVersion : byte;        vConsoleRevision : byte;        reserved : word;        IPXInfo : TIPXInformation;        SPXInfo : TSPXInformation;     end;   PGetGarbageCollInfoStructure = ^TGetGarbageCollInfoStructure;   TGetGarbageCollInfoStructure = record        currentServerTime : longint;        vConsoleVersion : byte;        vConsoleRevision : byte;        reserved : word;        failedAllocReqCount : longint;        numberOfAllocs : longint;        noMoreMemAvlCnt : longint;        numOfGarbageColl : longint;        foundSomeMem : longint;        numOfChecks : longint;     end;   TGetGarbageCollInfoStruc = TGetGarbageCollInfoStructure;   PGetGarbageCollInfoStruc = ^TGetGarbageCollInfoStruc;   PCPUInformation = ^TCPUInformation;   TCPUInformation = record        numberOfCPUs : longint;        PageTableOwnerFlag : longint;        CPUType : longint;        CoProcessorFlag : longint;        BusType : longint;        IOEngineFlag : longint;        FSEngineFlag : longint;        NonDedFlag : longint;     end;   PGetCPUInfoStructure = ^TGetCPUInfoStructure;   TGetCPUInfoStructure = record        currentServerTime : longint;        vConsoleVersion : byte;        vConsoleRevision : byte;        reserved : word;        CPUInfo : TCPUInformation;        variableStringsStart : byte;     end;{ The LFSCountersStructure is provided  }{ so that you can see field names.  It  }{ isn't referenced and developers will  }{ probably want to define their own     }{ structure.  This structure may grow   }{ beyond what one call can return at    }{ some future date.                     }{                                       }   PLFSCountersStructure = ^TLFSCountersStructure;   TLFSCountersStructure = record        ReadFile : longint;        WriteFile : longint;        DeleteFile : longint;        RenMove : longint;        OpenFile : longint;        CreateFile : longint;        CreateAndOpenFile : longint;        CloseFile : longint;        ScanDeleteFile : longint;        SalvageFile : longint;        PurgeFile : longint;        MigrateFile : longint;        DeMigrateFile : longint;        CreateDir : longint;        DeleteDir : longint;        DirectoryScans : longint;        MapPathToDirNum : longint;        ModifyDirEntry : longint;        GetAccessRights : longint;        GetAccessRightsFromIDs : longint;        MapDirNumToPath : longint;        GetEntryFromPathStrBase : longint;        GetOtherNSEntry : longint;        GetExtDirInfo : longint;        GetParentDirNum : longint;        AddTrusteeR : longint;        ScanTrusteeR : longint;        DelTrusteeR : longint;        PurgeTrust : longint;        FindNextTrustRef : longint;        ScanUserRestNodes : longint;        AddUserRest : longint;        DeleteUserRest : longint;        RtnDirSpaceRest : longint;        GetActualAvailDskSp : longint;        CntOwnedFilesAndDirs : longint;        MigFileInfo : longint;        VolMigInfo : longint;        ReadMigFileData : longint;        GetVolusageStats : longint;        GetActualVolUsageStats : longint;        GetDirUsageStats : longint;        NMFileReadsCount : longint;        NMFileWritesCount : longint;        MapPathToDirectoryNumberOrPhantom : longint;        StationHasAccessRightsGrantedBelow : longint;        GetDataStreamLengthsFromPathStringBase : longint;        CheckAndGetDirectoryEntry : longint;        GetDeletedEntry : longint;        GetOriginalNameSpace : longint;        GetActualFileSize : longint;        VerifyNameSpaceNumber : longint;        VerifyDataStreamNumber : longint;        CheckVolumeNumber : longint;        CommitFile : longint;        VMGetDirectoryEntry : longint;        CreateDMFileEntry : longint;        RenameNameSpaceEntry : longint;        LogFile : longint;        ReleaseFile : longint;        ClearFile : longint;        SetVolumeFlag : longint;        ClearVolumeFlag : longint;        GetOriginalInfo : longint;        CreateMigratedDir : longint;        F3OpenCreate : longint;        F3InitFileSearch : longint;        F3ContinueFileSearch : longint;        F3RenameFile : longint;        F3ScanForTrustees : longint;        F3ObtainFileInfo : longint;        F3ModifyInfo : longint;        F3EraseFile : longint;        F3SetDirHandle : longint;        F3AddTrustees : longint;        F3DeleteTrustees : longint;        F3AllocDirHandle : longint;        F3ScanSalvagedFiles : longint;        F3RecoverSalvagedFiles : longint;        F3PurgeSalvageableFile : longint;        F3GetNSSpecificInfo : longint;        F3ModifyNSSpecificInfo : longint;        F3SearchSet : longint;        F3GetDirBase : longint;        F3QueryNameSpaceInfo : longint;        F3GetNameSpaceList : longint;        F3GetHugeInfo : longint;        F3SetHugeInfo : longint;        F3GetFullPathString : longint;        F3GetEffectiveDirectoryRights : longint;        ParseTree : longint;     end;   PGetVolumeSwitchInfoStructure = ^TGetVolumeSwitchInfoStructure;   TGetVolumeSwitchInfoStructure = record        currentServerTime : longint;        vConsoleVersion : byte;        vConsoleRevision : byte;        reserved : word;        totalLFSCounters : longint;        currentLFSCounters : longint;        counters : longint;     end;   PGetNLMLoadedListStructure = ^TGetNLMLoadedListStructure;   TGetNLMLoadedListStructure = record        currentServerTime : longint;        vConsoleVersion : byte;        vConsoleRevision : byte;        moreFlag : word;        NLMLoadedCount : longint;        NLMCount : longint;        NLMNumbers : longint;     end;   PNLMInformation = ^TNLMInformation;   TNLMInformation = record        nlmIdentificationNumber : longint;        nlmFlags : longint;        nlmType : longint;        nlmParentID : longint;        nlmMajorVersion : longint;        nlmMinorVersion : longint;        nlmRevision : longint;        nlmYear : longint;        nlmMonth : longint;        nlmDay : longint;        nlmAllocAvailBytes : longint;        nlmAllocFreeCount : longint;        nlmLastGarbCollect : longint;        nlmMessageLanguage : longint;        nlmNumberOfReferencedPublics : longint;     end;{ In GetNLMInfoStructure:                 }{ At startOFLStrings there will be three  }{ length preceeded strings -- they may be }{ zero bytes long!  The strings are:      }{ the file name, the NLM name, and the    }{ copyright.                              }{ Each string consists of one byte which  }{ contains the length of the string       }{ followed by zero to 255 bytes of data,  }{ depending upon the value of the length  }{ byte.  When the length byte is zero, no }{ data is present for that string.        }{                                         }{ 3 Len preceeded strings: filename, name, copyright  }   PGetNLMInfoStructure = ^TGetNLMInfoStructure;   TGetNLMInfoStructure = record        currentServerTime : longint;        vConsoleVersion : byte;        vConsoleRevision : byte;        reserved : word;        NLMInfo : TNLMInformation;        startOfLStrings : byte;     end;   PDirectoryCacheInformation = ^TDirectoryCacheInformation;   TDirectoryCacheInformation = record        MinimumTimeSinceFileDelete : longint;        AbsMinimumTimeSinceFileDelete : longint;        MinimumNumberOfDirCacheBuffers : longint;        MaximumNumberOfDirCacheBuffers : longint;        NumberOfDirectoryCacheBuffers : longint;        DCMinimumNonReferencedTime : longint;        DCWaitTimeBeforeNewBuffer : longint;        DCMaximumConcurrentWrites : longint;        DCDirtyWaitTime : longint;        debugCounters : array[0..3] of longint;        PercentOfVolumeUsedByDirs : longint;     end;   PGetDirCacheInfoStructure = ^TGetDirCacheInfoStructure;   TGetDirCacheInfoStructure = record        currentServerTime : longint;        vConsoleVersion : byte;        vConsoleRevision : byte;        reserved : word;        dirCacheInfo : TDirectoryCacheInformation;     end;   PGetOSVersionInfoStructure = ^TGetOSVersionInfoStructure;   TGetOSVersionInfoStructure = record        currentServerTime : longint;        vConsoleVersion : byte;        vConsoleRevision : byte;        reserved : word;        OSMajorVersion : byte;        OSMinorVersion : byte;        OSRevision : byte;        accountVersion : byte;        VAPVersion : byte;        queueingVersion : byte;        securityRestLvl : byte;        bridgingSupport : byte;        maxNumOfVol : longint;        maxNumOfConn : longint;        maxNumOfUsers : longint;        maxNumOfnameSpaces : longint;        maxNumOfLANS : longint;        maxNumOfMedias : longint;        maxNumOfStacks : longint;        maxDirDepth : longint;        maxDataStreams : longint;        maxNumOfSpoolPr : longint;        serverSerialNumber : longint;        serverApplicationNumber : word;     end;   PGetActiveConnListByTypeStructure = ^TGetActiveConnListByTypeStructure;   TGetActiveConnListByTypeStructure = record        currentServerTime : longint;        vConsoleVersion : byte;        vConsoleRevision : byte;        reserved : word;        ActiveConnBitList : array[0..511] of byte;     end;   PRTagStructure = ^TRTagStructure;   TRTagStructure = record        rTagNumber : longint;        signature : longint;        count : longint;        name : byte;     end;   PGetNLMResourceTagList = ^TGetNLMResourceTagList;   TGetNLMResourceTagList = record        currentServerTime : longint;        vConsoleVersion : byte;        vConsoleRevision : byte;        reserved : word;        totalNumOfRTags : longint;        currentNumOfRTags : longint;        RTagStart : TRTagStructure;     end;   PGetActiveLANBoardListStructure = ^TGetActiveLANBoardListStructure;   TGetActiveLANBoardListStructure = record        currentServerTime : longint;        vConsoleVersion : byte;        vConsoleRevision : byte;        reserved : word;        maxNumOfLANs : longint;        itemsCount : longint;        boardNumbers : longint;     end;   PDriverConfigStructure = ^TDriverConfigStructure;   TDriverConfigStructure = record        DriverCFG_MajorVersion : byte;        DriverCFG_MinorVersion : byte;        DriverNodeAddress : array[0..5] of byte;        DriverModeFlags : word;        DriverBoardNumber : word;        DriverBoardInstance : word;        DriverMaximumSize : longint;        DriverMaxRecvSize : longint;        DriverRecvSize : longint;        DriverCardName : longint;        DriverShortName : longint;        DriverMediaType : longint;        DriverCardID : word;        DriverMediaID : word;        DriverTransportTime : word;        DriverReserved : array[0..15] of byte;        DriverMajorVersion : byte;        DriverMinorVersion : byte;        DriverFlags : word;        DriverSendRetries : word;        DriverLink : longint;        DriverSharingFlags : word;        DriverSlot : word;        DriverIOPortsAndLengths : array[0..3] of word;        DriverMemoryDecode0 : longint;        DriverLength0 : word;        DriverMemoryDecode1 : longint;        DriverLength1 : word;        DriverInterrupt : array[0..1] of byte;        DriverDMAUsage : array[0..1] of byte;        DriverResourceTag : longint;        DriverConfig : longint;        DriverCommandString : longint;        DriverLogicalName : array[0..17] of byte;        DriverLinearMemory : array[0..1] of longint;        DriverChannelNumber : word;        DriverIOReserved : array[0..5] of byte;     end;   PGetLANConfigInfoStructure = ^TGetLANConfigInfoStructure;   TGetLANConfigInfoStructure = record        currentServerTime : longint;        vConsoleVersion : byte;        vConsoleRevision : byte;        reserved : word;        LANConfig : TDriverConfigStructure;     end;   PCommonLANStructure = ^TCommonLANStructure;   TCommonLANStructure = record        notSupportedMask : longint;        TotalTxPacketCount : longint;        TotalRxPacketCount : longint;        NoECBAvailableCount : longint;        PacketTxTooBigCount : longint;        PacketTxTooSmallCount : longint;        PacketRxOverflowCount : longint;        PacketRxTooBigCount : longint;        PacketRxTooSmallCount : longint;        PacketTxMiscErrorCount : longint;        PacketRxMiscErrorCount : longint;        RetryTxCount : longint;        ChecksumErrorCount : longint;        HardwareRxMismatchCount : longint;        TotalTxOKByteCountLow : longint;        TotalTxOKByteCountHigh : longint;        TotalRxOKByteCountLow : longint;        TotalRxOKByteCountHigh : longint;        TotalGroupAddrTxCount : longint;        TotalGroupAddrRxCount : longint;        AdapterResetCount : longint;        AdapterOprTimeStamp : longint;        AdapterQueDepth : longint;        MediaSpecificCounter1 : longint;        MediaSpecificCounter2 : longint;        MediaSpecificCounter3 : longint;        MediaSpecificCounter4 : longint;        MediaSpecificCounter5 : longint;        MediaSpecificCounter6 : longint;        MediaSpecificCounter7 : longint;        MediaSpecificCounter8 : longint;        MediaSpecificCounter9 : longint;        MediaSpecificCounter10 : longint;        ValidMask1 : longint;        MediaSpecificCounter11 : longint;        MediaSpecificCounter12 : longint;        MediaSpecificCounter13 : longint;        MediaSpecificCounter14 : longint;     end;   PGetLANCommonCountersStructure = ^TGetLANCommonCountersStructure;   TGetLANCommonCountersStructure = record        currentServerTime : longint;        vConsoleVersion : byte;        vConsoleRevision : byte;        statMajorVersion : byte;        statMinorVersion : byte;        totalCommonCnts : longint;        totalCntBlocks : longint;        customCounters : longint;        nextCntBlock : longint;        info : TCommonLANStructure;     end;   PCustomCountersInfo = ^TCustomCountersInfo;   TCustomCountersInfo = record        value : longint;        stringLength : byte;        stringStart : byte;     end;   PGetCustomCountersInfoStructure = ^TGetCustomCountersInfoStructure;   TGetCustomCountersInfoStructure = record        currentServerTime : longint;        vConsoleVersion : byte;        vConsoleRevision : byte;        moreflag : word;        numberOfCustomCounters : longint;        startOfCustomCounters : byte;     end;   PLSLInformation = ^TLSLInformation;   TLSLInformation = record        RxBufs : longint;        RxBufs75PerCent : longint;        RxBufsCheckedOut : longint;        RxBufMaxSize : longint;        MaxPhysicalSize : longint;        LastTimeRxBufAllocated : longint;        MaxNumbersOfProtocols : longint;        MaxNumbersOfMediaTypes : longint;        TotalTXPackets : longint;        GetECBBfrs : longint;        GetECBFails : longint;        AESEventCounts : longint;        PostpondedEvents : longint;        ECBCxlFails : longint;        ValidBfrsReused : longint;        EnqueuedSendCnt : longint;        TotalRXPackets : longint;        UnclaimedPackets : longint;        StatisticsTableMajorVersion : byte;        StatisticsTableMinorVersion : byte;     end;   PGetLSLInfoStructure = ^TGetLSLInfoStructure;   TGetLSLInfoStructure = record        currentServerTime : longint;        vConsoleVersion : byte;        vConsoleRevision : byte;        reserved : word;        LSLInfo : TLSLInformation;     end;   PLogicalBoard = ^TLogicalBoard;   TLogicalBoard = record        LogTtlTxPackets : longint;        LogTtlRxPackets : longint;        LogUnclaimedPackets : longint;        reserved : longint;     end;   PGetLSLBoardStatsStructure = ^TGetLSLBoardStatsStructure;   TGetLSLBoardStatsStructure = record        currentServerTime : longint;        vConsoleVersion : byte;        vConsoleRevision : byte;        reserved : word;        boardStats : TLogicalBoard;     end;   PCopyOfPMStructure = ^TCopyOfPMStructure;   TCopyOfPMStructure = record        f1 : array[0..63] of byte;        f2 : longint;        f3 : longint;     end;   PCopyOfGenericInfoDef = ^TCopyOfGenericInfoDef;   TCopyOfGenericInfoDef = record        mediaInfo : TCopyOfPMStructure;        mediatype : longint;        cartridgetype : longint;        unitsize : longint;        blocksize : longint;        capacity : longint;        preferredunitsize : longint;        name : array[0..63] of byte;        _type : longint;        status : longint;        functionmask : longint;        controlmask : longint;        parentcount : longint;        siblingcount : longint;        childcount : longint;        specificinfosize : longint;        objectuniqueid : longint;        mediaslot : longint;     end;   PGetMManagerObjInfoStructure = ^TGetMManagerObjInfoStructure;   TGetMManagerObjInfoStructure = record        currentServerTime : longint;        vConsoleVersion : byte;        vConsoleRevision : byte;        reserved : word;        info : TCopyOfGenericInfoDef;     end;   PGetMMObjectListsStructure = ^TGetMMObjectListsStructure;   TGetMMObjectListsStructure = record        currentServerTime : longint;        vConsoleVersion : byte;        vConsoleRevision : byte;        reserved : word;        nextStartNum : longint;        objectCount : longint;        objects : longint;     end;   PGetMMObjectChildListStructure = ^TGetMMObjectChildListStructure;   TGetMMObjectChildListStructure = record        currentServerTime : longint;        vConsoleVersion : byte;        vConsoleRevision : byte;        reserved : word;        nextStartNum : longint;        objectCount : longint;        objects : longint;     end;   PVolumeSegmentStructure = ^TVolumeSegmentStructure;   TVolumeSegmentStructure = record        segmentDevice : longint;        segmentOffset : longint;        segmentSize : longint;     end;   PGetVolumeSegmentListStructure = ^TGetVolumeSegmentListStructure;   TGetVolumeSegmentListStructure = record        currentServerTime : longint;        vConsoleVersion : byte;        vConsoleRevision : byte;        reserved : word;        numberOfSegments : longint;        segment : TVolumeSegmentStructure;     end;   PProtocolStackInfo = ^TProtocolStackInfo;   TProtocolStackInfo = record        stackNumber : longint;        stackName : array[0..15] of byte;     end;   PGetActiveProtocolStackStructure = ^TGetActiveProtocolStackStructure;   TGetActiveProtocolStackStructure = record        currentServerTime : longint;        vConsoleVersion : byte;        vConsoleRevision : byte;        reserved : word;        maxNumberOfStacks : longint;        stackCount : longint;        nextStartNumber : longint;        stackInfo : TProtocolStackInfo;     end;   PGetProtocolConfigStructure = ^TGetProtocolConfigStructure;   TGetProtocolConfigStructure = record        currentServerTime : longint;        vConsoleVersion : byte;        vConsoleRevision : byte;        reserved : word;        configMajorVersion : byte;        configMinorVerstion : byte;        stackMajorVersion : byte;        stackMinorVersion : byte;        shortName : array[0..15] of byte;        fullNameLength : byte;        fullName : byte;     end;   PGetProtocolStatsStructure = ^TGetProtocolStatsStructure;   TGetProtocolStatsStructure = record        currentServerTime : longint;        vConsoleVersion : byte;        vConsoleRevision : byte;        reserved : word;        StatMajorVersion : byte;        StatMinorVersion : byte;        GenericCounters : word;        ValidCntsMask : longint;        TotalTxPackets : longint;        TotalRxPackets : longint;        IgnoredRxPackets : longint;        NumberOfCustomCounters : word;     end;   PProtocolCustomInfo = ^TProtocolCustomInfo;   TProtocolCustomInfo = record        value : longint;        length : byte;        customData : byte;     end;   PGetProtocolCustomInfoStructure = ^TGetProtocolCustomInfoStructure;   TGetProtocolCustomInfoStructure = record        currentServerTime : longint;        vConsoleVersion : byte;        vConsoleRevision : byte;        reserved : word;        customCount : longint;        info : TProtocolCustomInfo;     end;   PGetProtocolByMediaStructure = ^TGetProtocolByMediaStructure;   TGetProtocolByMediaStructure = record        currentServerTime : longint;        vConsoleVersion : byte;        vConsoleRevision : byte;        reserved : word;        stackIDCount : longint;        stackID : longint;     end;   PGetProtocolByBoardStructure = ^TGetProtocolByBoardStructure;   TGetProtocolByBoardStructure = record        currentServerTime : longint;        vConsoleVersion : byte;        vConsoleRevision : byte;        reserved : word;        stackIDCount : longint;        stackID : longint;     end;   PGetMediaNameByNumberStructure = ^TGetMediaNameByNumberStructure;   TGetMediaNameByNumberStructure = record        currentServerTime : longint;        vConsoleVersion : byte;        vConsoleRevision : byte;        reserved : word;        mediaNameLength : byte;        mediaName : byte;     end;   PGetMediaNumberListStructure = ^TGetMediaNumberListStructure;   TGetMediaNumberListStructure = record        currentServerTime : longint;        vConsoleVersion : byte;        vConsoleRevision : byte;        reserved : word;        maxNumberOfMedia : longint;        mediaListCount : longint;        mediaList : longint;     end;   PGetRouterAndSAPInfoStructure = ^TGetRouterAndSAPInfoStructure;   TGetRouterAndSAPInfoStructure = record        currentServerTime : longint;        vConsoleVersion : byte;        vConsoleRevision : byte;        reserved : word;        RIPSocketNumber : longint;        routerDownFlag : longint;        trackOnFlag : longint;        extRouterActiveFlag : longint;        SAPSocketNumber : longint;        rpyNearestServerFlag : longint;     end;   PGetNetRouterInfoStructure = ^TGetNetRouterInfoStructure;   TGetNetRouterInfoStructure = record        currentServerTime : longint;        vConsoleVersion : byte;        vConsoleRevision : byte;        reserved : word;        netIDNumber : longint;        hopsToNet : word;        netStatus : word;        timeToNet : word;     end;   PRoutersInfoStructure = ^TRoutersInfoStructure;   TRoutersInfoStructure = record        node : array[0..5] of byte;        connectedLAN : longint;        hopsToNetCount : word;        timeToNet : word;     end;   PGetNetworkRoutersInfoStructure = ^TGetNetworkRoutersInfoStructure;   TGetNetworkRoutersInfoStructure = record        currentServerTime : longint;        vConsoleVersion : byte;        vConsoleRevision : byte;        reserved : word;        numberOfEntries : longint;        info : TRoutersInfoStructure;     end;   PKnownNetworksStructure = ^TKnownNetworksStructure;   TKnownNetworksStructure = record        netIDNumber : longint;        hopsToNet : word;        netStatus : word;        timeToNet : word;     end;   PGetKnownNetworksStructure = ^TGetKnownNetworksStructure;   TGetKnownNetworksStructure = record        currentServerTime : longint;        vConsoleVersion : byte;        vConsoleRevision : byte;        reserved : word;        numberOfEntries : longint;        info : TKnownNetworksStructure;     end;   PGetServerInfoStructure = ^TGetServerInfoStructure;   TGetServerInfoStructure = record        currentServerTime : longint;        vConsoleVersion : byte;        vConsoleRevision : byte;        reserved : word;        serverAddress : array[0..11] of byte;        hopsToServer : word;     end;   PServerSourceInfoStructure = ^TServerSourceInfoStructure;   TServerSourceInfoStructure = record        serverNode : array[0..5] of byte;        connectLAN : longint;        hopCount : word;     end;   PGetServerSourcesStructure = ^TGetServerSourcesStructure;   TGetServerSourcesStructure = record        currentServerTime : longint;        vConsoleVersion : byte;        vConsoleRevision : byte;        reserved : word;        numberOfEntries : longint;        info : TServerSourceInfoStructure;     end;   PKnownServerStructure = ^TKnownServerStructure;   TKnownServerStructure = record        serverAddress : array[0..11] of byte;        hopCount : word;        serverNameLength : byte;        name : byte;     end;   PGetKnownServersInfoStructure = ^TGetKnownServersInfoStructure;   TGetKnownServersInfoStructure = record        currentServerTime : longint;        vConsoleVersion : byte;        vConsoleRevision : byte;        reserved : word;        numberOfEntries : longint;        info : TKnownServerStructure;     end;{$include npackoff.inc}function SSGetActiveConnListByType(startConnNumber:longint; connType:longint; buffer:pointer; bufferLen:word):longint;cdecl;external Clib name 'SSGetActiveConnListByType';function SSGetActiveLANBoardList(startNumber:longint; buffer:pointer; bufferLen:word):longint;cdecl;external Clib name 'SSGetActiveLANBoardList';function SSGetActiveProtocolStacks(startNumber:longint; buffer:pointer; bufferLen:word):longint;cdecl;external Clib name 'SSGetActiveProtocolStacks';function SSGetCacheInfo(pointer:PBYTE; bufferLen:word):longint;cdecl;external Clib name 'SSGetCacheInfo';function SSGetCPUInfo(CPUNumber:longint; buffer:pointer; bufferLen:word):longint;cdecl;external Clib name 'SSGetCPUInfo';function SSGetDirCacheInfo(buffer:pointer; bufferLen:word):longint;cdecl;external Clib name 'SSGetDirCacheInfo';function SSGetFileServerInfo(buffer:pointer; bufferLen:word):longint;cdecl;external Clib name 'SSGetFileServerInfo';function SSGetFileSystemInfo(fileSystemID:longint; buffer:pointer; bufferLen:word):longint;cdecl;external Clib name 'SSGetFileSystemInfo';function SSGetGarbageCollectionInfo(buffer:pointer; bufferLen:word):longint;cdecl;external Clib name 'SSGetGarbageCollectionInfo';function SSGetIPXSPXInfo(buffer:pointer; bufferLen:word):longint;cdecl;external Clib name 'SSGetIPXSPXInfo';function SSGetKnownNetworksInfo(startNumber:longint; buffer:pointer; bufferLen:word):longint;cdecl;external Clib name 'SSGetKnownNetworksInfo';function SSGetKnownServersInfo(startNumber:longint; serverType:longint; buffer:pointer; bufferLen:word):longint;cdecl;external Clib name 'SSGetKnownServersInfo';function SSGetLANCommonCounters(boardNumber:longint; blockNumber:longint; buffer:pointer; bufferLen:word):longint;cdecl;external Clib name 'SSGetLANCommonCounters';function SSGetLANConfiguration(boardNumber:longint; buffer:pointer; bufferLen:word):longint;cdecl;external Clib name 'SSGetLANConfiguration';function SSGetLANCustomCounters(boardNumber:longint; startNumber:longint; buffer:pointer; bufferLen:word):longint;cdecl;external Clib name 'SSGetLANCustomCounters';function SSGetLSLInfo(buffer:pointer; bufferLen:word):longint;cdecl;external Clib name 'SSGetLSLInfo';function SSGetLSLLogicalBoardStats(boardNumber:longint; buffer:pointer; bufferLen:word):longint;cdecl;external Clib name 'SSGetLSLLogicalBoardStats';function SSGetLoadedMediaNumberList(buffer:pointer; bufferLen:word):longint;cdecl;external Clib name 'SSGetLoadedMediaNumberList';function SSGetMediaManagerObjChildList(startNumber:longint; objType:longint; parentObjNumber:longint; buffer:pointer; bufferLen:word):longint;cdecl;external Clib name 'SSGetMediaManagerObjChildList';function SSGetMediaManagerObjInfo(objNumber:longint; buffer:pointer; bufferLen:word):longint;cdecl;external Clib name 'SSGetMediaManagerObjInfo';function SSGetMediaManagerObjList(startNumber:longint; objType:longint; buffer:pointer; bufferLen:word):longint;cdecl;external Clib name 'SSGetMediaManagerObjList';function SSGetMediaNameByNumber(mediaNumber:longint; buffer:pointer; bufferLen:word):longint;cdecl;external Clib name 'SSGetMediaNameByNumber';function SSGetNetRouterInfo(networkNumber:longint; buffer:pointer; bufferLen:word):longint;cdecl;external Clib name 'SSGetNetRouterInfo';function SSGetNetworkRoutersInfo(networkNumber:longint; startNumber:longint; buffer:pointer; bufferLen:word):longint;cdecl;external Clib name 'SSGetNetworkRoutersInfo';function SSGetNLMInfo(NLMNumber:longint; buffer:pointer; bufferLen:word):longint;cdecl;external Clib name 'SSGetNLMInfo';function SSGetNLMLoadedList(startNumber:longint; buffer:pointer; bufferLen:word):longint;cdecl;external Clib name 'SSGetNLMLoadedList';function SSGetNLMResourceTagList(NLMNumber:longint; startNumber:longint; buffer:pointer; bufferLen:word):longint;cdecl;external Clib name 'SSGetNLMResourceTagList';function SSGetOSVersionInfo(buffer:pointer; bufferLen:word):longint;cdecl;external Clib name 'SSGetOSVersionInfo';function SSGetPacketBurstInfo(buffer:pointer; bufferLen:word):longint;cdecl;external Clib name 'SSGetPacketBurstInfo';function SSGetProtocolConfiguration(startNumber:longint; buffer:pointer; bufferLen:word):longint;cdecl;external Clib name 'SSGetProtocolConfiguration';function SSGetProtocolCustomInfo(stackNumber:longint; customStartNumber:longint; buffer:pointer; bufferLen:word):longint;cdecl;external Clib name 'SSGetProtocolCustomInfo';function SSGetProtocolNumbersByLANBoard(LANBoardNumber:longint; buffer:pointer; bufferLen:word):longint;cdecl;external Clib name 'SSGetProtocolNumbersByLANBoard';function SSGetProtocolNumbersByMedia(mediaNumber:longint; buffer:pointer; bufferLen:word):longint;cdecl;external Clib name 'SSGetProtocolNumbersByMedia';function SSGetProtocolStatistics(stackNumber:longint; buffer:pointer; bufferLen:word):longint;cdecl;external Clib name 'SSGetProtocolStatistics';function SSGetRouterAndSAPInfo(buffer:pointer; bufferLen:word):longint;cdecl;external Clib name 'SSGetRouterAndSAPInfo';function SSGetServerInfo(serverType:longint; nameLength:byte; name:PBYTE; buffer:pointer; bufferLen:word):longint;cdecl;external Clib name 'SSGetServerInfo';function SSGetServerSourcesInfo(startNumber:longint; serverType:longint; nameLength:byte; name:PChar; buffer:pointer;           bufferLen:word):longint;cdecl;external Clib name 'SSGetServerSourcesInfo';function SSGetUserInfo(connectionNumber:longint; buffer:pointer; bufferLen:word):longint;cdecl;external Clib name 'SSGetUserInfo';function SSGetVolumeSegmentList(volumeNumber:longint; buffer:pointer; bufferLen:word):longint;cdecl;external Clib name 'SSGetVolumeSegmentList';function SSGetVolumeSwitchInfo(startNumber:longint; buffer:pointer; bufferLen:word):longint;cdecl;external Clib name 'SSGetVolumeSwitchInfo';{------------------------------------------------------------------------------}const _MAX_LOGREC_NAME = 128;     _MAX_SEMAPHORE_NAME = 128;function  ClearFile(fileName:Pchar):longint; cdecl;external Clib name 'ClearFile';procedure ClearFileSet;                      cdecl;external Clib name 'ClearFileSet';function  ClearLogicalRecord(logicalRecordName:Pchar):longint;cdecl;external Clib name 'ClearLogicalRecord';procedure ClearLogicalRecordSet;             cdecl;external Clib name 'ClearLogicalRecordSet';function  ClearPhysicalRecord(fileHandle,recordStartOffset,recordLength:longint):longint;cdecl;external Clib name 'ClearPhysicalRecord';procedure ClearPhysicalRecordSet;cdecl;external Clib name 'ClearPhysicalRecordSet';function  CloseSemaphore(semaphoreHandle:longint):longint;cdecl;external Clib name 'CloseSemaphore';function  ExamineSemaphore(semaphoreHandle:longint; semaphoreValue:Plongint; openCount:PWORD):longint;cdecl;external Clib name 'ExamineSemaphore';function  ExamineSemaphore(semaphoreHandle:longint; var semaphoreValue:longint; var openCount:word):longint;cdecl;external Clib name 'ExamineSemaphore';function  LockFileSet(timeoutLimit:word):longint;cdecl;external Clib name 'LockFileSet';function  LockLogicalRecordSet(timeoutLimit:word):longint;cdecl;external Clib name 'LockLogicalRecordSet';function  LockPhysicalRecordSet(lockDirective:byte; timeoutLimit:word):longint;cdecl;external Clib name 'LockPhysicalRecordSet';function  LogFile(fileName:Pchar; lockDirective:byte; timeoutLimit:word):longint;cdecl;external Clib name 'LogFile';function  LogLogicalRecord(logicalRecordName:Pchar; lockDirective:byte; timeoutLimit:word):longint;cdecl;external Clib name 'LogLogicalRecord';function  LogPhysicalRecord(fileHandle,recordStartOffset,recordLength:longint; lockDirective:byte; timeoutLimit:word):longint;cdecl;external Clib name 'LogPhysicalRecord';function  OpenSemaphore(semaphoreName:Pchar; initialValue:longint; semaphoreHandle:Plongint; openCount:PWORD):longint;cdecl;external Clib name 'OpenSemaphore';function  OpenSemaphore(semaphoreName:Pchar; initialValue:longint; var semaphoreHandle:longint; var openCount:word):longint;cdecl;external Clib name 'OpenSemaphore';function  ReleaseFile(fileName:Pchar):longint;cdecl;external Clib name 'ReleaseFile';procedure ReleaseFileSet;cdecl;external Clib name 'ReleaseFileSet';function  ReleaseLogicalRecord(logicalRecordName:Pchar):longint;cdecl;external Clib name 'ReleaseLogicalRecord';procedure ReleaseLogicalRecordSet;cdecl;external Clib name 'ReleaseLogicalRecordSet';function  ReleasePhysicalRecord(fileHandle,recordStartOffset,recordLength:longint):longint;cdecl;external Clib name 'ReleasePhysicalRecord';procedure ReleasePhysicalRecordSet;cdecl;external Clib name 'ReleasePhysicalRecordSet';function  SignalSemaphore(semaphoreHandle:longint):longint;cdecl;external Clib name 'SignalSemaphore';function  WaitOnSemaphore(semaphoreHandle:longint; timeoutLimit:word):longint;cdecl;external Clib name 'WaitOnSemaphore';{------------------------------------------------------------------------------}function TTSAbortTransaction:longint;cdecl;external 'clib' name 'TTSAbortTransaction';function TTSBeginTransaction:longint;cdecl;external 'clib' name 'TTSBeginTransaction';function TTSEndTransaction(transactionNumber:Plongint):longint;cdecl;external 'clib' name 'TTSEndTransaction';function TTSEndTransaction(var transactionNumber:longint):longint;cdecl;external 'clib' name 'TTSEndTransaction';function TTSGetApplicationThresholds(logicalRecordLockThreshold:pbyte; physicalRecordLockThreshold:pbyte):longint;cdecl;external 'clib' name 'TTSGetApplicationThresholds';function TTSGetWorkstationThresholds(logicalRecordLockThreshold:pbyte; physicalRecordLockThreshold:pbyte):longint;cdecl;external 'clib' name 'TTSGetWorkstationThresholds';function TTSIsAvailable:longint;cdecl;external 'clib' name 'TTSIsAvailable';function TTSSetApplicationThresholds(logicalRecordLockThreshold:pbyte; physicalRecordLockThreshold:pbyte):longint;cdecl;external 'clib' name 'TTSSetApplicationThresholds';function TTSSetWorkstationThresholds(logicalRecordLockThreshold:pbyte; physicalRecordLockThreshold:pbyte):longint;cdecl;external 'clib' name 'TTSSetWorkstationThresholds';function TTSTransactionStatus(transactionNumber:longint):longint;cdecl;external 'clib' name 'TTSTransactionStatus';{------------------------------------------------------------------------------}implementationend.
 |