nwnit.pp 138 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157
  1. Netware Server Imports for FreePascal, contains definition from the
  2. following ndk header files:
  3. nit/nwaccntg.h nit/nwafp.h nit/nwbindry.h nit/nwdatamg.h nit/nwdir.h
  4. nit/nwenvrn.h nit/nwenvrn1.h nit/nwextatt.h nit/nwmsg.h nit/nwnit.h
  5. nit/nwqueue.h nit/nwserial.h nit/nwservst.h nit/nwsync.h nit/nwtts.h
  6. Initial Version 2002/02/22 Armin ([email protected] or [email protected])
  7. The C-NDK and Documentation can be found here:
  8. http://developer.novell.com
  9. This program is distributed in the hope that it will be useful,but WITHOUT
  10. ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  11. FITNESS FOR A PARTICULAR PURPOSE.
  12. Do not blame Novell if there are errors in this file, instead
  13. contact me and i will se what i can do.
  14. }
  15. unit nwnit;
  16. interface
  17. {$mode objfpc}
  18. {$packrecords C}
  19. const
  20. Clib='clib';
  21. function AccountingInstalled (fileServerID:word):longint;cdecl;external Clib name 'AccountingInstalled';
  22. function GetAccountStatus (binderyObjectType:word;
  23. binderyObjectName:Pchar;
  24. balance,limits,holds:Plongint):longint;cdecl;external Clib name 'GetAccountStatus';
  25. function GetAccountStatus (binderyObjectType:word;
  26. binderyObjectName:Pchar;
  27. var balance,limits,holds:longint):longint;cdecl;external Clib name 'GetAccountStatus';
  28. function SubmitAccountCharge(binderyObjectType:word;
  29. binderyObjectName:Pchar;
  30. serviceType:word;
  31. chargeAmount:longint;
  32. cancelHoldAmount:longint;
  33. commentType:word;
  34. comment:Pchar):longint;cdecl;external Clib name 'SubmitAccountCharge';
  35. function SubmitAccountChargeWithLength(
  36. binderyObjectType:word;
  37. binderyObjectName:Pchar;
  38. serviceType:word;
  39. chargeAmount:longint;
  40. cancelHoldAmount:longint;
  41. commentType:word;
  42. commentData:pointer;
  43. commentLength:word):longint;cdecl;external Clib name 'SubmitAccountChargeWithLength';
  44. function SubmitAccountHold (binderyObjectType:word;
  45. binderyObjectName:Pchar;
  46. reserveAmount:longint):longint;cdecl;external Clib name 'SubmitAccountHold';
  47. function SubmitAccountNote (binderyObjectType:word;
  48. binderyObjectName:Pchar;
  49. serviceType:word;
  50. commentType:word;
  51. comment:Pchar):longint;cdecl;external Clib name 'SubmitAccountNote';
  52. {------------------------------------------------------------------------------}
  53. {$include npackon.inc}
  54. type
  55. PAFPFILEINFO = ^TAFPFILEINFO;
  56. TAFPFILEINFO = record
  57. entryID : longint;
  58. parentID : longint;
  59. attributes : word;
  60. dataForkLength : longint;
  61. resourceForkLength : longint;
  62. numOffspring : word;
  63. creationDate : word;
  64. accessDate : word;
  65. modifyDate : word;
  66. modifyTime : word;
  67. backupDate : word;
  68. backupTime : word;
  69. finderInfo : array[0..31] of byte;
  70. longName : array[0..32] of char;
  71. pad1 : char;
  72. ownerID : longint;
  73. shortName : array[0..12] of char;
  74. pad2 : char;
  75. accessPrivileges : word;
  76. proDosInfo : array[0..5] of byte;
  77. end;
  78. PAFPSETINFO = ^TAFPSETINFO;
  79. TAFPSETINFO = record
  80. attributes : word;
  81. creationDate : word;
  82. accessDate : word;
  83. modifyDate : word;
  84. modifyTime : word;
  85. backupDate : word;
  86. backupTime : word;
  87. finderInfo : array[0..31] of byte;
  88. proDosInfo : array[0..5] of byte;
  89. end;
  90. {$include npackoff.inc}
  91. function AFPAllocTemporaryDirHandle (connectionID:word;
  92. volumeNum:byte;
  93. AFPEntryID:longint;
  94. AFPPathString:Pchar;
  95. NetWareDirectoryHandle:PBYTE;
  96. AccessRights:PBYTE):longint; cdecl;external Clib name 'AFPAllocTemporaryDirHandle';
  97. function AFPCreateDirectory (connectionID:word;
  98. volumeNum:byte;
  99. AFPEntryID:longint;
  100. finderInfo:PBYTE;
  101. AFPPathString:Pchar;
  102. newAFPEntryID:Plongint):longint;cdecl;external Clib name 'AFPCreateDirectory';
  103. function AFPCreateFile (connectionID:word;
  104. volumeNum:byte;
  105. AFPEntryID:longint;
  106. deleteExistingFile:byte;
  107. finderInfo:PBYTE;
  108. AFPPathString:Pchar;
  109. newAFPEntryID:Plongint):longint; cdecl;external Clib name 'AFPCreateFile';
  110. function AFPDelete (connectionID:word;
  111. volumeNum:byte;
  112. AFPEntryID:longint;
  113. AFPPathString:Pchar):longint; cdecl;external Clib name 'AFPDelete';
  114. function AFPDirectoryEntry (connectionID:word;
  115. directoryHandle:byte;
  116. pathName:Pchar):longint; cdecl;external Clib name 'AFPDirectoryEntry';
  117. function AFPGetEntryIDFromName (connectionID:word;
  118. volumeNum:byte;
  119. AFPEntryID:longint;
  120. AFPPathString:Pchar;
  121. newAFPEntryID:Plongint):longint; cdecl;external Clib name 'AFPGetEntryIDFromName';
  122. function AFPGetEntryIDFromNetWareHandle (connectionID:word;
  123. NetWareHandle:PBYTE;
  124. volumeID:PBYTE;
  125. AFPEntryID:Plongint;
  126. forkIndicator:PBYTE):longint; cdecl;external Clib name 'AFPGetEntryIDFromNetWareHandle';
  127. function AFPGetEntryIDFromNetWareHandle (connectionID:word;
  128. var NetWareHandle:byte;
  129. var volumeID:byte;
  130. var AFPEntryID:longint;
  131. var forkIndicator:byte):longint; cdecl;external Clib name 'AFPGetEntryIDFromNetWareHandle';
  132. function AFPGetEntryIDFromPathName (connectionID:word;
  133. directoryHandle:byte;
  134. pathName:Pchar;
  135. AFPEntryID:Plongint):longint; cdecl;external Clib name 'AFPGetEntryIDFromPathName';
  136. function AFPGetFileInformation (connectionID:word;
  137. volumeNum:byte;
  138. AFPEntryID:longint;
  139. requestBitMap:word;
  140. AFPPathString:Pchar;
  141. strucSize:word;
  142. AFPFileInfo:PAFPFILEINFO):longint; cdecl;external Clib name 'AFPGetFileInformation';
  143. function AFPGetFileInformation (connectionID:word;
  144. volumeNum:byte;
  145. AFPEntryID:longint;
  146. requestBitMap:word;
  147. AFPPathString:Pchar;
  148. strucSize:word;
  149. var AFPFileInfo:TAFPFILEINFO):longint; cdecl;external Clib name 'AFPGetFileInformation';
  150. function AFPOpenFileFork (connectionID:word;
  151. volumeNum:byte;
  152. AFPEntryID:longint;
  153. forkIndicator:byte;
  154. accessMode:byte;
  155. AFPPathString:Pchar;
  156. fileID:Plongint;
  157. forkLength:Plongint;
  158. NetWareHandle:PBYTE;
  159. fileHandle:Plongint):longint; cdecl;external Clib name 'AFPOpenFileFork';
  160. function AFPOpenFileFork (connectionID:word;
  161. volumeNum:byte;
  162. AFPEntryID:longint;
  163. forkIndicator:byte;
  164. accessMode:byte;
  165. AFPPathString:Pchar;
  166. var fileID:longint;
  167. var forkLength:longint;
  168. var NetWareHandle:byte;
  169. var fileHandle:longint):longint; cdecl;external Clib name 'AFPOpenFileFork';
  170. function AFPRename (connectionID:word;
  171. volumeNum:byte;
  172. AFPSourceEntryID:longint;
  173. AFPDestEntryID:longint;
  174. AFPSourcePath:Pchar;
  175. AFPDestPath:Pchar):longint; cdecl;external Clib name 'AFPRename';
  176. function AFPScanFileInformation (connectionID:word;
  177. volumeNum:byte;
  178. AFPEntryID:longint;
  179. AFPLastSeenID:Plongint;
  180. searchBitMap:word;
  181. requestBitMap:word;
  182. AFPPathString:Pchar;
  183. strucSize:word;
  184. AFPScanFileInfo:PAFPFILEINFO):longint; cdecl;external Clib name 'AFPScanFileInformation';
  185. function AFPScanFileInformation (connectionID:word;
  186. volumeNum:byte;
  187. AFPEntryID:longint;
  188. AFPLastSeenID:Plongint;
  189. searchBitMap:word;
  190. requestBitMap:word;
  191. AFPPathString:Pchar;
  192. strucSize:word;
  193. var AFPScanFileInfo:TAFPFILEINFO):longint; cdecl;external Clib name 'AFPScanFileInformation';
  194. function AFPSetFileInformation (connectionID:word;
  195. volumeNum:byte;
  196. AFPEntryID:longint;
  197. requestBitMap:word;
  198. AFPPathString:Pchar;
  199. strucSize:word;
  200. AFPSetInfo:PAFPSETINFO):longint; cdecl;external Clib name 'AFPSetFileInformation';
  201. function AFPSetFileInformation (connectionID:word;
  202. volumeNum:byte;
  203. AFPEntryID:longint;
  204. requestBitMap:word;
  205. AFPPathString:Pchar;
  206. strucSize:word;
  207. var AFPSetInfo:TAFPSETINFO):longint; cdecl;external Clib name 'AFPSetFileInformation';
  208. function AFPSupported (connectionID:word):longint; cdecl;external Clib name 'AFPSupported';
  209. {------------------------------------------------------------------------------}
  210. const
  211. BS_ANY_READ = $0000;
  212. BS_ANY_WRITE = $0000; // Writeable by anyone
  213. BS_LOGGED_READ = $0001; // Must be logged in to read
  214. BS_OBJECT_READ = $0002; // Readable by same object or super
  215. BS_SUPER_READ = $0003; // Readable by supervisor only
  216. BS_BINDERY_READ = $0004; // Readable only by the bindery
  217. BS_LOGGED_WRITE = $0010; // Must be logged in to write
  218. BS_OBJECT_WRITE = $0020; // Writeable by same object or super
  219. BS_SUPER_WRITE = $0030; // Writeable only by the supervisor
  220. BS_BINDERY_WRITE = $0040; // Writeable by the bindery only
  221. // Bindery object type definitions
  222. OT_WILD = -(1);
  223. OT_UNKNOWN = $0000;
  224. OT_USER = $0001;
  225. OT_USER_GROUP = $0002;
  226. OT_GROUP = $0002;
  227. OT_PRINT_QUEUE = $0003;
  228. OT_FILE_SERVER = $0004;
  229. OT_JOB_SERVER = $0005;
  230. OT_GATEWAY = $0006;
  231. OT_PRINT_SERVER = $0007;
  232. OT_ARCHIVE_QUEUE = $0008;
  233. OT_ARCHIVE_SERVER = $0009;
  234. OT_JOB_QUEUE = $000A;
  235. OT_ADMINISTRATION = $000B;
  236. OT_NAS_SNA_GATEWAY = $0021;
  237. OT_REMOTE_BRIDGE_SERVER = $0024;
  238. OT_TCPIP_GATEWAY = $0027;
  239. OT_TIME_SYNCHRONIZATION_SERVER = $002D;
  240. OT_ARCHIVE_SERVER_DYNAMIC_SAP = $002E;
  241. OT_ADVERTISING_PRINT_SERVER = $0047;
  242. OT_BTRIEVE_VAP = $004B;
  243. OT_NWSQL_VAP = $004C;
  244. OT_PRINT_QUEUE_USER = $0053;
  245. // Attributes of objects and properties in the bindery
  246. BF_STATIC = $0000;
  247. BF_DYNAMIC = $0001;
  248. BF_ITEM = $0000;
  249. BF_SET = $0002;
  250. BL_OBJECT = 48; // Maximum lengths of object, properties, (includes terminating null)
  251. BL_PROPERTY = 16;
  252. BL_PASSWORD = 128;
  253. function AddBinderyObjectToSet (objectName : Pchar;
  254. objectType : word;
  255. propertyName : Pchar;
  256. memberName : Pchar;
  257. memberType : word):longint; cdecl;external Clib name 'AddBinderyObjectToSet';
  258. function ChangeBinderyObjectPassword (objectName : Pchar;
  259. objectType : word;
  260. oldPassword : Pchar;
  261. newPassword : Pchar):longint; cdecl;external Clib name 'ChangeBinderyObjectPassword';
  262. function ChangeBinderyObjectSecurity (objectName : Pchar;
  263. objectType : word;
  264. newObjectSecurity : byte):longint; cdecl;external Clib name 'ChangeBinderyObjectSecurity';
  265. function ChangePropertySecurity (objectName : Pchar;
  266. objectType : word;
  267. propertyName : Pchar;
  268. newPropertySecurity: byte):longint; cdecl;external Clib name 'ChangePropertySecurity';
  269. function CloseBindery:longint; cdecl;external Clib name 'CloseBindery';
  270. function CreateBinderyObject (objectName : Pchar;
  271. objectType : word;
  272. objectFlag : byte;
  273. objectSecurity : byte):longint; cdecl;external Clib name 'CreateBinderyObject';
  274. function CreateProperty (objectName : Pchar;
  275. objectType : word;
  276. propertyName : Pchar;
  277. propertyFlags : byte;
  278. propertySecurity : byte):longint; cdecl;external Clib name 'CreateProperty';
  279. function DeleteBinderyObject (objectName : Pchar;
  280. objectType : word):longint; cdecl;external Clib name 'DeleteBinderyObject';
  281. function DeleteBinderyObjectFromSet (objectName:Pchar;
  282. objectType:word;
  283. propertyName:Pchar;
  284. memberName:Pchar;
  285. memberType:word):longint; cdecl;external Clib name 'DeleteBinderyObjectFromSet';
  286. function DeleteProperty (objectName:Pchar;
  287. objectType:word;
  288. propertyName:Pchar):longint; cdecl;external Clib name 'DeleteProperty';
  289. function GetBinderyAccessLevel (accessLevel:PBYTE;
  290. objectID:Plongint):longint; cdecl;external Clib name 'GetBinderyAccessLevel';
  291. function GetBinderyAccessLevel (var accessLevel:byte;
  292. var objectID:longint):longint; cdecl;external Clib name 'GetBinderyAccessLevel';
  293. function GetBinderyObjectID (objectName:Pchar;
  294. objectType:word;
  295. objectID:Plongint):longint; cdecl;external Clib name 'GetBinderyObjectID';
  296. function GetBinderyObjectID (objectName:Pchar;
  297. objectType:word;
  298. var objectID:longint):longint; cdecl;external Clib name 'GetBinderyObjectID';
  299. function GetBinderyObjectName (objectID:longint;
  300. objectName:Pchar;
  301. objectType:PWORD):longint; cdecl;external Clib name 'GetBinderyObjectName';
  302. function GetBinderyObjectName (objectID:longint;
  303. objectName:Pchar;
  304. var objectType:word):longint; cdecl;external Clib name 'GetBinderyObjectName';
  305. function IsBinderyObjectInSet (objectName:Pchar;
  306. objectType:word;
  307. propertyName:Pchar;
  308. memberName:Pchar;
  309. memberType:word):longint; cdecl;external Clib name 'IsBinderyObjectInSet';
  310. function OpenBindery:longint; cdecl;external Clib name 'OpenBindery';
  311. function ReadPropertyValue (objectName : Pchar;
  312. objectType : word;
  313. propertyName : Pchar;
  314. segmentNumber: longint;
  315. propertyValue: PBYTE;
  316. moreSegments : PBYTE;
  317. propertyFlags: PBYTE):longint; cdecl;external Clib name 'ReadPropertyValue';
  318. function ReadPropertyValue (objectName : Pchar;
  319. objectType : word;
  320. propertyName : Pchar;
  321. segmentNumber: longint;
  322. var propertyValue: byte;
  323. var moreSegments : byte;
  324. var propertyFlags: byte):longint; cdecl;external Clib name 'ReadPropertyValue';
  325. function RenameBinderyObject (objectName : Pchar;
  326. newObjectName: Pchar;
  327. objectType : word):longint; cdecl;external Clib name 'RenameBinderyObject';
  328. function ScanBinderyObject (searchObjectName:Pchar;
  329. searchObjectType:word;
  330. objectID:Plongint;
  331. objectName:Pchar;
  332. objectType:PWORD;
  333. objectHasProperties:Pchar;
  334. objectFlag:Pchar;
  335. objectSecurity:Pchar):longint; cdecl;external Clib name 'ScanBinderyObject';
  336. function ScanBinderyObject (searchObjectName:Pchar;
  337. searchObjectType:word;
  338. var objectID:longint;
  339. objectName:Pchar;
  340. var objectType:word;
  341. objectHasProperties:Pchar;
  342. objectFlag:Pchar;
  343. objectSecurity:Pchar):longint; cdecl;external Clib name 'ScanBinderyObject';
  344. function ScanProperty (objectName:Pchar;
  345. objectType:word;
  346. searchPropertyName:Pchar;
  347. sequenceNumber:Plongint;
  348. propertyName:Pchar;
  349. propertyFlags:Pchar;
  350. propertySecurity:Pchar;
  351. propertyHasValue:Pchar;
  352. moreProperties:Pbyte):longint; cdecl;external Clib name 'ScanProperty';
  353. function ScanProperty (objectName:Pchar;
  354. objectType:word;
  355. searchPropertyName:Pchar;
  356. var sequenceNumber:longint;
  357. propertyName:Pchar;
  358. propertyFlags:Pchar;
  359. propertySecurity:Pchar;
  360. propertyHasValue:Pchar;
  361. var moreProperties:byte):longint; cdecl;external Clib name 'ScanProperty';
  362. function VerifyBinderyObjectPassword (objectName : Pchar;
  363. objectType : word;
  364. password : Pchar):longint; cdecl;external Clib name 'VerifyBinderyObjectPassword';
  365. function WritePropertyValue (objectName : Pchar;
  366. objectType : word;
  367. propertyName : Pchar;
  368. segmentNumber : longint;
  369. propertyValue : PBYTE;
  370. moreSegments : byte):longint; cdecl;external Clib name 'WritePropertyValue';
  371. function WritePropertyValue (objectName : Pchar;
  372. objectType : word;
  373. propertyName : Pchar;
  374. segmentNumber : longint;
  375. var propertyValue : byte;
  376. moreSegments : byte):longint; cdecl;external Clib name 'WritePropertyValue';
  377. {------------------------------------------------------------------------------}
  378. const
  379. ERR_INVALID_SUPPORT_MODULE_ID = 240;
  380. ERR_SUPPORT_MODULE_ALREADY_REGISTERED = 241;
  381. ERR_SUPPORT_MODULE_CREATE_FAILED = 242;
  382. ERR_SUPPORT_MODULE_CLOSE_FAILED = 243;
  383. ERR_SM_WRITE_NO_SPACE = 244;
  384. ERR_SM_WRITE_IO_ERROR = 245;
  385. ERR_SM_READ_IO_ERROR = 246;
  386. ERR_SUPPORT_MODULE_OPEN_FAILED = 247;
  387. ERR_SUPPORT_MODULE_DELETE_FAILED = 248;
  388. MaximumNumberOfDataStreams = 3;
  389. {$include npackon.inc}
  390. (*
  391. TInfo0Rep = record
  392. rIOStatus : longint;
  393. rInfoBlockSize: longint;
  394. rAvailSpace: longint;
  395. rUsedSpace: longint;
  396. rSMString: byte;
  397. end;
  398. TInfo1Rep = record
  399. rSMRegs : longint;
  400. end;
  401. TInfo2Rep = record
  402. NameLength : byte;
  403. end;
  404. *)
  405. type
  406. PSUPPORT_MODULE_INFO = ^TSUPPORT_MODULE_INFO;
  407. TSUPPORT_MODULE_INFO = record
  408. IOStatus : longint;
  409. InfoBlockSize : longint;
  410. AvailSpace : longint;
  411. UsedSpace : longint;
  412. SMString : char; // 128 length limit, Info block follows string
  413. end;
  414. {$include npackoff.inc}
  415. function NWDeRegisterDMSupportModule (SupportModuleID:longint;
  416. SupportModuleName:PChar;
  417. SlotNumber:longint):longint; cdecl;external Clib name 'NWDeRegisterDMSupportModule';
  418. function NWDeRegisterRTDataMigrationNLM (Station:longint;
  419. DMTAG:PBYTE;
  420. ForceFlag:longint):longint; cdecl;external Clib name 'NWDeRegisterRTDataMigrationNLM';
  421. function NWDeRegisterRTDataMigrationNLM (Station:longint;
  422. var DMTAG:byte;
  423. ForceFlag:longint):longint; cdecl;external Clib name 'NWDeRegisterRTDataMigrationNLM';
  424. { Local and Remote Call }
  425. procedure NWGetDataMigratorInfo (DMPresentFlag:PLongint;
  426. majorVersion:PLongint;
  427. minorVersion:PLongint;
  428. numberOfSupportModules:PLongint); cdecl;external Clib name 'NWGetDataMigratorInfo';
  429. procedure NWGetDataMigratorInfo (var DMPresentFlag:longint;
  430. var majorVersion:longint;
  431. var minorVersion:longint;
  432. var numberOfSupportModules:longint); cdecl;external Clib name 'NWGetDataMigratorInfo';
  433. { Local and Remote call }
  434. function NWGetDefaultSupportModule (defaultSupportModuleID:PLongint):longint; cdecl;external Clib name 'NWGetDefaultSupportModule';
  435. function NWGetDefaultSupportModule (var defaultSupportModuleID:longint):longint; cdecl;external Clib name 'NWGetDefaultSupportModule';
  436. { Local and Remote call }
  437. function NWGetDMFileInfo (path:Pchar;
  438. nameSpace:longint;
  439. supportModuleID:PLongint;
  440. validDataStreams:PLongint;
  441. estRetrievalTime:PLongint;
  442. info:PLongint):longint;cdecl;external Clib name 'NWGetDMFileInfo';
  443. function NWGetDMFileInfo (path:Pchar;
  444. nameSpace:longint;
  445. var supportModuleID:longint;
  446. var validDataStreams:longint;
  447. var estRetrievalTime:longint;
  448. var info:longint):longint;cdecl;external Clib name 'NWGetDMFileInfo';
  449. { Local and Remote call }
  450. function NWGetDMVolumeInfo (volume:longint;
  451. supportModuleID:longint;
  452. numberOfFilesMigrated:PLongint;
  453. totalMigratedSize:PLongint;
  454. spaceUsed:PLongint;
  455. limboUsed:PLongint;
  456. spaceMigrated:PLongint;
  457. filesLimbo:PLongint):longint; cdecl;external Clib name 'NWGetDMVolumeInfo';
  458. function NWGetDMVolumeInfo (volume:longint;
  459. supportModuleID:longint;
  460. var numberOfFilesMigrated:longint;
  461. var totalMigratedSize:longint;
  462. var spaceUsed:longint;
  463. var limboUsed:longint;
  464. var spaceMigrated:longint;
  465. var filesLimbo:longint):longint; cdecl;external Clib name 'NWGetDMVolumeInfo';
  466. { Local and Remote call }
  467. function NWGetSupportModuleInfo (informationLevel:longint;
  468. supportModuleID:longint;
  469. returnInfo:pointer;
  470. returnInfoLen:PLongint):longint;cdecl;external Clib name 'NWGetSupportModuleInfo';
  471. function NWGetSupportModuleInfo (informationLevel:longint;
  472. supportModuleID:longint;
  473. returnInfo:pointer;
  474. var returnInfoLen:longint):longint;cdecl;external Clib name 'NWGetSupportModuleInfo';
  475. function NWIsDataMigrationAllowed (Volume:longint):longint; cdecl;external Clib name 'NWIsDataMigrationAllowed';
  476. { Local and Remote call }
  477. function NWMoveFileFromDM (path:Pchar;
  478. nameSpace:longint):longint; cdecl;external Clib name 'NWMoveFileFromDM';
  479. { Local and Remote call }
  480. function NWMoveFileToDM (path:Pchar;
  481. nameSpace:longint;
  482. SupportModuleID:longint;
  483. flags:longint):longint; cdecl;external Clib name 'NWMoveFileToDM';
  484. function NWPeekFileData (path:Pchar;
  485. nameSpace:longint;
  486. noWaitFlag:longint;
  487. startingSector:longint;
  488. sectorsToRead:longint;
  489. buffer:PBYTE;
  490. sectorsRead:PLongint;
  491. bytesRead:PLongint;
  492. NoWaitReason:PLongint):longint; cdecl;external Clib name 'NWPeekFileData';
  493. function NWPeekFileData (path:Pchar;
  494. nameSpace:longint;
  495. noWaitFlag:longint;
  496. startingSector:longint;
  497. sectorsToRead:longint;
  498. var buffer;
  499. var sectorsRead:longint;
  500. var bytesRead:longint;
  501. var NoWaitReason:longint):longint; cdecl;external Clib name 'NWPeekFileData';
  502. type TFunction = function : longint; cdecl;
  503. function NWRegisterDMSupportModule (ioFlag:longint;
  504. addr:array of TFunction;
  505. SupportModuleName:PBYTE;
  506. SupportModuleID:longint;
  507. MaxSectorsXF:longint;
  508. SlotNumber:PLongint):longint; cdecl;external Clib name 'NWRegisterDMSupportModule';
  509. function NWRegisterRTDataMigrationNLM (Station:longint;
  510. addr:array of TFunction;
  511. DMTAG:PBYTE; majorVersion:longint;
  512. minorVersion:longint):longint; cdecl;external Clib name 'NWRegisterRTDataMigrationNLM';
  513. { Local and Remote call }
  514. function NWSetDefaultSupportModule (newSupportModuleID:longint;
  515. currentSupportModuleID:PLongint):longint; cdecl;external Clib name 'NWSetDefaultSupportModule';
  516. function NWSetDefaultSupportModule (newSupportModuleID:longint;
  517. var currentSupportModuleID:longint):longint; cdecl;external Clib name 'NWSetDefaultSupportModule';
  518. {------------------------------------------------------------------------------}
  519. { Trustee Access Rights in a network directory }
  520. const
  521. TA_NONE = $0000;
  522. TA_READ = $0001;
  523. TA_WRITE = $0002;
  524. TA_CREATE = $0008;
  525. TA_DELETE = $0010;
  526. TA_ACCESSCONTROL = $0020;
  527. TA_SEEFILES = $0040;
  528. TA_MODIFY = $0080;
  529. TA_SUPERVISOR = $0100;
  530. TA_ALL = $01FB;
  531. { Old names for rights }
  532. TA_OPEN = $0004;
  533. TA_OWNERSHIP = $0020;
  534. TA_SEARCH = $0040;
  535. BYTES_PER_SECTOR = 512;
  536. { define volume types }
  537. VINetWare386 = 0;
  538. VINetWare286 = 1;
  539. VINetWare386v30 = 2;
  540. VINetWare386v31 = 3;
  541. { define the extended volume information status flag bits }
  542. NWSubAllocEnabledBit = $01;
  543. NWCompressionEnabledBit = $02;
  544. NWMigrationEnabledBit = $04;
  545. NWAuditingEnabledBit = $08;
  546. NWReadOnlyEnabledBit = $10;
  547. {$include npackon.inc}
  548. type
  549. PAnswerStructure = ^TAnswerStructure;
  550. TAnswerStructure = record
  551. ALevelNumber : byte;
  552. AMaximumAmount : longint; // ?? TMisalignedLONG;
  553. ACurrentAmount : longint; // ?? TMisalignedLONG;
  554. end;
  555. PVOLUME_STATS = ^TVOLUME_STATS;
  556. TVOLUME_STATS = record
  557. systemElapsedTime : longint;
  558. volumeNumber : byte;
  559. logicalDriveNumber : byte;
  560. sectorsPerBlock : word;
  561. startingBlock : longint;
  562. totalBlocks : word;
  563. availableBlocks : word;
  564. totalDirectorySlots : word;
  565. availableDirectorySlots : word;
  566. maxDirectorySlotsUsed : word;
  567. isHashing : byte;
  568. isRemovable : byte;
  569. isMounted : byte;
  570. volumeName : array[0..16] of char;
  571. purgableBlocks : longint;
  572. notYetPurgableBlocks : longint;
  573. end;
  574. PVOLUME_INFO = ^TVOLUME_INFO;
  575. TVOLUME_INFO = record
  576. systemElapsedTime : longint;
  577. volumeNumber : byte;
  578. logicalDriveNumber : byte;
  579. sectorsPerBlock : word;
  580. startingBlock : smallint;
  581. totalBlocks : longint;
  582. availableBlocks : longint;
  583. totalDirectorySlots : longint;
  584. availableDirectorySlots : longint;
  585. isHashing : byte;
  586. isRemovable : byte;
  587. isMounted : byte;
  588. volumeName : array[0..16] of char;
  589. purgableBlocks : longint;
  590. notYetPurgableBlocks : longint;
  591. end;
  592. PNWVolExtendedInfo = ^TNWVolExtendedInfo;
  593. TNWVolExtendedInfo = record
  594. volType : longint;
  595. statusFlag : longint;
  596. sectorSize : longint;
  597. sectorsPerCluster : longint;
  598. volSizeInClusters : longint;
  599. freeClusters : longint;
  600. subAllocFreeableClusters : longint;
  601. freeableLimboSectors : longint;
  602. nonfreeableLimboSectors : longint;
  603. availSubAllocSectors : longint;
  604. nonuseableSubAllocSectors : longint;
  605. subAllocClusters : longint;
  606. numDataStreams : longint;
  607. numLimboDataStreams : longint;
  608. oldestDelFileAgeInTicks : longint;
  609. numCompressedDataStreams : longint;
  610. numCompressedLimboDataStreams : longint;
  611. numNoncompressibleDataStreams : longint;
  612. precompressedSectors : longint;
  613. compressedSectors : longint;
  614. numMigratedDataStreams : longint;
  615. migratedSectors : longint;
  616. clustersUsedByFAT : longint;
  617. clustersUsedByDirs : longint;
  618. clustersUsedByExtDirs : longint;
  619. totalDirEntries : longint;
  620. unusedDirEntries : longint;
  621. totalExtDirExtants : longint;
  622. unusedExtDirExtants : longint;
  623. extAttrsDefined : longint;
  624. extAttrExtantsUsed : longint;
  625. directoryServicesObjectID : longint;
  626. lastModifiedDateAndTime : longint;
  627. end;
  628. {$include npackoff.inc}
  629. function AddSpaceRestrictionForDirectory (pathName:Pchar;
  630. value:longint;
  631. allowWildCardsFlag:longint):longint;cdecl;external Clib name 'AddSpaceRestrictionForDirectory';
  632. function AddTrustee (pathName:Pchar;
  633. trusteeID:longint;
  634. newRights:word):longint; cdecl;external Clib name 'AddTrustee';
  635. function AddUserSpaceRestriction (volume:longint;
  636. trusteeID:longint;
  637. value:longint):longint;cdecl;external Clib name 'AddUserSpaceRestriction';
  638. function ChangeDirectoryEntry (pathName:Pchar;
  639. modifyVector:pointer; //PModifyStructure;
  640. modifyBits:longint;
  641. allowWildCardsFlag:longint):longint;cdecl;external Clib name 'ChangeDirectoryEntry';
  642. function ChangeDirectoryEntry (pathName:Pchar;
  643. var modifyVector;
  644. modifyBits:longint;
  645. allowWildCardsFlag:longint):longint;cdecl;external Clib name 'ChangeDirectoryEntry';
  646. function ConvertNameToFullPath (partialPath:Pchar;
  647. fullPath:Pchar):longint;cdecl;external Clib name 'ConvertNameToFullPath';
  648. function ConvertNameToVolumePath (fileName:Pchar;
  649. volumePath:Pchar):longint;cdecl;external Clib name 'ConvertNameToVolumePath';
  650. function DeleteTrustee (pathName:Pchar;
  651. trusteeID:longint):longint;cdecl;external Clib name 'DeleteTrustee';
  652. function DeleteUserSpaceRestriction (volume:longint;
  653. trusteeID:longint):longint;cdecl;external Clib name 'DeleteUserSpaceRestriction';
  654. function GetAvailableUserDiskSpace (pathName:Pchar;
  655. availableSpace:PLongint):longint;cdecl;external Clib name 'GetAvailableUserDiskSpace';
  656. function GetAvailableUserDiskSpace (pathName:Pchar;
  657. var availableSpace:longint):longint;cdecl;external Clib name 'GetAvailableUserDiskSpace';
  658. function GetDiskSpaceUsedByObject (trusteeID:longint;
  659. volume:longint;
  660. usedSpace:PLongint):longint;cdecl;external Clib name 'GetDiskSpaceUsedByObject';
  661. function GetDiskSpaceUsedByObject (trusteeID:longint;
  662. volume:longint;
  663. var usedSpace:longint):longint;cdecl;external Clib name 'GetDiskSpaceUsedByObject';
  664. function GetEffectiveRights (pathName:Pchar;
  665. accessRights:PWORD):longint;cdecl;external Clib name 'GetEffectiveRights';
  666. function GetEffectiveRights (pathName:Pchar;
  667. var accessRights:word):longint;cdecl;external Clib name 'GetEffectiveRights';
  668. function GetMaximumUserSpaceRestriction (trusteeID, volume:longint; maxRestriction:PLongint):longint;cdecl;external Clib name 'GetMaximumUserSpaceRestriction';
  669. function GetMaximumUserSpaceRestriction (trusteeID, volume:longint; var maxRestriction:longint):longint;cdecl;external Clib name 'GetMaximumUserSpaceRestriction';
  670. function GetNumberOfVolumes : longint; cdecl;external Clib name 'GetNumberOfVolumes';
  671. function GetVolumeInformation (connectionID:word;
  672. volumeNumber:byte;
  673. structSize:longint;
  674. volumeStatistics:PVOLUME_STATS):longint;cdecl;external Clib name 'GetVolumeInformation';
  675. function GetVolumeInformation (connectionID:word;
  676. volumeNumber:byte;
  677. structSize:longint;
  678. var volumeStatistics:TVOLUME_STATS):longint;cdecl;external Clib name 'GetVolumeInformation';
  679. function GetVolumeInfoWithNumber (volumeNumber:byte;
  680. volumeName:Pchar;
  681. totalBlocks:PWORD;
  682. sectorsPerBlock:PWORD;
  683. availableBlocks:PWORD;
  684. totalDirectorySlots:PWORD;
  685. availableDirectorySlots:PWORD;
  686. volumeIsRemovable:PWORD):longint;cdecl;external Clib name 'GetVolumeInfoWithNumber';
  687. function GetVolumeInfoWithNumber (volumeNumber:byte;
  688. volumeName:Pchar;
  689. var totalBlocks:word;
  690. var sectorsPerBlock:word;
  691. var availableBlocks:word;
  692. var totalDirectorySlots:word;
  693. var availableDirectorySlots:word;
  694. var volumeIsRemovable:word):longint;cdecl;external Clib name 'GetVolumeInfoWithNumber';
  695. function GetVolumeName(volumeNumber:longint; volumeName:Pchar):longint;cdecl;external Clib name 'GetVolumeName';
  696. function GetVolumeNumber(volumeName:Pchar; volumeNumber:Plongint):longint;cdecl;external Clib name 'GetVolumeNumber';
  697. function GetVolumeNumber(volumeName:Pchar; var volumeNumber:longint):longint;cdecl;external Clib name 'GetVolumeNumber';
  698. function GetVolumeStatistics (connectionID:word;
  699. volumeNumber:byte;
  700. structSize:longint;
  701. volumeStatistics:PVOLUME_INFO):longint;cdecl;external Clib name 'GetVolumeStatistics';
  702. function GetVolumeStatistics (connectionID:word;
  703. volumeNumber:byte;
  704. structSize:longint;
  705. var volumeStatistics:TVOLUME_INFO):longint;cdecl;external Clib name 'GetVolumeStatistics';
  706. procedure _makepath (path:Pchar;
  707. drive:Pchar;
  708. dir:Pchar;
  709. fname:Pchar;
  710. ext:Pchar);cdecl;external Clib name '_makepath';
  711. function ModifyInheritedRightsMask (path:Pchar;
  712. revokeRightsMask:word;
  713. grantRightsMask:word):longint;cdecl;external Clib name 'ModifyInheritedRightsMask';
  714. function NWGetExtendedVolumeInfo (volNumber:longint;
  715. volName:Pchar;
  716. volInfo:PNWVolExtendedInfo):longint;cdecl;external Clib name 'NWGetExtendedVolumeInfo';
  717. function NWGetExtendedVolumeInfo (volNumber:longint;
  718. volName:Pchar;
  719. var volInfo:TNWVolExtendedInfo):longint;cdecl;external Clib name 'NWGetExtendedVolumeInfo';
  720. function NWVolumeIsCDROM (volNumber:longint;
  721. isCDROM:PLongint):longint;cdecl;external Clib name 'NWVolumeIsCDROM';
  722. function NWVolumeIsCDROM (volNumber:longint;
  723. var isCDROM:longint):longint;cdecl;external Clib name 'NWVolumeIsCDROM';
  724. function ParsePath (path:Pchar;
  725. server:Pchar;
  726. volume:Pchar;
  727. directories:Pchar):longint;cdecl;external Clib name 'ParsePath';
  728. function PurgeTrusteeFromVolume (volume:longint;
  729. trusteeID:longint):longint;cdecl;external Clib name 'PurgeTrusteeFromVolume';
  730. function ReturnSpaceRestrictionForDirectory(pathName:Pchar;
  731. numberOfStructuresToReturn:longint;
  732. answerBuffer:pointer;
  733. numberOfStructuresReturned:PLongint):longint;cdecl;external Clib name 'ReturnSpaceRestrictionForDirectory';
  734. function ScanBinderyObjectTrusteePaths (objectID:longint;
  735. volumeNumber:byte;
  736. sequenceNumber:Plongint;
  737. trusteeAccessMask:PWORD;
  738. trusteePathName:Pchar):longint;cdecl;external Clib name 'ScanBinderyObjectTrusteePaths';
  739. function ScanBinderyObjectTrusteePaths (objectID:longint;
  740. volumeNumber:byte;
  741. var sequenceNumber:longint;
  742. var trusteeAccessMask:word;
  743. trusteePathName:Pchar):longint;cdecl;external Clib name 'ScanBinderyObjectTrusteePaths';
  744. (* Const before type ignored *)
  745. function ScanTrustees (pathName:Pchar;
  746. startingOffset:longint;
  747. vectorSize:longint;
  748. trusteeVector:PLongint;
  749. maskVector:PWORD;
  750. actualVectorSize:PLongint):longint;cdecl;external Clib name 'ScanTrustees';
  751. function ScanTrustees (pathName:Pchar;
  752. startingOffset:longint;
  753. vectorSize:longint;
  754. var trusteeVector:longint;
  755. var maskVector:longint;
  756. var actualVectorSize:longint):longint;cdecl;external Clib name 'ScanTrustees';
  757. function ScanUserSpaceRestrictions (volume:longint;
  758. sequenceNumber:PLongint;
  759. numberOfTrusteesToReturn:longint;
  760. answerArea:PLongint;
  761. numberOfTrusteesReturned:PLongint):longint;cdecl;external Clib name 'ScanUserSpaceRestrictions';
  762. function ScanUserSpaceRestrictions (volume:longint;
  763. var sequenceNumber:longint;
  764. numberOfTrusteesToReturn:longint;
  765. var answerArea;
  766. var numberOfTrusteesReturned:longint):longint;cdecl;external Clib name 'ScanUserSpaceRestrictions';
  767. function SetDirectoryInfo (pathName:Pchar;
  768. newCreationDateAndTime:PBYTE;
  769. newOwnerObjectID:longint;
  770. inheritedRightsMask:word):longint;cdecl;external Clib name 'SetDirectoryInfo';
  771. function SetWildcardTranslationMode (newMode:byte):byte;cdecl;external Clib name 'SetWildcardTranslationMode';
  772. procedure _splitpath (path:Pchar;
  773. drive:Pchar;
  774. dir:Pchar;
  775. fname:Pchar;
  776. ext:Pchar);cdecl;external Clib name '_splitpath';
  777. function StripFileServerFromPath (path:Pchar;
  778. server:Pchar):Pchar;cdecl;external Clib name 'StripFileServerFromPath';
  779. function UpdateDirectoryEntry (handle:longint):longint;cdecl;external Clib name 'UpdateDirectoryEntry';
  780. {------------------------------------------------------------------------------}
  781. const
  782. TYPE_NORMAL_SERVER = 0;
  783. TYPE_IO_ENGINE = 1;
  784. TYPE_MS_ENGINE = 2;
  785. LOADER_TYPE_DOS = 1;
  786. LOADER_TYPE_OS2 = 2;
  787. LOADER_TYPE_MSWIN31 = 3;
  788. RSUPER = 3;
  789. {$include npackon.inc}
  790. type
  791. PFILE_SERV_INFO = ^TFILE_SERV_INFO;
  792. TFILE_SERV_INFO = record
  793. serverName : array[0..47] of char;
  794. netwareVersion : byte;
  795. netwareSubVersion : byte;
  796. maxConnectionsSupported : word;
  797. connectionsInUse : word;
  798. maxVolumesSupported : word;
  799. revisionLevel : byte;
  800. SFTLevel : byte;
  801. TTSLevel : byte;
  802. peakConnectionsUsed : word;
  803. accountingVersion : byte;
  804. VAPversion : byte;
  805. queingVersion : byte;
  806. printServerVersion : byte;
  807. virtualConsoleVersion : byte;
  808. securityRestrictionLevel : byte;
  809. internetBridgeSupport : byte;
  810. reserved : array[0..59] of byte;
  811. CLibMajorVersion : byte;
  812. CLibMinorVersion : byte;
  813. CLibRevision : byte;
  814. end;
  815. {$include npackoff.inc}
  816. function CheckConsolePrivileges:longint;cdecl;external Clib name 'CheckConsolePrivileges';
  817. function CheckNetWareVersion (majorVersion,
  818. minorVersion,
  819. revisionNumber,
  820. minimumSFTLevel,
  821. minimumTTSLevel:word):longint;cdecl;external Clib name 'CheckNetWareVersion';
  822. function ClearConnectionNumber(connectionNumber:word):longint;cdecl;external Clib name 'ClearConnectionNumber';
  823. function DisableFileServerLogin:longint;cdecl;external Clib name 'DisableFileServerLogin';
  824. function DisableTransactionTracking:longint;cdecl;external Clib name 'DisableTransactionTracking';
  825. function DownFileServer(forceFlag:longint):longint;cdecl;external Clib name 'DownFileServer';
  826. function EnableFileServerLogin:longint;cdecl;external Clib name 'EnableFileServerLogin';
  827. function EnableTransactionTracking:longint;cdecl;external Clib name 'EnableTransactionTracking';
  828. function GetBinderyObjectDiskSpaceLeft (connectionID:word;
  829. binderyObjectID:longint;
  830. systemElapsedTime:PLongint;
  831. unusedDiskBlocks:PLongint;
  832. restrictionEnforced:PBYTE):longint;cdecl;external Clib name 'GetBinderyObjectDiskSpaceLeft';
  833. function GetBinderyObjectDiskSpaceLeft (connectionID:word;
  834. binderyObjectID:longint;
  835. var systemElapsedTime:Longint;
  836. var unusedDiskBlocks:Longint;
  837. var restrictionEnforced:byte):longint;cdecl;external Clib name 'GetBinderyObjectDiskSpaceLeft';
  838. function GetDiskUtilization (objectID:longint;
  839. volumeNumber:char;
  840. usedDirectories:PLongint;
  841. usedFiles:PLongint;
  842. usedBlocks:PLongint):longint;cdecl;external Clib name 'GetDiskUtilization';
  843. function GetDiskUtilization (objectID:longint;
  844. volumeNumber:char;
  845. var usedDirectories:Longint;
  846. var usedFiles:Longint;
  847. var usedBlocks:Longint):longint; cdecl;external Clib name 'GetDiskUtilization';
  848. //procedure GetFileServerConnectionID(fileServerName:Pchar; connectionID:PWORD);cdecl;external Clib name 'GetFileServerConnectionID';
  849. procedure GetFileServerDateAndTime(dateAndTime:PBYTE);cdecl;external Clib name 'GetFileServerDateAndTime';
  850. procedure GetFileServerDateAndTime(var dateAndTime);cdecl;external Clib name 'GetFileServerDateAndTime';
  851. function GetFileServerDescriptionStrings (company_Name:Pchar;
  852. revision:Pchar;
  853. revisionDate:Pchar;
  854. copyrightNotice:Pchar):longint;cdecl;external Clib name 'GetFileServerDescriptionStrings';
  855. function GetFileServerLoginStatus (loginEnabledFlag:PLongint):longint;cdecl;external Clib name 'GetFileServerLoginStatus';
  856. function GetFileServerLoginStatus (var loginEnabledFlag:Longint):longint;cdecl;external Clib name 'GetFileServerLoginStatus';
  857. procedure GetFileServerName(connectionID:word; fileServerName:Pchar);cdecl;external Clib name 'GetFileServerName';
  858. function GetServerConfigurationInfo (serverType:PLongint;
  859. loaderType:PLongint):longint;cdecl;external Clib name 'GetServerConfigurationInfo';
  860. function GetServerConfigurationInfo (var serverType:Longint;
  861. var loaderType:Longint):longint;cdecl;external Clib name 'GetServerConfigurationInfo';
  862. function GetServerInformation (returnSize:longint;
  863. serverInfo:PFILE_SERV_INFO):longint;cdecl;external Clib name 'GetServerInformation';
  864. function GetServerInformation (returnSize:longint;
  865. var serverInfo:TFILE_SERV_INFO):longint;cdecl;external Clib name 'GetServerInformation';
  866. function GetServerMemorySize:longint;cdecl;external Clib name 'GetServerMemorySize';
  867. function GetServerUtilization:longint;cdecl;external Clib name 'GetServerUtilization';
  868. function SendConsoleBroadcast(msg:Pchar;
  869. connectionCount:word;
  870. connectionList:PWORD):longint;cdecl;external Clib name 'SendConsoleBroadcast';
  871. function SendConsoleBroadcast(msg:Pchar;
  872. connectionCount:word;
  873. const connectionList:array of word):longint;cdecl;external Clib name 'SendConsoleBroadcast';
  874. function SetFileServerDateAndTime (year,month,day,hour,minute,second:word):longint;cdecl;external Clib name 'SetFileServerDateAndTime';
  875. {------------------------------------------------------------------------------}
  876. const
  877. ENVSERV_OVERHEAD_SIZE = 2 * cardinal(sizeof(WORD));
  878. ENVSERV_BUFFER1_SIZE = 512 + ENVSERV_OVERHEAD_SIZE;
  879. ENVSERV_CONN_TYPE_286 = 286;
  880. ENVSERV_CONN_TYPE_386 = 386;
  881. {$include npackon.inc}
  882. type
  883. PCONN_USAGE = ^TCONN_USAGE;
  884. TCONN_USAGE = record
  885. systemElapsedTime : longint;
  886. bytesRead : array[0..5] of byte;
  887. bytesWritten : array[0..5] of byte;
  888. totalRequestPackets : longint;
  889. end;
  890. PDISK_CACHE_STATS = ^TDISK_CACHE_STATS;
  891. TDISK_CACHE_STATS = record
  892. systemElapsedTime : longint;
  893. cacheBufferCount : word;
  894. cacheBufferSize : word;
  895. dirtyCacheBuffers : word;
  896. cacheReadRequests : longint;
  897. cacheWriteRequests : longint;
  898. cacheHits : longint;
  899. cacheMisses : longint;
  900. physicalReadRequests : longint;
  901. physicalWriteRequests : longint;
  902. physicalReadErrors : word;
  903. physicalWriteErrors : word;
  904. cacheGetRequests : longint;
  905. cacheFullWriteRequests : longint;
  906. cachePartialWriteRequests : longint;
  907. backgroundDirtyWrites : longint;
  908. backgroundAgedWrites : longint;
  909. totalCacheWrites : longint;
  910. cacheAllocations : longint;
  911. thrashingCount : word;
  912. LRUBlockWasDirtyCount : word;
  913. readBeyondWriteCount : word;
  914. fragmentedWriteCount : word;
  915. cacheHitOnUnavailCount : word;
  916. cacheBlockScrappedCount : word;
  917. end;
  918. PDISK_CHANNEL_STATS = ^TDISK_CHANNEL_STATS;
  919. TDISK_CHANNEL_STATS = record
  920. systemElapsedTime : longint;
  921. channelState : word;
  922. channelSyncState : word;
  923. driverType : byte;
  924. driverMajorVersion : byte;
  925. driverMinorVersion : byte;
  926. driverDescription : array[0..64] of char;
  927. IOAddr1 : word;
  928. IOAddr1Size : word;
  929. IOAddr2 : word;
  930. IOAddr2Size : word;
  931. sharedMem1Seg : array[0..2] of byte;
  932. sharedMem1Ofs : word;
  933. sharedMem2Seg : array[0..2] of byte;
  934. sharedMem2Ofs : word;
  935. interrupt1Used : byte;
  936. interrupt1 : byte;
  937. interrupt2Used : byte;
  938. interrupt2 : byte;
  939. DMAChannel1Used : byte;
  940. DMAChannel1 : byte;
  941. DMAChannel2Used : byte;
  942. DMAChannel2 : byte;
  943. reserved2 : word;
  944. configDescription : array[0..79] of char;
  945. end;
  946. PDRIVE_MAP_TABLE = ^TDRIVE_MAP_TABLE;
  947. TDRIVE_MAP_TABLE = record
  948. systemElapsedTime : longint;
  949. SFTLevel : byte;
  950. logicalDriveCount : byte;
  951. physicalDriveCount : byte;
  952. diskChannelTable : array[0..4] of byte;
  953. pendingIOCommands : word;
  954. mappingTable : array[0..31] of byte;
  955. driveMirrorTable : array[0..31] of byte;
  956. deadMirrorTable : array[0..31] of byte;
  957. remirroredDrive : byte;
  958. reserved : byte;
  959. remirroredBlock : longint;
  960. SFTErrorTable : array[0..59] of word;
  961. end;
  962. PSERVER_LAN_IO = ^TSERVER_LAN_IO;
  963. TSERVER_LAN_IO = record
  964. systemElapsedTime : longint;
  965. maxRoutingBuffersAvail : word;
  966. maxRoutingBuffersUsed : word;
  967. routingBuffersInUse : word;
  968. totalFileServicePackets : longint;
  969. fileServicePacketsBuffered : word;
  970. invalidConnPacketCount : word;
  971. badLogicalConnCount : word;
  972. packetsRcvdDuringProcCount : word;
  973. reprocessedRequestCount : word;
  974. badSequenceNumberPacketCount : word;
  975. duplicateReplyCount : word;
  976. acknowledgementsSent : word;
  977. badRequestTypeCount : word;
  978. attachDuringProcCount : word;
  979. attachWhileAttachingCount : word;
  980. forgedDetachRequestCount : word;
  981. badConnNumberOnDetachCount : word;
  982. detachDuringProcCount : word;
  983. repliesCanceledCount : word;
  984. hopCountDiscardCount : word;
  985. unknownNetDiscardCount : word;
  986. noDGroupBufferDiscardCount : word;
  987. outPacketNoBufferDiscardCount : word;
  988. IPXNotMyNetworkCount : word;
  989. NetBIOSPropagationCount : longint;
  990. totalOtherPackets : longint;
  991. totalRoutedPackets : longint;
  992. end;
  993. PSERVER_MISC_INFO = ^TSERVER_MISC_INFO;
  994. TSERVER_MISC_INFO = record
  995. systemElapsedTime : longint;
  996. processorType : byte;
  997. reserved : byte;
  998. serviceProcessCount : byte;
  999. serverUtilizationPercent : byte;
  1000. maxBinderyObjectsAvail : word;
  1001. maxBinderyObjectsUsed : word;
  1002. binderyObjectsInUse : word;
  1003. serverMemoryInK : word;
  1004. serverWastedMemoryInK : word;
  1005. dynamicAreaCount : word;
  1006. dynamicSpace1 : longint;
  1007. maxUsedDynamicSpace1 : longint;
  1008. dynamicSpaceInUse1 : longint;
  1009. dynamicSpace2 : longint;
  1010. maxUsedDynamicSpace2 : longint;
  1011. dynamicSpaceInUse2 : longint;
  1012. dynamicSpace3 : longint;
  1013. maxUsedDynamicSpace3 : longint;
  1014. dynamicSpaceInUse3 : longint;
  1015. end;
  1016. PFILE_SYS_STATS = ^TFILE_SYS_STATS;
  1017. TFILE_SYS_STATS = record
  1018. systemElapsedTime : longint;
  1019. maxOpenFiles : word;
  1020. maxFilesOpened : word;
  1021. currOpenFiles : word;
  1022. totalFilesOpened : longint;
  1023. totalReadRequests : longint;
  1024. totalWriteRequests : longint;
  1025. currChangedFATSectors : word;
  1026. totalChangedFATSectors : longint;
  1027. FATWriteErrors : word;
  1028. fatalFATWriteErrors : word;
  1029. FATScanErrors : word;
  1030. maxIndexFilesOpened : word;
  1031. currOpenIndexedFiles : word;
  1032. attachedIndexFiles : word;
  1033. availableIndexFiles : word;
  1034. end;
  1035. PLAN_CONFIG = ^TLAN_CONFIG;
  1036. TLAN_CONFIG = record
  1037. networkAddress : array[0..3] of byte;
  1038. hostAddress : array[0..5] of byte;
  1039. LANDriverInstalled : byte;
  1040. optionNumber : byte;
  1041. configurationText : array[0..159] of char;
  1042. end;
  1043. PPHYS_DISK_STATS = ^TPHYS_DISK_STATS;
  1044. TPHYS_DISK_STATS = record
  1045. systemElapsedTime : longint;
  1046. diskChannel : byte;
  1047. diskRemovable : byte;
  1048. driveType : byte;
  1049. controllerDriveNumber : byte;
  1050. controllerNumber : byte;
  1051. controllerType : byte;
  1052. driveSize : longint;
  1053. driveCylinders : word;
  1054. driveHeads : byte;
  1055. sectorsPerTrack : byte;
  1056. driveDefinition : array[0..63] of char;
  1057. IOErrorCount : word;
  1058. hotFixStart : longint;
  1059. hotFixSize : word;
  1060. hotFixBlockAvailable : word;
  1061. hotFixDisabled : byte;
  1062. end;
  1063. PTTS_STATS = ^TTTS_STATS;
  1064. TTTS_STATS = record
  1065. systemElapsedTime : longint;
  1066. TTS_Supported : byte;
  1067. TTS_Enabled : byte;
  1068. TTS_VolumeNumber : word;
  1069. TTS_MaxOpenTransactions : word;
  1070. TTS_MaxTransactionsOpened : word;
  1071. TTS_CurrTransactionsOpen : word;
  1072. TTS_TotalTransactions : longint;
  1073. TTS_TotalWrites : longint;
  1074. TTS_TotalBackouts : longint;
  1075. TTS_UnfilledBackouts : word;
  1076. TTS_DiskBlocksInUse : word;
  1077. TTS_FATAllocations : longint;
  1078. TTS_FileSizeChanges : longint;
  1079. TTS_FilesTruncated : longint;
  1080. numberOfTransactions : byte;
  1081. end;
  1082. PTTS_CONNECTIONS = ^TTTS_CONNECTIONS;
  1083. TTTS_CONNECTIONS = record
  1084. connectionNumber : byte;
  1085. taskNumber : byte;
  1086. end;
  1087. PCONN_OPEN_FILES_286 = ^TCONN_OPEN_FILES_286;
  1088. TCONN_OPEN_FILES_286 = record
  1089. taskNumber : byte;
  1090. lockType : byte;
  1091. accessControl : byte;
  1092. lockFlag : byte;
  1093. volumeNumber : byte;
  1094. dirEntry : word;
  1095. fileName : array[0..13] of char;
  1096. end;
  1097. PCONN_OPEN_FILES_386 = ^TCONN_OPEN_FILES_386;
  1098. TCONN_OPEN_FILES_386 = record
  1099. taskNumber : word;
  1100. lockType : byte;
  1101. accessControl : byte;
  1102. lockFlag : byte;
  1103. volumeNumber : byte;
  1104. parentDirEntry : longint;
  1105. dirEntry : longint;
  1106. forkCount : byte;
  1107. nameSpace : byte;
  1108. nameLength : byte;
  1109. fileName : array[0..255] of byte;
  1110. end;
  1111. PCONN_OPEN_FILES = ^TCONN_OPEN_FILES;
  1112. TCONN_OPEN_FILES = record
  1113. unionType : word;
  1114. u : record
  1115. case longint of
  1116. 0 : ( con286 : TCONN_OPEN_FILES_286 );
  1117. 1 : ( con386 : TCONN_OPEN_FILES_386 );
  1118. end;
  1119. end;
  1120. PCONN_SEMAPHORE_286 = ^TCONN_SEMAPHORE_286;
  1121. TCONN_SEMAPHORE_286 = record
  1122. openCount : word;
  1123. semaphoreValue : byte;
  1124. taskNumber : byte;
  1125. nameLength : byte;
  1126. semaphoreName : array[0..254] of byte;
  1127. end;
  1128. PCONN_SEMAPHORE_386 = ^TCONN_SEMAPHORE_386;
  1129. TCONN_SEMAPHORE_386 = record
  1130. openCount : word;
  1131. semaphoreValue : word;
  1132. taskNumber : word;
  1133. nameLength : byte;
  1134. semaphoreName : array[0..254] of byte;
  1135. end;
  1136. PCONN_SEMAPHORE = ^TCONN_SEMAPHORE;
  1137. TCONN_SEMAPHORE = record
  1138. unionType : word;
  1139. u : record
  1140. case longint of
  1141. 0 : ( con286 : TCONN_SEMAPHORE_286 );
  1142. 1 : ( con386 : TCONN_SEMAPHORE_386 );
  1143. end;
  1144. end;
  1145. PCONN_TASK_INFO_286 = ^TCONN_TASK_INFO_286;
  1146. TCONN_TASK_INFO_286 = record
  1147. unionType : word;
  1148. lockStatus : byte;
  1149. waitRecord : record
  1150. case longint of
  1151. 0 : ( LockStatus1 : record
  1152. taskNumber : byte;
  1153. beginAddress : word;
  1154. endAddress : word;
  1155. volumeNumber : byte;
  1156. directoryEntry : word;
  1157. nameLength : byte;
  1158. name : byte;
  1159. end );
  1160. 1 : ( LockStatus2 : record
  1161. taskNumber : byte;
  1162. volumeNumber : byte;
  1163. directoryEntry : word;
  1164. nameLength : byte;
  1165. name : byte;
  1166. end );
  1167. 2 : ( LockStatus3Or4 : record
  1168. taskNumber : byte;
  1169. nameLength : byte;
  1170. name : byte;
  1171. end );
  1172. end;
  1173. end;
  1174. PCONN_TASK_INFO_386 = ^TCONN_TASK_INFO_386;
  1175. TCONN_TASK_INFO_386 = record
  1176. unionType : word;
  1177. lockStatus : byte;
  1178. waitRecord : record
  1179. case longint of
  1180. 0 : ( LockStatus1 : record
  1181. taskNumber : word;
  1182. beginAddress : longint;
  1183. endAddress : longint;
  1184. volumeNumber : word;
  1185. parentID : longint;
  1186. directoryEntry : longint;
  1187. forkCount : byte;
  1188. nameSpace : byte;
  1189. nameLength : byte;
  1190. name : byte;
  1191. end );
  1192. 1 : ( LockStatus2 : record
  1193. taskNumber : word;
  1194. volumeNumber : word;
  1195. parentID : longint;
  1196. directoryEntry : longint;
  1197. forkCount : byte;
  1198. nameSpace : byte;
  1199. nameLength : byte;
  1200. name : byte;
  1201. end );
  1202. 2 : ( LockStatus3Or4 : record
  1203. taskNumber : word;
  1204. nameLength : byte;
  1205. name : byte;
  1206. end );
  1207. end;
  1208. end;
  1209. PCONN_TASK_PAIRS_286 = ^TCONN_TASK_PAIRS_286;
  1210. TCONN_TASK_PAIRS_286 = record
  1211. task : byte;
  1212. taskStatus : byte;
  1213. end;
  1214. PCONN_TASK_PAIRS_386 = ^TCONN_TASK_PAIRS_386;
  1215. TCONN_TASK_PAIRS_386 = record
  1216. task : word;
  1217. taskStatus : byte;
  1218. end;
  1219. PCONN_USING_FILE_REQ_286 = ^TCONN_USING_FILE_REQ_286;
  1220. TCONN_USING_FILE_REQ_286 = record
  1221. lastRecordSeen : word;
  1222. directoryHandle : byte;
  1223. pathLength : byte;
  1224. path : array[0..254] of byte;
  1225. end;
  1226. PCONN_USING_FILE_REQ_386 = ^TCONN_USING_FILE_REQ_386;
  1227. TCONN_USING_FILE_REQ_386 = record
  1228. forkType : byte;
  1229. volume : byte;
  1230. directoryID : longint;
  1231. nextRecord : word;
  1232. end;
  1233. PCONN_USING_FILE_REQUEST = ^TCONN_USING_FILE_REQUEST;
  1234. TCONN_USING_FILE_REQUEST = record
  1235. unionType : word;
  1236. reserved1 : word;
  1237. reserved2 : byte;
  1238. request : record
  1239. case longint of
  1240. 0 : ( req286 : TCONN_USING_FILE_REQ_286 );
  1241. 1 : ( req386 : TCONN_USING_FILE_REQ_386 );
  1242. end;
  1243. end;
  1244. PCONN_USING_FILE_REPLY_286 = ^TCONN_USING_FILE_REPLY_286;
  1245. TCONN_USING_FILE_REPLY_286 = record
  1246. useCount : word;
  1247. openCount : word;
  1248. openForReadCount : word;
  1249. openForWriteCount : word;
  1250. denyReadCount : word;
  1251. denyWriteCount : word;
  1252. nextRequestRecord : word;
  1253. locked : byte;
  1254. numberOfRecords : word;
  1255. end;
  1256. PCONN_USING_FILE_REPLY_386 = ^TCONN_USING_FILE_REPLY_386;
  1257. TCONN_USING_FILE_REPLY_386 = record
  1258. nextRequestRecord : word;
  1259. useCount : word;
  1260. openCount : word;
  1261. openForReadCount : word;
  1262. openForWriteCount : word;
  1263. denyReadCount : word;
  1264. denyWriteCount : word;
  1265. locked : byte;
  1266. forkCount : byte;
  1267. numberOfRecords : word;
  1268. end;
  1269. PCONN_USING_FILE_RECORD_286 = ^TCONN_USING_FILE_RECORD_286;
  1270. TCONN_USING_FILE_RECORD_286 = record
  1271. connectionNumber : word;
  1272. taskNumber : byte;
  1273. lockType : byte;
  1274. accessFlags : byte;
  1275. lockStatus : byte;
  1276. end;
  1277. PCONN_USING_FILE_RECORD_386 = ^TCONN_USING_FILE_RECORD_386;
  1278. TCONN_USING_FILE_RECORD_386 = record
  1279. connectionNumber : word;
  1280. taskNumber : word;
  1281. lockType : byte;
  1282. accessFlags : byte;
  1283. lockStatus : byte;
  1284. end;
  1285. PCONN_USING_FILE_REPLY = ^TCONN_USING_FILE_REPLY;
  1286. TCONN_USING_FILE_REPLY = record
  1287. unionType : word;
  1288. reply : record
  1289. case longint of
  1290. 0 : ( rep286 : TCONN_USING_FILE_REPLY_286 );
  1291. 1 : ( rep386 : TCONN_USING_FILE_REPLY_386 );
  1292. end;
  1293. end;
  1294. PLOGICAL_RECORD_INFO_286 = ^TLOGICAL_RECORD_INFO_286;
  1295. TLOGICAL_RECORD_INFO_286 = record
  1296. useCount : word;
  1297. shareableLockCount : word;
  1298. nextRequestRecord : word;
  1299. locked : byte;
  1300. numberOfRecords : byte;
  1301. end;
  1302. PLOGICAL_RECORD_INFO_386 = ^TLOGICAL_RECORD_INFO_386;
  1303. TLOGICAL_RECORD_INFO_386 = record
  1304. useCount : word;
  1305. shareableLockCount : word;
  1306. locked : byte;
  1307. nextRequestRecord : word;
  1308. numberOfRecords : word;
  1309. end;
  1310. PLOGICAL_RECORD_286 = ^TLOGICAL_RECORD_286;
  1311. TLOGICAL_RECORD_286 = record
  1312. connectionNumber : word;
  1313. taskNumber : byte;
  1314. lockStatus : byte;
  1315. end;
  1316. PLOGICAL_RECORD_386 = ^TLOGICAL_RECORD_386;
  1317. TLOGICAL_RECORD_386 = record
  1318. connectionNumber : word;
  1319. taskNumber : word;
  1320. lockStatus : byte;
  1321. end;
  1322. PLOGICAL_RECORD_INFO = ^TLOGICAL_RECORD_INFO;
  1323. TLOGICAL_RECORD_INFO = record
  1324. unionType : word;
  1325. u : record
  1326. case longint of
  1327. 0 : ( lr286 : TLOGICAL_RECORD_INFO_286 );
  1328. 1 : ( lr386 : TLOGICAL_RECORD_INFO_386 );
  1329. end;
  1330. end;
  1331. PLOGICAL_RECORD_REQUEST = ^TLOGICAL_RECORD_REQUEST;
  1332. TLOGICAL_RECORD_REQUEST = record
  1333. reserved1 : word;
  1334. reserved2 : byte;
  1335. nextRecord : word;
  1336. nameLength : byte;
  1337. name : array[0..254] of byte;
  1338. end;
  1339. PCONN_LOGICAL_RECORD_286 = ^TCONN_LOGICAL_RECORD_286;
  1340. TCONN_LOGICAL_RECORD_286 = record
  1341. nextRequest : word;
  1342. numberOfRecords : byte;
  1343. end;
  1344. PCONN_LOGICAL_RECORD_386 = ^TCONN_LOGICAL_RECORD_386;
  1345. TCONN_LOGICAL_RECORD_386 = record
  1346. nextRequest : word;
  1347. numberOfRecords : word;
  1348. end;
  1349. PCONN_LOGICAL_RECORD = ^TCONN_LOGICAL_RECORD;
  1350. TCONN_LOGICAL_RECORD = record
  1351. unionType : word;
  1352. u : record
  1353. case longint of
  1354. 0 : ( lr286 : TCONN_LOGICAL_RECORD_286 );
  1355. 1 : ( lr386 : TCONN_LOGICAL_RECORD_386 );
  1356. end;
  1357. end;
  1358. PCONN_LOGICAL_RECORD_BLOCK_286 = ^TCONN_LOGICAL_RECORD_BLOCK_286;
  1359. TCONN_LOGICAL_RECORD_BLOCK_286 = record
  1360. taskNumber : byte;
  1361. lockStatus : byte;
  1362. lockNameLength : byte;
  1363. lockName : byte;
  1364. end;
  1365. PCONN_LOGICAL_RECORD_BLOCK_386 = ^TCONN_LOGICAL_RECORD_BLOCK_386;
  1366. TCONN_LOGICAL_RECORD_BLOCK_386 = record
  1367. taskNumber : word;
  1368. lockStatus : byte;
  1369. lockNameLength : byte;
  1370. lockName : byte;
  1371. end;
  1372. PFILE_PHYSICAL_RECORD_LOCK_286 = ^TFILE_PHYSICAL_RECORD_LOCK_286;
  1373. TFILE_PHYSICAL_RECORD_LOCK_286 = record
  1374. nextRequest : word;
  1375. numberOfLocks : byte;
  1376. reserved : byte;
  1377. end;
  1378. PFILE_PHYSICAL_RECORD_LOCK_386 = ^TFILE_PHYSICAL_RECORD_LOCK_386;
  1379. TFILE_PHYSICAL_RECORD_LOCK_386 = record
  1380. nextRequest : word;
  1381. numberOfLocks : word;
  1382. end;
  1383. PFILE_PHYSICAL_RECORD_LOCK = ^TFILE_PHYSICAL_RECORD_LOCK;
  1384. TFILE_PHYSICAL_RECORD_LOCK = record
  1385. unionType : word;
  1386. u : record
  1387. case longint of
  1388. 0 : ( pr286 : TFILE_PHYSICAL_RECORD_LOCK_286 );
  1389. 1 : ( pr386 : TFILE_PHYSICAL_RECORD_LOCK_286 );
  1390. end;
  1391. end;
  1392. PFILE_PHYSICAL_RECORD_286 = ^TFILE_PHYSICAL_RECORD_286;
  1393. TFILE_PHYSICAL_RECORD_286 = record
  1394. loggedCount : word;
  1395. shareLockCount : word;
  1396. recordStart : longint;
  1397. recordEnd : longint;
  1398. connectionNumber : word;
  1399. taskNumber : byte;
  1400. lockType : byte;
  1401. end;
  1402. PFILE_PHYSICAL_RECORD_386 = ^TFILE_PHYSICAL_RECORD_386;
  1403. TFILE_PHYSICAL_RECORD_386 = record
  1404. loggedCount : word;
  1405. shareLockCount : word;
  1406. recordStart : longint;
  1407. recordEnd : longint;
  1408. connectionNumber : word;
  1409. taskNumber : word;
  1410. lockType : byte;
  1411. end;
  1412. PFILE_PHYSICAL_REQUEST_286 = ^TFILE_PHYSICAL_REQUEST_286;
  1413. TFILE_PHYSICAL_REQUEST_286 = record
  1414. lastRecord : word;
  1415. directoryHandle : byte;
  1416. pathLength : byte;
  1417. name : array[0..254] of byte;
  1418. end;
  1419. PFILE_PHYSICAL_REQUEST_386 = ^TFILE_PHYSICAL_REQUEST_386;
  1420. TFILE_PHYSICAL_REQUEST_386 = record
  1421. forkType : byte;
  1422. volume : byte;
  1423. directoryID : longint;
  1424. next : word;
  1425. end;
  1426. PFILE_PHYSICAL_RECORD_REQUEST = ^TFILE_PHYSICAL_RECORD_REQUEST;
  1427. TFILE_PHYSICAL_RECORD_REQUEST = record
  1428. unionType : word;
  1429. reserved1 : word;
  1430. reserved2 : byte;
  1431. u : record
  1432. case longint of
  1433. 0 : ( pr286 : TFILE_PHYSICAL_REQUEST_286 );
  1434. 1 : ( pr386 : TFILE_PHYSICAL_REQUEST_386 );
  1435. end;
  1436. end;
  1437. PCONN_RECORD_LOCKS_286 = ^TCONN_RECORD_LOCKS_286;
  1438. TCONN_RECORD_LOCKS_286 = record
  1439. nextRecord : word;
  1440. numberOfLocks : byte;
  1441. reserved : byte;
  1442. end;
  1443. PCONN_RECORD_LOCKS_386 = ^TCONN_RECORD_LOCKS_386;
  1444. TCONN_RECORD_LOCKS_386 = record
  1445. nextRecord : word;
  1446. numberOfLocks : word;
  1447. end;
  1448. PCONN_RECORD_LOCKS = ^TCONN_RECORD_LOCKS;
  1449. TCONN_RECORD_LOCKS = record
  1450. unionType : word;
  1451. u : record
  1452. case longint of
  1453. 0 : ( rl286 : TCONN_RECORD_LOCKS_286 );
  1454. 1 : ( rl386 : TCONN_RECORD_LOCKS_386 );
  1455. end;
  1456. end;
  1457. PCONN_LOCK_RECORD_286 = ^TCONN_LOCK_RECORD_286;
  1458. TCONN_LOCK_RECORD_286 = record
  1459. taskNumber : byte;
  1460. lockFlag : byte;
  1461. recordStart : longint;
  1462. recordEnd : longint;
  1463. end;
  1464. PCONN_LOCK_RECORD_386 = ^TCONN_LOCK_RECORD_386;
  1465. TCONN_LOCK_RECORD_386 = record
  1466. taskNumber : word;
  1467. lockFlag : byte;
  1468. recordStart : longint;
  1469. recordEnd : longint;
  1470. end;
  1471. PCONN_LOCK_REQUEST_286 = ^TCONN_LOCK_REQUEST_286;
  1472. TCONN_LOCK_REQUEST_286 = record
  1473. connectionNumber : word;
  1474. lastRecord : word;
  1475. volume : byte;
  1476. directoryID : word;
  1477. pathLength : byte;
  1478. fileName : array[0..13] of byte;
  1479. end;
  1480. PCONN_LOCK_REQUEST_386 = ^TCONN_LOCK_REQUEST_386;
  1481. TCONN_LOCK_REQUEST_386 = record
  1482. connectionNumber : word;
  1483. forkType : byte;
  1484. volume : byte;
  1485. directoryID : longint;
  1486. next : word;
  1487. end;
  1488. PCONN_LOCK_REQUEST = ^TCONN_LOCK_REQUEST;
  1489. TCONN_LOCK_REQUEST = record
  1490. unionType : word;
  1491. reserved1 : word;
  1492. reserved2 : byte;
  1493. u : record
  1494. case longint of
  1495. 0 : ( lr286 : TCONN_LOCK_REQUEST_286 );
  1496. 1 : ( lr386 : TCONN_LOCK_REQUEST_386 );
  1497. end;
  1498. end;
  1499. PSEMAPHORE_INFO_286 = ^TSEMAPHORE_INFO_286;
  1500. TSEMAPHORE_INFO_286 = record
  1501. nextRequest : word;
  1502. openCount : word;
  1503. semaphoreValue : byte;
  1504. numberOfRecords : byte;
  1505. end;
  1506. PSEMAPHORE_INFO_386 = ^TSEMAPHORE_INFO_386;
  1507. TSEMAPHORE_INFO_386 = record
  1508. nextRequest : word;
  1509. openCount : word;
  1510. semaphoreValue : word;
  1511. numberOfRecords : word;
  1512. end;
  1513. PSEMAPHORE_INFO = ^TSEMAPHORE_INFO;
  1514. TSEMAPHORE_INFO = record
  1515. unionType : word;
  1516. u : record
  1517. case longint of
  1518. 0 : ( si286 : TSEMAPHORE_INFO_286 );
  1519. 1 : ( si386 : TSEMAPHORE_INFO_386 );
  1520. end;
  1521. end;
  1522. PSEMAPHORE_INFO_RECORD_286 = ^TSEMAPHORE_INFO_RECORD_286;
  1523. TSEMAPHORE_INFO_RECORD_286 = record
  1524. connectionNumber : word;
  1525. taskNumber : byte;
  1526. end;
  1527. PSEMAPHORE_INFO_RECORD_386 = ^TSEMAPHORE_INFO_RECORD_386;
  1528. TSEMAPHORE_INFO_RECORD_386 = record
  1529. connectionNumber : word;
  1530. taskNumber : word;
  1531. end;
  1532. PSEMAPHORE_INFO_REQUEST = ^TSEMAPHORE_INFO_REQUEST;
  1533. TSEMAPHORE_INFO_REQUEST = record
  1534. reserved1 : word;
  1535. reserved2 : byte;
  1536. nextRecord : word;
  1537. nameLength : byte;
  1538. name : array[0..254] of byte;
  1539. end;
  1540. {$include npackoff.inc}
  1541. function GetConnectionsOpenFiles(connectionNumber:word; lastRecord:Plongint; lastTask:Plongint; structSize:longint; openFiles:PCONN_OPEN_FILES;
  1542. buffer:pointer; bufferSize:longint):longint;cdecl;external Clib name 'GetConnectionsOpenFiles';
  1543. function GetConnectionsTaskInformation(connectionNumber:word; connectionTaskInfo:Ppointer; buffer:pointer; bufferSize:longint):longint;cdecl;external Clib name 'GetConnectionsTaskInformation';
  1544. function GetConnectionsUsageStats(connectionNumber:longint; connectionUsage:PCONN_USAGE):longint;cdecl;external Clib name 'GetConnectionsUsageStats';
  1545. function GetConnectionsUsingFile(requestSize:longint; request:pointer; buffer:pointer; bufferSize:longint):longint;cdecl;external Clib name 'GetConnectionsUsingFile';
  1546. function GetDiskCacheStats(cacheStats:PDISK_CACHE_STATS):longint;cdecl;external Clib name 'GetDiskCacheStats';
  1547. function GetDiskCacheStats(var cacheStats:TDISK_CACHE_STATS):longint;cdecl;external Clib name 'GetDiskCacheStats';
  1548. function GetDiskChannelStats(channelNumber:longint; diskChannelStats:PDISK_CHANNEL_STATS):longint;cdecl;external Clib name 'GetDiskChannelStats';
  1549. function GetDiskChannelStats(channelNumber:longint; var diskChannelStats:TDISK_CHANNEL_STATS):longint;cdecl;external Clib name 'GetDiskChannelStats';
  1550. function GetDriveMappingTable(driveMappingTable:PDRIVE_MAP_TABLE):longint;cdecl;external Clib name 'GetDriveMappingTable';
  1551. function GetDriveMappingTable(var driveMappingTable:TDRIVE_MAP_TABLE):longint;cdecl;external Clib name 'GetDriveMappingTable';
  1552. function GetFileServerLANIOStats(serverLANIOStats:PSERVER_LAN_IO):longint;cdecl;external Clib name 'GetFileServerLANIOStats';
  1553. function GetFileServerLANIOStats(var serverLANIOStats:TSERVER_LAN_IO):longint;cdecl;external Clib name 'GetFileServerLANIOStats';
  1554. function GetFileServerMiscInformation(miscInformation:PSERVER_MISC_INFO):longint;cdecl;external Clib name 'GetFileServerMiscInformation';
  1555. function GetFileServerMiscInformation(var miscInformation:TSERVER_MISC_INFO):longint;cdecl;external Clib name 'GetFileServerMiscInformation';
  1556. function GetFileSystemStats(fileSysStats:PFILE_SYS_STATS):longint;cdecl;external Clib name 'GetFileSystemStats';
  1557. function GetFileSystemStats(var fileSysStats:TFILE_SYS_STATS):longint;cdecl;external Clib name 'GetFileSystemStats';
  1558. function GetLANDriverConfigInfo(LANBoardNumber:byte; LANConfiguration:PLAN_CONFIG):longint;cdecl;external Clib name 'GetLANDriverConfigInfo';
  1559. function GetLANDriverConfigInfo(LANBoardNumber:byte; var LANConfiguration:TLAN_CONFIG):longint;cdecl;external Clib name 'GetLANDriverConfigInfo';
  1560. function GetLogicalRecordInformation(requestSize:longint; request:pointer; buffer:pointer; bufferSize:longint):longint;cdecl;external Clib name 'GetLogicalRecordInformation';
  1561. function GetLogicalRecordsByConnection(connectionNumber:word; nextRecord:word; buffer:pointer; bufferSize:longint):longint;cdecl;external Clib name 'GetLogicalRecordsByConnection';
  1562. function GetPathFromDirectoryEntry(volumeNumber:byte; directoryEntry:word; pathLength:PBYTE; path:Pchar):longint;cdecl;external Clib name 'GetPathFromDirectoryEntry';
  1563. function GetPhysicalDiskStats(physicalDiskNumber:byte; physicalDiskStats:PPHYS_DISK_STATS):longint;cdecl;external Clib name 'GetPhysicalDiskStats';
  1564. function GetPhysicalDiskStats(physicalDiskNumber:byte; var physicalDiskStats:TPHYS_DISK_STATS):longint;cdecl;external Clib name 'GetPhysicalDiskStats';
  1565. function GetPhysicalRecordLocksByFile(requestSize:longint; request:pointer; buffer:pointer; bufferSize:longint):longint;cdecl;external Clib name 'GetPhysicalRecordLocksByFile';
  1566. function GetPhysRecLockByConnectAndFile(requestSize:longint; request:pointer; buffer:pointer; bufferSize:longint):longint;cdecl;external Clib name 'GetPhysRecLockByConnectAndFile';
  1567. function GetSemaphoreInformation(requestSize:longint; request:pointer; buffer:pointer; bufferSize:longint):longint;cdecl;external Clib name 'GetSemaphoreInformation';
  1568. function TTSGetStats(TTSStats:PTTS_STATS; bufferLen:longint; buffer:PBYTE):longint;cdecl;external Clib name 'TTSGetStats';
  1569. function TTSGetStats(var TTSStats:TTTS_STATS; bufferLen:longint; var buffer):longint;cdecl;external Clib name 'TTSGetStats';
  1570. {------------------------------------------------------------------------------}
  1571. {$include npackon.inc}
  1572. const
  1573. CRITICAL_ATTRIBUTE_FLAG = $00000080;
  1574. RESERVED_FLAGS_MASK = $0000FFFF;
  1575. USER_FLAGS_MASK = $FFFF0000;
  1576. {------------------------------------------------------------------
  1577. T_enumerateEAnoKey is the structure returned in the dataBuffer
  1578. by EnumerateEA if a empty key (or NULL) is specified. The
  1579. EAsInReply output parameter tells how many T_enumerateEAnoKey
  1580. structures are in the dataBuffer.
  1581. ------------------------------------------------------------------ }
  1582. { length of entire EA }
  1583. { length of this field is given by keyLength }
  1584. type
  1585. PT_enumerateEAnoKey = ^TT_enumerateEAnoKey;
  1586. TT_enumerateEAnoKey = record
  1587. valueLength : longint;
  1588. keyLength : word;
  1589. accessFlags : longint;
  1590. keyValue : array[0..0] of char;
  1591. end;
  1592. {----------------------------------------------------------------------
  1593. T_enumerateEAwithKey is the structure returned in the dataBuffer
  1594. by EnumerateEA if a non-empty key is specified. In this case the
  1595. EAsInReply output parameter will return one and there will only be
  1596. one T_enumerateEAwithKey structure in the dataBuffer.
  1597. ---------------------------------------------------------------------- }
  1598. PT_enumerateEAwithKey = ^TT_enumerateEAwithKey;
  1599. TT_enumerateEAwithKey = record
  1600. valueLength : longint;
  1601. keyLength : word;
  1602. accessFlags : longint;
  1603. keyExtants : longint;
  1604. valueExtants : longint;
  1605. keyValue : array[0..0] of char;
  1606. end;
  1607. {$include npackoff.inc}
  1608. function CloseEA(handle:longint):longint;cdecl;external Clib name 'CloseEA';
  1609. function CopyEA (srcPath,destPath:Pchar; destVolumeNumber,destDirectoryNumber:longint;
  1610. EAcount,EAdataSize,EAkeySize:PLongint):longint;cdecl;external Clib name 'CopyEA';
  1611. function CopyEA (srcPath,destPath:Pchar; destVolumeNumber,destDirectoryNumber:longint;
  1612. var EAcount,EAdataSize,EAkeySize:longint):longint;cdecl;external Clib name 'CopyEA';
  1613. function EnumerateEA(handle:longint; keyBuffer:Pchar; dataBuffer:pointer; dataBufferSize:longint;
  1614. startPosition:longint;
  1615. dataSize,EAsInReply:PLongint):longint;cdecl;external Clib name 'EnumerateEA';
  1616. function EnumerateEA(handle:longint; keyBuffer:Pchar; var dataBuffer; dataBufferSize:longint;
  1617. startPosition:longint;
  1618. var dataSize,EAsInReply:longint):longint;cdecl;external Clib name 'EnumerateEA';
  1619. function EnumerateEA(handle:longint; keyBuffer:Pchar; dataBuffer:pointer; dataBufferSize:longint;
  1620. startPosition:longint;
  1621. var dataSize,EAsInReply:longint):longint;cdecl;external Clib name 'EnumerateEA';
  1622. function GetEAInfo (handle:longint; totalEAs,totalDataSizeOfEAs,totalKeySizeOfEAs:PLongint):longint;cdecl;external Clib name 'GetEAInfo';
  1623. function GetEAInfo (handle:longint; var totalEAs,totalDataSizeOfEAs,totalKeySizeOfEAs:longint):longint;cdecl;external Clib name 'GetEAInfo';
  1624. function OpenEA(path:Pchar; reserved:longint):longint;cdecl;external Clib name 'OpenEA';
  1625. function ReadEA(handle:longint; keyBuffer:Pchar; dataBuffer:Pchar; dataBufferSize:longint; accessFlags:PLongint):longint;cdecl;external Clib name 'ReadEA';
  1626. function ReadEA(handle:longint; keyBuffer:Pchar; dataBuffer:Pchar; dataBufferSize:longint; var accessFlags:longint):longint;cdecl;external Clib name 'ReadEA';
  1627. function WriteEA(handle:longint; keyBuffer:Pchar; dataBuffer:Pchar; dataBufferSize:longint; accessFlags:longint):longint;cdecl;external Clib name 'WriteEA';
  1628. {------------------------------------------------------------------------------}
  1629. const MAX_CONSOLE_MESSAGE_LENGTH = 80;
  1630. MAX_MESSAGE_LENGTH = 58;
  1631. NEW_MAX_MESSAGE_LENGTH = 250;
  1632. function BroadcastToConsole (msg:Pchar):longint; cdecl;external Clib name 'BroadcastToConsole';
  1633. function DisableStationBroadcasts:longint; cdecl;external Clib name 'DisableStationBroadcasts';
  1634. function EnableStationBroadcasts:longint; cdecl;external Clib name 'EnableStationBroadcasts';
  1635. function GetBroadcastMessage (msgBuffer:Pchar):longint; cdecl;external Clib name 'GetBroadcastMessage';
  1636. function SendBroadcastMessage (msg:Pchar;
  1637. connectionList:PWORD;
  1638. resultList:PBYTE;
  1639. connectionCount:word):longint; cdecl;external Clib name 'SendBroadcastMessage';
  1640. function SendBroadcastMessage (msg:Pchar;
  1641. var connectionList;
  1642. var resultList;
  1643. var connectionCount:word):longint; cdecl;external Clib name 'SendBroadcastMessage';
  1644. {------------------------------------------------------------------------------}
  1645. {$include npackon.inc}
  1646. const
  1647. NWMAX_QENTRIES = 250;
  1648. { the following manifest constant applies to server versions BELOW 3.X }
  1649. NWMAX_JOB_SERVERS = 25;
  1650. { the following manifest constant applies to server versions ABOVE 2.X }
  1651. NWQ_MAX_JOB_SERVERS = 50;
  1652. QF_AUTO_START = $08;
  1653. QF_SERVICE_RESTART = $10;
  1654. QF_ENTRY_OPEN = $20;
  1655. QF_USER_HOLD = $40;
  1656. QF_OPERATOR_HOLD = $80;
  1657. { Queue Status Flags }
  1658. QS_CANT_ADD_JOBS = $01;
  1659. QS_SERVERS_CANT_ATTACH = $02;
  1660. QS_CANT_SERVICE_JOBS = $04;
  1661. type
  1662. PJobStruct = ^TJobStruct;
  1663. TJobStruct = record
  1664. clientStation : byte;
  1665. clientTaskNumber : byte;
  1666. clientIDNumber : longint;
  1667. targetServerIDNumber : longint;
  1668. targetExecutionTime : array[0..5] of byte;
  1669. jobEntryTime : array[0..5] of byte;
  1670. jobNumber : word;
  1671. jobType : word;
  1672. jobPosition : byte;
  1673. jobControlFlags : byte;
  1674. jobFileName : array[0..13] of byte;
  1675. jobFileHandle : array[0..5] of byte;
  1676. serverStation : byte;
  1677. serverTaskNumber : byte;
  1678. serverIDNumber : longint;
  1679. textJobDescription : array[0..49] of byte;
  1680. clientRecordArea : array[0..151] of byte;
  1681. end;
  1682. { (19)80 - (20)79 }
  1683. { 1 = January, ... }
  1684. { 1 - 31 }
  1685. { 0 - 23 }
  1686. { 0 - 59 }
  1687. { 0 - 59 }
  1688. PNWStandardChronRec_t = ^TNWStandardChronRec_t;
  1689. TNWStandardChronRec_t = record
  1690. year : byte;
  1691. month : byte;
  1692. day : byte;
  1693. hour : byte;
  1694. minute : byte;
  1695. second : byte;
  1696. end;
  1697. PNWQChronRec_t = ^TNWQChronRec_t;
  1698. TNWQChronRec_t = TNWStandardChronRec_t;
  1699. PNWFileHandle_t = ^TNWFileHandle_t;
  1700. TNWFileHandle_t = byte;
  1701. PNWQEntityInfo_t = ^TNWQEntityInfo_t;
  1702. TNWQEntityInfo_t = record
  1703. clientConnNum : longint;
  1704. taskNum : longint;
  1705. id : longint;
  1706. end;
  1707. PNWQJobServerInfo_t = ^TNWQJobServerInfo_t;
  1708. TNWQJobServerInfo_t = record
  1709. id : longint;
  1710. executionTime : TNWQChronRec_t;
  1711. end;
  1712. PNWQJobInfo_t = ^TNWQJobInfo_t;
  1713. TNWQJobInfo_t = record
  1714. entryTime : TNWQChronRec_t;
  1715. num : longint;
  1716. _type : word;
  1717. position : word;
  1718. controlFlags : word;
  1719. assocFileName : array[0..13] of char;
  1720. fileHandle : TNWFileHandle_t;
  1721. end;
  1722. PNWQPrintJobInfo_t = ^TNWQPrintJobInfo_t;
  1723. TNWQPrintJobInfo_t = record
  1724. entryTime : TNWQChronRec_t;
  1725. num : longint;
  1726. formType : word;
  1727. position : word;
  1728. controlFlags : word;
  1729. assocFileName : array[0..13] of char;
  1730. fileHandle : TNWFileHandle_t;
  1731. end;
  1732. PNWQJobRec_t = ^TNWQJobRec_t;
  1733. TNWQJobRec_t = record
  1734. reserved : array[0..9] of byte;
  1735. client : TNWQEntityInfo_t;
  1736. target : TNWQJobServerInfo_t;
  1737. job : TNWQJobInfo_t;
  1738. jobServer : TNWQEntityInfo_t;
  1739. textJobDescription : array[0..49] of byte;
  1740. jobServerRecord : array[0..151] of byte;
  1741. end;
  1742. PNWQPrintServerRec_t = ^TNWQPrintServerRec_t;
  1743. TNWQPrintServerRec_t = record
  1744. versionNumber : byte;
  1745. tabSize : byte;
  1746. numberOfCopies : word;
  1747. printControlFlags : word;
  1748. maxLinesPerPage : word;
  1749. maxCharsPerLine : word;
  1750. formName : array[0..12] of char;
  1751. reserve : array[0..8] of byte;
  1752. bannerNameField : array[0..12] of char;
  1753. bannerFileField : array[0..12] of char;
  1754. bannerFileName : array[0..13] of char;
  1755. directoryPath : array[0..79] of char;
  1756. end;
  1757. {$include npackoff.inc}
  1758. function AbortServicingQueueJobAndFile(queueID:longint; jobNumber:word; fileHandle:longint):longint;cdecl;external Clib name 'AbortServicingQueueJobAndFile';
  1759. function AttachQueueServerToQueue(queueID:longint):longint;cdecl;external Clib name 'AttachQueueServerToQueue';
  1760. function ChangeQueueJobEntry(queueID:longint; job:PJobStruct):longint;cdecl;external Clib name 'ChangeQueueJobEntry';
  1761. function ChangeQueueJobEntry(queueID:longint; var job:TJobStruct):longint;cdecl;external Clib name 'ChangeQueueJobEntry';
  1762. function ChangeQueueJobPosition(queueID:longint; jobNumber:word; newPosition:byte):longint;cdecl;external Clib name 'ChangeQueueJobPosition';
  1763. function ChangeToClientRights(queueID:longint; jobNumber:word):longint;cdecl;external Clib name 'ChangeToClientRights';
  1764. function CloseFileAndAbortQueueJob(queueID:longint; jobNumber:word; fileHandle:longint):longint;cdecl;external Clib name 'CloseFileAndAbortQueueJob';
  1765. function CloseFileAndStartQueueJob(queueID:longint; jobNumber:word; fileHandle:longint):longint;cdecl;external Clib name 'CloseFileAndStartQueueJob';
  1766. function CreateAQueue(queueName:Pchar; queueType:longint; pathName:Pchar; queueID:Plongint):longint;cdecl;external Clib name 'CreateAQueue';
  1767. function CreateAQueue(queueName:Pchar; queueType:longint; pathName:Pchar; var queueID:longint):longint;cdecl;external Clib name 'CreateAQueue';
  1768. function CreateQueueJobAndFile(queueID:longint; job:PJobStruct; fileHandle:Plongint):longint;cdecl;external Clib name 'CreateQueueJobAndFile';
  1769. function CreateQueueJobAndFile(queueID:longint; var job:TJobStruct; var fileHandle:longint):longint;cdecl;external Clib name 'CreateQueueJobAndFile';
  1770. function DestroyQueue(queueID:longint):longint;cdecl;external Clib name 'DestroyQueue';
  1771. function DetachQueueServerFromQueue(queueID:longint):longint;cdecl;external Clib name 'DetachQueueServerFromQueue';
  1772. function FinishServicingQueueJobAndFile(queueID:longint; jobNumber:word; charge:longint; fileHandle:longint):longint;cdecl;external Clib name 'FinishServicingQueueJobAndFile';
  1773. function GetQueueJobList(queueID:longint; jobCount:PWORD; jobNumberList:PWORD; maxJobNumbers:word):longint;cdecl;external Clib name 'GetQueueJobList';
  1774. function GetQueueJobsFileSize(queueID:longint; jobNumber:longint; fileSize:Plongint):longint;cdecl;external Clib name 'GetQueueJobsFileSize';
  1775. function NWQAbortJob(queueID:longint; jobNum:longint; fileHandle:longint):longint;cdecl;external Clib name 'NWQAbortJob';
  1776. function NWQAbortJobService(queueID:longint; jobNum:longint; fileHandle:longint):longint;cdecl;external Clib name 'NWQAbortJobService';
  1777. function NWQAttachServer(queueID:longint):longint;cdecl;external Clib name 'NWQAttachServer';
  1778. function NWQBeginJobService(queueID:longint; targetJobType:word; jobInfo:PNWQJobRec_t; fileHandle:Plongint):longint;cdecl;external Clib name 'NWQBeginJobService';
  1779. function NWQChangeJobEntry(queueID:longint; jobInfo:PNWQJobRec_t):longint;cdecl;external Clib name 'NWQChangeJobEntry';
  1780. function NWQChangeJobPosition(queueID:longint; jobNum:longint; newPosition:longint):longint;cdecl;external Clib name 'NWQChangeJobPosition';
  1781. function NWQChangeJobQueue(srcQueueID:longint; srcJobNum:longint; dstQueueID:longint; dstJobNum:Plongint):longint;cdecl;external Clib name 'NWQChangeJobQueue';
  1782. function NWQChangeToClientRights(queueID:longint; jobNum:longint):longint;cdecl;external Clib name 'NWQChangeToClientRights';
  1783. function NWQCreate(queueName:Pchar; queueType:word; pathName:Pchar; queueID:Plongint):longint;cdecl;external Clib name 'NWQCreate';
  1784. function NWQCreateJob(queueID:longint; jobInfo:PNWQJobRec_t; fileHandle:Plongint):longint;cdecl;external Clib name 'NWQCreateJob';
  1785. function NWQCreateJob(queueID:longint; var jobInfo:TNWQJobRec_t; fileHandle:Plongint):longint;cdecl;external Clib name 'NWQCreateJob';
  1786. function NWQDestroy(queueID:longint):longint;cdecl;external Clib name 'NWQDestroy';
  1787. function NWQDetachServer(queueID:longint):longint;cdecl;external Clib name 'NWQDetachServer';
  1788. function NWQEndJobService(queueID:longint; jobNum:longint; chargeInfo:longint; fileHandle:longint):longint;cdecl;external Clib name 'NWQEndJobService';
  1789. function NWQGetJobEntry(queueID:longint; jobNum:longint; jobInfo:PNWQJobRec_t):longint;cdecl;external Clib name 'NWQGetJobEntry';
  1790. function NWQGetJobEntry(queueID:longint; jobNum:longint; var jobInfo:TNWQJobRec_t):longint;cdecl;external Clib name 'NWQGetJobEntry';
  1791. function NWQGetJobFileSize(queueID:longint; jobNum:longint; fileSize:Plongint):longint;cdecl;external Clib name 'NWQGetJobFileSize';
  1792. function NWQGetJobFileSize(queueID:longint; jobNum:longint; var fileSize:longint):longint;cdecl;external Clib name 'NWQGetJobFileSize';
  1793. function NWQGetServers(queueID:longint; currentServers,qServerIDs,qServerConnNums:Plongint):longint;cdecl;external Clib name 'NWQGetServers';
  1794. function NWQGetServerStatus(queueID:longint; jobServerID:longint; jobServerConnNum:longint; jobServerRecord:pointer):longint;cdecl;external Clib name 'NWQGetServerStatus';
  1795. function NWQGetStatus(queueID:longint; queueStatus:Plongint; currentEntries:Plongint; currentServers:Plongint):longint;cdecl;external Clib name 'NWQGetStatus';
  1796. function NWQMarkJobForService(queueID:longint; jobNum:longint; fileHandle:longint):longint;cdecl;external Clib name 'NWQMarkJobForService';
  1797. function NWQRemoveJob(queueID:longint; jobNum:longint):longint;cdecl;external Clib name 'NWQRemoveJob';
  1798. function NWQRestoreServerRights:longint;cdecl;external Clib name 'NWQRestoreServerRights';
  1799. function NWQScanJobNums(queueID:longint; queueSequence:Plongint; totalJobs:Plongint; jobCount:Plongint; jobNumList:Plongint):longint;cdecl;external Clib name 'NWQScanJobNums';
  1800. function NWQServiceJob(queueID:longint; targetJobTypesCount:longint; targetJobTypes:PWORD; jobInfo:PNWQJobRec_t; fileHandle:Plongint):longint;cdecl;external Clib name 'NWQServiceJob';
  1801. function NWQSetServerStatus(queueID:longint; serverStatusRecord:pointer):longint;cdecl;external Clib name 'NWQSetServerStatus';
  1802. function NWQSetStatus(queueID:longint; queueStatus:longint):longint;cdecl;external Clib name 'NWQSetStatus';
  1803. function ReadQueueCurrentStatus(queueID:longint; queueStatus:PBYTE; numberOfJobs:PBYTE; numberOfServers:PBYTE; serverIDList:Plongint;
  1804. serverStationList:PWORD; maxNumberOfServers:word):longint;cdecl;external Clib name 'ReadQueueCurrentStatus';
  1805. function ReadQueueJobEntry(queueID:longint; jobNumber:word; job:PJobStruct):longint;cdecl;external Clib name 'ReadQueueJobEntry';
  1806. function ReadQueueServerCurrentStatus(queueID:longint; serverID:longint; serverStation:char; serverStatusRecord:Pchar):longint;cdecl;external Clib name 'ReadQueueServerCurrentStatus';
  1807. function RemoveJobFromQueue(queueID:longint; jobNumber:word):longint;cdecl;external Clib name 'RemoveJobFromQueue';
  1808. function RestoreQueueServerRights:longint;cdecl;external Clib name 'RestoreQueueServerRights';
  1809. function ServiceQueueJobAndOpenFile(queueID:longint; targetJobType:word; job:PJobStruct; fileHandle:Plongint):longint;cdecl;external Clib name 'ServiceQueueJobAndOpenFile';
  1810. function ServiceQueueJobAndOpenFile(queueID:longint; targetJobType:word; var job:TJobStruct; var fileHandle:longint):longint;cdecl;external Clib name 'ServiceQueueJobAndOpenFile';
  1811. function SetQueueCurrentStatus(queueID:longint; queueStatus:byte):longint;cdecl;external Clib name 'SetQueueCurrentStatus';
  1812. function SetQueueServerCurrentStatus(queueID:longint; serverStatusRecord:PBYTE):longint;cdecl;external Clib name 'SetQueueServerCurrentStatus';
  1813. function SetQueueServerCurrentStatus(queueID:longint; var serverStatusRecord):longint;cdecl;external Clib name 'SetQueueServerCurrentStatus';
  1814. {------------------------------------------------------------------------------}
  1815. function GetNetworkSerialNumber (networkSerialNumber : Plongint;
  1816. applicationNumber : Pword) : longint; cdecl; external Clib name 'GetNetworkSerialNumber';
  1817. function GetNetworkSerialNumber (var networkSerialNumber : longint;
  1818. var applicationNumber : word) : longint; cdecl; external Clib name 'GetNetworkSerialNumber';
  1819. function VerifyNetworkSerialNumber (networkSerialNumber : longint;
  1820. applicationNumber : Pword) : longint; cdecl; external Clib name 'VerifyNetworkSerialNumber';
  1821. function VerifyNetworkSerialNumber (networkSerialNumber : longint;
  1822. var applicationNumber : word) : longint; cdecl; external Clib name 'VerifyNetworkSerialNumber';
  1823. {------------------------------------------------------------------------------}
  1824. const
  1825. OLD_SS_DEFAULT_BUFFER_SIZE = 538;
  1826. SS_DEFAULT_BUFFER_SIZE = 600;
  1827. { These connection types are used by SSGetActiveConnListByType }
  1828. { They are all conditionally defined because some of them may appear in }
  1829. { other clib header files. }
  1830. { }
  1831. { Connection service type }
  1832. { NOTE: type 1 is reserved by CLIB for backward compatability }
  1833. NCP_CONNECTION_TYPE = 2;
  1834. NLM_CONNECTION_TYPE = 3;
  1835. AFP_CONNECTION_TYPE = 4;
  1836. FTAM_CONNECTION_TYPE = 5;
  1837. ANCP_CONNECTION_TYPE = 6;
  1838. { %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% }
  1839. { User Interface Structures }
  1840. { %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% }
  1841. {$include npackon.inc}
  1842. type
  1843. PSSDefaultBuffer = ^TSSDefaultBuffer;
  1844. TSSDefaultBuffer = record
  1845. data : array[0..(SS_DEFAULT_BUFFER_SIZE)-1] of byte;
  1846. end;
  1847. PCacheMemoryCounters = ^TCacheMemoryCounters;
  1848. TCacheMemoryCounters = record
  1849. OriginalNumberOfCacheBuffers : longint;
  1850. CurrentNumberOfCacheBuffers : longint;
  1851. CacheDirtyBlockThreshold : longint;
  1852. debugCounters : array[0..6] of longint;
  1853. end;
  1854. PCacheTrendCounters = ^TCacheTrendCounters;
  1855. TCacheTrendCounters = record
  1856. NumOfCacheChecks : longint;
  1857. NumOfCacheHits : longint;
  1858. debugCounters : array[0..6] of longint;
  1859. LRUSittingTime : longint;
  1860. end;
  1861. PCacheInformation = ^TCacheInformation;
  1862. TCacheInformation = record
  1863. MaximumByteCount : longint;
  1864. MinimumNumberOfCacheBuffers : longint;
  1865. MinimumCacheReportThreshold : longint;
  1866. AllocateWaitingCount : longint;
  1867. NDirtyBlocks : longint;
  1868. CacheDirtyWaitTime : longint;
  1869. CacheMaximumConcurrentWrites : longint;
  1870. MaximumDirtyTime : longint;
  1871. NumberOfDirectoryCacheBuffers : longint;
  1872. CacheByteToBlockShiftFactor : longint;
  1873. end;
  1874. PGetCacheInfoStructure = ^TGetCacheInfoStructure;
  1875. TGetCacheInfoStructure = record
  1876. currentServerTime : longint;
  1877. VConsoleVersion : byte;
  1878. VConsoleRevision : byte;
  1879. reserved : word;
  1880. CacheCntrs : array[0..25] of longint;
  1881. MemoryCntrs : TCacheMemoryCounters;
  1882. TrendCntrs : TCacheTrendCounters;
  1883. CacheInfo : TCacheInformation;
  1884. end;
  1885. PServerInformation = ^TServerInformation;
  1886. TServerInformation = record
  1887. ReplyCanceledCount : longint;
  1888. WriteHeldOffCount : longint;
  1889. reserved1 : longint;
  1890. InvalidRequestTypeCount : longint;
  1891. BeingAbortedCount : longint;
  1892. AlreadyDoingReAllocateCount : longint;
  1893. reserved2 : array[0..2] of longint;
  1894. DeAllocateStillTransmittingCount : longint;
  1895. StartStationErrorCount : longint;
  1896. InvalidSlotCount : longint;
  1897. BeingProcessedCount : longint;
  1898. ForgedPacketCount : longint;
  1899. StillTransmittingCount : longint;
  1900. ReExecuteRequestCount : longint;
  1901. InvalidSequenceNumberCount : longint;
  1902. DuplicateIsBeingSentAlreadyCount : longint;
  1903. SentPositiveAcknowledgeCount : longint;
  1904. SentADuplicateReplyCount : longint;
  1905. NoMemoryForStationControlCount : longint;
  1906. NoAvailableConnectionsCount : longint;
  1907. ReAllocateSlotCount : longint;
  1908. ReAllocateSlotCameTooSoonCount : longint;
  1909. end;
  1910. PFSCounters = ^TFSCounters;
  1911. TFSCounters = record
  1912. TooManyHops : word;
  1913. UnknownNetwork : word;
  1914. NoSpaceForService : word;
  1915. NoRecieveBuffers : word;
  1916. NotMyNetwork : word;
  1917. NetBIOSPropagatedCount : longint;
  1918. TotalPacketsServiced : longint;
  1919. TotalPacketsRouted : longint;
  1920. end;
  1921. PGetFileServerInfoStructure = ^TGetFileServerInfoStructure;
  1922. TGetFileServerInfoStructure = record
  1923. currentServerTime : longint;
  1924. vConsoleVersion : byte;
  1925. vConsoleRevision : byte;
  1926. reserved : word;
  1927. NCPStaInUseCnt : longint;
  1928. NCPPeakStaInUse : longint;
  1929. numOfNCPReqs : longint;
  1930. serverUtilization : longint;
  1931. serverInfo : TServerInformation;
  1932. fileServerCounters : TFSCounters;
  1933. end;
  1934. PGetFileSystemInfoStructure = ^TGetFileSystemInfoStructure;
  1935. TGetFileSystemInfoStructure = record
  1936. currentServerTime : longint;
  1937. vConsoleVersion : byte;
  1938. vConsoleRevision : byte;
  1939. reserved : word;
  1940. debugCounters : array[0..12] of longint;
  1941. end;
  1942. PUserInformation = ^TUserInformation;
  1943. TUserInformation = record
  1944. connectionNumber : longint;
  1945. useCount : longint;
  1946. connectionServiceType : byte;
  1947. loginTime : array[0..6] of byte;
  1948. status : longint;
  1949. expirationTime : longint;
  1950. objectType : longint;
  1951. transactionFlag : byte;
  1952. logicalLockThreshold : byte;
  1953. recordLockThreshold : byte;
  1954. fileWriteFlags : byte;
  1955. fileWriteState : byte;
  1956. filler : byte;
  1957. fileLockCount : word;
  1958. recordLockCount : word;
  1959. totalBytesRead : array[0..5] of byte;
  1960. totalBytesWritten : array[0..5] of byte;
  1961. totalRequests : longint;
  1962. heldRequests : longint;
  1963. heldBytesRead : array[0..5] of byte;
  1964. heldBytesWritten : array[0..5] of byte;
  1965. end;
  1966. PGetUserInfoStructure = ^TGetUserInfoStructure;
  1967. TGetUserInfoStructure = record
  1968. currentServerTime : longint;
  1969. vConsoleVersion : byte;
  1970. vConsoleRevision : byte;
  1971. reserved : word;
  1972. userInfo : TUserInformation;
  1973. userNameLen : byte;
  1974. username : byte;
  1975. end;
  1976. PPacketBurstInformation = ^TPacketBurstInformation;
  1977. TPacketBurstInformation = record
  1978. BigInvalidSlotCount : longint;
  1979. BigForgedPacketCount : longint;
  1980. BigInvalidPacketCount : longint;
  1981. BigStillTransmittingCount : longint;
  1982. StillDoingTheLastRequestCount : longint;
  1983. InvalidControlRequestCount : longint;
  1984. ControlInvalidMessageNumberCount : longint;
  1985. ControlBeingTornDownCount : longint;
  1986. BigRepeatTheFileReadCount : longint;
  1987. BigSendExtraCCCount : longint;
  1988. BigReturnAbortMessageCount : longint;
  1989. BigReadInvalidMessageNumberCount : longint;
  1990. BigReadDoItOverCount : longint;
  1991. BigReadBeingTornDownCount : longint;
  1992. PreviousControlPacketCount : longint;
  1993. SendHoldOffMessageCount : longint;
  1994. BigReadNoDataAvailableCount : longint;
  1995. BigReadTryingToReadTooMuchCount : longint;
  1996. ASyncReadErrorCount : longint;
  1997. BigReadPhysicalReadErrorCount : longint;
  1998. ControlBadACKFragmentListCount : longint;
  1999. ControlNoDataReadCount : longint;
  2000. WriteDuplicateRequestCount : longint;
  2001. ShouldntBeACKingHereCount : longint;
  2002. WriteInconsistentPacketLengthsCount : longint;
  2003. FirstPacketIsntAWriteCount : longint;
  2004. WriteTrashedDuplicateRequestCount : longint;
  2005. BigWriteInvalidMessageNumberCount : longint;
  2006. BigWriteBeingTornDownCount : longint;
  2007. BigWriteBeingAbortedCount : longint;
  2008. ZeroACKFragmentCountCount : longint;
  2009. WriteCurrentlyTransmittingCount : longint;
  2010. TryingToWriteTooMuchCount : longint;
  2011. WriteOutOfMemoryForControlNodesCount : longint;
  2012. WriteDidntNeedThisFragmentCount : longint;
  2013. WriteTooManyBuffersCheckedOutCount : longint;
  2014. WriteTimeOutCount : longint;
  2015. WriteGotAnACKCount : longint;
  2016. WriteGotAnACKCount1 : longint;
  2017. PollerAbortedTheConnectionCount : longint;
  2018. MaybeHadOutOfOrderWritesCount : longint;
  2019. HadAnOutOfOrderWriteCount : longint;
  2020. MovedTheACKBitDownCount : longint;
  2021. BumpedOutOfOrderWriteCount : longint;
  2022. PollerRemovedOldOutOfOrderCount : longint;
  2023. WriteDidntNeedButRequestedACKCount : longint;
  2024. WriteTrashedPacketCount : longint;
  2025. TooManyACKFragmentsCount : longint;
  2026. SavedAnOutOfOrderPacketCount : longint;
  2027. ConnectionBeingAbortedCount : longint;
  2028. end;
  2029. PGetPacketBurstInfoStructure = ^TGetPacketBurstInfoStructure;
  2030. TGetPacketBurstInfoStructure = record
  2031. currentServerTime : longint;
  2032. vConsoleVersion : byte;
  2033. vConsoleRevision : byte;
  2034. reserved : word;
  2035. packetBurstInfo : TPacketBurstInformation;
  2036. end;
  2037. PIPXInformation = ^TIPXInformation;
  2038. TIPXInformation = record
  2039. IpxSendPacketCount : longint;
  2040. IpxMalformPacketCount : word;
  2041. IpxGetECBRequestCount : longint;
  2042. IpxGetECBFailCount : longint;
  2043. IpxAESEventCount : longint;
  2044. IpxPostponedAESCount : word;
  2045. IpxMaxConfiguredSocketCount : word;
  2046. IpxMaxOpenSocketCount : word;
  2047. IpxOpensocketFailCount : word;
  2048. IpxListenECBCount : longint;
  2049. IpxECBCancelFailCount : word;
  2050. IpxGetLocalTargetFailCount : word;
  2051. end;
  2052. PSPXInformation = ^TSPXInformation;
  2053. TSPXInformation = record
  2054. SpxMaxConnectionsCount : word;
  2055. SpxMaxUsedConnections : word;
  2056. SpxEstConnectionReq : word;
  2057. SpxEstConnectionFail : word;
  2058. SpxListenConnectReq : word;
  2059. SpxListenConnectFail : word;
  2060. SpxSendCount : longint;
  2061. SpxWindowChokeCount : longint;
  2062. SpxBadSendCount : word;
  2063. SpxSendFailCount : word;
  2064. SpxAbortedConnection : word;
  2065. SpxListenPacketCount : longint;
  2066. SpxBadListenCount : word;
  2067. SpxIncomingPacketCount : longint;
  2068. SpxBadInPacketCnt : word;
  2069. SpxSuppressedPackCnt : word;
  2070. SpxNoSesListenECBCnt : word;
  2071. SpxWatchDogDestSesCnt : word;
  2072. end;
  2073. PGetIPXSPXInfoStructure = ^TGetIPXSPXInfoStructure;
  2074. TGetIPXSPXInfoStructure = record
  2075. currentServerTime : longint;
  2076. vConsoleVersion : byte;
  2077. vConsoleRevision : byte;
  2078. reserved : word;
  2079. IPXInfo : TIPXInformation;
  2080. SPXInfo : TSPXInformation;
  2081. end;
  2082. PGetGarbageCollInfoStructure = ^TGetGarbageCollInfoStructure;
  2083. TGetGarbageCollInfoStructure = record
  2084. currentServerTime : longint;
  2085. vConsoleVersion : byte;
  2086. vConsoleRevision : byte;
  2087. reserved : word;
  2088. failedAllocReqCount : longint;
  2089. numberOfAllocs : longint;
  2090. noMoreMemAvlCnt : longint;
  2091. numOfGarbageColl : longint;
  2092. foundSomeMem : longint;
  2093. numOfChecks : longint;
  2094. end;
  2095. TGetGarbageCollInfoStruc = TGetGarbageCollInfoStructure;
  2096. PGetGarbageCollInfoStruc = ^TGetGarbageCollInfoStruc;
  2097. PCPUInformation = ^TCPUInformation;
  2098. TCPUInformation = record
  2099. numberOfCPUs : longint;
  2100. PageTableOwnerFlag : longint;
  2101. CPUType : longint;
  2102. CoProcessorFlag : longint;
  2103. BusType : longint;
  2104. IOEngineFlag : longint;
  2105. FSEngineFlag : longint;
  2106. NonDedFlag : longint;
  2107. end;
  2108. PGetCPUInfoStructure = ^TGetCPUInfoStructure;
  2109. TGetCPUInfoStructure = record
  2110. currentServerTime : longint;
  2111. vConsoleVersion : byte;
  2112. vConsoleRevision : byte;
  2113. reserved : word;
  2114. CPUInfo : TCPUInformation;
  2115. variableStringsStart : byte;
  2116. end;
  2117. { The LFSCountersStructure is provided }
  2118. { so that you can see field names. It }
  2119. { isn't referenced and developers will }
  2120. { probably want to define their own }
  2121. { structure. This structure may grow }
  2122. { beyond what one call can return at }
  2123. { some future date. }
  2124. { }
  2125. PLFSCountersStructure = ^TLFSCountersStructure;
  2126. TLFSCountersStructure = record
  2127. ReadFile : longint;
  2128. WriteFile : longint;
  2129. DeleteFile : longint;
  2130. RenMove : longint;
  2131. OpenFile : longint;
  2132. CreateFile : longint;
  2133. CreateAndOpenFile : longint;
  2134. CloseFile : longint;
  2135. ScanDeleteFile : longint;
  2136. SalvageFile : longint;
  2137. PurgeFile : longint;
  2138. MigrateFile : longint;
  2139. DeMigrateFile : longint;
  2140. CreateDir : longint;
  2141. DeleteDir : longint;
  2142. DirectoryScans : longint;
  2143. MapPathToDirNum : longint;
  2144. ModifyDirEntry : longint;
  2145. GetAccessRights : longint;
  2146. GetAccessRightsFromIDs : longint;
  2147. MapDirNumToPath : longint;
  2148. GetEntryFromPathStrBase : longint;
  2149. GetOtherNSEntry : longint;
  2150. GetExtDirInfo : longint;
  2151. GetParentDirNum : longint;
  2152. AddTrusteeR : longint;
  2153. ScanTrusteeR : longint;
  2154. DelTrusteeR : longint;
  2155. PurgeTrust : longint;
  2156. FindNextTrustRef : longint;
  2157. ScanUserRestNodes : longint;
  2158. AddUserRest : longint;
  2159. DeleteUserRest : longint;
  2160. RtnDirSpaceRest : longint;
  2161. GetActualAvailDskSp : longint;
  2162. CntOwnedFilesAndDirs : longint;
  2163. MigFileInfo : longint;
  2164. VolMigInfo : longint;
  2165. ReadMigFileData : longint;
  2166. GetVolusageStats : longint;
  2167. GetActualVolUsageStats : longint;
  2168. GetDirUsageStats : longint;
  2169. NMFileReadsCount : longint;
  2170. NMFileWritesCount : longint;
  2171. MapPathToDirectoryNumberOrPhantom : longint;
  2172. StationHasAccessRightsGrantedBelow : longint;
  2173. GetDataStreamLengthsFromPathStringBase : longint;
  2174. CheckAndGetDirectoryEntry : longint;
  2175. GetDeletedEntry : longint;
  2176. GetOriginalNameSpace : longint;
  2177. GetActualFileSize : longint;
  2178. VerifyNameSpaceNumber : longint;
  2179. VerifyDataStreamNumber : longint;
  2180. CheckVolumeNumber : longint;
  2181. CommitFile : longint;
  2182. VMGetDirectoryEntry : longint;
  2183. CreateDMFileEntry : longint;
  2184. RenameNameSpaceEntry : longint;
  2185. LogFile : longint;
  2186. ReleaseFile : longint;
  2187. ClearFile : longint;
  2188. SetVolumeFlag : longint;
  2189. ClearVolumeFlag : longint;
  2190. GetOriginalInfo : longint;
  2191. CreateMigratedDir : longint;
  2192. F3OpenCreate : longint;
  2193. F3InitFileSearch : longint;
  2194. F3ContinueFileSearch : longint;
  2195. F3RenameFile : longint;
  2196. F3ScanForTrustees : longint;
  2197. F3ObtainFileInfo : longint;
  2198. F3ModifyInfo : longint;
  2199. F3EraseFile : longint;
  2200. F3SetDirHandle : longint;
  2201. F3AddTrustees : longint;
  2202. F3DeleteTrustees : longint;
  2203. F3AllocDirHandle : longint;
  2204. F3ScanSalvagedFiles : longint;
  2205. F3RecoverSalvagedFiles : longint;
  2206. F3PurgeSalvageableFile : longint;
  2207. F3GetNSSpecificInfo : longint;
  2208. F3ModifyNSSpecificInfo : longint;
  2209. F3SearchSet : longint;
  2210. F3GetDirBase : longint;
  2211. F3QueryNameSpaceInfo : longint;
  2212. F3GetNameSpaceList : longint;
  2213. F3GetHugeInfo : longint;
  2214. F3SetHugeInfo : longint;
  2215. F3GetFullPathString : longint;
  2216. F3GetEffectiveDirectoryRights : longint;
  2217. ParseTree : longint;
  2218. end;
  2219. PGetVolumeSwitchInfoStructure = ^TGetVolumeSwitchInfoStructure;
  2220. TGetVolumeSwitchInfoStructure = record
  2221. currentServerTime : longint;
  2222. vConsoleVersion : byte;
  2223. vConsoleRevision : byte;
  2224. reserved : word;
  2225. totalLFSCounters : longint;
  2226. currentLFSCounters : longint;
  2227. counters : longint;
  2228. end;
  2229. PGetNLMLoadedListStructure = ^TGetNLMLoadedListStructure;
  2230. TGetNLMLoadedListStructure = record
  2231. currentServerTime : longint;
  2232. vConsoleVersion : byte;
  2233. vConsoleRevision : byte;
  2234. moreFlag : word;
  2235. NLMLoadedCount : longint;
  2236. NLMCount : longint;
  2237. NLMNumbers : longint;
  2238. end;
  2239. PNLMInformation = ^TNLMInformation;
  2240. TNLMInformation = record
  2241. nlmIdentificationNumber : longint;
  2242. nlmFlags : longint;
  2243. nlmType : longint;
  2244. nlmParentID : longint;
  2245. nlmMajorVersion : longint;
  2246. nlmMinorVersion : longint;
  2247. nlmRevision : longint;
  2248. nlmYear : longint;
  2249. nlmMonth : longint;
  2250. nlmDay : longint;
  2251. nlmAllocAvailBytes : longint;
  2252. nlmAllocFreeCount : longint;
  2253. nlmLastGarbCollect : longint;
  2254. nlmMessageLanguage : longint;
  2255. nlmNumberOfReferencedPublics : longint;
  2256. end;
  2257. { In GetNLMInfoStructure: }
  2258. { At startOFLStrings there will be three }
  2259. { length preceeded strings -- they may be }
  2260. { zero bytes long! The strings are: }
  2261. { the file name, the NLM name, and the }
  2262. { copyright. }
  2263. { Each string consists of one byte which }
  2264. { contains the length of the string }
  2265. { followed by zero to 255 bytes of data, }
  2266. { depending upon the value of the length }
  2267. { byte. When the length byte is zero, no }
  2268. { data is present for that string. }
  2269. { }
  2270. { 3 Len preceeded strings: filename, name, copyright }
  2271. PGetNLMInfoStructure = ^TGetNLMInfoStructure;
  2272. TGetNLMInfoStructure = record
  2273. currentServerTime : longint;
  2274. vConsoleVersion : byte;
  2275. vConsoleRevision : byte;
  2276. reserved : word;
  2277. NLMInfo : TNLMInformation;
  2278. startOfLStrings : byte;
  2279. end;
  2280. PDirectoryCacheInformation = ^TDirectoryCacheInformation;
  2281. TDirectoryCacheInformation = record
  2282. MinimumTimeSinceFileDelete : longint;
  2283. AbsMinimumTimeSinceFileDelete : longint;
  2284. MinimumNumberOfDirCacheBuffers : longint;
  2285. MaximumNumberOfDirCacheBuffers : longint;
  2286. NumberOfDirectoryCacheBuffers : longint;
  2287. DCMinimumNonReferencedTime : longint;
  2288. DCWaitTimeBeforeNewBuffer : longint;
  2289. DCMaximumConcurrentWrites : longint;
  2290. DCDirtyWaitTime : longint;
  2291. debugCounters : array[0..3] of longint;
  2292. PercentOfVolumeUsedByDirs : longint;
  2293. end;
  2294. PGetDirCacheInfoStructure = ^TGetDirCacheInfoStructure;
  2295. TGetDirCacheInfoStructure = record
  2296. currentServerTime : longint;
  2297. vConsoleVersion : byte;
  2298. vConsoleRevision : byte;
  2299. reserved : word;
  2300. dirCacheInfo : TDirectoryCacheInformation;
  2301. end;
  2302. PGetOSVersionInfoStructure = ^TGetOSVersionInfoStructure;
  2303. TGetOSVersionInfoStructure = record
  2304. currentServerTime : longint;
  2305. vConsoleVersion : byte;
  2306. vConsoleRevision : byte;
  2307. reserved : word;
  2308. OSMajorVersion : byte;
  2309. OSMinorVersion : byte;
  2310. OSRevision : byte;
  2311. accountVersion : byte;
  2312. VAPVersion : byte;
  2313. queueingVersion : byte;
  2314. securityRestLvl : byte;
  2315. bridgingSupport : byte;
  2316. maxNumOfVol : longint;
  2317. maxNumOfConn : longint;
  2318. maxNumOfUsers : longint;
  2319. maxNumOfnameSpaces : longint;
  2320. maxNumOfLANS : longint;
  2321. maxNumOfMedias : longint;
  2322. maxNumOfStacks : longint;
  2323. maxDirDepth : longint;
  2324. maxDataStreams : longint;
  2325. maxNumOfSpoolPr : longint;
  2326. serverSerialNumber : longint;
  2327. serverApplicationNumber : word;
  2328. end;
  2329. PGetActiveConnListByTypeStructure = ^TGetActiveConnListByTypeStructure;
  2330. TGetActiveConnListByTypeStructure = record
  2331. currentServerTime : longint;
  2332. vConsoleVersion : byte;
  2333. vConsoleRevision : byte;
  2334. reserved : word;
  2335. ActiveConnBitList : array[0..511] of byte;
  2336. end;
  2337. PRTagStructure = ^TRTagStructure;
  2338. TRTagStructure = record
  2339. rTagNumber : longint;
  2340. signature : longint;
  2341. count : longint;
  2342. name : byte;
  2343. end;
  2344. PGetNLMResourceTagList = ^TGetNLMResourceTagList;
  2345. TGetNLMResourceTagList = record
  2346. currentServerTime : longint;
  2347. vConsoleVersion : byte;
  2348. vConsoleRevision : byte;
  2349. reserved : word;
  2350. totalNumOfRTags : longint;
  2351. currentNumOfRTags : longint;
  2352. RTagStart : TRTagStructure;
  2353. end;
  2354. PGetActiveLANBoardListStructure = ^TGetActiveLANBoardListStructure;
  2355. TGetActiveLANBoardListStructure = record
  2356. currentServerTime : longint;
  2357. vConsoleVersion : byte;
  2358. vConsoleRevision : byte;
  2359. reserved : word;
  2360. maxNumOfLANs : longint;
  2361. itemsCount : longint;
  2362. boardNumbers : longint;
  2363. end;
  2364. PDriverConfigStructure = ^TDriverConfigStructure;
  2365. TDriverConfigStructure = record
  2366. DriverCFG_MajorVersion : byte;
  2367. DriverCFG_MinorVersion : byte;
  2368. DriverNodeAddress : array[0..5] of byte;
  2369. DriverModeFlags : word;
  2370. DriverBoardNumber : word;
  2371. DriverBoardInstance : word;
  2372. DriverMaximumSize : longint;
  2373. DriverMaxRecvSize : longint;
  2374. DriverRecvSize : longint;
  2375. DriverCardName : longint;
  2376. DriverShortName : longint;
  2377. DriverMediaType : longint;
  2378. DriverCardID : word;
  2379. DriverMediaID : word;
  2380. DriverTransportTime : word;
  2381. DriverReserved : array[0..15] of byte;
  2382. DriverMajorVersion : byte;
  2383. DriverMinorVersion : byte;
  2384. DriverFlags : word;
  2385. DriverSendRetries : word;
  2386. DriverLink : longint;
  2387. DriverSharingFlags : word;
  2388. DriverSlot : word;
  2389. DriverIOPortsAndLengths : array[0..3] of word;
  2390. DriverMemoryDecode0 : longint;
  2391. DriverLength0 : word;
  2392. DriverMemoryDecode1 : longint;
  2393. DriverLength1 : word;
  2394. DriverInterrupt : array[0..1] of byte;
  2395. DriverDMAUsage : array[0..1] of byte;
  2396. DriverResourceTag : longint;
  2397. DriverConfig : longint;
  2398. DriverCommandString : longint;
  2399. DriverLogicalName : array[0..17] of byte;
  2400. DriverLinearMemory : array[0..1] of longint;
  2401. DriverChannelNumber : word;
  2402. DriverIOReserved : array[0..5] of byte;
  2403. end;
  2404. PGetLANConfigInfoStructure = ^TGetLANConfigInfoStructure;
  2405. TGetLANConfigInfoStructure = record
  2406. currentServerTime : longint;
  2407. vConsoleVersion : byte;
  2408. vConsoleRevision : byte;
  2409. reserved : word;
  2410. LANConfig : TDriverConfigStructure;
  2411. end;
  2412. PCommonLANStructure = ^TCommonLANStructure;
  2413. TCommonLANStructure = record
  2414. notSupportedMask : longint;
  2415. TotalTxPacketCount : longint;
  2416. TotalRxPacketCount : longint;
  2417. NoECBAvailableCount : longint;
  2418. PacketTxTooBigCount : longint;
  2419. PacketTxTooSmallCount : longint;
  2420. PacketRxOverflowCount : longint;
  2421. PacketRxTooBigCount : longint;
  2422. PacketRxTooSmallCount : longint;
  2423. PacketTxMiscErrorCount : longint;
  2424. PacketRxMiscErrorCount : longint;
  2425. RetryTxCount : longint;
  2426. ChecksumErrorCount : longint;
  2427. HardwareRxMismatchCount : longint;
  2428. TotalTxOKByteCountLow : longint;
  2429. TotalTxOKByteCountHigh : longint;
  2430. TotalRxOKByteCountLow : longint;
  2431. TotalRxOKByteCountHigh : longint;
  2432. TotalGroupAddrTxCount : longint;
  2433. TotalGroupAddrRxCount : longint;
  2434. AdapterResetCount : longint;
  2435. AdapterOprTimeStamp : longint;
  2436. AdapterQueDepth : longint;
  2437. MediaSpecificCounter1 : longint;
  2438. MediaSpecificCounter2 : longint;
  2439. MediaSpecificCounter3 : longint;
  2440. MediaSpecificCounter4 : longint;
  2441. MediaSpecificCounter5 : longint;
  2442. MediaSpecificCounter6 : longint;
  2443. MediaSpecificCounter7 : longint;
  2444. MediaSpecificCounter8 : longint;
  2445. MediaSpecificCounter9 : longint;
  2446. MediaSpecificCounter10 : longint;
  2447. ValidMask1 : longint;
  2448. MediaSpecificCounter11 : longint;
  2449. MediaSpecificCounter12 : longint;
  2450. MediaSpecificCounter13 : longint;
  2451. MediaSpecificCounter14 : longint;
  2452. end;
  2453. PGetLANCommonCountersStructure = ^TGetLANCommonCountersStructure;
  2454. TGetLANCommonCountersStructure = record
  2455. currentServerTime : longint;
  2456. vConsoleVersion : byte;
  2457. vConsoleRevision : byte;
  2458. statMajorVersion : byte;
  2459. statMinorVersion : byte;
  2460. totalCommonCnts : longint;
  2461. totalCntBlocks : longint;
  2462. customCounters : longint;
  2463. nextCntBlock : longint;
  2464. info : TCommonLANStructure;
  2465. end;
  2466. PCustomCountersInfo = ^TCustomCountersInfo;
  2467. TCustomCountersInfo = record
  2468. value : longint;
  2469. stringLength : byte;
  2470. stringStart : byte;
  2471. end;
  2472. PGetCustomCountersInfoStructure = ^TGetCustomCountersInfoStructure;
  2473. TGetCustomCountersInfoStructure = record
  2474. currentServerTime : longint;
  2475. vConsoleVersion : byte;
  2476. vConsoleRevision : byte;
  2477. moreflag : word;
  2478. numberOfCustomCounters : longint;
  2479. startOfCustomCounters : byte;
  2480. end;
  2481. PLSLInformation = ^TLSLInformation;
  2482. TLSLInformation = record
  2483. RxBufs : longint;
  2484. RxBufs75PerCent : longint;
  2485. RxBufsCheckedOut : longint;
  2486. RxBufMaxSize : longint;
  2487. MaxPhysicalSize : longint;
  2488. LastTimeRxBufAllocated : longint;
  2489. MaxNumbersOfProtocols : longint;
  2490. MaxNumbersOfMediaTypes : longint;
  2491. TotalTXPackets : longint;
  2492. GetECBBfrs : longint;
  2493. GetECBFails : longint;
  2494. AESEventCounts : longint;
  2495. PostpondedEvents : longint;
  2496. ECBCxlFails : longint;
  2497. ValidBfrsReused : longint;
  2498. EnqueuedSendCnt : longint;
  2499. TotalRXPackets : longint;
  2500. UnclaimedPackets : longint;
  2501. StatisticsTableMajorVersion : byte;
  2502. StatisticsTableMinorVersion : byte;
  2503. end;
  2504. PGetLSLInfoStructure = ^TGetLSLInfoStructure;
  2505. TGetLSLInfoStructure = record
  2506. currentServerTime : longint;
  2507. vConsoleVersion : byte;
  2508. vConsoleRevision : byte;
  2509. reserved : word;
  2510. LSLInfo : TLSLInformation;
  2511. end;
  2512. PLogicalBoard = ^TLogicalBoard;
  2513. TLogicalBoard = record
  2514. LogTtlTxPackets : longint;
  2515. LogTtlRxPackets : longint;
  2516. LogUnclaimedPackets : longint;
  2517. reserved : longint;
  2518. end;
  2519. PGetLSLBoardStatsStructure = ^TGetLSLBoardStatsStructure;
  2520. TGetLSLBoardStatsStructure = record
  2521. currentServerTime : longint;
  2522. vConsoleVersion : byte;
  2523. vConsoleRevision : byte;
  2524. reserved : word;
  2525. boardStats : TLogicalBoard;
  2526. end;
  2527. PCopyOfPMStructure = ^TCopyOfPMStructure;
  2528. TCopyOfPMStructure = record
  2529. f1 : array[0..63] of byte;
  2530. f2 : longint;
  2531. f3 : longint;
  2532. end;
  2533. PCopyOfGenericInfoDef = ^TCopyOfGenericInfoDef;
  2534. TCopyOfGenericInfoDef = record
  2535. mediaInfo : TCopyOfPMStructure;
  2536. mediatype : longint;
  2537. cartridgetype : longint;
  2538. unitsize : longint;
  2539. blocksize : longint;
  2540. capacity : longint;
  2541. preferredunitsize : longint;
  2542. name : array[0..63] of byte;
  2543. _type : longint;
  2544. status : longint;
  2545. functionmask : longint;
  2546. controlmask : longint;
  2547. parentcount : longint;
  2548. siblingcount : longint;
  2549. childcount : longint;
  2550. specificinfosize : longint;
  2551. objectuniqueid : longint;
  2552. mediaslot : longint;
  2553. end;
  2554. PGetMManagerObjInfoStructure = ^TGetMManagerObjInfoStructure;
  2555. TGetMManagerObjInfoStructure = record
  2556. currentServerTime : longint;
  2557. vConsoleVersion : byte;
  2558. vConsoleRevision : byte;
  2559. reserved : word;
  2560. info : TCopyOfGenericInfoDef;
  2561. end;
  2562. PGetMMObjectListsStructure = ^TGetMMObjectListsStructure;
  2563. TGetMMObjectListsStructure = record
  2564. currentServerTime : longint;
  2565. vConsoleVersion : byte;
  2566. vConsoleRevision : byte;
  2567. reserved : word;
  2568. nextStartNum : longint;
  2569. objectCount : longint;
  2570. objects : longint;
  2571. end;
  2572. PGetMMObjectChildListStructure = ^TGetMMObjectChildListStructure;
  2573. TGetMMObjectChildListStructure = record
  2574. currentServerTime : longint;
  2575. vConsoleVersion : byte;
  2576. vConsoleRevision : byte;
  2577. reserved : word;
  2578. nextStartNum : longint;
  2579. objectCount : longint;
  2580. objects : longint;
  2581. end;
  2582. PVolumeSegmentStructure = ^TVolumeSegmentStructure;
  2583. TVolumeSegmentStructure = record
  2584. segmentDevice : longint;
  2585. segmentOffset : longint;
  2586. segmentSize : longint;
  2587. end;
  2588. PGetVolumeSegmentListStructure = ^TGetVolumeSegmentListStructure;
  2589. TGetVolumeSegmentListStructure = record
  2590. currentServerTime : longint;
  2591. vConsoleVersion : byte;
  2592. vConsoleRevision : byte;
  2593. reserved : word;
  2594. numberOfSegments : longint;
  2595. segment : TVolumeSegmentStructure;
  2596. end;
  2597. PProtocolStackInfo = ^TProtocolStackInfo;
  2598. TProtocolStackInfo = record
  2599. stackNumber : longint;
  2600. stackName : array[0..15] of byte;
  2601. end;
  2602. PGetActiveProtocolStackStructure = ^TGetActiveProtocolStackStructure;
  2603. TGetActiveProtocolStackStructure = record
  2604. currentServerTime : longint;
  2605. vConsoleVersion : byte;
  2606. vConsoleRevision : byte;
  2607. reserved : word;
  2608. maxNumberOfStacks : longint;
  2609. stackCount : longint;
  2610. nextStartNumber : longint;
  2611. stackInfo : TProtocolStackInfo;
  2612. end;
  2613. PGetProtocolConfigStructure = ^TGetProtocolConfigStructure;
  2614. TGetProtocolConfigStructure = record
  2615. currentServerTime : longint;
  2616. vConsoleVersion : byte;
  2617. vConsoleRevision : byte;
  2618. reserved : word;
  2619. configMajorVersion : byte;
  2620. configMinorVerstion : byte;
  2621. stackMajorVersion : byte;
  2622. stackMinorVersion : byte;
  2623. shortName : array[0..15] of byte;
  2624. fullNameLength : byte;
  2625. fullName : byte;
  2626. end;
  2627. PGetProtocolStatsStructure = ^TGetProtocolStatsStructure;
  2628. TGetProtocolStatsStructure = record
  2629. currentServerTime : longint;
  2630. vConsoleVersion : byte;
  2631. vConsoleRevision : byte;
  2632. reserved : word;
  2633. StatMajorVersion : byte;
  2634. StatMinorVersion : byte;
  2635. GenericCounters : word;
  2636. ValidCntsMask : longint;
  2637. TotalTxPackets : longint;
  2638. TotalRxPackets : longint;
  2639. IgnoredRxPackets : longint;
  2640. NumberOfCustomCounters : word;
  2641. end;
  2642. PProtocolCustomInfo = ^TProtocolCustomInfo;
  2643. TProtocolCustomInfo = record
  2644. value : longint;
  2645. length : byte;
  2646. customData : byte;
  2647. end;
  2648. PGetProtocolCustomInfoStructure = ^TGetProtocolCustomInfoStructure;
  2649. TGetProtocolCustomInfoStructure = record
  2650. currentServerTime : longint;
  2651. vConsoleVersion : byte;
  2652. vConsoleRevision : byte;
  2653. reserved : word;
  2654. customCount : longint;
  2655. info : TProtocolCustomInfo;
  2656. end;
  2657. PGetProtocolByMediaStructure = ^TGetProtocolByMediaStructure;
  2658. TGetProtocolByMediaStructure = record
  2659. currentServerTime : longint;
  2660. vConsoleVersion : byte;
  2661. vConsoleRevision : byte;
  2662. reserved : word;
  2663. stackIDCount : longint;
  2664. stackID : longint;
  2665. end;
  2666. PGetProtocolByBoardStructure = ^TGetProtocolByBoardStructure;
  2667. TGetProtocolByBoardStructure = record
  2668. currentServerTime : longint;
  2669. vConsoleVersion : byte;
  2670. vConsoleRevision : byte;
  2671. reserved : word;
  2672. stackIDCount : longint;
  2673. stackID : longint;
  2674. end;
  2675. PGetMediaNameByNumberStructure = ^TGetMediaNameByNumberStructure;
  2676. TGetMediaNameByNumberStructure = record
  2677. currentServerTime : longint;
  2678. vConsoleVersion : byte;
  2679. vConsoleRevision : byte;
  2680. reserved : word;
  2681. mediaNameLength : byte;
  2682. mediaName : byte;
  2683. end;
  2684. PGetMediaNumberListStructure = ^TGetMediaNumberListStructure;
  2685. TGetMediaNumberListStructure = record
  2686. currentServerTime : longint;
  2687. vConsoleVersion : byte;
  2688. vConsoleRevision : byte;
  2689. reserved : word;
  2690. maxNumberOfMedia : longint;
  2691. mediaListCount : longint;
  2692. mediaList : longint;
  2693. end;
  2694. PGetRouterAndSAPInfoStructure = ^TGetRouterAndSAPInfoStructure;
  2695. TGetRouterAndSAPInfoStructure = record
  2696. currentServerTime : longint;
  2697. vConsoleVersion : byte;
  2698. vConsoleRevision : byte;
  2699. reserved : word;
  2700. RIPSocketNumber : longint;
  2701. routerDownFlag : longint;
  2702. trackOnFlag : longint;
  2703. extRouterActiveFlag : longint;
  2704. SAPSocketNumber : longint;
  2705. rpyNearestServerFlag : longint;
  2706. end;
  2707. PGetNetRouterInfoStructure = ^TGetNetRouterInfoStructure;
  2708. TGetNetRouterInfoStructure = record
  2709. currentServerTime : longint;
  2710. vConsoleVersion : byte;
  2711. vConsoleRevision : byte;
  2712. reserved : word;
  2713. netIDNumber : longint;
  2714. hopsToNet : word;
  2715. netStatus : word;
  2716. timeToNet : word;
  2717. end;
  2718. PRoutersInfoStructure = ^TRoutersInfoStructure;
  2719. TRoutersInfoStructure = record
  2720. node : array[0..5] of byte;
  2721. connectedLAN : longint;
  2722. hopsToNetCount : word;
  2723. timeToNet : word;
  2724. end;
  2725. PGetNetworkRoutersInfoStructure = ^TGetNetworkRoutersInfoStructure;
  2726. TGetNetworkRoutersInfoStructure = record
  2727. currentServerTime : longint;
  2728. vConsoleVersion : byte;
  2729. vConsoleRevision : byte;
  2730. reserved : word;
  2731. numberOfEntries : longint;
  2732. info : TRoutersInfoStructure;
  2733. end;
  2734. PKnownNetworksStructure = ^TKnownNetworksStructure;
  2735. TKnownNetworksStructure = record
  2736. netIDNumber : longint;
  2737. hopsToNet : word;
  2738. netStatus : word;
  2739. timeToNet : word;
  2740. end;
  2741. PGetKnownNetworksStructure = ^TGetKnownNetworksStructure;
  2742. TGetKnownNetworksStructure = record
  2743. currentServerTime : longint;
  2744. vConsoleVersion : byte;
  2745. vConsoleRevision : byte;
  2746. reserved : word;
  2747. numberOfEntries : longint;
  2748. info : TKnownNetworksStructure;
  2749. end;
  2750. PGetServerInfoStructure = ^TGetServerInfoStructure;
  2751. TGetServerInfoStructure = record
  2752. currentServerTime : longint;
  2753. vConsoleVersion : byte;
  2754. vConsoleRevision : byte;
  2755. reserved : word;
  2756. serverAddress : array[0..11] of byte;
  2757. hopsToServer : word;
  2758. end;
  2759. PServerSourceInfoStructure = ^TServerSourceInfoStructure;
  2760. TServerSourceInfoStructure = record
  2761. serverNode : array[0..5] of byte;
  2762. connectLAN : longint;
  2763. hopCount : word;
  2764. end;
  2765. PGetServerSourcesStructure = ^TGetServerSourcesStructure;
  2766. TGetServerSourcesStructure = record
  2767. currentServerTime : longint;
  2768. vConsoleVersion : byte;
  2769. vConsoleRevision : byte;
  2770. reserved : word;
  2771. numberOfEntries : longint;
  2772. info : TServerSourceInfoStructure;
  2773. end;
  2774. PKnownServerStructure = ^TKnownServerStructure;
  2775. TKnownServerStructure = record
  2776. serverAddress : array[0..11] of byte;
  2777. hopCount : word;
  2778. serverNameLength : byte;
  2779. name : byte;
  2780. end;
  2781. PGetKnownServersInfoStructure = ^TGetKnownServersInfoStructure;
  2782. TGetKnownServersInfoStructure = record
  2783. currentServerTime : longint;
  2784. vConsoleVersion : byte;
  2785. vConsoleRevision : byte;
  2786. reserved : word;
  2787. numberOfEntries : longint;
  2788. info : TKnownServerStructure;
  2789. end;
  2790. {$include npackoff.inc}
  2791. function SSGetActiveConnListByType(startConnNumber:longint; connType:longint; buffer:pointer; bufferLen:word):longint;cdecl;external Clib name 'SSGetActiveConnListByType';
  2792. function SSGetActiveLANBoardList(startNumber:longint; buffer:pointer; bufferLen:word):longint;cdecl;external Clib name 'SSGetActiveLANBoardList';
  2793. function SSGetActiveProtocolStacks(startNumber:longint; buffer:pointer; bufferLen:word):longint;cdecl;external Clib name 'SSGetActiveProtocolStacks';
  2794. function SSGetCacheInfo(pointer:PBYTE; bufferLen:word):longint;cdecl;external Clib name 'SSGetCacheInfo';
  2795. function SSGetCPUInfo(CPUNumber:longint; buffer:pointer; bufferLen:word):longint;cdecl;external Clib name 'SSGetCPUInfo';
  2796. function SSGetDirCacheInfo(buffer:pointer; bufferLen:word):longint;cdecl;external Clib name 'SSGetDirCacheInfo';
  2797. function SSGetFileServerInfo(buffer:pointer; bufferLen:word):longint;cdecl;external Clib name 'SSGetFileServerInfo';
  2798. function SSGetFileSystemInfo(fileSystemID:longint; buffer:pointer; bufferLen:word):longint;cdecl;external Clib name 'SSGetFileSystemInfo';
  2799. function SSGetGarbageCollectionInfo(buffer:pointer; bufferLen:word):longint;cdecl;external Clib name 'SSGetGarbageCollectionInfo';
  2800. function SSGetIPXSPXInfo(buffer:pointer; bufferLen:word):longint;cdecl;external Clib name 'SSGetIPXSPXInfo';
  2801. function SSGetKnownNetworksInfo(startNumber:longint; buffer:pointer; bufferLen:word):longint;cdecl;external Clib name 'SSGetKnownNetworksInfo';
  2802. function SSGetKnownServersInfo(startNumber:longint; serverType:longint; buffer:pointer; bufferLen:word):longint;cdecl;external Clib name 'SSGetKnownServersInfo';
  2803. function SSGetLANCommonCounters(boardNumber:longint; blockNumber:longint; buffer:pointer; bufferLen:word):longint;cdecl;external Clib name 'SSGetLANCommonCounters';
  2804. function SSGetLANConfiguration(boardNumber:longint; buffer:pointer; bufferLen:word):longint;cdecl;external Clib name 'SSGetLANConfiguration';
  2805. function SSGetLANCustomCounters(boardNumber:longint; startNumber:longint; buffer:pointer; bufferLen:word):longint;cdecl;external Clib name 'SSGetLANCustomCounters';
  2806. function SSGetLSLInfo(buffer:pointer; bufferLen:word):longint;cdecl;external Clib name 'SSGetLSLInfo';
  2807. function SSGetLSLLogicalBoardStats(boardNumber:longint; buffer:pointer; bufferLen:word):longint;cdecl;external Clib name 'SSGetLSLLogicalBoardStats';
  2808. function SSGetLoadedMediaNumberList(buffer:pointer; bufferLen:word):longint;cdecl;external Clib name 'SSGetLoadedMediaNumberList';
  2809. function SSGetMediaManagerObjChildList(startNumber:longint; objType:longint; parentObjNumber:longint; buffer:pointer; bufferLen:word):longint;cdecl;external Clib name 'SSGetMediaManagerObjChildList';
  2810. function SSGetMediaManagerObjInfo(objNumber:longint; buffer:pointer; bufferLen:word):longint;cdecl;external Clib name 'SSGetMediaManagerObjInfo';
  2811. function SSGetMediaManagerObjList(startNumber:longint; objType:longint; buffer:pointer; bufferLen:word):longint;cdecl;external Clib name 'SSGetMediaManagerObjList';
  2812. function SSGetMediaNameByNumber(mediaNumber:longint; buffer:pointer; bufferLen:word):longint;cdecl;external Clib name 'SSGetMediaNameByNumber';
  2813. function SSGetNetRouterInfo(networkNumber:longint; buffer:pointer; bufferLen:word):longint;cdecl;external Clib name 'SSGetNetRouterInfo';
  2814. function SSGetNetworkRoutersInfo(networkNumber:longint; startNumber:longint; buffer:pointer; bufferLen:word):longint;cdecl;external Clib name 'SSGetNetworkRoutersInfo';
  2815. function SSGetNLMInfo(NLMNumber:longint; buffer:pointer; bufferLen:word):longint;cdecl;external Clib name 'SSGetNLMInfo';
  2816. function SSGetNLMLoadedList(startNumber:longint; buffer:pointer; bufferLen:word):longint;cdecl;external Clib name 'SSGetNLMLoadedList';
  2817. function SSGetNLMResourceTagList(NLMNumber:longint; startNumber:longint; buffer:pointer; bufferLen:word):longint;cdecl;external Clib name 'SSGetNLMResourceTagList';
  2818. function SSGetOSVersionInfo(buffer:pointer; bufferLen:word):longint;cdecl;external Clib name 'SSGetOSVersionInfo';
  2819. function SSGetPacketBurstInfo(buffer:pointer; bufferLen:word):longint;cdecl;external Clib name 'SSGetPacketBurstInfo';
  2820. function SSGetProtocolConfiguration(startNumber:longint; buffer:pointer; bufferLen:word):longint;cdecl;external Clib name 'SSGetProtocolConfiguration';
  2821. function SSGetProtocolCustomInfo(stackNumber:longint; customStartNumber:longint; buffer:pointer; bufferLen:word):longint;cdecl;external Clib name 'SSGetProtocolCustomInfo';
  2822. function SSGetProtocolNumbersByLANBoard(LANBoardNumber:longint; buffer:pointer; bufferLen:word):longint;cdecl;external Clib name 'SSGetProtocolNumbersByLANBoard';
  2823. function SSGetProtocolNumbersByMedia(mediaNumber:longint; buffer:pointer; bufferLen:word):longint;cdecl;external Clib name 'SSGetProtocolNumbersByMedia';
  2824. function SSGetProtocolStatistics(stackNumber:longint; buffer:pointer; bufferLen:word):longint;cdecl;external Clib name 'SSGetProtocolStatistics';
  2825. function SSGetRouterAndSAPInfo(buffer:pointer; bufferLen:word):longint;cdecl;external Clib name 'SSGetRouterAndSAPInfo';
  2826. function SSGetServerInfo(serverType:longint; nameLength:byte; name:PBYTE; buffer:pointer; bufferLen:word):longint;cdecl;external Clib name 'SSGetServerInfo';
  2827. function SSGetServerSourcesInfo(startNumber:longint; serverType:longint; nameLength:byte; name:PChar; buffer:pointer;
  2828. bufferLen:word):longint;cdecl;external Clib name 'SSGetServerSourcesInfo';
  2829. function SSGetUserInfo(connectionNumber:longint; buffer:pointer; bufferLen:word):longint;cdecl;external Clib name 'SSGetUserInfo';
  2830. function SSGetVolumeSegmentList(volumeNumber:longint; buffer:pointer; bufferLen:word):longint;cdecl;external Clib name 'SSGetVolumeSegmentList';
  2831. function SSGetVolumeSwitchInfo(startNumber:longint; buffer:pointer; bufferLen:word):longint;cdecl;external Clib name 'SSGetVolumeSwitchInfo';
  2832. {------------------------------------------------------------------------------}
  2833. const _MAX_LOGREC_NAME = 128;
  2834. _MAX_SEMAPHORE_NAME = 128;
  2835. function ClearFile(fileName:Pchar):longint; cdecl;external Clib name 'ClearFile';
  2836. procedure ClearFileSet; cdecl;external Clib name 'ClearFileSet';
  2837. function ClearLogicalRecord(logicalRecordName:Pchar):longint;cdecl;external Clib name 'ClearLogicalRecord';
  2838. procedure ClearLogicalRecordSet; cdecl;external Clib name 'ClearLogicalRecordSet';
  2839. function ClearPhysicalRecord(fileHandle,recordStartOffset,recordLength:longint):longint;cdecl;external Clib name 'ClearPhysicalRecord';
  2840. procedure ClearPhysicalRecordSet;cdecl;external Clib name 'ClearPhysicalRecordSet';
  2841. function CloseSemaphore(semaphoreHandle:longint):longint;cdecl;external Clib name 'CloseSemaphore';
  2842. function ExamineSemaphore(semaphoreHandle:longint; semaphoreValue:Plongint; openCount:PWORD):longint;cdecl;external Clib name 'ExamineSemaphore';
  2843. function ExamineSemaphore(semaphoreHandle:longint; var semaphoreValue:longint; var openCount:word):longint;cdecl;external Clib name 'ExamineSemaphore';
  2844. function LockFileSet(timeoutLimit:word):longint;cdecl;external Clib name 'LockFileSet';
  2845. function LockLogicalRecordSet(timeoutLimit:word):longint;cdecl;external Clib name 'LockLogicalRecordSet';
  2846. function LockPhysicalRecordSet(lockDirective:byte; timeoutLimit:word):longint;cdecl;external Clib name 'LockPhysicalRecordSet';
  2847. function LogFile(fileName:Pchar; lockDirective:byte; timeoutLimit:word):longint;cdecl;external Clib name 'LogFile';
  2848. function LogLogicalRecord(logicalRecordName:Pchar; lockDirective:byte; timeoutLimit:word):longint;cdecl;external Clib name 'LogLogicalRecord';
  2849. function LogPhysicalRecord(fileHandle,recordStartOffset,recordLength:longint; lockDirective:byte; timeoutLimit:word):longint;cdecl;external Clib name 'LogPhysicalRecord';
  2850. function OpenSemaphore(semaphoreName:Pchar; initialValue:longint; semaphoreHandle:Plongint; openCount:PWORD):longint;cdecl;external Clib name 'OpenSemaphore';
  2851. function OpenSemaphore(semaphoreName:Pchar; initialValue:longint; var semaphoreHandle:longint; var openCount:word):longint;cdecl;external Clib name 'OpenSemaphore';
  2852. function ReleaseFile(fileName:Pchar):longint;cdecl;external Clib name 'ReleaseFile';
  2853. procedure ReleaseFileSet;cdecl;external Clib name 'ReleaseFileSet';
  2854. function ReleaseLogicalRecord(logicalRecordName:Pchar):longint;cdecl;external Clib name 'ReleaseLogicalRecord';
  2855. procedure ReleaseLogicalRecordSet;cdecl;external Clib name 'ReleaseLogicalRecordSet';
  2856. function ReleasePhysicalRecord(fileHandle,recordStartOffset,recordLength:longint):longint;cdecl;external Clib name 'ReleasePhysicalRecord';
  2857. procedure ReleasePhysicalRecordSet;cdecl;external Clib name 'ReleasePhysicalRecordSet';
  2858. function SignalSemaphore(semaphoreHandle:longint):longint;cdecl;external Clib name 'SignalSemaphore';
  2859. function WaitOnSemaphore(semaphoreHandle:longint; timeoutLimit:word):longint;cdecl;external Clib name 'WaitOnSemaphore';
  2860. {------------------------------------------------------------------------------}
  2861. function TTSAbortTransaction:longint;cdecl;external 'clib' name 'TTSAbortTransaction';
  2862. function TTSBeginTransaction:longint;cdecl;external 'clib' name 'TTSBeginTransaction';
  2863. function TTSEndTransaction(transactionNumber:Plongint):longint;cdecl;external 'clib' name 'TTSEndTransaction';
  2864. function TTSEndTransaction(var transactionNumber:longint):longint;cdecl;external 'clib' name 'TTSEndTransaction';
  2865. function TTSGetApplicationThresholds(logicalRecordLockThreshold:pbyte; physicalRecordLockThreshold:pbyte):longint;cdecl;external 'clib' name 'TTSGetApplicationThresholds';
  2866. function TTSGetWorkstationThresholds(logicalRecordLockThreshold:pbyte; physicalRecordLockThreshold:pbyte):longint;cdecl;external 'clib' name 'TTSGetWorkstationThresholds';
  2867. function TTSIsAvailable:longint;cdecl;external 'clib' name 'TTSIsAvailable';
  2868. function TTSSetApplicationThresholds(logicalRecordLockThreshold:pbyte; physicalRecordLockThreshold:pbyte):longint;cdecl;external 'clib' name 'TTSSetApplicationThresholds';
  2869. function TTSSetWorkstationThresholds(logicalRecordLockThreshold:pbyte; physicalRecordLockThreshold:pbyte):longint;cdecl;external 'clib' name 'TTSSetWorkstationThresholds';
  2870. function TTSTransactionStatus(transactionNumber:longint):longint;cdecl;external 'clib' name 'TTSTransactionStatus';
  2871. {------------------------------------------------------------------------------}
  2872. implementation
  2873. end.