1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522 |
- {
- This file is part of the Free Pascal run time library.
- A file in Amiga system run time library.
- Copyright (c) 1998-2003 by Nils Sjoholm
- member of the Amiga RTL development team.
- See the file COPYING.FPC, included in this distribution,
- for details about the copyright.
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- **********************************************************************}
- {
- History:
- Added overlay functions for Pchar->Strings, functions
- and procedures. Now you can mix PChar and Strings e.g
- OpenLibrary('whatis.library',37). No need to cast to
- a PChar.
- 14 Jul 2000.
- Changed ReadArgs, removed the var for the second arg.
- Changed DOSRename from longint to a boolean.
- Aug 04 2000.
- Added functions and procedures with array of const.
- For use with fpc 1.0.7
- You have to use systemvartags. Check out that unit.
- 09 Nov 2002.
- Added the define use_amiga_smartlink.
- 13 Jan 2003.
- Update for AmigaOS 3.9.
- Added some const.
- 26 Jan 2003.
- Changed integer > smallint.
- 09 Feb 2003.
- [email protected]
- }
- {$I useamigasmartlink.inc}
- {$ifdef use_amiga_smartlink}
- {$smartlink on}
- {$endif use_amiga_smartlink}
- unit amigados;
- INTERFACE
- uses exec, utility, timer;
- Const
- { Predefined Amiga DOS global constants }
- DOSTRUE = -1;
- DOSFALSE = 0;
- { Mode parameter to Open() }
- MODE_OLDFILE = 1005; { Open existing file read/write
- positioned at beginning of file. }
- MODE_NEWFILE = 1006; { Open freshly created file (delete
- old file) read/write }
- MODE_READWRITE = 1004; { Open old file w/exclusive lock }
- { Relative position to Seek() }
- OFFSET_BEGINNING = -1; { relative to Begining Of File }
- OFFSET_CURRENT = 0; { relative to Current file position }
- OFFSET_END = 1; { relative to End Of File }
- BITSPERBYTE = 8;
- BYTESPERLONG = 4;
- BITSPERLONG = 32;
- MAXINT = $7FFFFFFF;
- MININT = $80000000;
- { Passed as type to Lock() }
- SHARED_LOCK = -2; { File is readable by others }
- ACCESS_READ = -2; { Synonym }
- EXCLUSIVE_LOCK = -1; { No other access allowed }
- ACCESS_WRITE = -1; { Synonym }
- Type
- FileHandle = BPTR;
- FileLock = BPTR;
- pDateStamp = ^tDateStamp;
- tDateStamp = record
- ds_Days : Longint; { Number of days since Jan. 1, 1978 }
- ds_Minute : Longint; { Number of minutes past midnight }
- ds_Tick : Longint; { Number of ticks past minute }
- end;
- Const
- TICKS_PER_SECOND = 50; { Number of ticks in one second }
- {$PACKRECORDS 4}
- Type
- { Returned by Examine() and ExInfo(), must be on a 4 byte boundary }
- pFileInfoBlock = ^tFileInfoBlock;
- tFileInfoBlock = record
- fib_DiskKey : Longint;
- fib_DirEntryType : Longint;
- { Type of Directory. If < 0, then a plain file.
- If > 0 a directory }
- fib_FileName : Array [0..107] of Char;
- { Null terminated. Max 30 chars used for now }
- fib_Protection : Longint;
- { bit mask of protection, rwxd are 3-0. }
- fib_EntryType : Longint;
- fib_Size : Longint; { Number of bytes in file }
- fib_NumBlocks : Longint; { Number of blocks in file }
- fib_Date : tDateStamp; { Date file last changed }
- fib_Comment : Array [0..79] of Char;
- { Null terminated comment associated with file }
- fib_OwnerUID : Word;
- fib_OwnerGID : Word;
- fib_Reserved : Array [0..31] of Char;
- end;
- Const
- { FIB stands for FileInfoBlock }
- {* FIBB are bit definitions, FIBF are field definitions *}
- {* Regular RWED bits are 0 == allowed. *}
- {* NOTE: GRP and OTR RWED permissions are 0 == not allowed! *}
- {* Group and Other permissions are not directly handled by the filesystem *}
- FIBB_OTR_READ = 15; {* Other: file is readable *}
- FIBB_OTR_WRITE = 14; {* Other: file is writable *}
- FIBB_OTR_EXECUTE = 13; {* Other: file is executable *}
- FIBB_OTR_DELETE = 12; {* Other: prevent file from being deleted *}
- FIBB_GRP_READ = 11; {* Group: file is readable *}
- FIBB_GRP_WRITE = 10; {* Group: file is writable *}
- FIBB_GRP_EXECUTE = 9; {* Group: file is executable *}
- FIBB_GRP_DELETE = 8; {* Group: prevent file from being deleted *}
- FIBB_SCRIPT = 6; { program is a script (execute) file }
- FIBB_PURE = 5; { program is reentrant and rexecutable}
- FIBB_ARCHIVE = 4; { cleared whenever file is changed }
- FIBB_READ = 3; { ignored by old filesystem }
- FIBB_WRITE = 2; { ignored by old filesystem }
- FIBB_EXECUTE = 1; { ignored by system, used by Shell }
- FIBB_DELETE = 0; { prevent file from being deleted }
- FIBF_OTR_READ = (1 shl FIBB_OTR_READ);
- FIBF_OTR_WRITE = (1 shl FIBB_OTR_WRITE);
- FIBF_OTR_EXECUTE = (1 shl FIBB_OTR_EXECUTE);
- FIBF_OTR_DELETE = (1 shl FIBB_OTR_DELETE);
- FIBF_GRP_READ = (1 shl FIBB_GRP_READ);
- FIBF_GRP_WRITE = (1 shl FIBB_GRP_WRITE);
- FIBF_GRP_EXECUTE = (1 shl FIBB_GRP_EXECUTE);
- FIBF_GRP_DELETE = (1 shl FIBB_GRP_DELETE);
- FIBF_SCRIPT = 64;
- FIBF_PURE = 32;
- FIBF_ARCHIVE = 16;
- FIBF_READ = 8;
- FIBF_WRITE = 4;
- FIBF_EXECUTE = 2;
- FIBF_DELETE = 1;
- {* Standard maximum length for an error string from fault. However, most *}
- {* error strings should be kept under 60 characters if possible. Don't *}
- {* forget space for the header you pass in. *}
- FAULT_MAX = 82;
- {* All BCPL data must be long Integer aligned. BCPL pointers are the long Integer
- * address (i.e byte address divided by 4 (>>2)) *}
- {* BCPL strings have a length in the first byte and then the characters.
- * For example: s[0]=3 s[1]=S s[2]=Y s[3]=S *}
- Type
- { returned by Info(), must be on a 4 byte boundary }
- pInfoData = ^tInfoData;
- tInfoData = record
- id_NumSoftErrors : Longint; { number of soft errors on disk }
- id_UnitNumber : Longint; { Which unit disk is (was) mounted on }
- id_DiskState : Longint; { See defines below }
- id_NumBlocks : Longint; { Number of blocks on disk }
- id_NumBlocksUsed : Longint; { Number of block in use }
- id_BytesPerBlock : Longint;
- id_DiskType : Longint; { Disk Type code }
- id_VolumeNode : BPTR; { BCPL pointer to volume node }
- id_InUse : Longint; { Flag, zero if not in use }
- end;
- {$PACKRECORDS NORMAL}
- Const
- { ID stands for InfoData }
- { Disk states }
- ID_WRITE_PROTECTED = 80; { Disk is write protected }
- ID_VALIDATING = 81; { Disk is currently being validated }
- ID_VALIDATED = 82; { Disk is consistent and writeable }
- CONST
- ID_NO_DISK_PRESENT = -1;
- ID_UNREADABLE_DISK = $42414400; { 'BAD\0' }
- ID_DOS_DISK = $444F5300; { 'DOS\0' }
- ID_FFS_DISK = $444F5301; { 'DOS\1' }
- ID_NOT_REALLY_DOS = $4E444F53; { 'NDOS' }
- ID_KICKSTART_DISK = $4B49434B; { 'KICK' }
- ID_MSDOS_DISK = $4d534400; { 'MSD\0' }
- { Errors from IoErr(), etc. }
- ERROR_NO_FREE_STORE = 103;
- ERROR_TASK_TABLE_FULL = 105;
- ERROR_BAD_TEMPLATE = 114;
- ERROR_BAD_NUMBER = 115;
- ERROR_REQUIRED_ARG_MISSING = 116;
- ERROR_KEY_NEEDS_ARG = 117;
- ERROR_TOO_MANY_ARGS = 118;
- ERROR_UNMATCHED_QUOTES = 119;
- ERROR_LINE_TOO_LONG = 120;
- ERROR_FILE_NOT_OBJECT = 121;
- ERROR_INVALID_RESIDENT_LIBRARY = 122;
- ERROR_NO_DEFAULT_DIR = 201;
- ERROR_OBJECT_IN_USE = 202;
- ERROR_OBJECT_EXISTS = 203;
- ERROR_DIR_NOT_FOUND = 204;
- ERROR_OBJECT_NOT_FOUND = 205;
- ERROR_BAD_STREAM_NAME = 206;
- ERROR_OBJECT_TOO_LARGE = 207;
- ERROR_ACTION_NOT_KNOWN = 209;
- ERROR_INVALID_COMPONENT_NAME = 210;
- ERROR_INVALID_LOCK = 211;
- ERROR_OBJECT_WRONG_TYPE = 212;
- ERROR_DISK_NOT_VALIDATED = 213;
- ERROR_DISK_WRITE_PROTECTED = 214;
- ERROR_RENAME_ACROSS_DEVICES = 215;
- ERROR_DIRECTORY_NOT_EMPTY = 216;
- ERROR_TOO_MANY_LEVELS = 217;
- ERROR_DEVICE_NOT_MOUNTED = 218;
- ERROR_SEEK_ERROR = 219;
- ERROR_COMMENT_TOO_BIG = 220;
- ERROR_DISK_FULL = 221;
- ERROR_DELETE_PROTECTED = 222;
- ERROR_WRITE_PROTECTED = 223;
- ERROR_READ_PROTECTED = 224;
- ERROR_NOT_A_DOS_DISK = 225;
- ERROR_NO_DISK = 226;
- ERROR_NO_MORE_ENTRIES = 232;
- { added for 1.4 }
- ERROR_IS_SOFT_LINK = 233;
- ERROR_OBJECT_LINKED = 234;
- ERROR_BAD_HUNK = 235;
- ERROR_NOT_IMPLEMENTED = 236;
- ERROR_RECORD_NOT_LOCKED = 240;
- ERROR_LOCK_COLLISION = 241;
- ERROR_LOCK_TIMEOUT = 242;
- ERROR_UNLOCK_ERROR = 243;
- { error codes 303-305 are defined in dosasl.h }
- { These are the return codes used by convention by AmigaDOS commands }
- { See FAILAT and IF for relvance to EXECUTE files }
- RETURN_OK = 0; { No problems, success }
- RETURN_WARN = 5; { A warning only }
- RETURN_ERROR = 10; { Something wrong }
- RETURN_FAIL = 20; { Complete or severe failure}
- { Bit numbers that signal you that a user has issued a break }
- SIGBREAKB_CTRL_C = 12;
- SIGBREAKB_CTRL_D = 13;
- SIGBREAKB_CTRL_E = 14;
- SIGBREAKB_CTRL_F = 15;
- { Bit fields that signal you that a user has issued a break }
- { for example: if (SetSignal(0,0) & SIGBREAKF_CTRL_C) cleanup_and_exit(); }
- SIGBREAKF_CTRL_C = 4096;
- SIGBREAKF_CTRL_D = 8192;
- SIGBREAKF_CTRL_E = 16384;
- SIGBREAKF_CTRL_F = 32768;
- { Values returned by SameLock() }
- LOCK_SAME = 0;
- LOCK_SAME_HANDLER = 1; { actually same volume }
- LOCK_DIFFERENT = -1;
- { types for ChangeMode() }
- CHANGE_LOCK = 0;
- CHANGE_FH = 1;
- { Values for MakeLink() }
- LINK_HARD = 0;
- LINK_SOFT = 1; { softlinks are not fully supported yet }
- { values returned by }
- ITEM_EQUAL = -2; { "=" Symbol }
- ITEM_ERROR = -1; { error }
- ITEM_NOTHING = 0; { *N, ;, endstreamch }
- ITEM_UNQUOTED = 1; { unquoted item }
- ITEM_QUOTED = 2; { quoted item }
- { types for AllocDosObject/FreeDosObject }
- DOS_FILEHANDLE = 0; { few people should use this }
- DOS_EXALLCONTROL = 1; { Must be used to allocate this! }
- DOS_FIB = 2; { useful }
- DOS_STDPKT = 3; { for doing packet-level I/O }
- DOS_CLI = 4; { for shell-writers, etc }
- DOS_RDARGS = 5; { for ReadArgs if you pass it in }
- {
- * Data structures and equates used by the V1.4 DOS functions
- * StrtoDate() and DatetoStr()
- }
- {--------- String/Date structures etc }
- Type
- pDateTime = ^tDateTime;
- tDateTime = record
- dat_Stamp : tDateStamp; { DOS DateStamp }
- dat_Format, { controls appearance of dat_StrDate }
- dat_Flags : Byte; { see BITDEF's below }
- dat_StrDay, { day of the week string }
- dat_StrDate, { date string }
- dat_StrTime : STRPTR; { time string }
- END;
- { You need this much room for each of the DateTime strings: }
- CONST
- LEN_DATSTRING = 16;
- { flags for dat_Flags }
- DTB_SUBST = 0; { substitute Today, Tomorrow, etc. }
- DTF_SUBST = 1;
- DTB_FUTURE = 1; { day of the week is in future }
- DTF_FUTURE = 2;
- {
- * date format values
- }
- FORMAT_DOS = 0; { dd-mmm-yy }
- FORMAT_INT = 1; { yy-mm-dd }
- FORMAT_USA = 2; { mm-dd-yy }
- FORMAT_CDN = 3; { dd-mm-yy }
- FORMAT_MAX = FORMAT_CDN;
- FORMAT_DEF = 4; { use default format, as defined
- by locale; if locale not
- available, use FORMAT_DOS
- instead }
- {**********************************************************************
- ************************ PATTERN MATCHING ******************************
- ************************************************************************
- * structure expected by MatchFirst, MatchNext.
- * Allocate this structure and initialize it as follows:
- *
- * Set ap_BreakBits to the signal bits (CDEF) that you want to take a
- * break on, or NULL, if you don't want to convenience the user.
- *
- * If you want to have the FULL PATH NAME of the files you found,
- * allocate a buffer at the END of this structure, and put the size of
- * it into ap_Strlen. If you don't want the full path name, make sure
- * you set ap_Strlen to zero. In this case, the name of the file, and stats
- * are available in the ap_Info, as per usual.
- *
- * Then call MatchFirst() and then afterwards, MatchNext() with this structure.
- * You should check the return value each time (see below) and take the
- * appropriate action, ultimately calling MatchEnd() when there are
- * no more files and you are done. You can tell when you are done by
- * checking for the normal AmigaDOS return code ERROR_NO_MORE_ENTRIES.
- *
- }
- Type
- pAChain = ^tAChain;
- tAChain = record
- an_Child,
- an_Parent : pAChain;
- an_Lock : BPTR;
- an_Info : tFileInfoBlock;
- an_Flags : Shortint;
- an_String : Array[0..0] of Char; { FIX!! }
- END;
- pAnchorPath = ^tAnchorPath;
- tAnchorPath = record
- case smallint of
- 0 : (
- ap_First : pAChain;
- ap_Last : pAChain;
- );
- 1 : (
- ap_Base, { pointer to first anchor }
- ap_Current : pAChain; { pointer to last anchor }
- ap_BreakBits, { Bits we want to break on }
- ap_FoundBreak : Longint; { Bits we broke on. Also returns ERROR_BREAK }
- ap_Flags : Shortint; { New use for extra Integer. }
- ap_Reserved : Shortint;
- ap_Strlen : smallint; { This is what ap_Length used to be }
- ap_Info : tFileInfoBlock;
- ap_Buf : Array[0..0] of Char; { Buffer for path name, allocated by user !! }
- { FIX! }
- );
- END;
- CONST
- APB_DOWILD = 0; { User option ALL }
- APF_DOWILD = 1;
- APB_ITSWILD = 1; { Set by MatchFirst, used by MatchNext }
- APF_ITSWILD = 2; { Application can test APB_ITSWILD, too }
- { (means that there's a wildcard }
- { in the pattern after calling }
- { MatchFirst). }
- APB_DODIR = 2; { Bit is SET IF a DIR node should be }
- APF_DODIR = 4; { entered. Application can RESET this }
- { bit after MatchFirst/MatchNext to AVOID }
- { entering a dir. }
- APB_DIDDIR = 3; { Bit is SET for an "expired" dir node. }
- APF_DIDDIR = 8;
- APB_NOMEMERR = 4; { Set on memory error }
- APF_NOMEMERR = 16;
- APB_DODOT = 5; { IF set, allow conversion of '.' to }
- APF_DODOT = 32; { CurrentDir }
- APB_DirChanged = 6; { ap_Current->an_Lock changed }
- APF_DirChanged = 64; { since last MatchNext call }
- DDB_PatternBit = 0;
- DDF_PatternBit = 1;
- DDB_ExaminedBit = 1;
- DDF_ExaminedBit = 2;
- DDB_Completed = 2;
- DDF_Completed = 4;
- DDB_AllBit = 3;
- DDF_AllBit = 8;
- DDB_Single = 4;
- DDF_Single = 16;
- {
- * Constants used by wildcard routines, these are the pre-parsed tokens
- * referred to by pattern match. It is not necessary for you to do
- * anything about these, MatchFirst() MatchNext() handle all these for you.
- }
- P_ANY = $80; { Token for '*' or '#? }
- P_SINGLE = $81; { Token for '?' }
- P_ORSTART = $82; { Token for '(' }
- P_ORNEXT = $83; { Token for '|' }
- P_OREND = $84; { Token for ')' }
- P_NOT = $85; { Token for '~' }
- P_NOTEND = $86; { Token for }
- P_NOTCLASS = $87; { Token for '^' }
- P_CLASS = $88; { Token for '[]' }
- P_REPBEG = $89; { Token for '[' }
- P_REPEND = $8A; { Token for ']' }
- P_STOP = $8B; { token to force end of evaluation }
- { Values for an_Status, NOTE: These are the actual bit numbers }
- COMPLEX_BIT = 1; { Parsing complex pattern }
- EXAMINE_BIT = 2; { Searching directory }
- {
- * Returns from MatchFirst(), MatchNext()
- * You can also get dos error returns, such as ERROR_NO_MORE_ENTRIES,
- * these are in the dos.h file.
- }
- ERROR_BUFFER_OVERFLOW = 303; { User OR internal buffer overflow }
- ERROR_BREAK = 304; { A break character was received }
- ERROR_NOT_EXECUTABLE = 305; { A file has E bit cleared }
- { hunk types }
- HUNK_UNIT = 999 ;
- HUNK_NAME = 1000;
- HUNK_CODE = 1001;
- HUNK_DATA = 1002;
- HUNK_BSS = 1003;
- HUNK_RELOC32 = 1004;
- HUNK_RELOC16 = 1005;
- HUNK_RELOC8 = 1006;
- HUNK_EXT = 1007;
- HUNK_SYMBOL = 1008;
- HUNK_DEBUG = 1009;
- HUNK_END = 1010;
- HUNK_HEADER = 1011;
- HUNK_OVERLAY = 1013;
- HUNK_BREAK = 1014;
- HUNK_DREL32 = 1015;
- HUNK_DREL16 = 1016;
- HUNK_DREL8 = 1017;
- HUNK_LIB = 1018;
- HUNK_INDEX = 1019;
- { hunk_ext sub-types }
- EXT_SYMB = 0 ; { symbol table }
- EXT_DEF = 1 ; { relocatable definition }
- EXT_ABS = 2 ; { Absolute definition }
- EXT_RES = 3 ; { no longer supported }
- EXT_REF32 = 129; { 32 bit reference to symbol }
- EXT_COMMON = 130; { 32 bit reference to COMMON block }
- EXT_REF16 = 131; { 16 bit reference to symbol }
- EXT_REF8 = 132; { 8 bit reference to symbol }
- EXT_DEXT32 = 133; { 32 bit data releative reference }
- EXT_DEXT16 = 134; { 16 bit data releative reference }
- EXT_DEXT8 = 135; { 8 bit data releative reference }
- Type
- { All DOS processes have this structure }
- { Create and Device Proc returns pointer to the MsgPort in this structure }
- { dev_proc = Address(smallint(DeviceProc()) - SizeOf(Task)) }
- pProcess = ^tProcess;
- tProcess = record
- pr_Task : tTask;
- pr_MsgPort : tMsgPort; { This is BPTR address from DOS functions }
- pr_Pad : smallint; { Remaining variables on 4 byte boundaries }
- pr_SegList : BPTR; { Array of seg lists used by this process }
- pr_StackSize : Longint; { Size of process stack in bytes }
- pr_GlobVec : Pointer; { Global vector for this process (BCPL) }
- pr_TaskNum : Longint; { CLI task number of zero if not a CLI }
- pr_StackBase : BPTR; { Ptr to high memory end of process stack }
- pr_Result2 : Longint; { Value of secondary result from last call }
- pr_CurrentDir : BPTR; { Lock associated with current directory }
- pr_CIS : BPTR; { Current CLI Input Stream }
- pr_COS : BPTR; { Current CLI Output Stream }
- pr_ConsoleTask : Pointer; { Console handler process for current window}
- pr_FileSystemTask : Pointer; { File handler process for current drive }
- pr_CLI : BPTR; { pointer to ConsoleLineInterpreter }
- pr_ReturnAddr : Pointer; { pointer to previous stack frame }
- pr_PktWait : Pointer; { Function to be called when awaiting msg }
- pr_WindowPtr : Pointer; { Window for error printing }
- { following definitions are new with 2.0 }
- pr_HomeDir : BPTR; { Home directory of executing program }
- pr_Flags : Longint; { flags telling dos about process }
- pr_ExitCode : Pointer; { code to call on exit of program OR NULL }
- pr_ExitData : Longint; { Passed as an argument to pr_ExitCode. }
- pr_Arguments : STRPTR; { Arguments passed to the process at start }
- pr_LocalVars : tMinList; { Local environment variables }
- pr_ShellPrivate : ULONG; { for the use of the current shell }
- pr_CES : BPTR; { Error stream - IF NULL, use pr_COS }
- end;
- {
- * Flags for pr_Flags
- }
- CONST
- PRB_FREESEGLIST = 0 ;
- PRF_FREESEGLIST = 1 ;
- PRB_FREECURRDIR = 1 ;
- PRF_FREECURRDIR = 2 ;
- PRB_FREECLI = 2 ;
- PRF_FREECLI = 4 ;
- PRB_CLOSEINPUT = 3 ;
- PRF_CLOSEINPUT = 8 ;
- PRB_CLOSEOUTPUT = 4 ;
- PRF_CLOSEOUTPUT = 16;
- PRB_FREEARGS = 5 ;
- PRF_FREEARGS = 32;
- { The long smallint address (BPTR) of this structure is returned by
- * Open() and other routines that return a file. You need only worry
- * about this struct to do async io's via PutMsg() instead of
- * standard file system calls }
- Type
- pFileHandle = ^tFileHandle;
- tFileHandle = record
- fh_Link : pMessage; { EXEC message }
- fh_Port : pMsgPort; { Reply port for the packet }
- fh_Type : pMsgPort; { Port to do PutMsg() to
- Address is negative if a plain file }
- fh_Buf : Longint;
- fh_Pos : Longint;
- fh_End : Longint;
- fh_Func1 : Longint;
- fh_Func2 : Longint;
- fh_Func3 : Longint;
- fh_Arg1 : Longint;
- fh_Arg2 : Longint;
- end;
- { This is the extension to EXEC Messages used by DOS }
- pDosPacket = ^tDosPacket;
- tDosPacket = record
- dp_Link : pMessage; { EXEC message }
- dp_Port : pMsgPort; { Reply port for the packet }
- { Must be filled in each send. }
- case smallint of
- 0 : (
- dp_Action : Longint;
- dp_Status : Longint;
- dp_Status2 : Longint;
- dp_BufAddr : Longint;
- );
- 1 : (
- dp_Type : Longint; { See ACTION_... below and
- * 'R' means Read, 'W' means Write to the
- * file system }
- dp_Res1 : Longint; { For file system calls this is the result
- * that would have been returned by the
- * function, e.g. Write ('W') returns actual
- * length written }
- dp_Res2 : Longint; { For file system calls this is what would
- * have been returned by IoErr() }
- dp_Arg1 : Longint;
- dp_Arg2 : Longint;
- dp_Arg3 : Longint;
- dp_Arg4 : Longint;
- dp_Arg5 : Longint;
- dp_Arg6 : Longint;
- dp_Arg7 : Longint;
- );
- end;
- { A Packet does not require the Message to be before it in memory, but
- * for convenience it is useful to associate the two.
- * Also see the function init_std_pkt for initializing this structure }
- pStandardPacket = ^tStandardPacket;
- tStandardPacket = record
- sp_Msg : tMessage;
- sp_Pkt : tDosPacket;
- end;
- Const
- { Packet types }
- ACTION_NIL = 0;
- ACTION_GET_BLOCK = 2; { OBSOLETE }
- ACTION_SET_MAP = 4;
- ACTION_DIE = 5;
- ACTION_EVENT = 6;
- ACTION_CURRENT_VOLUME = 7;
- ACTION_LOCATE_OBJECT = 8;
- ACTION_RENAME_DISK = 9;
- ACTION_WRITE = $57; { 'W' }
- ACTION_READ = $52; { 'R' }
- ACTION_FREE_LOCK = 15;
- ACTION_DELETE_OBJECT = 16;
- ACTION_RENAME_OBJECT = 17;
- ACTION_MORE_CACHE = 18;
- ACTION_COPY_DIR = 19;
- ACTION_WAIT_CHAR = 20;
- ACTION_SET_PROTECT = 21;
- ACTION_CREATE_DIR = 22;
- ACTION_EXAMINE_OBJECT = 23;
- ACTION_EXAMINE_NEXT = 24;
- ACTION_DISK_INFO = 25;
- ACTION_INFO = 26;
- ACTION_FLUSH = 27;
- ACTION_SET_COMMENT = 28;
- ACTION_PARENT = 29;
- ACTION_TIMER = 30;
- ACTION_INHIBIT = 31;
- ACTION_DISK_TYPE = 32;
- ACTION_DISK_CHANGE = 33;
- ACTION_SET_DATE = 34;
- ACTION_SCREEN_MODE = 994;
- ACTION_READ_RETURN = 1001;
- ACTION_WRITE_RETURN = 1002;
- ACTION_SEEK = 1008;
- ACTION_FINDUPDATE = 1004;
- ACTION_FINDINPUT = 1005;
- ACTION_FINDOUTPUT = 1006;
- ACTION_END = 1007;
- ACTION_TRUNCATE = 1022; { fast file system only }
- ACTION_WRITE_PROTECT = 1023; { fast file system only }
- { new 2.0 packets }
- ACTION_SAME_LOCK = 40;
- ACTION_CHANGE_SIGNAL = 995;
- ACTION_FORMAT = 1020;
- ACTION_MAKE_LINK = 1021;
- {}
- {}
- ACTION_READ_LINK = 1024;
- ACTION_FH_FROM_LOCK = 1026;
- ACTION_IS_FILESYSTEM = 1027;
- ACTION_CHANGE_MODE = 1028;
- {}
- ACTION_COPY_DIR_FH = 1030;
- ACTION_PARENT_FH = 1031;
- ACTION_EXAMINE_ALL = 1033;
- ACTION_EXAMINE_FH = 1034;
- ACTION_LOCK_RECORD = 2008;
- ACTION_FREE_RECORD = 2009;
- ACTION_ADD_NOTIFY = 4097;
- ACTION_REMOVE_NOTIFY = 4098;
- {* Added in V39: *}
- ACTION_EXAMINE_ALL_END = 1035;
- ACTION_SET_OWNER = 1036;
- {* Tell a file system to serialize the current volume. This is typically
- * done by changing the creation date of the disk. This packet does not take
- * any arguments. NOTE: be prepared to handle failure of this packet for
- * V37 ROM filesystems.
- *}
- ACTION_SERIALIZE_DISK = 4200;
- {
- * A structure for holding error messages - stored as array with error == 0
- * for the last entry.
- }
- Type
- pErrorString = ^tErrorString;
- tErrorString = record
- estr_Nums : Pointer;
- estr_Strings : Pointer;
- END;
- { DOS library node structure.
- * This is the data at positive offsets from the library node.
- * Negative offsets from the node is the jump table to DOS functions
- * node = (struct DosLibrary *) OpenLibrary( "dos.library" .. ) }
- Type
- pDosLibrary = ^tDosLibrary;
- tDosLibrary = record
- dl_lib : tLibrary;
- dl_Root : Pointer; { Pointer to RootNode, described below }
- dl_GV : Pointer; { Pointer to BCPL global vector }
- dl_A2 : Longint; { Private register dump of DOS }
- dl_A5 : Longint;
- dl_A6 : Longint;
- dl_Errors : pErrorString; { pointer to array of error msgs }
- dl_TimeReq : pTimeRequest; { private pointer to timer request }
- dl_UtilityBase : pLibrary; { private ptr to utility library }
- dl_IntuitionBase : pLibrary;
- end;
- pRootNode = ^tRootNode;
- tRootNode = record
- rn_TaskArray : BPTR; { [0] is max number of CLI's
- [1] is APTR to process id of CLI 1
- [n] is APTR to process id of CLI n }
- rn_ConsoleSegment : BPTR; { SegList for the CLI }
- rn_Time : tDateStamp; { Current time }
- rn_RestartSeg : Longint; { SegList for the disk validator process }
- rn_Info : BPTR; { Pointer ot the Info structure }
- rn_FileHandlerSegment : BPTR; { segment for a file handler }
- rn_CliList : tMinList; { new list of all CLI processes }
- { the first cpl_Array is also rn_TaskArray }
- rn_BootProc : pMsgPort; { private ptr to msgport of boot fs }
- rn_ShellSegment : BPTR; { seglist for Shell (for NewShell) }
- rn_Flags : Longint; { dos flags }
- end;
- CONST
- RNB_WILDSTAR = 24;
- RNF_WILDSTAR = 16777216;
- RNB_PRIVATE1 = 1; { private for dos }
- RNF_PRIVATE1 = 2;
- Type
- pDosInfo = ^tDosInfo;
- tDosInfo = record
- case smallint of
- 0 : (
- di_ResList : BPTR;
- );
- 1 : (
- di_McName : BPTR; { Network name of this machine; currently 0 }
- di_DevInfo : BPTR; { Device List }
- di_Devices : BPTR; { Currently zero }
- di_Handlers : BPTR; { Currently zero }
- di_NetHand : Pointer; { Network handler processid; currently zero }
- di_DevLock, { do NOT access directly! }
- di_EntryLock, { do NOT access directly! }
- di_DeleteLock : tSignalSemaphore; { do NOT access directly! }
- );
- end;
- { ONLY to be allocated by DOS! }
- pCliProcList = ^tCliProcList;
- tCliProcList = record
- cpl_Node : tMinNode;
- cpl_First : Longint; { number of first entry in array }
- cpl_Array : Array[0..0] of pMsgPort;
- { [0] is max number of CLI's in this entry (n)
- * [1] is CPTR to process id of CLI cpl_First
- * [n] is CPTR to process id of CLI cpl_First+n-1
- }
- END;
- { structure for the Dos resident list. Do NOT allocate these, use }
- { AddSegment(), and heed the warnings in the autodocs! }
- Type
- pSegment = ^tSegment;
- tSegment = record
- seg_Next : BPTR;
- seg_UC : Longint;
- seg_Seg : BPTR;
- seg_Name : Array[0..3] of Char; { actually the first 4 chars of BSTR name }
- END;
- CONST
- CMD_SYSTEM = -1;
- CMD_INTERNAL = -2;
- CMD_DISABLED = -999;
- { DOS Processes started from the CLI via RUN or NEWCLI have this additional
- * set to data associated with them }
- Type
- pCommandLineInterface = ^tCommandLineInterface;
- tCommandLineInterface = record
- cli_Result2 : Longint; { Value of IoErr from last command }
- cli_SetName : BSTR; { Name of current directory }
- cli_CommandDir : BPTR; { Lock associated with command directory }
- cli_ReturnCode : Longint; { Return code from last command }
- cli_CommandName : BSTR; { Name of current command }
- cli_FailLevel : Longint; { Fail level (set by FAILAT) }
- cli_Prompt : BSTR; { Current prompt (set by PROMPT) }
- cli_StandardInput : BPTR; { Default (terminal) CLI input }
- cli_CurrentInput : BPTR; { Current CLI input }
- cli_CommandFile : BSTR; { Name of EXECUTE command file }
- cli_Interactive : Longint; { Boolean; True if prompts required }
- cli_Background : Longint; { Boolean; True if CLI created by RUN }
- cli_CurrentOutput : BPTR; { Current CLI output }
- cli_DefaultStack : Longint; { Stack size to be obtained in long words }
- cli_StandardOutput : BPTR; { Default (terminal) CLI output }
- cli_Module : BPTR; { SegList of currently loaded command }
- end;
- { This structure can take on different values depending on whether it is
- * a device, an assigned directory, or a volume. Below is the structure
- * reflecting volumes only. Following that is the structure representing
- * only devices.
- }
- { structure representing a volume }
- pDeviceList = ^tDeviceList;
- tDeviceList = record
- dl_Next : BPTR; { bptr to next device list }
- dl_Type : Longint; { see DLT below }
- dl_Task : pMsgPort; { ptr to handler task }
- dl_Lock : BPTR; { not for volumes }
- dl_VolumeDate : tDateStamp; { creation date }
- dl_LockList : BPTR; { outstanding locks }
- dl_DiskType : Longint; { 'DOS', etc }
- dl_unused : Longint;
- dl_Name : BSTR; { bptr to bcpl name }
- end;
- { device structure (same as the DeviceNode structure in filehandler.h) }
- pDevInfo = ^tDevInfo;
- tDevInfo = record
- dvi_Next : BPTR;
- dvi_Type : Longint;
- dvi_Task : Pointer;
- dvi_Lock : BPTR;
- dvi_Handler : BSTR;
- dvi_StackSize : Longint;
- dvi_Priority : Longint;
- dvi_Startup : Longint;
- dvi_SegList : BPTR;
- dvi_GlobVec : BSTR;
- dvi_Name : BSTR;
- end;
- { structure used for multi-directory assigns. AllocVec()ed. }
- pAssignList = ^tAssignList;
- tAssignList = record
- al_Next : pAssignList;
- al_Lock : BPTR;
- END;
- { combined structure for devices, assigned directories, volumes }
- pDosList = ^tDosList;
- tDosList = record
- dol_Next : BPTR; { bptr to next device on list }
- dol_Type : Longint; { see DLT below }
- dol_Task : pMsgPort; { ptr to handler task }
- dol_Lock : BPTR;
- case smallint of
- 0 : (
- dol_Handler : record
- dol_Handler : BSTR; { file name to load IF seglist is null }
- dol_StackSize, { stacksize to use when starting process }
- dol_Priority, { task priority when starting process }
- dol_Startup : Longint; { startup msg: FileSysStartupMsg for disks }
- dol_SegList, { already loaded code for new task }
- dol_GlobVec : BPTR; { BCPL global vector to use when starting
- * a process. -1 indicates a C/Assembler
- * program. }
- end;
- );
- 1 : (
- dol_Volume : record
- dol_VolumeDate : tDateStamp; { creation date }
- dol_LockList : BPTR; { outstanding locks }
- dol_DiskType : Longint; { 'DOS', etc }
- END;
- );
- 2 : (
- dol_assign : record
- dol_AssignName : STRPTR; { name for non-OR-late-binding assign }
- dol_List : pAssignList; { for multi-directory assigns (regular) }
- END;
- dol_Name : BSTR; { bptr to bcpl name }
- );
- END;
- Const
- { definitions for dl_Type }
- DLT_DEVICE = 0;
- DLT_DIRECTORY = 1;
- DLT_VOLUME = 2;
- DLT_LATE = 3; { late-binding assign }
- DLT_NONBINDING = 4; { non-binding assign }
- DLT_PRIVATE = -1; { for internal use only }
- { structure return by GetDeviceProc() }
- Type
- pDevProc = ^tDevProc;
- tDevProc = record
- dvp_Port : pMsgPort;
- dvp_Lock : BPTR;
- dvp_Flags : Longint;
- dvp_DevNode : pDosList; { DON'T TOUCH OR USE! }
- END;
- CONST
- { definitions for dvp_Flags }
- DVPB_UNLOCK = 0;
- DVPF_UNLOCK = 1;
- DVPB_ASSIGN = 1;
- DVPF_ASSIGN = 2;
- { Flags to be passed to LockDosList(), etc }
- LDB_DEVICES = 2;
- LDF_DEVICES = 4;
- LDB_VOLUMES = 3;
- LDF_VOLUMES = 8;
- LDB_ASSIGNS = 4;
- LDF_ASSIGNS = 16;
- LDB_ENTRY = 5;
- LDF_ENTRY = 32;
- LDB_DELETE = 6;
- LDF_DELETE = 64;
- { you MUST specify one of LDF_READ or LDF_WRITE }
- LDB_READ = 0;
- LDF_READ = 1;
- LDB_WRITE = 1;
- LDF_WRITE = 2;
- { actually all but LDF_ENTRY (which is used for internal locking) }
- LDF_ALL = (LDF_DEVICES+LDF_VOLUMES+LDF_ASSIGNS);
- { error report types for ErrorReport() }
- REPORT_STREAM = 0; { a stream }
- REPORT_TASK = 1; { a process - unused }
- REPORT_LOCK = 2; { a lock }
- REPORT_VOLUME = 3; { a volume node }
- REPORT_INSERT = 4; { please insert volume }
- { Special error codes for ErrorReport() }
- ABORT_DISK_ERROR = 296; { Read/write error }
- ABORT_BUSY = 288; { You MUST replace... }
- { types for initial packets to shells from run/newcli/execute/system. }
- { For shell-writers only }
- RUN_EXECUTE = -1;
- RUN_SYSTEM = -2;
- RUN_SYSTEM_ASYNCH = -3;
- { Types for fib_DirEntryType. NOTE that both USERDIR and ROOT are }
- { directories, and that directory/file checks should use <0 and >=0. }
- { This is not necessarily exhaustive! Some handlers may use other }
- { values as needed, though <0 and >=0 should remain as supported as }
- { possible. }
- ST_ROOT = 1 ;
- ST_USERDIR = 2 ;
- ST_SOFTLINK = 3 ; { looks like dir, but may point to a file! }
- ST_LINKDIR = 4 ; { hard link to dir }
- ST_FILE = -3; { must be negative for FIB! }
- ST_LINKFILE = -4; { hard link to file }
- ST_PIPEFILE = -5; { for pipes that support ExamineFH }
- Type
- { a lock structure, as returned by Lock() or DupLock() }
- pFileLock = ^tFileLock;
- tFileLock = record
- fl_Link : BPTR; { bcpl pointer to next lock }
- fl_Key : Longint; { disk block number }
- fl_Access : Longint; { exclusive or shared }
- fl_Task : pMsgPort; { handler task's port }
- fl_Volume : BPTR; { bptr to a DeviceList }
- end;
- { NOTE: V37 dos.library, when doing ExAll() emulation, and V37 filesystems }
- { will return an error if passed ED_OWNER. If you get ERROR_BAD_NUMBER, }
- { retry with ED_COMMENT to get everything but owner info. All filesystems }
- { supporting ExAll() must support through ED_COMMENT, and must check Type }
- { and return ERROR_BAD_NUMBER if they don't support the type. }
- { values that can be passed for what data you want from ExAll() }
- { each higher value includes those below it (numerically) }
- { you MUST chose one of these values }
- CONST
- ED_NAME = 1;
- ED_TYPE = 2;
- ED_SIZE = 3;
- ED_PROTECTION = 4;
- ED_DATE = 5;
- ED_COMMENT = 6;
- ED_OWNER = 7;
- {
- * Structure in which exall results are returned in. Note that only the
- * fields asked for will exist!
- }
- Type
- pExAllData = ^tExAllData;
- tExAllData = record
- ed_Next : pExAllData;
- ed_Name : STRPTR;
- ed_Type,
- ed_Size,
- ed_Prot,
- ed_Days,
- ed_Mins,
- ed_Ticks : ULONG;
- ed_Comment : STRPTR; { strings will be after last used field }
- ed_OwnerUID, { new for V39 }
- ed_OwnerGID : Word;
- END;
- {
- * Control structure passed to ExAll. Unused fields MUST be initialized to
- * 0, expecially eac_LastKey.
- *
- * eac_MatchFunc is a hook (see utility.library documentation for usage)
- * It should return true if the entry is to returned, false if it is to be
- * ignored.
- *
- * This structure MUST be allocated by AllocDosObject()!
- }
- pExAllControl = ^tExAllControl;
- tExAllControl = record
- eac_Entries, { number of entries returned in buffer }
- eac_LastKey : ULONG; { Don't touch inbetween linked ExAll calls! }
- eac_MatchString : STRPTR; { wildcard string for pattern match OR NULL }
- eac_MatchFunc : pHook; { optional private wildcard FUNCTION }
- END;
- { The disk "environment" is a longword array that describes the
- * disk geometry. It is variable sized, with the length at the beginning.
- * Here are the constants for a standard geometry.
- }
- Type
- pDosEnvec = ^tDosEnvec;
- tDosEnvec = record
- de_TableSize : ULONG; { Size of Environment vector }
- de_SizeBlock : ULONG; { in longwords: standard value is 128 }
- de_SecOrg : ULONG; { not used; must be 0 }
- de_Surfaces : ULONG; { # of heads (surfaces). drive specific }
- de_SectorPerBlock : ULONG; { not used; must be 1 }
- de_BlocksPerTrack : ULONG; { blocks per track. drive specific }
- de_Reserved : ULONG; { DOS reserved blocks at start of partition. }
- de_PreAlloc : ULONG; { DOS reserved blocks at end of partition }
- de_Interleave : ULONG; { usually 0 }
- de_LowCyl : ULONG; { starting cylinder. typically 0 }
- de_HighCyl : ULONG; { max cylinder. drive specific }
- de_NumBuffers : ULONG; { Initial # DOS of buffers. }
- de_BufMemType : ULONG; { type of mem to allocate for buffers }
- de_MaxTransfer : ULONG; { Max number of bytes to transfer at a time }
- de_Mask : ULONG; { Address Mask to block out certain memory }
- de_BootPri : Longint; { Boot priority for autoboot }
- de_DosType : ULONG; { ASCII (HEX) string showing filesystem type;
- * 0X444F5300 is old filesystem,
- * 0X444F5301 is fast file system }
- de_Baud : ULONG; { Baud rate for serial handler }
- de_Control : ULONG; { Control smallint for handler/filesystem }
- de_BootBlocks : ULONG; { Number of blocks containing boot code }
- end;
- Const
- { these are the offsets into the array }
- DE_TABLESIZE = 0; { standard value is 11 }
- DE_SIZEBLOCK = 1; { in longwords: standard value is 128 }
- DE_SECORG = 2; { not used; must be 0 }
- DE_NUMHEADS = 3; { # of heads (surfaces). drive specific }
- DE_SECSPERBLK = 4; { not used; must be 1 }
- DE_BLKSPERTRACK = 5; { blocks per track. drive specific }
- DE_RESERVEDBLKS = 6; { unavailable blocks at start. usually 2 }
- DE_PREFAC = 7; { not used; must be 0 }
- DE_INTERLEAVE = 8; { usually 0 }
- DE_LOWCYL = 9; { starting cylinder. typically 0 }
- DE_UPPERCYL = 10; { max cylinder. drive specific }
- DE_NUMBUFFERS = 11; { starting # of buffers. typically 5 }
- DE_MEMBUFTYPE = 12; { type of mem to allocate for buffers. }
- DE_BUFMEMTYPE = 12; { same as above, better name
- * 1 is public, 3 is chip, 5 is fast }
- DE_MAXTRANSFER = 13; { Max number bytes to transfer at a time }
- DE_MASK = 14; { Address Mask to block out certain memory }
- DE_BOOTPRI = 15; { Boot priority for autoboot }
- DE_DOSTYPE = 16; { ASCII (HEX) string showing filesystem type;
- * 0X444F5300 is old filesystem,
- * 0X444F5301 is fast file system }
- DE_BAUD = 17; { Baud rate for serial handler }
- DE_CONTROL = 18; { Control smallint for handler/filesystem }
- DE_BOOTBLOCKS = 19; { Number of blocks containing boot code }
- { The file system startup message is linked into a device node's startup
- ** field. It contains a pointer to the above environment, plus the
- ** information needed to do an exec OpenDevice().
- }
- Type
- pFileSysStartupMsg = ^tFileSysStartupMsg;
- tFileSysStartupMsg = record
- fssm_Unit : ULONG; { exec unit number for this device }
- fssm_Device : BSTR; { null terminated bstring to the device name }
- fssm_Environ : BPTR; { ptr to environment table (see above) }
- fssm_Flags : ULONG; { flags for OpenDevice() }
- end;
- { The include file "libraries/dosextens.h" has a DeviceList structure.
- * The "device list" can have one of three different things linked onto
- * it. Dosextens defines the structure for a volume. DLT_DIRECTORY
- * is for an assigned directory. The following structure is for
- * a dos "device" (DLT_DEVICE).
- }
- pDeviceNode = ^tDeviceNode;
- tDeviceNode = record
- dn_Next : BPTR; { singly linked list }
- dn_Type : ULONG; { always 0 for dos "devices" }
- dn_Task : pMsgPort; { standard dos "task" field. If this is
- * null when the node is accesses, a task
- * will be started up }
- dn_Lock : BPTR; { not used for devices -- leave null }
- dn_Handler : BSTR; { filename to loadseg (if seglist is null) }
- dn_StackSize : ULONG; { stacksize to use when starting task }
- dn_Priority : Longint; { task priority when starting task }
- dn_Startup : BPTR; { startup msg: FileSysStartupMsg for disks }
- dn_SegList : BPTR; { code to run to start new task (if necessary).
- * if null then dn_Handler will be loaded. }
- dn_GlobalVec : BPTR; { BCPL global vector to use when starting
- * a task. -1 means that dn_SegList is not
- * for a bcpl program, so the dos won't
- * try and construct one. 0 tell the
- * dos that you obey BCPL linkage rules,
- * and that it should construct a global
- * vector for you.
- }
- dn_Name : BSTR; { the node name, e.g. '\3','D','F','3' }
- end;
- CONST
- { use of Class and code is discouraged for the time being - we might want to
- change things }
- { --- NotifyMessage Class ------------------------------------------------ }
- NOTIFY_CLASS = $40000000;
- { --- NotifyMessage Codes ------------------------------------------------ }
- NOTIFY_CODE = $1234;
- { Sent to the application if SEND_MESSAGE is specified. }
- Type
- { Do not modify or reuse the notifyrequest while active. }
- { note: the first LONG of nr_Data has the length transfered }
- pNotifyRequest = ^tNotifyRequest;
- tNotifyRequest = record
- nr_Name : pchar;
- nr_FullName : pchar;
- nr_UserData : ULONG;
- nr_Flags : ULONG;
- nr_stuff : record
- case smallint of
- 0 : ( nr_Msg : record
- nr_Port : pMsgPort;
- end );
- 1 : ( nr_Signal : record
- nr_Task : pTask;
- nr_SignalNum : BYTE;
- nr_pad : array[0..2] of BYTE;
- end );
- end;
- nr_Reserved : array[0..3] of ULONG;
- nr_MsgCount : ULONG;
- nr_Handler : pMsgPort;
- end;
- pNotifyMessage = ^tNotifyMessage;
- tNotifyMessage = record
- nm_ExecMessage : tMessage;
- nm_Class : ULONG;
- nm_Code : Word;
- nm_NReq : pNotifyRequest; { don't modify the request! }
- nm_DoNotTouch, { like it says! For use by handlers }
- nm_DoNotTouch2 : ULONG; { ditto }
- END;
- CONST
- { --- NotifyRequest Flags ------------------------------------------------ }
- NRF_SEND_MESSAGE = 1 ;
- NRF_SEND_SIGNAL = 2 ;
- NRF_WAIT_REPLY = 8 ;
- NRF_NOTIFY_INITIAL = 16;
- { do NOT set or remove NRF_MAGIC! Only for use by handlers! }
- NRF_MAGIC = $80000000;
- { bit numbers }
- NRB_SEND_MESSAGE = 0;
- NRB_SEND_SIGNAL = 1;
- NRB_WAIT_REPLY = 3;
- NRB_NOTIFY_INITIAL = 4;
- NRB_MAGIC = 31;
- { Flags reserved for private use by the handler: }
- NR_HANDLER_FLAGS = $ffff0000;
- { *********************************************************************
- *
- * The CSource data structure defines the input source for "ReadItem()"
- * as well as the ReadArgs call. It is a publicly defined structure
- * which may be used by applications which use code that follows the
- * conventions defined for access.
- *
- * When passed to the dos.library functions, the value passed as
- * struct *CSource is defined as follows:
- * if ( CSource == 0) Use buffered IO "ReadChar()" as data source
- * else Use CSource for input character stream
- *
- * The following two pseudo-code routines define how the CSource structure
- * is used:
- *
- * long CS_ReadChar( struct CSource *CSource )
- *
- * if ( CSource == 0 ) return ReadChar();
- * if ( CSource->CurChr >= CSource->Length ) return ENDSTREAMCHAR;
- * return CSource->Buffer[ CSource->CurChr++ ];
- *
- *
- * BOOL CS_UnReadChar( struct CSource *CSource )
- *
- * if ( CSource == 0 ) return UnReadChar();
- * if ( CSource->CurChr <= 0 ) return FALSE;
- * CSource->CurChr--;
- * return TRUE;
- *
- *
- * To initialize a struct CSource, you set CSource->CS_Buffer to
- * a string which is used as the data source, and set CS_Length to
- * the number of characters in the string. Normally CS_CurChr should
- * be initialized to ZERO, or left as it was from prior use as
- * a CSource.
- *
- *********************************************************************}
- Type
- pCSource = ^tCSource;
- tCSource = record
- CS_Buffer : STRPTR;
- CS_Length,
- CS_CurChr : Longint;
- END;
- { *********************************************************************
- *
- * The RDArgs data structure is the input parameter passed to the DOS
- * ReadArgs() function call.
- *
- * The RDA_Source structure is a CSource as defined above;
- * if RDA_Source.CS_Buffer is non-null, RDA_Source is used as the input
- * character stream to parse, else the input comes from the buffered STDIN
- * calls ReadChar/UnReadChar.
- *
- * RDA_DAList is a private address which is used internally to track
- * allocations which are freed by FreeArgs(). This MUST be initialized
- * to NULL prior to the first call to ReadArgs().
- *
- * The RDA_Buffer and RDA_BufSiz fields allow the application to supply
- * a fixed-size buffer in which to store the parsed data. This allows
- * the application to pre-allocate a buffer rather than requiring buffer
- * space to be allocated. If either RDA_Buffer or RDA_BufSiz is NULL,
- * the application has not supplied a buffer.
- *
- * RDA_ExtHelp is a text string which will be displayed instead of the
- * template string, if the user is prompted for input.
- *
- * RDA_Flags bits control how ReadArgs() works. The flag bits are
- * defined below. Defaults are initialized to ZERO.
- *
- *********************************************************************}
- pRDArgs = ^tRDArgs;
- tRDArgs = record
- RDA_Source : tCSource; { Select input source }
- RDA_DAList : Longint; { PRIVATE. }
- RDA_Buffer : STRPTR; { Optional string parsing space. }
- RDA_BufSiz : Longint; { Size of RDA_Buffer (0..n) }
- RDA_ExtHelp : STRPTR; { Optional extended help }
- RDA_Flags : Longint; { Flags for any required control }
- END;
- CONST
- RDAB_STDIN = 0; { Use "STDIN" rather than "COMMAND LINE" }
- RDAF_STDIN = 1;
- RDAB_NOALLOC = 1; { If set, do not allocate extra string space.}
- RDAF_NOALLOC = 2;
- RDAB_NOPROMPT = 2; { Disable reprompting for string input. }
- RDAF_NOPROMPT = 4;
- { *********************************************************************
- * Maximum number of template keywords which can be in a template passed
- * to ReadArgs(). IMPLEMENTOR NOTE - must be a multiple of 4.
- *********************************************************************}
- MAX_TEMPLATE_ITEMS = 100;
- { *********************************************************************
- * Maximum number of MULTIARG items returned by ReadArgs(), before
- * an ERROR_LINE_TOO_LONG. These two limitations are due to stack
- * usage. Applications should allow "a lot" of stack to use ReadArgs().
- *********************************************************************}
- MAX_MULTIARGS = 128;
- CONST
- { Modes for LockRecord/LockRecords() }
- REC_EXCLUSIVE = 0;
- REC_EXCLUSIVE_IMMED = 1;
- REC_SHARED = 2;
- REC_SHARED_IMMED = 3;
- { struct to be passed to LockRecords()/UnLockRecords() }
- Type
- pRecordLock = ^tRecordLock;
- tRecordLock = record
- rec_FH : BPTR; { filehandle }
- rec_Offset, { offset in file }
- rec_Length, { length of file to be locked }
- rec_Mode : ULONG; { Type of lock }
- END;
- { the structure in the pr_LocalVars list }
- { Do NOT allocate yourself, use SetVar()!!! This structure may grow in }
- { future releases! The list should be left in alphabetical order, and }
- { may have multiple entries with the same name but different types. }
- Type
- pLocalVar = ^tLocalVar;
- tLocalVar = record
- lv_Node : tNode;
- lv_Flags : Word;
- lv_Value : STRPTR;
- lv_Len : ULONG;
- END;
- {
- * The lv_Flags bits are available to the application. The unused
- * lv_Node.ln_Pri bits are reserved for system use.
- }
- CONST
- { bit definitions for lv_Node.ln_Type: }
- LV_VAR = 0; { an variable }
- LV_ALIAS = 1; { an alias }
- { to be or'ed into type: }
- LVB_IGNORE = 7; { ignore this entry on GetVar, etc }
- LVF_IGNORE = $80;
- { definitions of flags passed to GetVar()/SetVar()/DeleteVar() }
- { bit defs to be OR'ed with the type: }
- { item will be treated as a single line of text unless BINARY_VAR is used }
- GVB_GLOBAL_ONLY = 8 ;
- GVF_GLOBAL_ONLY = $100;
- GVB_LOCAL_ONLY = 9 ;
- GVF_LOCAL_ONLY = $200;
- GVB_BINARY_VAR = 10 ; { treat variable as binary }
- GVF_BINARY_VAR = $400;
- GVB_DONT_NULL_TERM = 11; { only with GVF_BINARY_VAR }
- GVF_DONT_NULL_TERM = $800;
- { this is only supported in >= V39 dos. V37 dos ignores this. }
- { this causes SetVar to affect ENVARC: as well as ENV:. }
- GVB_SAVE_VAR = 12 ; { only with GVF_GLOBAL_VAR }
- GVF_SAVE_VAR = $1000 ;
- CONST
- { ***************************************************************************}
- { definitions for the System() call }
- SYS_Dummy = (TAG_USER + 32);
- SYS_Input = (SYS_Dummy + 1);
- { specifies the input filehandle }
- SYS_Output = (SYS_Dummy + 2);
- { specifies the output filehandle }
- SYS_Asynch = (SYS_Dummy + 3);
- { run asynch, close input/output on exit(!) }
- SYS_UserShell = (SYS_Dummy + 4);
- { send to user shell instead of boot shell }
- SYS_CustomShell= (SYS_Dummy + 5);
- { send to a specific shell (data is name) }
- { SYS_Error, }
- { ***************************************************************************}
- { definitions for the CreateNewProc() call }
- { you MUST specify one of NP_Seglist or NP_Entry. All else is optional. }
- NP_Dummy = (TAG_USER + 1000);
- NP_Seglist = (NP_Dummy + 1);
- { seglist of code to run for the process }
- NP_FreeSeglist = (NP_Dummy + 2);
- { free seglist on exit - only valid for }
- { for NP_Seglist. Default is TRUE. }
- NP_Entry = (NP_Dummy + 3);
- { entry point to run - mutually exclusive }
- { with NP_Seglist! }
- NP_Input = (NP_Dummy + 4);
- { filehandle - default is Open("NIL:"...) }
- NP_Output = (NP_Dummy + 5);
- { filehandle - default is Open("NIL:"...) }
- NP_CloseInput = (NP_Dummy + 6);
- { close input filehandle on exit }
- { default TRUE }
- NP_CloseOutput = (NP_Dummy + 7);
- { close output filehandle on exit }
- { default TRUE }
- NP_Error = (NP_Dummy + 8);
- { filehandle - default is Open("NIL:"...) }
- NP_CloseError = (NP_Dummy + 9);
- { close error filehandle on exit }
- { default TRUE }
- NP_CurrentDir = (NP_Dummy + 10);
- { lock - default is parent's current dir }
- NP_StackSize = (NP_Dummy + 11);
- { stacksize for process - default 4000 }
- NP_Name = (NP_Dummy + 12);
- { name for process - default "New Process"}
- NP_Priority = (NP_Dummy + 13);
- { priority - default same as parent }
- NP_ConsoleTask = (NP_Dummy + 14);
- { consoletask - default same as parent }
- NP_WindowPtr = (NP_Dummy + 15);
- { window ptr - default is same as parent }
- NP_HomeDir = (NP_Dummy + 16);
- { home directory - default curr home dir }
- NP_CopyVars = (NP_Dummy + 17);
- { boolean to copy local vars-default TRUE }
- NP_Cli = (NP_Dummy + 18);
- { create cli structure - default FALSE }
- NP_Path = (NP_Dummy + 19);
- { path - default is copy of parents path }
- { only valid if a cli process! }
- NP_CommandName = (NP_Dummy + 20);
- { commandname - valid only for CLI }
- NP_Arguments = (NP_Dummy + 21);
- { cstring of arguments - passed with str }
- { in a0, length in d0. (copied and freed }
- { on exit. Default is empty string. }
- { NOTE: not operational until 2.04 - see }
- { BIX/TechNotes for more info/workarounds }
- { NOTE: in 2.0, it DIDN'T pass "" - the }
- { registers were random. }
- { FIX! should this be only for cli's? }
- NP_NotifyOnDeath = (NP_Dummy + 22);
- { notify parent on death - default FALSE }
- { Not functional yet. }
- NP_Synchronous = (NP_Dummy + 23);
- { don't return until process finishes - }
- { default FALSE. }
- { Not functional yet. }
- NP_ExitCode = (NP_Dummy + 24);
- { code to be called on process exit }
- NP_ExitData = (NP_Dummy + 25);
- { optional argument for NP_EndCode rtn - }
- { default NULL }
- { ***************************************************************************}
- { tags for AllocDosObject }
- ADO_Dummy = (TAG_USER + 2000);
- ADO_FH_Mode = (ADO_Dummy + 1);
- { for type DOS_FILEHANDLE only }
- { sets up FH for mode specified.
- This can make a big difference for buffered
- files. }
- { The following are for DOS_CLI }
- { If you do not specify these, dos will use it's preferred values }
- { which may change from release to release. The BPTRs to these }
- { will be set up correctly for you. Everything will be zero, }
- { except cli_FailLevel (10) and cli_Background (DOSTRUE). }
- { NOTE: you may also use these 4 tags with CreateNewProc. }
- ADO_DirLen = (ADO_Dummy + 2);
- { size in bytes for current dir buffer }
- ADO_CommNameLen= (ADO_Dummy + 3);
- { size in bytes for command name buffer }
- ADO_CommFileLen= (ADO_Dummy + 4);
- { size in bytes for command file buffer }
- ADO_PromptLen = (ADO_Dummy + 5);
- { size in bytes for the prompt buffer }
- { ***************************************************************************}
- { tags for NewLoadSeg }
- { no tags are defined yet for NewLoadSeg }
- PROCEDURE AbortPkt(port : pMsgPort; pkt : pDosPacket);
- FUNCTION AddBuffers(const name : pCHAR; number : LONGINT) : BOOLEAN;
- FUNCTION AddDosEntry(dlist : pDosList) : BOOLEAN;
- FUNCTION AddPart(dirname : pCHAR;const filename : pCHAR; size : ULONG) : BOOLEAN;
- FUNCTION AddSegment(const name : pCHAR; seg : LONGINT; system : LONGINT) : BOOLEAN;
- FUNCTION AllocDosObject(type_ : ULONG;const tags : pTagItem) : POINTER;
- FUNCTION AllocDosObjectTagList(type_ : ULONG;const tags : pTagItem) : POINTER;
- FUNCTION AssignAdd(const name : pCHAR; lock : LONGINT) : BOOLEAN;
- FUNCTION AssignLate(const name : pCHAR;const path : pCHAR) : BOOLEAN;
- FUNCTION AssignLock(const name : pCHAR; lock : LONGINT) : BOOLEAN;
- FUNCTION AssignPath(const name : pCHAR;const path : pCHAR) : BOOLEAN;
- FUNCTION AttemptLockDosList(flags : ULONG) : pDosList;
- FUNCTION ChangeMode(type_ : LONGINT; fh : LONGINT; newmode : LONGINT) : BOOLEAN;
- FUNCTION CheckSignal(mask : LONGINT) : LONGINT;
- FUNCTION Cli : pCommandLineInterface;
- FUNCTION CliInitNewcli(dp : pDosPacket) : LONGINT;
- FUNCTION CliInitRun(dp : pDosPacket) : LONGINT;
- FUNCTION CompareDates(const date1 : pDateStamp;const date2 : pDateStamp) : LONGINT;
- FUNCTION CreateDir(const name : pCHAR) : LONGINT;
- FUNCTION CreateNewProc(const tags : pTagItem) : pProcess;
- FUNCTION CreateNewProcTagList(const tags : pTagItem) : pProcess;
- FUNCTION CreateProc(const name : pCHAR; pri : LONGINT; segList : LONGINT; stackSize : LONGINT) : pMsgPort;
- FUNCTION CurrentDir(lock : LONGINT) : LONGINT;
- PROCEDURE DateStamp(date : pDateStamp);
- FUNCTION DateToStr(datetime : pDateTime) : BOOLEAN;
- FUNCTION DeleteFile(const name : pCHAR) : BOOLEAN;
- FUNCTION DeleteVar(const name : pCHAR; flags : ULONG) : BOOLEAN;
- FUNCTION DeviceProc(const name : pCHAR) : pMsgPort;
- FUNCTION DoPkt(port : pMsgPort; action : LONGINT; arg1 : LONGINT; arg2 : LONGINT; arg3 : LONGINT; arg4 : LONGINT; arg5 : LONGINT) : LONGINT;
- FUNCTION DoPkt0(port : pMsgPort; action : LONGINT) : LONGINT;
- FUNCTION DoPkt1(port : pMsgPort; action : LONGINT; arg1 : LONGINT) : LONGINT;
- FUNCTION DoPkt2(port : pMsgPort; action : LONGINT; arg1 : LONGINT; arg2 : LONGINT) : LONGINT;
- FUNCTION DoPkt3(port : pMsgPort; action : LONGINT; arg1 : LONGINT; arg2 : LONGINT; arg3 : LONGINT) : LONGINT;
- FUNCTION DoPkt4(port : pMsgPort; action : LONGINT; arg1 : LONGINT; arg2 : LONGINT; arg3 : LONGINT; arg4 : LONGINT) : LONGINT;
- PROCEDURE DOSClose(file_ : LONGINT);
- PROCEDURE DOSDelay(timeout : LONGINT);
- PROCEDURE DOSExit(returnCode : LONGINT);
- FUNCTION DOSFlush(fh : LONGINT) : BOOLEAN;
- FUNCTION DOSInput : LONGINT;
- FUNCTION DOSOpen(const name : pCHAR; accessMode : LONGINT) : LONGINT;
- FUNCTION DOSOutput : LONGINT;
- FUNCTION DOSRead(file_ : LONGINT; buffer : POINTER; length : LONGINT) : LONGINT;
- FUNCTION DOSRename(const oldName : pCHAR;const newName : pCHAR) : Boolean;
- FUNCTION DOSSeek(file_ : LONGINT; position : LONGINT; offset : LONGINT) : LONGINT;
- FUNCTION DOSWrite(file_ : LONGINT; buffer : POINTER; length : LONGINT) : LONGINT;
- FUNCTION DupLock(lock : LONGINT) : LONGINT;
- FUNCTION DupLockFromFH(fh : LONGINT) : LONGINT;
- PROCEDURE EndNotify(notify : pNotifyRequest);
- FUNCTION ErrorReport(code : LONGINT; type_ : LONGINT; arg1 : ULONG; device : pMsgPort) : BOOLEAN;
- FUNCTION ExAll(lock : LONGINT; buffer : pExAllData; size : LONGINT; data : LONGINT; control : pExAllControl) : BOOLEAN;
- PROCEDURE ExAllEnd(lock : LONGINT; buffer : pExAllData; size : LONGINT; data : LONGINT; control : pExAllControl);
- FUNCTION Examine(lock : LONGINT; fileInfoBlock : pFileInfoBlock) : BOOLEAN;
- FUNCTION ExamineFH(fh : LONGINT; fib : pFileInfoBlock) : BOOLEAN;
- FUNCTION Execute(const string_ : pCHAR; file_ : LONGINT; file2 : LONGINT) : BOOLEAN;
- FUNCTION ExNext(lock : LONGINT; fileInfoBlock : pFileInfoBlock) : BOOLEAN;
- FUNCTION Fault(code : LONGINT; header : pCHAR; buffer : pCHAR; len : LONGINT) : BOOLEAN;
- FUNCTION FGetC(fh : LONGINT) : LONGINT;
- FUNCTION FGets(fh : LONGINT; buf : pCHAR; buflen : ULONG) : pCHAR;
- FUNCTION FilePart(const path : pCHAR) : pCHAR;
- FUNCTION FindArg(const keyword : pCHAR;const arg_template : pCHAR) : LONGINT;
- FUNCTION FindCliProc(num : ULONG) : pProcess;
- FUNCTION FindDosEntry(const dlist : pDosList;const name : pCHAR; flags : ULONG) : pDosList;
- FUNCTION FindSegment(const name : pCHAR;const seg : pSegment; system : LONGINT) : pSegment;
- FUNCTION FindVar(const name : pCHAR; type_ : ULONG) : pLocalVar;
- FUNCTION Format(const filesystem : pCHAR;const volumename : pCHAR; dostype : ULONG) : BOOLEAN;
- FUNCTION FPutC(fh : LONGINT; ch : LONGINT) : LONGINT;
- FUNCTION FPuts(fh : LONGINT;const str : pCHAR) : BOOLEAN;
- FUNCTION FRead(fh : LONGINT; block : POINTER; blocklen : ULONG; number : ULONG) : LONGINT;
- PROCEDURE FreeArgs(args : pRDArgs);
- PROCEDURE FreeDeviceProc(dp : pDevProc);
- PROCEDURE FreeDosEntry(dlist : pDosList);
- PROCEDURE FreeDosObject(type_ : ULONG; ptr : POINTER);
- FUNCTION FWrite(fh : LONGINT; block : POINTER; blocklen : ULONG; number : ULONG) : LONGINT;
- FUNCTION GetArgStr : pCHAR;
- FUNCTION GetConsoleTask : pMsgPort;
- FUNCTION GetCurrentDirName(buf : pCHAR; len : LONGINT) : BOOLEAN;
- FUNCTION GetDeviceProc(const name : pCHAR; dp : pDevProc) : pDevProc;
- FUNCTION GetFileSysTask : pMsgPort;
- FUNCTION GetProgramDir : LONGINT;
- FUNCTION GetProgramName(buf : pCHAR; len : LONGINT) : BOOLEAN;
- FUNCTION GetPrompt(buf : pCHAR; len : LONGINT) : BOOLEAN;
- FUNCTION GetVar(const name : pCHAR; buffer : pCHAR; size : LONGINT; flags : LONGINT) : LONGINT;
- FUNCTION Info(lock : LONGINT; parameterBlock : pInfoData) : BOOLEAN;
- FUNCTION Inhibit(const name : pCHAR; onoff : LONGINT) : BOOLEAN;
- FUNCTION InternalLoadSeg(fh : LONGINT; table : LONGINT;const funcarray : pLONGINT; VAR stack : LONGINT) : LONGINT;
- FUNCTION InternalUnLoadSeg(seglist : LONGINT; freefunc : tPROCEDURE) : BOOLEAN;
- FUNCTION IoErr : LONGINT;
- FUNCTION IsFileSystem(const name : pCHAR) : BOOLEAN;
- FUNCTION IsInteractive(file_ : LONGINT) : BOOLEAN;
- FUNCTION LoadSeg(const name : pCHAR) : LONGINT;
- FUNCTION Lock(const name : pCHAR; type_ : LONGINT) : LONGINT;
- FUNCTION LockDosList(flags : ULONG) : pDosList;
- FUNCTION LockRecord(fh : LONGINT; offset : ULONG; length : ULONG; mode : ULONG; timeout : ULONG) : BOOLEAN;
- FUNCTION LockRecords(recArray : pRecordLock; timeout : ULONG) : BOOLEAN;
- FUNCTION MakeDosEntry(const name : pCHAR; type_ : LONGINT) : pDosList;
- FUNCTION MakeLink(const name : pCHAR; dest : LONGINT; soft : LONGINT) : BOOLEAN;
- PROCEDURE MatchEnd(anchor : pAnchorPath);
- FUNCTION MatchFirst(const pat : pCHAR; anchor : pAnchorPath) : LONGINT;
- FUNCTION MatchNext(anchor : pAnchorPath) : LONGINT;
- FUNCTION MatchPattern(const pat : pCHAR; str : pCHAR) : BOOLEAN;
- FUNCTION MatchPatternNoCase(const pat : pCHAR; str : pCHAR) : BOOLEAN;
- FUNCTION MaxCli : ULONG;
- FUNCTION NameFromFH(fh : LONGINT; buffer : pCHAR; len : LONGINT) : BOOLEAN;
- FUNCTION NameFromLock(lock : LONGINT; buffer : pCHAR; len : LONGINT) : BOOLEAN;
- FUNCTION NewLoadSeg(const file_ : pCHAR;const tags : pTagItem) : LONGINT;
- FUNCTION NewLoadSegTagList(const file_ : pCHAR;const tags : pTagItem) : LONGINT;
- FUNCTION NextDosEntry(const dlist : pDosList; flags : ULONG) : pDosList;
- FUNCTION OpenFromLock(lock : LONGINT) : LONGINT;
- FUNCTION ParentDir(lock : LONGINT) : LONGINT;
- FUNCTION ParentOfFH(fh : LONGINT) : LONGINT;
- FUNCTION ParsePattern(const pat : pCHAR; buf : pCHAR; buflen : LONGINT) : LONGINT;
- FUNCTION ParsePatternNoCase(const pat : pCHAR; buf : pCHAR; buflen : LONGINT) : LONGINT;
- FUNCTION PathPart(const path : pCHAR) : pCHAR;
- FUNCTION PrintFault(code : LONGINT;const header : pCHAR) : BOOLEAN;
- FUNCTION PutStr(const str : pCHAR) : BOOLEAN;
- FUNCTION ReadArgs(const arg_template : pCHAR; arra : pLONGINT; args : pRDArgs) : pRDArgs;
- FUNCTION ReadItem(const name : pCHAR; maxchars : LONGINT; cSource : pCSource) : LONGINT;
- FUNCTION ReadLink(port : pMsgPort; lock : LONGINT;const path : pCHAR; buffer : pCHAR; size : ULONG) : BOOLEAN;
- FUNCTION Relabel(const drive : pCHAR;const newname : pCHAR) : BOOLEAN;
- FUNCTION RemAssignList(const name : pCHAR; lock : LONGINT) : BOOLEAN;
- FUNCTION RemDosEntry(dlist : pDosList) : BOOLEAN;
- FUNCTION RemSegment(seg : pSegment) : BOOLEAN;
- PROCEDURE ReplyPkt(dp : pDosPacket; res1 : LONGINT; res2 : LONGINT);
- FUNCTION RunCommand(seg : LONGINT; stack : LONGINT;const paramptr : pCHAR; paramlen : LONGINT) : LONGINT;
- FUNCTION SameDevice(lock1 : LONGINT; lock2 : LONGINT) : BOOLEAN;
- FUNCTION SameLock(lock1 : LONGINT; lock2 : LONGINT) : LONGINT;
- FUNCTION SelectInput(fh : LONGINT) : LONGINT;
- FUNCTION SelectOutput(fh : LONGINT) : LONGINT;
- PROCEDURE SendPkt(dp : pDosPacket; port : pMsgPort; replyport : pMsgPort);
- FUNCTION SetArgStr(const string_ : pCHAR) : BOOLEAN;
- FUNCTION SetComment(const name : pCHAR;const comment : pCHAR) : BOOLEAN;
- FUNCTION SetConsoleTask(const task : pMsgPort) : pMsgPort;
- FUNCTION SetCurrentDirName(const name : pCHAR) : BOOLEAN;
- FUNCTION SetFileDate(const name : pCHAR; date : pDateStamp) : BOOLEAN;
- FUNCTION SetFileSize(fh : LONGINT; pos : LONGINT; mode : LONGINT) : BOOLEAN;
- FUNCTION SetFileSysTask(const task : pMsgPort) : pMsgPort;
- FUNCTION SetIoErr(result : LONGINT) : LONGINT;
- FUNCTION SetMode(fh : LONGINT; mode : LONGINT) : BOOLEAN;
- FUNCTION SetOwner(const name : pCHAR; owner_info : LONGINT) : BOOLEAN;
- FUNCTION SetProgramDir(lock : LONGINT) : LONGINT;
- FUNCTION SetProgramName(const name : pCHAR) : BOOLEAN;
- FUNCTION SetPrompt(const name : pCHAR) : BOOLEAN;
- FUNCTION SetProtection(const name : pCHAR; protect : LONGINT) : BOOLEAN;
- FUNCTION SetVar(const name : pCHAR; buffer : pCHAR; size : LONGINT; flags : LONGINT) : BOOLEAN;
- FUNCTION SetVBuf(fh : LONGINT; buff : pCHAR; type_ : LONGINT; size : LONGINT) : BOOLEAN;
- FUNCTION SplitName(const name : pCHAR; seperator : ULONG; buf : pCHAR; oldpos : LONGINT; size : LONGINT) : smallint;
- FUNCTION StartNotify(notify : pNotifyRequest) : BOOLEAN;
- FUNCTION StrToDate(datetime : pDateTime) : BOOLEAN;
- FUNCTION StrToLong(const string_ : pCHAR; VAR value : LONGINT) : LONGINT;
- FUNCTION SystemTagList(const command : pCHAR;const tags : pTagItem) : LONGINT;
- FUNCTION DOSSystem(const command : pCHAR;const tags : pTagItem) : LONGINT;
- FUNCTION UnGetC(fh : LONGINT; character : LONGINT) : LONGINT;
- PROCEDURE UnLoadSeg(seglist : LONGINT);
- PROCEDURE UnLock(lock : LONGINT);
- PROCEDURE UnLockDosList(flags : ULONG);
- FUNCTION UnLockRecord(fh : LONGINT; offset : ULONG; length : ULONG) : BOOLEAN;
- FUNCTION UnLockRecords(recArray : pRecordLock) : BOOLEAN;
- FUNCTION VFPrintf(fh : LONGINT;const format : pCHAR;const argarray : POINTER) : LONGINT;
- PROCEDURE VFWritef(fh : LONGINT;const format : pCHAR;const argarray : pLONGINT);
- FUNCTION VPrintf(const format : pCHAR; const argarray : POINTER) : LONGINT;
- FUNCTION WaitForChar(file_ : LONGINT; timeout : LONGINT) : BOOLEAN;
- FUNCTION WaitPkt : pDosPacket;
- FUNCTION WriteChars(const buf : pCHAR; buflen : ULONG) : LONGINT;
- FUNCTION BADDR(bval :BPTR): POINTER;
- FUNCTION MKBADDR(adr: Pointer): BPTR;
- { overlay function and procedures}
- FUNCTION AddBuffers(const name : string; number : LONGINT) : BOOLEAN;
- FUNCTION AddPart(dirname : string;const filename : pCHAR; size : ULONG) : BOOLEAN;
- FUNCTION AddPart(dirname : pCHAR;const filename : string; size : ULONG) : BOOLEAN;
- FUNCTION AddPart(dirname : string;const filename : string; size : ULONG) : BOOLEAN;
- FUNCTION AssignAdd(const name : string; lock : LONGINT) : BOOLEAN;
- FUNCTION AssignLate(const name : string;const path : pCHAR) : BOOLEAN;
- FUNCTION AssignLate(const name : pChar;const path : string) : BOOLEAN;
- FUNCTION AssignLate(const name : string;const path : string) : BOOLEAN;
- FUNCTION AssignLock(const name : string; lock : LONGINT) : BOOLEAN;
- FUNCTION AssignPath(const name : string; const path : pCHAR) : BOOLEAN;
- FUNCTION AssignPath(const name : pCHAR;const path : string) : BOOLEAN;
- FUNCTION AssignPath(const name : string;const path : string) : BOOLEAN;
- FUNCTION CreateDir(const name : string) : LONGINT;
- FUNCTION CreateProc(const name : string; pri : LONGINT; segList : LONGINT; stackSize : LONGINT) : pMsgPort;
- FUNCTION DeleteFile(const name : string) : BOOLEAN;
- FUNCTION DeleteVar(const name : string; flags : ULONG) : BOOLEAN;
- FUNCTION DeviceProc(const name : string) : pMsgPort;
- FUNCTION DOSOpen(const name : string; accessMode : LONGINT) : LONGINT;
- FUNCTION DOSRename(const oldName : string;const newName : pChar) : boolean;
- FUNCTION DOSRename(const oldName : pCHAR;const newName : string) : Boolean;
- FUNCTION DOSRename(const oldName : string;const newName : string) : Boolean;
- FUNCTION Execute(const string_ : string; file_ : LONGINT; file2 : LONGINT) : BOOLEAN;
- FUNCTION Fault(code : LONGINT; header : string; buffer : pCHAR; len : LONGINT) : BOOLEAN;
- FUNCTION FilePart(const path : string) : pCHAR;
- FUNCTION FindArg(const keyword : string;const arg_template : pCHAR) : LONGINT;
- FUNCTION FindArg(const keyword : pCHAR;const arg_template : string) : LONGINT;
- FUNCTION FindArg(const keyword : string;const arg_template : string) : LONGINT;
- FUNCTION FindDosEntry(const dlist : pDosList;const name : string; flags : ULONG) : pDosList;
- FUNCTION FindSegment(const name : string;const seg : pSegment; system : LONGINT) : pSegment;
- FUNCTION FindVar(const name : string; type_ : ULONG) : pLocalVar;
- FUNCTION Format(const filesystem : string;const volumename : pCHAR; dostype : ULONG) : BOOLEAN;
- FUNCTION Format(const filesystem : pCHAR;const volumename : string; dostype : ULONG) : BOOLEAN;
- FUNCTION Format(const filesystem : string;const volumename : string; dostype : ULONG) : BOOLEAN;
- FUNCTION FPuts(fh : LONGINT;const str : string) : BOOLEAN;
- FUNCTION GetDeviceProc(const name : string; dp : pDevProc) : pDevProc;
- FUNCTION GetVar(const name : string; buffer : pCHAR; size : LONGINT; flags : LONGINT) : LONGINT;
- FUNCTION Inhibit(const name : string; onoff : LONGINT) : BOOLEAN;
- FUNCTION IsFileSystem(const name : string) : BOOLEAN;
- FUNCTION LoadSeg(const name : string) : LONGINT;
- FUNCTION Lock(const name : string; type_ : LONGINT) : LONGINT;
- FUNCTION MakeDosEntry(const name : string; type_ : LONGINT) : pDosList;
- FUNCTION MakeLink(const name : string; dest : LONGINT; soft : LONGINT) : BOOLEAN;
- FUNCTION MatchFirst(const pat : string; anchor : pAnchorPath) : LONGINT;
- FUNCTION MatchPattern(const pat : string; str : pCHAR) : BOOLEAN;
- FUNCTION MatchPattern(const pat : pCHAR; str : string) : BOOLEAN;
- FUNCTION MatchPattern(const pat : string; str : string) : BOOLEAN;
- FUNCTION MatchPatternNoCase(const pat : string; str : pCHAR) : BOOLEAN;
- FUNCTION MatchPatternNoCase(const pat : pCHAR; str : string) : BOOLEAN;
- FUNCTION MatchPatternNoCase(const pat : string; str : string) : BOOLEAN;
- FUNCTION NewLoadSeg(const file_ : string;const tags : pTagItem) : LONGINT;
- FUNCTION NewLoadSegTagList(const file_ : string;const tags : pTagItem) : LONGINT;
- FUNCTION PathPart(const path : string) : pCHAR;
- FUNCTION PrintFault(code : LONGINT;const header : string) : BOOLEAN;
- FUNCTION PutStr(const str : string) : BOOLEAN;
- FUNCTION ReadArgs(const arg_template : string; arra : pLONGINT; args : pRDArgs) : pRDArgs;
- FUNCTION ReadItem(const name : string; maxchars : LONGINT; cSource : pCSource) : LONGINT;
- FUNCTION ReadLink(port : pMsgPort; lock : LONGINT;const path : string; buffer : pCHAR; size : ULONG) : BOOLEAN;
- FUNCTION Relabel(const drive : string;const newname : pCHAR) : BOOLEAN;
- FUNCTION Relabel(const drive : pCHAR;const newname : string) : BOOLEAN;
- FUNCTION Relabel(const drive : string;const newname : string) : BOOLEAN;
- FUNCTION RemAssignList(const name : string; lock : LONGINT) : BOOLEAN;
- FUNCTION RunCommand(seg : LONGINT; stack : LONGINT;const paramptr : string; paramlen : LONGINT) : LONGINT;
- FUNCTION SetArgStr(const string_ : string) : BOOLEAN;
- FUNCTION SetComment(const name : string;const comment : pCHAR) : BOOLEAN;
- FUNCTION SetComment(const name : pCHAR;const comment : string) : BOOLEAN;
- FUNCTION SetComment(const name : string;const comment : string) : BOOLEAN;
- FUNCTION SetCurrentDirName(const name : string) : BOOLEAN;
- FUNCTION SetFileDate(const name : string; date : pDateStamp) : BOOLEAN;
- FUNCTION SetOwner(const name : string; owner_info : LONGINT) : BOOLEAN;
- FUNCTION SetProgramName(const name : string) : BOOLEAN;
- FUNCTION SetPrompt(const name : string) : BOOLEAN;
- FUNCTION SetProtection(const name : string; protect : LONGINT) : BOOLEAN;
- FUNCTION SetVar(const name : string; buffer : pCHAR; size : LONGINT; flags : LONGINT) : BOOLEAN;
- FUNCTION SplitName(const name : string; seperator : ULONG; buf : pCHAR; oldpos : LONGINT; size : LONGINT) : smallint;
- FUNCTION StrToLong(const string_ : string; VAR value : LONGINT) : LONGINT;
- FUNCTION SystemTagList(const command : string;const tags : pTagItem) : LONGINT;
- FUNCTION DOSSystem(const command : string;const tags : pTagItem) : LONGINT;
- IMPLEMENTATION
- uses pastoc;
- FUNCTION BADDR(bval : BPTR): POINTER;
- BEGIN
- BADDR := POINTER( bval shl 2);
- END;
- FUNCTION MKBADDR(adr : POINTER): BPTR;
- BEGIN
- MKBADDR := BPTR( LONGINT(adr) shr 2);
- END;
- PROCEDURE AbortPkt(port : pMsgPort; pkt : pDosPacket);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L port,D1
- MOVE.L pkt,D2
- MOVEA.L _DOSBase,A6
- JSR -264(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- FUNCTION AddBuffers(const name : pCHAR; number : LONGINT) : BOOLEAN;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L name,D1
- MOVE.L number,D2
- MOVEA.L _DOSBase,A6
- JSR -732(A6)
- MOVEA.L (A7)+,A6
- TST.L D0
- BEQ.B @end
- MOVEQ #1,D0
- @end: MOVE.B D0,@RESULT
- END;
- END;
- FUNCTION AddDosEntry(dlist : pDosList) : BOOLEAN;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L dlist,D1
- MOVEA.L _DOSBase,A6
- JSR -678(A6)
- MOVEA.L (A7)+,A6
- TST.L D0
- BEQ.B @end
- MOVEQ #1,D0
- @end: MOVE.B D0,@RESULT
- END;
- END;
- FUNCTION AddPart(dirname : pCHAR;const filename : pCHAR; size : ULONG) : BOOLEAN;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L dirname,D1
- MOVE.L filename,D2
- MOVE.L size,D3
- MOVEA.L _DOSBase,A6
- JSR -882(A6)
- MOVEA.L (A7)+,A6
- TST.W D0
- BEQ.B @end
- MOVEQ #1,D0
- @end: MOVE.B D0,@RESULT
- END;
- END;
- FUNCTION AddSegment(const name : pCHAR; seg : LONGINT; system : LONGINT) : BOOLEAN;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L name,D1
- MOVE.L seg,D2
- MOVE.L system,D3
- MOVEA.L _DOSBase,A6
- JSR -774(A6)
- MOVEA.L (A7)+,A6
- TST.L D0
- BEQ.B @end
- MOVEQ #1,D0
- @end: MOVE.B D0,@RESULT
- END;
- END;
- FUNCTION AllocDosObject(type_ : ULONG;const tags : pTagItem) : POINTER;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L type_,D1
- MOVE.L tags,D2
- MOVEA.L _DOSBase,A6
- JSR -228(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION AllocDosObjectTagList(type_ : ULONG;const tags : pTagItem) : POINTER;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L type_,D1
- MOVE.L tags,D2
- MOVEA.L _DOSBase,A6
- JSR -228(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION AssignAdd(const name : pCHAR; lock : LONGINT) : BOOLEAN;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L name,D1
- MOVE.L lock,D2
- MOVEA.L _DOSBase,A6
- JSR -630(A6)
- MOVEA.L (A7)+,A6
- TST.W D0
- BEQ.B @end
- MOVEQ #1,D0
- @end: MOVE.B D0,@RESULT
- END;
- END;
- FUNCTION AssignLate(const name : pCHAR;const path : pCHAR) : BOOLEAN;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L name,D1
- MOVE.L path,D2
- MOVEA.L _DOSBase,A6
- JSR -618(A6)
- MOVEA.L (A7)+,A6
- TST.W D0
- BEQ.B @end
- MOVEQ #1,D0
- @end: MOVE.B D0,@RESULT
- END;
- END;
- FUNCTION AssignLock(const name : pCHAR; lock : LONGINT) : BOOLEAN;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L name,D1
- MOVE.L lock,D2
- MOVEA.L _DOSBase,A6
- JSR -612(A6)
- MOVEA.L (A7)+,A6
- TST.L D0
- BEQ.B @end
- MOVEQ #1,D0
- @end: MOVE.B D0,@RESULT
- END;
- END;
- FUNCTION AssignPath(const name : pCHAR;const path : pCHAR) : BOOLEAN;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L name,D1
- MOVE.L path,D2
- MOVEA.L _DOSBase,A6
- JSR -624(A6)
- MOVEA.L (A7)+,A6
- TST.W D0
- BEQ.B @end
- MOVEQ #1,D0
- @end: MOVE.B D0,@RESULT
- END;
- END;
- FUNCTION AttemptLockDosList(flags : ULONG) : pDosList;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L flags,D1
- MOVEA.L _DOSBase,A6
- JSR -666(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION ChangeMode(type_ : LONGINT; fh : LONGINT; newmode : LONGINT) : BOOLEAN;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L type_,D1
- MOVE.L fh,D2
- MOVE.L newmode,D3
- MOVEA.L _DOSBase,A6
- JSR -450(A6)
- MOVEA.L (A7)+,A6
- TST.L D0
- BEQ.B @end
- MOVEQ #1,D0
- @end: MOVE.B D0,@RESULT
- END;
- END;
- FUNCTION CheckSignal(mask : LONGINT) : LONGINT;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L mask,D1
- MOVEA.L _DOSBase,A6
- JSR -792(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION Cli : pCommandLineInterface;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L _DOSBase,A6
- JSR -492(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION CliInitNewcli(dp : pDosPacket) : LONGINT;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L dp,A0
- MOVEA.L _DOSBase,A6
- JSR -930(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION CliInitRun(dp : pDosPacket) : LONGINT;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L dp,A0
- MOVEA.L _DOSBase,A6
- JSR -936(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION CompareDates(const date1 : pDateStamp;const date2 : pDateStamp) : LONGINT;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L date1,D1
- MOVE.L date2,D2
- MOVEA.L _DOSBase,A6
- JSR -738(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION CreateDir(const name : pCHAR) : LONGINT;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L name,D1
- MOVEA.L _DOSBase,A6
- JSR -120(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION CreateNewProc(const tags : pTagItem) : pProcess;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L tags,D1
- MOVEA.L _DOSBase,A6
- JSR -498(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION CreateNewProcTagList(const tags : pTagItem) : pProcess;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L tags,D1
- MOVEA.L _DOSBase,A6
- JSR -498(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION CreateProc(const name : pCHAR; pri : LONGINT; segList : LONGINT; stackSize : LONGINT) : pMsgPort;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L name,D1
- MOVE.L pri,D2
- MOVE.L segList,D3
- MOVE.L stackSize,D4
- MOVEA.L _DOSBase,A6
- JSR -138(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION CurrentDir(lock : LONGINT) : LONGINT;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L lock,D1
- MOVEA.L _DOSBase,A6
- JSR -126(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- PROCEDURE DateStamp(date : pDateStamp);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L date,D1
- MOVEA.L _DOSBase,A6
- JSR -192(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- FUNCTION DateToStr(datetime : pDateTime) : BOOLEAN;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L datetime,D1
- MOVEA.L _DOSBase,A6
- JSR -744(A6)
- MOVEA.L (A7)+,A6
- TST.L D0
- BEQ.B @end
- MOVEQ #1,D0
- @end: MOVE.B D0,@RESULT
- END;
- END;
- FUNCTION DeleteFile(const name : pCHAR) : BOOLEAN;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L name,D1
- MOVEA.L _DOSBase,A6
- JSR -072(A6)
- MOVEA.L (A7)+,A6
- TST.L D0
- BEQ.B @end
- MOVEQ #1,D0
- @end: MOVE.B D0,@RESULT
- END;
- END;
- FUNCTION DeleteVar(const name : pCHAR; flags : ULONG) : BOOLEAN;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L name,D1
- MOVE.L flags,D2
- MOVEA.L _DOSBase,A6
- JSR -912(A6)
- MOVEA.L (A7)+,A6
- TST.L D0
- BEQ.B @end
- MOVEQ #1,D0
- @end: MOVE.B D0,@RESULT
- END;
- END;
- FUNCTION DeviceProc(const name : pCHAR) : pMsgPort;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L name,D1
- MOVEA.L _DOSBase,A6
- JSR -174(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION DoPkt(port : pMsgPort; action : LONGINT; arg1 : LONGINT; arg2 : LONGINT; arg3 : LONGINT; arg4 : LONGINT; arg5 : LONGINT) : LONGINT;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L port,D1
- MOVE.L action,D2
- MOVE.L arg1,D3
- MOVE.L arg2,D4
- MOVE.L arg3,D5
- MOVE.L arg4,D6
- MOVE.L arg5,D7
- MOVEA.L _DOSBase,A6
- JSR -240(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION DoPkt0(port : pMsgPort; action : LONGINT) : LONGINT;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L port,D1
- MOVE.L action,D2
- MOVEA.L _DOSBase,A6
- JSR -240(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION DoPkt1(port : pMsgPort; action : LONGINT; arg1 : LONGINT) : LONGINT;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L port,D1
- MOVE.L action,D2
- MOVE.L arg1,D3
- MOVEA.L _DOSBase,A6
- JSR -240(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION DoPkt2(port : pMsgPort; action : LONGINT; arg1 : LONGINT; arg2 : LONGINT) : LONGINT;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L port,D1
- MOVE.L action,D2
- MOVE.L arg1,D3
- MOVE.L arg2,D4
- MOVEA.L _DOSBase,A6
- JSR -240(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION DoPkt3(port : pMsgPort; action : LONGINT; arg1 : LONGINT; arg2 : LONGINT; arg3 : LONGINT) : LONGINT;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L port,D1
- MOVE.L action,D2
- MOVE.L arg1,D3
- MOVE.L arg2,D4
- MOVE.L arg3,D5
- MOVEA.L _DOSBase,A6
- JSR -240(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION DoPkt4(port : pMsgPort; action : LONGINT; arg1 : LONGINT; arg2 : LONGINT; arg3 : LONGINT; arg4 : LONGINT) : LONGINT;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L port,D1
- MOVE.L action,D2
- MOVE.L arg1,D3
- MOVE.L arg2,D4
- MOVE.L arg3,D5
- MOVE.L arg4,D6
- MOVEA.L _DOSBase,A6
- JSR -240(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- PROCEDURE DOSClose(file_ : LONGINT);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L file_,D1
- MOVEA.L _DOSBase,A6
- JSR -036(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- PROCEDURE DOSDelay(timeout : LONGINT);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L timeout,D1
- MOVEA.L _DOSBase,A6
- JSR -198(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- PROCEDURE DOSExit(returnCode : LONGINT);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L returnCode,D1
- MOVEA.L _DOSBase,A6
- JSR -144(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- FUNCTION DOSFlush(fh : LONGINT) : BOOLEAN;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L fh,D1
- MOVEA.L _DOSBase,A6
- JSR -360(A6)
- MOVEA.L (A7)+,A6
- TST.L D0
- BEQ.B @end
- MOVEQ #1,D0
- @end: MOVE.B D0,@RESULT
- END;
- END;
- FUNCTION DOSInput : LONGINT;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L _DOSBase,A6
- JSR -054(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION DOSOpen(const name : pCHAR; accessMode : LONGINT) : LONGINT;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L name,D1
- MOVE.L accessMode,D2
- MOVEA.L _DOSBase,A6
- JSR -030(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION DOSOutput : LONGINT;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L _DOSBase,A6
- JSR -060(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION DOSRead(file_ : LONGINT; buffer : POINTER; length : LONGINT) : LONGINT;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L file_,D1
- MOVE.L buffer,D2
- MOVE.L length,D3
- MOVEA.L _DOSBase,A6
- JSR -042(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION DOSRename(const oldName : pCHAR;const newName : pCHAR) : Boolean;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L oldName,D1
- MOVE.L newName,D2
- MOVEA.L _DOSBase,A6
- JSR -078(A6)
- MOVEA.L (A7)+,A6
- TST.L D0
- BEQ.B @end
- MOVEQ #1,D0
- @end: MOVE.B D0,@RESULT
- END;
- END;
- FUNCTION DOSSeek(file_ : LONGINT; position : LONGINT; offset : LONGINT) : LONGINT;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L file_,D1
- MOVE.L position,D2
- MOVE.L offset,D3
- MOVEA.L _DOSBase,A6
- JSR -066(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION DOSWrite(file_ : LONGINT; buffer : POINTER; length : LONGINT) : LONGINT;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L file_,D1
- MOVE.L buffer,D2
- MOVE.L length,D3
- MOVEA.L _DOSBase,A6
- JSR -048(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION DupLock(lock : LONGINT) : LONGINT;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L lock,D1
- MOVEA.L _DOSBase,A6
- JSR -096(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION DupLockFromFH(fh : LONGINT) : LONGINT;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L fh,D1
- MOVEA.L _DOSBase,A6
- JSR -372(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- PROCEDURE EndNotify(notify : pNotifyRequest);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L notify,D1
- MOVEA.L _DOSBase,A6
- JSR -894(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- FUNCTION ErrorReport(code : LONGINT; type_ : LONGINT; arg1 : ULONG; device : pMsgPort) : BOOLEAN;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L code,D1
- MOVE.L type_,D2
- MOVE.L arg1,D3
- MOVE.L device,D4
- MOVEA.L _DOSBase,A6
- JSR -480(A6)
- MOVEA.L (A7)+,A6
- TST.L D0
- BEQ.B @end
- MOVEQ #1,D0
- @end: MOVE.B D0,@RESULT
- END;
- END;
- FUNCTION ExAll(lock : LONGINT; buffer : pExAllData; size : LONGINT; data : LONGINT; control : pExAllControl) : BOOLEAN;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L lock,D1
- MOVE.L buffer,D2
- MOVE.L size,D3
- MOVE.L data,D4
- MOVE.L control,D5
- MOVEA.L _DOSBase,A6
- JSR -432(A6)
- MOVEA.L (A7)+,A6
- TST.L D0
- BEQ.B @end
- MOVEQ #1,D0
- @end: MOVE.B D0,@RESULT
- END;
- END;
- PROCEDURE ExAllEnd(lock : LONGINT; buffer : pExAllData; size : LONGINT; data : LONGINT; control : pExAllControl);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L lock,D1
- MOVE.L buffer,D2
- MOVE.L size,D3
- MOVE.L data,D4
- MOVE.L control,D5
- MOVEA.L _DOSBase,A6
- JSR -990(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- FUNCTION Examine(lock : LONGINT; fileInfoBlock : pFileInfoBlock) : BOOLEAN;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L lock,D1
- MOVE.L fileInfoBlock,D2
- MOVEA.L _DOSBase,A6
- JSR -102(A6)
- MOVEA.L (A7)+,A6
- TST.L D0
- BEQ.B @end
- MOVEQ #1,D0
- @end: MOVE.B D0,@RESULT
- END;
- END;
- FUNCTION ExamineFH(fh : LONGINT; fib : pFileInfoBlock) : BOOLEAN;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L fh,D1
- MOVE.L fib,D2
- MOVEA.L _DOSBase,A6
- JSR -390(A6)
- MOVEA.L (A7)+,A6
- TST.W D0
- BEQ.B @end
- MOVEQ #1,D0
- @end: MOVE.B D0,@RESULT
- END;
- END;
- FUNCTION Execute(const string_ : pCHAR; file_ : LONGINT; file2 : LONGINT) : BOOLEAN;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L string_,D1
- MOVE.L file_,D2
- MOVE.L file2,D3
- MOVEA.L _DOSBase,A6
- JSR -222(A6)
- MOVEA.L (A7)+,A6
- TST.L D0
- BEQ.B @end
- MOVEQ #1,D0
- @end: MOVE.B D0,@RESULT
- END;
- END;
- FUNCTION ExNext(lock : LONGINT; fileInfoBlock : pFileInfoBlock) : BOOLEAN;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L lock,D1
- MOVE.L fileInfoBlock,D2
- MOVEA.L _DOSBase,A6
- JSR -108(A6)
- MOVEA.L (A7)+,A6
- TST.L D0
- BEQ.B @end
- MOVEQ #1,D0
- @end: MOVE.B D0,@RESULT
- END;
- END;
- FUNCTION Fault(code : LONGINT; header : pCHAR; buffer : pCHAR; len : LONGINT) : BOOLEAN;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L code,D1
- MOVE.L header,D2
- MOVE.L buffer,D3
- MOVE.L len,D4
- MOVEA.L _DOSBase,A6
- JSR -468(A6)
- MOVEA.L (A7)+,A6
- TST.W D0
- BEQ.B @end
- MOVEQ #1,D0
- @end: MOVE.B D0,@RESULT
- END;
- END;
- FUNCTION FGetC(fh : LONGINT) : LONGINT;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L fh,D1
- MOVEA.L _DOSBase,A6
- JSR -306(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION FGets(fh : LONGINT; buf : pCHAR; buflen : ULONG) : pCHAR;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L fh,D1
- MOVE.L buf,D2
- MOVE.L buflen,D3
- MOVEA.L _DOSBase,A6
- JSR -336(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION FilePart(const path : pCHAR) : pCHAR;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L path,D1
- MOVEA.L _DOSBase,A6
- JSR -870(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION FindArg(const keyword : pCHAR;const arg_template : pCHAR) : LONGINT;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L keyword,D1
- MOVE.L arg_template,D2
- MOVEA.L _DOSBase,A6
- JSR -804(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION FindCliProc(num : ULONG) : pProcess;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L num,D1
- MOVEA.L _DOSBase,A6
- JSR -546(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION FindDosEntry(const dlist : pDosList;const name : pCHAR; flags : ULONG) : pDosList;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L dlist,D1
- MOVE.L name,D2
- MOVE.L flags,D3
- MOVEA.L _DOSBase,A6
- JSR -684(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION FindSegment(const name : pCHAR;const seg : pSegment; system : LONGINT) : pSegment;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L name,D1
- MOVE.L seg,D2
- MOVE.L system,D3
- MOVEA.L _DOSBase,A6
- JSR -780(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION FindVar(const name : pCHAR; type_ : ULONG) : pLocalVar;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L name,D1
- MOVE.L type_,D2
- MOVEA.L _DOSBase,A6
- JSR -918(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION Format(const filesystem : pCHAR;const volumename : pCHAR; dostype : ULONG) : BOOLEAN;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L filesystem,D1
- MOVE.L volumename,D2
- MOVE.L dostype,D3
- MOVEA.L _DOSBase,A6
- JSR -714(A6)
- MOVEA.L (A7)+,A6
- TST.W D0
- BEQ.B @end
- MOVEQ #1,D0
- @end: MOVE.B D0,@RESULT
- END;
- END;
- FUNCTION FPutC(fh : LONGINT; ch : LONGINT) : LONGINT;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L fh,D1
- MOVE.L ch,D2
- MOVEA.L _DOSBase,A6
- JSR -312(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION FPuts(fh : LONGINT;const str : pCHAR) : BOOLEAN;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L fh,D1
- MOVE.L str,D2
- MOVEA.L _DOSBase,A6
- JSR -342(A6)
- MOVEA.L (A7)+,A6
- TST.L D0
- BEQ.B @end
- MOVEQ #1,D0
- @end: MOVE.B D0,@RESULT
- END;
- END;
- FUNCTION FRead(fh : LONGINT; block : POINTER; blocklen : ULONG; number : ULONG) : LONGINT;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L fh,D1
- MOVE.L block,D2
- MOVE.L blocklen,D3
- MOVE.L number,D4
- MOVEA.L _DOSBase,A6
- JSR -324(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- PROCEDURE FreeArgs(args : pRDArgs);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L args,D1
- MOVEA.L _DOSBase,A6
- JSR -858(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- PROCEDURE FreeDeviceProc(dp : pDevProc);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L dp,D1
- MOVEA.L _DOSBase,A6
- JSR -648(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- PROCEDURE FreeDosEntry(dlist : pDosList);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L dlist,D1
- MOVEA.L _DOSBase,A6
- JSR -702(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- PROCEDURE FreeDosObject(type_ : ULONG; ptr : POINTER);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L type_,D1
- MOVE.L ptr,D2
- MOVEA.L _DOSBase,A6
- JSR -234(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- FUNCTION FWrite(fh : LONGINT; block : POINTER; blocklen : ULONG; number : ULONG) : LONGINT;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L fh,D1
- MOVE.L block,D2
- MOVE.L blocklen,D3
- MOVE.L number,D4
- MOVEA.L _DOSBase,A6
- JSR -330(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION GetArgStr : pCHAR;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L _DOSBase,A6
- JSR -534(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION GetConsoleTask : pMsgPort;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L _DOSBase,A6
- JSR -510(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION GetCurrentDirName(buf : pCHAR; len : LONGINT) : BOOLEAN;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L buf,D1
- MOVE.L len,D2
- MOVEA.L _DOSBase,A6
- JSR -564(A6)
- MOVEA.L (A7)+,A6
- TST.W D0
- BEQ.B @end
- MOVEQ #1,D0
- @end: MOVE.B D0,@RESULT
- END;
- END;
- FUNCTION GetDeviceProc(const name : pCHAR; dp : pDevProc) : pDevProc;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L name,D1
- MOVE.L dp,D2
- MOVEA.L _DOSBase,A6
- JSR -642(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION GetFileSysTask : pMsgPort;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L _DOSBase,A6
- JSR -522(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION GetProgramDir : LONGINT;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L _DOSBase,A6
- JSR -600(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION GetProgramName(buf : pCHAR; len : LONGINT) : BOOLEAN;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L buf,D1
- MOVE.L len,D2
- MOVEA.L _DOSBase,A6
- JSR -576(A6)
- MOVEA.L (A7)+,A6
- TST.W D0
- BEQ.B @end
- MOVEQ #1,D0
- @end: MOVE.B D0,@RESULT
- END;
- END;
- FUNCTION GetPrompt(buf : pCHAR; len : LONGINT) : BOOLEAN;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L buf,D1
- MOVE.L len,D2
- MOVEA.L _DOSBase,A6
- JSR -588(A6)
- MOVEA.L (A7)+,A6
- TST.W D0
- BEQ.B @end
- MOVEQ #1,D0
- @end: MOVE.B D0,@RESULT
- END;
- END;
- FUNCTION GetVar(const name : pCHAR; buffer : pCHAR; size : LONGINT; flags : LONGINT) : LONGINT;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L name,D1
- MOVE.L buffer,D2
- MOVE.L size,D3
- MOVE.L flags,D4
- MOVEA.L _DOSBase,A6
- JSR -906(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION Info(lock : LONGINT; parameterBlock : pInfoData) : BOOLEAN;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L lock,D1
- MOVE.L parameterBlock,D2
- MOVEA.L _DOSBase,A6
- JSR -114(A6)
- MOVEA.L (A7)+,A6
- TST.L D0
- BEQ.B @end
- MOVEQ #1,D0
- @end: MOVE.B D0,@RESULT
- END;
- END;
- FUNCTION Inhibit(const name : pCHAR; onoff : LONGINT) : BOOLEAN;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L name,D1
- MOVE.L onoff,D2
- MOVEA.L _DOSBase,A6
- JSR -726(A6)
- MOVEA.L (A7)+,A6
- TST.L D0
- BEQ.B @end
- MOVEQ #1,D0
- @end: MOVE.B D0,@RESULT
- END;
- END;
- FUNCTION InternalLoadSeg(fh : LONGINT; table : LONGINT;const funcarray : pLONGINT; VAR stack : LONGINT) : LONGINT;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L fh,D0
- MOVEA.L table,A0
- MOVEA.L funcarray,A1
- MOVEA.L stack,A2
- MOVEA.L _DOSBase,A6
- JSR -756(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION InternalUnLoadSeg(seglist : LONGINT; freefunc : tPROCEDURE) : BOOLEAN;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L seglist,D1
- MOVEA.L freefunc,A1
- MOVEA.L _DOSBase,A6
- JSR -762(A6)
- MOVEA.L (A7)+,A6
- TST.W D0
- BEQ.B @end
- MOVEQ #1,D0
- @end: MOVE.B D0,@RESULT
- END;
- END;
- FUNCTION IoErr : LONGINT;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L _DOSBase,A6
- JSR -132(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION IsFileSystem(const name : pCHAR) : BOOLEAN;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L name,D1
- MOVEA.L _DOSBase,A6
- JSR -708(A6)
- MOVEA.L (A7)+,A6
- TST.W D0
- BEQ.B @end
- MOVEQ #1,D0
- @end: MOVE.B D0,@RESULT
- END;
- END;
- FUNCTION IsInteractive(file_ : LONGINT) : BOOLEAN;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L file_,D1
- MOVEA.L _DOSBase,A6
- JSR -216(A6)
- MOVEA.L (A7)+,A6
- TST.L D0
- BEQ.B @end
- MOVEQ #1,D0
- @end: MOVE.B D0,@RESULT
- END;
- END;
- FUNCTION LoadSeg(const name : pCHAR) : LONGINT;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L name,D1
- MOVEA.L _DOSBase,A6
- JSR -150(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION Lock(const name : pCHAR; type_ : LONGINT) : LONGINT;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L name,D1
- MOVE.L type_,D2
- MOVEA.L _DOSBase,A6
- JSR -084(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION LockDosList(flags : ULONG) : pDosList;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L flags,D1
- MOVEA.L _DOSBase,A6
- JSR -654(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION LockRecord(fh : LONGINT; offset : ULONG; length : ULONG; mode : ULONG; timeout : ULONG) : BOOLEAN;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L fh,D1
- MOVE.L offset,D2
- MOVE.L length,D3
- MOVE.L mode,D4
- MOVE.L timeout,D5
- MOVEA.L _DOSBase,A6
- JSR -270(A6)
- MOVEA.L (A7)+,A6
- TST.W D0
- BEQ.B @end
- MOVEQ #1,D0
- @end: MOVE.B D0,@RESULT
- END;
- END;
- FUNCTION LockRecords(recArray : pRecordLock; timeout : ULONG) : BOOLEAN;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L recArray,D1
- MOVE.L timeout,D2
- MOVEA.L _DOSBase,A6
- JSR -276(A6)
- MOVEA.L (A7)+,A6
- TST.W D0
- BEQ.B @end
- MOVEQ #1,D0
- @end: MOVE.B D0,@RESULT
- END;
- END;
- FUNCTION MakeDosEntry(const name : pCHAR; type_ : LONGINT) : pDosList;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L name,D1
- MOVE.L type_,D2
- MOVEA.L _DOSBase,A6
- JSR -696(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION MakeLink(const name : pCHAR; dest : LONGINT; soft : LONGINT) : BOOLEAN;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L name,D1
- MOVE.L dest,D2
- MOVE.L soft,D3
- MOVEA.L _DOSBase,A6
- JSR -444(A6)
- MOVEA.L (A7)+,A6
- TST.L D0
- BEQ.B @end
- MOVEQ #1,D0
- @end: MOVE.B D0,@RESULT
- END;
- END;
- PROCEDURE MatchEnd(anchor : pAnchorPath);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L anchor,D1
- MOVEA.L _DOSBase,A6
- JSR -834(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- FUNCTION MatchFirst(const pat : pCHAR; anchor : pAnchorPath) : LONGINT;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L pat,D1
- MOVE.L anchor,D2
- MOVEA.L _DOSBase,A6
- JSR -822(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION MatchNext(anchor : pAnchorPath) : LONGINT;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L anchor,D1
- MOVEA.L _DOSBase,A6
- JSR -828(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION MatchPattern(const pat : pCHAR; str : pCHAR) : BOOLEAN;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L pat,D1
- MOVE.L str,D2
- MOVEA.L _DOSBase,A6
- JSR -846(A6)
- MOVEA.L (A7)+,A6
- TST.W D0
- BEQ.B @end
- MOVEQ #1,D0
- @end: MOVE.B D0,@RESULT
- END;
- END;
- FUNCTION MatchPatternNoCase(const pat : pCHAR; str : pCHAR) : BOOLEAN;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L pat,D1
- MOVE.L str,D2
- MOVEA.L _DOSBase,A6
- JSR -972(A6)
- MOVEA.L (A7)+,A6
- TST.W D0
- BEQ.B @end
- MOVEQ #1,D0
- @end: MOVE.B D0,@RESULT
- END;
- END;
- FUNCTION MaxCli : ULONG;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L _DOSBase,A6
- JSR -552(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION NameFromFH(fh : LONGINT; buffer : pCHAR; len : LONGINT) : BOOLEAN;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L fh,D1
- MOVE.L buffer,D2
- MOVE.L len,D3
- MOVEA.L _DOSBase,A6
- JSR -408(A6)
- MOVEA.L (A7)+,A6
- TST.L D0
- BEQ.B @end
- MOVEQ #1,D0
- @end: MOVE.B D0,@RESULT
- END;
- END;
- FUNCTION NameFromLock(lock : LONGINT; buffer : pCHAR; len : LONGINT) : BOOLEAN;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L lock,D1
- MOVE.L buffer,D2
- MOVE.L len,D3
- MOVEA.L _DOSBase,A6
- JSR -402(A6)
- MOVEA.L (A7)+,A6
- TST.L D0
- BEQ.B @end
- MOVEQ #1,D0
- @end: MOVE.B D0,@RESULT
- END;
- END;
- FUNCTION NewLoadSeg(const file_ : pCHAR;const tags : pTagItem) : LONGINT;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L file_,D1
- MOVE.L tags,D2
- MOVEA.L _DOSBase,A6
- JSR -768(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION NewLoadSegTagList(const file_ : pCHAR;const tags : pTagItem) : LONGINT;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L file_,D1
- MOVE.L tags,D2
- MOVEA.L _DOSBase,A6
- JSR -768(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION NextDosEntry(const dlist : pDosList; flags : ULONG) : pDosList;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L dlist,D1
- MOVE.L flags,D2
- MOVEA.L _DOSBase,A6
- JSR -690(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION OpenFromLock(lock : LONGINT) : LONGINT;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L lock,D1
- MOVEA.L _DOSBase,A6
- JSR -378(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION ParentDir(lock : LONGINT) : LONGINT;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L lock,D1
- MOVEA.L _DOSBase,A6
- JSR -210(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION ParentOfFH(fh : LONGINT) : LONGINT;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L fh,D1
- MOVEA.L _DOSBase,A6
- JSR -384(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION ParsePattern(const pat : pCHAR; buf : pCHAR; buflen : LONGINT) : LONGINT;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L pat,D1
- MOVE.L buf,D2
- MOVE.L buflen,D3
- MOVEA.L _DOSBase,A6
- JSR -840(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION ParsePatternNoCase(const pat : pCHAR; buf : pCHAR; buflen : LONGINT) : LONGINT;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L pat,D1
- MOVE.L buf,D2
- MOVE.L buflen,D3
- MOVEA.L _DOSBase,A6
- JSR -966(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION PathPart(const path : pCHAR) : pCHAR;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L path,D1
- MOVEA.L _DOSBase,A6
- JSR -876(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION PrintFault(code : LONGINT;const header : pCHAR) : BOOLEAN;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L code,D1
- MOVE.L header,D2
- MOVEA.L _DOSBase,A6
- JSR -474(A6)
- MOVEA.L (A7)+,A6
- TST.W D0
- BEQ.B @end
- MOVEQ #1,D0
- @end: MOVE.B D0,@RESULT
- END;
- END;
- FUNCTION PutStr(const str : pCHAR) : BOOLEAN;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L str,D1
- MOVEA.L _DOSBase,A6
- JSR -948(A6)
- MOVEA.L (A7)+,A6
- TST.L D0
- BEQ.B @end
- MOVEQ #1,D0
- @end: MOVE.B D0,@RESULT
- END;
- END;
- FUNCTION ReadArgs(const arg_template : pCHAR; arra : pLONGINT; args : pRDArgs) : pRDArgs;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L arg_template,D1
- MOVE.L arra,D2
- MOVE.L args,D3
- MOVEA.L _DOSBase,A6
- JSR -798(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION ReadItem(const name : pCHAR; maxchars : LONGINT; cSource : pCSource) : LONGINT;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L name,D1
- MOVE.L maxchars,D2
- MOVE.L cSource,D3
- MOVEA.L _DOSBase,A6
- JSR -810(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION ReadLink(port : pMsgPort; lock : LONGINT;const path : pCHAR; buffer : pCHAR; size : ULONG) : BOOLEAN;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L port,D1
- MOVE.L lock,D2
- MOVE.L path,D3
- MOVE.L buffer,D4
- MOVE.L size,D5
- MOVEA.L _DOSBase,A6
- JSR -438(A6)
- MOVEA.L (A7)+,A6
- TST.L D0
- BEQ.B @end
- MOVEQ #1,D0
- @end: MOVE.B D0,@RESULT
- END;
- END;
- FUNCTION Relabel(const drive : pCHAR;const newname : pCHAR) : BOOLEAN;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L drive,D1
- MOVE.L newname,D2
- MOVEA.L _DOSBase,A6
- JSR -720(A6)
- MOVEA.L (A7)+,A6
- TST.L D0
- BEQ.B @end
- MOVEQ #1,D0
- @end: MOVE.B D0,@RESULT
- END;
- END;
- FUNCTION RemAssignList(const name : pCHAR; lock : LONGINT) : BOOLEAN;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L name,D1
- MOVE.L lock,D2
- MOVEA.L _DOSBase,A6
- JSR -636(A6)
- MOVEA.L (A7)+,A6
- TST.L D0
- BEQ.B @end
- MOVEQ #1,D0
- @end: MOVE.B D0,@RESULT
- END;
- END;
- FUNCTION RemDosEntry(dlist : pDosList) : BOOLEAN;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L dlist,D1
- MOVEA.L _DOSBase,A6
- JSR -672(A6)
- MOVEA.L (A7)+,A6
- TST.W D0
- BEQ.B @end
- MOVEQ #1,D0
- @end: MOVE.B D0,@RESULT
- END;
- END;
- FUNCTION RemSegment(seg : pSegment) : BOOLEAN;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L seg,D1
- MOVEA.L _DOSBase,A6
- JSR -786(A6)
- MOVEA.L (A7)+,A6
- TST.L D0
- BEQ.B @end
- MOVEQ #1,D0
- @end: MOVE.B D0,@RESULT
- END;
- END;
- PROCEDURE ReplyPkt(dp : pDosPacket; res1 : LONGINT; res2 : LONGINT);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L dp,D1
- MOVE.L res1,D2
- MOVE.L res2,D3
- MOVEA.L _DOSBase,A6
- JSR -258(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- FUNCTION RunCommand(seg : LONGINT; stack : LONGINT;const paramptr : pCHAR; paramlen : LONGINT) : LONGINT;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L seg,D1
- MOVE.L stack,D2
- MOVE.L paramptr,D3
- MOVE.L paramlen,D4
- MOVEA.L _DOSBase,A6
- JSR -504(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION SameDevice(lock1 : LONGINT; lock2 : LONGINT) : BOOLEAN;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L lock1,D1
- MOVE.L lock2,D2
- MOVEA.L _DOSBase,A6
- JSR -984(A6)
- MOVEA.L (A7)+,A6
- TST.W D0
- BEQ.B @end
- MOVEQ #1,D0
- @end: MOVE.B D0,@RESULT
- END;
- END;
- FUNCTION SameLock(lock1 : LONGINT; lock2 : LONGINT) : LONGINT;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L lock1,D1
- MOVE.L lock2,D2
- MOVEA.L _DOSBase,A6
- JSR -420(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION SelectInput(fh : LONGINT) : LONGINT;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L fh,D1
- MOVEA.L _DOSBase,A6
- JSR -294(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION SelectOutput(fh : LONGINT) : LONGINT;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L fh,D1
- MOVEA.L _DOSBase,A6
- JSR -300(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- PROCEDURE SendPkt(dp : pDosPacket; port : pMsgPort; replyport : pMsgPort);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L dp,D1
- MOVE.L port,D2
- MOVE.L replyport,D3
- MOVEA.L _DOSBase,A6
- JSR -246(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- FUNCTION SetArgStr(const string_ : pCHAR) : BOOLEAN;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L string_,D1
- MOVEA.L _DOSBase,A6
- JSR -540(A6)
- MOVEA.L (A7)+,A6
- TST.W D0
- BEQ.B @end
- MOVEQ #1,D0
- @end: MOVE.B D0,@RESULT
- END;
- END;
- FUNCTION SetComment(const name : pCHAR;const comment : pCHAR) : BOOLEAN;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L name,D1
- MOVE.L comment,D2
- MOVEA.L _DOSBase,A6
- JSR -180(A6)
- MOVEA.L (A7)+,A6
- TST.L D0
- BEQ.B @end
- MOVEQ #1,D0
- @end: MOVE.B D0,@RESULT
- END;
- END;
- FUNCTION SetConsoleTask(const task : pMsgPort) : pMsgPort;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L task,D1
- MOVEA.L _DOSBase,A6
- JSR -516(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION SetCurrentDirName(const name : pCHAR) : BOOLEAN;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L name,D1
- MOVEA.L _DOSBase,A6
- JSR -558(A6)
- MOVEA.L (A7)+,A6
- TST.W D0
- BEQ.B @end
- MOVEQ #1,D0
- @end: MOVE.B D0,@RESULT
- END;
- END;
- FUNCTION SetFileDate(const name : pCHAR; date : pDateStamp) : BOOLEAN;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L name,D1
- MOVE.L date,D2
- MOVEA.L _DOSBase,A6
- JSR -396(A6)
- MOVEA.L (A7)+,A6
- TST.L D0
- BEQ.B @end
- MOVEQ #1,D0
- @end: MOVE.B D0,@RESULT
- END;
- END;
- FUNCTION SetFileSize(fh : LONGINT; pos : LONGINT; mode : LONGINT) : BOOLEAN;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L fh,D1
- MOVE.L pos,D2
- MOVE.L mode,D3
- MOVEA.L _DOSBase,A6
- JSR -456(A6)
- MOVEA.L (A7)+,A6
- TST.L D0
- BEQ.B @end
- MOVEQ #1,D0
- @end: MOVE.B D0,@RESULT
- END;
- END;
- FUNCTION SetFileSysTask(const task : pMsgPort) : pMsgPort;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L task,D1
- MOVEA.L _DOSBase,A6
- JSR -528(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION SetIoErr(result : LONGINT) : LONGINT;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L result,D1
- MOVEA.L _DOSBase,A6
- JSR -462(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION SetMode(fh : LONGINT; mode : LONGINT) : BOOLEAN;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L fh,D1
- MOVE.L mode,D2
- MOVEA.L _DOSBase,A6
- JSR -426(A6)
- MOVEA.L (A7)+,A6
- TST.L D0
- BEQ.B @end
- MOVEQ #1,D0
- @end: MOVE.B D0,@RESULT
- END;
- END;
- FUNCTION SetOwner(const name : pCHAR; owner_info : LONGINT) : BOOLEAN;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L name,D1
- MOVE.L owner_info,D2
- MOVEA.L _DOSBase,A6
- JSR -996(A6)
- MOVEA.L (A7)+,A6
- TST.W D0
- BEQ.B @end
- MOVEQ #1,D0
- @end: MOVE.B D0,@RESULT
- END;
- END;
- FUNCTION SetProgramDir(lock : LONGINT) : LONGINT;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L lock,D1
- MOVEA.L _DOSBase,A6
- JSR -594(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION SetProgramName(const name : pCHAR) : BOOLEAN;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L name,D1
- MOVEA.L _DOSBase,A6
- JSR -570(A6)
- MOVEA.L (A7)+,A6
- TST.W D0
- BEQ.B @end
- MOVEQ #1,D0
- @end: MOVE.B D0,@RESULT
- END;
- END;
- FUNCTION SetPrompt(const name : pCHAR) : BOOLEAN;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L name,D1
- MOVEA.L _DOSBase,A6
- JSR -582(A6)
- MOVEA.L (A7)+,A6
- TST.W D0
- BEQ.B @end
- MOVEQ #1,D0
- @end: MOVE.B D0,@RESULT
- END;
- END;
- FUNCTION SetProtection(const name : pCHAR; protect : LONGINT) : BOOLEAN;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L name,D1
- MOVE.L protect,D2
- MOVEA.L _DOSBase,A6
- JSR -186(A6)
- MOVEA.L (A7)+,A6
- TST.L D0
- BEQ.B @end
- MOVEQ #1,D0
- @end: MOVE.B D0,@RESULT
- END;
- END;
- FUNCTION SetVar(const name : pCHAR; buffer : pCHAR; size : LONGINT; flags : LONGINT) : BOOLEAN;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L name,D1
- MOVE.L buffer,D2
- MOVE.L size,D3
- MOVE.L flags,D4
- MOVEA.L _DOSBase,A6
- JSR -900(A6)
- MOVEA.L (A7)+,A6
- TST.W D0
- BEQ.B @end
- MOVEQ #1,D0
- @end: MOVE.B D0,@RESULT
- END;
- END;
- FUNCTION SetVBuf(fh : LONGINT; buff : pCHAR; type_ : LONGINT; size : LONGINT) : BOOLEAN;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L fh,D1
- MOVE.L buff,D2
- MOVE.L type_,D3
- MOVE.L size,D4
- MOVEA.L _DOSBase,A6
- JSR -366(A6)
- MOVEA.L (A7)+,A6
- TST.L D0
- BEQ.B @end
- MOVEQ #1,D0
- @end: MOVE.B D0,@RESULT
- END;
- END;
- FUNCTION SplitName(const name : pCHAR; seperator : ULONG; buf : pCHAR; oldpos : LONGINT; size : LONGINT) : smallint;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L name,D1
- MOVE.L seperator,D2
- MOVE.L buf,D3
- MOVE.L oldpos,D4
- MOVE.L size,D5
- MOVEA.L _DOSBase,A6
- JSR -414(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION StartNotify(notify : pNotifyRequest) : BOOLEAN;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L notify,D1
- MOVEA.L _DOSBase,A6
- JSR -888(A6)
- MOVEA.L (A7)+,A6
- TST.W D0
- BEQ.B @end
- MOVEQ #1,D0
- @end: MOVE.B D0,@RESULT
- END;
- END;
- FUNCTION StrToDate(datetime : pDateTime) : BOOLEAN;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L datetime,D1
- MOVEA.L _DOSBase,A6
- JSR -750(A6)
- MOVEA.L (A7)+,A6
- TST.L D0
- BEQ.B @end
- MOVEQ #1,D0
- @end: MOVE.B D0,@RESULT
- END;
- END;
- FUNCTION StrToLong(const string_ : pCHAR; VAR value : LONGINT) : LONGINT;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L string_,D1
- MOVE.L value,D2
- MOVEA.L _DOSBase,A6
- JSR -816(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION SystemTagList(const command : pCHAR;const tags : pTagItem) : LONGINT;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L command,D1
- MOVE.L tags,D2
- MOVEA.L _DOSBase,A6
- JSR -606(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION DOSSystem(const command : pCHAR;const tags : pTagItem) : LONGINT;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L command,D1
- MOVE.L tags,D2
- MOVEA.L _DOSBase,A6
- JSR -606(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION UnGetC(fh : LONGINT; character : LONGINT) : LONGINT;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L fh,D1
- MOVE.L character,D2
- MOVEA.L _DOSBase,A6
- JSR -318(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- PROCEDURE UnLoadSeg(seglist : LONGINT);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L seglist,D1
- MOVEA.L _DOSBase,A6
- JSR -156(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- PROCEDURE UnLock(lock : LONGINT);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L lock,D1
- MOVEA.L _DOSBase,A6
- JSR -090(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- PROCEDURE UnLockDosList(flags : ULONG);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L flags,D1
- MOVEA.L _DOSBase,A6
- JSR -660(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- FUNCTION UnLockRecord(fh : LONGINT; offset : ULONG; length : ULONG) : BOOLEAN;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L fh,D1
- MOVE.L offset,D2
- MOVE.L length,D3
- MOVEA.L _DOSBase,A6
- JSR -282(A6)
- MOVEA.L (A7)+,A6
- TST.W D0
- BEQ.B @end
- MOVEQ #1,D0
- @end: MOVE.B D0,@RESULT
- END;
- END;
- FUNCTION UnLockRecords(recArray : pRecordLock) : BOOLEAN;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L recArray,D1
- MOVEA.L _DOSBase,A6
- JSR -288(A6)
- MOVEA.L (A7)+,A6
- TST.W D0
- BEQ.B @end
- MOVEQ #1,D0
- @end: MOVE.B D0,@RESULT
- END;
- END;
- FUNCTION VFPrintf(fh : LONGINT;const format : pCHAR;const argarray : POINTER) : LONGINT;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L fh,D1
- MOVE.L format,D2
- MOVE.L argarray,D3
- MOVEA.L _DOSBase,A6
- JSR -354(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- PROCEDURE VFWritef(fh : LONGINT;const format : pCHAR;const argarray : pLONGINT);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L fh,D1
- MOVE.L format,D2
- MOVE.L argarray,D3
- MOVEA.L _DOSBase,A6
- JSR -348(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- FUNCTION VPrintf(const format : pCHAR; const argarray : POINTER) : LONGINT;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L format,D1
- MOVE.L argarray,D2
- MOVEA.L _DOSBase,A6
- JSR -954(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION WaitForChar(file_ : LONGINT; timeout : LONGINT) : BOOLEAN;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L file_,D1
- MOVE.L timeout,D2
- MOVEA.L _DOSBase,A6
- JSR -204(A6)
- MOVEA.L (A7)+,A6
- TST.L D0
- BEQ.B @end
- MOVEQ #1,D0
- @end: MOVE.B D0,@RESULT
- END;
- END;
- FUNCTION WaitPkt : pDosPacket;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L _DOSBase,A6
- JSR -252(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION WriteChars(const buf : pCHAR; buflen : ULONG) : LONGINT;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L buf,D1
- MOVE.L buflen,D2
- MOVEA.L _DOSBase,A6
- JSR -942(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION AddBuffers(const name : string; number : LONGINT) : BOOLEAN;
- begin
- AddBuffers := AddBuffers(pas2c(name), number);
- end;
- FUNCTION AddPart(dirname : string;const filename : pCHAR; size : ULONG) : BOOLEAN;
- begin
- AddPart := AddPart(pas2c(dirname),filename,size);
- end;
- FUNCTION AddPart(dirname : pCHAR;const filename : string; size : ULONG) : BOOLEAN;
- begin
- AddPart := AddPart(dirname,pas2c(filename),size);
- end;
- FUNCTION AddPart(dirname : string;const filename : string; size : ULONG) : BOOLEAN;
- begin
- AddPart := AddPart(pas2c(dirname),pas2c(filename),size);
- end;
- FUNCTION AssignAdd(const name : string; lock : LONGINT) : BOOLEAN;
- begin
- AssignAdd := AssignAdd(pas2c(name),lock);
- end;
- FUNCTION AssignLate(const name : string;const path : pCHAR) : BOOLEAN;
- begin
- AssignLate := AssignLate(pas2c(name),path);
- end;
- FUNCTION AssignLate(const name : pChar;const path : string) : BOOLEAN;
- begin
- AssignLate := AssignLate(name,pas2c(path));
- end;
- FUNCTION AssignLate(const name : string;const path : string) : BOOLEAN;
- begin
- AssignLate := AssignLate(pas2c(name),pas2c(path));
- end;
- FUNCTION AssignLock(const name : string; lock : LONGINT) : BOOLEAN;
- begin
- AssignLock := AssignLock(pas2c(name),lock);
- end;
- FUNCTION AssignPath(const name : string;const path : pCHAR) : BOOLEAN;
- begin
- AssignPath := AssignPath(pas2c(name),path);
- end;
- FUNCTION AssignPath(const name : pCHAR;const path : string) : BOOLEAN;
- begin
- AssignPath := AssignPath(name,pas2c(path));
- end;
- FUNCTION AssignPath(const name : string;const path : string) : BOOLEAN;
- begin
- AssignPath := AssignPath(pas2c(name),pas2c(path));
- end;
- FUNCTION CreateDir(const name : string) : LONGINT;
- begin
- CreateDir := CreateDir(pas2c(name));
- end;
- FUNCTION CreateProc(const name : string; pri : LONGINT; segList : LONGINT; stackSize : LONGINT) : pMsgPort;
- begin
- CreateProc := CreateProc(pas2c(name),pri,segList,stackSize);
- end;
- FUNCTION DeleteFile(const name : string) : BOOLEAN;
- begin
- DeleteFile := DeleteFile(pas2c(name));
- end;
- FUNCTION DeleteVar(const name : string; flags : ULONG) : BOOLEAN;
- begin
- DeleteVar := DeleteVar(pas2c(name),flags);
- end;
- FUNCTION DeviceProc(const name : string) : pMsgPort;
- begin
- Deviceproc := DeviceProc(pas2c(name));
- end;
- FUNCTION DOSOpen(const name : string; accessMode : LONGINT) : LONGINT;
- begin
- DOSOpen := DOSOpen(pas2c(name),accessMode);
- end;
- FUNCTION DOSRename(const oldName : string;const newName : pCHAR) : Boolean;
- begin
- DOSRename := DOSRename(pas2c(oldName),newName);
- end;
- FUNCTION DOSRename(const oldName : pCHAR;const newName : string) : Boolean;
- begin
- DOSRename := DOSRename(oldName,pas2c(newName));
- end;
- FUNCTION DOSRename(const oldName : string;const newName : string) : Boolean;
- begin
- DOSRename := DOSRename(pas2c(oldName),pas2c(newName));
- end;
- FUNCTION Execute(const string_ : string; file_ : LONGINT; file2 : LONGINT) : BOOLEAN;
- begin
- Execute := Execute(pas2c(string_),file_ ,file2);
- end;
- FUNCTION Fault(code : LONGINT; header : string; buffer : pCHAR; len : LONGINT) : BOOLEAN;
- begin
- Fault := Fault(code,pas2c(header),buffer,len);
- end;
- FUNCTION FilePart(const path : string) : pCHAR;
- begin
- FilePart := FilePart(pas2c(path));
- end;
- FUNCTION FindArg(const keyword : string;const arg_template : pCHAR) : LONGINT;
- begin
- FindArg := FindArg(pas2c(keyword),arg_template);
- end;
- FUNCTION FindArg(const keyword : pCHAR;const arg_template : string) : LONGINT;
- begin
- FindArg := FindArg(keyword,pas2c(arg_template));
- end;
- FUNCTION FindArg(const keyword : string;const arg_template : string) : LONGINT;
- begin
- FindArg := FindArg(pas2c(keyword),pas2c(arg_template));
- end;
- FUNCTION FindDosEntry(const dlist : pDosList;const name : string; flags : ULONG) : pDosList;
- begin
- FindDosEntry := FindDosEntry(dlist,pas2c(name),flags);
- end;
- FUNCTION FindSegment(const name : string;const seg : pSegment; system : LONGINT) : pSegment;
- begin
- FindSegment := FindSegment(pas2c(name),seg,system);
- end;
- FUNCTION FindVar(const name : string; type_ : ULONG) : pLocalVar;
- begin
- FindVar := FindVar(pas2c(name),type_);
- end;
- FUNCTION Format(const filesystem : string;const volumename : pCHAR; dostype : ULONG) : BOOLEAN;
- begin
- Format := Format(pas2c(filesystem),volumename,dostype);
- end;
- FUNCTION Format(const filesystem : pCHAR;const volumename : string; dostype : ULONG) : BOOLEAN;
- begin
- Format := Format(filesystem,pas2c(volumename),dostype);
- end;
- FUNCTION Format(const filesystem : string;const volumename : string; dostype : ULONG) : BOOLEAN;
- begin
- Format := Format(pas2c(filesystem),pas2c(volumename),dostype);
- end;
- FUNCTION FPuts(fh : LONGINT;const str : string) : BOOLEAN;
- begin
- FPuts := FPuts(fh,pas2c(str));
- end;
- FUNCTION GetDeviceProc(const name : string; dp : pDevProc) : pDevProc;
- begin
- GetDeviceProc := GetDeviceProc(pas2c(name),dp);
- end;
- FUNCTION GetVar(const name : string; buffer : pCHAR; size : LONGINT; flags : LONGINT) : LONGINT;
- begin
- GetVar := GetVar(pas2c(name),buffer,size,flags);
- end;
- FUNCTION Inhibit(const name : string; onoff : LONGINT) : BOOLEAN;
- begin
- Inhibit := Inhibit(pas2c(name),onoff);
- end;
- FUNCTION IsFileSystem(const name : string) : BOOLEAN;
- begin
- IsFileSystem := IsFileSystem(pas2c(name));
- end;
- FUNCTION LoadSeg(const name : string) : LONGINT;
- begin
- LoadSeg := LoadSeg(pas2c(name));
- end;
- FUNCTION Lock(const name : string; type_ : LONGINT) : LONGINT;
- begin
- Lock := Lock(pas2c(name),type_);
- end;
- FUNCTION MakeDosEntry(const name : string; type_ : LONGINT) : pDosList;
- begin
- MakeDosEntry := MakeDosEntry(pas2c(name),type_);
- end;
- FUNCTION MakeLink(const name : string; dest : LONGINT; soft : LONGINT) : BOOLEAN;
- begin
- MakeLink := MakeLink(pas2c(name),dest,soft);
- end;
- FUNCTION MatchFirst(const pat : string; anchor : pAnchorPath) : LONGINT;
- begin
- MatchFirst := MatchFirst(pas2c(pat),anchor);
- end;
- FUNCTION MatchPattern(const pat : string; str : pCHAR) : BOOLEAN;
- begin
- MatchPattern := MatchPattern(pas2c(pat),str);
- end;
- FUNCTION MatchPattern(const pat : pCHAR; str : string) : BOOLEAN;
- begin
- MatchPattern := MatchPattern(pat,pas2c(str));
- end;
- FUNCTION MatchPattern(const pat : string; str : string) : BOOLEAN;
- begin
- MatchPattern := MatchPattern(pas2c(pat),pas2c(str));
- end;
- FUNCTION MatchPatternNoCase(const pat : string; str : pCHAR) : BOOLEAN;
- begin
- MatchPatternNoCase := MatchPatternNoCase(pas2c(pat),str);
- end;
- FUNCTION MatchPatternNoCase(const pat : pCHAR; str : string) : BOOLEAN;
- begin
- MatchPatternNoCase := MatchPatternNoCase(pat,pas2c(str));
- end;
- FUNCTION MatchPatternNoCase(const pat : string; str : string) : BOOLEAN;
- begin
- MatchPatternNoCase := MatchPatternNoCase(pas2c(pat),pas2c(str));
- end;
- FUNCTION NewLoadSeg(const file_ : string;const tags : pTagItem) : LONGINT;
- begin
- NewLoadSeg := NewLoadSeg(pas2c(file_),tags);
- end;
- FUNCTION NewLoadSegTagList(const file_ : string;const tags : pTagItem) : LONGINT;
- begin
- NewLoadSegTagList := NewLoadSegTagList(pas2c(file_),tags);
- end;
- FUNCTION PathPart(const path : string) : pCHAR;
- begin
- PathPart := PathPart(pas2c(path));
- end;
- FUNCTION PrintFault(code : LONGINT;const header : string) : BOOLEAN;
- begin
- PrintFault := PrintFault(code,pas2c(header));
- end;
- FUNCTION PutStr(const str : string) : BOOLEAN;
- begin
- PutStr := PutStr(pas2c(str));
- end;
- FUNCTION ReadArgs(const arg_template : string; arra : pLONGINT; args : pRDArgs) : pRDArgs;
- begin
- ReadArgs := ReadArgs(pas2c(arg_template),arra,args);
- end;
- FUNCTION ReadItem(const name : string; maxchars : LONGINT; cSource : pCSource) : LONGINT;
- begin
- ReadItem := ReadItem(pas2c(name),maxchars,cSource);
- end;
- FUNCTION ReadLink(port : pMsgPort; lock : LONGINT;const path : string; buffer : pCHAR; size : ULONG) : BOOLEAN;
- begin
- ReadLink := ReadLink(port,lock,pas2c(path),buffer,size);
- end;
- FUNCTION Relabel(const drive : string;const newname : pCHAR) : BOOLEAN;
- begin
- Relabel := Relabel(pas2c(drive),newname);
- end;
- FUNCTION Relabel(const drive : pCHAR;const newname : string) : BOOLEAN;
- begin
- Relabel := Relabel(drive,pas2c(newname));
- end;
- FUNCTION Relabel(const drive : string;const newname : string) : BOOLEAN;
- begin
- Relabel := Relabel(pas2c(drive),pas2c(newname));
- end;
- FUNCTION RemAssignList(const name : string; lock : LONGINT) : BOOLEAN;
- begin
- RemAssignList := RemAssignList(pas2c(name),lock);
- end;
- FUNCTION RunCommand(seg : LONGINT; stack : LONGINT;const paramptr : string; paramlen : LONGINT) : LONGINT;
- begin
- RunCommand := RunCommand(seg,stack,pas2c(paramptr),paramlen);
- end;
- FUNCTION SetArgStr(const string_ : string) : BOOLEAN;
- begin
- SetArgStr := SetArgStr(pas2c(string_));
- end;
- FUNCTION SetComment(const name : string;const comment : pCHAR) : BOOLEAN;
- begin
- SetComment := SetComment(pas2c(name),comment);
- end;
- FUNCTION SetComment(const name : pCHAR;const comment : string) : BOOLEAN;
- begin
- SetComment := SetComment(name,pas2c(comment));
- end;
- FUNCTION SetComment(const name : string;const comment : string) : BOOLEAN;
- begin
- SetComment := SetComment(pas2c(name),pas2c(comment));
- end;
- FUNCTION SetCurrentDirName(const name : string) : BOOLEAN;
- begin
- SetCurrentDirName := SetCurrentDirName(pas2c(name));
- end;
- FUNCTION SetFileDate(const name : string; date : pDateStamp) : BOOLEAN;
- begin
- SetFileDate := SetFileDate(pas2c(name),date);
- end;
- FUNCTION SetOwner(const name : string; owner_info : LONGINT) : BOOLEAN;
- begin
- SetOwner := SetOwner(pas2c(name),owner_info);
- end;
- FUNCTION SetProgramName(const name : string) : BOOLEAN;
- begin
- SetProgramName := SetProgramName(pas2c(name));
- end;
- FUNCTION SetPrompt(const name : string) : BOOLEAN;
- begin
- SetPrompt := SetPrompt(pas2c(name));
- end;
- FUNCTION SetProtection(const name : string; protect : LONGINT) : BOOLEAN;
- begin
- SetProtection := SetProtection(pas2c(name),protect);
- end;
- FUNCTION SetVar(const name : string; buffer : pCHAR; size : LONGINT; flags : LONGINT) : BOOLEAN;
- begin
- SetVar := SetVar(pas2c(name),buffer,size,flags);
- end;
- FUNCTION SplitName(const name : string; seperator : ULONG; buf : pCHAR; oldpos : LONGINT; size : LONGINT) : smallint;
- begin
- SplitName := SplitName(pas2c(name), seperator,buf,oldpos,size);
- end;
- FUNCTION StrToLong(const string_ : string; VAR value : LONGINT) : LONGINT;
- begin
- StrToLong := StrToLong(pas2c(string_),value);
- end;
- FUNCTION SystemTagList(const command : string;const tags : pTagItem) : LONGINT;
- begin
- SystemTagList := SystemTagList(pas2c(command),tags);
- end;
- FUNCTION DOSSystem(const command : string;const tags : pTagItem) : LONGINT;
- begin
- DOSSystem := DOSSystem(pas2c(command),tags);
- end;
- END. (* UNIT DOS *)
|