nwnit.pp 138 KB

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