nwcalls.pp 240 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069
  1. {
  2. Netware Server Imports for FreePascal Netware Clib RTL, contains
  3. definitions from the following NDK header files:
  4. ntypes.h,nwacct.h,nwafp.h,nwalias.h,nwapidef.h,nwbindry.h,
  5. nwcaldef.h,nwcalls.h,nwconnec.h,nwdel.h,nwdentry.h,nwdirect.h,
  6. nwdpath.h,nwea.h,nwerror.h,nwfattr.h,nwfile.h,nwfse.h,nwmigrat.h,
  7. nwmisc.h,nwmsg.h,nwnamspc.h,nwprint.h,nwqms.h,nwserver.h,nwsm.h,
  8. nwsync.h,nwtts.h,nwvol.h,stddef.h,unicode.h
  9. Initial Version 2005/01/14 Armin ([email protected])
  10. The C-NDK and Documentation can be found here:
  11. http://developer.novell.com
  12. This program is distributed in the hope that it will be useful,but WITHOUT
  13. ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  14. FITNESS FOR A PARTICULAR PURPOSE.
  15. Do not blame Novell if there are errors in this file, instead
  16. create a bug report on http://www.freepascal.org and i will see what i
  17. can do.
  18. }
  19. {$IFNDEF FPC_DOTTEDUNITS}
  20. unit nwcalls;
  21. {$ENDIF FPC_DOTTEDUNITS}
  22. {$MODE objfpc}
  23. {$MACRO on}
  24. interface
  25. {Macros for netware imports:}
  26. {$DEFINE NWLIB_CALNLM32 := cdecl; external 'calnlm32'}
  27. {$DEFINE NWLIB_LOCNLM32 := cdecl; external 'locnlm32'}
  28. {$DEFINE NWLIB_UNICODE := cdecl; external 'unicode'}
  29. {$DEFINE NWLIB_UNKNOWN := cdecl; external} {for these ones i have not found the exporting module}
  30. {$DEFINE NWLIB_CLIB := cdecl; external 'clib'}
  31. {$DEFINE NWLIB_DSAPI := cdecl; external 'DSAPI'}
  32. type
  33. Tnuint16 = word;
  34. Pnuint16 = pword;
  35. Tnuint8 = byte;
  36. Pnuint8 = ^byte;
  37. Tnptr = pointer;
  38. pnstr = PAnsiChar;
  39. ppnstr = PPAnsiChar;
  40. Tnstr8 = AnsiChar;
  41. Pnstr8 = PAnsiChar;
  42. nptr = pointer;
  43. Pnptr = ^pointer;
  44. Tnflag32 = longint;
  45. PBYTE_REGISTERS = ^TBYTE_REGISTERS;
  46. TBYTE_REGISTERS = record
  47. si: Tnuint16;
  48. ds: Tnuint16;
  49. di: Tnuint16;
  50. es: Tnuint16;
  51. al: Tnuint8;
  52. ah: Tnuint8;
  53. bl: Tnuint8;
  54. bh: Tnuint8;
  55. cl: Tnuint8;
  56. ch: Tnuint8;
  57. dl: Tnuint8;
  58. dh: Tnuint8;
  59. end;
  60. PWORD_REGISTERS = ^TWORD_REGISTERS;
  61. TWORD_REGISTERS = record
  62. si: Tnuint16;
  63. ds: Tnuint16;
  64. di: Tnuint16;
  65. es: Tnuint16;
  66. ax: Tnuint16;
  67. bx: Tnuint16;
  68. cx: Tnuint16;
  69. dx: Tnuint16;
  70. bp: Tnuint16;
  71. flags: Tnuint16;
  72. end;
  73. PPTR_REGISTERS = ^TPTR_REGISTERS;
  74. TPTR_REGISTERS = record
  75. requestBuffer: Tnptr;
  76. replyBuffer: Tnptr;
  77. end;
  78. PSEG_OFF_REGISTERS = ^TSEG_OFF_REGISTERS;
  79. TSEG_OFF_REGISTERS = record
  80. ds_si: Tnptr;
  81. es_di: Tnptr;
  82. end;
  83. PREGISTERS = ^TREGISTERS;
  84. TREGISTERS = record
  85. case longint of
  86. 0: (w: TWORD_REGISTERS);
  87. 1: (b: TBYTE_REGISTERS);
  88. 2: (p: TPTR_REGISTERS);
  89. 3: (s: TSEG_OFF_REGISTERS);
  90. end;
  91. {$IFDEF FPC}
  92. {$PACKRECORDS C}
  93. {$ENDIF}
  94. {$DEFINE N_PLAT_NLM}
  95. //*****************************************************************************
  96. //nwapidef.h
  97. //*****************************************************************************
  98. { Miscellaneous string lengths (constant) }
  99. { NOTE: These max values include a nullbyte }
  100. const
  101. NW_MAX_USER_NAME_LEN = 49;
  102. NW_MAX_VOLUME_NAME_LEN = 17;
  103. NW_MAX_SERVER_NAME_LEN = 49;
  104. NW_MAX_TREE_NAME_LEN = 33;
  105. NW_MAX_SERVICE_TYPE_LEN = 49;
  106. { Miscellaneous unicode string sizes in bytes (constant) }
  107. NW_MAX_USER_NAME_BYTES = 2 * NW_MAX_USER_NAME_LEN;
  108. NW_MAX_VOLUME_NAME_BYTES = 2 * NW_MAX_VOLUME_NAME_LEN;
  109. NW_MAX_SERVER_NAME_BYTES = 2 * NW_MAX_SERVER_NAME_LEN;
  110. NW_MAX_TREE_NAME_BYTES = 2 * NW_MAX_TREE_NAME_LEN;
  111. NW_MAX_SERVICE_TYPE_BYTES = 2 * NW_MAX_SERVICE_TYPE_LEN;
  112. { PrintFlags (word value) }
  113. NW_PRINT_FLAG_RELEASE = $0001;
  114. NW_PRINT_FLAG_SUPPRESS_FF = $0002;
  115. NW_PRINT_FLAG_TEXT_FILE = $0004;
  116. NW_PRINT_FLAG_PRINT_BANNER = $0008;
  117. NW_PRINT_FLAG_NOTIFY = $0010;
  118. { Print string lengths (constant) }
  119. NW_MAX_JOBDESCR_LEN = 50;
  120. NW_MAX_FORM_NAME_LEN = 13;
  121. NW_MAX_BANNER_NAME_LEN = 13;
  122. NW_MAX_QUEUE_NAME_LEN = 65;
  123. { Client Types : these are returned by NWGetClientType }
  124. NW_NETX_SHELL = 1; {dos netx}
  125. NW_VLM_REQ = 2; {dos vlm}
  126. NW_CLIENT32 = 3; {dos or 9x nlm client}
  127. NW_NT_REQ = 4;
  128. NW_OS2_REQ = 5;
  129. NW_NLM_REQ = 6; {a netware server}
  130. type
  131. Tnuint = cardinal;
  132. pnuint = ^Tnuint;
  133. Tnint = longint;
  134. pnint = plongint;
  135. Tnint32 = longint;
  136. pnint32 = plongint;
  137. Tnuint32 = cardinal;
  138. pnuint32 = pcardinal;
  139. Tnint16 = smallint;
  140. Pnint16 = ^smallint;
  141. TNWCONN_HANDLE = Tnuint;
  142. pNWCONN_HANDLE = pnuint;
  143. NWCONN_NUM = Tnuint16;
  144. //NWCCODE = Tnuint;
  145. TNWCCODE = Tnuint;
  146. NWDIR_HANDLE = Tnuint8;
  147. TNWDIR_HANDLE = NWDIR_HANDLE;
  148. PNWDIR_HANDLE = ^NWDIR_HANDLE;
  149. NWFILE_HANDLE = Tnint;
  150. TNWFILE_HANDLE = Tnint;
  151. PNWFILE_HANDLE = ^NWFILE_HANDLE;
  152. LONG = Tnuint32;
  153. const
  154. FA_NORMAL = $00;
  155. FA_READ_ONLY = $01;
  156. FA_HIDDEN = $02;
  157. FA_SYSTEM = $04;
  158. FA_EXECUTE_ONLY = $08;
  159. FA_DIRECTORY = $10;
  160. FA_NEEDS_ARCHIVED = $20;
  161. FA_SHAREABLE = $80;
  162. { Extended file attributes }
  163. FA_TRANSACTIONAL = $10;
  164. FA_INDEXED = $20;
  165. FA_READ_AUDIT = $40;
  166. FA_WRITE_AUDIT = $80;
  167. { the following is a the correct attribute mask list }
  168. { The difference between these and the FA_ constants above is that these
  169. are in the correct positions. The last four attributes above are 8 bits
  170. off. (They need to be shifted 8 bits to the left.) }
  171. const
  172. A_NORMAL = $00000000;
  173. A_READ_ONLY = $00000001;
  174. A_HIDDEN = $00000002;
  175. A_SYSTEM = $00000004;
  176. A_EXECUTE_ONLY = $00000008;
  177. A_DIRECTORY = $00000010;
  178. A_NEEDS_ARCHIVED = $00000020;
  179. A_SHAREABLE = $00000080;
  180. A_DONT_SUBALLOCATE = $00000800;
  181. A_TRANSACTIONAL = $00001000;
  182. { not in the NCP book }
  183. A_INDEXED = $00002000;
  184. A_READ_AUDIT = $00004000;
  185. A_WRITE_AUDIT = $00008000;
  186. A_IMMEDIATE_PURGE = $00010000;
  187. A_RENAME_INHIBIT = $00020000;
  188. A_DELETE_INHIBIT = $00040000;
  189. A_COPY_INHIBIT = $00080000;
  190. A_FILE_MIGRATED = $00400000;
  191. A_DONT_MIGRATE = $00800000;
  192. A_IMMEDIATE_COMPRESS = $02000000;
  193. A_FILE_COMPRESSED = $04000000;
  194. A_DONT_COMPRESS = $08000000;
  195. A_CANT_COMPRESS = $20000000;
  196. { access rights attributes }
  197. const
  198. AR_READ = $0001;
  199. AR_WRITE = $0002;
  200. AR_READ_ONLY = $0001;
  201. AR_WRITE_ONLY = $0002;
  202. AR_DENY_READ = $0004;
  203. AR_DENY_WRITE = $0008;
  204. AR_COMPATIBILITY = $0010;
  205. AR_WRITE_THROUGH = $0040;
  206. AR_OPEN_COMPRESSED = $0100;
  207. { search attributes }
  208. SA_NORMAL = $0000;
  209. SA_HIDDEN = $0002;
  210. SA_SYSTEM = $0004;
  211. SA_SUBDIR_ONLY = $0010;
  212. SA_SUBDIR_FILES = $8000;
  213. SA_ALL = $8006;
  214. USE_NW_WILD_MATCH = 0;
  215. USE_DOS_WILD_MATCH = 1;
  216. { Scope specifiers }
  217. GLOBAL = 0;
  218. PRIVATE = 1;
  219. MY_SESSION = 2;
  220. ALL_SESSIONS = 3;
  221. //****************************************************************************
  222. // nwalias.h
  223. //****************************************************************************
  224. type
  225. FILE_ATTRIBUTES_MASK = Tnuint32;
  226. NWACCESS_MODE = Tnuint8;
  227. NWACCESS_RIGHTS = Tnuint8;
  228. NWACCT_BALANCE = Tnint32;
  229. NWACCT_HOLDS = Tnuint16;
  230. NWACCT_LIMIT = Tnint32;
  231. NWADDR_LEN = Tnuint8;
  232. NWADDR_TYPE = Tnuint8;
  233. NWAES_COUNT = Tnuint16;
  234. //!! NWASN1_ID = Asn1ID_T;
  235. NWATTR = Tnuint32;
  236. NWATTRIBUTES = Tnuint32;
  237. //!! NWATTR_INFO = Attr_Info_T;
  238. NWAUDIT_BUF_SIZE = Tnuint16;
  239. NWAUDIT_CONN_ID = Tnuint32;
  240. NWAUDIT_CONTAINER_BIT_MAP = Tnuint32;
  241. NWAUDIT_DATA_LEN = Tnuint32;
  242. NWAUDIT_DATE_TIME = Tnuint32;
  243. NWAUDIT_DS_FLAG = Tnint16;
  244. NWAUDIT_EVENT = Tnuint16;
  245. NWAUDIT_FILE_CODE = Tnint16;
  246. NWAUDIT_FILE_HANDLE = Tnuint32;
  247. NWAUDIT_FLAGS = Tnuint32;
  248. NWAUDIT_KEY_BUF = pnuint8;
  249. NWAUDIT_LEVEL = Tnuint8;
  250. NWAUDIT_NAME_SPACE = Tnuint32;
  251. NWAUDIT_OBJ_SECURITY = Tnuint32;
  252. NWAUDIT_PASSWORD = pnuint8;
  253. NWAUDIT_PROCESS_ID = Tnuint32;
  254. NWAUDIT_QUEUE_TYPE = Tnuint32;
  255. NWAUDIT_RECORD_ID = Tnuint32;
  256. NWAUDIT_REC_NUM = Tnuint32;
  257. NWAUDIT_REPLICA_NUM = Tnuint16;
  258. //!! NWAUDIT_SIZE = NWSIZE;
  259. NWAUDIT_STATUS_CODE = Tnuint32;
  260. NWAUDIT_TRUSTEE_RIGHTS = Tnuint32;
  261. NWAUDIT_VOL_NUM = Tnuint32;
  262. { AN ADDITIONAL FLAG SIZE }
  263. NWAUGMENT = Tnuint16;
  264. NWBITS = Tnuint32;
  265. NWBROADCAST_MODE = Tnuint16;
  266. NWBUF_SIZE = Tnuint16;
  267. NWCHANGE_BITS = Tnuint32;
  268. NWCHANGE_TYPE = Tnuint32;
  269. NWCHARGE_AMOUNT = Tnint32;
  270. //!! NWCLASS_INFO = Class_Info_T;
  271. NWCONFIG_DEFAULT_VALUE = Tnint32;
  272. NWCONFIG_ELEMENT_NUM = Tnint16;
  273. NWCONFIG_PARAM_TYPE = Tnint16;
  274. NWCONN_FLAGS = Tnuint16;
  275. NWCONN_NUM_WORD = Tnuint16;
  276. NWCONN_TYPE = Tnuint8;
  277. NWCOUNT = Tnuint32;
  278. NWCTLR_NUM = Tnuint8;
  279. NWCTLR_TYPE = Tnuint8;
  280. NWCURRENT_REC = Tnuint16;
  281. NWDATA_STREAM = Tnuint32;
  282. NWDATE = Tnuint16;
  283. NWDATE_TIME = Tnuint32;
  284. NWDELETE_TIME = Tnuint32;
  285. NWDENY_COUNT = Tnuint16;
  286. NWDEVICE_ID = Tnuint16;
  287. NWDIR_ATTRIBUTES = Tnuint8;
  288. NWDIR_BASE = Tnuint32;
  289. NWDIR_ENTRY = Tnuint32;
  290. NWDIR_ID = Tnuint8;
  291. NWDIR_NUM = Tnuint16;
  292. NWDIR_SPACE = Tnuint32;
  293. NWDIR_STAMP = Tnuint16;
  294. NWDIR_TRUSTEE_RIGHTS = Tnuint16;
  295. NWDIR_VOL = Tnuint8;
  296. NWDISK_CHANNEL = byte;
  297. NWDISK_DRV_TYPE = byte;
  298. NWDISK_FLAGS = word;
  299. NWDISK_NUM = byte;
  300. NWDISK_SPACE = cardinal;
  301. NWDISK_TYPE = byte;
  302. NWDISTANCE = word;
  303. NWDMA = byte;
  304. NWDM_FLAGS = cardinal;
  305. NWDRIVE_NUM = word;
  306. NWDRIVE_NUMBER = byte;
  307. NWDRV_COMMAND = cardinal;
  308. NWDRV_CONFIG = cardinal;
  309. NWDRV_FLAGS = word;
  310. NWDRV_ID = word;
  311. NWDRV_LINK = cardinal;
  312. NWDRV_MEM = cardinal;
  313. NWDRV_NAME = cardinal;
  314. NWDRV_TAG = cardinal;
  315. NWDRV_TYPE = cardinal;
  316. NWDRV_VERSION = byte;
  317. NWDSLEN = cardinal;
  318. //!! NWDS_BUFFER = Buf_T;
  319. NWDS_EVENT = cardinal;
  320. //!! NWDS_FILTER_CURSOR = Filter_Cursor_T;
  321. NWDS_FILTER_LEVEL = word;
  322. //!! NWDS_FILTER_NODE = Filter_Node_T;
  323. NWDS_FLAGS = cardinal;
  324. NWDS_ID = Tnint16;
  325. NWDS_INTERVAL = cardinal;
  326. NWDS_ITERATION = Tnint32;
  327. NWDS_LOGIN_FILE = Tnint16;
  328. NWDS_NUM_OBJ = Tnint32;
  329. NWDS_OPERATION = cardinal;
  330. NWDS_PRIVILEGES = cardinal;
  331. NWDS_SEARCH_SCOPE = word;
  332. //!! NWDS_SESSION_KEY = NWDS_Session_Key_T;
  333. NWDS_SIZE = cardinal;
  334. NWDS_SYNTAX_FLAGS = Tnint16;
  335. NWDS_TOKEN = word;
  336. NWDS_TYPE = cardinal;
  337. NWDS_TYPE_LEVEL = cardinal;
  338. NWDS_VALIDITY = cardinal;
  339. NWDS_VALUE = cardinal;
  340. //!! NWEA = NW_EA_HANDLE;
  341. NWEA_HANDLE = cardinal;
  342. NWEA_KEY = word;
  343. NWEA_KEY_LEN = word;
  344. NWEA_KEY_OFFSET = word;
  345. //!! NWEA_SCAN = NW_EA_FF_STRUCT;
  346. NWECB_CANCEL_COUNT = word;
  347. NWELEMENT_VALUE = Tnint16;
  348. NWEMAIL_TYPE = cardinal;
  349. NWFACTOR = cardinal;
  350. NWFAT = cardinal;
  351. NWFILE_ATTR = byte;
  352. NWFILE_LEN = cardinal;
  353. NWFILE_MODE = byte;
  354. NWFILE_SYS_ID = cardinal;
  355. NWFINDER_INFO = byte;
  356. NWFLAGS = byte;
  357. NWFORM_NUM = byte;
  358. NWFORM_TYPE = word;
  359. NWFRAG_SIZE = word;
  360. NWFSE_CONN_TYPE = cardinal;
  361. NWFSE_FLAGS = cardinal;
  362. NWGLT_FAIL_COUNT = word;
  363. NWHANDLE = byte;
  364. NWHF_START = cardinal;
  365. //!! NWHOLDS_INFO = HOLDS_INFO;
  366. //!! NWHOLDS_STATUS = HOLDS_STATUS;
  367. NWHOLD_AMOUNT = cardinal;
  368. NWHOLD_CANCEL_AMOUNT = cardinal;
  369. NWINFO_LEVEL = cardinal;
  370. NWINTERRUPT = byte;
  371. NWIO_MEM = word;
  372. NWJOB_FLAGS = word;
  373. NWJOB_HANDLE = cardinal;
  374. NWJOB_POSITION = byte;
  375. NWJOB_POSITION2 = word;
  376. NWJOB_TYPE = word;
  377. NWLAN_NUM = byte;
  378. NWLAST_RECORD = Tnint16;
  379. NWLEN = cardinal;
  380. NWLENGTH = word;
  381. { FOR DOS, OS/2, AND WINDOWS }
  382. NWLOCAL_FILE_HANDLE = word;
  383. NWLOCAL_MODE = word;
  384. NWLOCAL_SCOPE = word;
  385. NWLOCK_COUNT = word;
  386. NWLOCK_DATA_STREAM = byte;
  387. NWLOCK_STATE = byte;
  388. NWLOCK_TYPE = byte;
  389. //NWLOCK_TYPE = byte;
  390. NWLOGIN_TIME = array[0..6] of byte;
  391. type
  392. NWLPT = byte;
  393. NWMAX_PACKET_SIZE = word;
  394. NWMEDIA_MASK = cardinal;
  395. NWMEDIA_TYPE = cardinal;
  396. NWMEM_OFFSET = word;
  397. NWMINUTES = byte;
  398. NWMODULE_ID = cardinal;
  399. NWNAME = pnuint8;
  400. NWNAME_LEN = byte;
  401. NWNAME_SPACE = byte;
  402. NWNAME_SPACE_TYPE = cardinal;
  403. NWNET_ADDR = byte;
  404. NWNET_ADDR_LEN = cardinal;
  405. NWNET_ADDR_TYPE = cardinal;
  406. NWNEXT_REQUEST = word;
  407. NWNLM_ID = cardinal;
  408. NWNLM_TYPE = cardinal;
  409. NWNOTE_TYPE = word;
  410. NWNS_ACCESS_MODE = word;
  411. NWNS_ACCESS_RIGHTS = word;
  412. NWNS_ATTR = word;
  413. NWNS_BITS = word;
  414. NWNS_DATA_STREAM = byte;
  415. NWNS_DATA_STREAM2 = word;
  416. NWNS_FLAGS = word;
  417. NWNS_HANDLE = cardinal;
  418. NWNS_LIST_SIZE = byte;
  419. NWNS_MASK = cardinal;
  420. NWNS_NUM = byte;
  421. NWNS_TYPE = word;
  422. NWNUM = cardinal;
  423. NWNUMBER = word;
  424. NWNUMBER_ENTRIES = byte;
  425. NWNUM_BLOCKS = cardinal;
  426. NWNUM_BUFFERS = word;
  427. NWNUM_BYTES = cardinal;
  428. NWNUM_CONNS = byte;
  429. NWNUM_COPIES = byte;
  430. NWNUM_DIR_ENTRIES = cardinal;
  431. NWNUM_DRIVES = byte;
  432. NWNUM_ELEMENTS = Tnint16;
  433. NWNUM_ENTRIES = word;
  434. NWNUM_FORKS = byte;
  435. NWNUM_HEADS = byte;
  436. NWNUM_HOPS = word;
  437. NWNUM_PACKETS = cardinal;
  438. NWNUM_REQUESTS = cardinal;
  439. NWNUM_SECTORS = byte;
  440. NWNUM_TRANSACTIONS = byte;
  441. //!! NWOBJECT_INFO = Object_Info_T;
  442. NWOBJ_ID = cardinal;
  443. NWOBJ_TYPE = word;
  444. NWOFFSET = cardinal;
  445. NWOPEN_COUNT = word;
  446. NWOPTION_NUM = byte;
  447. NWOS_REVISION = word;
  448. NWOS_VERSION = word;
  449. NWPATH_SIZE = word;
  450. NWPATH_VOL = byte;
  451. NWPOSITION = cardinal;
  452. NWPRINTER = word;
  453. NWPRINT_FLAGS = word;
  454. NWPRINT_TASK = cardinal;
  455. NWPROTOCOL_MASK = cardinal;
  456. NWPROTOCOL_VERSION = byte;
  457. NWPSTR = pnstr;
  458. NWQMS_HANDLE = cardinal;
  459. NWQMS_TASK = cardinal;
  460. NWREC_OFFSET = word;
  461. NWREPLICA_NUM = Tnint32;
  462. NWREPLICA_TYPE = cardinal;
  463. NWREQUESTER_VERSION = byte;
  464. NWREQUEST_MASK = word;
  465. NWRESERVED16 = cardinal;
  466. NWRESERVED32 = cardinal;
  467. NWREVISION = cardinal;
  468. NWRIGHTS = cardinal;
  469. NWRIGHTS_MASK = word;
  470. NWSEARCH_ATTR = byte;
  471. NWSEARCH_ATTRIBUTES = word;
  472. NWSEARCH_CONTEXT = word;
  473. NWSEARCH_MASK = word;
  474. NWSECONDS = cardinal;
  475. NWSEGMENT_DATA = pnuint8;
  476. NWSEGMENT_NUM = byte;
  477. NWSEM_HANDLE = cardinal;
  478. NWSEM_INT = Tnint16;
  479. NWSEM_VALUE = word;
  480. NWSEQUENCE = cardinal;
  481. NWSEQUENCE_NUM = word;
  482. NWSEQ_NUM = byte;
  483. NWSERVER_NAME_LEN = word;
  484. NWSERVER_TYPE = word;
  485. NWSERVICE_VERSION = byte;
  486. NWSESSION_ID = word;
  487. NWSIZE = cardinal;
  488. NWSOCKET_COUNT = word;
  489. NWSPX_COUNT = word;
  490. NWSTATION_NUM = byte;
  491. NWSTATION_NUM2 = cardinal;
  492. NWSTATS_VERSION = byte;
  493. NWSTATUS = cardinal;
  494. NWSTRUCT_SIZE = word;
  495. NWSUPPORT_LEVEL = byte;
  496. NWSYNTAX_ID = cardinal;
  497. //!! NWSYNTAX_INFO = Syntax_Info_T;
  498. NWSYS_TIME = cardinal;
  499. NWTAB = byte;
  500. NWTASK = word;
  501. NWTASK_COUNT = byte;
  502. NWTASK_NUM = word;
  503. NWTASK_STATE = byte;
  504. NWTDS = word;
  505. NWTDS_OFFSET = word;
  506. NWTICKS = word;
  507. NWTIME = word;
  508. NWTRAN_TYPE = byte;
  509. NWTRUSTEE_SEQUENCE_NUM = word;
  510. NWUSE_COUNT = word;
  511. NWUTILIZATION = cardinal;
  512. NWVCONSOLE_REVISION = byte;
  513. NWVCONSOLE_VERSION = byte;
  514. NWVERSION = cardinal;
  515. NWVOL = cardinal;
  516. NWVOL_FLAGS = word;
  517. NWVOL_NUM = word;
  518. NWVOL_NUMBER = byte;
  519. NWVOL_TYPE = cardinal;
  520. TRUSTEE_RIGHTS = cardinal;
  521. //*****************************************************************************
  522. //nwafp.h
  523. //*****************************************************************************
  524. {* This is the structure that the application expects to see. Note that the
  525. long name and short name will be null terminated, and one extra byte has
  526. been added to long name and short name to assure word alignment * }
  527. type
  528. PAFPFILEINFO = ^TAFPFILEINFO;
  529. TAFPFILEINFO = record
  530. entryID: Tnuint32;
  531. parentID: Tnuint32;
  532. attributes: Tnuint16;
  533. dataForkLength: Tnuint32;
  534. resourceForkLength: Tnuint32;
  535. numOffspring: Tnuint16;
  536. creationDate: Tnuint16;
  537. accessDate: Tnuint16;
  538. modifyDate: Tnuint16;
  539. modifyTime: Tnuint16;
  540. backupDate: Tnuint16;
  541. backupTime: Tnuint16;
  542. finderInfo: array[0..31] of Tnuint8;
  543. longName: array[0..33] of Tnstr8;
  544. ownerID: Tnuint32;
  545. shortName: array[0..13] of Tnstr8;
  546. accessPrivileges: Tnuint16;
  547. proDOSInfo: array[0..5] of Tnuint8;
  548. end;
  549. TNW_AFP_FILE_INFO = TAFPFILEINFO;
  550. PNW_AFP_FILE_INFO = ^TNW_AFP_FILE_INFO;
  551. {This is the structure that actually returned from the NCP call}
  552. PRECPKT_AFPFILEINFO = ^TRECPKT_AFPFILEINFO;
  553. TRECPKT_AFPFILEINFO = record
  554. entryID: Tnuint32;
  555. parentID: Tnuint32;
  556. attributes: Tnuint16;
  557. dataForkLength: Tnuint32;
  558. resourceForkLength: Tnuint32;
  559. numOffspring: Tnuint16;
  560. creationDate: Tnuint16;
  561. accessDate: Tnuint16;
  562. modifyDate: Tnuint16;
  563. modifyTime: Tnuint16;
  564. backupDate: Tnuint16;
  565. backupTime: Tnuint16;
  566. finderInfo: array[0..31] of Tnuint8;
  567. longName: array[0..31] of Tnstr8;
  568. ownerID: Tnuint32;
  569. shortName: array[0..11] of Tnstr8;
  570. accessPrivileges: Tnuint16;
  571. proDOSInfo: array[0..5] of Tnuint8;
  572. end;
  573. PAFPSETINFO = ^TAFPSETINFO;
  574. TAFPSETINFO = record
  575. attributes: Tnuint16;
  576. creationDate: Tnuint16;
  577. accessDate: Tnuint16;
  578. modifyDate: Tnuint16;
  579. modifyTime: Tnuint16;
  580. backupDate: Tnuint16;
  581. backupTime: Tnuint16;
  582. finderInfo: array[0..31] of Tnuint8;
  583. proDOSInfo: array[0..5] of Tnuint8;
  584. end;
  585. TNW_AFP_SET_INFO = TAFPSETINFO;
  586. PNW_AFP_SET_INFO = ^TNW_AFP_SET_INFO;
  587. NWAFP_ACCESS_PRIVILEGES = word;
  588. NWAFP_ENTRY_ID = cardinal;
  589. NWAFP_FILE_ATTRIBUTES = word;
  590. //!! NWAFP_FILE_INFO = AFPFILEINFO;
  591. NWAFP_FORK_LEN = cardinal;
  592. NWAFP_NUM_OFFSPRING = word;
  593. //!! NWAFP_SET_INFO = AFPSETINFO;
  594. NWAPP_NUM = word;
  595. { the following are the constants that can be used for requestMasks
  596. in NWAFPScanFileInformation and NWAFPGetFileInformation. }
  597. const
  598. AFP_GET_ATTRIBUTES = $0001;
  599. AFP_GET_PARENT_ID = $0002;
  600. AFP_GET_CREATE_DATE = $0004;
  601. AFP_GET_ACCESS_DATE = $0008;
  602. AFP_GET_MODIFY_DATETIME = $0010;
  603. AFP_GET_BACKUP_DATETIME = $0020;
  604. AFP_GET_FINDER_INFO = $0040;
  605. AFP_GET_LONG_NAME = $0080;
  606. AFP_GET_ENTRY_ID = $0100;
  607. AFP_GET_DATA_LEN = $0200;
  608. AFP_GET_RESOURCE_LEN = $0400;
  609. AFP_GET_NUM_OFFSPRING = $0800;
  610. AFP_GET_OWNER_ID = $1000;
  611. AFP_GET_SHORT_NAME = $2000;
  612. AFP_GET_ACCESS_RIGHTS = $4000;
  613. AFP_GET_PRO_DOS_INFO = $8000;
  614. AFP_GET_ALL = $FFFF;
  615. { used for NWAFPSetFileInformation }
  616. AFP_SET_ATTRIBUTES = $0001;
  617. AFP_SET_CREATE_DATE = $0004;
  618. AFP_SET_ACCESS_DATE = $0008;
  619. AFP_SET_MODIFY_DATETIME = $0010;
  620. AFP_SET_BACKUP_DATETIME = $0020;
  621. AFP_SET_FINDER_INFO = $0040;
  622. AFP_SET_PRO_DOS_INFO = $8000;
  623. AFP_SA_NORMAL = $0000;
  624. AFP_SA_HIDDEN = $0100;
  625. AFP_SA_SYSTEM = $0200;
  626. AFP_SA_SUBDIR = $0400;
  627. AFP_SA_FILES = $0800;
  628. AFP_SA_ALL = $0F00;
  629. function NWAFPAllocTemporaryDirHandle(conn: TNWCONN_HANDLE; volNum: Tnuint16; AFPEntryID: Tnuint32; AFPPathString: Pnstr8; dirHandle: PNWDIR_HANDLE;
  630. accessRights: pnuint8): TNWCCODE; NWLIB_CALNLM32;
  631. function NWAFPCreateDirectory(conn: TNWCONN_HANDLE; volNum: Tnuint16; AFPEntryID: Tnuint32; finderInfo: pnuint8; AFPPathString: pnstr8;
  632. newAFPEntryID: pnuint32): TNWCCODE; NWLIB_CLIB;
  633. function NWAFPCreateFile(conn: TNWCONN_HANDLE; volNum: Tnuint16; AFPEntryID: Tnuint32; delExistingFile: Tnuint8; finderInfo: pnuint8;
  634. AFPPathString: Pnstr8; newAFPEntryID: pnuint32): TNWCCODE; NWLIB_CALNLM32;
  635. function NWAFPDelete(conn: TNWCONN_HANDLE; volNum: Tnuint16; AFPEntryID: Tnuint32; AFPPathString: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
  636. function NWAFPGetEntryIDFromName(conn: TNWCONN_HANDLE; volNum: Tnuint16; AFPEntryID: Tnuint32; AFPPathString: Pnstr8; newAFPEntryID: pnuint32): TNWCCODE; NWLIB_CALNLM32;
  637. function NWAFPGetEntryIDFromHandle(conn: TNWCONN_HANDLE; NWHandle: Pnuint8; volNum: pnuint16; AFPEntryID: pnuint32; forkIndicator: pnuint8): TNWCCODE; NWLIB_CALNLM32;
  638. function NWAFPGetEntryIDFromPathName(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; path: Pnstr8; AFPEntryID: pnuint32): TNWCCODE; NWLIB_CALNLM32;
  639. function NWAFPGetFileInformation(conn: TNWCONN_HANDLE; volNum: Tnuint16; AFPEntryID: Tnuint32; reqMask: Tnuint16; AFPPathString: Pnstr8;
  640. structSize: Tnuint16; AFPFileInfo: PNW_AFP_FILE_INFO): TNWCCODE; NWLIB_CALNLM32;
  641. function NWAFPDirectoryEntry(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; path: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
  642. function NWAFPOpenFileFork(conn: TNWCONN_HANDLE; volNum: Tnuint16; AFPEntryID: Tnuint32; forkIndicator: Tnuint8; accessMode: Tnuint8;
  643. AFPPathString: Pnstr8; fileID: pnuint32; forkLength: pnuint32; NWHandle: pnuint8; DOSFileHandle: PNWFILE_HANDLE): TNWCCODE; NWLIB_CALNLM32;
  644. function NWAFPRename(conn: TNWCONN_HANDLE; volNum: Tnuint16; AFPSourceEntryID: Tnuint32; AFPDestEntryID: Tnuint32; AFPSrcPath: Pnstr8;
  645. AFPDstPath: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
  646. function NWAFPScanFileInformation(conn: TNWCONN_HANDLE; volNum: Tnuint16; AFPEntryID: Tnuint32; AFPLastSeenID: pnuint32; searchMask: Tnuint16;
  647. reqMask: Tnuint16; AFPPathString: Pnstr8; structSize: Tnuint16; AFPFileInfo: PNW_AFP_FILE_INFO): TNWCCODE; NWLIB_CALNLM32;
  648. function NWAFPSetFileInformation(conn: TNWCONN_HANDLE; volNum: Tnuint16; AFPBaseID: Tnuint32; reqMask: Tnuint16; AFPPathString: Pnstr8;
  649. structSize: Tnuint16; AFPSetInfo: PNW_AFP_SET_INFO): TNWCCODE; NWLIB_CALNLM32;
  650. function NWAFPSupported(conn: TNWCONN_HANDLE; volNum: Tnuint16): TNWCCODE; NWLIB_CALNLM32;
  651. function NWAFPASCIIZToLenStr(pbstrDstStr: Pnstr8; pbstrSrcStr: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
  652. //*******************
  653. // unicode.h
  654. //*******************
  655. type
  656. Psize_t = ^Tsize_t;
  657. Tsize_t = dword;
  658. Punicode = ^Tunicode;
  659. Tunicode = word;
  660. { Unicode data must be 16 bits }
  661. {typedef unicode * punicode; }
  662. {typedef unicode * * ppunicode; }
  663. { was #define dname(params) para_def_expr }
  664. { argument types are unknown }
  665. { return type might be wrong }
  666. //function nwunisize(x : longint) : longint;
  667. { Converter handle }
  668. type
  669. PCONVERT = ^TCONVERT;
  670. TCONVERT = pointer;
  671. PpCONVERT = ^TpCONVERT;
  672. TpCONVERT = TCONVERT;
  673. {************************************************************************** }
  674. {Type definitions for converter based APIs }
  675. {Function called when non-mappable bytes are found }
  676. { Handle to Byte <-> Uni converter }
  677. { Pointer to current output position }
  678. { Space left in output buffer }
  679. { Space used in output buffer }
  680. { Pointer to unmappable bytes }
  681. { Size of unmappable input }
  682. type
  683. TNMBYTE = function(byteUniHandle: TpCONVERT; output: punicode; outputLeft: Tnuint; outputUsed: pnuint; badInput: Pnuint8;
  684. badInputSize: Tnuint): Tnint; cdecl;
  685. {
  686. Function called when non-mappable unicode characters are found
  687. }
  688. { Handle to Byte <-> Uni converter }
  689. { Pointer to current output position }
  690. { Space left in output buffer }
  691. { Space used in output buffer }
  692. { Ptr to unmappable unicode chars }
  693. { Size of unmappable input }
  694. TNMUNI = function(byteUniHandle: TpCONVERT; output: pnuint8; outputLeft: Tnuint; outputUsed: pnuint; badInput: Punicode;
  695. badInputSize: Tnuint): Tnint; cdecl;
  696. {
  697. Function called to scan for special byte input
  698. }
  699. { Handle to Byte <-> Uni converter }
  700. { Input to scan for special bytes }
  701. { Maximum # of bytes to scan or -1 }
  702. TSCBYTE = function(byteUniHandle: TpCONVERT; input: Pnuint8; scanmax: Tnint): pnuint8; cdecl;
  703. {
  704. Function called to scan for special Unicode input
  705. }
  706. { Handle to Byte <-> Uni converter }
  707. { Input to scan for special chars }
  708. { Maximum # of bytes to scan or -1 }
  709. TSCUNI = function(byteUniHandle: TpCONVERT; input: Punicode; scanmax: Tnint): punicode; cdecl;
  710. {
  711. Function called to parse special byte input
  712. }
  713. { Handle to Byte <-> Uni converter }
  714. { Buffer for Unicode output }
  715. { Space left in output buffer }
  716. { Space used in output buffer }
  717. { Buffer containing byte input }
  718. { Number of bytes of input used }
  719. TPRBYTE = function(byteUniHandle: TpCONVERT; output: punicode; outputleft: Tnuint; outputUsed: pnuint; input: Pnuint8;
  720. inputUsed: pnuint): Tnint; cdecl;
  721. {
  722. Function called to parse special Unicode input
  723. }
  724. { Handle to Byte <-> Uni converter }
  725. { Buffer for bytes output }
  726. { Space left in output buffer }
  727. { Space used in output buffer }
  728. { Buffer containing byte input }
  729. { Number of Unicodes of input used }
  730. TPRUNI = function(byteUniHandle: TpCONVERT; output: pnuint8; outputLeft: Tnuint; outputUsed: pnuint; input: Punicode;
  731. inputUsed: pnuint): Tnint; cdecl;
  732. {************************************************************************** }
  733. {
  734. Macros used by and returned from converter based API calls
  735. (i.e. NWUS*, NWUX*)
  736. }
  737. {
  738. Novell-defined Unicode characters.
  739. Consult with the Internationalization group before adding to this list.
  740. }
  741. const
  742. UNI_CHANGE_NAMESPACE = $F8F4;
  743. UNI_PREVIOUS_DIR = $F8F5;
  744. UNI_CURRENT_DIR = $F8F6;
  745. UNI_PATH_SEPARATOR = $F8F7;
  746. UNI_VOLUMENAME_ROOT = $F8F8;
  747. UNI_VOLUME_ROOT = $F8F9;
  748. UNI_NDS_ROOT = $F8FA;
  749. UNI_WILD_QMARK = $F8FB;
  750. UNI_WILD_ASTERISK = $F8FC;
  751. UNI_WILD_AUG_QMARK = $F8FD;
  752. UNI_WILD_AUG_ASTERISK = $F8FE;
  753. UNI_WILD_AUG_PERIOD = $F8FF;
  754. {
  755. Actions to take when an unmappable byte or uni character is encountered.
  756. Used in SetNoMapAction call.
  757. }
  758. { Leave action unchanged }
  759. NWU_UNCHANGED_ACTION = -(1);
  760. { Return error code NWU_UNMAPPABLE_CHAR }
  761. NWU_RETURN_ERROR = 0;
  762. { Use the current substitution character }
  763. NWU_SUBSTITUTE = 1;
  764. { Call the no map handler function }
  765. NWU_CALL_HANDLER = 2;
  766. {
  767. Codes to enable the Scan and Parse handler functions.
  768. Used in SetScanAction call.
  769. }
  770. NWU_DISABLED = 0; // Disable Scan/Parse functions
  771. NWU_ENABLED = 2; // Enable Scan/Parse functions
  772. { Flags to pass to NWUXGetCaseConverter to specify whether to load
  773. a converter which converts to upper, lower or title case. }
  774. NWU_LOWER_CASE = 0; // Lower case
  775. NWU_UPPER_CASE = 1;
  776. NWU_TITLE_CASE = 2;
  777. { Flags to pass to NWUXGetNormalizeConverter to specify whether to
  778. load a converter which converts to pre-composed or de-composed
  779. unicode characters. }
  780. NWU_PRECOMPOSED = 0;
  781. NWU_DECOMPOSED = 1;
  782. { For use in SetByte/UniFunction calls }
  783. //function NWU_UNCHANGED_FUNCTION : pointer;
  784. const
  785. NWU_RESET_TO_DEFAULT = nil;
  786. { Error codes. FFFFFDE0 to FFFFFDFF reserved for new unicode APIs. }
  787. NWU_NO_CONVERTER = -(544); // Default converter not loaded
  788. NWU_CONVERTER_NOT_FOUND = -(543); // Converter file was not found
  789. NWU_TOO_MANY_FILES = -(542); // Too many open files
  790. NWU_NO_PERMISSION = -(541); // Access to file was denied
  791. NWU_OPEN_FAILED = -(540); // File open failed
  792. NWU_READ_FAILED = -(539); // File read failed
  793. NWU_OUT_OF_MEMORY = -(538); // Insufficient memory
  794. NWU_CANT_LOAD_CONVERTER = -(537); // Unable to load converter
  795. NWU_CONVERTER_CORRUPT = -(536); // The converter is invalid
  796. NWU_NULL_HANDLE = -(535); // Converter handle was NULL
  797. NWU_BAD_HANDLE = -(534); // Converter handle is invalid
  798. NWU_HANDLE_MISMATCH = -(533); // Handle doesn't match operation
  799. NWU_UNMAPPABLE_CHAR = -(532); // Unmappable character found
  800. NWU_RANGE_ERROR = -(531); // Invalid constant passed to fn
  801. NWU_BUFFER_FULL = -(530); // Buffer too small for output
  802. NWU_INPUT_MAX = -(529); // Processed max # of input chars
  803. UNI_PARSER_ERROR = -(528); // Error from user-written parser
  804. NWU_OLD_CONVERTER_VERSION = -(527); // Outdated converter DLL
  805. NWU_UNSUPPORTED_AUX_FUNCTION = -(526); // Unsupported AUX function
  806. NWU_EMBEDDED_NULL = -(525); // Embedded null in len spec string
  807. NWU_GET_CODE_PAGE_FAILED = -(524); // Failed to get system cp or cc
  808. NWU_ILLEGAL_UTF8_CHARACTER = -(506); // Cannot convert UTF8 AnsiChar to Uni
  809. NWU_INSUFFICIENT_BUFFER = -(500);
  810. { Error codes for translator based APIs (i.e. NW prefix) }
  811. UNI_ALREADY_LOADED = -(489); // Already loaded another country or code page
  812. UNI_FUTURE_OPCODE = -(490); // Rule table has unimplimented rules
  813. UNI_NO_SUCH_FILE = -(491); // No such file or directory
  814. UNI_TOO_MANY_FILES = -(492); // Too many files already open
  815. UNI_NO_PERMISSION = -(493); // Permission denied on file open
  816. UNI_NO_MEMORY = -(494); // Not enough memory
  817. UNI_LOAD_FAILED = -(495); // NWLoadRuleTable failed, don't know why
  818. UNI_HANDLE_BAD = -(496); // Rule table handle was bad
  819. UNI_HANDLE_MISMATCH = -(497); // Rule table handle doesn't match operation
  820. UNI_RULES_CORRUPT = -(498); // Rule table is corrupt
  821. UNI_NO_DEFAULT = -(499); // No default rule and no 'No map' character
  822. UNI_INSUFFICIENT_BUFFER = -(500);
  823. UNI_OPEN_FAILED = -(501); // Open failed in NWLoadRuleTable
  824. UNI_NO_LOAD_DIR = -(502); // Load directory could not be determined
  825. UNI_BAD_FILE_HANDLE = -(503); // File handle was bad
  826. UNI_READ_FAILED = -(504); // File read of rule table failed
  827. UNI_TRANS_CORRUPT = -(505); // Translator is corrupt
  828. UNI_ILLEGAL_UTF8_CHARACTER = -(506); // Illegal UTF-8 character encountered
  829. {************************************************************************** }
  830. { Unicode converter prototypes - These APIs are preferred over the older
  831. non-converter counterparts (i.e. NWUnicodeToLocal, NWLocalToUnicode, etc.)}
  832. { These are the Standard API's }
  833. { Initialize standard converters }
  834. function NWUSStandardUnicodeInit: Tnint; NWLIB_LOCNLM32;
  835. { Replace standard converter. }
  836. function NWUSStandardUnicodeOverride(codepage: Tnuint): Tnint; NWLIB_LOCNLM32;
  837. { Release the standard converters }
  838. procedure NWUSStandardUnicodeRelease; NWLIB_LOCNLM32;
  839. { Get the native code page and country }
  840. function NWUSGetCodePage(pCodePage: pnuint; pCountry: pnuint): Tnint; NWLIB_LOCNLM32;
  841. { NOTE: The actualLength parameter returned by the conversion routines
  842. does *not* include the null terminator.
  843. }
  844. { Convert bytes to Unicode }
  845. { Buffer for resulting Unicode }
  846. { Length of output buffer. Or 0 }
  847. { Buffer for input bytes }
  848. { Length of results in uni chars }
  849. function NWUSByteToUnicode(unicodeOutput: punicode; outputBufferLen: Tnuint; byteInput: Pnuint8; actualLength: pnuint): Tnint; NWLIB_LOCNLM32;
  850. { Convert bytes to Unicode for file path }
  851. { Buffer for resulting Unicode }
  852. { Length of output buffer. Or 0 }
  853. { Buffer for input bytes }
  854. { Length of results in uni chars }
  855. function NWUSByteToUnicodePath(unicodeOutput: punicode; outputBufferLen: Tnuint; byteInput: Pnuint8; actualLength: pnuint): Tnint; NWLIB_LOCNLM32;
  856. { Convert bytes to Unicode }
  857. { Buffer for resulting Unicode }
  858. { Length of output buffer. Or 0 }
  859. { Buffer for input bytes }
  860. { Input str length in bytes or -1 }
  861. { Length of results in uni chars }
  862. function NWUSLenByteToUnicode(unicodeOutput: punicode; outputBufferLen: Tnuint; byteInput: Pnuint8; inLength: Tnint; actualLength: pnuint): Tnint; NWLIB_LOCNLM32;
  863. { Convert bytes to Unicode for file path }
  864. { Buffer for resulting Unicode }
  865. { Length of output buffer. Or 0 }
  866. { Buffer for input bytes }
  867. { Input str length in bytes or -1 }
  868. { Length of results in uni chars }
  869. function NWUSLenByteToUnicodePath(unicodeOutput: punicode; outputBufferLen: Tnuint; byteInput: Pnuint8; inLength: Tnint; actualLength: pnuint): Tnint; NWLIB_LOCNLM32;
  870. { Convert Unicode to bytes }
  871. { Buffer for output bytes }
  872. { Length of output buffer. Or 0 }
  873. { Buffer for Unicode input }
  874. { Length of results in bytes }
  875. function NWUSUnicodeToByte(byteOutput: pnuint8; outputBufferLen: Tnuint; unicodeInput: Punicode; actualLength: pnuint): Tnint; NWLIB_LOCNLM32;
  876. { Convert Unicode to bytes for file path }
  877. { Buffer for output bytes }
  878. { Length of output buffer. Or 0 }
  879. { Buffer for Unicode input }
  880. { Length of results in bytes }
  881. function NWUSUnicodeToBytePath(byteOutput: pnuint8; outputBufferLen: Tnuint; unicodeInput: Punicode; actualLength: pnuint): Tnint; NWLIB_LOCNLM32;
  882. { Convert Unicode to bytes }
  883. { Buffer for output bytes }
  884. { Length of output buffer }
  885. { Buffer for Unicode input }
  886. { Length of results in bytes }
  887. function NWUSUnicodeToUntermByte(byteOutput: pnuint8; outputBufferLen: Tnuint; unicodeInput: Punicode; actualLength: pnuint): Tnint; NWLIB_LOCNLM32;
  888. { Convert Unicode to bytes for file path }
  889. { Buffer for output bytes }
  890. { Length of output buffer }
  891. { Buffer for Unicode input }
  892. { Length of results in bytes }
  893. function NWUSUnicodeToUntermBytePath(byteOutput: pnuint8; outputBufferLen: Tnuint; unicodeInput: Punicode; actualLength: pnuint): Tnint; NWLIB_LOCNLM32;
  894. { Convert Unicode to lower case }
  895. { Buffer for lower cased output }
  896. { Length of output buffer. Or 0 }
  897. { Buffer for Unicode input }
  898. { Length of results in uni chars }
  899. function NWUSUnicodeToLowerCase(lowerCaseOutput: punicode; outputBufferLen: Tnuint; unicodeInput: Punicode; actualLength: pnuint): Tnint; NWLIB_LOCNLM32;
  900. { Convert Unicode to upper case }
  901. { Buffer for upper cased output }
  902. { Length of output buffer. Or 0 }
  903. { Buffer for Unicode input }
  904. { Length of results in uni chars }
  905. function NWUSUnicodeToUpperCase(upperCaseOutput: punicode; outputBufferLen: Tnuint; unicodeInput: Punicode; actualLength: pnuint): Tnint; NWLIB_LOCNLM32;
  906. {
  907. These are the Extended API's
  908. }
  909. { Load a Byte <-> Unicode converter }
  910. { Codepage number }
  911. { Converter handle returned here }
  912. function NWUXLoadByteUnicodeConverter(codepage: Tnuint; byteUniHandle: PpCONVERT): Tnint; NWLIB_LOCNLM32;
  913. { Load a Unicode -> Case converter }
  914. { Want upper, lower or title casing? }
  915. { Converter handle returned here }
  916. function NWUXLoadCaseConverter(caseFlag: Tnuint; caseHandle: PpCONVERT): Tnint; NWLIB_LOCNLM32;
  917. { Load a Unicode -> Collation converter }
  918. { Country code for this locale }
  919. { Converter handle returned here }
  920. function NWUXLoadCollationConverter(countryCode: Tnuint; collationHandle: PpCONVERT): Tnint; NWLIB_LOCNLM32;
  921. { Load a Unicode -> Normalized converter }
  922. { Want precomposed or decomposed flag? }
  923. { Converter handle returned here }
  924. function NWUXLoadNormalizeConverter(preDeFlag: Tnuint; normalizeHandle: PpCONVERT): Tnint; NWLIB_LOCNLM32;
  925. { Release a converter from memory }
  926. { Handle to converter to be released }
  927. function NWUXUnloadConverter(converterHandle: TpCONVERT): Tnint; NWLIB_LOCNLM32;
  928. { Convert bytes to Unicode }
  929. { Handle to Byte <-> Uni converter }
  930. { Buffer for resulting Unicode }
  931. { Length of output buffer. Or 0 }
  932. { Buffer for input bytes }
  933. { Length of results in uni chars }
  934. function NWUXByteToUnicode(byteUniHandle: TpCONVERT; unicodeOutput: punicode; outputBufferLen: Tnuint; byteInput: Pnuint8; actualLength: pnuint): Tnint; NWLIB_LOCNLM32;
  935. { Convert bytes to Unicode for file path }
  936. { Handle to Byte <-> Uni converter }
  937. { Buffer for resulting Unicode }
  938. { Length of output buffer. Or 0 }
  939. { Buffer for input bytes }
  940. { Length of results in uni chars }
  941. function NWUXByteToUnicodePath(byteUniHandle: TpCONVERT; unicodeOutput: punicode; outputBufferLen: Tnuint; byteInput: Pnuint8; actualLength: pnuint): Tnint; NWLIB_LOCNLM32;
  942. { Convert bytes to Unicode }
  943. { Handle to Byte <-> Uni converter }
  944. { Buffer for resulting Unicode }
  945. { Length of output buffer }
  946. { Buffer for input bytes }
  947. { Input str length in bytes or -1 }
  948. { Length of results in uni chars }
  949. function NWUXLenByteToUnicode(byteUniHandle: TpCONVERT; unicodeOutput: punicode; outputBufferLen: Tnuint; byteInput: Pnuint8; inLength: Tnint;
  950. actualLength: pnuint): Tnint; NWLIB_LOCNLM32;
  951. { Convert bytes to Unicode for file path }
  952. { Handle to Byte <-> Uni converter }
  953. { Buffer for resulting Unicode }
  954. { Length of output buffer }
  955. { Buffer for input bytes }
  956. { Input str length in bytes or -1 }
  957. { Length of results in uni chars }
  958. function NWUXLenByteToUnicodePath(byteUniHandle: TpCONVERT; unicodeOutput: punicode; outputBufferLen: Tnuint; byteInput: Pnuint8; inLength: Tnint;
  959. actualLength: pnuint): Tnint; NWLIB_LOCNLM32;
  960. { Convert Unicode to bytes }
  961. { Handle to Byte <-> Uni converter }
  962. { Buffer for output bytes }
  963. { Length of output buffer }
  964. { Buffer for Unicode input }
  965. { Length of results in bytes }
  966. function NWUXUnicodeToByte(byteUniHandle: TpCONVERT; byteOutput: pnuint8; outputBufferLen: Tnuint; unicodeInput: Punicode; actualLength: pnuint): Tnint; NWLIB_LOCNLM32;
  967. { Convert Unicode to bytes for file path }
  968. { Handle to Byte <-> Uni converter }
  969. { Buffer for output bytes }
  970. { Length of output buffer. Or 0 }
  971. { Buffer for Unicode input }
  972. { Length of results in bytes }
  973. function NWUXUnicodeToBytePath(byteUniHandle: TpCONVERT; byteOutput: pnuint8; outputBufferLen: Tnuint; unicodeInput: Punicode; actualLength: pnuint): Tnint; NWLIB_LOCNLM32;
  974. { Convert Unicode to bytes }
  975. { Handle to Byte <-> Uni converter }
  976. { Buffer for output bytes }
  977. { Length of output buffer }
  978. { Buffer for Unicode input }
  979. { Length of results in bytes }
  980. function NWUXUnicodeToUntermByte(byteUniHandle: TpCONVERT; byteOutput: pnuint8; outputBufferLen: Tnuint; unicodeInput: Punicode; actualLength: pnuint): Tnint; NWLIB_LOCNLM32;
  981. { Convert Unicode to bytes for file path }
  982. { Handle to Byte <-> Uni converter }
  983. { Buffer for output bytes }
  984. { Length of output buffer }
  985. { Buffer for Unicode input }
  986. { Length of results in bytes }
  987. function NWUXUnicodeToUntermBytePath(byteUniHandle: TpCONVERT; byteOutput: pnuint8; outputBufferLen: Tnuint; unicodeInput: Punicode; actualLength: pnuint): Tnint; NWLIB_LOCNLM32;
  988. { Convert to upper, lower or title case }
  989. { Handle to converter }
  990. { Buffer for output }
  991. { Length of output buffer. Or 0 }
  992. { Buffer for Unicode input }
  993. { Length of results in uni chars }
  994. function NWUXUnicodeToCase(caseHandle: TpCONVERT; monocasedOutput: punicode; outputBufferLen: Tnuint; unicodeInput: Punicode; actualLength: pnuint): Tnint; NWLIB_LOCNLM32;
  995. { Convert Unicode to Collation weights }
  996. { Handle to converter }
  997. { Buffer for collation weights }
  998. { Length of output buffer. Or 0 }
  999. { Buffer for Unicode input }
  1000. { Length of results in uni chars }
  1001. function NWUXUnicodeToCollation(collationHandle: TpCONVERT; collationWeights: punicode; outputBufferLen: Tnuint; unicodeInput: Punicode; actualLength: pnuint): Tnint; NWLIB_LOCNLM32;
  1002. { Convert Unicode to normalized }
  1003. { Handle to converter }
  1004. { Buffer for normalized output }
  1005. { Length of output buffer. Or 0 }
  1006. { Buffer for Unicode input }
  1007. { Length of results in uni chars }
  1008. function NWUXUnicodeToNormalized(normalizeHandle: TpCONVERT; normalizedOutput: punicode; outputBufferLen: Tnuint; unicodeInput: Punicode; actualLength: pnuint): Tnint; NWLIB_LOCNLM32;
  1009. { Convert Unicode to bytes for file path }
  1010. { Handle to Byte <-> Uni converter }
  1011. { Ptr to single or double-byte AnsiChar }
  1012. { # bytes in character (1 or 2) }
  1013. function NWUXGetCharSize(byteUniHandle: TpCONVERT; byteInput: Pnuint8; pCharSize: pnuint): Tnint; NWLIB_LOCNLM32;
  1014. { Set action to be taken for no map chars }
  1015. { Handle to a Byte <-> Unicode converter }
  1016. { Action to take for unmappable bytes }
  1017. { Action to take for unmappable unicode }
  1018. function NWUXSetNoMapAction(byteUniHandle: TpCONVERT; noMapByteAction: Tnint; noMapUniAction: Tnint): Tnint; NWLIB_LOCNLM32;
  1019. { Get action to be taken for no map chars }
  1020. { Handle to a Byte <-> Unicode converter }
  1021. { Action to take for unmappable bytes }
  1022. { Action to take for unmappable unicode }
  1023. function NWUXGetNoMapAction(byteUniHandle: TpCONVERT; noMapByteAction: pnint; noMapUniAction: pnint): Tnint; NWLIB_LOCNLM32;
  1024. { Enable or disable scan/parse functions }
  1025. { Handle to a Byte <-> Unicode converter }
  1026. { Set action for scan/parse byte functions }
  1027. { Set action for scan/parse uni functions }
  1028. function NWUXSetScanAction(byteUniHandle: TpCONVERT; scanByteAction: Tnint; scanUniAction: Tnint): Tnint; NWLIB_LOCNLM32;
  1029. { Get status of scan/parse functions }
  1030. { Handle to a Byte <-> Unicode converter }
  1031. { Status of scan/parse byte functions }
  1032. { Status of scan/parse uni functions }
  1033. function NWUXGetScanAction(byteUniHandle: TpCONVERT; scanByteAction: pnint; scanUniAction: pnint): Tnint; NWLIB_LOCNLM32;
  1034. { Set substitution byte for converter }
  1035. { Handle to a Byte <-> Unicode converter }
  1036. { Byte to be substituted }
  1037. function NWUXSetSubByte(byteUniHandle: TpCONVERT; substituteByte: Tnuint8): Tnint; NWLIB_LOCNLM32;
  1038. { Get substitution byte for converter }
  1039. { Handle to a Byte <-> Unicode converter }
  1040. { Substitution byte returned here }
  1041. function NWUXGetSubByte(byteUniHandle: TpCONVERT; substituteByte: pnuint8): Tnint; NWLIB_LOCNLM32;
  1042. { Set substitute uni AnsiChar for converter }
  1043. { Handle to a Byte <-> Unicode converter }
  1044. { Unicode character to be substituted }
  1045. function NWUXSetSubUni(byteUniHandle: TpCONVERT; substituteUni: Tunicode): Tnint; NWLIB_LOCNLM32;
  1046. { Get substitute uni AnsiChar for converter }
  1047. { Handle to a Byte <-> Unicode converter }
  1048. { Substitution unicode AnsiChar returned here }
  1049. function NWUXGetSubUni(byteUniHandle: TpCONVERT; substituteUni: punicode): Tnint; NWLIB_LOCNLM32;
  1050. { Set up unmappable byte handling }
  1051. { Handle to a Byte <-> Unicode converter }
  1052. { Function called for unmappable bytes }
  1053. { Byte scanning function }
  1054. { Byte parsing function }
  1055. function NWUXSetByteFunctions(byteUniHandle: TpCONVERT; noMapByteFunc: TNMBYTE; scanByteFunc: TSCBYTE; parseByteFunc: TPRBYTE): Tnint; NWLIB_LOCNLM32;
  1056. { Get unmappable byte handling functions }
  1057. { Handle to a Byte <-> Unicode converter }
  1058. { Handler function returned here }
  1059. { Byte scanning function }
  1060. { Byte parsing function }
  1061. function NWUXGetByteFunctions(byteUniHandle: TpCONVERT; var noMapByteFunc: TNMBYTE; var scanByteFunc: TSCBYTE; var parseByteFunc: TPRBYTE): Tnint; NWLIB_LOCNLM32;
  1062. { Set up unmappable character handling }
  1063. { Handle to a Byte <-> Unicode converter }
  1064. { Function called for unmappable uni chars }
  1065. { Unicode scanning function }
  1066. { Unicode parsing function }
  1067. function NWUXSetUniFunctions(byteUniHandle: TpCONVERT; noMapUniFunc: TNMUNI; scanUniFunc: TSCUNI; parseUniFunc: TPRUNI): Tnint; NWLIB_LOCNLM32;
  1068. { Set up unmappable unicode AnsiChar handling }
  1069. { Handle to a Byte <-> Unicode converter }
  1070. { Function called for unmappable uni chars }
  1071. { Unicode scan function }
  1072. { Unicode parse function }
  1073. function NWUXGetUniFunctions(byteUniHandle: TpCONVERT; var noMapUniFunc: TNMUNI; var scanUniFunc: TSCUNI; var parseUniFunc: TPRUNI): Tnint; NWLIB_LOCNLM32;
  1074. { Set up converter to use the NW OEM Euro }
  1075. function NWUXEnableOemEuro(convert: TpCONVERT): Tnint; NWLIB_LOCNLM32;
  1076. { Reset a converter to default state }
  1077. function NWUXResetConverter(convert: TpCONVERT): Tnint; NWLIB_LOCNLM32;
  1078. {************************************************************************** }
  1079. {
  1080. Table based Unicode/Local text conversion APIs. The converter based
  1081. APIs are preferred over these.
  1082. }
  1083. function NWInitUnicodeTables(countryCode: Tnint; codePage: Tnint): Tnint; NWLIB_LOCNLM32;
  1084. function NWLSetPrimaryUnicodeSearchPath(strSearchPath: Pnstr): longint; NWLIB_UNICODE;
  1085. function NWFreeUnicodeTables: Tnint; NWLIB_LOCNLM32;
  1086. function NWLoadRuleTable(ruleTableName: pnstr; ruleHandle: pnptr): Tnint; NWLIB_UNICODE;
  1087. { Rule table handle }
  1088. function NWUnloadRuleTable(ruleHandle: Tnptr): Tnint; NWLIB_UNICODE;
  1089. { NWUSByteToUnicode or NWUXByteToUnicode are preferred }
  1090. { Convert local to Unicode }
  1091. { Rule table handle }
  1092. { Buffer for resulting Unicode }
  1093. { Size of results buffer }
  1094. { Buffer with source local code }
  1095. { No map character }
  1096. { Number of unicode chars in output }
  1097. { Flag indicating default map is allowable }
  1098. function NWLocalToUnicode(ruleHandle: Tnptr; dest: punicode; maxLen: Tnuint32; src: pointer; noMap: Tunicode;
  1099. len: pnuint; allowNoMapFlag: Tnuint32): Tnint; NWLIB_LOCNLM32;
  1100. { NWUSUnicodeToByte or NWUXUnicodeToByte are preferred }
  1101. { Convert Unicode to local code }
  1102. { Rule table handle }
  1103. { Buffer for resulting local code }
  1104. { Size of results buffer }
  1105. { Buffer with source Unicode }
  1106. { No Map character }
  1107. { Number of bytes in output }
  1108. { Flag indicating default map is allowable }
  1109. function NWUnicodeToLocal(ruleHandle: Tnptr; dest: Tnptr; maxLen: Tnuint32; src: Punicode; noMap: Tnuint8;
  1110. len: pnuint; allowNoMapFlag: Tnuint32): Tnint; NWLIB_LOCNLM32;
  1111. { was #define dname(params) para_def_expr }
  1112. //function NWLocalToUnicode(P1,P2,P3,P4,P5,P6 : longint) : longint;
  1113. { was #define dname(params) para_def_expr }
  1114. //function NWUnicodeToLocal(P1,P2,P3,P4,P5,P6 : longint) : longint;
  1115. { If I could make size_t be cardinal for N_PLAT_NLM all of the functions }
  1116. { below here could be single sourced. }
  1117. {$IF 0}
  1118. { Convert Unicode to collation }
  1119. { Rule table handle }
  1120. { Buffer for resulting Unicode weights }
  1121. { Size of results buffer }
  1122. { Buffer with source Unicode }
  1123. { No map character }
  1124. { Number of unicode chars in output }
  1125. function NWUnicodeToCollation(ruleHandle: Tnptr; dest: punicode; maxLen: Tnuint32; src: Punicode; noMap: Tunicode;
  1126. len: pnuint32): Tnint; NWLIB_LOCNLM32;
  1127. { Compare two unicode characters }
  1128. { Rule table handle }
  1129. { 1st character }
  1130. { 2nd character }
  1131. function NWUnicodeCompare(ruleHandle: Tnptr; chr1: Tunicode; chr2: Tunicode): Tnint; NWLIB_LOCNLM32;
  1132. { Convert Unicode to collation }
  1133. { Rule table handle }
  1134. { Buffer for resulting Unicode weights }
  1135. { Size of results buffer }
  1136. { Buffer with source Unicode }
  1137. { Number of unicode chars in output }
  1138. function NWUnicodeToMonocase(ruleHandle: Tnptr; dest: punicode; maxLen: Tnuint32; src: Punicode; len: pnuint32): Tnint; NWLIB_LOCNLM32;
  1139. {$ENDIF}
  1140. { not N_PLAT_NLM }
  1141. { NWUSByteToUnicode or NWUXByteToUnicode are preferred }
  1142. { Convert local to Unicode }
  1143. { Rule table handle }
  1144. { Buffer for resulting Unicode }
  1145. { Size of results buffer }
  1146. { Buffer with source local code }
  1147. { No map character }
  1148. { Number of unicode chars in output }
  1149. function NWLocalToUnicode(ruleHandle: Tnptr; dest: punicode; maxLen: Tsize_t; src: Pnuint8; noMap: Tunicode;
  1150. len: Psize_t): Tnint; NWLIB_LOCNLM32;
  1151. { NWUSUnicodeToByte or NWUXUnicodeToByte are preferred }
  1152. { Convert Unicode to local code }
  1153. { Rule table handle }
  1154. { Buffer for resulting local code }
  1155. { Size of results buffer }
  1156. { Buffer with source Unicode }
  1157. { No Map character }
  1158. { Number of bytes in output }
  1159. function NWUnicodeToLocal(ruleHandle: Tnptr; dest: pnuint8; maxLen: Tsize_t; src: Punicode; noMap: byte;
  1160. len: Psize_t): Tnint; NWLIB_LOCNLM32;
  1161. { not N_PLAT_NLM }
  1162. { Convert Unicode to collation }
  1163. { Rule table handle }
  1164. { Buffer for resulting Unicode weights }
  1165. { Size of results buffer }
  1166. { Buffer with source Unicode }
  1167. { No map character }
  1168. { Number of unicode chars in output }
  1169. function NWUnicodeToCollation(ruleHandle: Tnptr; dest: punicode; maxLen: Tsize_t; src: Punicode; noMap: Tunicode;
  1170. len: Psize_t): Tnint; NWLIB_LOCNLM32;
  1171. { Compare two unicode characters }
  1172. { Rule table handle }
  1173. { 1st character }
  1174. { 2nd character }
  1175. function NWUnicodeCompare(ruleHandle: Tnptr; chr1: Tunicode; chr2: Tunicode): Tnint; NWLIB_LOCNLM32;
  1176. { Convert Unicode to collation }
  1177. { Rule table handle }
  1178. { Buffer for resulting Unicode weights }
  1179. { Size of results buffer }
  1180. { Buffer with source Unicode }
  1181. { Number of unicode chars in output }
  1182. function NWUnicodeToMonocase(ruleHandle: Tnptr; dest: punicode; maxLen: Tsize_t; src: Punicode; len: Psize_t): Tnint; NWLIB_LOCNLM32;
  1183. {
  1184. * Functions that work with XLate Tables
  1185. }
  1186. {$IFDEF 0} // defined N_PLAT_DOS && defined N_UNI_NEW_TABLES}
  1187. const
  1188. N_UNI_LOAD_MONOCASE = $0001;
  1189. N_UNI_LOAD_COLLATION = $0002;
  1190. function NWLInitXlateTables(codePage: Tnint; flags: Tnflag8): Tnint; NWLIB_UNKNOWN;
  1191. function NWLFreeXlateTables: Tnint; NWLIB_UNKNOWN;
  1192. { Name of the rule table }
  1193. { Where to put the rule table handle }
  1194. function NWLLoadXlateTable(ruleTableName: pnstr; ruleHandle: pnptr): Tnint; NWLIB_UNKNOWN;
  1195. { Rule table handle }
  1196. function NWLUnloadXlateTable(ruleHandle: pointer): Tnint; NWLIB_UNKNOWN;
  1197. {function NWInitUnicodeTables(CountryCode,CodePage : longint) : longint;}
  1198. const
  1199. NWFreeUnicodeTables = NWLFreeXlateTables;
  1200. NWLoadRuleTable = NWLLoadXlateTable;
  1201. NWUnloadRuleTable = NWLUnloadXlateTable;
  1202. {$ENDIF}
  1203. function NWGetUnicodeToLocalHandle(handle: pnptr): Tnint; NWLIB_LOCNLM32;
  1204. function NWGetLocalToUnicodeHandle(handle: pnptr): Tnint; NWLIB_LOCNLM32;
  1205. function NWGetMonocaseHandle(handle: pnptr): Tnint; NWLIB_LOCNLM32;
  1206. function NWGetCollationHandle(handle: pnptr): Tnint; NWLIB_LOCNLM32;
  1207. {************************************************************************** }
  1208. {
  1209. Redefine these functions to use the new unicode API monocase routines.
  1210. }
  1211. { was #define dname(params) para_def_expr }
  1212. //function uniicmp(s1,s2 : longint) : longint;
  1213. { was #define dname(params) para_def_expr }
  1214. //function uninicmp(s1,s2,l : longint) : longint;
  1215. { Unicode string functions that work like those in string.h }
  1216. { Corresponds to strcat }
  1217. { Original string }
  1218. { String to be appended }
  1219. function unicat(s1: punicode; s2: Punicode): punicode; NWLIB_LOCNLM32;
  1220. { Corresponds to strchr }
  1221. { String to be scanned }
  1222. { Character to be found }
  1223. function unichr(s: Punicode; c: Tunicode): punicode; NWLIB_LOCNLM32;
  1224. { Corresponds to strcpy }
  1225. { Destination string }
  1226. { Source string }
  1227. function unicpy(s1: punicode; s2: Punicode): punicode; NWLIB_LOCNLM32;
  1228. { Corresponds to strcspn }
  1229. { String to be scanned }
  1230. { Character set }
  1231. function unicspn(s1: Punicode; s2: Punicode): Tsize_t; NWLIB_LOCNLM32;
  1232. { Corresponds to strlen }
  1233. { String to determine length of }
  1234. function unilen(s: Punicode): Tsize_t; NWLIB_LOCNLM32;
  1235. { Corresponds to strncat }
  1236. { Original string }
  1237. { String to be appended }
  1238. { Maximum characters to be appended }
  1239. function unincat(s1: punicode; s2: Punicode; n: Tsize_t): punicode; NWLIB_LOCNLM32;
  1240. { Corresponds to strncpy }
  1241. { Destination string }
  1242. { Source string }
  1243. { Maximum length }
  1244. function unincpy(s1: punicode; s2: Punicode; n: Tsize_t): punicode; NWLIB_LOCNLM32;
  1245. { Corresponds to strnset }
  1246. { String to be modified }
  1247. { Fill character }
  1248. { Maximum length }
  1249. function uninset(s: punicode; c: Tunicode; n: Tsize_t): punicode; NWLIB_LOCNLM32;
  1250. { Corresponds to strpbrk }
  1251. { String to be scanned }
  1252. { Character set }
  1253. function unipbrk(s1: Punicode; s2: Punicode): punicode; NWLIB_LOCNLM32;
  1254. { Corresponds to strpcpy }
  1255. { Destination string }
  1256. { Source string }
  1257. function unipcpy(s1: punicode; s2: Punicode): punicode; NWLIB_LOCNLM32;
  1258. { Corresponds to strrchr }
  1259. { String to be scanned }
  1260. { Character to be found }
  1261. function unirchr(s: Punicode; c: Tunicode): punicode; NWLIB_LOCNLM32;
  1262. { Corresponds to strrev }
  1263. { String to be reversed }
  1264. function unirev(s: punicode): punicode; NWLIB_LOCNLM32;
  1265. { Corresponds to strset }
  1266. { String to modified }
  1267. { Fill character }
  1268. function uniset(s: punicode; c: Tunicode): punicode; NWLIB_LOCNLM32;
  1269. { Corresponds to strspn }
  1270. { String to be tested }
  1271. { Character set }
  1272. function unispn(s1: Punicode; s2: Punicode): Tsize_t; NWLIB_LOCNLM32;
  1273. { Corresponds to strstr }
  1274. { String to be scanned }
  1275. { String to be located }
  1276. function unistr(s1: Punicode; s2: Punicode): punicode; NWLIB_LOCNLM32;
  1277. { Corresponds to strtok }
  1278. { String to be parsed }
  1279. { Delimiter values }
  1280. function unitok(s1: punicode; s2: Punicode): punicode; NWLIB_LOCNLM32;
  1281. { Corresponds to stricmp }
  1282. { 1st string to be compared }
  1283. { 2nd string to be compared }
  1284. function uniicmp(s1: Punicode; s2: Punicode): Tnint; NWLIB_LOCNLM32;
  1285. { Corresponds to strnicmp }
  1286. { 1st string to be compared }
  1287. { 2nd string to be compared }
  1288. { Maximum length }
  1289. function uninicmp(s1: Punicode; s2: Punicode; len: Tsize_t): Tnint; NWLIB_LOCNLM32;
  1290. { Unicode compare }
  1291. function unicmp(s1: Punicode; s2: Punicode): Tnint; NWLIB_LOCNLM32;
  1292. { Unicode length compare }
  1293. function unincmp(s1: Punicode; s2: Punicode; len: Tsize_t): Tnint; NWLIB_LOCNLM32;
  1294. { Corresponds to sizeof }
  1295. function unisize(s: Punicode): Tsize_t; NWLIB_LOCNLM32;
  1296. {
  1297. * UTF-8 <--> Unicode Conversion APIS
  1298. }
  1299. function NWLUnicodeToUTF8(uniStr: Punicode; maxSize: Tnuint; utf8Str: pnuint8; utf8Size: pnuint): Tnint; NWLIB_LOCNLM32;
  1300. function NWLUTF8ToUnicode(utf8Str: Pnuint8; maxSize: Tnuint; uniStr: punicode; uniSize: pnuint; badSequence: ppnstr): Tnint; NWLIB_LOCNLM32;
  1301. function NWLUTF8ToUnicodeSize(utf8Str: Pnuint8; size: pnuint): Tnint; NWLIB_LOCNLM32;
  1302. function NWLUnicodeToUTF8Size(uniStr: Punicode): Tnuint; NWLIB_LOCNLM32;
  1303. //**************************************************************************
  1304. // nwbindry.h
  1305. //**************************************************************************
  1306. { Bindery object types (in HIGH-LOW order) }
  1307. const
  1308. OT_WILD = $FFFF;
  1309. OT_UNKNOWN = $0000;
  1310. OT_USER = $0100;
  1311. OT_USER_GROUP = $0200;
  1312. OT_PRINT_QUEUE = $0300;
  1313. OT_FILE_SERVER = $0400;
  1314. OT_JOB_SERVER = $0500;
  1315. OT_GATEWAY = $0600;
  1316. OT_PRINT_SERVER = $0700;
  1317. OT_ARCHIVE_QUEUE = $0800;
  1318. OT_ARCHIVE_SERVER = $0900;
  1319. OT_JOB_QUEUE = $0A00;
  1320. OT_ADMINISTRATION = $0B00;
  1321. OT_NAS_SNA_GATEWAY = $2100;
  1322. OT_REMOTE_BRIDGE_SERVER = $2600;
  1323. OT_TCPIP_GATEWAY = $2700;
  1324. OT_TREE_NAME = $7802;
  1325. { Extended bindery object types }
  1326. OT_TIME_SYNCHRONIZATION_SERVER = $2D00;
  1327. OT_ARCHIVE_SERVER_DYNAMIC_SAP = $2E00;
  1328. OT_ADVERTISING_PRINT_SERVER = $4700;
  1329. OT_BTRIEVE_VAP = $5000;
  1330. OT_PRINT_QUEUE_USER = $5300;
  1331. { Bindery object and property flags }
  1332. BF_STATIC = $00;
  1333. BF_DYNAMIC = $01;
  1334. BF_ITEM = $00;
  1335. BF_SET = $02;
  1336. {******** Bindery object and property security access levels ********* }
  1337. BS_ANY_READ = $00; // Readable by anyone
  1338. BS_LOGGED_READ = $01; // Must be logged in to read
  1339. BS_OBJECT_READ = $02; // Readable by same object or super
  1340. BS_SUPER_READ = $03; // Readable by supervisor only
  1341. BS_BINDERY_READ = $04; // Readable only by the bindery
  1342. BS_ANY_WRITE = $00; // Writeable by anyone
  1343. BS_LOGGED_WRITE = $10; // Must be logged in to write
  1344. BS_OBJECT_WRITE = $20; // Writeable by same object or super
  1345. BS_SUPER_WRITE = $30; // Writeable only by the supervisor
  1346. BS_BINDERY_WRITE = $40; // Writeable by the bindery only
  1347. function NWVerifyObjectPassword
  1348. (conn: TNWCONN_HANDLE;
  1349. objName: Pnstr8;
  1350. objType: Tnuint16;
  1351. password: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
  1352. function NWDisallowObjectPassword(conn: TNWCONN_HANDLE; objName: Pnstr8; objType: Tnuint16; disallowedPassword: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
  1353. function NWChangeObjectPassword(conn: TNWCONN_HANDLE; objName: Pnstr8; objType: Tnuint16; oldPassword: Pnstr8; newPassword: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
  1354. function NWReadPropertyValue(conn: TNWCONN_HANDLE; objName: Pnstr8; objType: Tnuint16; propertyName: Pnstr8; segmentNum: Tnuint8;
  1355. segmentData: pnuint8; moreSegments: pnuint8; flags: pnuint8): TNWCCODE; NWLIB_CALNLM32;
  1356. function NWWritePropertyValue(conn: TNWCONN_HANDLE; objName: Pnstr8; objType: Tnuint16; propertyName: Pnstr8; segmentNum: Tnuint8;
  1357. segmentData: Pnuint8; moreSegments: Tnuint8): TNWCCODE; NWLIB_CALNLM32;
  1358. function NWAddObjectToSet(conn: TNWCONN_HANDLE; objName: Pnstr8; objType: Tnuint16; propertyName: Pnstr8; memberName: Pnstr8;
  1359. memberType: Tnuint16): TNWCCODE; NWLIB_CALNLM32;
  1360. function NWDeleteObjectFromSet(conn: TNWCONN_HANDLE; objName: Pnstr8; objType: Tnuint16; propertyName: Pnstr8; memberName: Pnstr8;
  1361. memberType: Tnuint16): TNWCCODE; NWLIB_CALNLM32;
  1362. function NWIsObjectInSet(conn: TNWCONN_HANDLE; objName: Pnstr8; objType: Tnuint16; propertyName: Pnstr8; memberName: Pnstr8;
  1363. memberType: Tnuint16): TNWCCODE; NWLIB_CALNLM32;
  1364. function NWScanProperty(conn: TNWCONN_HANDLE; objName: Pnstr8; objType: Tnuint16; searchPropertyName: Pnstr8; iterHandle: pnuint32;
  1365. propertyName: Pnstr8; propertyFlags: pnuint8; propertySecurity: pnuint8; valueAvailable: pnuint8; moreFlag: pnuint8): TNWCCODE; NWLIB_CALNLM32;
  1366. function NWGetObjectID(conn: TNWCONN_HANDLE; objName: Pnstr8; objType: Tnuint16; objID: pnuint32): TNWCCODE; NWLIB_CALNLM32;
  1367. function NWGetObjectDiskSpaceLeft(conn: TNWCONN_HANDLE; objID: Tnuint32; systemElapsedTime: pnuint32; unusedDiskBlocks: pnuint32; restrictionEnforced: pnuint8): TNWCCODE; NWLIB_CALNLM32;
  1368. function NWGetObjectName(conn: TNWCONN_HANDLE; objID: Tnuint32; objName: Pnstr8; objType: pnuint16): TNWCCODE; NWLIB_CALNLM32;
  1369. function NWScanObject(conn: TNWCONN_HANDLE; searchName: Pnstr8; searchType: Tnuint16; objID: pnuint32; objName: Pnstr8;
  1370. objType: pnuint16; hasPropertiesFlag: pnuint8; objFlags: pnuint8; objSecurity: pnuint8): TNWCCODE; NWLIB_CALNLM32;
  1371. function NWGetBinderyAccessLevel(conn: TNWCONN_HANDLE; accessLevel: pnuint8; objID: pnuint32): TNWCCODE; NWLIB_CALNLM32;
  1372. function NWCreateProperty(conn: TNWCONN_HANDLE; objName: Pnstr8; objType: Tnuint16; propertyName: Pnstr8; propertyFlags: Tnuint8;
  1373. propertySecurity: Tnuint8): TNWCCODE; NWLIB_CALNLM32;
  1374. function NWDeleteProperty(conn: TNWCONN_HANDLE; objName: Pnstr8; objType: Tnuint16; propertyName: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
  1375. function NWChangePropertySecurity(conn: TNWCONN_HANDLE; objName: Pnstr8; objType: Tnuint16; propertyName: Pnstr8; newPropertySecurity: Tnuint8): TNWCCODE; NWLIB_CALNLM32;
  1376. function NWCreateObject(conn: TNWCONN_HANDLE; objName: Pnstr8; objType: Tnuint16; objFlags: Tnuint8; objSecurity: Tnuint8): TNWCCODE; NWLIB_CALNLM32;
  1377. function NWDeleteObject(conn: TNWCONN_HANDLE; objName: Pnstr8; objType: Tnuint16): TNWCCODE; NWLIB_CALNLM32;
  1378. function NWRenameObject(conn: TNWCONN_HANDLE; oldObjName: Pnstr8; newObjName: Pnstr8; objType: Tnuint16): TNWCCODE; NWLIB_CALNLM32;
  1379. function NWChangeObjectSecurity(conn: TNWCONN_HANDLE; objName: Pnstr8; objType: Tnuint16; newObjSecurity: Tnuint8): TNWCCODE; NWLIB_CALNLM32;
  1380. function NWOpenBindery(conn: TNWCONN_HANDLE): TNWCCODE; NWLIB_CALNLM32;
  1381. function NWCloseBindery(conn: TNWCONN_HANDLE): TNWCCODE; NWLIB_CALNLM32;
  1382. function NWScanObjectTrusteePaths(conn: TNWCONN_HANDLE; objID: Tnuint32; volNum: Tnuint16; iterHandle: pnuint16; accessRights: pnuint8;
  1383. dirPath: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
  1384. function NWScanObjectTrusteePathsExt(conn: TNWCONN_HANDLE; objID: Tnuint32; volNum: Tnuint16; iterHandle: pnuint16; accessRights: pnuint8;
  1385. dirPath1506: Pnstr8): TNWCCODE; NWLIB_UNKNOWN;
  1386. function NWGetObjectEffectiveRights(conn: TNWCONN_HANDLE; objID: Tnuint32; dirHandle: TNWDIR_HANDLE; path: Pnstr8; rightsMask: pnuint16): TNWCCODE; NWLIB_CALNLM32;
  1387. function NWGetObjectEffectiveRightsExt(conn: TNWCONN_HANDLE; objID: Tnuint32; dirHandle: TNWDIR_HANDLE; path: Pnstr8; buNameSpace: Tnuint8;
  1388. rightsMask: pnuint16): TNWCCODE; NWLIB_CALNLM32;
  1389. function NWGetObjectEffectiveRights2(conn: TNWCONN_HANDLE; objID: Tnuint32; dirHandle: TNWDIR_HANDLE; path: Pnstr8; rightsMask: pnuint16): TNWCCODE; NWLIB_CALNLM32;
  1390. function NWGetObjectNamesBeginA(luObjectType: Tnuint32; pluHandle: pnuint32): TNWCCODE; NWLIB_CALNLM32;
  1391. function NWGetObjectNamesNextA(luHandle: Tnuint32; pluLenBuffer: pnuint32; strBuffer: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
  1392. function NWGetObjectNamesEndA(luHandle: Tnuint32): TNWCCODE; NWLIB_CALNLM32;
  1393. function NWGetObjectNamesBeginW(luObjectType: Tnuint32; pluHandle: pnuint32): TNWCCODE; NWLIB_CALNLM32;
  1394. function NWGetObjectNamesNextW(luHandle: Tnuint32; pluLenBuffer: pnuint32; strBuffer: punicode): TNWCCODE; NWLIB_CALNLM32;
  1395. function NWGetObjectNamesEndW(luHandle: Tnuint32): TNWCCODE; NWLIB_CALNLM32;
  1396. //*****************************************************************************
  1397. //nwconnec.h
  1398. //*****************************************************************************
  1399. { 3.11 and above only: 0=not in use, 2=NCP over IPX, 4=AFP }
  1400. type
  1401. PtNWINET_ADDR = ^TtNWINET_ADDR;
  1402. TtNWINET_ADDR = record
  1403. networkAddr: array[0..3] of Tnuint8;
  1404. netNodeAddr: array[0..5] of Tnuint8;
  1405. socket: Tnuint16;
  1406. connType: Tnuint16;
  1407. end;
  1408. TNWINET_ADDR = TtNWINET_ADDR;
  1409. PNWINET_ADDR = ^TNWINET_ADDR;
  1410. const
  1411. CONNECTION_AVAILABLE = $0001;
  1412. { obsolete }
  1413. CONNECTION_PRIVATE = $0002;
  1414. CONNECTION_LOGGED_IN = $0004;
  1415. CONNECTION_LICENSED = $0004;
  1416. CONNECTION_BROADCAST_AVAILABLE = $0008;
  1417. CONNECTION_ABORTED = $0010;
  1418. CONNECTION_REFUSE_GEN_BROADCAST = $0020;
  1419. CONNECTION_BROADCASTS_DISABLED = $0040;
  1420. CONNECTION_PRIMARY = $0080;
  1421. CONNECTION_NDS = $0100;
  1422. { obsolete }
  1423. CONNECTION_PNW = $4000;
  1424. CONNECTION_AUTHENTICATED = $8000;
  1425. { End of new connection model calls. }
  1426. function NWLockConnection(connHandle: TNWCONN_HANDLE): TNWCCODE; NWLIB_CALNLM32;
  1427. function NWGetConnectionInformation(connHandle: TNWCONN_HANDLE; connNumber: Tnuint16; pObjName: Pnstr8; pObjType: pnuint16; pObjID: pnuint32;
  1428. pLoginTime: pnuint8): TNWCCODE; NWLIB_CALNLM32;
  1429. function NWGetInternetAddress(connHandle: TNWCONN_HANDLE; connNumber: Tnuint16; pInetAddr: pnuint8): TNWCCODE; NWLIB_CALNLM32;
  1430. function NWGetInetAddr(connHandle: TNWCONN_HANDLE; connNum: Tnuint16; pInetAddr: PNWINET_ADDR): TNWCCODE; NWLIB_CALNLM32;
  1431. function NWClearConnectionNumber(connHandle: TNWCONN_HANDLE; connNumber: Tnuint16): TNWCCODE; NWLIB_CALNLM32;
  1432. function NWGetDefaultConnRef(pConnReference: pnuint32): TNWCCODE; NWLIB_UNKNOWN;
  1433. function NWGetObjectConnectionNumbers(connHandle: TNWCONN_HANDLE; pObjName: Pnstr8; objType: Tnuint16; pNumConns: pnuint16; pConnHandleList: pnuint16;
  1434. maxConns: Tnuint16): TNWCCODE; NWLIB_CALNLM32;
  1435. function NWGetConnListFromObject(connHandle: TNWCONN_HANDLE; objID: Tnuint32; searchConnNum: Tnuint32; pConnListLen: pnuint16; pConnList: pnuint32): TNWCCODE; NWLIB_CALNLM32;
  1436. function NWGetPreferredServer(pConnHandle: PNWCONN_HANDLE): TNWCCODE; NWLIB_UNKNOWN;
  1437. function NWSetPreferredServer(connHandle: TNWCONN_HANDLE): TNWCCODE; NWLIB_UNKNOWN;
  1438. { The NLM LibC x-plat libraries do not support obsolete apis }
  1439. //*****************************************************************************
  1440. // nwdel.h
  1441. //*****************************************************************************
  1442. type
  1443. PNWDELETED_INFO = ^TNWDELETED_INFO;
  1444. TNWDELETED_INFO = record
  1445. sequence: Tnuint32;
  1446. parent: Tnuint32;
  1447. attributes: Tnuint32;
  1448. uniqueID: Tnuint8;
  1449. flags: Tnuint8;
  1450. nameSpace: Tnuint8;
  1451. nameLength: Tnuint8;
  1452. name: array[0..255] of Tnuint8;
  1453. creationDateAndTime: Tnuint32;
  1454. ownerID: Tnuint32;
  1455. lastArchiveDateAndTime: Tnuint32;
  1456. lastArchiverID: Tnuint32;
  1457. updateDateAndTime: Tnuint32;
  1458. updatorID: Tnuint32;
  1459. fileSize: Tnuint32;
  1460. reserved: array[0..43] of Tnuint8;
  1461. inheritedRightsMask: Tnuint16;
  1462. lastAccessDate: Tnuint16;
  1463. deletedTime: Tnuint32;
  1464. deletedDateAndTime: Tnuint32;
  1465. deletorID: Tnuint32;
  1466. reserved3: array[0..15] of Tnuint8;
  1467. end;
  1468. PNWDELETED_INFO_EXT = ^TNWDELETED_INFO_EXT;
  1469. TNWDELETED_INFO_EXT = record
  1470. sequence: Tnuint32;
  1471. parent: Tnuint32;
  1472. attributes: Tnuint32;
  1473. uniqueID: Tnuint8;
  1474. flags: Tnuint8;
  1475. nameSpace: Tnuint8;
  1476. nameLength: Tnuint16;
  1477. name: array[0..765] of Tnuint8;
  1478. creationDateAndTime: Tnuint32;
  1479. ownerID: Tnuint32;
  1480. lastArchiveDateAndTime: Tnuint32;
  1481. lastArchiverID: Tnuint32;
  1482. updateDateAndTime: Tnuint32;
  1483. updatorID: Tnuint32;
  1484. fileSize: Tnuint32;
  1485. reserved: array[0..43] of Tnuint8;
  1486. inheritedRightsMask: Tnuint16;
  1487. lastAccessDate: Tnuint16;
  1488. deletedTime: Tnuint32;
  1489. deletedDateAndTime: Tnuint32;
  1490. deletorID: Tnuint32;
  1491. reserved3: array[0..15] of Tnuint8;
  1492. end;
  1493. function NWPurgeDeletedFile(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; iterHandle: Tnuint32; volNum: Tnuint32; dirBase: Tnuint32;
  1494. fileName: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
  1495. function NWRecoverDeletedFile(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; iterHandle: Tnuint32; volNum: Tnuint32; dirBase: Tnuint32;
  1496. delFileName: Pnstr8; rcvrFileName: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
  1497. function NWRecoverDeletedFileExt(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; iterHandle: Tnuint32; volNum: Tnuint32; dirBase: Tnuint32;
  1498. delFileName: Pnstr8; rcvrFileName: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
  1499. function NWScanForDeletedFiles(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; iterHandle: pnuint32; volNum: pnuint32; dirBase: pnuint32;
  1500. entryInfo: PNWDELETED_INFO): TNWCCODE; NWLIB_CALNLM32;
  1501. function NWScanForDeletedFilesExt(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; iterHandle: pnuint32; volNum: pnuint32; dirBase: pnuint32;
  1502. entryInfo: PNWDELETED_INFO_EXT): TNWCCODE; NWLIB_CALNLM32;
  1503. //*****************************************************************************
  1504. //nwdentry.h
  1505. //*****************************************************************************
  1506. type
  1507. PTRUSTEE_INFO = ^TTRUSTEE_INFO;
  1508. TTRUSTEE_INFO = record
  1509. objectID: Tnuint32;
  1510. objectRights: Tnuint16;
  1511. end;
  1512. PNW_LIMIT_LIST = ^TNW_LIMIT_LIST;
  1513. TNW_LIMIT_LIST = record
  1514. numEntries: Tnuint8;
  1515. list: array[0..101] of record
  1516. level: Tnuint8;
  1517. max: Tnuint32;
  1518. current: Tnuint32;
  1519. end;
  1520. end;
  1521. PNWET_INFO = ^TNWET_INFO;
  1522. TNWET_INFO = record
  1523. entryName: array[0..15] of Tnstr8;
  1524. creationDateAndTime: Tnuint32;
  1525. ownerID: Tnuint32;
  1526. sequenceNumber: Tnuint32;
  1527. trusteeList: array[0..19] of TTRUSTEE_INFO;
  1528. end;
  1529. PNWET_INFO_EXT = ^TNWET_INFO_EXT;
  1530. TNWET_INFO_EXT = record
  1531. entryName: array[0..15] of Tnstr8;
  1532. creationDateAndTime: Tnuint32;
  1533. ownerID: Tnuint32;
  1534. sequenceNumber: Tnuint32;
  1535. trusteeList: array[0..99] of TTRUSTEE_INFO;
  1536. end;
  1537. PNWFILE_INFO = ^TNWFILE_INFO;
  1538. TNWFILE_INFO = record
  1539. updateDateAndTime: Tnuint32;
  1540. updatorID: Tnuint32;
  1541. fileSize: Tnuint32;
  1542. reserved: array[0..43] of Tnuint8;
  1543. inheritedRightsMask: Tnuint16;
  1544. lastAccessDate: Tnuint16;
  1545. reserved2: array[0..27] of Tnuint8;
  1546. end;
  1547. PNWDIR_INFO = ^TNWDIR_INFO;
  1548. TNWDIR_INFO = record
  1549. lastModifyDateAndTime: Tnuint32;
  1550. nextTrusteeEntry: Tnuint32;
  1551. reserved: array[0..47] of Tnuint8;
  1552. maximumSpace: Tnuint32;
  1553. inheritedRightsMask: Tnuint16;
  1554. reserved2: array[0..13] of Tnuint8;
  1555. volObjectID: Tnuint32;
  1556. reserved3: array[0..7] of Tnuint8;
  1557. end;
  1558. PNWENTRY_INFO = ^TNWENTRY_INFO;
  1559. TNWENTRY_INFO = record
  1560. sequence: Tnuint32;
  1561. parent: Tnuint32;
  1562. attributes: Tnuint32;
  1563. uniqueID: Tnuint8;
  1564. flags: Tnuint8;
  1565. nameSpace: Tnuint8;
  1566. nameLength: Tnuint8;
  1567. name: array[0..11] of Tnuint8;
  1568. creationDateAndTime: Tnuint32;
  1569. ownerID: Tnuint32;
  1570. lastArchiveDateAndTime: Tnuint32;
  1571. lastArchiverID: Tnuint32;
  1572. info: record
  1573. case longint of
  1574. 0: (_file: TNWFILE_INFO);
  1575. 1: (dir: TNWDIR_INFO);
  1576. end;
  1577. end;
  1578. { file size }
  1579. PNW_EXT_FILE_INFO = ^TNW_EXT_FILE_INFO;
  1580. TNW_EXT_FILE_INFO = record
  1581. sequence: Tnuint32;
  1582. parent: Tnuint32;
  1583. attributes: Tnuint32;
  1584. uniqueID: Tnuint8;
  1585. flags: Tnuint8;
  1586. nameSpace: Tnuint8;
  1587. nameLength: Tnuint8;
  1588. name: array[0..11] of Tnuint8;
  1589. creationDateAndTime: Tnuint32;
  1590. ownerID: Tnuint32;
  1591. lastArchiveDateAndTime: Tnuint32;
  1592. lastArchiverID: Tnuint32;
  1593. updateDateAndTime: Tnuint32;
  1594. lastUpdatorID: Tnuint32;
  1595. dataForkSize: Tnuint32;
  1596. dataForkFirstFAT: Tnuint32;
  1597. nextTrusteeEntry: Tnuint32;
  1598. reserved: array[0..35] of Tnuint8;
  1599. inheritedRightsMask: Tnuint16;
  1600. lastAccessDate: Tnuint16;
  1601. deletedFileTime: Tnuint32;
  1602. deletedDateAndTime: Tnuint32;
  1603. deletorID: Tnuint32;
  1604. reserved2: array[0..15] of Tnuint8;
  1605. otherForkSize: array[0..1] of Tnuint32;
  1606. end;
  1607. const
  1608. TR_NONE = $0000;
  1609. TR_READ = $0001;
  1610. TR_WRITE = $0002;
  1611. TR_OPEN = $0004;
  1612. TR_DIRECTORY = $0004;
  1613. TR_CREATE = $0008;
  1614. TR_DELETE = $0010;
  1615. TR_ERASE = $0010;
  1616. TR_OWNERSHIP = $0020;
  1617. TR_ACCESS_CTRL = $0020;
  1618. TR_FILE_SCAN = $0040;
  1619. TR_SEARCH = $0040;
  1620. TR_FILE_ACCESS = $0040;
  1621. TR_MODIFY = $0080;
  1622. TR_ALL = $01FB;
  1623. TR_SUPERVISOR = $0100;
  1624. TR_NORMAL = $00FB;
  1625. MModifyNameBit = $0001;
  1626. MFileAttributesBit = $0002;
  1627. MCreateDateBit = $0004;
  1628. MCreateTimeBit = $0008;
  1629. MOwnerIDBit = $0010;
  1630. MLastArchivedDateBit = $0020;
  1631. MLastArchivedTimeBit = $0040;
  1632. MLastArchivedIDBit = $0080;
  1633. MLastUpdatedDateBit = $0100;
  1634. MLastUpdatedTimeBit = $0200;
  1635. MLastUpdatedIDBit = $0400;
  1636. MLastAccessedDateBit = $0800;
  1637. MInheritedRightsMaskBit = $1000;
  1638. MMaximumSpaceBit = $2000;
  1639. function NWDeleteTrustee(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; dirPath: Pnstr8; objID: Tnuint32): TNWCCODE; NWLIB_CALNLM32;
  1640. function NWDeleteTrusteeExt(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; dirPath: Pnstr8; objID: Tnuint32): TNWCCODE; NWLIB_CALNLM32;
  1641. function NWAddTrustee(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; path: Pnstr8; objID: Tnuint32; rightsMask: Tnuint16): TNWCCODE; NWLIB_CALNLM32;
  1642. function NWAddTrusteeExt(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; path: Pnstr8; objID: Tnuint32; rightsMask: Tnuint16): TNWCCODE; NWLIB_CALNLM32;
  1643. function NWIntScanDirEntryInfo(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; attrs: Tnuint16; iterHandle: pnuint32; searchPattern: Pnuint8;
  1644. entryInfo: PNWENTRY_INFO; augmentFlag: Tnuint16): TNWCCODE; NWLIB_CALNLM32;
  1645. { was #define dname(params) para_def_expr }
  1646. // function NWScanForTrustees(a,b,c,d,e,f : longint) : longint;
  1647. function NWIntScanForTrustees(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; path: Pnstr8; iterHandle: pnuint32; numOfEntries: pnuint16;
  1648. entryTrusteeInfo: PNWET_INFO; augmentFlag: Tnuint16): TNWCCODE; NWLIB_CALNLM32;
  1649. { was #define dname(params) para_def_expr }
  1650. //function NWScanForTrusteesExt(a,b,c,d,e,f : longint) : longint;
  1651. function NWIntScanForTrusteesExt(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; path: Pnstr8; iterHandle: pnuint32; numOfEntries: pnuint16;
  1652. entryTrusteeInfo: PNWET_INFO_EXT; augmentFlag: Tnuint16): TNWCCODE; NWLIB_CALNLM32;
  1653. function NWIntMoveDirEntry(conn: TNWCONN_HANDLE; searchAttrs: Tnuint8; srcDirHandle: TNWDIR_HANDLE; srcPath: Pnstr8; dstDirHandle: TNWDIR_HANDLE;
  1654. dstPath: Pnstr8; augmentFlag: Tnuint16): TNWCCODE; NWLIB_CALNLM32;
  1655. function NWSetDirEntryInfo(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; searchAttrs: Tnuint8; iterHandle: Tnuint32; changeBits: Tnuint32;
  1656. newEntryInfo: PNWENTRY_INFO): TNWCCODE; NWLIB_CALNLM32;
  1657. function NWIntScanExtendedInfo(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; attrs: Tnuint8; iterHandle: pnuint32; searchPattern: Pnstr8;
  1658. entryInfo: PNW_EXT_FILE_INFO; augmentFlag: Tnuint16): TNWCCODE; NWLIB_CALNLM32;
  1659. function NWGetEffectiveRights(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; path: Pnstr8; effectiveRights: pnuint16): TNWCCODE; NWLIB_CALNLM32;
  1660. function NWGetEffectiveRightsExt(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; path: Pnstr8; effectiveRights: pnuint16): TNWCCODE; NWLIB_CALNLM32;
  1661. //*****************************************************************************
  1662. //nwdirect.h
  1663. //*****************************************************************************
  1664. { set to zero if a dirHandle is present }
  1665. {....when the NWGetDIrSpaceInfo() is called }
  1666. type
  1667. PDIR_SPACE_INFO = ^TDIR_SPACE_INFO;
  1668. TDIR_SPACE_INFO = record
  1669. totalBlocks: Tnuint32;
  1670. availableBlocks: Tnuint32;
  1671. purgeableBlocks: Tnuint32;
  1672. notYetPurgeableBlocks: Tnuint32;
  1673. totalDirEntries: Tnuint32;
  1674. availableDirEntries: Tnuint32;
  1675. reserved: Tnuint32;
  1676. sectorsPerBlock: Tnuint8;
  1677. volLen: Tnuint8;
  1678. volName: array[0..(NW_MAX_VOLUME_NAME_LEN) - 1] of Tnuint8;
  1679. end;
  1680. { Trustee Access Rights in a network directory }
  1681. { NOTE: TA_OPEN is obsolete in 3.x }
  1682. const
  1683. TA_NONE = $00;
  1684. TA_READ = $01;
  1685. TA_WRITE = $02;
  1686. TA_OPEN = $04;
  1687. TA_CREATE = $08;
  1688. TA_DELETE = $10;
  1689. TA_OWNERSHIP = $20;
  1690. TA_SEARCH = $40;
  1691. TA_MODIFY = $80;
  1692. TA_ALL = $FB;
  1693. function NWAddTrusteeToDirectory(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; path: Pnstr8; trusteeID: Tnuint32; rightsMask: Tnuint8): TNWCCODE; NWLIB_CALNLM32;
  1694. function NWDeleteTrusteeFromDirectory(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; path: Pnstr8; objID: Tnuint32): TNWCCODE; NWLIB_CALNLM32;
  1695. function NWGetEffectiveDirectoryRights(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; path: Pnstr8; rightsMask: pnuint16): TNWCCODE; NWLIB_CALNLM32;
  1696. function NWModifyMaximumRightsMask(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; path: Pnstr8; revokeRightsMask: Tnuint8; grantRightsMask: Tnuint8): TNWCCODE; NWLIB_CALNLM32;
  1697. function NWScanDirectoryForTrustees(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; searchPath: Pnstr8; iterHandle: pnuint16; dirName: Pnstr8;
  1698. dirDateTime: pnuint32; ownerID: pnuint32; trusteeIDs: pnuint32; trusteeRights: pnuint8): TNWCCODE; NWLIB_CALNLM32;
  1699. function NWScanDirectoryForTrustees2(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; searchPath: Pnstr8; iterHandle: pnuint32; dirName: Pnstr8;
  1700. dirDateTime: pnuint32; ownerID: pnuint32; trusteeList: PTRUSTEE_INFO): TNWCCODE; NWLIB_CALNLM32;
  1701. { was #define dname(params) para_def_expr }
  1702. // function NWScanDirectoryInformation(a,b,c,d,e,f,g,h : longint) : longint;
  1703. function NWIntScanDirectoryInformation(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; searchPath: Pnstr8; iterHandle: pnuint16; dirName: Pnstr8;
  1704. dirDateTime: pnuint32; ownerID: pnuint32; rightsMask: pnuint8; augmentFlag: Tnuint16): TNWCCODE; NWLIB_CALNLM32;
  1705. function NWIntScanDirectoryInformation2(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; searchPath: Pnstr8; sequence: pnuint8; dirName: Pnstr8;
  1706. dirDateTime: pnuint32; ownerID: pnuint32; rightsMask: pnuint8; augmentFlag: Tnuint16): TNWCCODE; NWLIB_CALNLM32;
  1707. function NWSetDirectoryInformation(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; path: Pnstr8; dirDateTime: Tnuint32; ownerID: Tnuint32;
  1708. rightsMask: Tnuint8): TNWCCODE; NWLIB_CALNLM32;
  1709. function NWAllocPermanentDirectoryHandle(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; dirPath: Pnstr8; newDirHandle: PNWDIR_HANDLE; effectiveRights: pnuint8): TNWCCODE; NWLIB_CALNLM32;
  1710. function NWAllocTemporaryDirectoryHandle(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; dirPath: Pnstr8; newDirHandle: PNWDIR_HANDLE; rightsMask: pnuint8): TNWCCODE; NWLIB_CALNLM32;
  1711. function NWDeallocateDirectoryHandle(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE): TNWCCODE; NWLIB_CALNLM32;
  1712. function NWSetDirectoryHandlePath(conn: TNWCONN_HANDLE; sourceDirHandle: TNWDIR_HANDLE; dirPath: Pnstr8; destDirHandle: TNWDIR_HANDLE): TNWCCODE; NWLIB_CALNLM32;
  1713. function NWGetDirectoryHandlePath(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; dirPath: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
  1714. function NWCreateDirectory(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; dirPath: Pnstr8; accessMask: Tnuint8): TNWCCODE; NWLIB_CALNLM32;
  1715. function NWDeleteDirectory(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; dirPath: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
  1716. function NWRenameDirectory(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; oldName: Pnstr8; newName: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
  1717. function NWSetDirSpaceLimit(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; spaceLimit: Tnuint32): TNWCCODE; NWLIB_CALNLM32;
  1718. function NWGetDirSpaceLimitList(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; returnBuf: pnuint8): TNWCCODE; NWLIB_CALNLM32;
  1719. function NWGetDirSpaceLimitList2(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; limitList: PNW_LIMIT_LIST): TNWCCODE; NWLIB_CALNLM32;
  1720. function NWGetDirSpaceInfo(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; volNum: Tnuint16; spaceInfo: PDIR_SPACE_INFO): TNWCCODE; NWLIB_CALNLM32;
  1721. const
  1722. TF_NORMAL = $0000;
  1723. TF_READ_ONLY = $0001;
  1724. TF_HIDDEN = $0002;
  1725. TF_SYSTEM = $0004;
  1726. TF_EXECUTE_ONLY = $0008;
  1727. TF_DIRECTORY = $0010;
  1728. TF_NEEDS_ARCHIVED = $0020;
  1729. TF_EXECUTE_CONFIRM = $0040;
  1730. TF_SHAREABLE = $0080;
  1731. TF_LOW_SEARCH_BIT = $0100;
  1732. TF_MID_SEARCH_BIT = $0200;
  1733. TF_HI_SEARCH_BIT = $0400;
  1734. TF_PRIVATE = $0800;
  1735. TF_TRANSACTIONAL = $1000;
  1736. TF_INDEXED = $2000;
  1737. TF_READ_AUDIT = $4000;
  1738. TF_WRITE_AUDIT = $8000;
  1739. TF_PURGE = $10000;
  1740. TF_RENAME_INHIBIT = $20000;
  1741. TF_DELETE_INHIBIT = $40000;
  1742. TF_COPY_INHIBIT = $80000;
  1743. TF_AUDITING_BIT = $00100000;
  1744. { DIRECTORY ATTRIBUTES }
  1745. TD_HIDDEN = TF_HIDDEN;
  1746. TD_SYSTEM = TF_SYSTEM;
  1747. TD_PURGE = TF_PURGE;
  1748. TD_PRIVATE = TF_PRIVATE;
  1749. TD_VISIBLE = TF_PRIVATE;
  1750. TD_RENAME_INHIBIT = TF_RENAME_INHIBIT;
  1751. TD_DELETE_INHIBIT = TF_DELETE_INHIBIT;
  1752. //*****************************************************************************
  1753. //nwdpath.h
  1754. //*****************************************************************************
  1755. const
  1756. NW_UNMAPPED_DRIVE = $0000;
  1757. NW_FREE_DRIVE = $0000;
  1758. NW_CDROM_DRIVE = $0400;
  1759. NW_LOCAL_FREE_DRIVE = $0800;
  1760. NW_LOCAL_DRIVE = $1000;
  1761. NW_NETWORK_DRIVE = $2000;
  1762. NW_LITE_DRIVE = $4000;
  1763. NW_PNW_DRIVE = $4000;
  1764. NW_NETWARE_DRIVE = $8000;
  1765. { return error for NWGetDriveStatus }
  1766. NW_INVALID_DRIVE = 15;
  1767. { defined for pathFormat parameter in NWGetDriveStatus }
  1768. NW_FORMAT_NETWARE = 0;
  1769. NW_FORMAT_SERVER_VOLUME = 1;
  1770. NW_FORMAT_DRIVE = 2;
  1771. NW_FORMAT_UNC = 3;
  1772. function NWSetDriveBase(driveNum: Tnuint16; conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; dirPath: Pnstr8; driveScope: Tnuint16): TNWCCODE; NWLIB_CALNLM32;
  1773. function NWSetInitDrive(conn: TNWCONN_HANDLE): TNWCCODE; NWLIB_CALNLM32;
  1774. function NWSetSearchDriveVector(vectorBuffer: Pnstr8): TNWCCODE; NWLIB_UNKNOWN;
  1775. function NWGetSearchDriveVector(vectorBuffer: Pnstr8): TNWCCODE; NWLIB_UNKNOWN;
  1776. function NWDeleteDriveBase(driveNum: Tnuint16; driveScope: Tnuint16): TNWCCODE; NWLIB_CALNLM32;
  1777. { 3.x & 4.x file servers }
  1778. function NWGetPathFromDirectoryBase(conn: TNWCONN_HANDLE; volNum: Tnuint8; dirBase: Tnuint32; namSpc: Tnuint8; len: pnuint8;
  1779. pathName: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
  1780. { 2.x file servers only }
  1781. function NWGetPathFromDirectoryEntry(conn: TNWCONN_HANDLE; volNum: Tnuint8; dirEntry: Tnuint16; len: pnuint8; pathName: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
  1782. function NWGetDrivePathConnRef(driveNum: Tnuint16; mode: Tnuint16; connRef: pnuint32; basePath: Pnstr8; driveScope: pnuint16): TNWCCODE; NWLIB_UNKNOWN;
  1783. function NWGetDrivePath(driveNum: Tnuint16; mode: Tnuint16; conn: PNWCONN_HANDLE; basePath: Pnstr8; driveScope: pnuint16): TNWCCODE; NWLIB_UNKNOWN;
  1784. function NWGetDriveInformation(driveNum: Tnuint16; mode: Tnuint16; conn: PNWCONN_HANDLE; dirHandle: PNWDIR_HANDLE; driveScope: pnuint16;
  1785. dirPath: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
  1786. function NWGetDriveInfoConnRef(driveNum: Tnuint16; mode: Tnuint16; connRef: pnuint32; dirHandle: PNWDIR_HANDLE; driveScope: pnuint16;
  1787. dirPath: Pnstr8): TNWCCODE; NWLIB_UNKNOWN;
  1788. function NWGetDriveStatus(driveNum: Tnuint16; pathFormat: Tnuint16; status: pnuint16; conn: PNWCONN_HANDLE; rootPath: Pnstr8;
  1789. relPath: Pnstr8; fullPath: Pnstr8): TNWCCODE; NWLIB_UNKNOWN;
  1790. function NWGetDriveStatusConnRef(driveNum: Tnuint16; pathFormat: Tnuint16; status: pnuint16; connRef: pnuint32; rootPath: Pnstr8;
  1791. relPath: Pnstr8; fullPath: Pnstr8): TNWCCODE; NWLIB_UNKNOWN;
  1792. function NWGetFirstDrive(firstDrive: pnuint16): TNWCCODE; NWLIB_UNKNOWN;
  1793. function NWParseNetWarePath(path: Pnstr8; conn: PNWCONN_HANDLE; dirHandle: PNWDIR_HANDLE; newPath: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
  1794. function NWParseNetWarePathConnRef(path: Pnstr8; connRef: pnuint32; dirHandle: PNWDIR_HANDLE; newPath: Pnstr8): TNWCCODE; NWLIB_UNKNOWN;
  1795. function NWParsePathConnRef(path: Pnstr8; serverName: Pnstr8; connRef: pnuint32; volName: Pnstr8; dirPath: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
  1796. function NWParsePath(path: Pnstr8; serverName: Pnstr8; conn: PNWCONN_HANDLE; volName: Pnstr8; dirPath: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
  1797. function NWStripServerOffPath(path: Pnstr8; server: Pnstr8): Pnstr8; NWLIB_CALNLM32;
  1798. function NWCreateUNCPath(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; path: Pnstr8; UNCPath: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
  1799. //*****************************************************************************
  1800. //nwea.h
  1801. //*****************************************************************************
  1802. const
  1803. EA_EOF = 1;
  1804. EA_DONE = 1;
  1805. EA_READWRITE = 0;
  1806. EA_CREATE = 1;
  1807. { 0xC8 }
  1808. MISSING_EA_KEY = 200;
  1809. { 0xC9 }
  1810. EA_NOT_FOUND = 201;
  1811. { 0xCA }
  1812. INVALID_EA_HANDLE_TYPE = 202;
  1813. { 0xCB }
  1814. EA_NO_KEY_NO_DATA = 203;
  1815. { 0xCC }
  1816. EA_NUMBER_MISMATCH = 204;
  1817. { 0xCD }
  1818. EXTENT_NUMBER_OUT_OF_RANGE = 205;
  1819. { 0xCE }
  1820. EA_BAD_DIR_NUM = 206;
  1821. { 0xCF }
  1822. INVALID_EA_HANDLE = 207;
  1823. { 0xD0 }
  1824. EA_POSITION_OUT_OF_RANGE = 208;
  1825. { 0xD1 }
  1826. EA_ACCESS_DENIED = 209;
  1827. { 0xD2 }
  1828. DATA_PAGE_ODD_SIZE = 210;
  1829. { 0xD3 }
  1830. EA_VOLUME_NOT_MOUNTED = 211;
  1831. { 0xD4 }
  1832. BAD_PAGE_BOUNDARY = 212;
  1833. { 0xD5 }
  1834. INSPECT_FAILURE = 213;
  1835. { 0xD6 }
  1836. EA_ALREADY_CLAIMED = 214;
  1837. { 0xD7 }
  1838. ODD_BUFFER_SIZE = 215;
  1839. { 0xD8 }
  1840. NO_SCORECARDS = 216;
  1841. { 0xD9 }
  1842. BAD_EDS_SIGNATURE = 217;
  1843. { 0xDA }
  1844. EA_SPACE_LIMIT = 218;
  1845. { 0xDB }
  1846. EA_KEY_CORRUPT = 219;
  1847. { 0xDC }
  1848. EA_KEY_LIMIT = 220;
  1849. { 0xDD }
  1850. TALLY_CORRUPT = 221;
  1851. type
  1852. PNW_EA_HANDLE = ^TNW_EA_HANDLE;
  1853. TNW_EA_HANDLE = record
  1854. connID: TNWCONN_HANDLE;
  1855. rwPosition: Tnuint32;
  1856. EAHandle: Tnuint32;
  1857. volNumber: Tnuint32;
  1858. dirBase: Tnuint32;
  1859. keyUsed: Tnuint8;
  1860. keyLength: Tnuint16;
  1861. key: array[0..255] of Tnuint8;
  1862. end;
  1863. PNW_EA_HANDLE_EXT = ^TNW_EA_HANDLE_EXT;
  1864. TNW_EA_HANDLE_EXT = record
  1865. connID: TNWCONN_HANDLE;
  1866. rwPosition: Tnuint32;
  1867. EAHandle: Tnuint32;
  1868. volNumber: Tnuint32;
  1869. dirBase: Tnuint32;
  1870. keyUsed: Tnuint8;
  1871. keyLength: Tnuint16;
  1872. key: array[0..765] of Tnuint8;
  1873. end;
  1874. PNW_EA_FF_STRUCT = ^TNW_EA_FF_STRUCT;
  1875. TNW_EA_FF_STRUCT = record
  1876. connID: TNWCONN_HANDLE;
  1877. nextKeyOffset: Tnuint16;
  1878. nextKey: Tnuint16;
  1879. numKeysRead: Tnuint32;
  1880. totalKeys: Tnuint32;
  1881. EAHandle: Tnuint32;
  1882. sequence: Tnuint16;
  1883. numKeysInBuffer: Tnuint16;
  1884. enumBuffer: array[0..511] of Tnuint8;
  1885. end;
  1886. PNW_EA_FF_STRUCT_EXT = ^TNW_EA_FF_STRUCT_EXT;
  1887. TNW_EA_FF_STRUCT_EXT = record
  1888. connID: TNWCONN_HANDLE;
  1889. nextKeyOffset: Tnuint16;
  1890. nextKey: Tnuint16;
  1891. numKeysRead: Tnuint32;
  1892. totalKeys: Tnuint32;
  1893. EAHandle: Tnuint32;
  1894. sequence: Tnuint16;
  1895. numKeysInBuffer: Tnuint16;
  1896. enumBuffer: array[0..1529] of Tnuint8;
  1897. end;
  1898. PNW_IDX = ^TNW_IDX;
  1899. TNW_IDX = record
  1900. volNumber: Tnuint8;
  1901. srcNameSpace: Tnuint8;
  1902. srcDirBase: Tnuint32;
  1903. dstNameSpace: Tnuint8;
  1904. dstDirBase: Tnuint32;
  1905. end;
  1906. function NWCloseEA(EAHandle: PNW_EA_HANDLE): TNWCCODE; NWLIB_CALNLM32;
  1907. function NWCloseEAExt(EAHandle: PNW_EA_HANDLE_EXT): TNWCCODE; NWLIB_CALNLM32;
  1908. function NWFindFirstEA(conn: TNWCONN_HANDLE; idxStruct: PNW_IDX; ffStruct: PNW_EA_FF_STRUCT; EAHandle: PNW_EA_HANDLE; EAName: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
  1909. function NWFindFirstEAExt(conn: TNWCONN_HANDLE; idxStruct: PNW_IDX; ffStruct: PNW_EA_FF_STRUCT_EXT; EAHandle: PNW_EA_HANDLE_EXT; EAName: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
  1910. function NWFindNextEA(ffStruct: PNW_EA_FF_STRUCT; EAHandle: PNW_EA_HANDLE; EAName: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
  1911. function NWFindNextEAExt(ffStruct: PNW_EA_FF_STRUCT_EXT; EAHandle: PNW_EA_HANDLE_EXT; EAName: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
  1912. function NWReadEA(EAHandle: PNW_EA_HANDLE; bufferSize: Tnuint32; buffer: pnuint8; totalEASize: pnuint32; amountRead: pnuint32): TNWCCODE; NWLIB_CALNLM32;
  1913. function NWReadEAExt(EAHandle: PNW_EA_HANDLE_EXT; bufferSize: Tnuint32; buffer: pnuint8; totalEASize: pnuint32; amountRead: pnuint32): TNWCCODE; NWLIB_CALNLM32;
  1914. function NWWriteEA(EAHandle: PNW_EA_HANDLE; totalWriteSize: Tnuint32; bufferSize: Tnuint32; buffer: Pnuint8; amountWritten: pnuint32): TNWCCODE; NWLIB_CALNLM32;
  1915. function NWWriteEAExt(EAHandle: PNW_EA_HANDLE_EXT; totalWriteSize: Tnuint32; bufferSize: Tnuint32; buffer: Pnuint8; amountWritten: pnuint32): TNWCCODE; NWLIB_CALNLM32;
  1916. function NWGetEAHandleStruct(conn: TNWCONN_HANDLE; EAName: Pnstr8; idxStruct: PNW_IDX; EAHandle: PNW_EA_HANDLE): TNWCCODE; NWLIB_CALNLM32;
  1917. function NWGetEAHandleStructExt(conn: TNWCONN_HANDLE; EAName: Pnstr8; idxStruct: PNW_IDX; EAHandle: PNW_EA_HANDLE_EXT): TNWCCODE; NWLIB_CALNLM32;
  1918. function NWOpenEA(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; path: Pnstr8; EAName: Pnstr8; nameSpace: Tnuint8;
  1919. EAHandle: PNW_EA_HANDLE): TNWCCODE; NWLIB_CALNLM32;
  1920. function NWOpenEAExt(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; path: Pnstr8; EAName: Pnstr8; nameSpace: Tnuint8;
  1921. EAHandle: PNW_EA_HANDLE_EXT): TNWCCODE; NWLIB_CALNLM32;
  1922. const
  1923. SUCCESS = 0;
  1924. { Network errors }
  1925. { Decimal values at end of line are 32768 lower than actual }
  1926. SHELL_ERROR = $8800;
  1927. VLM_ERROR = $8800;
  1928. ALREADY_ATTACHED = $8800; { 0 - Attach attempted to server with valid, existing connection }
  1929. INVALID_CONNECTION = $8801; { 1 - Request attempted with invalid or non-attached connection handle }
  1930. DRIVE_IN_USE = $8802; { 2 - OS/2 only (NOT USED) }
  1931. CANT_ADD_CDS = $8803; { 3 - Map drive attempted but unable to add new current directory structure }
  1932. DRIVE_CANNOT_MAP = $8803;
  1933. BAD_DRIVE_BASE = $8804; { 4 - Map drive attempted with invalid path specification }
  1934. NET_READ_ERROR = $8805; { 5 - Attempt to receive from the selected transport failed }
  1935. NET_RECV_ERROR = $8805;
  1936. UNKNOWN_NET_ERROR = $8806; { 6 - Network send attempted with an un-specific network error }
  1937. SERVER_INVALID_SLOT = $8807; { 7 - Server request attempted with invalid server connection slot }
  1938. BAD_SERVER_SLOT = $8807;
  1939. NO_SERVER_SLOTS = $8808; { 8 - Attach attempted to server with no connection slots available }
  1940. NET_WRITE_ERROR = $8809; { 9 - Attempt to send on the selected transport failed }
  1941. CONNECTION_IN_ERROR_STATE = $8809; { Client-32 }
  1942. NET_SEND_ERROR = $8809;
  1943. SERVER_NO_ROUTE = $880A; { 10 - Attempted to find route to server where no route exists }
  1944. BAD_LOCAL_TARGET = $880B; { 11 - OS/2 only }
  1945. TOO_MANY_REQ_FRAGS = $880C; { 12 - Attempted request with too many request fragments specified }
  1946. CONNECT_LIST_OVERFLOW = $880D;
  1947. BUFFER_OVERFLOW = $880E; { 14 - Attempt to receive more data than the reply buffer had room for }
  1948. MORE_DATA_ERROR = $880E; { Client-32 }
  1949. NO_CONN_TO_SERVER = $880F;
  1950. NO_CONNECTION_TO_SERVER = $880F; { 15 - Attempt to get connection for a server not connected }
  1951. NO_ROUTER_FOUND = $8810; { 16 - OS/2 only }
  1952. BAD_FUNC_ERROR = $8811;
  1953. INVALID_SHELL_CALL = $8811; { 17 - Attempted function call to non- existent or illegal function }
  1954. SCAN_COMPLETE = $8812;
  1955. LIP_RESIZE_ERROR = $8812; { Client-32 }
  1956. UNSUPPORTED_NAME_FORMAT_TYPE = $8813;
  1957. INVALID_DIR_HANDLE = $8813; { Client-32 }
  1958. HANDLE_ALREADY_LICENSED = $8814;
  1959. OUT_OF_CLIENT_MEMORY = $8814; { Client-32 }
  1960. HANDLE_ALREADY_UNLICENSED = $8815;
  1961. PATH_NOT_OURS = $8815; { Client-32 }
  1962. INVALID_NCP_PACKET_LENGTH = $8816;
  1963. PATH_IS_PRINT_DEVICE = $8816; { Client-32 }
  1964. SETTING_UP_TIMEOUT = $8817;
  1965. PATH_IS_EXCLUDED_DEVICE = $8817; { Client-32 }
  1966. SETTING_SIGNALS = $8818;
  1967. PATH_IS_INVALID = $8818; { Client-32 }
  1968. SERVER_CONNECTION_LOST = $8819;
  1969. NOT_SAME_DEVICE = $8819; { Client-32 }
  1970. OUT_OF_HEAP_SPACE = $881A;
  1971. INVALID_SERVICE_REQUEST = $881B;
  1972. INVALID_SEARCH_HANDLE = $881B; { Client-32 }
  1973. INVALID_TASK_NUMBER = $881C;
  1974. INVALID_DEVICE_HANDLE = $881C; { Client-32 }
  1975. INVALID_MESSAGE_LENGTH = $881D;
  1976. INVALID_SEM_HANDLE = $881D; { Client-32 }
  1977. EA_SCAN_DONE = $881E;
  1978. INVALID_CFG_HANDLE = $881E; { Client-32 }
  1979. BAD_CONNECTION_NUMBER = $881F;
  1980. INVALID_MOD_HANDLE = $881F; { Client-32 }
  1981. ASYN_FIRST_PASS = $8820;
  1982. INVALID_DEVICE_INDEX = $8821;
  1983. INVALID_CONN_HANDLE = $8822;
  1984. INVALID_QUEUE_ID = $8823;
  1985. INVALID_PDEVICE_HANDLE = $8824;
  1986. INVALID_JOB_HANDLE = $8825;
  1987. INVALID_ELEMENT_ID = $8826;
  1988. ALIAS_NOT_FOUND = $8827;
  1989. RESOURCE_SUSPENDED = $8828;
  1990. INVALID_QUEUE_SPECIFIED = $8829;
  1991. DEVICE_ALREADY_OPEN = $882A;
  1992. JOB_ALREADY_OPEN = $882B;
  1993. QUEUE_NAME_ID_MISMATCH = $882C;
  1994. JOB_ALREADY_STARTED = $882D;
  1995. SPECT_DAA_TYPE_NOT_SUPPORTED = $882E;
  1996. INVALID_ENVIR_HANDLE = $882F;
  1997. NOT_SAME_CONNECTION = $8830; { 48 - Internal server request attempted accross different server connections }
  1998. PRIMARY_CONNECTION_NOT_SET = $8831; { 49 - Attempt to retrieve default connection with no primary connection set }
  1999. NO_PRIMARY_SET = $8831;
  2000. KEYWORD_NOT_FOUND = $8832; { Client-32 }
  2001. PRINT_CAPTURE_NOT_IN_PROGRESS = $8832; { Client-32 }
  2002. NO_CAPTURE_SET = $8832;
  2003. NO_CAPTURE_IN_PROGRESS = $8832; { 50 - Capture information requested on port with no capture in progress }
  2004. BAD_BUFFER_LENGTH = $8833;
  2005. INVALID_BUFFER_LENGTH = $8833; { 51 - Used to indicate length which caller requested on a GetDNC or SetDNC was too large }
  2006. NO_USER_NAME = $8834;
  2007. NO_NETWARE_PRINT_SPOOLER = $8835; { 53 - Capture requested without having the local print spooler installed }
  2008. INVALID_PARAMETER = $8836; { 54 - Attempted function with an invalid function parameter specified }
  2009. CONFIG_FILE_OPEN_FAILED = $8837; { 55 - OS/2 only }
  2010. NO_CONFIG_FILE = $8838; { 56 - OS/2 only }
  2011. CONFIG_FILE_READ_FAILED = $8839; { 57 - OS/2 only }
  2012. CONFIG_LINE_TOO_LONG = $883A; { 58 - OS/2 only }
  2013. CONFIG_LINES_IGNORED = $883B; { 59 - OS/2 only }
  2014. NOT_MY_RESOURCE = $883C; { 60 - Attempted request made with a parameter using foriegn resource }
  2015. DAEMON_INSTALLED = $883D; { 61 - OS/2 only }
  2016. SPOOLER_INSTALLED = $883E; { 62 - Attempted load of print spooler with print spooler already installed }
  2017. CONN_TABLE_FULL = $883F;
  2018. CONNECTION_TABLE_FULL = $883F; { 63 - Attempted to allocate a connection handle with no more local connection table entries }
  2019. CONFIG_SECTION_NOT_FOUND = $8840; { 64 - OS/2 only }
  2020. BAD_TRAN_TYPE = $8841;
  2021. INVALID_TRANSPORT_TYPE = $8841; { 65 - Attempted function on a connection with an invalid transport selected }
  2022. TDS_TAG_IN_USE = $8842; { 66 - OS/2 only }
  2023. TDS_OUT_OF_MEMORY = $8843; { 67 - OS/2 only }
  2024. TDS_INVALID_TAG = $8844; { 68 - Attempted TDS function with invalid tag }
  2025. TDS_WRITE_TRUNCATED = $8845; { 69 - Attempted TDS write with buffer that exceeded buffer }
  2026. NO_CONNECTION_TO_DS = $8846; { Client-32 }
  2027. NO_DIRECTORY_SERVICE_CONNECTION = $8846;
  2028. SERVICE_BUSY = $8846; { 70 - Attempted request made to partially asynchronous function in busy state }
  2029. NO_SERVER_ERROR = $8847; { 71 - Attempted connect failed to find any servers responding }
  2030. BAD_VLM_ERROR = $8848; { 72 - Attempted function call to non-existant or not-loaded overlay }
  2031. NETWORK_DRIVE_IN_USE = $8849; { 73 - Attempted map to network drive that was already mapped }
  2032. LOCAL_DRIVE_IN_USE = $884A; { 74 - Attempted map to local drive that was in use }
  2033. NO_DRIVES_AVAILABLE = $884B; { 75 - Attempted map to next available drive when none were available }
  2034. DEVICE_NOT_REDIRECTED = $884C; { 76 - The device is not redirected }
  2035. NO_MORE_SFT_ENTRIES = $884D; { 77 - Maximum number of files was reached }
  2036. UNLOAD_ERROR = $884E; { 78 - Attempted unload failed }
  2037. IN_USE_ERROR = $884F; { 79 - Attempted re-use of already in use connection entry }
  2038. TOO_MANY_REP_FRAGS = $8850; { 80 - Attempted request with too many reply fragments specified }
  2039. TABLE_FULL = $8851; { 81 - Attempted to add a name into the name table after it was full }
  2040. SOCKET_NOT_OPEN = $8852; { 82 - Listen was posted on unopened socket }
  2041. MEM_MGR_ERROR = $8853; { 83 - Attempted enhanced memory operation failed }
  2042. SFT3_ERROR = $8854; { 84 - An SFT3 switch occurred mid-transfer }
  2043. PREFERRED_NOT_FOUND = $8855; { 85 - the preferred directory server was not established but another directory server was returned }
  2044. DEVICE_NOT_RECOGNIZED = $8856; { 86 - used to determine if the device is not used by VISE so pass it on to the next redirector, if any. }
  2045. BAD_NET_TYPE = $8857; { 87 - the network type (Bind/NDS) does not match the server version }
  2046. ERROR_OPENING_FILE = $8858; { 88 - generic open failure error, invalid path, access denied, etc.. }
  2047. NO_PREFERRED_SPECIFIED = $8859; { 89 - no preferred name specified }
  2048. ERROR_OPENING_SOCKET = $885A; { 90 - error opening a socket }
  2049. REQUESTER_FAILURE = $885A; { Client-32 }
  2050. RESOURCE_ACCESS_DENIED = $885B; { Client-32 }
  2051. SIGNATURE_LEVEL_CONFLICT = $8861;
  2052. NO_LOCK_FOUND = $8862; { OS/2 - process lock on conn handle failed, process ID not recognized }
  2053. LOCK_TABLE_FULL = $8863; { OS/2 - process lock on conn handle failed, process lock table full }
  2054. INVALID_MATCH_DATA = $8864;
  2055. MATCH_FAILED = $8865;
  2056. NO_MORE_ENTRIES = $8866;
  2057. INSUFFICIENT_RESOURCES = $8867;
  2058. STRING_TRANSLATION = $8868;
  2059. STRING_TRANSLATION_NEEDED = $8868; { Client-32 }
  2060. ACCESS_VIOLATION = $8869;
  2061. NOT_AUTHENTICATED = $886A;
  2062. INVALID_LEVEL = $886B;
  2063. RESOURCE_LOCK_ERROR = $886C;
  2064. INVALID_NAME_FORMAT = $886D;
  2065. OBJECT_EXISTS = $886E;
  2066. OBJECT_NOT_FOUND = $886F;
  2067. UNSUPPORTED_TRAN_TYPE = $8870;
  2068. INVALID_STRING_TYPE = $8871;
  2069. INVALID_OWNER = $8872;
  2070. UNSUPPORTED_AUTHENTICATOR = $8873;
  2071. IO_PENDING = $8874;
  2072. INVALID_DRIVE_NUM = $8875;
  2073. SHELL_FAILURE = $88FF;
  2074. VLM_FAILURE = $88FF;
  2075. SVC_ALREADY_REGISTERED = $8880; { Client-32 }
  2076. SVC_REGISTRY_FULL = $8881; { Client-32 }
  2077. SVC_NOT_REGISTERED = $8882; { Client-32 }
  2078. OUT_OF_RESOURCES = $8883; { Client-32 }
  2079. RESOLVE_SVC_FAILED = $8884; { Client-32 }
  2080. CONNECT_FAILED = $8885; { Client-32 }
  2081. PROTOCOL_NOT_BOUND = $8886; { Client-32 }
  2082. AUTHENTICATION_FAILED = $8887; { Client-32 }
  2083. INVALID_AUTHEN_HANDLE = $8888; { Client-32 }
  2084. AUTHEN_HANDLE_ALREADY_EXISTS = $8889; { Client-32 }
  2085. DIFF_OBJECT_ALREADY_AUTHEN = $8890; { Client-32 }
  2086. REQUEST_NOT_SERVICEABLE = $8891; { Client-32 }
  2087. AUTO_RECONNECT_SO_REBUILD = $8892; { Client-32 }
  2088. AUTO_RECONNECT_RETRY_REQUEST = $8893; { Client-32 }
  2089. ASYNC_REQUEST_IN_USE = $8894; { Client-32 }
  2090. ASYNC_REQUEST_CANCELED = $8895; { Client-32 }
  2091. SESS_SVC_ALREADY_REGISTERED = $8896; { Client-32 }
  2092. SESS_SVC_NOT_REGISTERED = $8897; { Client-32 }
  2093. PREVIOUSLY_AUTHENTICATED = $8899; { Client-32 }
  2094. RESOLVE_SVC_PARTIAL = $889A; { Client-32 }
  2095. NO_DEFAULT_SPECIFIED = $889B; { Client-32 }
  2096. HOOK_REQUEST_NOT_HANDLED = $889C; { Client-32 }
  2097. HOOK_REQUEST_BUSY = $889D; { Client-32 }
  2098. HOOK_REQUEST_QUEUED = $889D; { Client-32 }
  2099. AUTO_RECONNECT_SO_IGNORE = $889E; { Client-32 }
  2100. ASYNC_REQUEST_NOT_IN_USE = $889F; { Client-32 }
  2101. AUTO_RECONNECT_FAILURE = $88A0; { Client-32 }
  2102. NET_ERROR_ABORT_APPLICATION = $88A1; { Client-32 }
  2103. NET_ERROR_SUSPEND_APPLICATION = $88A2; { Client-32 }
  2104. NET_ERROR_ABORTED_PROCESS_GROUP = $88A3; { Client-32 }
  2105. NET_ERROR_PASSWORD_HAS_EXPIRED = $88A5; { Client-32 }
  2106. NET_ERROR_NETWORK_INACTIVE = $88A6; { Client-32 }
  2107. REPLY_TRUNCATED = $88E6; { 230 NLM }
  2108. UTF8_CONVERSION_FAILED = $88F0; { NWCALLS }
  2109. { Server Errors }
  2110. ERR_INSUFFICIENT_SPACE = $8901; { 001 }
  2111. NLM_INVALID_CONNECTION = $890A; { 010 }
  2112. ERR_TIMEOUT = $8910; { 016 - nlm connection timeout }
  2113. ERR_NO_MORE_ENTRY = $8914; { 020 }
  2114. ERR_BUFFER_TOO_SMALL = $8977; { 119 }
  2115. ERR_VOLUME_FLAG_NOT_SET = $8978; { 120 the service requested, not avail. on the selected vol. }
  2116. ERR_NO_ITEMS_FOUND = $8979; { 121 }
  2117. ERR_CONN_ALREADY_TEMP = $897A; { 122 }
  2118. ERR_CONN_ALREADY_LOGGED_IN = $897B; { 123 }
  2119. ERR_CONN_NOT_AUTHENTICATED = $897C; { 124 }
  2120. ERR_CONN_NOT_LOGGED_IN = $897D; { 125 }
  2121. NCP_BOUNDARY_CHECK_FAILED = $897E; { 126 }
  2122. ERR_LOCK_WAITING = $897F; { 127 }
  2123. ERR_LOCK_FAIL = $8980; { 128 }
  2124. FILE_IN_USE_ERROR = $8980; { 128 }
  2125. NO_MORE_FILE_HANDLES = $8981; { 129 }
  2126. NO_OPEN_PRIVILEGES = $8982; { 130 }
  2127. IO_ERROR_NETWORK_DISK = $8983; { 131 }
  2128. ERR_AUDITING_HARD_IO_ERROR = $8983; { 131 }
  2129. NO_CREATE_PRIVILEGES = $8984; { 132 }
  2130. ERR_AUDITING_NOT_SUPV = $8984; { 132 }
  2131. NO_CREATE_DELETE_PRIVILEGES = $8985; { 133 }
  2132. CREATE_FILE_EXISTS_READ_ONLY = $8986; { 134 }
  2133. WILD_CARDS_IN_CREATE_FILE_NAME = $8987;
  2134. CREATE_FILENAME_ERROR = $8987; { 135 }
  2135. INVALID_FILE_HANDLE = $8988; { 136 }
  2136. NO_SEARCH_PRIVILEGES = $8989; { 137 }
  2137. NO_DELETE_PRIVILEGES = $898A; { 138 }
  2138. NO_RENAME_PRIVILEGES = $898B; { 139 }
  2139. NO_MODIFY_PRIVILEGES = $898C; { 140 }
  2140. SOME_FILES_AFFECTED_IN_USE = $898D; { 141 }
  2141. NO_FILES_AFFECTED_IN_USE = $898E; { 142 }
  2142. SOME_FILES_AFFECTED_READ_ONLY = $898F; { 143 }
  2143. NO_FILES_AFFECTED_READ_ONLY = $8990; { 144 }
  2144. SOME_FILES_RENAMED_NAME_EXISTS = $8991; { 145 }
  2145. NO_FILES_RENAMED_NAME_EXISTS = $8992; { 146 }
  2146. NO_READ_PRIVILEGES = $8993; { 147 }
  2147. NO_WRITE_PRIVILEGES_OR_READONLY = $8994; { 148 }
  2148. FILE_DETACHED = $8995; { 149 }
  2149. SERVER_OUT_OF_MEMORY = $8996; { 150 }
  2150. ERR_TARGET_NOT_A_SUBDIRECTORY = $8996; { 150 can be changed later (note written by server people). }
  2151. NO_DISK_SPACE_FOR_SPOOL_FILE = $8997; { 151 }
  2152. ERR_AUDITING_NOT_ENABLED = $8997; { 151 }
  2153. VOLUME_DOES_NOT_EXIST = $8998; { 152 }
  2154. DIRECTORY_FULL = $8999; { 153 }
  2155. RENAMING_ACROSS_VOLUMES = $899A; { 154 }
  2156. BAD_DIRECTORY_HANDLE = $899B; { 155 }
  2157. INVALID_PATH = $899C; { 156 }
  2158. NO_MORE_TRUSTEES = $899C; { 156 }
  2159. NO_MORE_DIRECTORY_HANDLES = $899D; { 157 }
  2160. INVALID_FILENAME = $899E; { 158 }
  2161. DIRECTORY_ACTIVE = $899F; { 159 }
  2162. DIRECTORY_NOT_EMPTY = $89A0; { 160 }
  2163. DIRECTORY_IO_ERROR = $89A1; { 161 }
  2164. READ_FILE_WITH_RECORD_LOCKED = $89A2; { 162 }
  2165. ERR_TRANSACTION_RESTARTED = $89A3; { 163 }
  2166. ERR_RENAME_DIR_INVALID = $89A4; { 164 }
  2167. ERR_INVALID_OPENCREATE_MODE = $89A5; { 165 }
  2168. ERR_ALREADY_IN_USE = $89A6; { 166 }
  2169. ERR_AUDITING_ACTIVE = $89A6; { 166 }
  2170. ERR_INVALID_RESOURCE_TAG = $89A7; { 167 }
  2171. ERR_ACCESS_DENIED = $89A8; { 168 }
  2172. ERR_AUDITING_NO_RIGHTS = $89A8; { 168 }
  2173. ERR_LINK_IN_PATH = $89A9; { 169 }
  2174. INVALID_DATA_TYPE = $89AA; { 170 }
  2175. INVALID_DATA_STREAM = $89BE; { 190 }
  2176. INVALID_NAME_SPACE = $89BF; { 191 }
  2177. NO_ACCOUNTING_PRIVILEGES = $89C0; { 192 }
  2178. LOGIN_DENIED_NO_ACCOUNT_BALANCE = $89C1; { 193 }
  2179. LOGIN_DENIED_NO_CREDIT = $89C2; { 194 }
  2180. ERR_AUDITING_RECORD_SIZE = $89C2; { 194 }
  2181. ERR_TOO_MANY_HOLDS = $89C3; { 195 }
  2182. ACCOUNTING_DISABLED = $89C4; { 196 }
  2183. INTRUDER_DETECTION_LOCK = $89C5; { 197 }
  2184. NO_CONSOLE_OPERATOR = $89C6; { 198 }
  2185. NO_CONSOLE_PRIVILEGES = $89C6; { 198 }
  2186. ERR_Q_IO_FAILURE = $89D0; { 208 }
  2187. ERR_NO_QUEUE = $89D1; { 209 }
  2188. ERR_NO_Q_SERVER = $89D2; { 210 }
  2189. ERR_NO_Q_RIGHTS = $89D3; { 211 }
  2190. ERR_Q_FULL = $89D4; { 212 }
  2191. ERR_NO_Q_JOB = $89D5; { 213 }
  2192. ERR_NO_Q_JOB_RIGHTS = $89D6; { 214 }
  2193. ERR_Q_IN_SERVICE = $89D7; { 215 }
  2194. PASSWORD_NOT_UNIQUE = $89D7; { 215 }
  2195. ERR_Q_NOT_ACTIVE = $89D8; { 216 }
  2196. PASSWORD_TOO_SHORT = $89D8; { 216 }
  2197. ERR_Q_STN_NOT_SERVER = $89D9; { 217 }
  2198. LOGIN_DENIED_NO_CONNECTION = $89D9; { 217 }
  2199. ERR_MAXIMUM_LOGINS_EXCEEDED = $89D9; { 217 }
  2200. ERR_Q_HALTED = $89DA; { 218 }
  2201. UNAUTHORIZED_LOGIN_TIME = $89DA; { 218 }
  2202. UNAUTHORIZED_LOGIN_STATION = $89DB; { 219 }
  2203. ERR_Q_MAX_SERVERS = $89DB; { 219 }
  2204. ACCOUNT_DISABLED = $89DC; { 220 }
  2205. PASSWORD_HAS_EXPIRED_NO_GRACE = $89DE; { 222 }
  2206. PASSWORD_HAS_EXPIRED = $89DF; { 223 }
  2207. E_NO_MORE_USERS = $89E7; { 231 }
  2208. NOT_ITEM_PROPERTY = $89E8; { 232 }
  2209. WRITE_PROPERTY_TO_GROUP = $89E8; { 232 }
  2210. MEMBER_ALREADY_EXISTS = $89E9; { 233 }
  2211. NO_SUCH_MEMBER = $89EA; { 234 }
  2212. NOT_GROUP_PROPERTY = $89EB; { 235 }
  2213. NO_SUCH_SEGMENT = $89EC; { 236 }
  2214. PROPERTY_ALREADY_EXISTS = $89ED; { 237 }
  2215. OBJECT_ALREADY_EXISTS = $89EE; { 238 }
  2216. INVALID_NAME = $89EF; { 239 }
  2217. WILD_CARD_NOT_ALLOWED = $89F0; { 240 }
  2218. INVALID_BINDERY_SECURITY = $89F1; { 241 }
  2219. NO_OBJECT_READ_PRIVILEGE = $89F2; { 242 }
  2220. NO_OBJECT_RENAME_PRIVILEGE = $89F3; { 243 }
  2221. NO_OBJECT_DELETE_PRIVILEGE = $89F4; { 244 }
  2222. NO_OBJECT_CREATE_PRIVILEGE = $89F5; { 245 }
  2223. NO_PROPERTY_DELETE_PRIVILEGE = $89F6; { 246 }
  2224. NO_PROPERTY_CREATE_PRIVILEGE = $89F7; { 247 }
  2225. NO_PROPERTY_WRITE_PRIVILEGE = $89F8; { 248 }
  2226. NO_FREE_CONNECTION_SLOTS = $89F9; { 249 }
  2227. NO_PROPERTY_READ_PRIVILEGE = $89F9; { 249 }
  2228. NO_MORE_SERVER_SLOTS = $89FA; { 250 }
  2229. TEMP_REMAP_ERROR = $89FA; { 250 }
  2230. INVALID_PARAMETERS = $89FB; { 251 }
  2231. NO_SUCH_PROPERTY = $89FB; { 251 }
  2232. ERR_NCP_NOT_SUPPORTED = $89FB; { 251 }
  2233. INTERNET_PACKET_REQT_CANCELED = $89FC; { 252 }
  2234. UNKNOWN_FILE_SERVER = $89FC; { 252 }
  2235. MESSAGE_QUEUE_FULL = $89FC; { 252 }
  2236. NO_SUCH_OBJECT = $89FC; { 252 }
  2237. LOCK_COLLISION = $89FD; { 253 }
  2238. BAD_STATION_NUMBER = $89FD; { 253 }
  2239. INVALID_PACKET_LENGTH = $89FD; { 253 }
  2240. UNKNOWN_REQUEST = $89FD; { 253 }
  2241. BINDERY_LOCKED = $89FE; { 254 }
  2242. TRUSTEE_NOT_FOUND = $89FE; { 254 }
  2243. DIRECTORY_LOCKED = $89FE; { 254 }
  2244. INVALID_SEMAPHORE_NAME_LENGTH = $89FE; { 254 }
  2245. PACKET_NOT_DELIVERABLE = $89FE; { 254 }
  2246. SERVER_BINDERY_LOCKED = $89FE; { 254 }
  2247. SOCKET_TABLE_FULL = $89FE; { 254 }
  2248. SPOOL_DIRECTORY_ERROR = $89FE; { 254 }
  2249. SUPERVISOR_HAS_DISABLED_LOGIN = $89FE; { 254 }
  2250. TIMEOUT_FAILURE = $89FE; { 254 }
  2251. BAD_PRINTER_ERROR = $89FF; { 255 }
  2252. BAD_RECORD_OFFSET = $89FF; { 255 }
  2253. CLOSE_FCB_ERROR = $89FF; { 255 }
  2254. FILE_EXTENSION_ERROR = $89FF; { 255 }
  2255. FILE_NAME_ERROR = $89FF; { 255 }
  2256. HARDWARE_FAILURE = $89FF; { 255 }
  2257. INVALID_DRIVE_NUMBER = $89FF; { 255 }
  2258. DOS_INVALID_DRIVE = $000F; { 255 }
  2259. INVALID_INITIAL_SEMAPHORE_VALUE = $89FF; { 255 }
  2260. INVALID_SEMAPHORE_HANDLE = $89FF; { 255 }
  2261. IO_BOUND_ERROR = $89FF; { 255 }
  2262. NO_FILES_FOUND_ERROR = $89FF; { 255 }
  2263. NO_RESPONSE_FROM_SERVER = $89FF; { 255 }
  2264. NO_SUCH_OBJECT_OR_BAD_PASSWORD = $89FF; { 255 }
  2265. PATH_NOT_LOCATABLE = $89FF; { 255 }
  2266. QUEUE_FULL_ERROR = $89FF; { 255 }
  2267. REQUEST_NOT_OUTSTANDING = $89FF; { 255 }
  2268. SOCKET_ALREADY_OPEN = $89FF; { 255 }
  2269. LOCK_ERROR = $89FF; { 255 }
  2270. FAILURE = $89FF; { 255 Generic Failure }
  2271. { NOT_SAME_LOCAL_DRIVE = $89F6; }
  2272. { TARGET_DRIVE_NOT_LOCAL = $89F7; }
  2273. { ALREADY_ATTACHED_TO_SERVER = $89F8; // 248 }
  2274. { NOT_ATTACHED_TO_SERVER = $89F8; }
  2275. {/// Network errors ///// }
  2276. { Decimal values at end of line are 32768 lower than actual }
  2277. NWE_ALREADY_ATTACHED = $8800; { 0 - Attach attempted to server with valid, existing connection }
  2278. NWE_CONN_INVALID = $8801; { 1 - Request attempted with invalid or non-attached connection handle }
  2279. NWE_DRIVE_IN_USE = $8802; { 2 - OS/2 only (NOT USED) }
  2280. NWE_DRIVE_CANNOT_MAP = $8803; { 3 - Map drive attempted but unable to add new current directory structure }
  2281. NWE_DRIVE_BAD_PATH = $8804; { 4 - Map drive attempted with invalid path specification }
  2282. NWE_NET_RECEIVE = $8805; { 5 - Attempt to receive from the selected transport failed }
  2283. NWE_NET_UNKNOWN = $8806; { 6 - Network send attempted with an un-specific network error }
  2284. NWE_SERVER_BAD_SLOT = $8807; { 7 - Server request attempted with invalid server connection slot }
  2285. NWE_SERVER_NO_SLOTS = $8808; { 8 - Attach attempted to server with no connection slots available }
  2286. NWE_NET_SEND = $8809; { 9 - Attempt to send on the selected transport failed }
  2287. NWE_SERVER_NO_ROUTE = $880A; { 10 - Attempted to find route to server where no route exists }
  2288. NWE_BAD_LOCAL_TARGET = $880B; { 11 - OS/2 only }
  2289. NWE_REQ_TOO_MANY_REQ_FRAGS = $880C; { 12 - Attempted request with too many request fragments specified }
  2290. NWE_CONN_LIST_OVERFLOW = $880D;
  2291. NWE_BUFFER_OVERFLOW = $880E; { 14 - Attempt to receive more data than the reply buffer had room for }
  2292. NWE_SERVER_NO_CONN = $880F; { 15 - Attempt to get connection for a server not connected }
  2293. NWE_NO_ROUTER_FOUND = $8810; { 16 - OS/2 only }
  2294. NWE_FUNCTION_INVALID = $8811; { 17 - Attempted function call to non- existent or illegal function }
  2295. NWE_SCAN_COMPLETE = $8812;
  2296. NWE_UNSUPPORTED_NAME_FORMAT_TYP = $8813;
  2297. NWE_HANDLE_ALREADY_LICENSED = $8814;
  2298. NWE_HANDLE_ALREADY_UNLICENSED = $8815;
  2299. NWE_INVALID_NCP_PACKET_LENGTH = $8816;
  2300. NWE_SETTING_UP_TIMEOUT = $8817;
  2301. NWE_SETTING_SIGNALS = $8818;
  2302. NWE_SERVER_CONNECTION_LOST = $8819;
  2303. NWE_OUT_OF_HEAP_SPACE = $881A;
  2304. NWE_INVALID_SERVICE_REQUEST = $881B;
  2305. NWE_INVALID_TASK_NUMBER = $881C;
  2306. NWE_INVALID_MESSAGE_LENGTH = $881D;
  2307. NWE_EA_SCAN_DONE = $881E;
  2308. NWE_BAD_CONNECTION_NUMBER = $881F;
  2309. NWE_MULT_TREES_NOT_SUPPORTED = $8820; { 32 - Attempt to open a connection to a DS tree other than the default tree }
  2310. NWE_CONN_NOT_SAME = $8830; { 48 - Internal server request attempted across different server connections }
  2311. NWE_CONN_PRIMARY_NOT_SET = $8831; { 49 - Attempt to retrieve default connection with no primary connection set }
  2312. NWE_PRN_CAPTURE_NOT_IN_PROGRESS = $8832; { 50 - Capture information requested on port with no capture in progress }
  2313. NWE_BUFFER_INVALID_LEN = $8833; { 51 - Used to indicate length which caller requested on a GetDNC or SetDNC was too large }
  2314. NWE_USER_NO_NAME = $8834; { 52 }
  2315. NWE_PRN_NO_LOCAL_SPOOLER = $8835; { 53 - Capture requested without having the local print spooler installed }
  2316. NWE_PARAM_INVALID = $8836; { 54 - Attempted function with an invalid function parameter specified }
  2317. NWE_CFG_OPEN_FAILED = $8837; { 55 - OS/2 only }
  2318. NWE_CFG_NO_FILE = $8838; { 56 - OS/2 only }
  2319. NWE_CFG_READ_FAILED = $8839; { 57 - OS/2 only }
  2320. NWE_CFG_LINE_TOO_LONG = $883A; { 58 - OS/2 only }
  2321. NWE_CFG_LINES_IGNORED = $883B; { 59 - OS/2 only }
  2322. NWE_RESOURCE_NOT_OWNED = $883C; { 60 - Attempted request made with a parameter using foriegn resource }
  2323. NWE_DAEMON_INSTALLED = $883D; { 61 - OS/2 only }
  2324. NWE_PRN_SPOOLER_INSTALLED = $883E; { 62 - Attempted load of print spooler with print spooler already installed }
  2325. NWE_CONN_TABLE_FULL = $883F; { 63 - Attempted to allocate a connection handle with no more local connection table entries }
  2326. NWE_CFG_SECTION_NOT_FOUND = $8840; { 64 - OS/2 only }
  2327. NWE_TRAN_INVALID_TYPE = $8841; { 65 - Attempted function on a connection with an invalid transport selected }
  2328. NWE_TDS_TAG_IN_USE = $8842; { 66 - OS/2 only }
  2329. NWE_TDS_OUT_OF_MEMORY = $8843; { 67 - OS/2 only }
  2330. NWE_TDS_INVALID_TAG = $8844; { 68 - Attempted TDS function with invalid tag }
  2331. NWE_TDS_WRITE_TRUNCATED = $8845; { 69 - Attempted TDS write with buffer that exceeded buffer }
  2332. NWE_DS_NO_CONN = $8846; { 70 }
  2333. NWE_SERVICE_BUSY = $8846; { 70 - Attempted request made to partially asynchronous function in busy state }
  2334. NWE_SERVER_NOT_FOUND = $8847; { 71 - Attempted connect failed to find any servers responding }
  2335. NWE_VLM_INVALID = $8848; { 72 - Attempted function call to non-existant or not-loaded overlay }
  2336. NWE_DRIVE_ALREADY_MAPPED = $8849; { 73 - Attempted map to network drive that was already mapped }
  2337. NWE_DRIVE_LOCAL_IN_USE = $884A; { 74 - Attempted map to local drive that was in use }
  2338. NWE_DRIVE_NONE_AVAILABLE = $884B; { 75 - Attempted map to next available drive when none were available }
  2339. NWE_DEVICE_NOT_REDIRECTED = $884C; { 76 - The device is not redirected }
  2340. NWE_FILE_MAX_REACHED = $884D; { 77 - Maximum number of files was reached }
  2341. NWE_UNLOAD_FAILED = $884E; { 78 - Attempted unload failed }
  2342. NWE_CONN_IN_USE = $884F; { 79 - Attempted re-use of already in use connection entry }
  2343. NWE_REQ_TOO_MANY_REP_FRAGS = $8850; { 80 - Attempted request with too many reply fragments specified }
  2344. NWE_NAME_TABLE_FULL = $8851; { 81 - Attempted to add a name into the name table after it was full }
  2345. NWE_SOCKET_NOT_OPEN = $8852; { 82 - Listen was posted on unopened socket }
  2346. NWE_MEMORY_MGR_ERROR = $8853; { 83 - Attempted enhanced memory operation failed }
  2347. NWE_SFT3_ERROR = $8854; { 84 - An SFT3 switch occurred mid-transfer }
  2348. NWE_DS_PREFERRED_NOT_FOUND = $8855; { 85 - the preferred directory server was not established but another directory server was returned }
  2349. NWE_DEVICE_NOT_RECOGNIZED = $8856; { 86 - used to determine if the device is not used by VISE so pass it on to the next redirector, if any. }
  2350. NWE_NET_INVALID_TYPE = $8857; { 87 - the network type (Bind/NDS) does not match the server version }
  2351. NWE_FILE_OPEN_FAILED = $8858; { 88 - generic open failure error, invalid path, access denied, etc.. }
  2352. NWE_DS_PREFERRED_NOT_SPECIFIED = $8859; { 89 - no preferred name specified }
  2353. NWE_SOCKET_OPEN_FAILED = $885A; { 90 - error opening a socket }
  2354. NWE_SIGNATURE_LEVEL_CONFLICT = $8861;
  2355. NWE_NO_LOCK_FOUND = $8862; { OS/2 - process lock on conn handle failed, process ID not recognized }
  2356. NWE_LOCK_TABLE_FULL = $8863; { OS/2 - process lock on conn handle failed, process lock table full }
  2357. NWE_INVALID_MATCH_DATA = $8864;
  2358. NWE_MATCH_FAILED = $8865;
  2359. NWE_NO_MORE_ENTRIES = $8866;
  2360. NWE_INSUFFICIENT_RESOURCES = $8867;
  2361. NWE_STRING_TRANSLATION = $8868;
  2362. NWE_ACCESS_VIOLATION = $8869;
  2363. NWE_NOT_AUTHENTICATED = $886A;
  2364. NWE_INVALID_LEVEL = $886B;
  2365. NWE_RESOURCE_LOCK = $886C;
  2366. NWE_INVALID_NAME_FORMAT = $886D;
  2367. NWE_OBJECT_EXISTS = $886E;
  2368. NWE_OBJECT_NOT_FOUND = $886F;
  2369. NWE_UNSUPPORTED_TRAN_TYPE = $8870;
  2370. NWE_INVALID_STRING_TYPE = $8871;
  2371. NWE_INVALID_OWNER = $8872;
  2372. NWE_UNSUPPORTED_AUTHENTICATOR = $8873;
  2373. NWE_IO_PENDING = $8874;
  2374. NWE_INVALID_DRIVE_NUMBER = $8875;
  2375. NWE_REPLY_TRUNCATED = $88E6; { 230 NLM }
  2376. NWE_REQUESTER_FAILURE = $88FF;
  2377. { Server Errors }
  2378. NWE_INSUFFICIENT_SPACE = $8901; { 001 }
  2379. NWE_INVALID_CONNECTION = $890A; { 010 - nlm invalid connection }
  2380. NWE_TIMEOUT = $8910; { 016 - nlm connection timeout }
  2381. NWE_NO_MORE_ENTRY = $8914; { 020 }
  2382. NWE_BUFFER_TOO_SMALL = $8977; { 119 }
  2383. NWE_VOL_FLAG_NOT_SET = $8978; { 120 the service requested, not avail. on the selected vol. }
  2384. NWE_NO_ITEMS_FOUND = $8979; { 121 }
  2385. NWE_CONN_ALREADY_TEMP = $897A; { 122 }
  2386. NWE_CONN_ALREADY_LOGGED_IN = $897B; { 123 }
  2387. NWE_CONN_NOT_AUTHENTICATED = $897C; { 124 }
  2388. NWE_CONN_NOT_LOGGED_IN = $897D; { 125 }
  2389. NWE_NCP_BOUNDARY_CHECK_FAILED = $897E; { 126 }
  2390. NWE_LOCK_WAITING = $897F; { 127 }
  2391. NWE_LOCK_FAIL = $8980; { 128 }
  2392. NWE_FILE_IN_USE = $8980; { 128 }
  2393. NWE_FILE_NO_HANDLES = $8981; { 129 }
  2394. NWE_FILE_NO_OPEN_PRIV = $8982; { 130 }
  2395. NWE_DISK_IO_ERROR = $8983; { 131 }
  2396. NWE_AUDITING_HARD_IO_ERROR = $8983; { 131 }
  2397. NWE_FILE_NO_CREATE_PRIV = $8984; { 132 }
  2398. NWE_AUDITING_NOT_SUPV = $8984; { 132 }
  2399. NWE_FILE_NO_CREATE_DEL_PRIV = $8985; { 133 }
  2400. NWE_FILE_EXISTS_READ_ONLY = $8986; { 134 }
  2401. NWE_FILE_WILD_CARDS_IN_NAME = $8987; { 135 }
  2402. NWE_FILE_INVALID_HANDLE = $8988; { 136 }
  2403. NWE_FILE_NO_SRCH_PRIV = $8989; { 137 }
  2404. NWE_FILE_NO_DEL_PRIV = $898A; { 138 }
  2405. NWE_FILE_NO_RENAME_PRIV = $898B; { 139 }
  2406. NWE_FILE_NO_MOD_PRIV = $898C; { 140 }
  2407. NWE_FILE_SOME_IN_USE = $898D; { 141 }
  2408. NWE_FILE_NONE_IN_USE = $898E; { 142 }
  2409. NWE_FILE_SOME_READ_ONLY = $898F; { 143 }
  2410. NWE_FILE_NONE_READ_ONLY = $8990; { 144 }
  2411. NWE_FILE_SOME_RENAMED_EXIST = $8991; { 145 }
  2412. NWE_FILE_NONE_RENAMED_EXIST = $8992; { 146 }
  2413. NWE_FILE_NO_READ_PRIV = $8993; { 147 }
  2414. NWE_FILE_NO_WRITE_PRIV = $8994; { 148 }
  2415. NWE_FILE_READ_ONLY = $8994; { 148 }
  2416. NWE_FILE_DETACHED = $8995; { 149 }
  2417. NWE_SERVER_OUT_OF_MEMORY = $8996; { 150 }
  2418. NWE_DIR_TARGET_INVALID = $8996; { 150 }
  2419. NWE_DISK_NO_SPOOL_SPACE = $8997; { 151 }
  2420. NWE_AUDITING_NOT_ENABLED = $8997; { 151 }
  2421. NWE_VOL_INVALID = $8998; { 152 }
  2422. NWE_DIR_FULL = $8999; { 153 }
  2423. NWE_VOL_RENAMING_ACROSS = $899A; { 154 }
  2424. NWE_DIRHANDLE_INVALID = $899B; { 155 }
  2425. NWE_PATH_INVALID = $899C; { 156 }
  2426. NWE_TRUSTEES_NO_MORE = $899C; { 156 }
  2427. NWE_DIRHANDLE_NO_MORE = $899D; { 157 }
  2428. NWE_FILE_NAME_INVALID = $899E; { 158 }
  2429. NWE_DIR_ACTIVE = $899F; { 159 }
  2430. NWE_DIR_NOT_EMPTY = $89A0; { 160 }
  2431. NWE_DIR_IO_ERROR = $89A1; { 161 }
  2432. NWE_FILE_IO_LOCKED = $89A2; { 162 }
  2433. NWE_TTS_RANSACTION_RESTARTED = $89A3; { 163 }
  2434. NWE_TTS_TRANSACTION_RESTARTED = $89A3; { 163 }
  2435. NWE_DIR_RENAME_INVALID = $89A4; { 164 }
  2436. NWE_FILE_OPENCREAT_MODE_INVALID = $89A5; { 165 }
  2437. NWE_ALREADY_IN_USE = $89A6; { 166 }
  2438. NWE_AUDITING_ACTIVE = $89A6; { 166 }
  2439. NWE_RESOURCE_TAG_INVALID = $89A7; { 167 }
  2440. NWE_ACCESS_DENIED = $89A8; { 168 }
  2441. NWE_AUDITING_NO_RIGHTS = $89A8; { 168 }
  2442. NWE_DATA_STREAM_INVALID = $89BE; { 190 }
  2443. NWE_NAME_SPACE_INVALID = $89BF; { 191 }
  2444. NWE_ACCTING_NO_PRIV = $89C0; { 192 }
  2445. NWE_ACCTING_NO_BALANCE = $89C1; { 193 }
  2446. NWE_ACCTING_NO_CREDIT = $89C2; { 194 }
  2447. NWE_AUDITING_RECORD_SIZE = $89C2; { 194 }
  2448. NWE_ACCTING_TOO_MANY_HOLDS = $89C3; { 195 }
  2449. NWE_ACCTING_DISABLED = $89C4; { 196 }
  2450. NWE_LOGIN_LOCKOUT = $89C5; { 197 }
  2451. NWE_CONSOLE_NO_PRIV = $89C6; { 198 }
  2452. NWE_Q_IO_FAILURE = $89D0; { 208 }
  2453. NWE_Q_NONE = $89D1; { 209 }
  2454. NWE_Q_NO_SERVER = $89D2; { 210 }
  2455. NWE_Q_NO_RIGHTS = $89D3; { 211 }
  2456. NWE_Q_FULL = $89D4; { 212 }
  2457. NWE_Q_NO_JOB = $89D5; { 213 }
  2458. NWE_Q_NO_JOB_RIGHTS = $89D6; { 214 }
  2459. NWE_PASSWORD_UNENCRYPTED = $89D6; { 214 }
  2460. NWE_Q_IN_SERVICE = $89D7; { 215 }
  2461. NWE_PASSWORD_NOT_UNIQUE = $89D7; { 215 }
  2462. NWE_Q_NOT_ACTIVE = $89D8; { 216 }
  2463. NWE_PASSWORD_TOO_SHORT = $89D8; { 216 }
  2464. NWE_Q_STN_NOT_SERVER = $89D9; { 217 }
  2465. NWE_LOGIN_NO_CONN = $89D9; { 217 }
  2466. NWE_LOGIN_MAX_EXCEEDED = $89D9; { 217 }
  2467. NWE_Q_HALTED = $89DA; { 218 }
  2468. NWE_LOGIN_UNAUTHORIZED_TIME = $89DA; { 218 }
  2469. NWE_LOGIN_UNAUTHORIZED_STATION = $89DB; { 219 }
  2470. NWE_Q_MAX_SERVERS = $89DB; { 219 }
  2471. NWE_ACCT_DISABLED = $89DC; { 220 }
  2472. NWE_PASSWORD_INVALID = $89DE; { 222 }
  2473. NWE_PASSWORD_EXPIRED = $89DF; { 223 }
  2474. NWE_LOGIN_NO_CONN_AVAIL = $89E0; { 224 }
  2475. NWE_E_NO_MORE_USERS = $89E7; { 231 }
  2476. NWE_BIND_NOT_ITEM_PROP = $89E8; { 232 }
  2477. NWE_BIND_WRITE_TO_GROUP_PROP = $89E8; { 232 }
  2478. NWE_BIND_MEMBER_ALREADY_EXISTS = $89E9; { 233 }
  2479. NWE_BIND_NO_SUCH_MEMBER = $89EA; { 234 }
  2480. NWE_BIND_NOT_GROUP_PROP = $89EB; { 235 }
  2481. NWE_BIND_NO_SUCH_SEGMENT = $89EC; { 236 }
  2482. NWE_BIND_PROP_ALREADY_EXISTS = $89ED; { 237 }
  2483. NWE_BIND_OBJ_ALREADY_EXISTS = $89EE; { 238 }
  2484. NWE_BIND_NAME_INVALID = $89EF; { 239 }
  2485. NWE_BIND_WILDCARD_INVALID = $89F0; { 240 }
  2486. NWE_BIND_SECURITY_INVALID = $89F1; { 241 }
  2487. NWE_BIND_OBJ_NO_READ_PRIV = $89F2; { 242 }
  2488. NWE_BIND_OBJ_NO_RENAME_PRIV = $89F3; { 243 }
  2489. NWE_BIND_OBJ_NO_DELETE_PRIV = $89F4; { 244 }
  2490. NWE_BIND_OBJ_NO_CREATE_PRIV = $89F5; { 245 }
  2491. NWE_BIND_PROP_NO_DELETE_PRIV = $89F6; { 246 }
  2492. NWE_BIND_PROP_NO_CREATE_PRIV = $89F7; { 247 }
  2493. NWE_BIND_PROP_NO_WRITE_PRIV = $89F8; { 248 }
  2494. NWE_BIND_PROP_NO_READ_PRIV = $89F9; { 249 }
  2495. NWE_NO_FREE_CONN_SLOTS = $89F9; { 249 }
  2496. NWE_NO_MORE_SERVER_SLOTS = $89FA; { 250 }
  2497. NWE_TEMP_REMAP_ERROR = $89FA; { 250 }
  2498. NWE_PARAMETERS_INVALID = $89FB; { 251 }
  2499. NWE_BIND_NO_SUCH_PROP = $89FB; { 251 }
  2500. NWE_NCP_NOT_SUPPORTED = $89FB; { 251 }
  2501. NWE_INET_PACKET_REQ_CANCELED = $89FC; { 252 }
  2502. NWE_SERVER_UNKNOWN = $89FC; { 252 }
  2503. NWE_MSG_Q_FULL = $89FC; { 252 }
  2504. NWE_BIND_NO_SUCH_OBJ = $89FC; { 252 }
  2505. NWE_LOCK_COLLISION = $89FD; { 253 }
  2506. NWE_CONN_NUM_INVALID = $89FD; { 253 }
  2507. NWE_PACKET_LEN_INVALID = $89FD; { 253 }
  2508. NWE_UNKNOWN_REQ = $89FD; { 253 }
  2509. NWE_BIND_LOCKED = $89FE; { 254 }
  2510. NWE_TRUSTEE_NOT_FOUND = $89FE; { 254 }
  2511. NWE_DIR_LOCKED = $89FE; { 254 }
  2512. NWE_SEM_INVALID_NAME_LEN = $89FE; { 254 }
  2513. NWE_PACKET_NOT_DELIVERABLE = $89FE; { 254 }
  2514. NWE_SOCKET_TABLE_FULL = $89FE; { 254 }
  2515. NWE_SPOOL_DIR_ERROR = $89FE; { 254 }
  2516. NWE_LOGIN_DISABLED_BY_SUPER = $89FE; { 254 }
  2517. NWE_TIMEOUT_FAILURE = $89FE; { 254 }
  2518. NWE_FILE_EXT = $89FF; { 255 }
  2519. NWE_FILE_NAME = $89FF; { 255 }
  2520. NWE_HARD_FAILURE = $89FF; { 255 }
  2521. NWE_FCB_CLOSE = $89FF; { 255 }
  2522. NWE_IO_BOUND = $89FF; { 255 }
  2523. NWE_BAD_SPOOL_PRINTER = $89FF; { 255 }
  2524. NWE_BAD_RECORD_OFFSET = $89FF; { 255 }
  2525. NWE_DRIVE_INVALID_NUM = $89FF; { 255 }
  2526. NWE_SEM_INVALID_INIT_VAL = $89FF; { 255 }
  2527. NWE_SEM_INVALID_HANDLE = $89FF; { 255 }
  2528. NWE_NO_FILES_FOUND_ERROR = $89FF; { 255 }
  2529. NWE_NO_RESPONSE_FROM_SERVER = $89FF; { 255 }
  2530. NWE_NO_OBJ_OR_BAD_PASSWORD = $89FF; { 255 }
  2531. NWE_PATH_NOT_LOCATABLE = $89FF; { 255 }
  2532. NWE_Q_FULL_ERROR = $89FF; { 255 }
  2533. NWE_REQ_NOT_OUTSTANDING = $89FF; { 255 }
  2534. NWE_SOCKET_ALREADY_OPEN = $89FF; { 255 }
  2535. NWE_LOCK_ERROR = $89FF; { 255 }
  2536. NWE_FAILURE = $89FF; { 255 Generic Failure }
  2537. //*****************************************************************************
  2538. //nwfile.h
  2539. //*****************************************************************************
  2540. type
  2541. PNW_FILE_INFO = ^TNW_FILE_INFO;
  2542. TNW_FILE_INFO = record
  2543. fileName: array[0..13] of Tnstr8;
  2544. fileAttributes: Tnuint8;
  2545. extendedFileAttributes: Tnuint8;
  2546. fileSize: Tnuint32;
  2547. creationDate: Tnuint16;
  2548. lastAccessDate: Tnuint16;
  2549. lastUpdateDateAndTime: Tnuint32;
  2550. fileOwnerID: Tnuint32;
  2551. lastArchiveDateAndTime: Tnuint32;
  2552. end;
  2553. PNW_FILE_INFO2 = ^TNW_FILE_INFO2;
  2554. TNW_FILE_INFO2 = record
  2555. fileAttributes: Tnuint8;
  2556. extendedFileAttributes: Tnuint8;
  2557. fileSize: Tnuint32;
  2558. creationDate: Tnuint16;
  2559. lastAccessDate: Tnuint16;
  2560. lastUpdateDateAndTime: Tnuint32;
  2561. fileOwnerID: Tnuint32;
  2562. lastArchiveDateAndTime: Tnuint32;
  2563. fileName: array[0..259] of Tnstr8;
  2564. end;
  2565. { 255*3 + 1 }
  2566. PNW_FILE_INFO2_EXT = ^TNW_FILE_INFO2_EXT;
  2567. TNW_FILE_INFO2_EXT = record
  2568. fileAttributes: Tnuint8;
  2569. extendedFileAttributes: Tnuint8;
  2570. fileSize: Tnuint32;
  2571. creationDate: Tnuint16;
  2572. lastAccessDate: Tnuint16;
  2573. lastUpdateDateAndTime: Tnuint32;
  2574. fileOwnerID: Tnuint32;
  2575. lastArchiveDateAndTime: Tnuint32;
  2576. fileName: array[0..765] of Tnstr8;
  2577. end;
  2578. PSEARCH_FILE_INFO = ^TSEARCH_FILE_INFO;
  2579. TSEARCH_FILE_INFO = record
  2580. sequenceNumber: Tnuint16;
  2581. reserved: Tnuint16;
  2582. fileName: array[0..14] of Tnstr8;
  2583. fileAttributes: Tnuint8;
  2584. fileMode: Tnuint8;
  2585. fileLength: Tnuint32;
  2586. createDate: Tnuint16;
  2587. accessDate: Tnuint16;
  2588. updateDate: Tnuint16;
  2589. updateTime: Tnuint16;
  2590. end;
  2591. PSEARCH_DIR_INFO = ^TSEARCH_DIR_INFO;
  2592. TSEARCH_DIR_INFO = record
  2593. sequenceNumber: Tnuint16;
  2594. reserved1: Tnuint16;
  2595. directoryName: array[0..14] of Tnstr8;
  2596. directoryAttributes: Tnuint8;
  2597. directoryAccessRights: Tnuint8;
  2598. createDate: Tnuint16;
  2599. createTime: Tnuint16;
  2600. owningObjectID: Tnuint32;
  2601. reserved2: Tnuint16;
  2602. directoryStamp: Tnuint16;
  2603. end;
  2604. PCONN_OPEN_FILE = ^TCONN_OPEN_FILE;
  2605. TCONN_OPEN_FILE = record
  2606. taskNumber: Tnuint8;
  2607. lockType: Tnuint8;
  2608. accessControl: Tnuint8;
  2609. lockFlag: Tnuint8;
  2610. volNumber: Tnuint8;
  2611. dirEntry: Tnuint16;
  2612. fileName: array[0..13] of Tnstr8;
  2613. end;
  2614. PCONN_OPEN_FILES = ^TCONN_OPEN_FILES;
  2615. TCONN_OPEN_FILES = record
  2616. nextRequest: Tnuint16;
  2617. connCount: Tnuint8;
  2618. connInfo: array[0..21] of TCONN_OPEN_FILE;
  2619. end;
  2620. POPEN_FILE_CONN = ^TOPEN_FILE_CONN;
  2621. TOPEN_FILE_CONN = record
  2622. taskNumber: Tnuint16;
  2623. lockType: Tnuint8;
  2624. accessControl: Tnuint8;
  2625. lockFlag: Tnuint8;
  2626. volNumber: Tnuint8;
  2627. parent: Tnuint32;
  2628. dirEntry: Tnuint32;
  2629. forkCount: Tnuint8;
  2630. nameSpace: Tnuint8;
  2631. nameLen: Tnuint8;
  2632. fileName: array[0..254] of Tnstr8;
  2633. end;
  2634. POPEN_FILE_CONN_CTRL = ^TOPEN_FILE_CONN_CTRL;
  2635. TOPEN_FILE_CONN_CTRL = record
  2636. nextRequest: Tnuint16;
  2637. openCount: Tnuint16;
  2638. buffer: array[0..511] of Tnuint8;
  2639. curRecord: Tnuint16;
  2640. end;
  2641. PCONN_USING_FILE = ^TCONN_USING_FILE;
  2642. TCONN_USING_FILE = record
  2643. connNumber: Tnuint16;
  2644. taskNumber: Tnuint16;
  2645. lockType: Tnuint8;
  2646. accessControl: Tnuint8;
  2647. lockFlag: Tnuint8;
  2648. end;
  2649. PCONNS_USING_FILE = ^TCONNS_USING_FILE;
  2650. TCONNS_USING_FILE = record
  2651. nextRequest: Tnuint16;
  2652. useCount: Tnuint16;
  2653. openCount: Tnuint16;
  2654. openForReadCount: Tnuint16;
  2655. openForWriteCount: Tnuint16;
  2656. denyReadCount: Tnuint16;
  2657. denyWriteCount: Tnuint16;
  2658. locked: Tnuint8;
  2659. forkCount: Tnuint8;
  2660. connCount: Tnuint16;
  2661. connInfo: array[0..69] of TCONN_USING_FILE;
  2662. end;
  2663. const
  2664. SEEK_FROM_BEGINNING = 1;
  2665. SEEK_FROM_CURRENT_OFFSET = 2;
  2666. SEEK_FROM_END = 3;
  2667. { The following flags are to be used in the createFlag parameter of
  2668. the NWCreateFile call. }
  2669. NWCREATE_NEW_FILE = 1;
  2670. NWOVERWRITE_FILE = 2;
  2671. function NWSetCompressedFileSize(conn: TNWCONN_HANDLE; fileHandle: TNWFILE_HANDLE; reqFileSize: Tnuint32; resFileSize: pnuint32): TNWCCODE; NWLIB_CALNLM32;
  2672. function NWFileServerFileCopy(srcFileHandle: TNWFILE_HANDLE; dstFileHandle: TNWFILE_HANDLE; srcOffset: Tnuint32; dstOffset: Tnuint32; bytesToCopy: Tnuint32;
  2673. bytesCopied: pnuint32): TNWCCODE; NWLIB_CALNLM32;
  2674. function NWGetFileConnectionID(fileHandle: TNWFILE_HANDLE; conn: PNWCONN_HANDLE): TNWCCODE; NWLIB_CALNLM32;
  2675. function NWGetFileConnRef(fileHandle: TNWFILE_HANDLE; connRef: pnuint32): TNWCCODE; NWLIB_UNKNOWN;
  2676. function NWFileSearchInitialize(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; path: Pnstr8; volNum: pnuint8; dirID: pnuint16;
  2677. iterhandle: pnuint16; accessRights: pnuint8): TNWCCODE; NWLIB_CALNLM32;
  2678. { was #define dname(params) para_def_expr }
  2679. //function NWIntFileSearchInitialize(a,b,c,d,e,f,g,h : longint) : longint;
  2680. function NWIntFileSearchContinue(conn: TNWCONN_HANDLE; volNum: Tnuint8; dirID: Tnuint16; searchContext: Tnuint16; searchAttr: Tnuint8;
  2681. searchPath: Pnstr8; retBuf: pnuint8; augmentFlag: Tnuint16): TNWCCODE; NWLIB_CALNLM32;
  2682. { was #define dname(params) para_def_expr }
  2683. // function NWScanFileInformation(a,b,c,d,e,f : longint) : longint;
  2684. function NWIntScanFileInformation(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; filePattern: Pnstr8; searchAttr: Tnuint8; iterhandle: pnint16;
  2685. info: PNW_FILE_INFO; augmentFlag: Tnuint16): TNWCCODE; NWLIB_CALNLM32;
  2686. function NWSetFileInformation(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; fileName: Pnstr8; searchAttrs: Tnuint8; info: PNW_FILE_INFO): TNWCCODE; NWLIB_CALNLM32;
  2687. function NWSetFileInformation2(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; fileName: Pnstr8; searchAttrs: Tnuint8; info: PNW_FILE_INFO2): TNWCCODE; NWLIB_CALNLM32;
  2688. function NWIntScanFileInformation2(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; filePattern: Pnstr8; searchAttrs: Tnuint8; iterHandle: pnuint8;
  2689. info: PNW_FILE_INFO2; augmentFlag: Tnuint16): TNWCCODE; NWLIB_CALNLM32;
  2690. function NWIntScanFileInformation2Ext(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; filePattern: Pnstr8; searchAttrs: Tnuint8; iterHandle: pnuint8;
  2691. info: PNW_FILE_INFO2_EXT; augmentFlag: Tnuint16): TNWCCODE; NWLIB_CALNLM32;
  2692. function NWSetFileAttributes(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; fileName: Pnstr8; searchAttrs: Tnuint8; newAttrs: Tnuint8): TNWCCODE; NWLIB_CALNLM32;
  2693. function NWGetExtendedFileAttributes2(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; path: Pnstr8; extAttrs: pnuint8): TNWCCODE; NWLIB_CALNLM32;
  2694. function NWScanConnectionsUsingFile(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; filePath: Pnstr8; iterhandle: pnint16; fileUse: PCONN_USING_FILE;
  2695. fileUsed: PCONNS_USING_FILE): TNWCCODE; NWLIB_CALNLM32;
  2696. function NWScanOpenFilesByConn2(conn: TNWCONN_HANDLE; connNum: Tnuint16; iterHandle: pnint16; openCtrl: POPEN_FILE_CONN_CTRL; openFile: POPEN_FILE_CONN): TNWCCODE; NWLIB_CALNLM32;
  2697. function NWScanOpenFilesByConn(conn: TNWCONN_HANDLE; connNum: Tnuint16; iterHandle: pnint16; openFile: PCONN_OPEN_FILE; openFiles: PCONN_OPEN_FILES): TNWCCODE; NWLIB_CALNLM32;
  2698. function NWSetExtendedFileAttributes2(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; path: Pnstr8; extAttrs: Tnuint8): TNWCCODE; NWLIB_CALNLM32;
  2699. function NWRenameFile(conn: TNWCONN_HANDLE; oldDirHandle: TNWDIR_HANDLE; oldFileName: Pnstr8; searchAttrs: Tnuint8; newDirHandle: TNWDIR_HANDLE;
  2700. newFileName: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
  2701. function NWIntEraseFiles(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; path: Pnstr8; searchAttrs: Tnuint8; augmentFlag: Tnuint16): TNWCCODE; NWLIB_CALNLM32;
  2702. function NWGetSparseFileBitMap(conn: TNWCONN_HANDLE; fileHandle: Tnuint32; flag: Tnint16; offset: Tnuint32; blockSize: pnuint32;
  2703. bitMap: pnuint8): TNWCCODE; NWLIB_CALNLM32;
  2704. function NWLogPhysicalRecord(fileHandle: TNWFILE_HANDLE; recStartOffset: Tnuint32; recLength: Tnuint32; lockFlags: Tnuint8; timeOut: Tnuint16): TNWCCODE; NWLIB_CALNLM32;
  2705. function NWLockPhysicalRecordSet(lockFlags: Tnuint8; timeOut: Tnuint16): TNWCCODE; NWLIB_CALNLM32;
  2706. function NWReleasePhysicalRecordSet: TNWCCODE; NWLIB_CALNLM32;
  2707. function NWClearPhysicalRecordSet: TNWCCODE; NWLIB_CALNLM32;
  2708. function NWReleasePhysicalRecord(fileHandle: TNWFILE_HANDLE; recStartOffset: Tnuint32; recSize: Tnuint32): TNWCCODE; NWLIB_CALNLM32;
  2709. function NWClearPhysicalRecord(fileHandle: TNWFILE_HANDLE; recStartOffset: Tnuint32; recSize: Tnuint32): TNWCCODE; NWLIB_CALNLM32;
  2710. function NWLockFileLockSet(timeOut: Tnuint16): TNWCCODE; NWLIB_CALNLM32;
  2711. function NWReleaseFileLockSet: TNWCCODE; NWLIB_CALNLM32;
  2712. function NWClearFileLockSet: TNWCCODE; NWLIB_CALNLM32;
  2713. function NWClearFileLock2(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; path: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
  2714. function NWReleaseFileLock2(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; path: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
  2715. function NWLogFileLock2(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; path: Pnstr8; lockFlags: Tnuint8; timeOut: Tnuint16): TNWCCODE; NWLIB_CALNLM32;
  2716. function NWLogLogicalRecord(conn: TNWCONN_HANDLE; logRecName: Pnstr8; lockFlags: Tnuint8; timeOut: Tnuint16): TNWCCODE; NWLIB_CALNLM32;
  2717. function NWLockLogicalRecordSet(lockFlags: Tnuint8; timeOut: Tnuint16): TNWCCODE; NWLIB_CALNLM32;
  2718. function NWReleaseLogicalRecordSet: TNWCCODE; NWLIB_CALNLM32;
  2719. function NWClearLogicalRecordSet: TNWCCODE; NWLIB_CALNLM32;
  2720. function NWReleaseLogicalRecord(conn: TNWCONN_HANDLE; logRecName: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
  2721. function NWClearLogicalRecord(conn: TNWCONN_HANDLE; logRecName: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
  2722. function NWCloseFile(fileHandle: TNWFILE_HANDLE): TNWCCODE; NWLIB_CALNLM32;
  2723. function NWCreateFile(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; fileName: Pnstr8; fileAttrs: Tnuint8; fileHandle: PNWFILE_HANDLE;
  2724. createFlag: Tnflag32): TNWCCODE; NWLIB_UNKNOWN;
  2725. function NWOpenFile(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; fileName: Pnstr8; searchAttr: Tnuint16; accessRights: Tnuint8;
  2726. fileHandle: PNWFILE_HANDLE): TNWCCODE; NWLIB_UNKNOWN;
  2727. function NWReadFile(fileHandle: TNWFILE_HANDLE; bytesToRead: Tnuint32; bytesActuallyRead: pnuint32; data: pnuint8): TNWCCODE; NWLIB_UNKNOWN;
  2728. function NWWriteFile(fileHandle: TNWFILE_HANDLE; bytesToWrite: Tnuint32; data: pnuint8): TNWCCODE; NWLIB_UNKNOWN;
  2729. function NWCommitFile(fileHandle: TNWFILE_HANDLE): TNWCCODE; NWLIB_UNKNOWN;
  2730. function NWGetEOF(fileHandle: TNWFILE_HANDLE; getEOF: pnuint32): TNWCCODE; NWLIB_UNKNOWN;
  2731. function NWSetEOF(fileHandle: TNWFILE_HANDLE; setEOF: Tnuint32): TNWCCODE; NWLIB_UNKNOWN;
  2732. function NWGetFilePos(fileHandle: TNWFILE_HANDLE; filePos: pnuint32): TNWCCODE; NWLIB_UNKNOWN;
  2733. function NWSetFilePos(fileHandle: TNWFILE_HANDLE; mode: Tnuint; filePos: Tnuint32): TNWCCODE; NWLIB_UNKNOWN;
  2734. function NWGetFileDirEntryNumber(fileHandle: TNWFILE_HANDLE; volumeNum: pnuint32; directoryEntry: pnuint32; DOSDirectoryEntry: pnuint32; nameSpace: pnuint32;
  2735. dataStream: pnuint32; parentDirEntry: pnuint32; parentDOSDirEntry: pnuint32): TNWCCODE; NWLIB_CALNLM32;
  2736. function NWGetDirectoryEntryNumber(conn: TNWCONN_HANDLE; dirHandle: Tnuint8; volumeNum: pnuint32; directoryEntry: pnuint32; DOSDirectoryEntry: pnuint32;
  2737. nameSpace: pnuint32; parentDirEntry: pnuint32; parentDOSDirEntry: pnuint32): TNWCCODE; NWLIB_CALNLM32;
  2738. function NWGetNSFileDirEntryNumber(fileHandle: TNWFILE_HANDLE; nameSpace: Tnuint8; volumeNum: pnuint32; directoryEntry: pnuint32; dataStream: pnuint32): TNWCCODE; NWLIB_CALNLM32;
  2739. //*****************************************************************************
  2740. //nwmisc.h
  2741. //*****************************************************************************
  2742. const
  2743. NW_SHORT_NAME_SERVER = 0;
  2744. NW_LONG_NAME_SERVER = 1;
  2745. NW_ENCP_SERVER = 1;
  2746. NW_EXTENDED_NCP_SERVER = 1;
  2747. _NETX_COM = $0001;
  2748. _NETX_VLM = $0002;
  2749. _REDIR_LOADED = $4000;
  2750. _VLM_LOADED = $8000;
  2751. type
  2752. PNW_DATE = ^TNW_DATE;
  2753. TNW_DATE = record
  2754. day: Tnuint8;
  2755. month: Tnuint8;
  2756. year: Tnuint16;
  2757. end;
  2758. { hours is a word so that this structure will be the same length as a dword }
  2759. PNW_TIME = ^TNW_TIME;
  2760. TNW_TIME = record
  2761. seconds: Tnuint8;
  2762. minutes: Tnuint8;
  2763. hours: Tnuint16;
  2764. end;
  2765. PNW_REQUESTER_TYPE = ^TNW_REQUESTER_TYPE;
  2766. TNW_REQUESTER_TYPE = Longint;
  2767. const
  2768. NW_LONG_NAME_REQUESTER = 0;
  2769. NW_SHORT_NAME_REQUESTER = 1;
  2770. NW_ERROR_ON_REQUESTER_TYPE = 2;
  2771. type
  2772. PNW_FRAGMENT = ^TNW_FRAGMENT;
  2773. TNW_FRAGMENT = record
  2774. fragAddress: Tnptr;
  2775. fragSize: Tnuint32;
  2776. fragSize16: Tnuint16;
  2777. end;
  2778. PCONN_TASK = ^TCONN_TASK;
  2779. TCONN_TASK = record
  2780. taskNumber: Tnuint16;
  2781. taskState: Tnuint8;
  2782. end;
  2783. { use NW_ constants from nwserver.h }
  2784. { this field is only valid in 3.11 }
  2785. { this field is only valid in 3.11 }
  2786. { this field is only valid in 2.x }
  2787. PCONN_TASK_INFO = ^TCONN_TASK_INFO;
  2788. TCONN_TASK_INFO = record
  2789. serverVersion: Tnuint16;
  2790. lockState: Tnuint8;
  2791. waitingTaskNumber: Tnuint16;
  2792. recordStart: Tnuint32;
  2793. recordEnd: Tnuint32;
  2794. volNumber: Tnuint8;
  2795. dirEntry: Tnuint32;
  2796. nameSpace: Tnuint8;
  2797. dirID: Tnuint16;
  2798. lockedName: array[0..255] of Tnstr8;
  2799. taskCount: Tnuint8;
  2800. tasks: array[0..255] of TCONN_TASK;
  2801. end;
  2802. PDIR_ENTRY = ^TDIR_ENTRY;
  2803. TDIR_ENTRY = record
  2804. volNumber: Tnuint8;
  2805. dirEntry: Tnuint32;
  2806. end;
  2807. procedure NWUnpackDateTime(dateTime: Tnuint32; sDate: PNW_DATE; sTime: PNW_TIME); NWLIB_CALNLM32;
  2808. procedure NWUnpackDate(date: Tnuint16; sDate: PNW_DATE); NWLIB_CALNLM32;
  2809. procedure NWUnpackTime(time: Tnuint16; sTime: PNW_TIME); NWLIB_CALNLM32;
  2810. function NWPackDateTime(sDate: PNW_DATE; sTime: PNW_TIME): Tnuint32; NWLIB_CALNLM32;
  2811. function NWPackDate(sDate: PNW_DATE): Tnuint16; NWLIB_CALNLM32;
  2812. function NWPackTime(sTime: PNW_TIME): Tnuint16; NWLIB_CALNLM32;
  2813. { Avoid using the following three NWConvertDate/Time functions,
  2814. they just call the NWUnpackDate/Time functions. They are here for
  2815. compatibility reasons only. }
  2816. procedure NWConvertDateTime(dateTime: Tnuint32; sDate: PNW_DATE; sTime: PNW_TIME); NWLIB_CALNLM32;
  2817. procedure NWConvertDate(date: Tnuint16; sDate: PNW_DATE); NWLIB_CALNLM32;
  2818. procedure NWConvertTime(time: Tnuint16; sTime: PNW_TIME); NWLIB_CALNLM32;
  2819. function NWRequest(conn: TNWCONN_HANDLE; _function: Tnuint16; numReqFrags: Tnuint16; reqFrags: PNW_FRAGMENT; numReplyFrags: Tnuint16;
  2820. replyFrags: PNW_FRAGMENT): TNWCCODE; NWLIB_CALNLM32;
  2821. function _NWGetRequesterType(_type: PNW_REQUESTER_TYPE): TNWCCODE; NWLIB_CALNLM32;
  2822. function NWWordSwap(swapWord: Tnuint16): Tnuint16; NWLIB_CALNLM32;
  2823. function NWLongSwap(swapLong: Tnuint32): Tnuint32; NWLIB_CALNLM32;
  2824. function NWInitDBCS: Tnint16; NWLIB_UNKNOWN;
  2825. function NWConvertPathToDirEntry(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; path: Pnstr8; dirEntry: PDIR_ENTRY): TNWCCODE; NWLIB_CALNLM32;
  2826. function NWGetTaskInformationByConn(conn: TNWCONN_HANDLE; connNum: Tnuint16; taskInfo: PCONN_TASK_INFO): TNWCCODE; NWLIB_CALNLM32;
  2827. function NWGetRequesterVersion(majorVer: pnuint8; minorVer: pnuint8; revision: pnuint8): TNWCCODE; NWLIB_CALNLM32;
  2828. function NWIsLNSSupportedOnVolume(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; path: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
  2829. function NWConvertFileHandle(fileHandle: TNWFILE_HANDLE; handleType: Tnuint16; NWHandle: pnuint8; conn: PNWCONN_HANDLE): TNWCCODE; NWLIB_CALNLM32;
  2830. function NWConvertFileHandleConnRef(fileHandle: TNWFILE_HANDLE; handleType: Tnuint16; NWHandle: pnuint8; connRef: pnuint32): TNWCCODE; NWLIB_UNKNOWN;
  2831. procedure _NWConvert4ByteTo6ByteHandle(NW4ByteHandle: pnuint8; NW6ByteHandle: pnuint8); NWLIB_CALNLM32;
  2832. function NWEndOfJob: TNWCCODE; NWLIB_UNKNOWN;
  2833. function NWCallsInit(reserved1: Tnptr; reserved2: Tnptr): TNWCCODE; NWLIB_CALNLM32;
  2834. function NWCallsTerm(reserved: Tnptr): TNWCCODE; NWLIB_CALNLM32;
  2835. function NWGetClientType: Tnuint16; NWLIB_CALNLM32;
  2836. function __NWGetNWCallsState: Tnuint16; NWLIB_UNKNOWN;
  2837. function NWSetNetWareErrorMode(errorMode: Tnuint8; prevMode: pnuint8): TNWCCODE; NWLIB_UNKNOWN;
  2838. function NWSetEndOfJobStatus(endOfJobStatus: Tnuint8; prevStatus: pnuint8): TNWCCODE; NWLIB_UNKNOWN;
  2839. procedure NWGetNWCallsVersion(majorVer: pnuint8; minorVer: pnuint8; revLevel: pnuint8; betaLevel: pnuint8); NWLIB_CALNLM32;
  2840. function NWConvertHandle(conn: TNWCONN_HANDLE; accessMode: Tnuint8; NWHandle: pointer; handleSize: Tnuint16; fileSize: Tnuint32;
  2841. fileHandle: PNWFILE_HANDLE): TNWCCODE; NWLIB_CALNLM32;
  2842. //*****************************************************************************
  2843. //nwmsg.h
  2844. //*****************************************************************************
  2845. function NWDisableBroadcasts(conn: TNWCONN_HANDLE): TNWCCODE; NWLIB_CALNLM32;
  2846. function NWEnableBroadcasts(conn: TNWCONN_HANDLE): TNWCCODE; NWLIB_CALNLM32;
  2847. function NWSendBroadcastMessage(conn: TNWCONN_HANDLE; message: Pnstr8; connCount: Tnuint16; connList: Pnuint16; resultList: pnuint8): TNWCCODE; NWLIB_CALNLM32;
  2848. function NWGetBroadcastMessage(conn: TNWCONN_HANDLE; message: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
  2849. function NWSetBroadcastMode(conn: TNWCONN_HANDLE; mode: Tnuint16): TNWCCODE; NWLIB_CALNLM32;
  2850. function NWBroadcastToConsole(conn: TNWCONN_HANDLE; message: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
  2851. function NWSendConsoleBroadcast(conn: TNWCONN_HANDLE; message: Pnstr8; connCount: Tnuint16; connList: pnuint16): TNWCCODE; NWLIB_CALNLM32;
  2852. //*****************************************************************************
  2853. //nwnamspc.h
  2854. //*****************************************************************************
  2855. const
  2856. SUCCESSFUL = 0;
  2857. MORE_NS_TO_READ = 0;
  2858. NO_EXTENDED_NS_INFO = 9;
  2859. NS_EOF = $8910;
  2860. NW_NS_DOS = 0;
  2861. NW_NS_MAC = 1;
  2862. NW_NS_NFS = 2;
  2863. NW_NS_FTAM = 3;
  2864. NW_NS_OS2 = 4;
  2865. NW_NS_LONG = 4;
  2866. NW_DS_DOS = 0;
  2867. NW_DS_MAC = 1;
  2868. NW_DS_FTAM = 2;
  2869. type
  2870. PNWNSINFO = ^TNWNSINFO;
  2871. TNWNSINFO = record
  2872. NSInfoBitMask: Tnuint32;
  2873. fixedBitMask: Tnuint32;
  2874. reservedBitMask: Tnuint32;
  2875. extendedBitMask: Tnuint32;
  2876. fixedBitsDefined: Tnuint16;
  2877. reservedBitsDefined: Tnuint16;
  2878. extendedBitsDefined: Tnuint16;
  2879. fieldsLenTable: array[0..31] of Tnuint32;
  2880. hugeStateInfo: array[0..15] of Tnuint8;
  2881. hugeDataLength: Tnuint32;
  2882. end;
  2883. TNW_NS_INFO = TNWNSINFO;
  2884. PNW_NS_INFO = ^TNW_NS_INFO;
  2885. PNW_ENTRY_INFO = ^TNW_ENTRY_INFO;
  2886. TNW_ENTRY_INFO = record
  2887. spaceAlloc: Tnuint32;
  2888. attributes: Tnuint32;
  2889. flags: Tnuint16;
  2890. dataStreamSize: Tnuint32;
  2891. totalStreamSize: Tnuint32;
  2892. numberOfStreams: Tnuint16;
  2893. creationTime: Tnuint16;
  2894. creationDate: Tnuint16;
  2895. creatorID: Tnuint32;
  2896. modifyTime: Tnuint16;
  2897. modifyDate: Tnuint16;
  2898. modifierID: Tnuint32;
  2899. lastAccessDate: Tnuint16;
  2900. archiveTime: Tnuint16;
  2901. archiveDate: Tnuint16;
  2902. archiverID: Tnuint32;
  2903. inheritedRightsMask: Tnuint16;
  2904. dirEntNum: Tnuint32;
  2905. DosDirNum: Tnuint32;
  2906. volNumber: Tnuint32;
  2907. EADataSize: Tnuint32;
  2908. EAKeyCount: Tnuint32;
  2909. EAKeySize: Tnuint32;
  2910. NSCreator: Tnuint32;
  2911. nameLength: Tnuint8;
  2912. entryName: array[0..255] of Tnstr8;
  2913. end;
  2914. { 255*3 + 1 }
  2915. PNW_ENTRY_INFO_EXT = ^TNW_ENTRY_INFO_EXT;
  2916. TNW_ENTRY_INFO_EXT = record
  2917. spaceAlloc: Tnuint32;
  2918. attributes: Tnuint32;
  2919. flags: Tnuint16;
  2920. dataStreamSize: Tnuint32;
  2921. totalStreamSize: Tnuint32;
  2922. numberOfStreams: Tnuint16;
  2923. creationTime: Tnuint16;
  2924. creationDate: Tnuint16;
  2925. creatorID: Tnuint32;
  2926. modifyTime: Tnuint16;
  2927. modifyDate: Tnuint16;
  2928. modifierID: Tnuint32;
  2929. lastAccessDate: Tnuint16;
  2930. archiveTime: Tnuint16;
  2931. archiveDate: Tnuint16;
  2932. archiverID: Tnuint32;
  2933. inheritedRightsMask: Tnuint16;
  2934. dirEntNum: Tnuint32;
  2935. DosDirNum: Tnuint32;
  2936. volNumber: Tnuint32;
  2937. EADataSize: Tnuint32;
  2938. EAKeyCount: Tnuint32;
  2939. EAKeySize: Tnuint32;
  2940. NSCreator: Tnuint32;
  2941. nameLength: Tnuint16;
  2942. entryName: array[0..765] of Tnstr8;
  2943. end;
  2944. PNW_DATA_STREAM_FAT_INFO = ^TNW_DATA_STREAM_FAT_INFO;
  2945. TNW_DATA_STREAM_FAT_INFO = record
  2946. dataStreamNumber: Tnuint32;
  2947. dataStreamFATBlocksSize: Tnuint32;
  2948. end;
  2949. PNW_DATA_STREAM_SIZE_INFO = ^TNW_DATA_STREAM_SIZE_INFO;
  2950. TNW_DATA_STREAM_SIZE_INFO = record
  2951. dataStreamNumber: Tnuint32;
  2952. dataStreamSize: Tnuint32;
  2953. end;
  2954. PNW_MAC_TIME = ^TNW_MAC_TIME;
  2955. TNW_MAC_TIME = record
  2956. MACCreateTime: Tnuint32;
  2957. MACBackupTime: Tnuint32;
  2958. end;
  2959. PNW_ENTRY_INFO2 = ^TNW_ENTRY_INFO2;
  2960. TNW_ENTRY_INFO2 = record
  2961. spaceAlloc: Tnuint32;
  2962. attributes: Tnuint32;
  2963. flags: Tnuint16;
  2964. dataStreamSize: Tnuint32;
  2965. totalStreamSize: Tnuint32;
  2966. numberOfStreams: Tnuint16;
  2967. EADataSize: Tnuint32;
  2968. EAKeyCount: Tnuint32;
  2969. EAKeySize: Tnuint32;
  2970. archiveTime: Tnuint16;
  2971. archiveDate: Tnuint16;
  2972. archiverID: Tnuint32;
  2973. modifyTime: Tnuint16;
  2974. modifyDate: Tnuint16;
  2975. modifierID: Tnuint32;
  2976. lastAccessDate: Tnuint16;
  2977. creationTime: Tnuint16;
  2978. creationDate: Tnuint16;
  2979. creatorID: Tnuint32;
  2980. NSCreator: Tnuint32;
  2981. dirEntNum: Tnuint32;
  2982. DosDirNum: Tnuint32;
  2983. volNumber: Tnuint32;
  2984. inheritedRightsMask: Tnuint16;
  2985. currentReferenceID: Tnuint16;
  2986. NSFileAttributes: Tnuint32;
  2987. numberOfDataStreamFATInfo: Tnuint32;
  2988. dataStreamFATInfo: array[0..2] of TNW_DATA_STREAM_FAT_INFO;
  2989. numberOfDataStreamSizeInfo: Tnuint32;
  2990. dataStreamSizeInfo: array[0..2] of TNW_DATA_STREAM_SIZE_INFO;
  2991. secondsRelativeToTheYear2000: Tnint32;
  2992. DOSNameLen: Tnuint8;
  2993. DOSName: array[0..12] of Tnstr8;
  2994. flushTime: Tnuint32;
  2995. parentBaseID: Tnuint32;
  2996. MacFinderInfo: array[0..31] of Tnuint8;
  2997. siblingCount: Tnuint32;
  2998. effectiveRights: Tnuint32;
  2999. MacTime: TNW_MAC_TIME;
  3000. lastAccessedTime: Tnuint16;
  3001. nameLength: Tnuint8;
  3002. entryName: array[0..255] of Tnstr8;
  3003. end;
  3004. PMODIFY_DOS_INFO = ^TMODIFY_DOS_INFO;
  3005. TMODIFY_DOS_INFO = record
  3006. attributes: Tnuint32;
  3007. createDate: Tnuint16;
  3008. createTime: Tnuint16;
  3009. creatorID: Tnuint32;
  3010. modifyDate: Tnuint16;
  3011. modifyTime: Tnuint16;
  3012. modifierID: Tnuint32;
  3013. archiveDate: Tnuint16;
  3014. archiveTime: Tnuint16;
  3015. archiverID: Tnuint32;
  3016. lastAccessDate: Tnuint16;
  3017. inheritanceGrantMask: Tnuint16;
  3018. inheritanceRevokeMask: Tnuint16;
  3019. maximumSpace: Tnuint32;
  3020. end;
  3021. PSEARCH_SEQUENCE = ^TSEARCH_SEQUENCE;
  3022. TSEARCH_SEQUENCE = record
  3023. volNumber: Tnuint8;
  3024. dirNumber: Tnuint32;
  3025. searchDirNumber: Tnuint32;
  3026. end;
  3027. PNW_NS_PATH = ^TNW_NS_PATH;
  3028. TNW_NS_PATH = record
  3029. srcPath,
  3030. dstPath: Pnstr8;
  3031. dstPathSize: Tnuint16;
  3032. end;
  3033. PNW_NS_OPENCREATE = ^TNW_NS_OPENCREATE;
  3034. TNW_NS_OPENCREATE = record
  3035. openCreateMode: Tnuint8;
  3036. searchAttributes: Tnuint16;
  3037. reserved: Tnuint32;
  3038. createAttributes: Tnuint32;
  3039. accessRights: Tnuint16;
  3040. NetWareHandle: Tnuint32;
  3041. openCreateAction: Tnuint8;
  3042. end;
  3043. TNW_NS_OPEN = TNW_NS_OPENCREATE;
  3044. PNW_NS_OPEN = ^TNW_NS_OPEN;
  3045. { open/create modes }
  3046. const
  3047. OC_MODE_OPEN = $01;
  3048. OC_MODE_TRUNCATE = $02;
  3049. OC_MODE_REPLACE = $02;
  3050. OC_MODE_CREATE = $08;
  3051. { open/create results }
  3052. OC_ACTION_NONE = $00;
  3053. OC_ACTION_OPEN = $01;
  3054. OC_ACTION_CREATE = $02;
  3055. OC_ACTION_TRUNCATE = $04;
  3056. OC_ACTION_REPLACE = $04;
  3057. { return info mask }
  3058. IM_NAME = $0001;
  3059. IM_ENTRY_NAME = $0001;
  3060. IM_SPACE_ALLOCATED = $0002;
  3061. IM_ATTRIBUTES = $0004;
  3062. IM_SIZE = $0008;
  3063. IM_TOTAL_SIZE = $0010;
  3064. IM_EA = $0020;
  3065. IM_ARCHIVE = $0040;
  3066. IM_MODIFY = $0080;
  3067. IM_CREATION = $0100;
  3068. IM_OWNING_NAMESPACE = $0200;
  3069. IM_DIRECTORY = $0400;
  3070. IM_RIGHTS = $0800;
  3071. IM_ALMOST_ALL = $0FED;
  3072. IM_ALL = $0FFF;
  3073. IM_REFERENCE_ID = $1000;
  3074. IM_NS_ATTRIBUTES = $2000;
  3075. IM_DATASTREAM_SIZES = $4000;
  3076. IM_DATASTREAM_ACTUAL = $4000;
  3077. IM_DATASTREAM_LOGICAL = $8000;
  3078. IM_LASTUPDATEDINSECONDS = $00010000;
  3079. IM_DOSNAME = $00020000;
  3080. IM_FLUSHTIME = $00040000;
  3081. IM_PARENTBASEID = $00080000;
  3082. IM_MACFINDER = $00100000;
  3083. IM_SIBLINGCOUNT = $00200000;
  3084. IM_EFECTIVERIGHTS = $00400000;
  3085. IM_MACTIME = $00800000;
  3086. IM_LASTACCESSEDTIME = $01000000;
  3087. IM_EXTENDED_ALL = $01FFF000;
  3088. IM_NSS_LARGE_SIZES = $40000000;
  3089. IM_COMPRESSED_INFO = $80000000;
  3090. IM_NS_SPECIFIC_INFO = $80000000;
  3091. { access rights attributes }
  3092. const
  3093. NW_TYPE_FILE = $8000;
  3094. NW_TYPE_SUBDIR = $0010;
  3095. NW_NAME_CONVERT = $03;
  3096. NW_NO_NAME_CONVERT = $04;
  3097. { modify mask - use with MODIFY_DOS_INFO structure }
  3098. DM_FILENAME = $0001;
  3099. DM_ATTRIBUTES = $0002;
  3100. DM_CREATE_DATE = $0004;
  3101. DM_CREATE_TIME = $0008;
  3102. DM_CREATOR_ID = $0010;
  3103. DM_ARCHIVE_DATE = $0020;
  3104. DM_ARCHIVE_TIME = $0040;
  3105. DM_ARCHIVER_ID = $0080;
  3106. DM_MODIFY_DATE = $0100;
  3107. DM_MODIFY_TIME = $0200;
  3108. DM_MODIFIER_ID = $0400;
  3109. DM_LAST_ACCESS_DATE = $0800;
  3110. DM_INHERITED_RIGHTS_MASK = $1000;
  3111. DM_MAXIMUM_SPACE = $2000;
  3112. {$IF defined( N_PLAT_NLM )}
  3113. {const
  3114. NWGetNSLoadedList = NWGetNSLoadedList2;
  3115. NWGetNSInfo = NWGetNSInfo2;}
  3116. {$ENDIF}
  3117. function NWGetDirectoryBase(conn: TNWCONN_HANDLE; dirHandle: Tnuint8; path: Pnstr8; dstNamSpc: Tnuint8; idxStruct: PNW_IDX): TNWCCODE; NWLIB_CALNLM32;
  3118. function NWGetDirectoryBaseExt(conn: TNWCONN_HANDLE; dirHandle: Tnuint8; path: Pnstr8; dstNamSpc: Tnuint8; idxStruct: PNW_IDX): TNWCCODE; NWLIB_CALNLM32;
  3119. function NWScanNSEntryInfo(conn: TNWCONN_HANDLE; dirHandle: Tnuint8; namSpc: Tnuint8; attrs: Tnuint16; sequence: PSEARCH_SEQUENCE;
  3120. searchPattern: Pnstr8; retInfoMask: Tnuint32; entryInfo: PNW_ENTRY_INFO): TNWCCODE; NWLIB_CALNLM32;
  3121. function NWScanNSEntryInfoExt(conn: TNWCONN_HANDLE; dirHandle: Tnuint8; namSpc: Tnuint8; attrs: Tnuint16; sequence: PSEARCH_SEQUENCE;
  3122. searchPattern: Pnstr8; retInfoMask: Tnuint32; entryInfo: PNW_ENTRY_INFO_EXT): TNWCCODE; NWLIB_CALNLM32;
  3123. function NWScanNSEntryInfo2(conn: TNWCONN_HANDLE; dirHandle: Tnuint8; namSpc: Tnuint8; attrs: Tnuint16; sequence: PSEARCH_SEQUENCE;
  3124. searchPattern: Pnstr8; retInfoMask: Tnuint32; entryInfo2: PNW_ENTRY_INFO2): TNWCCODE; NWLIB_CALNLM32;
  3125. function NWGetNSLoadedList(conn: TNWCONN_HANDLE; volNum: Tnuint8; maxListLen: Tnuint8; NSLoadedList: pnuint8; actualListLen: pnuint8): TNWCCODE; NWLIB_CLIB;
  3126. function NWGetOwningNameSpace(conn: TNWCONN_HANDLE; dirHandle: Tnuint8; path: Pnstr8; namSpc: pnuint8): TNWCCODE; NWLIB_CALNLM32;
  3127. function NWOpenCreateNSEntry(conn: TNWCONN_HANDLE; dirHandle: Tnuint8; namSpc: Tnuint8; path: Pnstr8; NSOpenCreate: PNW_NS_OPENCREATE;
  3128. fileHandle: PNWFILE_HANDLE): TNWCCODE; NWLIB_CALNLM32;
  3129. function NWOpenCreateNSEntryExt(conn: TNWCONN_HANDLE; dirHandle: Tnuint8; namSpc: Tnuint8; path: Pnstr8; NSOpenCreate: PNW_NS_OPENCREATE;
  3130. fileHandle: PNWFILE_HANDLE): TNWCCODE; NWLIB_CALNLM32;
  3131. function NWOpenNSEntry(conn: TNWCONN_HANDLE; dirHandle: Tnuint8; namSpc: Tnuint8; dataStream: Tnuint8; path: Pnstr8;
  3132. NSOpen: PNW_NS_OPEN; fileHandle: PNWFILE_HANDLE): TNWCCODE; NWLIB_CALNLM32;
  3133. function NWOpenNSEntryExt(conn: TNWCONN_HANDLE; dirHandle: Tnuint8; namSpc: Tnuint8; dataStream: Tnuint8; path: Pnstr8;
  3134. NSOpen: PNW_NS_OPEN; fileHandle: PNWFILE_HANDLE): TNWCCODE; NWLIB_CALNLM32;
  3135. function NWSetLongName(conn: TNWCONN_HANDLE; dirHandle: Tnuint8; namSpc: Tnuint8; dstPath: Pnstr8; dstType: Tnuint16;
  3136. longName: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
  3137. function NWGetLongName(conn: TNWCONN_HANDLE; dirHandle: Tnuint8; path: Pnstr8; srcNamSpc: Tnuint8; dstNamSpc: Tnuint8;
  3138. longName: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
  3139. function NWGetLongNameExt(conn: TNWCONN_HANDLE; dirHandle: Tnuint8; path: Pnstr8; srcNamSpc: Tnuint8; dstNamSpc: Tnuint8;
  3140. longName: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
  3141. function NWGetNSInfo(conn: TNWCONN_HANDLE; idxStruct: PNW_IDX; NSInfo: PNW_NS_INFO): TNWCCODE; NWLIB_CLIB;
  3142. function NWWriteNSInfo(conn: TNWCONN_HANDLE; idxStruct: PNW_IDX; NSInfo: PNW_NS_INFO; data: Pnuint8): TNWCCODE; NWLIB_CALNLM32;
  3143. function NWWriteNSInfoExt(conn: TNWCONN_HANDLE; idxStruct: PNW_IDX; NSInfo: PNW_NS_INFO; data: Pnuint8): TNWCCODE; NWLIB_CALNLM32;
  3144. function NWWriteExtendedNSInfo(conn: TNWCONN_HANDLE; idxStruct: PNW_IDX; NSInfo: PNW_NS_INFO; data: Pnuint8): TNWCCODE; NWLIB_CALNLM32;
  3145. function NWReadNSInfo(conn: TNWCONN_HANDLE; idxStruct: PNW_IDX; NSInfo: PNW_NS_INFO; data: pnuint8): TNWCCODE; NWLIB_CALNLM32;
  3146. function NWReadNSInfoExt(conn: TNWCONN_HANDLE; idxStruct: PNW_IDX; NSInfo: PNW_NS_INFO; data: pnuint8): TNWCCODE; NWLIB_CALNLM32;
  3147. function NWReadExtendedNSInfo(conn: TNWCONN_HANDLE; idxStruct: PNW_IDX; NSInfo: PNW_NS_INFO; data: pnuint8): TNWCCODE; NWLIB_CALNLM32;
  3148. function NWGetNSPath(conn: TNWCONN_HANDLE; dirHandle: Tnuint8; fileFlag: Tnuint16; srcNamSpc: Tnuint8; dstNamSpc: Tnuint8;
  3149. NSPath: PNW_NS_PATH): TNWCCODE; NWLIB_CALNLM32;
  3150. function NWGetNSPathExt(conn: TNWCONN_HANDLE; dirHandle: Tnuint8; fileFlag: Tnuint16; srcNamSpc: Tnuint8; dstNamSpc: Tnuint8;
  3151. NSPath: PNW_NS_PATH): TNWCCODE; NWLIB_CALNLM32;
  3152. function NWAllocTempNSDirHandle2(conn: TNWCONN_HANDLE; dirHandle: Tnuint8; path: Pnstr8; namSpc: Tnuint8; newDirHandle: pnuint8;
  3153. newNamSpc: Tnuint8): TNWCCODE; NWLIB_CALNLM32;
  3154. function NWAllocTempNSDirHandle2Ext(conn: TNWCONN_HANDLE; dirHandle: Tnuint8; path: Pnstr8; namSpc: Tnuint8; newDirHandle: pnuint8;
  3155. newNamSpc: Tnuint8): TNWCCODE; NWLIB_CALNLM32;
  3156. function NWGetNSEntryInfo(conn: TNWCONN_HANDLE; dirHandle: Tnuint8; path: Pnstr8; srcNamSpc: Tnuint8; dstNamSpc: Tnuint8;
  3157. searchAttrs: Tnuint16; retInfoMask: Tnuint32; entryInfo: PNW_ENTRY_INFO): TNWCCODE; NWLIB_CALNLM32;
  3158. function NWGetNSEntryInfoExt(conn: TNWCONN_HANDLE; dirHandle: Tnuint8; path: Pnstr8; srcNamSpc: Tnuint8; dstNamSpc: Tnuint8;
  3159. searchAttrs: Tnuint16; retInfoMask: Tnuint32; entryInfo: PNW_ENTRY_INFO_EXT): TNWCCODE; NWLIB_CALNLM32;
  3160. function NWNSGetMiscInfo(conn: TNWCONN_HANDLE; dirHandle: Tnuint8; path: Pnstr8; dstNameSpace: Tnuint8; idxStruct: PNW_IDX): TNWCCODE; NWLIB_CALNLM32;
  3161. function NWOpenDataStream(conn: TNWCONN_HANDLE; dirHandle: Tnuint8; fileName: Pnstr8; dataStream: Tnuint16; attrs: Tnuint16;
  3162. accessMode: Tnuint16; NWHandle: pnuint32; fileHandle: PNWFILE_HANDLE): TNWCCODE; NWLIB_CALNLM32;
  3163. function NWNSRename(conn: TNWCONN_HANDLE; dirHandle: Tnuint8; namSpc: Tnuint8; oldName: Pnstr8; oldType: Tnuint16;
  3164. newName: Pnstr8; renameFlag: Tnuint8): TNWCCODE; NWLIB_CALNLM32;
  3165. function NWNSRenameExt(conn: TNWCONN_HANDLE; dirHandle: Tnuint8; namSpc: Tnuint8; oldName: Pnstr8; oldType: Tnuint16;
  3166. newName: Pnstr8; renameFlag: Tnuint8): TNWCCODE; NWLIB_CALNLM32;
  3167. function NWSetNSEntryDOSInfo(conn: TNWCONN_HANDLE; dirHandle: Tnuint8; path: Pnstr8; namSpc: Tnuint8; searchAttrs: Tnuint16;
  3168. modifyDOSMask: Tnuint32; dosInfo: PMODIFY_DOS_INFO): TNWCCODE; NWLIB_CALNLM32;
  3169. function NWSetNSEntryDOSInfoExt(conn: TNWCONN_HANDLE; dirHandle: Tnuint8; path: Pnstr8; namSpc: Tnuint8; searchAttrs: Tnuint16;
  3170. modifyDOSMask: Tnuint32; dosInfo: PMODIFY_DOS_INFO): TNWCCODE; NWLIB_CALNLM32;
  3171. function NWGetFullPath(conn: TNWCONN_HANDLE; volNum: Tnuint8; dirBase: Tnuint32; handleFlag: Tnuint16; srcNamSpc: Tnint;
  3172. dstNamSpc: Tnint; maxPathLen: Tnuint16; path: Pnstr8; pathType: pnuint16): TNWCCODE; NWLIB_UNKNOWN;
  3173. function NWDeleteNSEntry(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; fileName: Pnstr8; nameSpace: Tnuint8; searchAttr: Tnuint16): TNWCCODE; NWLIB_CALNLM32;
  3174. function NWDeleteNSEntryExt(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; fileName: Pnstr8; nameSpace: Tnuint8; searchAttr: Tnuint16): TNWCCODE; NWLIB_CALNLM32;
  3175. function NWNSGetDefaultNS(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; path: Pnstr8; pbuDefaultNameSpace: pnuint8): TNWCCODE; NWLIB_CALNLM32;
  3176. function NWScanNSEntryInfoSet(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; buNameSpace: Tnuint8; suAttr: Tnuint16; pIterHnd: PSEARCH_SEQUENCE;
  3177. pbstrSrchPattern: Pnstr8; luRetMask: Tnuint32; pbuMoreEntriesFlag: pnuint8; psuNumReturned: pnuint16; suNumItems: Tnuint16;
  3178. pEntryInfo: PNW_ENTRY_INFO): TNWCCODE; NWLIB_CALNLM32;
  3179. function NWAddTrusteeToNSDirectory(conn: TNWCONN_HANDLE; namSpc: Tnuint8; dirHandle: TNWDIR_HANDLE; path: Pnstr8; trusteeID: Tnuint32;
  3180. rightsMask: Tnuint8): TNWCCODE; NWLIB_CALNLM32;
  3181. function NWDeleteTrusteeFromNSDirectory(conn: TNWCONN_HANDLE; namSpc: Tnuint8; dirHandle: TNWDIR_HANDLE; dirPath: Pnstr8; objID: Tnuint32): TNWCCODE; NWLIB_CALNLM32;
  3182. function NWScanNSDirectoryForTrustees(conn: TNWCONN_HANDLE; namSpc: Tnuint8; dirHandle: TNWDIR_HANDLE; pbstrSrchPath: Pnstr8; pluIterHnd: pnuint32;
  3183. pbstrDirName: Pnstr8; pluDirDateTime: pnuint32; pluOwnerID: pnuint32; trusteeList: PTRUSTEE_INFO): TNWCCODE; NWLIB_CALNLM32;
  3184. function SetCurrentNameSpace(newNameSpace: Tnuint8): Tnuint8; NWLIB_CLIB;
  3185. function SetTargetNameSpace(newNameSpace: Tnuint8): Tnuint8; NWLIB_CLIB;
  3186. //*****************************************************************************
  3187. //nwprint.h
  3188. //*****************************************************************************
  3189. const
  3190. LPT1 = 1;
  3191. LPT2 = 2;
  3192. LPT3 = 3;
  3193. LPT4 = 4;
  3194. LPT5 = 5;
  3195. LPT6 = 6;
  3196. LPT7 = 7;
  3197. LPT8 = 8;
  3198. LPT9 = 9;
  3199. START_CAPTURE = 1;
  3200. END_CAPTURE = 2;
  3201. CANCEL_CAPTURE = 3;
  3202. GET_PRINT_JOB_FLAGS = 4;
  3203. SET_PRINT_JOB_FLAGS = 5;
  3204. GET_BANNER_USER_NAME = 6;
  3205. SET_BANNER_USER_NAME = 7;
  3206. GET_PRINTER_SETUP_STRING = 8;
  3207. SET_PRINTER_SETUP_STRING = 9;
  3208. GET_PRINTER_RESET_STRING = 10;
  3209. SET_PRINTER_RESET_STRING = 11;
  3210. { must be set to zeros }
  3211. type
  3212. PPrintJobStruct = ^TPrintJobStruct;
  3213. TPrintJobStruct = record
  3214. clientStation: Tnuint8;
  3215. clientTask: Tnuint8;
  3216. clientID: Tnuint32;
  3217. targetServerID: Tnuint32;
  3218. targetExecutionTime: array[0..5] of Tnuint8;
  3219. jobEntryTime: array[0..5] of Tnuint8;
  3220. jobNumber: Tnuint16;
  3221. formType: Tnuint16;
  3222. jobPosition: Tnuint8;
  3223. jobControlFlags: Tnuint8;
  3224. jobFileName: array[0..13] of Tnuint8;
  3225. jobFileHandle: array[0..5] of Tnuint8;
  3226. servicingServerStation: Tnuint8;
  3227. servicingServerTask: Tnuint8;
  3228. servicingServerID: Tnuint32;
  3229. jobDescription: array[0..49] of Tnuint8;
  3230. clientJobInfoVer: Tnuint8;
  3231. tabSize: Tnuint8;
  3232. numberCopies: Tnuint16;
  3233. printFlags: Tnuint16;
  3234. maxLines: Tnuint16;
  3235. maxChars: Tnuint16;
  3236. formName: array[0..15] of Tnuint8;
  3237. reserved: array[0..5] of Tnuint8;
  3238. bannerUserName: array[0..12] of Tnuint8;
  3239. bannerFileName: array[0..12] of Tnuint8;
  3240. bannerHeaderFileName: array[0..13] of Tnuint8;
  3241. filePathName: array[0..79] of Tnuint8;
  3242. end;
  3243. { must be set to zeros }
  3244. PNWPrintJobStruct = ^TNWPrintJobStruct;
  3245. TNWPrintJobStruct = record
  3246. clientStation: Tnuint32;
  3247. clientTask: Tnuint32;
  3248. clientID: Tnuint32;
  3249. targetServerID: Tnuint32;
  3250. targetExecutionTime: array[0..5] of Tnuint8;
  3251. jobEntryTime: array[0..5] of Tnuint8;
  3252. jobNumber: Tnuint32;
  3253. formType: Tnuint16;
  3254. jobPosition: Tnuint16;
  3255. jobControlFlags: Tnuint16;
  3256. jobFileName: array[0..13] of Tnuint8;
  3257. jobFileHandle: Tnuint32;
  3258. servicingServerStation: Tnuint32;
  3259. servicingServerTask: Tnuint32;
  3260. servicingServerID: Tnuint32;
  3261. jobDescription: array[0..49] of Tnuint8;
  3262. clientJobInfoVer: Tnuint8;
  3263. tabSize: Tnuint8;
  3264. numberCopies: Tnuint16;
  3265. printFlags: Tnuint16;
  3266. maxLines: Tnuint16;
  3267. maxChars: Tnuint16;
  3268. formName: array[0..15] of Tnuint8;
  3269. reserved: array[0..5] of Tnuint8;
  3270. bannerUserName: array[0..12] of Tnuint8;
  3271. bannerFileName: array[0..12] of Tnuint8;
  3272. bannerHeaderFileName: array[0..13] of Tnuint8;
  3273. filePathName: array[0..79] of Tnuint8;
  3274. end;
  3275. PPRINTER_STATUS = ^TPRINTER_STATUS;
  3276. TPRINTER_STATUS = record
  3277. printerHalted: Tnuint8;
  3278. printerOffline: Tnuint8;
  3279. currentFormType: Tnuint8;
  3280. redirectedPrinter: Tnuint8;
  3281. end;
  3282. { OS/2, VLM only }
  3283. { VLM returns or sets only 12 characters }
  3284. { plus the NULL -- a total of 13 byte's }
  3285. { OS/2, VLM only }
  3286. { DOS/WIN only }
  3287. { DOS/WIN only }
  3288. PNWCAPTURE_FLAGSRW = ^TNWCAPTURE_FLAGSRW;
  3289. TNWCAPTURE_FLAGSRW = record
  3290. jobDescription: array[0..49] of Tnuint8;
  3291. jobControlFlags: Tnuint8;
  3292. tabSize: Tnuint8;
  3293. numCopies: Tnuint16;
  3294. printFlags: Tnuint16;
  3295. maxLines: Tnuint16;
  3296. maxChars: Tnuint16;
  3297. formName: array[0..12] of Tnuint8;
  3298. reserved: array[0..8] of Tnuint8;
  3299. formType: Tnuint16;
  3300. bannerText: array[0..12] of Tnuint8;
  3301. reserved2: Tnuint8;
  3302. flushCaptureTimeout: Tnuint16;
  3303. flushCaptureOnClose: Tnuint8;
  3304. end;
  3305. TNWCAPTURE_FLAGS1 = TNWCAPTURE_FLAGSRW;
  3306. PNWCAPTURE_FLAGS1 = ^TNWCAPTURE_FLAGS1;
  3307. { DOS/WIN only }
  3308. { DOS/WIN only }
  3309. { DOS/WIN only }
  3310. { DOS/WIN only }
  3311. { DOS/WIN only }
  3312. { DOS/WIN only }
  3313. { VLM only }
  3314. PNWCAPTURE_FLAGSRO = ^TNWCAPTURE_FLAGSRO;
  3315. TNWCAPTURE_FLAGSRO = record
  3316. connID: TNWCONN_HANDLE;
  3317. queueID: Tnuint32;
  3318. setupStringMaxLen: Tnuint16;
  3319. resetStringMaxLen: Tnuint16;
  3320. LPTCaptureFlag: Tnuint8;
  3321. fileCaptureFlag: Tnuint8;
  3322. timingOutFlag: Tnuint8;
  3323. inProgress: Tnuint8;
  3324. printQueueFlag: Tnuint8;
  3325. printJobValid: Tnuint8;
  3326. queueName: array[0..64] of Tnstr8;
  3327. end;
  3328. TNWCAPTURE_FLAGS2 = TNWCAPTURE_FLAGSRO;
  3329. PNWCAPTURE_FLAGS2 = ^TNWCAPTURE_FLAGS2;
  3330. { DOS/WIN only }
  3331. { DOS/WIN only }
  3332. { DOS/WIN only }
  3333. { DOS/WIN only }
  3334. { DOS/WIN only }
  3335. { DOS/WIN only }
  3336. { VLM only }
  3337. type
  3338. PNWCAPTURE_FLAGSRO3 = ^TNWCAPTURE_FLAGSRO3;
  3339. TNWCAPTURE_FLAGSRO3 = record
  3340. connRef: Tnuint32;
  3341. queueID: Tnuint32;
  3342. setupStringMaxLen: Tnuint16;
  3343. resetStringMaxLen: Tnuint16;
  3344. LPTCaptureFlag: Tnuint8;
  3345. fileCaptureFlag: Tnuint8;
  3346. timingOutFlag: Tnuint8;
  3347. inProgress: Tnuint8;
  3348. printQueueFlag: Tnuint8;
  3349. printJobValid: Tnuint8;
  3350. queueName: array[0..64] of Tnstr8;
  3351. end;
  3352. TNWCAPTURE_FLAGS3 = TNWCAPTURE_FLAGSRO3;
  3353. PNWCAPTURE_FLAGS3 = ^TNWCAPTURE_FLAGS3;
  3354. PCaptureFlagsStruct = ^TCaptureFlagsStruct;
  3355. TCaptureFlagsStruct = record
  3356. status: Tnuint8;
  3357. flags: Tnuint8;
  3358. tabSize: Tnuint8;
  3359. serverPrinter: Tnuint8;
  3360. numberCopies: Tnuint8;
  3361. formType: Tnuint8;
  3362. reserved: Tnuint8;
  3363. bannerText: array[0..12] of Tnuint8;
  3364. reserved2: Tnuint8;
  3365. localLPTDevice: Tnuint8;
  3366. captureTimeOutCount: Tnuint16;
  3367. captureOnDeviceClose: Tnuint8;
  3368. end;
  3369. function NWGetPrinterDefaults(status: pnuint8; flags: pnuint8; tabSize: pnuint8; serverPrinter: pnuint8; numberCopies: pnuint8;
  3370. formType: pnuint8; bannerText: Pnstr8; localLPTDevice: pnuint8; captureTimeOutCount: pnuint16; captureOnDeviceClose: pnuint8): TNWCCODE; NWLIB_UNKNOWN;
  3371. function NWSetPrinterDefaults(flags: Tnuint8; tabSize: Tnuint8; serverPrinter: Tnuint8; numberCopies: Tnuint8; formType: Tnuint8;
  3372. bannerText: Pnstr8; localLPTDevice: Tnuint8; captureTimeOutCount: Tnuint16; captureOnDeviceClose: Tnuint8): TNWCCODE; NWLIB_UNKNOWN;
  3373. function NWStartLPTCapture(deviceID: Tnuint16): TNWCCODE; NWLIB_UNKNOWN;
  3374. function NWGetLPTCaptureStatus(conn: PNWCONN_HANDLE): TNWCCODE; NWLIB_UNKNOWN;
  3375. function NWSpoolStartCapture(deviceID: Tnuint16; queueID: Tnuint32; conn: TNWCONN_HANDLE; scope: Tnuint16): TNWCCODE; NWLIB_UNKNOWN;
  3376. function NWSpoolEndCapture(deviceID: Tnuint16; scope: Tnuint16): TNWCCODE; NWLIB_CALNLM32;
  3377. function NWSpoolCancelCapture(deviceID: Tnuint16; scope: Tnuint16): TNWCCODE; NWLIB_CALNLM32;
  3378. function NWSpoolGetBannerUserName(username: Pnstr8; mode: Tnuint16; scope: pnuint16): TNWCCODE; NWLIB_CALNLM32;
  3379. function NWSpoolSetBannerUserName(username: Pnstr8; scope: Tnuint16): TNWCCODE; NWLIB_CALNLM32;
  3380. function NWGetPrinterStatus(conn: TNWCONN_HANDLE; printerNumber: Tnuint16; status: PPRINTER_STATUS): TNWCCODE; NWLIB_CALNLM32;
  3381. function NWStartQueueCapture(conn: TNWCONN_HANDLE; LPTDevice: Tnuint8; queueID: Tnuint32; queueName: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
  3382. function NWGetCaptureStatus(LPTDevice: Tnuint8): TNWCCODE; NWLIB_CALNLM32;
  3383. function NWFlushCapture(LPTDevice: Tnuint8): TNWCCODE; NWLIB_CALNLM32;
  3384. function NWEndCapture(LPTDevice: Tnuint8): TNWCCODE; NWLIB_CALNLM32;
  3385. function NWCancelCapture(LPTDevice: Tnuint8): TNWCCODE; NWLIB_CALNLM32;
  3386. function NWGetBannerUserName(userName: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
  3387. function NWSetBannerUserName(userName: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
  3388. function NWGetCaptureFlags(LPTDevice: Tnuint8; captureFlags1: PNWCAPTURE_FLAGS1; captureFlags2: PNWCAPTURE_FLAGS2): TNWCCODE; NWLIB_CALNLM32;
  3389. function NWGetCaptureFlagsConnRef(LPTDevice: Tnuint8; captureFlags1: PNWCAPTURE_FLAGS1; captureFlags3: PNWCAPTURE_FLAGS3): TNWCCODE; NWLIB_UNKNOWN;
  3390. function NWSetCaptureFlags(conn: TNWCONN_HANDLE; LPTDevice: Tnuint8; captureFlags1: PNWCAPTURE_FLAGS1): TNWCCODE; NWLIB_CALNLM32;
  3391. function NWGetPrinterStrings(LPTDevice: Tnuint8; setupStringLen: pnuint16; setupString: Pnstr8; resetStringLen: pnuint16; resetString: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
  3392. function NWSetPrinterStrings(LPTDevice: Tnuint8; setupStringLen: Tnuint16; setupString: Pnstr8; resetStringLen: Tnuint16; resetString: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
  3393. function NWGetMaxPrinters(numPrinters: pnuint16): TNWCCODE; NWLIB_CALNLM32;
  3394. //*****************************************************************************
  3395. //nwqms.h
  3396. //*****************************************************************************
  3397. const
  3398. QF_AUTO_START = $08;
  3399. QF_ENTRY_RESTART = $10;
  3400. QF_ENTRY_OPEN = $20;
  3401. QF_USER_HOLD = $40;
  3402. QF_OPERATOR_HOLD = $80;
  3403. QS_CANT_ADD_JOBS = $01;
  3404. QS_SERVERS_CANT_ATTACH = $02;
  3405. QS_CANT_SERVICE_JOBS = $04;
  3406. {
  3407. This struct is taken from NLM platform in the nwqueue.h file. This
  3408. structure is the format for a print queue only. Other queue types
  3409. might have different structures. Used with the clientRecordArea field
  3410. in some of the structures listed below.
  3411. }
  3412. type
  3413. PQueuePrintJobStruct = ^TQueuePrintJobStruct;
  3414. TQueuePrintJobStruct = record
  3415. versionNumber: Tnuint8;
  3416. tabSize: Tnuint8;
  3417. numberOfCopies: Tnuint16;
  3418. printControlFlags: Tnuint16;
  3419. maxLinesPerPage: Tnuint16;
  3420. maxCharsPerLine: Tnuint16;
  3421. formName: array[0..12] of Tnuint8;
  3422. reserve: array[0..8] of Tnuint8;
  3423. bannerNameField: array[0..12] of Tnuint8;
  3424. bannerFileField: array[0..12] of Tnuint8;
  3425. bannerFileName: array[0..13] of Tnuint8;
  3426. directoryPath: array[0..79] of Tnuint8;
  3427. end;
  3428. PQueueJobStruct = ^TQueueJobStruct;
  3429. TQueueJobStruct = record
  3430. clientStation: Tnuint8;
  3431. clientTask: Tnuint8;
  3432. clientID: Tnuint32;
  3433. targetServerID: Tnuint32;
  3434. targetExecutionTime: array[0..5] of Tnuint8;
  3435. jobEntryTime: array[0..5] of Tnuint8;
  3436. jobNumber: Tnuint16;
  3437. jobType: Tnuint16;
  3438. jobPosition: Tnuint8;
  3439. jobControlFlags: Tnuint8;
  3440. jobFileName: array[0..13] of Tnuint8;
  3441. jobFileHandle: array[0..5] of Tnuint8;
  3442. servicingServerStation: Tnuint8;
  3443. servicingServerTask: Tnuint8;
  3444. servicingServerID: Tnuint32;
  3445. jobDescription: array[0..49] of Tnuint8;
  3446. clientRecordArea: array[0..151] of Tnuint8;
  3447. end;
  3448. PReplyJobStruct = ^TReplyJobStruct;
  3449. TReplyJobStruct = record
  3450. clientStation: Tnuint8;
  3451. clientTask: Tnuint8;
  3452. clientID: Tnuint32;
  3453. targetServerID: Tnuint32;
  3454. targetExecutionTime: array[0..5] of Tnuint8;
  3455. jobEntryTime: array[0..5] of Tnuint8;
  3456. jobNumber: Tnuint16;
  3457. jobType: Tnuint16;
  3458. jobPosition: Tnuint8;
  3459. jobControlFlags: Tnuint8;
  3460. jobFileName: array[0..13] of Tnuint8;
  3461. jobFileHandle: array[0..5] of Tnuint8;
  3462. servicingServerStation: Tnuint8;
  3463. servicingServerTask: Tnuint8;
  3464. servicingServerID: Tnuint32;
  3465. end;
  3466. PNWQueueJobStruct = ^TNWQueueJobStruct;
  3467. TNWQueueJobStruct = record
  3468. clientStation: Tnuint32;
  3469. clientTask: Tnuint32;
  3470. clientID: Tnuint32;
  3471. targetServerID: Tnuint32;
  3472. targetExecutionTime: array[0..5] of Tnuint8;
  3473. jobEntryTime: array[0..5] of Tnuint8;
  3474. jobNumber: Tnuint32;
  3475. jobType: Tnuint16;
  3476. jobPosition: Tnuint16;
  3477. jobControlFlags: Tnuint16;
  3478. jobFileName: array[0..13] of Tnuint8;
  3479. jobFileHandle: Tnuint32;
  3480. servicingServerStation: Tnuint32;
  3481. servicingServerTask: Tnuint32;
  3482. servicingServerID: Tnuint32;
  3483. jobDescription: array[0..49] of Tnuint8;
  3484. clientRecordArea: array[0..151] of Tnuint8;
  3485. end;
  3486. PNWReplyJobStruct = ^TNWReplyJobStruct;
  3487. TNWReplyJobStruct = record
  3488. clientStation: Tnuint32;
  3489. clientTask: Tnuint32;
  3490. clientID: Tnuint32;
  3491. targetServerID: Tnuint32;
  3492. targetExecutionTime: array[0..5] of Tnuint8;
  3493. jobEntryTime: array[0..5] of Tnuint8;
  3494. jobNumber: Tnuint32;
  3495. jobType: Tnuint16;
  3496. jobPosition: Tnuint16;
  3497. jobControlFlags: Tnuint16;
  3498. jobFileName: array[0..13] of Tnuint8;
  3499. jobFileHandle: Tnuint32;
  3500. servicingServerStation: Tnuint32;
  3501. servicingServerTask: Tnuint32;
  3502. servicingServerID: Tnuint32;
  3503. end;
  3504. { 250 to hold job #'s for old NCP }
  3505. PQueueJobListReply = ^TQueueJobListReply;
  3506. TQueueJobListReply = record
  3507. totalQueueJobs: Tnuint32;
  3508. replyQueueJobNumbers: Tnuint32;
  3509. jobNumberList: array[0..249] of Tnuint32;
  3510. end;
  3511. function NWCreateQueueFile(conn: TNWCONN_HANDLE; queueID: Tnuint32; job: PQueueJobStruct; fileHandle: PNWFILE_HANDLE): TNWCCODE; NWLIB_CALNLM32;
  3512. function NWCreateQueueFile2(conn: TNWCONN_HANDLE; queueID: Tnuint32; job: PNWQueueJobStruct; fileHandle: PNWFILE_HANDLE): TNWCCODE; NWLIB_CALNLM32;
  3513. function NWCloseFileAndStartQueueJob(conn: TNWCONN_HANDLE; queueID: Tnuint32; jobNumber: Tnuint16; fileHandle: TNWFILE_HANDLE): TNWCCODE; NWLIB_CALNLM32;
  3514. function NWCloseFileAndStartQueueJob2(conn: TNWCONN_HANDLE; queueID: Tnuint32; jobNumber: Tnuint32; fileHandle: TNWFILE_HANDLE): TNWCCODE; NWLIB_CALNLM32;
  3515. function NWCloseFileAndAbortQueueJob(conn: TNWCONN_HANDLE; queueID: Tnuint32; jobNumber: Tnuint16; fileHandle: TNWFILE_HANDLE): TNWCCODE; NWLIB_CALNLM32;
  3516. function NWCloseFileAndAbortQueueJob2(conn: TNWCONN_HANDLE; queueID: Tnuint32; jobNumber: Tnuint32; fileHandle: TNWFILE_HANDLE): TNWCCODE; NWLIB_CALNLM32;
  3517. function NWRemoveJobFromQueue(conn: TNWCONN_HANDLE; queueID: Tnuint32; jobNumber: Tnuint16): TNWCCODE; NWLIB_CALNLM32;
  3518. function NWRemoveJobFromQueue2(conn: TNWCONN_HANDLE; queueID: Tnuint32; jobNumber: Tnuint32): TNWCCODE; NWLIB_CALNLM32;
  3519. function NWGetQueueJobList(conn: TNWCONN_HANDLE; queueID: Tnuint32; jobCount: pnuint16; jobList: pnuint16): TNWCCODE; NWLIB_CALNLM32;
  3520. function NWGetQueueJobList2(conn: TNWCONN_HANDLE; queueID: Tnuint32; queueStartPos: Tnuint32; job: PQueueJobListReply): TNWCCODE; NWLIB_CALNLM32;
  3521. function NWReadQueueJobEntry(conn: TNWCONN_HANDLE; queueID: Tnuint32; jobNumber: Tnuint16; job: PQueueJobStruct): TNWCCODE; NWLIB_CALNLM32;
  3522. function NWReadQueueJobEntry2(conn: TNWCONN_HANDLE; queueID: Tnuint32; jobNumber: Tnuint32; job: PNWQueueJobStruct): TNWCCODE; NWLIB_CALNLM32;
  3523. function NWGetQueueJobFileSize(conn: TNWCONN_HANDLE; queueID: Tnuint32; jobNumber: Tnuint16; fileSize: pnuint32): TNWCCODE; NWLIB_CALNLM32;
  3524. function NWGetQueueJobFileSize2(conn: TNWCONN_HANDLE; queueID: Tnuint32; jobNumber: Tnuint32; fileSize: pnuint32): TNWCCODE; NWLIB_CALNLM32;
  3525. function NWChangeQueueJobEntry(conn: TNWCONN_HANDLE; queueID: Tnuint32; job: PQueueJobStruct): TNWCCODE; NWLIB_CALNLM32;
  3526. function NWChangeQueueJobEntry2(conn: TNWCONN_HANDLE; queueID: Tnuint32; job: PNWQueueJobStruct): TNWCCODE; NWLIB_CALNLM32;
  3527. function NWChangeQueueJobPosition(conn: TNWCONN_HANDLE; queueID: Tnuint32; jobNumber: Tnuint16; newJobPos: Tnuint8): TNWCCODE; NWLIB_CALNLM32;
  3528. function NWChangeQueueJobPosition2(conn: TNWCONN_HANDLE; queueID: Tnuint32; jobNumber: Tnuint32; newJobPos: Tnuint32): TNWCCODE; NWLIB_CALNLM32;
  3529. function NWServiceQueueJob(conn: TNWCONN_HANDLE; queueID: Tnuint32; targetJobType: Tnuint16; job: PQueueJobStruct; fileHandle: PNWFILE_HANDLE): TNWCCODE; NWLIB_CALNLM32;
  3530. function NWServiceQueueJob2(conn: TNWCONN_HANDLE; queueID: Tnuint32; targetJobType: Tnuint16; job: PNWQueueJobStruct; fileHandle: PNWFILE_HANDLE): TNWCCODE; NWLIB_CALNLM32;
  3531. function NWAbortServicingQueueJob(conn: TNWCONN_HANDLE; QueueID: Tnuint32; JobNumber: Tnuint16; fileHandle: TNWFILE_HANDLE): TNWCCODE; NWLIB_CALNLM32;
  3532. function NWAbortServicingQueueJob2(conn: TNWCONN_HANDLE; QueueID: Tnuint32; JobNumber: Tnuint32; fileHandle: TNWFILE_HANDLE): TNWCCODE; NWLIB_CALNLM32;
  3533. function NWChangeToClientRights(conn: TNWCONN_HANDLE; queueID: Tnuint32; jobNumber: Tnuint16): TNWCCODE; NWLIB_CALNLM32;
  3534. function NWChangeToClientRights2(conn: TNWCONN_HANDLE; queueID: Tnuint32; jobNumber: Tnuint32): TNWCCODE; NWLIB_CALNLM32;
  3535. function NWFinishServicingQueueJob(conn: TNWCONN_HANDLE; queueID: Tnuint32; jobNumber: Tnuint16; fileHandle: TNWFILE_HANDLE): TNWCCODE; NWLIB_CALNLM32;
  3536. function NWFinishServicingQueueJob2(conn: TNWCONN_HANDLE; queueID: Tnuint32; jobNumber: Tnuint32; fileHandle: TNWFILE_HANDLE): TNWCCODE; NWLIB_CALNLM32;
  3537. function NWGetPrinterQueueID(conn: TNWCONN_HANDLE; printerNum: Tnuint16; queueID: pnuint32): TNWCCODE; NWLIB_CALNLM32;
  3538. function NWCreateQueue(conn: TNWCONN_HANDLE; queueName: Pnstr8; queueType: Tnuint16; dirPath: Tnuint8; path: Pnstr8;
  3539. queueID: pnuint32): TNWCCODE; NWLIB_CALNLM32;
  3540. function NWDestroyQueue(conn: TNWCONN_HANDLE; queueID: Tnuint32): TNWCCODE; NWLIB_CALNLM32;
  3541. function NWReadQueueCurrentStatus(conn: TNWCONN_HANDLE; queueID: Tnuint32; queueStatus: pnuint8; numberOfJobs: pnuint16; numberOfServers: pnuint16;
  3542. serverIDlist: pnuint32; serverConnList: pnuint16): TNWCCODE; NWLIB_CALNLM32;
  3543. function NWReadQueueCurrentStatus2(conn: TNWCONN_HANDLE; queueID: Tnuint32; queueStatus: pnuint32; numberOfJobs: pnuint32; numberOfServers: pnuint32;
  3544. serverIDlist: pnuint32; serverConnList: pnuint32): TNWCCODE; NWLIB_CALNLM32;
  3545. function NWSetQueueCurrentStatus(conn: TNWCONN_HANDLE; queueID: Tnuint32; queueStatus: Tnuint8): TNWCCODE; NWLIB_CALNLM32;
  3546. function NWSetQueueCurrentStatus2(conn: TNWCONN_HANDLE; queueID: Tnuint32; queueStatus: Tnuint32): TNWCCODE; NWLIB_CALNLM32;
  3547. function NWReadQueueServerCurrentStatus(conn: TNWCONN_HANDLE; queueID: Tnuint32; serverID: Tnuint32; serverConn: Tnuint16; statusRec: Tnptr): TNWCCODE; NWLIB_CALNLM32;
  3548. function NWReadQueueServerCurrentStatus2(conn: TNWCONN_HANDLE; queueID: Tnuint32; serverID: Tnuint32; serverConn: Tnuint32; statusRec: Tnptr): TNWCCODE; NWLIB_CALNLM32;
  3549. function NWAttachQueueServerToQueue(conn: TNWCONN_HANDLE; queueID: Tnuint32): TNWCCODE; NWLIB_CALNLM32;
  3550. function NWDetachQueueServerFromQueue(conn: TNWCONN_HANDLE; queueID: Tnuint32): TNWCCODE; NWLIB_CALNLM32;
  3551. function NWRestoreQueueServerRights(conn: TNWCONN_HANDLE): TNWCCODE; NWLIB_CALNLM32;
  3552. function NWSetQueueServerCurrentStatus(conn: TNWCONN_HANDLE; queueID: Tnuint32; statusRec: pointer): TNWCCODE; NWLIB_CALNLM32;
  3553. //*****************************************************************************
  3554. //nwserver.h
  3555. //*****************************************************************************
  3556. const
  3557. LNS_CHECK = 0;
  3558. VERSION_CHECK = 1;
  3559. NW_2X = 0;
  3560. NW_30 = 1;
  3561. NW_311 = 2;
  3562. NW_32 = 3;
  3563. NW_40 = 4;
  3564. type
  3565. PVERSION_INFO = ^TVERSION_INFO;
  3566. TVERSION_INFO = record
  3567. serverName: array[0..47] of Tnuint8;
  3568. fileServiceVersion: Tnuint8;
  3569. fileServiceSubVersion: Tnuint8;
  3570. maximumServiceConnections: Tnuint16;
  3571. connectionsInUse: Tnuint16;
  3572. maxNumberVolumes: Tnuint16;
  3573. revision: Tnuint8;
  3574. SFTLevel: Tnuint8;
  3575. TTSLevel: Tnuint8;
  3576. maxConnectionsEverUsed: Tnuint16;
  3577. accountVersion: Tnuint8;
  3578. VAPVersion: Tnuint8;
  3579. queueVersion: Tnuint8;
  3580. printVersion: Tnuint8;
  3581. virtualConsoleVersion: Tnuint8;
  3582. restrictionLevel: Tnuint8;
  3583. internetBridge: Tnuint8;
  3584. reserved: array[0..59] of Tnuint8;
  3585. end;
  3586. PNETWARE_PRODUCT_VERSION = ^TNETWARE_PRODUCT_VERSION;
  3587. TNETWARE_PRODUCT_VERSION = record
  3588. majorVersion: Tnuint16;
  3589. minorVersion: Tnuint16;
  3590. revision: Tnuint16;
  3591. end;
  3592. { Defines that are used for the NWCheckNetWareVersion call for values
  3593. that can be returned in the compatibilityFlag byte. }
  3594. const
  3595. COMPATIBLE = $00;
  3596. VERSION_NUMBER_TOO_LOW = $01;
  3597. SFT_LEVEL_TOO_LOW = $02;
  3598. TTS_LEVEL_TOO_LOW = $04;
  3599. function NWCheckConsolePrivileges(conn: TNWCONN_HANDLE): TNWCCODE; NWLIB_CALNLM32;
  3600. function NWDownFileServer(conn: TNWCONN_HANDLE; forceFlag: Tnuint8): TNWCCODE; NWLIB_CALNLM32;
  3601. function NWGetFileServerDateAndTime(conn: TNWCONN_HANDLE; dateTimeBuffer: pnuint8): TNWCCODE; NWLIB_CALNLM32;
  3602. function NWSetFileServerDateAndTime(conn: TNWCONN_HANDLE; year: Tnuint8; month: Tnuint8; day: Tnuint8; hour: Tnuint8;
  3603. minute: Tnuint8; second: Tnuint8): TNWCCODE; NWLIB_CALNLM32;
  3604. function NWCheckNetWareVersion(conn: TNWCONN_HANDLE; minVer: Tnuint16; minSubVer: Tnuint16; minRev: Tnuint16; minSFT: Tnuint16;
  3605. minTTS: Tnuint16; compatibilityFlag: pnuint8): TNWCCODE; NWLIB_CALNLM32;
  3606. function NWGetFileServerVersionInfo(conn: TNWCONN_HANDLE; versBuffer: PVERSION_INFO): TNWCCODE; NWLIB_CALNLM32;
  3607. function NWGetNetWareProductVersion(conn: TNWCONN_HANDLE; version: PNETWARE_PRODUCT_VERSION): TNWCCODE; NWLIB_CALNLM32;
  3608. function NWGetFileServerInformation(conn: TNWCONN_HANDLE; serverName: Pnstr8; majorVer: pnuint8; minVer: pnuint8; rev: pnuint8;
  3609. maxConns: pnuint16; maxConnsUsed: pnuint16; connsInUse: pnuint16; numVolumes: pnuint16; SFTLevel: pnuint8;
  3610. TTSLevel: pnuint8): TNWCCODE; NWLIB_CALNLM32;
  3611. function NWGetFileServerExtendedInfo(conn: TNWCONN_HANDLE; accountingVer: pnuint8; VAPVer: pnuint8; queueingVer: pnuint8; printServerVer: pnuint8;
  3612. virtualConsoleVer: pnuint8; securityVer: pnuint8; internetBridgeVer: pnuint8): TNWCCODE; NWLIB_CALNLM32;
  3613. function _NWGetFileServerType(conn: TNWCONN_HANDLE; typeFlag: Tnuint16; serverType: pnuint16): TNWCCODE; NWLIB_CALNLM32;
  3614. function NWAttachToFileServer(serverName: Pnstr8; scopeFlag: Tnuint16; newConnID: PNWCONN_HANDLE): TNWCCODE; NWLIB_CALNLM32;
  3615. function NWGetFileServerLoginStatus(conn: TNWCONN_HANDLE; loginEnabledFlag: pnuint8): TNWCCODE; NWLIB_CALNLM32;
  3616. function NWLogoutFromFileServer(conn: TNWCONN_HANDLE): TNWCCODE; NWLIB_CALNLM32;
  3617. function NWLoginToFileServer(conn: TNWCONN_HANDLE; objName: Pnstr8; objType: Tnuint16; password: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
  3618. function NWEnableFileServerLogin(conn: TNWCONN_HANDLE): TNWCCODE; NWLIB_CALNLM32;
  3619. function NWDisableFileServerLogin(conn: TNWCONN_HANDLE): TNWCCODE; NWLIB_CALNLM32;
  3620. function NWGetFileServerDescription(conn: TNWCONN_HANDLE; companyName: Pnstr8; revision: Pnstr8; revisionDate: Pnstr8; copyrightNotice: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
  3621. function NWAttachToFileServerByConn(conn: TNWCONN_HANDLE; serverName: Pnstr8; scopeFlag: Tnuint16; newConnID: PNWCONN_HANDLE): TNWCCODE; NWLIB_CALNLM32;
  3622. function NWGetNetworkSerialNumber(conn: TNWCONN_HANDLE; serialNum: pnuint32; appNum: pnuint16): TNWCCODE; NWLIB_CALNLM32;
  3623. function NWIsManager(conn: TNWCONN_HANDLE): TNWCCODE; NWLIB_CALNLM32;
  3624. //*****************************************************************************
  3625. //nwsync.h
  3626. //*****************************************************************************
  3627. type
  3628. PLOGICAL_LOCK = ^TLOGICAL_LOCK;
  3629. TLOGICAL_LOCK = record
  3630. connNumber: Tnuint16;
  3631. taskNumber: Tnuint16;
  3632. lockStatus: Tnuint8;
  3633. end;
  3634. PLOGICAL_LOCKS = ^TLOGICAL_LOCKS;
  3635. TLOGICAL_LOCKS = record
  3636. useCount: Tnuint16;
  3637. shareableLockCount: Tnuint16;
  3638. locked: Tnuint8;
  3639. nextRequest: Tnuint16;
  3640. numRecords: Tnuint16;
  3641. logicalLock: array[0..127] of TLOGICAL_LOCK;
  3642. curRecord: Tnuint16;
  3643. end;
  3644. PCONN_LOGICAL_LOCK = ^TCONN_LOGICAL_LOCK;
  3645. TCONN_LOGICAL_LOCK = record
  3646. taskNumber: Tnuint16;
  3647. lockStatus: Tnuint8;
  3648. logicalName: array[0..127] of Tnstr8;
  3649. end;
  3650. PCONN_LOGICAL_LOCKS = ^TCONN_LOGICAL_LOCKS;
  3651. TCONN_LOGICAL_LOCKS = record
  3652. nextRequest: Tnuint16;
  3653. numRecords: Tnuint16;
  3654. records: array[0..507] of Tnuint8;
  3655. curOffset: Tnuint16;
  3656. curRecord: Tnuint16;
  3657. end;
  3658. PPHYSICAL_LOCK = ^TPHYSICAL_LOCK;
  3659. TPHYSICAL_LOCK = record
  3660. loggedCount: Tnuint16;
  3661. shareableLockCount: Tnuint16;
  3662. recordStart: Tnuint32;
  3663. recordEnd: Tnuint32;
  3664. connNumber: Tnuint16;
  3665. taskNumber: Tnuint16;
  3666. lockType: Tnuint8;
  3667. end;
  3668. PPHYSICAL_LOCKS = ^TPHYSICAL_LOCKS;
  3669. TPHYSICAL_LOCKS = record
  3670. nextRequest: Tnuint16;
  3671. numRecords: Tnuint16;
  3672. locks: array[0..31] of TPHYSICAL_LOCK;
  3673. curRecord: Tnuint16;
  3674. reserved: array[0..7] of Tnuint8;
  3675. end;
  3676. PCONN_PHYSICAL_LOCK = ^TCONN_PHYSICAL_LOCK;
  3677. TCONN_PHYSICAL_LOCK = record
  3678. taskNumber: Tnuint16;
  3679. lockType: Tnuint8;
  3680. recordStart: Tnuint32;
  3681. recordEnd: Tnuint32;
  3682. end;
  3683. PCONN_PHYSICAL_LOCKS = ^TCONN_PHYSICAL_LOCKS;
  3684. TCONN_PHYSICAL_LOCKS = record
  3685. nextRequest: Tnuint16;
  3686. numRecords: Tnuint16;
  3687. locks: array[0..50] of TCONN_PHYSICAL_LOCK;
  3688. curRecord: Tnuint16;
  3689. reserved: array[0..21] of Tnuint8;
  3690. end;
  3691. PSEMAPHORE = ^TSEMAPHORE;
  3692. TSEMAPHORE = record
  3693. connNumber: Tnuint16;
  3694. taskNumber: Tnuint16;
  3695. end;
  3696. PSEMAPHORES = ^TSEMAPHORES;
  3697. TSEMAPHORES = record
  3698. nextRequest: Tnuint16;
  3699. openCount: Tnuint16;
  3700. semaphoreValue: Tnuint16;
  3701. semaphoreCount: Tnuint16;
  3702. semaphores: array[0..169] of TSEMAPHORE;
  3703. curRecord: Tnuint16;
  3704. end;
  3705. PCONN_SEMAPHORE = ^TCONN_SEMAPHORE;
  3706. TCONN_SEMAPHORE = record
  3707. openCount: Tnuint16;
  3708. semaphoreValue: Tnuint16;
  3709. taskNumber: Tnuint16;
  3710. semaphoreName: array[0..127] of Tnstr8;
  3711. end;
  3712. PCONN_SEMAPHORES = ^TCONN_SEMAPHORES;
  3713. TCONN_SEMAPHORES = record
  3714. nextRequest: Tnuint16;
  3715. numRecords: Tnuint16;
  3716. records: array[0..507] of Tnuint8;
  3717. curOffset: Tnuint16;
  3718. curRecord: Tnuint16;
  3719. end;
  3720. function NWScanPhysicalLocksByFile(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; path: Pnstr8; dataStream: Tnuint8; iterHandle: pnint16;
  3721. lock: PPHYSICAL_LOCK; locks: PPHYSICAL_LOCKS): TNWCCODE; NWLIB_CALNLM32;
  3722. function NWScanLogicalLocksByConn(conn: TNWCONN_HANDLE; connNum: Tnuint16; iterHandle: pnint16; logicalLock: PCONN_LOGICAL_LOCK; logicalLocks: PCONN_LOGICAL_LOCKS): TNWCCODE; NWLIB_CALNLM32;
  3723. function NWScanPhysicalLocksByConnFile(conn: TNWCONN_HANDLE; connNum: Tnuint16; dirHandle: TNWDIR_HANDLE; path: Pnstr8; dataStream: Tnuint8;
  3724. iterHandle: pnint16; lock: PCONN_PHYSICAL_LOCK; locks: PCONN_PHYSICAL_LOCKS): TNWCCODE; NWLIB_CALNLM32;
  3725. function NWScanLogicalLocksByName(conn: TNWCONN_HANDLE; logicalName: Pnstr8; iterHandle: pnint16; logicalLock: PLOGICAL_LOCK; logicalLocks: PLOGICAL_LOCKS): TNWCCODE; NWLIB_CALNLM32;
  3726. function NWScanSemaphoresByConn(conn: TNWCONN_HANDLE; connNum: Tnuint16; iterHandle: pnint16; semaphore: PCONN_SEMAPHORE; semaphores: PCONN_SEMAPHORES): TNWCCODE; NWLIB_CALNLM32;
  3727. function NWScanSemaphoresByName(conn: TNWCONN_HANDLE; semName: Pnstr8; iterHandle: pnint16; semaphore: PSEMAPHORE; semaphores: PSEMAPHORES): TNWCCODE; NWLIB_CALNLM32;
  3728. function NWSignalSemaphore(conn: TNWCONN_HANDLE; semHandle: Tnuint32): TNWCCODE; NWLIB_CALNLM32;
  3729. function NWCloseSemaphore(conn: TNWCONN_HANDLE; semHandle: Tnuint32): TNWCCODE; NWLIB_CALNLM32;
  3730. function NWOpenSemaphore(conn: TNWCONN_HANDLE; semName: Pnstr8; initSemHandle: Tnint16; semHandle: pnuint32; semOpenCount: pnuint16): TNWCCODE; NWLIB_CALNLM32;
  3731. function NWExamineSemaphore(conn: TNWCONN_HANDLE; semHandle: Tnuint32; semValue: pnint16; semOpenCount: pnuint16): TNWCCODE; NWLIB_CALNLM32;
  3732. function NWWaitOnSemaphore(conn: TNWCONN_HANDLE; semHandle: Tnuint32; timeOutValue: Tnuint16): TNWCCODE; NWLIB_CALNLM32;
  3733. //*****************************************************************************
  3734. //nwtts.h
  3735. //*****************************************************************************
  3736. type
  3737. PTTS_STATS = ^TTTS_STATS;
  3738. TTTS_STATS = record
  3739. systemElapsedTime: Tnuint32;
  3740. TTS_Supported: Tnuint8;
  3741. TTS_Enabled: Tnuint8;
  3742. TTS_VolumeNumber: Tnuint16;
  3743. TTS_MaxOpenTransactions: Tnuint16;
  3744. TTS_MaxTransactionsOpened: Tnuint16;
  3745. TTS_CurrTransactionsOpen: Tnuint16;
  3746. TTS_TotalTransactions: Tnuint32;
  3747. TTS_TotalWrites: Tnuint32;
  3748. TTS_TotalBackouts: Tnuint32;
  3749. TTS_UnfilledBackouts: Tnuint16;
  3750. TTS_DiskBlocksInUse: Tnuint16;
  3751. TTS_FATAllocations: Tnuint32;
  3752. TTS_FileSizeChanges: Tnuint32;
  3753. TTS_FilesTruncated: Tnuint32;
  3754. numberOfTransactions: Tnuint8;
  3755. connTask: array[0..234] of record
  3756. connNumber: Tnuint8;
  3757. taskNumber: Tnuint8;
  3758. end;
  3759. end;
  3760. function NWTTSAbortTransaction(conn: TNWCONN_HANDLE): TNWCCODE; NWLIB_CALNLM32;
  3761. function NWTTSBeginTransaction(conn: TNWCONN_HANDLE): TNWCCODE; NWLIB_CALNLM32;
  3762. function NWTTSIsAvailable(conn: TNWCONN_HANDLE): TNWCCODE; NWLIB_CALNLM32;
  3763. function NWTTSGetControlFlags(conn: TNWCONN_HANDLE; controlFlags: pnuint8): TNWCCODE; NWLIB_CALNLM32;
  3764. function NWTTSSetControlFlags(conn: TNWCONN_HANDLE; controlFlags: Tnuint8): TNWCCODE; NWLIB_CALNLM32;
  3765. function NWTTSEndTransaction(conn: TNWCONN_HANDLE; transactionNum: pnuint32): TNWCCODE; NWLIB_CALNLM32;
  3766. function NWTTSTransactionStatus(conn: TNWCONN_HANDLE; transactionNum: Tnuint32): TNWCCODE; NWLIB_CALNLM32;
  3767. function NWTTSGetProcessThresholds(conn: TNWCONN_HANDLE; logicalLockLevel: pnuint8; physicalLockLevel: pnuint8): TNWCCODE; NWLIB_CALNLM32;
  3768. function NWTTSSetProcessThresholds(conn: TNWCONN_HANDLE; logicalLockLevel: Tnuint8; physicalLockLevel: Tnuint8): TNWCCODE; NWLIB_CALNLM32;
  3769. function NWTTSGetConnectionThresholds(conn: TNWCONN_HANDLE; logicalLockLevel: pnuint8; physicalLockLevel: pnuint8): TNWCCODE; NWLIB_CALNLM32;
  3770. function NWTTSSetConnectionThresholds(conn: TNWCONN_HANDLE; logicalLockLevel: Tnuint8; physicalLockLevel: Tnuint8): TNWCCODE; NWLIB_CALNLM32;
  3771. function NWEnableTTS(conn: TNWCONN_HANDLE): TNWCCODE; NWLIB_CALNLM32;
  3772. function NWDisableTTS(conn: TNWCONN_HANDLE): TNWCCODE; NWLIB_CALNLM32;
  3773. function NWGetTTSStats(conn: TNWCONN_HANDLE; ttsStats: PTTS_STATS): TNWCCODE; NWLIB_CALNLM32;
  3774. //*****************************************************************************
  3775. //nwvol.h
  3776. //*****************************************************************************
  3777. { define volume types }
  3778. const
  3779. VINetWare386 = 0;
  3780. VINetWare286 = 1;
  3781. VINetWare386v30 = 2;
  3782. VINetWare386v31 = 3;
  3783. { define the extended volume information status flag bits }
  3784. NWSubAllocEnabledBit = $01;
  3785. NWCompressionEnabledBit = $02;
  3786. NWMigrationEnabledBit = $04;
  3787. NWAuditingEnabledBit = $08;
  3788. NWReadOnlyEnabledBit = $10;
  3789. NWPSSEnabledBit = $80000000;
  3790. { define the constant for volume request flag for NWScanMountedVolumeList }
  3791. NW_VOLUME_NUMBER_ONLY = 0;
  3792. NW_VOLUME_NUMBER_AND_NAME = 1;
  3793. type
  3794. PNWOBJ_REST = ^TNWOBJ_REST;
  3795. TNWOBJ_REST = record
  3796. objectID: Tnuint32;
  3797. restriction: Tnuint32;
  3798. end;
  3799. PNWVolumeRestrictions = ^TNWVolumeRestrictions;
  3800. TNWVolumeRestrictions = record
  3801. numberOfEntries: Tnuint8;
  3802. resInfo: array[0..11] of record
  3803. objectID: Tnuint32;
  3804. restriction: Tnuint32;
  3805. end;
  3806. end;
  3807. PNWVOL_RESTRICTIONS = ^TNWVOL_RESTRICTIONS;
  3808. TNWVOL_RESTRICTIONS = record
  3809. numberOfEntries: Tnuint8;
  3810. resInfo: array[0..15] of record
  3811. objectID: Tnuint32;
  3812. restriction: Tnuint32;
  3813. end;
  3814. end;
  3815. PVOL_STATS = ^TVOL_STATS;
  3816. TVOL_STATS = record
  3817. systemElapsedTime: Tnint32;
  3818. volumeNumber: Tnuint8;
  3819. logicalDriveNumber: Tnuint8;
  3820. sectorsPerBlock: Tnuint16;
  3821. startingBlock: Tnuint16;
  3822. totalBlocks: Tnuint16;
  3823. availableBlocks: Tnuint16;
  3824. totalDirectorySlots: Tnuint16;
  3825. availableDirectorySlots: Tnuint16;
  3826. maxDirectorySlotsUsed: Tnuint16;
  3827. isHashing: Tnuint8;
  3828. isCaching: Tnuint8;
  3829. isRemovable: Tnuint8;
  3830. isMounted: Tnuint8;
  3831. volumeName: array[0..15] of Tnstr8;
  3832. end;
  3833. { non freeable }
  3834. PExtendedVolInfo_tag = ^TExtendedVolInfo_tag;
  3835. TExtendedVolInfo_tag = record
  3836. volType: Tnuint32;
  3837. statusFlag: Tnuint32;
  3838. sectorSize: Tnuint32;
  3839. sectorsPerCluster: Tnuint32;
  3840. volSizeInClusters: Tnuint32;
  3841. freeClusters: Tnuint32;
  3842. subAllocFreeableClusters: Tnuint32;
  3843. freeableLimboSectors: Tnuint32;
  3844. nonfreeableLimboSectors: Tnuint32;
  3845. availSubAllocSectors: Tnuint32;
  3846. nonuseableSubAllocSectors: Tnuint32;
  3847. subAllocClusters: Tnuint32;
  3848. numDataStreams: Tnuint32;
  3849. numLimboDataStreams: Tnuint32;
  3850. oldestDelFileAgeInTicks: Tnuint32;
  3851. numCompressedDataStreams: Tnuint32;
  3852. numCompressedLimboDataStreams: Tnuint32;
  3853. numNoncompressibleDataStreams: Tnuint32;
  3854. precompressedSectors: Tnuint32;
  3855. compressedSectors: Tnuint32;
  3856. numMigratedDataStreams: Tnuint32;
  3857. migratedSectors: Tnuint32;
  3858. clustersUsedByFAT: Tnuint32;
  3859. clustersUsedByDirs: Tnuint32;
  3860. clustersUsedByExtDirs: Tnuint32;
  3861. totalDirEntries: Tnuint32;
  3862. unusedDirEntries: Tnuint32;
  3863. totalExtDirExtants: Tnuint32;
  3864. unusedExtDirExtants: Tnuint32;
  3865. extAttrsDefined: Tnuint32;
  3866. extAttrExtantsUsed: Tnuint32;
  3867. DirectoryServicesObjectID: Tnuint32;
  3868. volLastModifiedDateAndTime: Tnuint32;
  3869. end;
  3870. TNWVolExtendedInfo = TExtendedVolInfo_tag;
  3871. PNWVolExtendedInfo = ^TNWVolExtendedInfo;
  3872. PNWVolMountNumWithName_tag = ^TNWVolMountNumWithName_tag;
  3873. TNWVolMountNumWithName_tag = record
  3874. volumeNumber: Tnuint32;
  3875. volumeName: array[0..(NW_MAX_VOLUME_NAME_LEN) - 1] of Tnstr8;
  3876. end;
  3877. TNWVolMountNumWithName = TNWVolMountNumWithName_tag;
  3878. PNWVolMountNumWithName = ^TNWVolMountNumWithName;
  3879. function NWGetDiskUtilization(conn: TNWCONN_HANDLE; objID: Tnuint32; volNum: Tnuint8; usedDirectories: pnuint16; usedFiles: pnuint16;
  3880. usedBlocks: pnuint16): TNWCCODE; NWLIB_CALNLM32;
  3881. function NWGetObjDiskRestrictions(conn: TNWCONN_HANDLE; volNumber: Tnuint8; objectID: Tnuint32; restriction: pnuint32; inUse: pnuint32): TNWCCODE; NWLIB_CALNLM32;
  3882. function NWScanVolDiskRestrictions(conn: TNWCONN_HANDLE; volNum: Tnuint8; iterhandle: pnuint32; volInfo: PNWVolumeRestrictions): TNWCCODE; NWLIB_CALNLM32;
  3883. function NWScanVolDiskRestrictions2(conn: TNWCONN_HANDLE; volNum: Tnuint8; iterhandle: pnuint32; volInfo: PNWVOL_RESTRICTIONS): TNWCCODE; NWLIB_CALNLM32;
  3884. function NWRemoveObjectDiskRestrictions(conn: TNWCONN_HANDLE; volNum: Tnuint8; objID: Tnuint32): TNWCCODE; NWLIB_CALNLM32;
  3885. function NWSetObjectVolSpaceLimit(conn: TNWCONN_HANDLE; volNum: Tnuint16; objID: Tnuint32; restriction: Tnuint32): TNWCCODE; NWLIB_CALNLM32;
  3886. function NWGetVolumeInfoWithHandle(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; volName: Pnstr8; totalBlocks: pnuint16; sectorsPerBlock: pnuint16;
  3887. availableBlocks: pnuint16; totalDirEntries: pnuint16; availableDirEntries: pnuint16; volIsRemovableFlag: pnuint16): TNWCCODE; NWLIB_CALNLM32;
  3888. function NWGetVolumeInfoWithNumber(conn: TNWCONN_HANDLE; volNum: Tnuint16; volName: Pnstr8; totalBlocks: pnuint16; sectorsPerBlock: pnuint16;
  3889. availableBlocks: pnuint16; totalDirEntries: pnuint16; availableDirEntries: pnuint16; volIsRemovableFlag: pnuint16): TNWCCODE; NWLIB_CALNLM32;
  3890. function NWGetVolumeName(conn: TNWCONN_HANDLE; volNum: Tnuint16; volName: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
  3891. function NWGetVolumeNumber(conn: TNWCONN_HANDLE; volName: Pnstr8; volNum: pnuint16): TNWCCODE; NWLIB_CALNLM32;
  3892. function NWGetVolumeStats(conn: TNWCONN_HANDLE; volNum: Tnuint8; volInfo: PVOL_STATS): TNWCCODE; NWLIB_CALNLM32;
  3893. function NWGetExtendedVolumeInfo(conn: TNWCONN_HANDLE; volNum: Tnuint16; volInfo: PNWVolExtendedInfo): TNWCCODE; NWLIB_CLIB;
  3894. function NWGetExtendedVolumeInfo2(conn: TNWCONN_HANDLE; volNum: Tnuint16; volInfo: PNWVolExtendedInfo): TNWCCODE; NWLIB_CLIB;
  3895. function NWScanMountedVolumeList(conn: TNWCONN_HANDLE; volRequestFlags: Tnuint32; nameSpace: Tnuint32; iterHandle: pnuint32; numberItems: Tnuint32;
  3896. numberReturned: pnuint32; volMountArr: PNWVolMountNumWithName): TNWCCODE; NWLIB_CALNLM32;
  3897. //*****************************************************************************
  3898. //nwacct.h
  3899. //*****************************************************************************
  3900. type
  3901. PHOLDS_INFO = ^THOLDS_INFO;
  3902. THOLDS_INFO = record
  3903. objectID: Tnuint32;
  3904. amount: Tnint32;
  3905. end;
  3906. PHOLDS_STATUS = ^THOLDS_STATUS;
  3907. THOLDS_STATUS = record
  3908. holdsCount: Tnuint16;
  3909. holds: array[0..15] of THOLDS_INFO;
  3910. end;
  3911. function NWGetAccountStatus(conn: TNWCONN_HANDLE; objType: Tnuint16; objName: Pnstr8; balance: pnint32; limit: pnint32;
  3912. holds: PHOLDS_STATUS): TNWCCODE; NWLIB_CALNLM32;
  3913. function NWQueryAccountingInstalled(conn: TNWCONN_HANDLE; installed: pnuint8): TNWCCODE; NWLIB_CALNLM32;
  3914. function NWSubmitAccountCharge(conn: TNWCONN_HANDLE; objType: Tnuint16; objName: Pnstr8; serviceType: Tnuint16; chargeAmt: Tnint32;
  3915. holdCancelAmt: Tnint32; noteType: Tnuint16; note: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
  3916. function NWSubmitAccountHold(conn: TNWCONN_HANDLE; objType: Tnuint16; objName: Pnstr8; holdAmt: Tnint32): TNWCCODE; NWLIB_CALNLM32;
  3917. function NWSubmitAccountNote(conn: TNWCONN_HANDLE; objType: Tnuint16; objName: Pnstr8; serviceType: Tnuint16; noteType: Tnuint16;
  3918. note: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
  3919. //*****************************************************************************
  3920. //nwfse.h
  3921. //*****************************************************************************
  3922. type
  3923. PSERVER_AND_VCONSOLE_INFO = ^TSERVER_AND_VCONSOLE_INFO;
  3924. TSERVER_AND_VCONSOLE_INFO = record
  3925. currentServerTime: Tnuint32;
  3926. vconsoleVersion: Tnuint8;
  3927. vconsoleRevision: Tnuint8;
  3928. end;
  3929. { Get Cache Information }
  3930. PCACHE_COUNTERS = ^TCACHE_COUNTERS;
  3931. TCACHE_COUNTERS = record
  3932. readExistingBlockCount: Tnuint32;
  3933. readExistingWriteWaitCount: Tnuint32;
  3934. readExistingPartialReadCount: Tnuint32;
  3935. readExistingReadErrorCount: Tnuint32;
  3936. writeBlockCount: Tnuint32;
  3937. writeEntireBlockCount: Tnuint32;
  3938. getDiskCount: Tnuint32;
  3939. getDiskNeedToAllocCount: Tnuint32;
  3940. getDiskSomeoneBeatMeCount: Tnuint32;
  3941. getDiskPartialReadCount: Tnuint32;
  3942. getDiskReadErrorCount: Tnuint32;
  3943. getAsyncDiskCount: Tnuint32;
  3944. getAsyncDiskNeedToAlloc: Tnuint32;
  3945. getAsyncDiskSomeoneBeatMe: Tnuint32;
  3946. errorDoingAsyncReadCount: Tnuint32;
  3947. getDiskNoReadCount: Tnuint32;
  3948. getDiskNoReadAllocCount: Tnuint32;
  3949. getDiskNoReadSomeoneBeatMeCount: Tnuint32;
  3950. diskWriteCount: Tnuint32;
  3951. diskWriteAllocCount: Tnuint32;
  3952. diskWriteSomeoneBeatMeCount: Tnuint32;
  3953. writeErrorCount: Tnuint32;
  3954. waitOnSemaphoreCount: Tnuint32;
  3955. allocBlockWaitForSomeoneCount: Tnuint32;
  3956. allocBlockCount: Tnuint32;
  3957. allocBlockWaitCount: Tnuint32;
  3958. end;
  3959. PCACHE_MEM_COUNTERS = ^TCACHE_MEM_COUNTERS;
  3960. TCACHE_MEM_COUNTERS = record
  3961. originalNumOfCacheBuffers: Tnuint32;
  3962. currentNumOfCacheBuffers: Tnuint32;
  3963. cacheDirtyBlockThreshold: Tnuint32;
  3964. waitNodeCount: Tnuint32;
  3965. waitNodeAllocFailureCount: Tnuint32;
  3966. moveCacheNodeCount: Tnuint32;
  3967. moveCacheNodeFromAvailCount: Tnuint32;
  3968. accelerateCacheNodeWriteCount: Tnuint32;
  3969. removeCacheNodeCount: Tnuint32;
  3970. removeCacheNodeFromAvailCount: Tnuint32;
  3971. end;
  3972. PCACHE_TREND_COUNTERS = ^TCACHE_TREND_COUNTERS;
  3973. TCACHE_TREND_COUNTERS = record
  3974. numCacheChecks: Tnuint32;
  3975. numCacheHits: Tnuint32;
  3976. numDirtyCacheChecks: Tnuint32;
  3977. numDirtyCacheHits: Tnuint32;
  3978. cacheUsedWhileChecking: Tnuint32;
  3979. waitForDirtyBlocksDecreaseCount: Tnuint32;
  3980. allocBlockFromAvailCount: Tnuint32;
  3981. allocBlockFromLRUCount: Tnuint32;
  3982. allocBlockAlreadyWaiting: Tnuint32;
  3983. LRUSittingTime: Tnuint32;
  3984. end;
  3985. PCACHE_INFO = ^TCACHE_INFO;
  3986. TCACHE_INFO = record
  3987. maxByteCount: Tnuint32;
  3988. minNumOfCacheBuffers: Tnuint32;
  3989. minCacheReportThreshold: Tnuint32;
  3990. allocWaitingCount: Tnuint32;
  3991. numDirtyBlocks: Tnuint32;
  3992. cacheDirtyWaitTime: Tnuint32;
  3993. cacheMaxConcurrentWrites: Tnuint32;
  3994. maxDirtyTime: Tnuint32;
  3995. numOfDirCacheBuffers: Tnuint32;
  3996. cacheByteToBlockShiftFactor: Tnuint32;
  3997. end;
  3998. PNWFSE_CACHE_INFO = ^TNWFSE_CACHE_INFO;
  3999. TNWFSE_CACHE_INFO = record
  4000. serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
  4001. reserved: Tnuint16;
  4002. cacheCounters: TCACHE_COUNTERS;
  4003. cacheMemCounters: TCACHE_MEM_COUNTERS;
  4004. cacheTrendCounters: TCACHE_TREND_COUNTERS;
  4005. cacheInformation: TCACHE_INFO;
  4006. end;
  4007. { Get File Server Information }
  4008. { writeHeldOffWithDuplicateRequest }
  4009. PFSE_SERVER_INFO = ^TFSE_SERVER_INFO;
  4010. TFSE_SERVER_INFO = record
  4011. replyCanceledCount: Tnuint32;
  4012. writeHeldOffCount: Tnuint32;
  4013. writeHeldOffWithDupRequest: Tnuint32;
  4014. invalidRequestTypeCount: Tnuint32;
  4015. beingAbortedCount: Tnuint32;
  4016. alreadyDoingReallocCount: Tnuint32;
  4017. deAllocInvalidSlotCount: Tnuint32;
  4018. deAllocBeingProcessedCount: Tnuint32;
  4019. deAllocForgedPacketCount: Tnuint32;
  4020. deAllocStillTransmittingCount: Tnuint32;
  4021. startStationErrorCount: Tnuint32;
  4022. invalidSlotCount: Tnuint32;
  4023. beingProcessedCount: Tnuint32;
  4024. forgedPacketCount: Tnuint32;
  4025. stillTransmittingCount: Tnuint32;
  4026. reExecuteRequestCount: Tnuint32;
  4027. invalidSequenceNumCount: Tnuint32;
  4028. duplicateIsBeingSentAlreadyCnt: Tnuint32;
  4029. sentPositiveAcknowledgeCount: Tnuint32;
  4030. sentDuplicateReplyCount: Tnuint32;
  4031. noMemForStationCtrlCount: Tnuint32;
  4032. noAvailableConnsCount: Tnuint32;
  4033. reallocSlotCount: Tnuint32;
  4034. reallocSlotCameTooSoonCount: Tnuint32;
  4035. end;
  4036. PFILE_SERVER_COUNTERS = ^TFILE_SERVER_COUNTERS;
  4037. TFILE_SERVER_COUNTERS = record
  4038. tooManyHops: Tnuint16;
  4039. unknownNetwork: Tnuint16;
  4040. noSpaceForService: Tnuint16;
  4041. noReceiveBuffers: Tnuint16;
  4042. notMyNetwork: Tnuint16;
  4043. netBIOSProgatedCount: Tnuint32;
  4044. totalPacketsServiced: Tnuint32;
  4045. totalPacketsRouted: Tnuint32;
  4046. end;
  4047. PNWFSE_FILE_SERVER_INFO = ^TNWFSE_FILE_SERVER_INFO;
  4048. TNWFSE_FILE_SERVER_INFO = record
  4049. serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
  4050. reserved: Tnuint16;
  4051. NCPStationsInUseCount: Tnuint32;
  4052. NCPPeakStationsInUseCount: Tnuint32;
  4053. numOfNCPRequests: Tnuint32;
  4054. serverUtilization: Tnuint32;
  4055. ServerInfo: TFSE_SERVER_INFO;
  4056. fileServerCounters: TFILE_SERVER_COUNTERS;
  4057. end;
  4058. { Netware File Systems Information }
  4059. PFSE_FILE_SYSTEM_INFO = ^TFSE_FILE_SYSTEM_INFO;
  4060. TFSE_FILE_SYSTEM_INFO = record
  4061. FATMovedCount: Tnuint32;
  4062. FATWriteErrorCount: Tnuint32;
  4063. someoneElseDidItCount0: Tnuint32;
  4064. someoneElseDidItCount1: Tnuint32;
  4065. someoneElseDidItCount2: Tnuint32;
  4066. iRanOutSomeoneElseDidItCount0: Tnuint32;
  4067. iRanOutSomeoneElseDidItCount1: Tnuint32;
  4068. iRanOutSomeoneElseDidItCount2: Tnuint32;
  4069. turboFATBuildScrewedUpCount: Tnuint32;
  4070. extraUseCountNodeCount: Tnuint32;
  4071. extraExtraUseCountNodeCount: Tnuint32;
  4072. errorReadingLastFATCount: Tnuint32;
  4073. someoneElseUsingThisFileCount: Tnuint32;
  4074. end;
  4075. PNWFSE_FILE_SYSTEM_INFO = ^TNWFSE_FILE_SYSTEM_INFO;
  4076. TNWFSE_FILE_SYSTEM_INFO = record
  4077. serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
  4078. reserved: Tnuint16;
  4079. fileSystemInfo: TFSE_FILE_SYSTEM_INFO;
  4080. end;
  4081. { User Information }
  4082. { status }
  4083. const
  4084. FSE_LOGGED_IN = $00000001;
  4085. FSE_BEING_ABORTED = $00000002;
  4086. FSE_AUDITED = $00000004;
  4087. FSE_NEEDS_SECURITY_CHANGE = $00000008;
  4088. FSE_MAC_STATION = $00000010;
  4089. FSE_AUTHENTICATED_TEMPORARY = $00000020;
  4090. FSE_AUDIT_CONNECTION_RECORDED = $00000040;
  4091. FSE_DSAUDIT_CONNECTION_RECORDED = $00000080;
  4092. { fileWriteFlags }
  4093. FSE_WRITE = 1;
  4094. FSE_WRITE_ABORTED = 2;
  4095. { fileWriteState }
  4096. FSE_NOT_WRITING = 0;
  4097. FSE_WRITE_IN_PROGRESS = 1;
  4098. FSE_WRITE_BEING_STOPPED = 2;
  4099. { Includes active and stop bits }
  4100. type
  4101. PUSER_INFO = ^TUSER_INFO;
  4102. TUSER_INFO = record
  4103. connNum: Tnuint32;
  4104. useCount: Tnuint32;
  4105. connServiceType: Tnuint8;
  4106. loginTime: array[0..6] of Tnuint8;
  4107. status: Tnuint32;
  4108. expirationTime: Tnuint32;
  4109. objType: Tnuint32;
  4110. transactionFlag: Tnuint8;
  4111. logicalLockThreshold: Tnuint8;
  4112. recordLockThreshold: Tnuint8;
  4113. fileWriteFlags: Tnuint8;
  4114. fileWriteState: Tnuint8;
  4115. filler: Tnuint8;
  4116. fileLockCount: Tnuint16;
  4117. recordLockCount: Tnuint16;
  4118. totalBytesRead: array[0..5] of Tnuint8;
  4119. totalBytesWritten: array[0..5] of Tnuint8;
  4120. totalRequests: Tnuint32;
  4121. heldRequests: Tnuint32;
  4122. heldBytesRead: array[0..5] of Tnuint8;
  4123. heldBytesWritten: array[0..5] of Tnuint8;
  4124. end;
  4125. PNWFSE_USER_INFO = ^TNWFSE_USER_INFO;
  4126. TNWFSE_USER_INFO = record
  4127. serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
  4128. reserved: Tnuint16;
  4129. userInfo: TUSER_INFO;
  4130. end;
  4131. { Packet Burst Information }
  4132. { writeTooManyBuffersCheckedOutCount }
  4133. { writeDidntNeedButRequestedACKCount }
  4134. PPACKET_BURST_INFO = ^TPACKET_BURST_INFO;
  4135. TPACKET_BURST_INFO = record
  4136. bigInvalidSlotCount: Tnuint32;
  4137. bigForgedPacketCount: Tnuint32;
  4138. bigInvalidPacketCount: Tnuint32;
  4139. bigStillTransmittingCount: Tnuint32;
  4140. stillDoingTheLastRequestCount: Tnuint32;
  4141. invalidCtrlRequestCount: Tnuint32;
  4142. ctrlInvalidMessageNumCount: Tnuint32;
  4143. ctrlBeingTornDownCount: Tnuint32;
  4144. bigRepeatTheFileReadCount: Tnuint32;
  4145. bigSendExtraCCCount: Tnuint32;
  4146. bigReturnAbortMessageCount: Tnuint32;
  4147. bigReadInvalidMessageNumCount: Tnuint32;
  4148. bigReadDoItOverCount: Tnuint32;
  4149. bigReadBeingTornDownCount: Tnuint32;
  4150. previousCtrlPacketCount: Tnuint32;
  4151. sendHoldOffMessageCount: Tnuint32;
  4152. bigReadNoDataAvailableCount: Tnuint32;
  4153. bigReadTryingToReadTooMuchCount: Tnuint32;
  4154. asyncReadErrorCount: Tnuint32;
  4155. bigReadPhysicalReadErrorCount: Tnuint32;
  4156. ctrlBadACKFragmentListCount: Tnuint32;
  4157. ctrlNoDataReadCount: Tnuint32;
  4158. writeDuplicateRequestCount: Tnuint32;
  4159. shouldntBeACKingHereCount: Tnuint32;
  4160. writeInconsistentPktLengthsCnt: Tnuint32;
  4161. firstPacketIsntAWriteCount: Tnuint32;
  4162. writeTrashedDuplicateRequestCnt: Tnuint32;
  4163. bigWriteInvalidMessageNumCount: Tnuint32;
  4164. bigWriteBeingTornDownCount: Tnuint32;
  4165. bigWriteBeingAbortedCount: Tnuint32;
  4166. zeroACKFragmentCountCount: Tnuint32;
  4167. writeCurrentlyTransmittingCount: Tnuint32;
  4168. tryingToWriteTooMuchCount: Tnuint32;
  4169. writeOutOfMemForCtrlNodesCount: Tnuint32;
  4170. writeDidntNeedThisFragmentCount: Tnuint32;
  4171. writeTooManyBuffsCheckedOutCnt: Tnuint32;
  4172. writeTimeOutCount: Tnuint32;
  4173. writeGotAnACKCount: Tnuint32;
  4174. writeGotAnACKCount1: Tnuint32;
  4175. pollerAbortedTheConnCount: Tnuint32;
  4176. maybeHadOutOfOrderWritesCount: Tnuint32;
  4177. hadAnOutOfOrderWriteCount: Tnuint32;
  4178. movedTheACKBitDownCount: Tnuint32;
  4179. bumpedOutOfOrderWriteCount: Tnuint32;
  4180. pollerRemovedOldOutOfOrderCount: Tnuint32;
  4181. writeDidntNeedButRequestACKCnt: Tnuint32;
  4182. writeTrashedPacketCount: Tnuint32;
  4183. tooManyACKFragmentsCount: Tnuint32;
  4184. savedAnOutOfOrderPacketCount: Tnuint32;
  4185. connBeingAbortedCount: Tnuint32;
  4186. end;
  4187. PNWFSE_PACKET_BURST_INFO = ^TNWFSE_PACKET_BURST_INFO;
  4188. TNWFSE_PACKET_BURST_INFO = record
  4189. serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
  4190. reserved: Tnuint16;
  4191. packetBurstInfo: TPACKET_BURST_INFO;
  4192. end;
  4193. { IPX SPX Information }
  4194. PIPX_INFO = ^TIPX_INFO;
  4195. TIPX_INFO = record
  4196. IPXSendPacketCount: Tnuint32;
  4197. IPXMalformPacketCount: Tnuint16;
  4198. IPXGetECBRequestCount: Tnuint32;
  4199. IPXGetECBFailCount: Tnuint32;
  4200. IPXAESEventCount: Tnuint32;
  4201. IPXPostponedAESCount: Tnuint16;
  4202. IPXMaxConfiguredSocketCount: Tnuint16;
  4203. IPXMaxOpenSocketCount: Tnuint16;
  4204. IPXOpenSocketFailCount: Tnuint16;
  4205. IPXListenECBCount: Tnuint32;
  4206. IPXECBCancelFailCount: Tnuint16;
  4207. IPXGetLocalTargetFailCount: Tnuint16;
  4208. end;
  4209. PSPX_INFO = ^TSPX_INFO;
  4210. TSPX_INFO = record
  4211. SPXMaxConnsCount: Tnuint16;
  4212. SPXMaxUsedConns: Tnuint16;
  4213. SPXEstConnReq: Tnuint16;
  4214. SPXEstConnFail: Tnuint16;
  4215. SPXListenConnectReq: Tnuint16;
  4216. SPXListenConnectFail: Tnuint16;
  4217. SPXSendCount: Tnuint32;
  4218. SPXWindowChokeCount: Tnuint32;
  4219. SPXBadSendCount: Tnuint16;
  4220. SPXSendFailCount: Tnuint16;
  4221. SPXAbortedConn: Tnuint16;
  4222. SPXListenPacketCount: Tnuint32;
  4223. SPXBadListenCount: Tnuint16;
  4224. SPXIncomingPacketCount: Tnuint32;
  4225. SPXBadInPacketCount: Tnuint16;
  4226. SPXSuppressedPackCount: Tnuint16;
  4227. SPXNoSesListenECBCount: Tnuint16;
  4228. SPXWatchDogDestSesCount: Tnuint16;
  4229. end;
  4230. PNWFSE_IPXSPX_INFO = ^TNWFSE_IPXSPX_INFO;
  4231. TNWFSE_IPXSPX_INFO = record
  4232. serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
  4233. reserved: Tnuint16;
  4234. IPXInfo: TIPX_INFO;
  4235. SPXInfo: TSPX_INFO;
  4236. end;
  4237. { Garbage Collection Information }
  4238. PNWFSE_GARBAGE_COLLECTION_INFO = ^TNWFSE_GARBAGE_COLLECTION_INFO;
  4239. TNWFSE_GARBAGE_COLLECTION_INFO = record
  4240. serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
  4241. reserved: Tnuint16;
  4242. failedAllocRequestCount: Tnuint32;
  4243. numOfAllocs: Tnuint32;
  4244. noMoreMemAvailableCount: Tnuint32;
  4245. numOfGarbageCollections: Tnuint32;
  4246. garbageFoundSomeMem: Tnuint32;
  4247. garbageNumOfChecks: Tnuint32;
  4248. end;
  4249. { CPU Information }
  4250. const
  4251. FSE_CPU_STR_MAX = 16;
  4252. FSE_COPROCESSOR_STR_MAX = 48;
  4253. FSE_BUS_STR_MAX = 32;
  4254. type
  4255. PCPU_INFO = ^TCPU_INFO;
  4256. TCPU_INFO = record
  4257. pageTableOwnerFlag: Tnuint32;
  4258. CPUTypeFlag: Tnuint32;
  4259. coProcessorFlag: Tnuint32;
  4260. busTypeFlag: Tnuint32;
  4261. IOEngineFlag: Tnuint32;
  4262. FSEngineFlag: Tnuint32;
  4263. nonDedicatedFlag: Tnuint32;
  4264. end;
  4265. PNWFSE_CPU_INFO = ^TNWFSE_CPU_INFO;
  4266. TNWFSE_CPU_INFO = record
  4267. serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
  4268. reserved: Tnuint16;
  4269. numOfCPUs: Tnuint32;
  4270. CPUInfo: TCPU_INFO;
  4271. end;
  4272. { Volume Switch Information }
  4273. { cardinal mapPathToDirectoryNumberOrPhantom; }
  4274. { cardinal stationHasAccessRightsGrantedBelow; }
  4275. { cardinal getDataStreamLengthsFromPathStringBase; }
  4276. PVOLUME_SWITCH_INFO = ^TVOLUME_SWITCH_INFO;
  4277. TVOLUME_SWITCH_INFO = record
  4278. readFile: Tnuint32;
  4279. writeFile: Tnuint32;
  4280. deleteFile: Tnuint32;
  4281. renMove: Tnuint32;
  4282. openFile: Tnuint32;
  4283. createFile: Tnuint32;
  4284. createAndOpenFile: Tnuint32;
  4285. closeFile: Tnuint32;
  4286. scanDeleteFile: Tnuint32;
  4287. salvageFile: Tnuint32;
  4288. purgeFile: Tnuint32;
  4289. migrateFile: Tnuint32;
  4290. deMigrateFile: Tnuint32;
  4291. createDir: Tnuint32;
  4292. deleteDir: Tnuint32;
  4293. directoryScans: Tnuint32;
  4294. mapPathToDirNum: Tnuint32;
  4295. modifyDirEntry: Tnuint32;
  4296. getAccessRights: Tnuint32;
  4297. getAccessRightsFromIDs: Tnuint32;
  4298. mapDirNumToPath: Tnuint32;
  4299. getEntryFromPathStrBase: Tnuint32;
  4300. getOtherNSEntry: Tnuint32;
  4301. getExtDirInfo: Tnuint32;
  4302. getParentDirNum: Tnuint32;
  4303. addTrusteeR: Tnuint32;
  4304. scanTrusteeR: Tnuint32;
  4305. delTrusteeR: Tnuint32;
  4306. purgeTrust: Tnuint32;
  4307. findNextTrustRef: Tnuint32;
  4308. scanUserRestNodes: Tnuint32;
  4309. addUserRest: Tnuint32;
  4310. deleteUserRest: Tnuint32;
  4311. rtnDirSpaceRest: Tnuint32;
  4312. getActualAvailDskSp: Tnuint32;
  4313. cntOwnedFilesAndDirs: Tnuint32;
  4314. migFileInfo: Tnuint32;
  4315. volMigInfo: Tnuint32;
  4316. readMigFileData: Tnuint32;
  4317. getVolUsageStats: Tnuint32;
  4318. getActualVolUsageStats: Tnuint32;
  4319. getDirUsageStats: Tnuint32;
  4320. NMFileReadsCount: Tnuint32;
  4321. NMFileWritesCount: Tnuint32;
  4322. mapPathToDirNumOrPhantom: Tnuint32;
  4323. stationHasAccessRgtsGntedBelow: Tnuint32;
  4324. gtDataStreamLensFromPathStrBase: Tnuint32;
  4325. checkAndGetDirectoryEntry: Tnuint32;
  4326. getDeletedEntry: Tnuint32;
  4327. getOriginalNameSpace: Tnuint32;
  4328. getActualFileSize: Tnuint32;
  4329. verifyNameSpaceNumber: Tnuint32;
  4330. verifyDataStreamNumber: Tnuint32;
  4331. checkVolumeNumber: Tnuint32;
  4332. commitFile: Tnuint32;
  4333. VMGetDirectoryEntry: Tnuint32;
  4334. createDMFileEntry: Tnuint32;
  4335. renameNameSpaceEntry: Tnuint32;
  4336. logFile: Tnuint32;
  4337. releaseFile: Tnuint32;
  4338. clearFile: Tnuint32;
  4339. setVolumeFlag: Tnuint32;
  4340. clearVolumeFlag: Tnuint32;
  4341. getOriginalInfo: Tnuint32;
  4342. createMigratedDir: Tnuint32;
  4343. F3OpenCreate: Tnuint32;
  4344. F3InitFileSearch: Tnuint32;
  4345. F3ContinueFileSearch: Tnuint32;
  4346. F3RenameFile: Tnuint32;
  4347. F3ScanForTrustees: Tnuint32;
  4348. F3ObtainFileInfo: Tnuint32;
  4349. F3ModifyInfo: Tnuint32;
  4350. F3EraseFile: Tnuint32;
  4351. F3SetDirHandle: Tnuint32;
  4352. F3AddTrustees: Tnuint32;
  4353. F3DeleteTrustees: Tnuint32;
  4354. F3AllocDirHandle: Tnuint32;
  4355. F3ScanSalvagedFiles: Tnuint32;
  4356. F3RecoverSalvagedFiles: Tnuint32;
  4357. F3PurgeSalvageableFile: Tnuint32;
  4358. F3GetNSSpecificInfo: Tnuint32;
  4359. F3ModifyNSSpecificInfo: Tnuint32;
  4360. F3SearchSet: Tnuint32;
  4361. F3GetDirBase: Tnuint32;
  4362. F3QueryNameSpaceInfo: Tnuint32;
  4363. F3GetNameSpaceList: Tnuint32;
  4364. F3GetHugeInfo: Tnuint32;
  4365. F3SetHugeInfo: Tnuint32;
  4366. F3GetFullPathString: Tnuint32;
  4367. F3GetEffectiveDirectoryRights: Tnuint32;
  4368. end;
  4369. { 512 / sizeof(cardinal) }
  4370. { VOLUME_SWITCH_INFO volumeSwitchInfo; }{ Cant return all counters }
  4371. PNWFSE_VOLUME_SWITCH_INFO = ^TNWFSE_VOLUME_SWITCH_INFO;
  4372. TNWFSE_VOLUME_SWITCH_INFO = record
  4373. serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
  4374. reserved: Tnuint16;
  4375. totalLFSCounters: Tnuint32;
  4376. CurrentLFSCounters: Tnuint32;
  4377. LFSCounters: array[0..127] of Tnuint32;
  4378. end;
  4379. { Get NLM Loaded List }
  4380. const
  4381. FSE_NLM_NUMS_RETURNED_MAX = 128;
  4382. FSE_NLM_NUMS_MAX = 130;
  4383. type
  4384. PNWFSE_NLM_LOADED_LIST = ^TNWFSE_NLM_LOADED_LIST;
  4385. TNWFSE_NLM_LOADED_LIST = record
  4386. serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
  4387. reserved: Tnuint16;
  4388. numberNLMsLoaded: Tnuint32;
  4389. NLMsInList: Tnuint32;
  4390. NLMNums: array[0..(FSE_NLM_NUMS_RETURNED_MAX) - 1] of Tnuint32;
  4391. end;
  4392. PNWFSE_NLM_LOADED_LIST_LG = ^TNWFSE_NLM_LOADED_LIST_LG;
  4393. TNWFSE_NLM_LOADED_LIST_LG = record
  4394. serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
  4395. reserved: Tnuint16;
  4396. numberNLMsLoaded: Tnuint32;
  4397. NLMsInList: Tnuint32;
  4398. NLMNums: array[0..(FSE_NLM_NUMS_MAX) - 1] of Tnuint32;
  4399. end;
  4400. { NLM Information }
  4401. { 1 is added for the NULL }
  4402. const
  4403. FSE_NLM_FILENAME_LEN_MAX = 37;
  4404. FSE_NLM_NAMELEN_MAX = 129;
  4405. FSE_NLM_COPYRIGHTLEN_MAX = 256;
  4406. type
  4407. PNLM_INFO = ^TNLM_INFO;
  4408. TNLM_INFO = record
  4409. identificationNum: Tnuint32;
  4410. flags: Tnuint32;
  4411. _type: Tnuint32;
  4412. parentID: Tnuint32;
  4413. majorVersion: Tnuint32;
  4414. minorVersion: Tnuint32;
  4415. revision: Tnuint32;
  4416. year: Tnuint32;
  4417. month: Tnuint32;
  4418. day: Tnuint32;
  4419. allocAvailableBytes: Tnuint32;
  4420. allocFreeCount: Tnuint32;
  4421. lastGarbageCollection: Tnuint32;
  4422. messageLanguage: Tnuint32;
  4423. numOfReferencedPublics: Tnuint32;
  4424. end;
  4425. PNWFSE_NLM_INFO = ^TNWFSE_NLM_INFO;
  4426. TNWFSE_NLM_INFO = record
  4427. serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
  4428. reserved: Tnuint16;
  4429. NLMInfo: TNLM_INFO;
  4430. end;
  4431. { Get Directory Cache Information }
  4432. PDIR_CACHE_INFO = ^TDIR_CACHE_INFO;
  4433. TDIR_CACHE_INFO = record
  4434. minTimeSinceFileDelete: Tnuint32;
  4435. absMinTimeSinceFileDelete: Tnuint32;
  4436. minNumOfDirCacheBuffers: Tnuint32;
  4437. maxNumOfDirCacheBuffers: Tnuint32;
  4438. numOfDirCacheBuffers: Tnuint32;
  4439. dCMinNonReferencedTime: Tnuint32;
  4440. dCWaitTimeBeforeNewBuffer: Tnuint32;
  4441. dCMaxConcurrentWrites: Tnuint32;
  4442. dCDirtyWaitTime: Tnuint32;
  4443. dCDoubleReadFlag: Tnuint32;
  4444. mapHashNodeCount: Tnuint32;
  4445. spaceRestrictionNodeCount: Tnuint32;
  4446. trusteeListNodeCount: Tnuint32;
  4447. percentOfVolumeUsedByDirs: Tnuint32;
  4448. end;
  4449. PNWFSE_DIR_CACHE_INFO = ^TNWFSE_DIR_CACHE_INFO;
  4450. TNWFSE_DIR_CACHE_INFO = record
  4451. serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
  4452. reserved: Tnuint16;
  4453. dirCacheInfo: TDIR_CACHE_INFO;
  4454. end;
  4455. { Get Operating System Version Information }
  4456. PNWFSE_OS_VERSION_INFO = ^TNWFSE_OS_VERSION_INFO;
  4457. TNWFSE_OS_VERSION_INFO = record
  4458. serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
  4459. reserved: Tnuint16;
  4460. OSMajorVersion: Tnuint8;
  4461. OSMinorVersion: Tnuint8;
  4462. OSRevisionNum: Tnuint8;
  4463. accountingVersion: Tnuint8;
  4464. VAPVersion: Tnuint8;
  4465. queueingVersion: Tnuint8;
  4466. securityRestrictionsLevel: Tnuint8;
  4467. bridgingSupport: Tnuint8;
  4468. maxNumOfVolumes: Tnuint32;
  4469. numOfConnSlots: Tnuint32;
  4470. maxLoggedInConns: Tnuint32;
  4471. maxNumOfNameSpaces: Tnuint32;
  4472. maxNumOfLans: Tnuint32;
  4473. maxNumOfMediaTypes: Tnuint32;
  4474. maxNumOfProtocols: Tnuint32;
  4475. maxMaxSubdirTreeDepth: Tnuint32;
  4476. maxNumOfDataStreams: Tnuint32;
  4477. maxNumOfSpoolPrinters: Tnuint32;
  4478. serialNum: Tnuint32;
  4479. applicationNum: Tnuint16;
  4480. end;
  4481. { Get Active Connection List by Type }
  4482. { Connection service type }
  4483. { NOTE: type 1 is reserved by CLIB for backward compatability }
  4484. const
  4485. FSE_NCP_CONNECTION_TYPE = 2;
  4486. FSE_NLM_CONNECTION_TYPE = 3;
  4487. FSE_AFP_CONNECTION_TYPE = 4;
  4488. FSE_FTAM_CONNECTION_TYPE = 5;
  4489. FSE_ANCP_CONNECTION_TYPE = 6;
  4490. FSE_ACP_CONNECTION_TYPE = 7;
  4491. FSE_SMB_CONNECTION_TYPE = 8;
  4492. FSE_WINSOCK_CONNECTION_TYPE = 9;
  4493. FSE_HTTP_CONNECTION_TYPE = 10;
  4494. FSE_UDP_CONNECTION_TYPE = 11;
  4495. type
  4496. PNWFSE_ACTIVE_CONN_LIST = ^TNWFSE_ACTIVE_CONN_LIST;
  4497. TNWFSE_ACTIVE_CONN_LIST = record
  4498. serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
  4499. reserved: Tnuint16;
  4500. activeConnBitList: array[0..511] of Tnuint8;
  4501. end;
  4502. { Get NLM's Resource Tag List }
  4503. { This packed structure consisting of:
  4504. **
  4505. ** cardinal number,
  4506. ** cardinal signature,
  4507. ** cardinal count,
  4508. ** byte name[] }
  4509. PNWFSE_NLMS_RESOURCE_TAG_LIST = ^TNWFSE_NLMS_RESOURCE_TAG_LIST;
  4510. TNWFSE_NLMS_RESOURCE_TAG_LIST = record
  4511. serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
  4512. reserved: Tnuint16;
  4513. totalNumOfResourceTags: Tnuint32;
  4514. packetResourceTags: Tnuint32;
  4515. resourceTagBuf: array[0..511] of Tnuint8;
  4516. end;
  4517. { Active LAN Board List --- 20 }
  4518. const
  4519. FSE_MAX_NUM_OF_LANS = 64;
  4520. type
  4521. PNWFSE_ACTIVE_LAN_BOARD_LIST = ^TNWFSE_ACTIVE_LAN_BOARD_LIST;
  4522. TNWFSE_ACTIVE_LAN_BOARD_LIST = record
  4523. serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
  4524. reserved: Tnuint16;
  4525. MaxNumOfLANs: Tnuint32;
  4526. LANLoadedCount: Tnuint32;
  4527. boardNums: array[0..(FSE_MAX_NUM_OF_LANS) - 1] of Tnuint32;
  4528. end;
  4529. { LAN Configuration Information }
  4530. PLAN_CONFIG_INFO = ^TLAN_CONFIG_INFO;
  4531. TLAN_CONFIG_INFO = record
  4532. DriverCFG_MajorVersion: Tnuint8;
  4533. DriverCFG_MinorVersion: Tnuint8;
  4534. DriverNodeAddress: array[0..5] of Tnuint8;
  4535. DriverModeFlags: Tnuint16;
  4536. DriverBoardNum: Tnuint16;
  4537. DriverBoardInstance: Tnuint16;
  4538. DriverMaxSize: Tnuint32;
  4539. DriverMaxRecvSize: Tnuint32;
  4540. DriverRecvSize: Tnuint32;
  4541. Reserved1: array[0..2] of Tnuint32;
  4542. DriverCardID: Tnuint16;
  4543. DriverMediaID: Tnuint16;
  4544. DriverTransportTime: Tnuint16;
  4545. DriverReserved: array[0..15] of Tnuint8;
  4546. DriverMajorVersion: Tnuint8;
  4547. DriverMinorVersion: Tnuint8;
  4548. DriverFlags: Tnuint16;
  4549. DriverSendRetries: Tnuint16;
  4550. DriverLink: Tnuint32;
  4551. DriverSharingFlags: Tnuint16;
  4552. DriverSlot: Tnuint16;
  4553. DriverIOPortsAndLengths: array[0..3] of Tnuint16;
  4554. DriverMemDecode0: Tnuint32;
  4555. DriverLength0: Tnuint16;
  4556. DriverMemDecode1: Tnuint32;
  4557. DriverLength1: Tnuint16;
  4558. DriverInterrupt: array[0..1] of Tnuint8;
  4559. DriverDMAUsage: array[0..1] of Tnuint8;
  4560. Reserved2: array[0..2] of Tnuint32;
  4561. DriverLogicalName: array[0..17] of Tnuint8;
  4562. DriverLinearMem: array[0..1] of Tnuint32;
  4563. DriverChannelNum: Tnuint16;
  4564. DriverIOReserved: array[0..5] of Tnuint8;
  4565. end;
  4566. PNWFSE_LAN_CONFIG_INFO = ^TNWFSE_LAN_CONFIG_INFO;
  4567. TNWFSE_LAN_CONFIG_INFO = record
  4568. serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
  4569. reserved: Tnuint16;
  4570. LANConfigInfo: TLAN_CONFIG_INFO;
  4571. end;
  4572. { LAN Common Counters Information }
  4573. PLAN_COMMON_INFO = ^TLAN_COMMON_INFO;
  4574. TLAN_COMMON_INFO = record
  4575. notSupportedMask: Tnuint32;
  4576. totalTxPacketCount: Tnuint32;
  4577. totalRxPacketCount: Tnuint32;
  4578. noECBAvailableCount: Tnuint32;
  4579. packetTxTooBigCount: Tnuint32;
  4580. packetTxTooSmallCount: Tnuint32;
  4581. packetRxOverflowCount: Tnuint32;
  4582. packetRxTooBigCount: Tnuint32;
  4583. packetRxTooSmallCount: Tnuint32;
  4584. packetTxMiscErrorCount: Tnuint32;
  4585. packetRxMiscErrorCount: Tnuint32;
  4586. retryTxCount: Tnuint32;
  4587. checksumErrorCount: Tnuint32;
  4588. hardwareRxMismatchCount: Tnuint32;
  4589. reserved: array[0..49] of Tnuint32;
  4590. end;
  4591. PNWFSE_LAN_COMMON_COUNTERS_INFO = ^TNWFSE_LAN_COMMON_COUNTERS_INFO;
  4592. TNWFSE_LAN_COMMON_COUNTERS_INFO = record
  4593. serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
  4594. statisticsMajorVersion: Tnuint8;
  4595. statisticsMinorVersion: Tnuint8;
  4596. numberOfGenericCounters: Tnuint32;
  4597. numberOfCounterBlocks: Tnuint32;
  4598. customVariableCount: Tnuint32;
  4599. NextCounterBlock: Tnuint32;
  4600. LANCommonInfo: TLAN_COMMON_INFO;
  4601. end;
  4602. { LAN Custom Counters Information }
  4603. { (Tnint32, byte[])[] - byte[] is a length preceded
  4604. ** non-null terminated string. }
  4605. PNWFSE_LAN_CUSTOM_INFO = ^TNWFSE_LAN_CUSTOM_INFO;
  4606. TNWFSE_LAN_CUSTOM_INFO = record
  4607. serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
  4608. reserved: Tnuint16;
  4609. numCustomVar: Tnuint32;
  4610. customInfo: array[0..511] of Tnuint8;
  4611. end;
  4612. { LSL Information }
  4613. PLSL_INFO = ^TLSL_INFO;
  4614. TLSL_INFO = record
  4615. rxBufs: Tnuint32;
  4616. rxBufs75PerCent: Tnuint32;
  4617. rxBufsCheckedOut: Tnuint32;
  4618. rxBufMaxSize: Tnuint32;
  4619. maxPhysicalSize: Tnuint32;
  4620. lastTimeRxBufAllocated: Tnuint32;
  4621. maxNumsOfProtocols: Tnuint32;
  4622. maxNumsOfMediaTypes: Tnuint32;
  4623. totalTXPackets: Tnuint32;
  4624. getECBBfrs: Tnuint32;
  4625. getECBFails: Tnuint32;
  4626. AESEventCounts: Tnuint32;
  4627. postponedEvents: Tnuint32;
  4628. ECBCxlFails: Tnuint32;
  4629. validBfrsReused: Tnuint32;
  4630. enqueuedSendCount: Tnuint32;
  4631. totalRXPackets: Tnuint32;
  4632. unclaimedPackets: Tnuint32;
  4633. StatisticsTableMajorVersion: Tnuint8;
  4634. StatisticsTableMinorVersion: Tnuint8;
  4635. end;
  4636. PNWFSE_LSL_INFO = ^TNWFSE_LSL_INFO;
  4637. TNWFSE_LSL_INFO = record
  4638. serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
  4639. reserved: Tnuint16;
  4640. LSLInfo: TLSL_INFO;
  4641. end;
  4642. { LSL Logical Board Statistics }
  4643. PNWFSE_LSL_LOGICAL_BOARD_STATS = ^TNWFSE_LSL_LOGICAL_BOARD_STATS;
  4644. TNWFSE_LSL_LOGICAL_BOARD_STATS = record
  4645. serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
  4646. reserved0: Tnuint16;
  4647. LogTtlTxPackets: Tnuint32;
  4648. LogTtlRxPackets: Tnuint32;
  4649. LogUnclaimedPackets: Tnuint32;
  4650. reserved1: Tnuint32;
  4651. end;
  4652. { objtype }
  4653. const
  4654. FSE_ADAPTER_OBJECT = 0;
  4655. FSE_CHANGER_OBJECT = 1;
  4656. FSE_DEVICE_OBJECT = 2;
  4657. FSE_MEDIA_OBJECT = 4;
  4658. FSE_PARTITION_OBJECT = 5;
  4659. FSE_SLOT_OBJECT = 6;
  4660. FSE_HOTFIX_OBJECT = 7;
  4661. FSE_MIRROR_OBJECT = 8;
  4662. FSE_PARITY_OBJECT = 9;
  4663. FSE_VOLUME_SEG_OBJECT = 10;
  4664. FSE_VOLUME_OBJECT = 11;
  4665. FSE_CLONE_OBJECT = 12;
  4666. FSE_MAGAZINE_OBJECT = 14;
  4667. FSE_VIRTUAL_DEVICE_OBJECT = 15;
  4668. FSE_MAX_OBJECTS = 128;
  4669. FSE_UNKNOWN_OBJECT = $FFFF;
  4670. FSE_UNKNOWN_OBJECT_TYPE = $FFFF;
  4671. { mediatype }
  4672. FSE_HARD_DISK = 0;
  4673. FSE_CDROM_DISK = 1;
  4674. FSE_WORM_DISK = 2;
  4675. FSE_TAPE_DEVICE = 3;
  4676. FSE_MAGNETO_OPTICAL = 4;
  4677. { cartridgetype }
  4678. FSE_FIXED_MEDIA = $00000000;
  4679. FSE_FLOPPY_5_25 = $00000001;
  4680. FSE_FLOPPY_3_5 = $00000002;
  4681. FSE_OPTICAL_5_25 = $00000003;
  4682. FSE_OPTICAL_3_5 = $00000004;
  4683. FSE_TAPE_0_5 = $00000005;
  4684. FSE_TAPE_0_25 = $00000006;
  4685. FSE_TAPE_8_MM = $00000007;
  4686. FSE_TAPE_4_MM = $00000008;
  4687. FSE_BERNOULLI_DISK = $00000009;
  4688. { type }
  4689. { same as defined below for object types }
  4690. { status bits }
  4691. FSE_OBJECT_ACTIVATED = $00000001;
  4692. FSE_OBJECT_CREATED = $00000002;
  4693. FSE_OBJECT_SCRAMBLED = $00000004;
  4694. FSE_OBJECT_RESERVED = $00000010;
  4695. FSE_OBJECT_BEING_IDENTIFIED = $00000020;
  4696. FSE_OBJECT_MAGAZINE_LOADED = $00000040;
  4697. FSE_OBJECT_FAILURE = $00000080;
  4698. FSE_OBJECT_REMOVABLE = $00000100;
  4699. FSE_OBJECT_READ_ONLY = $00000200;
  4700. FSE_OBJECT_IN_DEVICE = $00010000;
  4701. FSE_OBJECT_ACCEPTS_MAGAZINES = $00020000;
  4702. FSE_OBJECT_IS_IN_A_CHANGER = $00040000;
  4703. FSE_OBJECT_LOADABLE = $00080000;
  4704. FSE_OBJECT_BEING_LOADED = $00080000;
  4705. FSE_OBJECT_DEVICE_LOCK = $01000000;
  4706. FSE_OBJECT_CHANGER_LOCK = $02000000;
  4707. FSE_OBJECT_REMIRRORING = $04000000;
  4708. FSE_OBJECT_SELECTED = $08000000;
  4709. { functionmask }
  4710. FSE_RANDOM_READ = $0001;
  4711. FSE_RANDOM_WRITE = $0002;
  4712. FSE_RANDOM_WRITE_ONCE = $0004;
  4713. FSE_SEQUENTIAL_READ = $0008;
  4714. FSE_SEQUENTIAL_WRITE = $0010;
  4715. FSE_RESET_END_OF_TAPE = $0020;
  4716. FSE_SINGLE_FILE_MARK = $0040;
  4717. FSE_MULTIPLE_FILE_MARK = $0080;
  4718. FSE_SINGLE_SET_MARK = $0100;
  4719. FSE_MULTIPLE_SET_MARK = $0200;
  4720. FSE_SPACE_DATA_BLOCKS = $0400;
  4721. FSE_LOCATE_DATA_BLOCKS = $0800;
  4722. FSE_POSITION_PARTITION = $1000;
  4723. FSE_POSITION_MEDIA = $2000;
  4724. { controlmask }
  4725. FSE_ACTIVATE_DEACTIVE = $0001;
  4726. FSE_MOUNT_DISMOUNT = $0002;
  4727. FSE_SELECT_UNSELECT = $0004;
  4728. FSE_LOCK_UNLOCK = $0008;
  4729. FSE_EJECT = $0010;
  4730. FSE_MOVE = $0020;
  4731. type
  4732. PMEDIA_INFO_DEF = ^TMEDIA_INFO_DEF;
  4733. TMEDIA_INFO_DEF = record
  4734. _label: array[0..63] of Tnuint8;
  4735. identificationType: Tnuint32;
  4736. identificationTimeStamp: Tnuint32;
  4737. end;
  4738. PFSE_MM_OBJ_INFO = ^TFSE_MM_OBJ_INFO;
  4739. TFSE_MM_OBJ_INFO = record
  4740. MediaInfo: TMEDIA_INFO_DEF;
  4741. mediaType: Tnuint32;
  4742. cartridgeType: Tnuint32;
  4743. unitSize: Tnuint32;
  4744. blockSize: Tnuint32;
  4745. capacity: Tnuint32;
  4746. preferredUnitSize: Tnuint32;
  4747. name: array[0..63] of Tnuint8;
  4748. _type: Tnuint32;
  4749. status: Tnuint32;
  4750. functionMask: Tnuint32;
  4751. controlMask: Tnuint32;
  4752. parentCount: Tnuint32;
  4753. siblingCount: Tnuint32;
  4754. childCount: Tnuint32;
  4755. specificInfoSize: Tnuint32;
  4756. objectUniqueID: Tnuint32;
  4757. mediaSlot: Tnuint32;
  4758. end;
  4759. PNWFSE_MEDIA_MGR_OBJ_INFO = ^TNWFSE_MEDIA_MGR_OBJ_INFO;
  4760. TNWFSE_MEDIA_MGR_OBJ_INFO = record
  4761. serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
  4762. reserved: Tnuint16;
  4763. fseMMObjInfo: TFSE_MM_OBJ_INFO;
  4764. end;
  4765. { Get Media Manager Objects List
  4766. Get Media Manager Object Children's List }
  4767. PNWFSE_MEDIA_MGR_OBJ_LIST = ^TNWFSE_MEDIA_MGR_OBJ_LIST;
  4768. TNWFSE_MEDIA_MGR_OBJ_LIST = record
  4769. serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
  4770. reserved: Tnuint16;
  4771. nextStartObjNum: Tnuint32;
  4772. objCount: Tnuint32;
  4773. objs: array[0..(FSE_MAX_OBJECTS) - 1] of Tnuint32;
  4774. end;
  4775. { Get Volume Segment List }
  4776. const
  4777. FSE_MAX_NUM_SEGS_RETURNED = 43;
  4778. type
  4779. PVOLUME_SEGMENT = ^TVOLUME_SEGMENT;
  4780. TVOLUME_SEGMENT = record
  4781. volumeSegmentDeviceNum: Tnuint32;
  4782. volumeSegmentOffset: Tnuint32;
  4783. volumeSegmentSize: Tnuint32;
  4784. end;
  4785. { segment info follows }
  4786. { VOLUME_SEGMENT structures are packed }
  4787. PNWFSE_VOLUME_SEGMENT_LIST = ^TNWFSE_VOLUME_SEGMENT_LIST;
  4788. TNWFSE_VOLUME_SEGMENT_LIST = record
  4789. serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
  4790. reserved: Tnuint16;
  4791. numOfVolumeSegments: Tnuint32;
  4792. volumeSegment: array[0..41] of TVOLUME_SEGMENT;
  4793. end;
  4794. { Volume Information by Level }
  4795. PVOLUME_INFO_BY_LEVEL_DEF = ^TVOLUME_INFO_BY_LEVEL_DEF;
  4796. TVOLUME_INFO_BY_LEVEL_DEF = record
  4797. volumeType: Tnuint32;
  4798. statusFlagBits: Tnuint32;
  4799. sectorSize: Tnuint32;
  4800. sectorsPerCluster: Tnuint32;
  4801. volumeSizeInClusters: Tnuint32;
  4802. freedClusters: Tnuint32;
  4803. subAllocFreeableClusters: Tnuint32;
  4804. freeableLimboSectors: Tnuint32;
  4805. nonFreeableLimboSectors: Tnuint32;
  4806. nonFreeableAvailSubAllocSectors: Tnuint32;
  4807. notUsableSubAllocSectors: Tnuint32;
  4808. subAllocClusters: Tnuint32;
  4809. dataStreamsCount: Tnuint32;
  4810. limboDataStreamsCount: Tnuint32;
  4811. oldestDeletedFileAgeInTicks: Tnuint32;
  4812. compressedDataStreamsCount: Tnuint32;
  4813. compressedLimboDataStreamsCount: Tnuint32;
  4814. unCompressableDataStreamsCount: Tnuint32;
  4815. preCompressedSectors: Tnuint32;
  4816. compressedSectors: Tnuint32;
  4817. migratedFiles: Tnuint32;
  4818. migratedSectors: Tnuint32;
  4819. clustersUsedByFAT: Tnuint32;
  4820. clustersUsedByDirectories: Tnuint32;
  4821. clustersUsedByExtendedDirs: Tnuint32;
  4822. totalDirectoryEntries: Tnuint32;
  4823. unUsedDirectoryEntries: Tnuint32;
  4824. totalExtendedDirectoryExtants: Tnuint32;
  4825. unUsedExtendedDirectoryExtants: Tnuint32;
  4826. extendedAttributesDefined: Tnuint32;
  4827. extendedAttributeExtantsUsed: Tnuint32;
  4828. directoryServicesObjectID: Tnuint32;
  4829. volumeLastModifiedDateAndTime: Tnuint32;
  4830. end;
  4831. PVOLUME_INFO_BY_LEVEL_DEF2 = ^TVOLUME_INFO_BY_LEVEL_DEF2;
  4832. TVOLUME_INFO_BY_LEVEL_DEF2 = record
  4833. volumeActiveCount: Tnuint32;
  4834. volumeUseCount: Tnuint32;
  4835. mACRootIDs: Tnuint32;
  4836. volumeLastModifiedDateAndTime: Tnuint32;
  4837. volumeReferenceCount: Tnuint32;
  4838. compressionLowerLimit: Tnuint32;
  4839. outstandingIOs: Tnuint32;
  4840. outstandingCompressionIOs: Tnuint32;
  4841. compressionIOsLimit: Tnuint32;
  4842. end;
  4843. PVOLUME_INFO_BY_LEVEL = ^TVOLUME_INFO_BY_LEVEL;
  4844. TVOLUME_INFO_BY_LEVEL = record
  4845. case longint of
  4846. 0: (volInfoDef: TVOLUME_INFO_BY_LEVEL_DEF);
  4847. 1: (volInfoDef2: TVOLUME_INFO_BY_LEVEL_DEF2);
  4848. end;
  4849. PNWFSE_VOLUME_INFO_BY_LEVEL = ^TNWFSE_VOLUME_INFO_BY_LEVEL;
  4850. TNWFSE_VOLUME_INFO_BY_LEVEL = record
  4851. serverAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
  4852. reserved: Tnuint16;
  4853. infoLevel: Tnuint32;
  4854. volumeInfo: TVOLUME_INFO_BY_LEVEL;
  4855. end;
  4856. { Active Protocol Stacks }
  4857. const
  4858. FSE_MAX_NUM_OF_STACKINFO = 25;
  4859. type
  4860. PSTACK_INFO = ^TSTACK_INFO;
  4861. TSTACK_INFO = record
  4862. StackNum: Tnuint32;
  4863. StackShortName: array[0..15] of Tnuint8;
  4864. end;
  4865. PNWFSE_ACTIVE_STACKS = ^TNWFSE_ACTIVE_STACKS;
  4866. TNWFSE_ACTIVE_STACKS = record
  4867. serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
  4868. reserved: Tnuint16;
  4869. maxNumOfStacks: Tnuint32;
  4870. stackCount: Tnuint32;
  4871. nextStartNum: Tnuint32;
  4872. stackInfo: array[0..(FSE_MAX_NUM_OF_STACKINFO) - 1] of TSTACK_INFO;
  4873. end;
  4874. { Get Protocol Stack Configuration Information }
  4875. const
  4876. FSE_STK_FULL_NAME_STR_LEN_MAX = 256;
  4877. type
  4878. PNWFSE_PROTOCOL_STK_CONFIG_INFO = ^TNWFSE_PROTOCOL_STK_CONFIG_INFO;
  4879. TNWFSE_PROTOCOL_STK_CONFIG_INFO = record
  4880. serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
  4881. reserved: Tnuint16;
  4882. configMajorVersionNum: Tnuint8;
  4883. configMinorVersionNum: Tnuint8;
  4884. stackMajorVersionNum: Tnuint8;
  4885. stackMinorVersionNum: Tnuint8;
  4886. stackShortName: array[0..15] of Tnuint8;
  4887. end;
  4888. { Get Protocol Stack Statistics Information }
  4889. { always set to 3? }
  4890. PNWFSE_PROTOCOL_STK_STATS_INFO = ^TNWFSE_PROTOCOL_STK_STATS_INFO;
  4891. TNWFSE_PROTOCOL_STK_STATS_INFO = record
  4892. serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
  4893. reserved: Tnuint16;
  4894. statMajorVersionNum: Tnuint8;
  4895. statMinorVersionNum: Tnuint8;
  4896. commonCounters: Tnuint16;
  4897. validCountersMask: Tnuint32;
  4898. totalTxPackets: Tnuint32;
  4899. totalRxPackets: Tnuint32;
  4900. ignoredRxPackets: Tnuint32;
  4901. numCustomCounters: Tnuint16;
  4902. end;
  4903. { Get Protocol Stack Custom Information }
  4904. { (Tnint32, byte[])[] - byte[] is a length preceded
  4905. ** non-null terminated string. }
  4906. PNWFSE_PROTOCOL_CUSTOM_INFO = ^TNWFSE_PROTOCOL_CUSTOM_INFO;
  4907. TNWFSE_PROTOCOL_CUSTOM_INFO = record
  4908. serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
  4909. reserved0: Tnuint16;
  4910. customCount: Tnuint32;
  4911. customStruct: array[0..511] of Tnuint8;
  4912. end;
  4913. const
  4914. FSE_STACK_IDS_MAX = 128;
  4915. FSE_NO_FRAME_ID_MAC = 0;
  4916. FSE_APPLE_LOCALTALK = 1;
  4917. FSE_ETHERNETII_DEC = 2;
  4918. FSE_ETHERNET_802_3_USING_802_2 = 3;
  4919. FSE_TRING_802_5_USING_802_2 = 4;
  4920. FSE_IPX_802_3 = 5;
  4921. FSE_TOKEN_PASSING_BUS = 6;
  4922. FSE_IBM_PC_NETWORK_II = 7;
  4923. FSE_GATEWAY_GNET = 8;
  4924. FSE_PROTEON_PRONET = 9;
  4925. FSE_ENET_802_3_USING_802_2_SNAP = 10;
  4926. FSE_TRING_802_5_USE_802_2_SNAP = 11;
  4927. FSE_RACORE_FRAME = 12;
  4928. FSE_ISDN_FRAME = 13;
  4929. FSE_NOVELL_ARCNET = 14;
  4930. FSE_IBM_PCN2_USING_802_2 = 15;
  4931. FSE_IBM_PCN2_USING_802_2_SNAP = 16;
  4932. FSE_CORVUS_FRAME = 17;
  4933. FSE_HARRIS_ADACOM_FRAME = 18;
  4934. FSE_IP_TUNNEL_FRAME = 19;
  4935. FSE_FDDI_USING_802_2 = 20;
  4936. FSE_COMMTEX_FRAME = 21;
  4937. FSE_DATACO_FRAME = 22;
  4938. FSE_FDDI_USING_802_2_SMAP = 23;
  4939. FSE_SDLC_TUNNEL = 24;
  4940. FSE_PC_OFFICE_FRAME = 25;
  4941. FSE_HYPERCOMMUNICATIONS = 26;
  4942. FSE_NOVELL_FRAME = 27;
  4943. type
  4944. PNWFSE_PROTOCOL_ID_NUMS = ^TNWFSE_PROTOCOL_ID_NUMS;
  4945. TNWFSE_PROTOCOL_ID_NUMS = record
  4946. serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
  4947. reserved: Tnuint16;
  4948. stackIDCount: Tnuint32;
  4949. stackIDs: array[0..(FSE_STACK_IDS_MAX) - 1] of Tnuint32;
  4950. end;
  4951. { Get Media Name by Media Number }
  4952. const
  4953. FSE_MEDIA_NAME_LEN_MAX = 81;
  4954. type
  4955. PNWFSE_MEDIA_NAME_LIST = ^TNWFSE_MEDIA_NAME_LIST;
  4956. TNWFSE_MEDIA_NAME_LIST = record
  4957. serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
  4958. reserved: Tnuint16;
  4959. end;
  4960. { Get Loaded Media Number List }
  4961. const
  4962. FSE_MEDIA_LIST_MAX = 32;
  4963. type
  4964. PNWFSE_LOADED_MEDIA_NUM_LIST = ^TNWFSE_LOADED_MEDIA_NUM_LIST;
  4965. TNWFSE_LOADED_MEDIA_NUM_LIST = record
  4966. serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
  4967. reserved: Tnuint16;
  4968. maxMediaTypes: Tnuint32;
  4969. mediaListCount: Tnuint32;
  4970. mediaList: array[0..(FSE_MEDIA_LIST_MAX) - 1] of Tnuint32;
  4971. end;
  4972. { Get General Router And SAP Information }
  4973. PNWFSE_GENERAL_ROUTER_SAP_INFO = ^TNWFSE_GENERAL_ROUTER_SAP_INFO;
  4974. TNWFSE_GENERAL_ROUTER_SAP_INFO = record
  4975. serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
  4976. reserved: Tnuint16;
  4977. internalRIPSocket: Tnuint32;
  4978. internalRouterDownFlag: Tnuint32;
  4979. trackOnFlag: Tnuint32;
  4980. externalRouterActiveFlag: Tnuint32;
  4981. internalSAPSocketNumber: Tnuint32;
  4982. replyToNearestServerFlag: Tnuint32;
  4983. end;
  4984. { Get Network Router Information }
  4985. PNWFSE_NETWORK_ROUTER_INFO = ^TNWFSE_NETWORK_ROUTER_INFO;
  4986. TNWFSE_NETWORK_ROUTER_INFO = record
  4987. serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
  4988. reserved: Tnuint16;
  4989. NetIDNumber: Tnuint32;
  4990. HopsToNet: Tnuint16;
  4991. NetStatus: Tnuint16;
  4992. TimeToNet: Tnuint16;
  4993. end;
  4994. { Get Network Routers Information }
  4995. PROUTERS_INFO = ^TROUTERS_INFO;
  4996. TROUTERS_INFO = record
  4997. nodeAddress: array[0..5] of Tnuint8;
  4998. connectedLAN: Tnuint32;
  4999. routeHops: Tnuint16;
  5000. routeTime: Tnuint16;
  5001. end;
  5002. { 512 / sizeof( ROUTERS_INFO ) }
  5003. PNWFSE_NETWORK_ROUTERS_INFO = ^TNWFSE_NETWORK_ROUTERS_INFO;
  5004. TNWFSE_NETWORK_ROUTERS_INFO = record
  5005. serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
  5006. reserved: Tnuint16;
  5007. NumberOfEntries: Tnuint32;
  5008. routersInfo: array[0..35] of TROUTERS_INFO;
  5009. end;
  5010. { Get Known Networks Information }
  5011. const
  5012. FSE_LOCALBIT = $01;
  5013. FSE_NETSTARBIT = $02;
  5014. FSE_NETRELIABLEBIT = $04;
  5015. FSE_NETWANBIT = $10;
  5016. type
  5017. PKNOWN_NET_INFO = ^TKNOWN_NET_INFO;
  5018. TKNOWN_NET_INFO = record
  5019. netIDNumber: Tnuint32;
  5020. hopsToNet: Tnuint16;
  5021. netStatus: Tnuint16;
  5022. timeToNet: Tnuint16;
  5023. end;
  5024. { 512 / sizeof( KNOWN_NET_INFO ) }
  5025. PNWFSE_KNOWN_NETWORKS_INFO = ^TNWFSE_KNOWN_NETWORKS_INFO;
  5026. TNWFSE_KNOWN_NETWORKS_INFO = record
  5027. serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
  5028. reserved: Tnuint16;
  5029. numberOfEntries: Tnuint32;
  5030. knownNetInfo: array[0..50] of TKNOWN_NET_INFO;
  5031. end;
  5032. { Get Server Information }
  5033. PNWFSE_SERVER_INFO = ^TNWFSE_SERVER_INFO;
  5034. TNWFSE_SERVER_INFO = record
  5035. serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
  5036. reserved: Tnuint16;
  5037. serverAddress: array[0..11] of Tnuint8;
  5038. hopsToServer: Tnuint16;
  5039. end;
  5040. { Get Server Sources Information }
  5041. PSERVERS_SRC_INFO = ^TSERVERS_SRC_INFO;
  5042. TSERVERS_SRC_INFO = record
  5043. serverNode: array[0..5] of Tnuint8;
  5044. connectedLAN: Tnuint32;
  5045. sourceHops: Tnuint16;
  5046. end;
  5047. { 512 / sizeof( SERVERS_SRC_INFO ) }
  5048. PNWFSE_SERVER_SRC_INFO = ^TNWFSE_SERVER_SRC_INFO;
  5049. TNWFSE_SERVER_SRC_INFO = record
  5050. serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
  5051. reserved: Tnuint16;
  5052. numberOfEntries: Tnuint32;
  5053. serversSrcInfo: array[0..41] of TSERVERS_SRC_INFO;
  5054. end;
  5055. PNWFSE_KNOWN_SERVER_INFO = ^TNWFSE_KNOWN_SERVER_INFO;
  5056. TNWFSE_KNOWN_SERVER_INFO = record
  5057. serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
  5058. reserved: Tnuint16;
  5059. numberOfEntries: Tnuint32;
  5060. data: array[0..511] of Tnuint8;
  5061. end;
  5062. const
  5063. FSE_TYPE_NUMBER = 0;
  5064. FSE_TYPE_BOOLEAN = 1;
  5065. FSE_TYPE_TICKS = 2;
  5066. { 512 * number }
  5067. FSE_TYPE_BLOCK_SHIFT = 3;
  5068. { [+|-]hh:mm:ss converted to seconds }
  5069. FSE_TYPE_TIME_OFFSET = 4;
  5070. FSE_TYPE_STRING = 5;
  5071. { The following show the types of triggers }
  5072. FSE_TYPE_TRIGGER = 6;
  5073. FSE_TYPE_TRIGGER_OFF = $00;
  5074. FSE_TYPE_TRIGGER_ON = $01;
  5075. FSE_TYPE_TRIGGER_PENDING = $10;
  5076. FSE_TYPE_TRIGGER_SUCCESS = $20;
  5077. FSE_TYPE_TRIGGER_FAILED = $30;
  5078. { setCmdFlags }
  5079. FSE_STARTUP_ONLY = $01;
  5080. FSE_HIDE = $02;
  5081. FSE_ADVANCED = $04;
  5082. FSE_STARTUP_OR_LATER = $08;
  5083. { Can't be performed on secured console }
  5084. FSE_NOT_SECURED_CONSOLE = $10;
  5085. { setCmdCategory }
  5086. FSE_COMMUNICATIONS = 0;
  5087. FSE_MEMORY = 1;
  5088. FSE_FILE_CACHE = 2;
  5089. FSE_DIR_CACHE = 3;
  5090. FSE_FILE_SYSTEM = 4;
  5091. FSE_LOCKS = 5;
  5092. FSE_TRANSACTION_TRACKING = 6;
  5093. FSE_DISK = 7;
  5094. FSE_TIME = 8;
  5095. FSE_NCP = 9;
  5096. FSE_MISCELLANEOUS = 10;
  5097. FSE_ERRORS = 11;
  5098. FSE_DIRECTORY_SERVICES = 12;
  5099. FSE_MULTIPROCESSOR = 13;
  5100. FSE_SERVICE_LOCATION_PROTOCOL = 14;
  5101. { The setNameAndValueInfo contains ASCIIZ strings in the following layout:
  5102. ** byte setCmdName[ ];
  5103. ** byte setCmdValue[ ]; }
  5104. type
  5105. PNWFSE_SERVER_SET_CMDS_INFO = ^TNWFSE_SERVER_SET_CMDS_INFO;
  5106. TNWFSE_SERVER_SET_CMDS_INFO = record
  5107. serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
  5108. reserved: Tnuint16;
  5109. numberOfSetCommands: Tnuint32;
  5110. nextSequenceNumber: Tnuint32;
  5111. setCmdType: Tnuint32;
  5112. setCmdCategory: Tnuint32;
  5113. setCmdFlags: Tnuint32;
  5114. setNameAndValueInfo: array[0..499] of Tnuint8;
  5115. end;
  5116. { Len preceded string which is not NULL terminated }
  5117. PNWFSE_SERVER_SET_CATEGORIES = ^TNWFSE_SERVER_SET_CATEGORIES;
  5118. TNWFSE_SERVER_SET_CATEGORIES = record
  5119. serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
  5120. reserved: Tnuint16;
  5121. numberOfSetCategories: Tnuint32;
  5122. nextSequenceNumber: Tnuint32;
  5123. categoryName: array[0..511] of Tnuint8;
  5124. end;
  5125. { MLID Board Info }
  5126. const
  5127. FSE_MAX_NUM_BOARD_INFO = 18;
  5128. type
  5129. PMLID_BOARD_INFO = ^TMLID_BOARD_INFO;
  5130. TMLID_BOARD_INFO = record
  5131. protocolBoardNum: Tnuint32;
  5132. protocolNumber: Tnuint16;
  5133. protocolID: array[0..5] of Tnuint8;
  5134. protocolName: array[0..15] of Tnuint8;
  5135. end;
  5136. PNWFSE_MLID_BOARD_INFO = ^TNWFSE_MLID_BOARD_INFO;
  5137. TNWFSE_MLID_BOARD_INFO = record
  5138. serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
  5139. reserved: Tnuint8;
  5140. numberProtocols: Tnuint8;
  5141. MLIDBoardInfo: array[0..(FSE_MAX_NUM_BOARD_INFO) - 1] of TMLID_BOARD_INFO;
  5142. end;
  5143. { Enumerate Network Addresses }
  5144. PNW_GUID = ^TNW_GUID;
  5145. TNW_GUID = record
  5146. GUID: array[0..15] of Tnuint8;
  5147. end;
  5148. PNWFSE_NETWORK_ADDRESS = ^TNWFSE_NETWORK_ADDRESS;
  5149. TNWFSE_NETWORK_ADDRESS = record
  5150. addressType: Tnuint32;
  5151. addressSize: Tnuint32;
  5152. address: pnuint8;
  5153. end;
  5154. { retInfoMask for NWEnumServerConnInfo }
  5155. const
  5156. CONN_INFO_TRANS_MASK = $00000001;
  5157. CONN_INFO_LOGIN_TIME_MASK = $00000002;
  5158. CONN_INFO_LOGIN_NAME_MASK = $00000004;
  5159. CONN_INFO_LOCK_MASK = $00000008;
  5160. CONN_INFO_PRINT_MASK = $00000010;
  5161. CONN_INFO_STATS_MASK = $00000020;
  5162. CONN_INFO_ACCT_MASK = $00000040;
  5163. CONN_INFO_AUTH_MASK = $00000080;
  5164. CONN_INFO_ALL_MASK = $FFFFFFFF;
  5165. { some structs for NWEnumServerConnInfo }
  5166. type
  5167. PNWFSE_LOGIN_TIME = ^TNWFSE_LOGIN_TIME;
  5168. TNWFSE_LOGIN_TIME = record
  5169. loginTime: array[0..6] of Tnuint8;
  5170. loginExpirationTime: Tnuint32;
  5171. end;
  5172. PNWFSE_LOGIN_NAME = ^TNWFSE_LOGIN_NAME;
  5173. TNWFSE_LOGIN_NAME = record
  5174. loginObjectType: Tnuint32;
  5175. loginNameLen: Tnuint8;
  5176. loginName: pnuint8;
  5177. end;
  5178. PNWFSE_LOCK_INFO = ^TNWFSE_LOCK_INFO;
  5179. TNWFSE_LOCK_INFO = record
  5180. logicalLockThreshold: Tnuint8;
  5181. recordLockThreshold: Tnuint8;
  5182. fileLockCount: Tnuint16;
  5183. recordLockCount: Tnuint16;
  5184. end;
  5185. PNWFSE_PRINT_INFO = ^TNWFSE_PRINT_INFO;
  5186. TNWFSE_PRINT_INFO = record
  5187. printFlags: Tnuint8;
  5188. tabSize: Tnuint8;
  5189. numberCopies: Tnuint8;
  5190. printToFileFlag: Tnuint8;
  5191. bannerFileName: array[0..13] of Tnuint8;
  5192. targetServerID: Tnuint8;
  5193. formType: Tnuint8;
  5194. end;
  5195. PNWFSE_STATS_INFO = ^TNWFSE_STATS_INFO;
  5196. TNWFSE_STATS_INFO = record
  5197. totalBytesRead: array[0..5] of Tnuint8;
  5198. totalBytesWritten: array[0..5] of Tnuint8;
  5199. totalRequests: Tnuint32;
  5200. end;
  5201. PNWFSE_ACCT_INFO = ^TNWFSE_ACCT_INFO;
  5202. TNWFSE_ACCT_INFO = record
  5203. holdTime: Tnuint32;
  5204. holdAmt: Tnuint32;
  5205. chargeAmt: Tnuint32;
  5206. heldConnectTimeInMinutes: Tnuint32;
  5207. heldRequests: Tnuint32;
  5208. heldBytesRead: array[0..5] of Tnuint8;
  5209. heldBytesWritten: array[0..5] of Tnuint8;
  5210. end;
  5211. PNWFSE_AUTH_INFO = ^TNWFSE_AUTH_INFO;
  5212. TNWFSE_AUTH_INFO = record
  5213. loginStatus: Tnuint32;
  5214. loginPrivileges: Tnuint32;
  5215. end;
  5216. function NWGetCacheInfo(conn: TNWCONN_HANDLE; fseCacheInfo: PNWFSE_CACHE_INFO): TNWCCODE; NWLIB_CALNLM32;
  5217. function NWGetFileServerInfo(conn: TNWCONN_HANDLE; fseFileServerInfo: PNWFSE_FILE_SERVER_INFO): TNWCCODE; NWLIB_CALNLM32;
  5218. function NWGetNetWareFileSystemsInfo(conn: TNWCONN_HANDLE; fseFileSystemInfo: PNWFSE_FILE_SYSTEM_INFO): TNWCCODE; NWLIB_CALNLM32;
  5219. function NWGetUserInfo(conn: TNWCONN_HANDLE; connNum: Tnuint32; userName: Pnstr8; fseUserInfo: PNWFSE_USER_INFO): TNWCCODE; NWLIB_CALNLM32;
  5220. function NWGetPacketBurstInfo(conn: TNWCONN_HANDLE; fsePacketBurstInfo: PNWFSE_PACKET_BURST_INFO): TNWCCODE; NWLIB_CALNLM32;
  5221. function NWGetIPXSPXInfo(conn: TNWCONN_HANDLE; fseIPXSPXInfo: PNWFSE_IPXSPX_INFO): TNWCCODE; NWLIB_CALNLM32;
  5222. function NWGetGarbageCollectionInfo(conn: TNWCONN_HANDLE; fseGarbageCollectionInfo: PNWFSE_GARBAGE_COLLECTION_INFO): TNWCCODE; NWLIB_CALNLM32;
  5223. function NWGetCPUInfo(conn: TNWCONN_HANDLE; CPUNum: Tnuint32; CPUName: Pnstr8; numCoprocessor: Pnstr8; bus: Pnstr8;
  5224. fseCPUInfo: PNWFSE_CPU_INFO): TNWCCODE; NWLIB_CALNLM32;
  5225. function NWGetVolumeSwitchInfo(conn: TNWCONN_HANDLE; startNum: Tnuint32; fseVolumeSwitchInfo: PNWFSE_VOLUME_SWITCH_INFO): TNWCCODE; NWLIB_CALNLM32;
  5226. function NWGetNLMLoadedList(conn: TNWCONN_HANDLE; startNum: Tnuint32; fseNLMLoadedList: PNWFSE_NLM_LOADED_LIST): TNWCCODE; NWLIB_CALNLM32;
  5227. function NWGetNLMInfo(conn: TNWCONN_HANDLE; NLMNum: Tnuint32; fileName: Pnstr8; NLMname: Pnstr8; copyright: Pnstr8;
  5228. fseNLMInfo: PNWFSE_NLM_INFO): TNWCCODE; NWLIB_CALNLM32;
  5229. function NWGetDirCacheInfo(conn: TNWCONN_HANDLE; fseDirCacheInfo: PNWFSE_DIR_CACHE_INFO): TNWCCODE; NWLIB_CALNLM32;
  5230. function NWGetOSVersionInfo(conn: TNWCONN_HANDLE; fseOSVersionInfo: PNWFSE_OS_VERSION_INFO): TNWCCODE; NWLIB_CALNLM32;
  5231. function NWGetActiveConnListByType(conn: TNWCONN_HANDLE; startConnNum: Tnuint32; connType: Tnuint32; fseActiveConnListByType: PNWFSE_ACTIVE_CONN_LIST): TNWCCODE; NWLIB_CALNLM32;
  5232. function NWGetNLMsResourceTagList(conn: TNWCONN_HANDLE; NLMNum: Tnuint32; startNum: Tnuint32; fseNLMsResourceTagList: PNWFSE_NLMS_RESOURCE_TAG_LIST): TNWCCODE; NWLIB_CALNLM32;
  5233. function NWGetActiveLANBoardList(conn: TNWCONN_HANDLE; startNum: Tnuint32; fseActiveLANBoardList: PNWFSE_ACTIVE_LAN_BOARD_LIST): TNWCCODE; NWLIB_CALNLM32;
  5234. function NWGetLANConfigInfo(conn: TNWCONN_HANDLE; boardNum: Tnuint32; fseLANConfigInfo: PNWFSE_LAN_CONFIG_INFO): TNWCCODE; NWLIB_CALNLM32;
  5235. function NWGetLANCommonCountersInfo(conn: TNWCONN_HANDLE; boardNum: Tnuint32; blockNum: Tnuint32; fseLANCommonCountersInfo: PNWFSE_LAN_COMMON_COUNTERS_INFO): TNWCCODE; NWLIB_CALNLM32;
  5236. function NWGetLANCustomCountersInfo(conn: TNWCONN_HANDLE; boardNum: Tnuint32; startingNum: Tnuint32; fseLANCustomInfo: PNWFSE_LAN_CUSTOM_INFO): TNWCCODE; NWLIB_CALNLM32;
  5237. function NWGetLSLInfo(conn: TNWCONN_HANDLE; fseLSLInfo: PNWFSE_LSL_INFO): TNWCCODE; NWLIB_CALNLM32;
  5238. function NWGetLSLLogicalBoardStats(conn: TNWCONN_HANDLE; LANBoardNum: Tnuint32; fseLSLLogicalBoardStats: PNWFSE_LSL_LOGICAL_BOARD_STATS): TNWCCODE; NWLIB_CALNLM32;
  5239. function NWGetMediaMgrObjInfo(conn: TNWCONN_HANDLE; objNum: Tnuint32; fseMediaMgrObjInfo: PNWFSE_MEDIA_MGR_OBJ_INFO): TNWCCODE; NWLIB_CALNLM32;
  5240. function NWGetMediaMgrObjList(conn: TNWCONN_HANDLE; startNum: Tnuint32; objType: Tnuint32; fseMediaMgrObjList: PNWFSE_MEDIA_MGR_OBJ_LIST): TNWCCODE; NWLIB_CALNLM32;
  5241. function NWGetMediaMgrObjChildrenList(conn: TNWCONN_HANDLE; startNum: Tnuint32; objType: Tnuint32; parentObjNum: Tnuint32; fseMediaMgrObjList: PNWFSE_MEDIA_MGR_OBJ_LIST): TNWCCODE; NWLIB_CALNLM32;
  5242. function NWGetVolumeSegmentList(conn: TNWCONN_HANDLE; volNum: Tnuint32; fseVolumeSegmentList: PNWFSE_VOLUME_SEGMENT_LIST): TNWCCODE; NWLIB_CALNLM32;
  5243. function NWGetVolumeInfoByLevel(conn: TNWCONN_HANDLE; volNum: Tnuint32; infoLevel: Tnuint32; fseVolumeInfo: PNWFSE_VOLUME_INFO_BY_LEVEL): TNWCCODE; NWLIB_CALNLM32;
  5244. function NWGetActiveProtocolStacks(conn: TNWCONN_HANDLE; startNum: Tnuint32; fseActiveStacks: PNWFSE_ACTIVE_STACKS): TNWCCODE; NWLIB_CALNLM32;
  5245. function NWGetProtocolStackConfigInfo(conn: TNWCONN_HANDLE; stackNum: Tnuint32; stackFullName: Pnstr8; fseProtocolStkConfigInfo: PNWFSE_PROTOCOL_STK_CONFIG_INFO): TNWCCODE; NWLIB_CALNLM32;
  5246. function NWGetProtocolStackStatsInfo(conn: TNWCONN_HANDLE; stackNum: Tnuint32; fseProtocolStkStatsInfo: PNWFSE_PROTOCOL_STK_STATS_INFO): TNWCCODE; NWLIB_CALNLM32;
  5247. function NWGetProtocolStackCustomInfo(conn: TNWCONN_HANDLE; stackNum: Tnuint32; customStartNum: Tnuint32; fseProtocolStackCustomInfo: PNWFSE_PROTOCOL_CUSTOM_INFO): TNWCCODE; NWLIB_CALNLM32;
  5248. function NWGetProtocolStkNumsByMediaNum(conn: TNWCONN_HANDLE; mediaNum: Tnuint32; fseProtocolStkIDNums: PNWFSE_PROTOCOL_ID_NUMS): TNWCCODE; NWLIB_CALNLM32;
  5249. function NWGetProtocolStkNumsByLANBrdNum(conn: TNWCONN_HANDLE; LANBoardNum: Tnuint32; fseProtocolStkIDNums: PNWFSE_PROTOCOL_ID_NUMS): TNWCCODE; NWLIB_CALNLM32;
  5250. function NWGetMediaNameByMediaNum(conn: TNWCONN_HANDLE; mediaNum: Tnuint32; mediaName: Pnstr8; fseMediaNameList: PNWFSE_MEDIA_NAME_LIST): TNWCCODE; NWLIB_CALNLM32;
  5251. function NWGetLoadedMediaNumList(conn: TNWCONN_HANDLE; fseLoadedMediaNumList: PNWFSE_LOADED_MEDIA_NUM_LIST): TNWCCODE; NWLIB_CALNLM32;
  5252. function NWGetGeneralRouterAndSAPInfo(conn: TNWCONN_HANDLE; fseGeneralRouterSAPInfo: PNWFSE_GENERAL_ROUTER_SAP_INFO): TNWCCODE; NWLIB_CALNLM32;
  5253. function NWGetNetworkRouterInfo(conn: TNWCONN_HANDLE; networkNum: Tnuint32; fseNetworkRouterInfo: PNWFSE_NETWORK_ROUTER_INFO): TNWCCODE; NWLIB_CALNLM32;
  5254. function NWGetNetworkRoutersInfo(conn: TNWCONN_HANDLE; networkNum: Tnuint32; startNum: Tnuint32; fseNetworkRoutersInfo: PNWFSE_NETWORK_ROUTERS_INFO): TNWCCODE; NWLIB_CALNLM32;
  5255. function NWGetKnownNetworksInfo(conn: TNWCONN_HANDLE; startNum: Tnuint32; fseKnownNetworksInfo: PNWFSE_KNOWN_NETWORKS_INFO): TNWCCODE; NWLIB_CALNLM32;
  5256. function NWGetServerInfo(conn: TNWCONN_HANDLE; serverType: Tnuint32; serverName: Pnstr8; fseServerInfo: PNWFSE_SERVER_INFO): TNWCCODE; NWLIB_CALNLM32;
  5257. function NWGetServerSourcesInfo(conn: TNWCONN_HANDLE; startNum: Tnuint32; serverType: Tnuint32; serverName: Pnstr8; fseServerSrcInfo: PNWFSE_SERVER_SRC_INFO): TNWCCODE; NWLIB_CALNLM32;
  5258. function NWGetKnownServersInfo(conn: TNWCONN_HANDLE; startNum: Tnuint32; serverType: Tnuint32; fseKnownServerInfo: PNWFSE_KNOWN_SERVER_INFO): TNWCCODE; NWLIB_CALNLM32;
  5259. function NWGetServerSetCommandsInfo(conn: TNWCONN_HANDLE; startNum: Tnuint32; fseServerSetCmdsInfo: PNWFSE_SERVER_SET_CMDS_INFO): TNWCCODE; NWLIB_CALNLM32;
  5260. function NWGetServerSetCategories(conn: TNWCONN_HANDLE; startNum: Tnuint32; fseServerSetCategories: PNWFSE_SERVER_SET_CATEGORIES): TNWCCODE; NWLIB_CALNLM32;
  5261. function NWGetMLIDBoardInfo(conn: TNWCONN_HANDLE; MLIDBoardNum: Tnuint32; fseMLIDBoardInfo: PNWFSE_MLID_BOARD_INFO): TNWCCODE; NWLIB_CALNLM32;
  5262. function NWEnumNetAddresses(conn: TNWCONN_HANDLE; searchNumber: pnuint32; serverTimeAndVConsoleInfo: PSERVER_AND_VCONSOLE_INFO; reserved: pnuint16; fseServerGUID: PNW_GUID;
  5263. itemsInArray: Tnuint32; itemsReturned: pnuint32; fseNetworkAddresses: PNWFSE_NETWORK_ADDRESS): TNWCCODE; NWLIB_CALNLM32;
  5264. function NWGenerateGUIDs(connHandle: TNWCONN_HANDLE; GUIDSize: Tnuint32; GUIDList: PNW_GUID): TNWCCODE; NWLIB_CALNLM32;
  5265. function NWGetServerConnInfo(conn: TNWCONN_HANDLE; retInfoMask: Tnuint32; connectionNumber: Tnuint32; serverTimeAndVConsoleInfo: PSERVER_AND_VCONSOLE_INFO; reserved: pnuint16;
  5266. networkAddress: PNWFSE_NETWORK_ADDRESS; loginTime: PNWFSE_LOGIN_TIME; loginName: PNWFSE_LOGIN_NAME; lockInfo: PNWFSE_LOCK_INFO; printInfo: PNWFSE_PRINT_INFO;
  5267. statsInfo: PNWFSE_STATS_INFO; acctInfo: PNWFSE_ACCT_INFO; authInfo: PNWFSE_AUTH_INFO): TNWCCODE; NWLIB_CALNLM32;
  5268. //*****************************************************************************
  5269. //nwmigrat.h
  5270. //*****************************************************************************
  5271. const
  5272. MAX_NUM_OF_DATA_STREAMS = 3;
  5273. MAX_SIZE_OF_SM_STRING = 128;
  5274. MAX_SIZE_OF_SM_INFO = 128;
  5275. MAX_NUM_OF_SM = 32;
  5276. ERR_INVALID_SM_ID = 240;
  5277. ERR_SM_ALREADY_REGISTERED = 241;
  5278. ERR_SM_CREATE_FAILED = 242;
  5279. ERR_SM_CLOSE_FAILED = 243;
  5280. ERR_SM_WRITE_NO_SPACE = 244;
  5281. ERR_SM_WRITE_IO_ERROR = 245;
  5282. ERR_SM_READ_IO_ERROR = 246;
  5283. ERR_SM_OPEN_FAILED = 247;
  5284. ERR_SM_DELETE_FAILED = 248;
  5285. { A length preceded string is followed by SMInfo data }
  5286. type
  5287. PSUPPORT_MODULE_INFO = ^TSUPPORT_MODULE_INFO;
  5288. TSUPPORT_MODULE_INFO = record
  5289. IOStatus: Tnuint32;
  5290. InfoBlockSize: Tnuint32;
  5291. AvailSpace: Tnuint32;
  5292. UsedSpace: Tnuint32;
  5293. SMInfo: array[0..(MAX_SIZE_OF_SM_STRING + MAX_SIZE_OF_SM_INFO) - 1] of Tnuint8;
  5294. end;
  5295. PSUPPORT_MODULE_IDS = ^TSUPPORT_MODULE_IDS;
  5296. TSUPPORT_MODULE_IDS = record
  5297. numberOfSMs: Tnuint32;
  5298. SMIDs: array[0..(MAX_NUM_OF_SM) - 1] of Tnuint32;
  5299. end;
  5300. { const
  5301. NWMoveFileToDM = NWMoveFileToDM2;
  5302. NWMoveFileFromDM = NWMoveFileFromDM2;
  5303. NWGetDMFileInfo = NWGetDMFileInfo2;
  5304. NWGetDMVolumeInfo = NWGetDMVolumeInfo2;
  5305. NWGetDefaultSupportModule = NWGetDefaultSupportModule2;
  5306. NWSetDefaultSupportModule = NWSetDefaultSupportModule2;
  5307. NWGetDataMigratorInfo = NWGetDataMigratorInfo2;
  5308. NWGetSupportModuleInfo = NWGetSupportModuleInfo2;}
  5309. function NWMoveFileToDM(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; path: Pnstr8; nameSpace: Tnuint8; supportModuleID: Tnuint32;
  5310. saveKeyFlag: Tnuint32): TNWCCODE; NWLIB_CLIB;
  5311. function NWMoveFileFromDM(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; path: Pnstr8; nameSpace: Tnuint8): TNWCCODE; NWLIB_CLIB;
  5312. function NWGetDMFileInfo(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; path: Pnstr8; nameSpace: Tnuint8; supportModuleID: pnuint32;
  5313. restoreTime: pnuint32; dataStreams: pnuint32): TNWCCODE; NWLIB_CLIB;
  5314. function NWGetDMVolumeInfo(conn: TNWCONN_HANDLE; volume: Tnuint16; supportModuleID: Tnuint32; numberOfFilesMigrated: pnuint32; totalMigratedSize: pnuint32;
  5315. spaceUsedOnDM: pnuint32; limboSpaceUsedOnDM: pnuint32; spaceMigrated: pnuint32; filesInLimbo: pnuint32): TNWCCODE; NWLIB_CLIB;
  5316. function NWGetSupportModuleInfo(conn: TNWCONN_HANDLE; infomationLevel: Tnuint32; supportModuleID: Tnuint32; returnInfo: pnuint8; returnInfoLen: pnuint32): TNWCCODE; NWLIB_CLIB;
  5317. function NWGetDataMigratorInfo(conn: TNWCONN_HANDLE; DMPresentFlag: pnuint32; majorVersion: pnuint32; minorVersion: pnuint32; DMSMRegistered: pnuint32): TNWCCODE; NWLIB_CLIB;
  5318. function NWGetDefaultSupportModule(conn: TNWCONN_HANDLE; supportModuleID: pnuint32): TNWCCODE; NWLIB_CLIB;
  5319. function NWSetDefaultSupportModule(conn: TNWCONN_HANDLE; supportModuleID: pnuint32): TNWCCODE; NWLIB_CLIB;
  5320. function NWGetSupportModuleCapacity(conn: TNWCONN_HANDLE; luSupportModuleID: Tnuint32; luVolume: Tnuint32; luDirectoryBase: Tnuint32; pluSMBlockSizeInSectors: pnuint32;
  5321. pluSMTotalBlocks: pnuint32; pluSMUsedBlocks: pnuint32): TNWCCODE; NWLIB_CALNLM32;
  5322. //*****************************************************************************
  5323. //nwsm.h
  5324. //*****************************************************************************
  5325. const
  5326. LOAD_COULD_NOT_FIND_FILE = 1;
  5327. LOAD_ERROR_READING_FILE = 2;
  5328. LOAD_NOT_NLM_FILE_FORMAT = 3;
  5329. LOAD_WRONG_NLM_FILE_VERSION = 4;
  5330. LOAD_REENTRANT_INITIALIZE_FAILURE = 5;
  5331. LOAD_CAN_NOT_LOAD_MULTIPLE_COPIES = 6;
  5332. LOAD_ALREADY_IN_PROGRESS = 7;
  5333. LOAD_NOT_ENOUGH_MEMORY = 8;
  5334. LOAD_INITIALIZE_FAILURE = 9;
  5335. LOAD_INCONSISTENT_FILE_FORMAT = 10;
  5336. LOAD_CAN_NOT_LOAD_AT_STARTUP = 11;
  5337. LOAD_AUTO_LOAD_MODULES_NOT_LOADED = 12;
  5338. LOAD_UNRESOLVED_EXTERNAL = 13;
  5339. LOAD_PUBLIC_ALREADY_DEFINED = 14;
  5340. LOAD_XDC_DATA_ERROR = 15;
  5341. LOAD_NOT_OS_DOMAIN = 16;
  5342. function NWSMLoadNLM(connHandle: TNWCONN_HANDLE; loadCommand: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
  5343. function NWSMLoadNLM2(connHandle: TNWCONN_HANDLE; loadCommand: Pnstr8; loadNLMReturnCode: pnuint32): TNWCCODE; NWLIB_CALNLM32;
  5344. function NWSMUnloadNLM(connHandle: TNWCONN_HANDLE; NLMName: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
  5345. function NWSMMountVolume(connHandle: TNWCONN_HANDLE; volumeName: Pnstr8; volumeNumber: pnuint32): TNWCCODE; NWLIB_CALNLM32;
  5346. function NWSMDismountVolumeByNumber(connHandle: TNWCONN_HANDLE; volumeNumber: Tnuint16): TNWCCODE; NWLIB_CALNLM32;
  5347. function NWSMDismountVolumeByName(connHandle: TNWCONN_HANDLE; volumeName: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
  5348. function NWSMAddNSToVolume(connHandle: TNWCONN_HANDLE; volNumber: Tnuint16; namspc: Tnuint8): TNWCCODE; NWLIB_CALNLM32;
  5349. function NWSMSetDynamicCmdStrValue(connHandle: TNWCONN_HANDLE; setCommandName: Pnstr8; cmdValue: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
  5350. function NWSMSetDynamicCmdIntValue(connHandle: TNWCONN_HANDLE; setCommandName: Pnstr8; cmdValue: Tnuint32): TNWCCODE; NWLIB_CALNLM32;
  5351. function NWSMExecuteNCFFile(connHandle: TNWCONN_HANDLE; NCFFileName: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
  5352. // Obsolete API's
  5353. //****************************************
  5354. //o_ndscon
  5355. //****************************************
  5356. { replacement - NWCCGetConnInfo }
  5357. function NWDSGetConnectionInfo
  5358. (connHandle: TNWCONN_HANDLE;
  5359. connStatus: pnuint8;
  5360. connType: pnuint8;
  5361. serverFlags: pnuint8;
  5362. serverName: PAnsiChar;
  5363. transType: pnuint8;
  5364. transLen: pnuint32;
  5365. transBuf: pointer;
  5366. distance: pnuint16;
  5367. maxPacketSize: pnuint16): TNWCCODE; NWLIB_DSAPI;
  5368. { replacement - NWDSOpenMonitoredConn }
  5369. function NWDSGetMonitoredConnection
  5370. (connHandle: PNWCONN_HANDLE): TNWCCODE; NWLIB_DSAPI;
  5371. { replacement - NWGetPreferredConnName & NWCCOpenConnByName }
  5372. function NWGetPreferredDSServer(connHandle: PNWCONN_HANDLE): TNWCCODE; NWLIB_DSAPI;
  5373. { replacement - NWCCLicenseConn }
  5374. function NWDSLockConnection(connHandle: TNWCONN_HANDLE): TNWCCODE; NWLIB_DSAPI;
  5375. { replacement - NWCCScanConnRefs }
  5376. function NWGetNextConnectionID(connHandle: PNWCONN_HANDLE): TNWCCODE; NWLIB_DSAPI;
  5377. { replacement - NWCCOpenConnByAddr followed by NWCCLicenseConn }
  5378. function NWDSGetConnectionSlot
  5379. (connType: Tnuint8;
  5380. transType: Tnuint8;
  5381. transLen: Tnuint32;
  5382. transBuf: pointer;
  5383. connHandle: PNWCONN_HANDLE): TNWCCODE; NWLIB_DSAPI;
  5384. { replacement - NWCCScanConnInfo }
  5385. function NWGetNearestDirectoryService(connHandle: PNWCONN_HANDLE): TNWCCODE; NWLIB_DSAPI;
  5386. { replacement - NWCCScanConnInfo, NWCCOpenConnByRef, NWCCLicenseConn }
  5387. function NWGetConnectionIDFromAddress
  5388. (transType: Tnuint8;
  5389. transLen: Tnuint32;
  5390. transBuf: pointer;
  5391. connHandle: PNWCONN_HANDLE): TNWCCODE; NWLIB_DSAPI;
  5392. { replacement - NWCCScanConnInfo, NWCCOpenConnByRef, NWCCLicenseConn }
  5393. function NWGetConnectionIDFromName
  5394. (nameLen: Tnuint32;
  5395. name: PAnsiChar;
  5396. connHandle: PNWCONN_HANDLE): TNWCCODE; NWLIB_DSAPI;
  5397. { replacement - NWCCScanConnInfo, NWCCOpenConnByRef }
  5398. function NWGetNearestDSConnRef(connRef: pnuint32): TNWCCODE; NWLIB_DSAPI;
  5399. { replacement - NWDSSetDefNameContext }
  5400. function NWSetDefaultNameContext
  5401. (contextLength: Tnuint16;
  5402. context: pnuint8): TNWCCODE; NWLIB_DSAPI;
  5403. { replacement - NWDSGetDefNameContext }
  5404. function NWGetDefaultNameContext
  5405. (bufferSize: Tnuint16;
  5406. context: pnuint8): TNWCCODE; NWLIB_DSAPI;
  5407. { replacement - NWCCGetNumConns }
  5408. function NWGetNumConnections(numConnections: pnuint16): TNWCCODE; NWLIB_DSAPI;
  5409. { replacement - NWDSCanDSAuthenticate }
  5410. function NWIsDSAuthenticated: TNWCCODE; NWLIB_DSAPI;
  5411. { replacement - NWCCUnlicenseConn }
  5412. function NWDSUnlockConnection(connHandle: TNWCONN_HANDLE): TNWCCODE; NWLIB_DSAPI;
  5413. { replacement - NWCCGetPrefServerName }
  5414. function NWGetPreferredConnName(preferredName: pnuint8; preferredType: pnuint8): TNWCCODE; NWLIB_DSAPI;
  5415. { replacment - NWCSysCloseConnRef }
  5416. function NWFreeConnectionSlot(connHandle: TNWCONN_HANDLE; disconnectType: Tnuint8): TNWCCODE; NWLIB_DSAPI;
  5417. { replacement - NONE (monitored connections are managed automatically
  5418. * by the client software) }
  5419. function NWDSSetMonitoredConnection(connHandle: TNWCONN_HANDLE): TNWCCODE; NWLIB_DSAPI;
  5420. type
  5421. PNMBYTE = ^TNMBYTE;
  5422. PNMUNI = ^TNMUNI;
  5423. PSCBYTE = ^TSCBYTE;
  5424. PSCUNI = ^TSCUNI;
  5425. implementation
  5426. (*
  5427. { was #define dname(params) para_def_expr }
  5428. { argument types are unknown }
  5429. { return type might be wrong }
  5430. function nwunisize(x : longint) : longint;
  5431. begin
  5432. //nwunisize:=(sizeof(x)) / (sizeof(unicode));
  5433. end;
  5434. { was #define dname def_expr }
  5435. function NWU_UNCHANGED_FUNCTION : pointer;
  5436. begin
  5437. //NWU_UNCHANGED_FUNCTION:=pointer(-(1));
  5438. end;
  5439. { was #define dname(params) para_def_expr }
  5440. { argument types are unknown }
  5441. { return type might be wrong }
  5442. function NWLocalToUnicode(P1,P2,P3,P4,P5,P6 : longint) : longint;
  5443. begin
  5444. //NWLocalToUnicode:=NWLocalToUnicode(P1,P2,P3,P4,P5,P6,1);
  5445. end;
  5446. { was #define dname(params) para_def_expr }
  5447. { argument types are unknown }
  5448. { return type might be wrong }
  5449. function NWUnicodeToLocal(P1,P2,P3,P4,P5,P6 : longint) : longint;
  5450. begin
  5451. //NWUnicodeToLocal:=NWUnicodeToLocal(P1,P2,P3,P4,P5,P6,1);
  5452. end;
  5453. {function NWInitUnicodeTables(CountryCode,CodePage : longint) : longint;
  5454. begin
  5455. NWInitUnicodeTables:=NWLInitXlateTables(CodePage,N_UNI_LOAD_MONOCASE or N_UNI_LOAD_COLLATION);
  5456. end;}
  5457. { was #define dname(params) para_def_expr }
  5458. { argument types are unknown }
  5459. { return type might be wrong }
  5460. function uniicmp(s1,s2 : longint) : longint;
  5461. begin
  5462. //uniicmp:=nwusuniicmp(s1,s2);
  5463. end;
  5464. { was #define dname(params) para_def_expr }
  5465. { argument types are unknown }
  5466. { return type might be wrong }
  5467. function uninicmp(s1,s2,l : longint) : longint;
  5468. begin
  5469. //uninicmp:=nwusuninicmp(s1,s2,l);
  5470. end;
  5471. { was #define dname(params) para_def_expr }
  5472. { argument types are unknown }
  5473. { return type might be wrong }
  5474. function NWScanForTrustees(a,b,c,d,e,f : longint) : longint;
  5475. begin
  5476. //NWScanForTrustees:=NWIntScanForTrustees(a,b,c,d,e,f,0);
  5477. end;
  5478. { was #define dname(params) para_def_expr }
  5479. { argument types are unknown }
  5480. { return type might be wrong }
  5481. function NWScanForTrusteesExt(a,b,c,d,e,f : longint) : longint;
  5482. begin
  5483. //NWScanForTrusteesExt:=NWIntScanForTrusteesExt(a,b,c,d,e,f,0);
  5484. end;
  5485. { was #define dname(params) para_def_expr }
  5486. { argument types are unknown }
  5487. { return type might be wrong }
  5488. function NWScanDirectoryInformation(a,b,c,d,e,f,g,h : longint) : longint;
  5489. begin
  5490. //NWScanDirectoryInformation:=NWIntScanDirectoryInformation(a,b,c,d,e,f,g,h,0);
  5491. end;
  5492. { was #define dname(params) para_def_expr }
  5493. { argument types are unknown }
  5494. { return type might be wrong }
  5495. function NWIntFileSearchInitialize(a,b,c,d,e,f,g,h : longint) : longint;
  5496. begin
  5497. //NWIntFileSearchInitialize:=NWFileSearchInitialize(a,b,c,d,e,f,g);
  5498. end;
  5499. { was #define dname(params) para_def_expr }
  5500. { argument types are unknown }
  5501. { return type might be wrong }
  5502. function NWScanFileInformation(a,b,c,d,e,f : longint) : longint;
  5503. begin
  5504. //NWScanFileInformation:=NWIntScanFileInformation(a,b,c,d,e,f,0);
  5505. end;
  5506. *)
  5507. end.