nwnit.pp 139 KB

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