Files.pas 402 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896
  1. {
  2. File: CarbonCore/Files.h
  3. Contains: File Manager Interfaces.
  4. The contents of this header file are deprecated.
  5. Use Foundation, CoreFoundation, DiskArbitration, POSIX/BSD, etc. API instead.
  6. Copyright: © 1985-2011 Apple, Inc. All rights reserved
  7. }
  8. { Pascal Translation Updated: Gale R Paeper, <[email protected]>, June 2018 }
  9. {
  10. Modified for use with Free Pascal
  11. Version 308
  12. Please report any bugs to <[email protected]>
  13. }
  14. {$ifc not defined MACOSALLINCLUDE or not MACOSALLINCLUDE}
  15. {$mode macpas}
  16. {$modeswitch cblocks}
  17. {$packenum 1}
  18. {$macro on}
  19. {$inline on}
  20. {$calling mwpascal}
  21. unit Files;
  22. interface
  23. {$setc UNIVERSAL_INTERFACES_VERSION := $0400}
  24. {$setc GAP_INTERFACES_VERSION := $0308}
  25. {$ifc not defined USE_CFSTR_CONSTANT_MACROS}
  26. {$setc USE_CFSTR_CONSTANT_MACROS := TRUE}
  27. {$endc}
  28. {$ifc defined CPUPOWERPC and defined CPUI386}
  29. {$error Conflicting initial definitions for CPUPOWERPC and CPUI386}
  30. {$endc}
  31. {$ifc defined FPC_BIG_ENDIAN and defined FPC_LITTLE_ENDIAN}
  32. {$error Conflicting initial definitions for FPC_BIG_ENDIAN and FPC_LITTLE_ENDIAN}
  33. {$endc}
  34. {$ifc not defined __ppc__ and defined CPUPOWERPC32}
  35. {$setc __ppc__ := 1}
  36. {$elsec}
  37. {$setc __ppc__ := 0}
  38. {$endc}
  39. {$ifc not defined __ppc64__ and defined CPUPOWERPC64}
  40. {$setc __ppc64__ := 1}
  41. {$elsec}
  42. {$setc __ppc64__ := 0}
  43. {$endc}
  44. {$ifc not defined __i386__ and defined CPUI386}
  45. {$setc __i386__ := 1}
  46. {$elsec}
  47. {$setc __i386__ := 0}
  48. {$endc}
  49. {$ifc not defined __x86_64__ and defined CPUX86_64}
  50. {$setc __x86_64__ := 1}
  51. {$elsec}
  52. {$setc __x86_64__ := 0}
  53. {$endc}
  54. {$ifc not defined __arm__ and defined CPUARM}
  55. {$setc __arm__ := 1}
  56. {$elsec}
  57. {$setc __arm__ := 0}
  58. {$endc}
  59. {$ifc not defined __arm64__ and defined CPUAARCH64}
  60. {$setc __arm64__ := 1}
  61. {$elsec}
  62. {$setc __arm64__ := 0}
  63. {$endc}
  64. {$ifc defined cpu64}
  65. {$setc __LP64__ := 1}
  66. {$elsec}
  67. {$setc __LP64__ := 0}
  68. {$endc}
  69. {$ifc defined __ppc__ and __ppc__ and defined __i386__ and __i386__}
  70. {$error Conflicting definitions for __ppc__ and __i386__}
  71. {$endc}
  72. {$ifc defined __ppc__ and __ppc__}
  73. {$setc TARGET_CPU_PPC := TRUE}
  74. {$setc TARGET_CPU_PPC64 := FALSE}
  75. {$setc TARGET_CPU_X86 := FALSE}
  76. {$setc TARGET_CPU_X86_64 := FALSE}
  77. {$setc TARGET_CPU_ARM := FALSE}
  78. {$setc TARGET_CPU_ARM64 := FALSE}
  79. {$setc TARGET_OS_MAC := TRUE}
  80. {$setc TARGET_OS_IPHONE := FALSE}
  81. {$setc TARGET_IPHONE_SIMULATOR := FALSE}
  82. {$setc TARGET_OS_EMBEDDED := FALSE}
  83. {$elifc defined __ppc64__ and __ppc64__}
  84. {$setc TARGET_CPU_PPC := FALSE}
  85. {$setc TARGET_CPU_PPC64 := TRUE}
  86. {$setc TARGET_CPU_X86 := FALSE}
  87. {$setc TARGET_CPU_X86_64 := FALSE}
  88. {$setc TARGET_CPU_ARM := FALSE}
  89. {$setc TARGET_CPU_ARM64 := FALSE}
  90. {$setc TARGET_OS_MAC := TRUE}
  91. {$setc TARGET_OS_IPHONE := FALSE}
  92. {$setc TARGET_IPHONE_SIMULATOR := FALSE}
  93. {$setc TARGET_OS_EMBEDDED := FALSE}
  94. {$elifc defined __i386__ and __i386__}
  95. {$setc TARGET_CPU_PPC := FALSE}
  96. {$setc TARGET_CPU_PPC64 := FALSE}
  97. {$setc TARGET_CPU_X86 := TRUE}
  98. {$setc TARGET_CPU_X86_64 := FALSE}
  99. {$setc TARGET_CPU_ARM := FALSE}
  100. {$setc TARGET_CPU_ARM64 := FALSE}
  101. {$ifc defined iphonesim}
  102. {$setc TARGET_OS_MAC := FALSE}
  103. {$setc TARGET_OS_IPHONE := TRUE}
  104. {$setc TARGET_IPHONE_SIMULATOR := TRUE}
  105. {$elsec}
  106. {$setc TARGET_OS_MAC := TRUE}
  107. {$setc TARGET_OS_IPHONE := FALSE}
  108. {$setc TARGET_IPHONE_SIMULATOR := FALSE}
  109. {$endc}
  110. {$setc TARGET_OS_EMBEDDED := FALSE}
  111. {$elifc defined __x86_64__ and __x86_64__}
  112. {$setc TARGET_CPU_PPC := FALSE}
  113. {$setc TARGET_CPU_PPC64 := FALSE}
  114. {$setc TARGET_CPU_X86 := FALSE}
  115. {$setc TARGET_CPU_X86_64 := TRUE}
  116. {$setc TARGET_CPU_ARM := FALSE}
  117. {$setc TARGET_CPU_ARM64 := FALSE}
  118. {$ifc defined iphonesim}
  119. {$setc TARGET_OS_MAC := FALSE}
  120. {$setc TARGET_OS_IPHONE := TRUE}
  121. {$setc TARGET_IPHONE_SIMULATOR := TRUE}
  122. {$elsec}
  123. {$setc TARGET_OS_MAC := TRUE}
  124. {$setc TARGET_OS_IPHONE := FALSE}
  125. {$setc TARGET_IPHONE_SIMULATOR := FALSE}
  126. {$endc}
  127. {$setc TARGET_OS_EMBEDDED := FALSE}
  128. {$elifc defined __arm__ and __arm__}
  129. {$setc TARGET_CPU_PPC := FALSE}
  130. {$setc TARGET_CPU_PPC64 := FALSE}
  131. {$setc TARGET_CPU_X86 := FALSE}
  132. {$setc TARGET_CPU_X86_64 := FALSE}
  133. {$setc TARGET_CPU_ARM := TRUE}
  134. {$setc TARGET_CPU_ARM64 := FALSE}
  135. {$setc TARGET_OS_MAC := FALSE}
  136. {$setc TARGET_OS_IPHONE := TRUE}
  137. {$setc TARGET_IPHONE_SIMULATOR := FALSE}
  138. {$setc TARGET_OS_EMBEDDED := TRUE}
  139. {$elifc defined __arm64__ and __arm64__}
  140. {$setc TARGET_CPU_PPC := FALSE}
  141. {$setc TARGET_CPU_PPC64 := FALSE}
  142. {$setc TARGET_CPU_X86 := FALSE}
  143. {$setc TARGET_CPU_X86_64 := FALSE}
  144. {$setc TARGET_CPU_ARM := FALSE}
  145. {$setc TARGET_CPU_ARM64 := TRUE}
  146. {$ifc defined ios}
  147. {$setc TARGET_OS_MAC := FALSE}
  148. {$setc TARGET_OS_IPHONE := TRUE}
  149. {$setc TARGET_OS_EMBEDDED := TRUE}
  150. {$elsec}
  151. {$setc TARGET_OS_MAC := TRUE}
  152. {$setc TARGET_OS_IPHONE := FALSE}
  153. {$setc TARGET_OS_EMBEDDED := FALSE}
  154. {$endc}
  155. {$setc TARGET_IPHONE_SIMULATOR := FALSE}
  156. {$elsec}
  157. {$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ nor __arm64__ is defined.}
  158. {$endc}
  159. {$ifc defined __LP64__ and __LP64__ }
  160. {$setc TARGET_CPU_64 := TRUE}
  161. {$elsec}
  162. {$setc TARGET_CPU_64 := FALSE}
  163. {$endc}
  164. {$ifc defined FPC_BIG_ENDIAN}
  165. {$setc TARGET_RT_BIG_ENDIAN := TRUE}
  166. {$setc TARGET_RT_LITTLE_ENDIAN := FALSE}
  167. {$elifc defined FPC_LITTLE_ENDIAN}
  168. {$setc TARGET_RT_BIG_ENDIAN := FALSE}
  169. {$setc TARGET_RT_LITTLE_ENDIAN := TRUE}
  170. {$elsec}
  171. {$error Neither FPC_BIG_ENDIAN nor FPC_LITTLE_ENDIAN are defined.}
  172. {$endc}
  173. {$setc ACCESSOR_CALLS_ARE_FUNCTIONS := TRUE}
  174. {$setc CALL_NOT_IN_CARBON := FALSE}
  175. {$setc OLDROUTINENAMES := FALSE}
  176. {$setc OPAQUE_TOOLBOX_STRUCTS := TRUE}
  177. {$setc OPAQUE_UPP_TYPES := TRUE}
  178. {$setc OTCARBONAPPLICATION := TRUE}
  179. {$setc OTKERNEL := FALSE}
  180. {$setc PM_USE_SESSION_APIS := TRUE}
  181. {$setc TARGET_API_MAC_CARBON := TRUE}
  182. {$setc TARGET_API_MAC_OS8 := FALSE}
  183. {$setc TARGET_API_MAC_OSX := TRUE}
  184. {$setc TARGET_CARBON := TRUE}
  185. {$setc TARGET_CPU_68K := FALSE}
  186. {$setc TARGET_CPU_MIPS := FALSE}
  187. {$setc TARGET_CPU_SPARC := FALSE}
  188. {$setc TARGET_OS_UNIX := FALSE}
  189. {$setc TARGET_OS_WIN32 := FALSE}
  190. {$setc TARGET_RT_MAC_68881 := FALSE}
  191. {$setc TARGET_RT_MAC_CFM := FALSE}
  192. {$setc TARGET_RT_MAC_MACHO := TRUE}
  193. {$setc TYPED_FUNCTION_POINTERS := TRUE}
  194. {$setc TYPE_BOOL := FALSE}
  195. {$setc TYPE_EXTENDED := FALSE}
  196. {$setc TYPE_LONGLONG := TRUE}
  197. uses acl,MacTypes,MixedMode,OSUtils,TextCommon,UTCUtils,Finder,MacOSXPosix,DADisk,CFBase,CFDate,CFDictionary,CFRunLoop,CFUUID;
  198. {$endc} {not MACOSALLINCLUDE}
  199. {$ifc TARGET_OS_MAC}
  200. { Finder constants were moved to Finder.Å }
  201. {$ALIGN MAC68K}
  202. { HFSUniStr255 is the Unicode equivalent of Str255 }
  203. type
  204. HFSUniStr255Ptr = ^HFSUniStr255;
  205. HFSUniStr255 = record
  206. length: UInt16; { number of unicode characters }
  207. unicode: array [0..254] of UniChar; { unicode characters }
  208. end;
  209. type
  210. ConstHFSUniStr255Param = ^HFSUniStr255;
  211. type
  212. DirIDTypePtr = ^DirIDType;
  213. DirIDType = SInt32;
  214. const kFSFileSecurityRemoveACL = acl_t(1);
  215. {
  216. File Permissions
  217. Do not mix and match the following two sets of File Manager permission
  218. constants (original model and AFP model).
  219. See the Retired Technote FL 37 "You Want Permission To Do What?!!"
  220. <https://developer.apple.com/legacy/mac/library/#technotes/fl/fl_37.html#//apple_ref/doc/uid/DTS10002463>
  221. for a detailed discussion of the two separate models
  222. and how they are related.
  223. }
  224. { Permissions for File Manager routines which follow the original model.
  225. These values can be passed in the permissions parameter to FSOpenFork,
  226. PBOpenForkSync, and PBOpenForkAsync.
  227. }
  228. const
  229. fsCurPerm = $00; { open access permissions in ioPermssn }
  230. fsRdPerm = $01;
  231. fsWrPerm = $02;
  232. fsRdWrPerm = $03;
  233. fsRdWrShPerm = $04;
  234. { Permissions for deprecated File Manager routines which follow the AFP model
  235. that is, routines with "OpenDeny" in the name. (These values do not work with
  236. FSOpenFork, PBOpenForkSync, and PBOpenForkAsync).
  237. The most useful combinations of these are:
  238. fsRdAccessPerm -> one writer, multiple readers: the readers
  239. fsRdAccessPerm + fsWrAccessPerm + fsWrDenyPerm -> one writer, multiple readers: the writer
  240. fsWrDenyPerm + fsRdAccessPerm -> multiple readers, no writers
  241. fsRdAccessPerm + fsWrAccessPerm -> shared read/write access
  242. fsRdAccessPerm + fsWrAccessPerm + fsRdDenyPerm + fsWrDenyPerm -> exclusive access
  243. }
  244. const
  245. fsRdAccessPerm = $01;
  246. fsWrAccessPerm = $02;
  247. fsRdDenyPerm = $10;
  248. fsWrDenyPerm = $20;
  249. const
  250. fsRtParID = 1;
  251. fsRtDirID = 2;
  252. const
  253. fsAtMark = 0; { positioning modes in ioPosMode }
  254. fsFromStart = 1;
  255. fsFromLEOF = 2;
  256. fsFromMark = 3;
  257. const
  258. { positionMode (ioPosMode) flags }
  259. kFSAllowConcurrentAsyncIOBit = 3; { allow concurrent execution of async calls }
  260. kFSAllowConcurrentAsyncIOMask = $0008;
  261. kFSPleaseCacheBit = 4; { please cache this request }
  262. kFSPleaseCacheMask = $0010;
  263. kFSNoCacheBit = 5; { please don't cache this request }
  264. kFSNoCacheMask = $0020;
  265. kFSRdVerifyBit = 6; { read verify mode }
  266. kFSRdVerifyMask = $0040;
  267. kFSForceReadBit = 6;
  268. kFSForceReadMask = $0040;
  269. kFSNewLineBit = 7; { newline mode }
  270. kFSNewLineMask = $0080;
  271. kFSNewLineCharMask = $FF00; { newline character }
  272. const
  273. { CatSearch Search bitmask Constants }
  274. fsSBPartialName = $01;
  275. fsSBFullName = $02;
  276. fsSBFlAttrib = $04;
  277. fsSBFlFndrInfo = $08;
  278. fsSBFlLgLen = $20;
  279. fsSBFlPyLen = $40;
  280. fsSBFlRLgLen = $80;
  281. fsSBFlRPyLen = $0100;
  282. fsSBFlCrDat = $0200;
  283. fsSBFlMdDat = $0400;
  284. fsSBFlBkDat = $0800;
  285. fsSBFlXFndrInfo = $1000;
  286. fsSBFlParID = $2000;
  287. fsSBNegate = $4000;
  288. fsSBDrUsrWds = $08;
  289. fsSBDrNmFls = $10;
  290. fsSBDrCrDat = $0200;
  291. fsSBDrMdDat = $0400;
  292. fsSBDrBkDat = $0800;
  293. fsSBDrFndrInfo = $1000;
  294. fsSBDrParID = $2000;
  295. fsSBNodeID = $8000;
  296. fsSBAttributeModDate = $00010000;
  297. fsSBAccessDate = $00020000;
  298. fsSBPermissions = $00040000;
  299. fsSBSkipPackageContents = $00080000;
  300. fsSBSkipHiddenItems = $00100000;
  301. fsSBUserID = $00200000;
  302. fsSBGroupID = $00400000;
  303. const
  304. { CatSearch Search bit value Constants }
  305. fsSBPartialNameBit = 0; {ioFileName points to a substring}
  306. fsSBFullNameBit = 1; {ioFileName points to a match string}
  307. fsSBFlAttribBit = 2; {search includes file attributes}
  308. fsSBFlFndrInfoBit = 3; {search includes finder info}
  309. fsSBFlLgLenBit = 5; {search includes data logical length}
  310. fsSBFlPyLenBit = 6; {search includes data physical length}
  311. fsSBFlRLgLenBit = 7; {search includes resource logical length}
  312. fsSBFlRPyLenBit = 8; {search includes resource physical length}
  313. fsSBFlCrDatBit = 9; {search includes create date}
  314. fsSBFlMdDatBit = 10; {search includes modification date}
  315. fsSBFlBkDatBit = 11; {search includes backup date}
  316. fsSBFlXFndrInfoBit = 12; {search includes extended finder info}
  317. fsSBFlParIDBit = 13; {search includes file's parent ID}
  318. fsSBNegateBit = 14; {return all non-matches}
  319. fsSBDrUsrWdsBit = 3; {search includes directory finder info}
  320. fsSBDrNmFlsBit = 4; {search includes directory valence}
  321. fsSBDrCrDatBit = 9; {directory-named version of fsSBFlCrDatBit}
  322. fsSBDrMdDatBit = 10; {directory-named version of fsSBFlMdDatBit}
  323. fsSBDrBkDatBit = 11; {directory-named version of fsSBFlBkDatBit}
  324. fsSBDrFndrInfoBit = 12; {directory-named version of fsSBFlXFndrInfoBit}
  325. fsSBDrParIDBit = 13; {directory-named version of fsSBFlParIDBit}
  326. fsSBNodeIDBit = 15; { search by range of nodeID }
  327. fsSBAttributeModDateBit = 16; { search by range of attributeModDate }
  328. fsSBAccessDateBit = 17; { search by range of accessDate [CatalogSearch only] }
  329. fsSBPermissionsBit = 18; { search by value/mask of permissions [CatalogSearch only] }
  330. fsSBSkipPackageContentsBit = 19; {do not return items inside of packages}
  331. fsSBSkipHiddenItemsBit = 20; {do not return items with an invisible element in their path}
  332. fsSBUserIDBit = 21; { search by userID in permissions field [CatalogSearch only] }
  333. fsSBGroupIDBit = 22; { search by groupID in permissions field [CatalogSearch only] }
  334. const
  335. { vMAttrib (GetVolParms) bit position constants }
  336. bLimitFCBs = 31;
  337. bLocalWList = 30;
  338. bNoMiniFndr = 29;
  339. bNoVNEdit = 28;
  340. bNoLclSync = 27;
  341. bTrshOffLine = 26;
  342. bNoSwitchTo = 25;
  343. bNoDeskItems = 20;
  344. bNoBootBlks = 19;
  345. bAccessCntl = 18;
  346. bNoSysDir = 17;
  347. bHasExtFSVol = 16;
  348. bHasOpenDeny = 15;
  349. bHasCopyFile = 14;
  350. bHasMoveRename = 13;
  351. bHasDesktopMgr = 12;
  352. bHasShortName = 11;
  353. bHasFolderLock = 10;
  354. bHasPersonalAccessPrivileges = 9;
  355. bHasUserGroupList = 8;
  356. bHasCatSearch = 7;
  357. bHasFileIDs = 6;
  358. bHasBTreeMgr = 5;
  359. bHasBlankAccessPrivileges = 4;
  360. bSupportsAsyncRequests = 3; { asynchronous requests to this volume are handled correctly at any time}
  361. bSupportsTrashVolumeCache = 2;
  362. const
  363. { vMAttrib (GetVolParms) bit position constants }
  364. bHasDirectIO = 1;
  365. const
  366. { vMExtendedAttributes (GetVolParms) bit position constants }
  367. bIsEjectable = 0; { volume is in an ejectable disk drive }
  368. bSupportsHFSPlusAPIs = 1; { volume supports HFS Plus APIs directly (not through compatibility layer) }
  369. bSupportsFSCatalogSearch = 2; { volume supports FSCatalogSearch }
  370. bSupportsFSExchangeObjects = 3; { volume supports FSExchangeObjects }
  371. bSupports2TBFiles = 4; { volume supports supports 2 terabyte files }
  372. bSupportsLongNames = 5; { volume supports file/directory/volume names longer than 31 characters }
  373. bSupportsMultiScriptNames = 6; { volume supports file/directory/volume names with characters from multiple script systems }
  374. bSupportsNamedForks = 7; { volume supports forks beyond the data and resource forks }
  375. bSupportsSubtreeIterators = 8; { volume supports recursive iterators not at the volume root }
  376. bL2PCanMapFileBlocks = 9; { volume supports Lg2Phys SPI correctly }
  377. bParentModDateChanges = 10; { Changing a file or folder causes its parent's mod date to change }
  378. bAncestorModDateChanges = 11; { Changing a file or folder causes all ancestor mod dates to change }
  379. bSupportsSymbolicLinks = 13; { volume supports the creation and use of symbolic links (Mac OS X only) }
  380. bIsAutoMounted = 14; { volume was mounted automatically (Mac OS X only) }
  381. bAllowCDiDataHandler = 17; { allow QuickTime's CDi data handler to examine this volume }
  382. bSupportsExclusiveLocks = 18; { volume supports exclusive opens for writing }
  383. bSupportsJournaling = 19; { volume supports journal (journal may not be active) }
  384. bNoVolumeSizes = 20; { volume is unable to report volume size or free space }
  385. bIsOnInternalBus = 21; { device is on an internal bus - see note below }
  386. bIsCaseSensitive = 22; { volume is case sensitive }
  387. bIsCasePreserving = 23; { volume is case preserving }
  388. bDoNotDisplay = 24; { volume should not be displayed in UI }
  389. bIsRemovable = 25; { device is removable according to IOKit }
  390. bNoRootTimes = 26; { volume does not set reliable times for its root directory }
  391. bIsOnExternalBus = 27; { device is on an external bus -- see note below }
  392. bSupportsExtendedFileSecurity = 28; { volume supports FSFileSecurity objects }
  393. { Note: A volume can return one of four states via the bIsInternal and bIsExternal bits. A volume known
  394. to be on an internal bus will set bIsInternal and clear bIsExternal. A volume known to
  395. be on an external bus will clear bIsInternal and set bIsExternal. A volume on a bus that
  396. is indeterminate (could be either) will set both bits. A volume not on a local bus will, such
  397. as a network volume, will leave both bits clear. }
  398. const
  399. { Large Volume Constants }
  400. kWidePosOffsetBit = 8;
  401. kUseWidePositioning = 1 shl kWidePosOffsetBit;
  402. kMaximumBlocksIn4GB = $007FFFFF;
  403. const
  404. { Foreign Privilege Model Identifiers }
  405. fsUnixPriv = 1;
  406. const
  407. { Authentication Constants }
  408. kNoUserAuthentication = 1;
  409. kPassword = 2;
  410. kEncryptPassword = 3;
  411. kTwoWayEncryptPassword = 6;
  412. { values of user IDs and group IDs }
  413. const
  414. knoUser = 0;
  415. kadministratorUser = 1;
  416. const
  417. knoGroup = 0;
  418. type
  419. FSVolumeRefNum = SInt16;
  420. FSVolumeRefNumPtr = ^FSVolumeRefNum; { when a VAR xx: FSVolumeRefNum parameter can be nil, it is changed to xx: FSVolumeRefNumPtr }
  421. {$ifc TARGET_CPU_64}
  422. type
  423. FSIORefNum = SInt32;
  424. {$elsec}
  425. type
  426. FSIORefNum = SInt16;
  427. {$endc}
  428. const
  429. kFSInvalidVolumeRefNum = 0;
  430. type
  431. FSRef = record
  432. hidden: packed array [0..79] of UInt8; { private to File Manager; ¥¥ need symbolic constant }
  433. end;
  434. FSRefPtr = ^FSRef;
  435. type
  436. FSFileSecurityRef = ^__FSFileSecurity; { an opaque type }
  437. __FSFileSecurity = record end;
  438. { Catalog position record }
  439. type
  440. CatPositionRecPtr = ^CatPositionRec;
  441. CatPositionRec = record
  442. initialize: SInt32;
  443. priv: array [1..6] of SInt16;
  444. end;
  445. {$ifc TARGET_CPU_64}
  446. type
  447. FSSpec = record
  448. { FSSpecs are invalid for 64 bit, but defined in case they appear in shared structs}
  449. hidden: array [1..70] of UInt8;
  450. end;
  451. {$elsec}
  452. type
  453. FSSpec = record
  454. vRefNum: FSVolumeRefNum;
  455. parID: SInt32;
  456. name: StrFileName; { a Str63 on MacOS}
  457. end;
  458. {$endc}
  459. type
  460. FSSpecPtr = ^FSSpec;
  461. type
  462. FSSpecHandle = ^FSSpecPtr;
  463. { pointer to array of FSSpecs }
  464. type
  465. FSSpecArray = array [0..0] of FSSpec;
  466. FSSpecArrayPtr = ^FSSpecArray;
  467. {
  468. The only difference between "const FSSpec*" and "ConstFSSpecPtr" is
  469. that as a parameter, ConstFSSpecPtr is allowed to be NULL
  470. }
  471. type
  472. ConstFSSpecPtr = {const} FSSpecPtr;
  473. type
  474. {$ifc TARGET_CPU_64}
  475. ParmBlkPtr = UnivPtr;
  476. {$elsec}
  477. ParmBlkPtr = ^ParamBlockRec;
  478. {$endc}
  479. IOCompletionProcPtr = procedure( paramBlock: ParmBlkPtr );
  480. IOCompletionUPP = IOCompletionProcPtr;
  481. {$ifc not TARGET_CPU_64}
  482. IOParam = record
  483. qLink: QElemPtr; {queue link in header}
  484. qType: SInt16; {type byte for safety check}
  485. ioTrap: SInt16; {FS: the Trap}
  486. ioCmdAddr: Ptr; {FS: address to dispatch to}
  487. ioCompletion: IOCompletionUPP; {completion routine addr (0 for synch calls)}
  488. ioResult: {volatile} OSErr; {result code}
  489. ioNamePtr: StringPtr; {ptr to Vol:FileName string}
  490. ioVRefNum: FSVolumeRefNum; {volume refnum (DrvNum for Eject and MountVol)}
  491. ioRefNum: FSIORefNum; {refNum for I/O operation}
  492. ioVersNum: SInt8; {version number}
  493. ioPermssn: SInt8; {Open: permissions (byte)}
  494. ioMisc: Ptr; {Rename: new name (GetEOF,SetEOF: logical end of file) (Open: optional ptr to buffer) (SetFileType: new type)}
  495. ioBuffer: Ptr; {data buffer Ptr}
  496. ioReqCount: SInt32; {requested byte count; also = ioNewDirID}
  497. ioActCount: SInt32; {actual byte count completed}
  498. ioPosMode: SInt16; {initial file positioning}
  499. ioPosOffset: SInt32; {file position offset}
  500. end;
  501. IOParamPtr = ^IOParam;
  502. FileParam = record
  503. qLink: QElemPtr; {queue link in header}
  504. qType: SInt16; {type byte for safety check}
  505. ioTrap: SInt16; {FS: the Trap}
  506. ioCmdAddr: Ptr; {FS: address to dispatch to}
  507. ioCompletion: IOCompletionUPP; {completion routine addr (0 for synch calls)}
  508. ioResult: {volatile} OSErr; {result code}
  509. ioNamePtr: StringPtr; {ptr to Vol:FileName string}
  510. ioVRefNum: FSVolumeRefNum; {volume refnum (DrvNum for Eject and MountVol)}
  511. ioFRefNum: FSIORefNum; {reference number}
  512. ioFVersNum: SInt8; {version number}
  513. filler1: SInt8;
  514. ioFDirIndex: SInt16; {GetFInfo directory index}
  515. ioFlAttrib: SInt8; {GetFInfo: in-use bit=7, lock bit=0}
  516. ioFlVersNum: SInt8; {file version number}
  517. ioFlFndrInfo: FInfo; {user info}
  518. ioFlNum: UInt32; {GetFInfo: file number; TF- ioDirID}
  519. ioFlStBlk: UInt16; {start file block (0 if none)}
  520. ioFlLgLen: SInt32; {logical length (EOF)}
  521. ioFlPyLen: SInt32; {physical length}
  522. ioFlRStBlk: UInt16; {start block rsrc fork}
  523. ioFlRLgLen: SInt32; {file logical length rsrc fork}
  524. ioFlRPyLen: SInt32; {file physical length rsrc fork}
  525. ioFlCrDat: UInt32; {file creation date& time (32 bits in secs)}
  526. ioFlMdDat: UInt32; {last modified date and time}
  527. end;
  528. FileParamPtr = ^FileParam;
  529. VolumeParam = record
  530. qLink: QElemPtr; {queue link in header}
  531. qType: SInt16; {type byte for safety check}
  532. ioTrap: SInt16; {FS: the Trap}
  533. ioCmdAddr: Ptr; {FS: address to dispatch to}
  534. ioCompletion: IOCompletionUPP; {completion routine addr (0 for synch calls)}
  535. ioResult: {volatile} OSErr; {result code}
  536. ioNamePtr: StringPtr; {ptr to Vol:FileName string}
  537. ioVRefNum: FSVolumeRefNum; {volume refnum (DrvNum for Eject and MountVol)}
  538. filler2: UInt32;
  539. ioVolIndex: SInt16; {volume index number}
  540. ioVCrDate: UInt32; {creation date and time}
  541. ioVLsBkUp: UInt32; {last backup date and time}
  542. ioVAtrb: UInt16; {volume attrib}
  543. ioVNmFls: UInt16; {number of files in directory}
  544. ioVDirSt: UInt16; {start block of file directory}
  545. ioVBlLn: SInt16; {GetVolInfo: length of dir in blocks}
  546. ioVNmAlBlks: UInt16; {for compatibilty ioVNmAlBlks * ioVAlBlkSiz <= 2 GB}
  547. ioVAlBlkSiz: UInt32; {for compatibilty ioVAlBlkSiz is <= $0000FE00 (65,024)}
  548. ioVClpSiz: UInt32; {GetVolInfo: bytes to allocate at a time}
  549. ioAlBlSt: UInt16; {starting disk(512-byte) block in block map}
  550. ioVNxtFNum: UInt32; {GetVolInfo: next free file number}
  551. ioVFrBlk: UInt16; {GetVolInfo: # free alloc blks for this vol}
  552. end;
  553. VolumeParamPtr = ^VolumeParam;
  554. CntrlParam = record
  555. qLink: QElemPtr; {queue link in header}
  556. qType: SInt16; {type byte for safety check}
  557. ioTrap: SInt16; {FS: the Trap}
  558. ioCmdAddr: Ptr; {FS: address to dispatch to}
  559. ioCompletion: IOCompletionUPP; {completion routine addr (0 for synch calls)}
  560. ioResult: {volatile} OSErr; {result code}
  561. ioNamePtr: StringPtr; {ptr to Vol:FileName string}
  562. ioVRefNum: FSVolumeRefNum; {volume refnum (DrvNum for Eject and MountVol)}
  563. ioCRefNum: FSIORefNum; {refNum for I/O operation}
  564. csCode: SInt16; {word for control status code}
  565. csParam: array [0..10] of SInt16; { operation-defined parameters }
  566. end;
  567. CntrlParamPtr = ^CntrlParam;
  568. SlotDevParam = record
  569. qLink: QElemPtr; {queue link in header}
  570. qType: SInt16; {type byte for safety check}
  571. ioTrap: SInt16; {FS: the Trap}
  572. ioCmdAddr: Ptr; {FS: address to dispatch to}
  573. ioCompletion: IOCompletionUPP; {completion routine addr (0 for synch calls)}
  574. ioResult: {volatile} OSErr; {result code}
  575. ioNamePtr: StringPtr; {ptr to Vol:FileName string}
  576. ioVRefNum: FSVolumeRefNum; {volume refnum (DrvNum for Eject and MountVol)}
  577. ioSRefNum: FSIORefNum;
  578. ioSVersNum: SInt8;
  579. ioSPermssn: SInt8;
  580. ioSMix: Ptr;
  581. ioSFlags: SInt16;
  582. ioSlot: SInt8;
  583. ioID: SInt8;
  584. end;
  585. SlotDevParamPtr = ^SlotDevParam;
  586. MultiDevParam = record
  587. qLink: QElemPtr; {queue link in header}
  588. qType: SInt16; {type byte for safety check}
  589. ioTrap: SInt16; {FS: the Trap}
  590. ioCmdAddr: Ptr; {FS: address to dispatch to}
  591. ioCompletion: IOCompletionUPP; {completion routine addr (0 for synch calls)}
  592. ioResult: {volatile} OSErr; {result code}
  593. ioNamePtr: StringPtr; {ptr to Vol:FileName string}
  594. ioVRefNum: FSVolumeRefNum; {volume refnum (DrvNum for Eject and MountVol)}
  595. ioMRefNum: FSIORefNum;
  596. ioMVersNum: SInt8;
  597. ioMPermssn: SInt8;
  598. ioMMix: Ptr;
  599. ioMFlags: SInt16;
  600. ioSEBlkPtr: Ptr;
  601. end;
  602. MultiDevParamPtr = ^MultiDevParam;
  603. ParamBlockRecPtr = ^ParamBlockRec;
  604. ParamBlockRec = record
  605. qLink: QElemPtr; {queue link in header}
  606. qType: SInt16; {type byte for safety check}
  607. ioTrap: SInt16; {FS: the Trap}
  608. ioCmdAddr: Ptr; {FS: address to dispatch to}
  609. ioCompletion: IOCompletionUPP; {completion routine addr (0 for synch calls)}
  610. ioResult: {volatile} OSErr; {result code}
  611. ioNamePtr: StringPtr; {ptr to Vol:FileName string}
  612. ioVRefNum: FSVolumeRefNum; {volume refnum (DrvNum for Eject and MountVol)}
  613. case SInt16 of
  614. 0: (
  615. ioRefNum: FSIORefNum; { refNum for I/O operation }
  616. ioVersNum: SInt8; { version number }
  617. ioPermssn: SInt8; { Open: permissions (byte) }
  618. ioMisc: Ptr; { Rename: new name (GetEOF,SetEOF: logical end of file) (Open: optional ptr to buffer) (SetFileType: new type) }
  619. ioBuffer: Ptr; { data buffer Ptr }
  620. ioReqCount: SInt32; { requested byte count; also = ioNewDirID }
  621. ioActCount: SInt32; { actual byte count completed }
  622. ioPosMode: SInt16; { initial file positioning }
  623. ioPosOffset: SInt32; { file position offset }
  624. );
  625. 1: (
  626. ioFRefNum: FSIORefNum; { reference number }
  627. ioFVersNum: SInt8; { version number }
  628. filler1: SInt8;
  629. ioFDirIndex: SInt16; { GetFInfo directory index }
  630. ioFlAttrib: SInt8; { GetFInfo: in-use bit=7, lock bit=0 }
  631. ioFlVersNum: SInt8; { file version number }
  632. ioFlFndrInfo: FInfo; { user info }
  633. ioFlNum: UInt32; { GetFInfo: file number; TF- ioDirID }
  634. ioFlStBlk: UInt16; { start file block (0 if none) }
  635. ioFlLgLen: SInt32; { logical length (EOF) }
  636. ioFlPyLen: SInt32; { physical length }
  637. ioFlRStBlk: UInt16; { start block rsrc fork }
  638. ioFlRLgLen: SInt32; { file logical length rsrc fork }
  639. ioFlRPyLen: SInt32; { file physical length rsrc fork }
  640. ioFlCrDat: UInt32; { file creation date& time (32 bits in secs) }
  641. ioFlMdDat: UInt32; { last modified date and time }
  642. );
  643. 2: (
  644. filler2: SInt32;
  645. ioVolIndex: SInt16; { volume index number }
  646. ioVCrDate: UInt32; { creation date and time }
  647. ioVLsBkUp: UInt32; { last backup date and time }
  648. ioVAtrb: UInt16; { volume attrib }
  649. ioVNmFls: UInt16; { number of files in directory }
  650. ioVDirSt: UInt16; { start block of file directory }
  651. ioVBlLn: SInt16; { GetVolInfo: length of dir in blocks }
  652. ioVNmAlBlks: UInt16; { for compatibilty ioVNmAlBlks * ioVAlBlkSiz <= 2 GB }
  653. ioVAlBlkSiz: UInt32; { for compatibilty ioVAlBlkSiz is <= $0000FE00 (65,024) }
  654. ioVClpSiz: UInt32; { GetVolInfo: bytes to allocate at a time }
  655. ioAlBlSt: UInt16; { starting disk(512-byte) block in block map }
  656. ioVNxtFNum: UInt32; { GetVolInfo: next free file number }
  657. ioVFrBlk: UInt16; { GetVolInfo: # free alloc blks for this vol }
  658. );
  659. 3: (
  660. ioCRefNum: SInt16; { refNum for I/O operation }
  661. csCode: SInt16; { word for control status code }
  662. csParam: array [0..10] of SInt16; { operation-defined parameters }
  663. );
  664. 4: (
  665. ioSRefNum: SInt16;
  666. ioSVersNum: SInt8;
  667. ioSPermssn: SInt8;
  668. ioSMix: Ptr;
  669. ioSFlags: SInt16;
  670. ioSlot: SInt8;
  671. ioID: SInt8;
  672. );
  673. 5: (
  674. ioMRefNum: SInt16;
  675. ioMVersNum: SInt8;
  676. ioMPermssn: SInt8;
  677. ioMMix: Ptr;
  678. ioMFlags: SInt16;
  679. ioSEBlkPtr: Ptr;
  680. );
  681. end;
  682. CInfoPBRecPtr = ^CInfoPBRec;
  683. CInfoPBRec = record
  684. qLink: QElemPtr; { queue link in header }
  685. qType: SInt16; { type byte for safety check }
  686. ioTrap: SInt16; { FS: the Trap }
  687. ioCmdAddr: Ptr; { FS: address to dispatch to }
  688. ioCompletion: IOCompletionUPP; { completion routine addr (0 for synch calls) }
  689. ioResult: {volatile} OSErr; { result code }
  690. ioNamePtr: StringPtr; { ptr to Vol:FileName string }
  691. ioVRefNum: FSVolumeRefNum; { volume refnum (DrvNum for Eject and MountVol) }
  692. ioFRefNum: FSIORefNum;
  693. ioFVersNum: SInt8;
  694. filler1: SInt8;
  695. ioFDirIndex: SInt16;
  696. ioFlAttrib: SInt8;
  697. ioACUser: SInt8;
  698. case SInt16 of
  699. 0: (
  700. ioFlFndrInfo: FInfo;
  701. ioDirID: UInt32;
  702. ioFlStBlk: UInt16;
  703. ioFlLgLen: SInt32;
  704. ioFlPyLen: SInt32;
  705. ioFlRStBlk: UInt16;
  706. ioFlRLgLen: SInt32;
  707. ioFlRPyLen: SInt32;
  708. ioFlCrDat: UInt32;
  709. ioFlMdDat: UInt32;
  710. ioFlBkDat: UInt32;
  711. ioFlXFndrInfo: FXInfo;
  712. ioFlParID: UInt32;
  713. ioFlClpSiz: SInt32;
  714. );
  715. 1: (
  716. ioDrUsrWds: DInfo;
  717. ioDrDirID: SInt32;
  718. ioDrNmFls: UInt16;
  719. filler3: array [1..9] of SInt16;
  720. ioDrCrDat: UInt32;
  721. ioDrMdDat: UInt32;
  722. ioDrBkDat: UInt32;
  723. ioDrFndrInfo: DXInfo;
  724. ioDrParID: SInt32;
  725. );
  726. end;
  727. type
  728. CInfoPBPtr = CInfoPBRecPtr;
  729. XCInfoPBRecPtr = ^XCInfoPBRec;
  730. XCInfoPBRec = record
  731. qLink: QElemPtr;
  732. qType: SInt16;
  733. ioTrap: SInt16;
  734. ioCmdAddr: Ptr;
  735. ioCompletion: ProcPtr; { --> A pointer to a completion routine }
  736. ioResult: {volatile} OSErr; { --> The result code of the function }
  737. ioNamePtr: StringPtr; { --> Pointer to pathname to object }
  738. ioVRefNum: FSVolumeRefNum; { --> A volume specification }
  739. filler1: SInt32;
  740. ioShortNamePtr: StringPtr; { <-> A pointer to the short name string buffer - required! }
  741. filler2: SInt16;
  742. ioPDType: SInt16; { <-- The ProDOS file type }
  743. ioPDAuxType: SInt32; { <-- The ProDOS aux type }
  744. filler3: array [0..1] of SInt32;
  745. ioDirID: SInt32; { --> A directory ID }
  746. end;
  747. type
  748. XCInfoPBPtr = XCInfoPBRecPtr;
  749. {
  750. The following are structures to be filled out with the _PBGetVolMountInfo call
  751. and passed back into the _PBVolumeMount call for external file system mounts.
  752. }
  753. DTPBRecPtr = ^DTPBRec;
  754. DTPBRec = record
  755. qLink: QElemPtr; {queue link in header}
  756. qType: SInt16; {type byte for safety check}
  757. ioTrap: SInt16; {FS: the Trap}
  758. ioCmdAddr: Ptr; {FS: address to dispatch to}
  759. ioCompletion: IOCompletionUPP; {completion routine addr (0 for synch calls)}
  760. ioResult: {volatile} OSErr; {result code}
  761. ioNamePtr: StringPtr; {ptr to Vol:FileName string}
  762. ioVRefNum: FSVolumeRefNum; {volume refnum (DrvNum for Eject and MountVol)}
  763. ioDTRefNum: FSIORefNum; { desktop refnum }
  764. ioIndex: SInt16;
  765. ioTagInfo: SInt32;
  766. ioDTBuffer: Ptr;
  767. ioDTReqCount: SInt32;
  768. ioDTActCount: SInt32;
  769. ioFiller1: SInt8;
  770. ioIconType: UInt8;
  771. ioFiller2: SInt16;
  772. ioDirID: SInt32;
  773. ioFileCreator: OSType;
  774. ioFileType: OSType;
  775. ioFiller3: SInt32;
  776. ioDTLgLen: SInt32;
  777. ioDTPyLen: SInt32;
  778. ioFiller4: array [1..14] of SInt16;
  779. ioAPPLParID: SInt32;
  780. end;
  781. type
  782. DTPBPtr = DTPBRecPtr;
  783. type
  784. HIOParam = record
  785. qLink: QElemPtr; {queue link in header}
  786. qType: SInt16; {type byte for safety check}
  787. ioTrap: SInt16; {FS: the Trap}
  788. ioCmdAddr: Ptr; {FS: address to dispatch to}
  789. ioCompletion: IOCompletionUPP; {completion routine addr (0 for synch calls)}
  790. ioResult: {volatile} OSErr; {result code}
  791. ioNamePtr: StringPtr; {ptr to Vol:FileName string}
  792. ioVRefNum: FSVolumeRefNum; {volume refnum (DrvNum for Eject and MountVol)}
  793. ioRefNum: FSIORefNum;
  794. ioVersNum: SInt8;
  795. ioPermssn: SInt8;
  796. ioMisc: Ptr;
  797. ioBuffer: Ptr;
  798. ioReqCount: SInt32;
  799. ioActCount: SInt32;
  800. ioPosMode: SInt16;
  801. ioPosOffset: SInt32;
  802. end;
  803. HIOParamPtr = ^HIOParam;
  804. type
  805. HFileParam = record
  806. qLink: QElemPtr; {queue link in header}
  807. qType: SInt16; {type byte for safety check}
  808. ioTrap: SInt16; {FS: the Trap}
  809. ioCmdAddr: Ptr; {FS: address to dispatch to}
  810. ioCompletion: IOCompletionUPP; {completion routine addr (0 for synch calls)}
  811. ioResult: {volatile} OSErr; {result code}
  812. ioNamePtr: StringPtr; {ptr to Vol:FileName string}
  813. ioVRefNum: FSVolumeRefNum; {volume refnum (DrvNum for Eject and MountVol)}
  814. ioFRefNum: FSIORefNum;
  815. ioFVersNum: SInt8;
  816. filler1: SInt8;
  817. ioFDirIndex: SInt16;
  818. ioFlAttrib: SInt8;
  819. ioFlVersNum: SInt8;
  820. ioFlFndrInfo: FInfo;
  821. ioDirID: SInt32;
  822. ioFlStBlk: UInt16;
  823. ioFlLgLen: SInt32;
  824. ioFlPyLen: SInt32;
  825. ioFlRStBlk: UInt16;
  826. ioFlRLgLen: SInt32;
  827. ioFlRPyLen: SInt32;
  828. ioFlCrDat: UInt32;
  829. ioFlMdDat: UInt32;
  830. end;
  831. HFileParamPtr = ^HFileParam;
  832. type
  833. HVolumeParam = record
  834. qLink: QElemPtr; {queue link in header}
  835. qType: SInt16; {type byte for safety check}
  836. ioTrap: SInt16; {FS: the Trap}
  837. ioCmdAddr: Ptr; {FS: address to dispatch to}
  838. ioCompletion: IOCompletionUPP; {completion routine addr (0 for synch calls)}
  839. ioResult: {volatile} OSErr; {result code}
  840. ioNamePtr: StringPtr; {ptr to Vol:FileName string}
  841. ioVRefNum: FSVolumeRefNum; {volume refnum (DrvNum for Eject and MountVol)}
  842. filler2: SInt32;
  843. ioVolIndex: SInt16;
  844. ioVCrDate: UInt32;
  845. ioVLsMod: UInt32;
  846. ioVAtrb: SInt16;
  847. ioVNmFls: UInt16;
  848. ioVBitMap: UInt16;
  849. ioAllocPtr: UInt16;
  850. ioVNmAlBlks: UInt16;
  851. ioVAlBlkSiz: UInt32;
  852. ioVClpSiz: UInt32;
  853. ioAlBlSt: UInt16;
  854. ioVNxtCNID: UInt32;
  855. ioVFrBlk: UInt16;
  856. ioVSigWord: UInt16;
  857. ioVDrvInfo: SInt16;
  858. ioVDRefNum: FSIORefNum;
  859. ioVFSID: SInt16;
  860. ioVBkUp: UInt32;
  861. ioVSeqNum: SInt16;
  862. ioVWrCnt: UInt32;
  863. ioVFilCnt: UInt32;
  864. ioVDirCnt: UInt32;
  865. ioVFndrInfo: array [1..8] of SInt32;
  866. end;
  867. HVolumeParamPtr = ^HVolumeParam;
  868. type
  869. XIOParam = record
  870. qLink: QElemPtr; {queue link in header}
  871. qType: SInt16; {type byte for safety check}
  872. ioTrap: SInt16; {FS: the Trap}
  873. ioCmdAddr: Ptr; {FS: address to dispatch to}
  874. ioCompletion: IOCompletionUPP; {completion routine addr (0 for synch calls)}
  875. ioResult: {volatile} OSErr; {result code}
  876. ioNamePtr: StringPtr; {ptr to Vol:FileName string}
  877. ioVRefNum: FSVolumeRefNum; {volume refnum (DrvNum for Eject and MountVol)}
  878. ioRefNum: FSIORefNum;
  879. ioVersNum: SInt8;
  880. ioPermssn: SInt8;
  881. ioMisc: Ptr;
  882. ioBuffer: Ptr;
  883. ioReqCount: SInt32;
  884. ioActCount: SInt32;
  885. ioPosMode: SInt16; { must have kUseWidePositioning bit set }
  886. ioWPosOffset: wide; { wide positioning offset }
  887. end;
  888. XIOParamPtr = ^XIOParam;
  889. type
  890. XVolumeParam = record
  891. qLink: QElemPtr; {queue link in header}
  892. qType: SInt16; {type byte for safety check}
  893. ioTrap: SInt16; {FS: the Trap}
  894. ioCmdAddr: Ptr; {FS: address to dispatch to}
  895. ioCompletion: IOCompletionUPP; {completion routine addr (0 for synch calls)}
  896. ioResult: {volatile} OSErr; {result code}
  897. ioNamePtr: StringPtr; {ptr to Vol:FileName string}
  898. ioVRefNum: FSVolumeRefNum; {volume refnum (DrvNum for Eject and MountVol)}
  899. ioXVersion: UInt32; { this XVolumeParam version (0) }
  900. ioVolIndex: SInt16;
  901. ioVCrDate: UInt32;
  902. ioVLsMod: UInt32;
  903. ioVAtrb: SInt16;
  904. ioVNmFls: UInt16;
  905. ioVBitMap: UInt16;
  906. ioAllocPtr: UInt16;
  907. ioVNmAlBlks: UInt16;
  908. ioVAlBlkSiz: UInt32;
  909. ioVClpSiz: UInt32;
  910. ioAlBlSt: UInt16;
  911. ioVNxtCNID: UInt32;
  912. ioVFrBlk: UInt16;
  913. ioVSigWord: UInt16;
  914. ioVDrvInfo: SInt16;
  915. ioVDRefNum: SInt16;
  916. ioVFSID: SInt16;
  917. ioVBkUp: UInt32;
  918. ioVSeqNum: SInt16;
  919. ioVWrCnt: UInt32;
  920. ioVFilCnt: UInt32;
  921. ioVDirCnt: UInt32;
  922. ioVFndrInfo: array [1..8] of SInt32;
  923. ioVTotalBytes: UInt64; { total number of bytes on volume }
  924. ioVFreeBytes: UInt64; { number of free bytes on volume }
  925. end;
  926. XVolumeParamPtr = ^XVolumeParam;
  927. type
  928. AccessParam = record
  929. qLink: QElemPtr; {queue link in header}
  930. qType: SInt16; {type byte for safety check}
  931. ioTrap: SInt16; {FS: the Trap}
  932. ioCmdAddr: Ptr; {FS: address to dispatch to}
  933. ioCompletion: IOCompletionUPP; {completion routine addr (0 for synch calls)}
  934. ioResult: {volatile} OSErr; {result code}
  935. ioNamePtr: StringPtr; {ptr to Vol:FileName string}
  936. ioVRefNum: FSVolumeRefNum; {volume refnum (DrvNum for Eject and MountVol)}
  937. ioRefNum: FSIORefNum; { <- , ioRefNum ( use to be filler3 ) }
  938. ioDenyModes: SInt16; {access rights data}
  939. filler4: SInt16;
  940. filler5: SInt8;
  941. ioACUser: SInt8; {access rights for directory only}
  942. filler6: SInt32;
  943. ioACOwnerID: SInt32; {owner ID}
  944. ioACGroupID: SInt32; {group ID}
  945. ioACAccess: SInt32; {access rights}
  946. ioDirID: SInt32;
  947. end;
  948. AccessParamPtr = ^AccessParam;
  949. type
  950. ObjParam = record
  951. qLink: QElemPtr; {queue link in header}
  952. qType: SInt16; {type byte for safety check}
  953. ioTrap: SInt16; {FS: the Trap}
  954. ioCmdAddr: Ptr; {FS: address to dispatch to}
  955. ioCompletion: IOCompletionUPP; {completion routine addr (0 for synch calls)}
  956. ioResult: {volatile} OSErr; {result code}
  957. ioNamePtr: StringPtr; {ptr to Vol:FileName string}
  958. ioVRefNum: FSVolumeRefNum; {volume refnum (DrvNum for Eject and MountVol)}
  959. filler7: SInt16;
  960. ioObjType: SInt16; {function code}
  961. ioObjNamePtr: StringPtr; {ptr to returned creator/group name}
  962. ioObjID: SInt32; {creator/group ID}
  963. end;
  964. ObjParamPtr = ^ObjParam;
  965. type
  966. CopyParam = record
  967. qLink: QElemPtr; {queue link in header}
  968. qType: SInt16; {type byte for safety check}
  969. ioTrap: SInt16; {FS: the Trap}
  970. ioCmdAddr: Ptr; {FS: address to dispatch to}
  971. ioCompletion: IOCompletionUPP; {completion routine addr (0 for synch calls)}
  972. ioResult: {volatile} OSErr; {result code}
  973. ioNamePtr: StringPtr; {ptr to Vol:FileName string}
  974. ioVRefNum: FSVolumeRefNum; {volume refnum (DrvNum for Eject and MountVol)}
  975. ioDstVRefNum: FSVolumeRefNum; {destination vol identifier}
  976. filler8: SInt16;
  977. ioNewName: StringPtr; {ptr to destination pathname}
  978. ioCopyName: StringPtr; {ptr to optional name}
  979. ioNewDirID: SInt32; {destination directory ID}
  980. filler14: SInt32;
  981. filler15: SInt32;
  982. ioDirID: SInt32;
  983. end;
  984. CopyParamPtr = ^CopyParam;
  985. type
  986. WDParam = record
  987. qLink: QElemPtr; {queue link in header}
  988. qType: SInt16; {type byte for safety check}
  989. ioTrap: SInt16; {FS: the Trap}
  990. ioCmdAddr: Ptr; {FS: address to dispatch to}
  991. ioCompletion: IOCompletionUPP; {completion routine addr (0 for synch calls)}
  992. ioResult: {volatile} OSErr; {result code}
  993. ioNamePtr: StringPtr; {ptr to Vol:FileName string}
  994. ioVRefNum: FSVolumeRefNum; {volume refnum (DrvNum for Eject and MountVol)}
  995. ioWDCreated: SInt16;
  996. ioWDIndex: SInt16;
  997. ioWDProcID: SInt32;
  998. ioWDVRefNum: FSVolumeRefNum;
  999. filler10: SInt16;
  1000. filler11: SInt32;
  1001. filler12: SInt32;
  1002. filler13: SInt32;
  1003. ioWDDirID: SInt32;
  1004. end;
  1005. WDParamPtr = ^WDParam;
  1006. type
  1007. FIDParam = record
  1008. qLink: QElemPtr; {queue link in header}
  1009. qType: SInt16; {type byte for safety check}
  1010. ioTrap: SInt16; {FS: the Trap}
  1011. ioCmdAddr: Ptr; {FS: address to dispatch to}
  1012. ioCompletion: IOCompletionUPP; {completion routine addr (0 for synch calls)}
  1013. ioResult: {volatile} OSErr; {result code}
  1014. ioNamePtr: StringPtr; {ptr to Vol:FileName string}
  1015. ioVRefNum: FSVolumeRefNum; {volume refnum (DrvNum for Eject and MountVol)}
  1016. filler14: SInt32;
  1017. ioDestNamePtr: StringPtr; { dest file name }
  1018. filler15: SInt32;
  1019. ioDestDirID: SInt32; { dest file's directory id }
  1020. filler16: SInt32;
  1021. filler17: SInt32;
  1022. ioSrcDirID: SInt32; { source file's directory id }
  1023. filler18: SInt16;
  1024. ioFileID: SInt32; { file ID }
  1025. end;
  1026. FIDParamPtr = ^FIDParam;
  1027. type
  1028. ForeignPrivParam = record
  1029. qLink: QElemPtr; {queue link in header}
  1030. qType: SInt16; {type byte for safety check}
  1031. ioTrap: SInt16; {FS: the Trap}
  1032. ioCmdAddr: Ptr; {FS: address to dispatch to}
  1033. ioCompletion: IOCompletionUPP; {completion routine addr (0 for synch calls)}
  1034. ioResult: {volatile} OSErr; {result code}
  1035. ioNamePtr: StringPtr; {ptr to Vol:FileName string}
  1036. ioVRefNum: FSVolumeRefNum; {volume refnum (DrvNum for Eject and MountVol)}
  1037. ioFiller21: SInt32;
  1038. ioFiller22: SInt32;
  1039. ioForeignPrivBuffer: Ptr;
  1040. ioForeignPrivActCount: SInt32;
  1041. ioForeignPrivReqCount: SInt32;
  1042. ioFiller23: SInt32;
  1043. ioForeignPrivDirID: SInt32;
  1044. ioForeignPrivInfo1: SInt32;
  1045. ioForeignPrivInfo2: SInt32;
  1046. ioForeignPrivInfo3: SInt32;
  1047. ioForeignPrivInfo4: SInt32;
  1048. end;
  1049. ForeignPrivParamPtr = ^ForeignPrivParam;
  1050. type
  1051. CSParam = record
  1052. qLink: QElemPtr; {queue link in header}
  1053. qType: SInt16; {type byte for safety check}
  1054. ioTrap: SInt16; {FS: the Trap}
  1055. ioCmdAddr: Ptr; {FS: address to dispatch to}
  1056. ioCompletion: IOCompletionUPP; {completion routine addr (0 for synch calls)}
  1057. ioResult: {volatile} OSErr; {result code}
  1058. ioNamePtr: StringPtr; {ptr to Vol:FileName string}
  1059. ioVRefNum: FSVolumeRefNum; {volume refnum (DrvNum for Eject and MountVol)}
  1060. ioMatchPtr: FSSpecPtr; { match array }
  1061. ioReqMatchCount: SInt32; { maximum allowable matches }
  1062. ioActMatchCount: SInt32; { actual match count }
  1063. ioSearchBits: SInt32; { search criteria selector }
  1064. ioSearchInfo1: CInfoPBPtr; { search values and range lower bounds }
  1065. ioSearchInfo2: CInfoPBPtr; { search values and range upper bounds }
  1066. ioSearchTime: SInt32; { length of time to run search }
  1067. ioCatPosition: CatPositionRec; { current position in the catalog }
  1068. ioOptBuffer: Ptr; { optional performance enhancement buffer }
  1069. ioOptBufSize: SInt32; { size of buffer pointed to by ioOptBuffer }
  1070. end;
  1071. CSParamPtr = ^CSParam;
  1072. type
  1073. HParamBlockRecPtr = ^HParamBlockRec;
  1074. HParamBlockRec = record
  1075. qLink: QElemPtr; { queue link in header }
  1076. qType: SInt16; { type byte for safety check }
  1077. ioTrap: SInt16; { FS: the Trap }
  1078. ioCmdAddr: Ptr; { FS: address to dispatch to }
  1079. ioCompletion: IOCompletionUPP; { completion routine addr (0 for synch calls) }
  1080. ioResult: OSErr; { result code }
  1081. ioNamePtr: StringPtr; { ptr to Vol:FileName string }
  1082. ioVRefNum: FSVolumeRefNum; { volume refnum (DrvNum for Eject and MountVol) }
  1083. case SInt16 of
  1084. 0: (
  1085. ioRefNum: FSIORefNum;
  1086. ioVersNum: SInt8;
  1087. ioPermssn: SInt8;
  1088. ioMisc: Ptr;
  1089. ioBuffer: Ptr;
  1090. ioReqCount: SInt32;
  1091. ioActCount: SInt32;
  1092. ioPosMode: SInt16;
  1093. ioPosOffset: SInt32;
  1094. );
  1095. 1: (
  1096. ioFRefNum: FSIORefNum;
  1097. ioFVersNum: SInt8;
  1098. filler1: SInt8;
  1099. ioFDirIndex: SInt16;
  1100. ioFlAttrib: SInt8;
  1101. ioFlVersNum: SInt8;
  1102. ioFlFndrInfo: FInfo;
  1103. ioDirID: SInt32;
  1104. ioFlStBlk: UInt16;
  1105. ioFlLgLen: SInt32;
  1106. ioFlPyLen: SInt32;
  1107. ioFlRStBlk: UInt16;
  1108. ioFlRLgLen: SInt32;
  1109. ioFlRPyLen: SInt32;
  1110. ioFlCrDat: UInt32;
  1111. ioFlMdDat: UInt32;
  1112. );
  1113. 2: (
  1114. filler2: SInt32;
  1115. ioVolIndex: SInt16;
  1116. ioVCrDate: UInt32;
  1117. ioVLsMod: UInt32;
  1118. ioVAtrb: SInt16;
  1119. ioVNmFls: UInt16;
  1120. ioVBitMap: UInt16;
  1121. ioAllocPtr: UInt16;
  1122. ioVNmAlBlks: UInt16;
  1123. ioVAlBlkSiz: UInt32;
  1124. ioVClpSiz: UInt32;
  1125. ioAlBlSt: UInt16;
  1126. ioVNxtCNID: UInt32;
  1127. ioVFrBlk: UInt16;
  1128. ioVSigWord: UInt16;
  1129. ioVDrvInfo: SInt16;
  1130. ioVDRefNum: FSIORefNum;
  1131. ioVFSID: SInt16;
  1132. ioVBkUp: UInt32;
  1133. ioVSeqNum: UInt16;
  1134. ioVWrCnt: UInt32;
  1135. ioVFilCnt: UInt32;
  1136. ioVDirCnt: UInt32;
  1137. ioVFndrInfo: array [1..8] of SInt32;
  1138. );
  1139. 3: (
  1140. filler3: SInt16;
  1141. ioDenyModes: SInt16; { access rights data }
  1142. filler4: SInt16;
  1143. filler5: SInt8;
  1144. ioACUser: SInt8; { access rights for directory only }
  1145. filler6: SInt32;
  1146. ioACOwnerID: SInt32; { owner ID }
  1147. ioACGroupID: SInt32; { group ID }
  1148. ioACAccess: SInt32; { access rights }
  1149. { ioDirID: SInt32; -- since this struct is only defined for 32 bit targets, the ioDirID field from case 1 will be at the same address }
  1150. );
  1151. 4: (
  1152. filler7: SInt16;
  1153. ioObjType: SInt16; { function code }
  1154. ioObjNamePtr: StringPtr; { ptr to returned creator/group name }
  1155. ioObjID: SInt32; { creator/group ID }
  1156. );
  1157. 5: (
  1158. ioDstVRefNum: SInt16; { destination vol identifier }
  1159. filler8: SInt16;
  1160. ioNewName: StringPtr; { ptr to destination pathname }
  1161. ioCopyName: StringPtr; { ptr to optional name }
  1162. ioNewDirID: SInt32; { destination directory ID }
  1163. { filler14: SInt32;
  1164. filler15: SInt32;
  1165. ioDirID: SInt32; -- since this struct is only defined for 32 bit targets, the ioDirID field from case 1 will be at the same address }
  1166. );
  1167. 6: (
  1168. ioWDCreated: SInt16;
  1169. ioWDIndex: SInt16;
  1170. ioWDProcID: SInt32;
  1171. ioWDVRefNum: FSVolumeRefNum;
  1172. filler10: SInt16;
  1173. filler11: SInt32;
  1174. filler12: SInt32;
  1175. filler13: SInt32;
  1176. ioWDDirID: SInt32;
  1177. );
  1178. 7: (
  1179. filler14: SInt32;
  1180. ioDestNamePtr: StringPtr; { dest file name }
  1181. filler15: SInt32;
  1182. ioDestDirID: SInt32; { dest file's directory id }
  1183. filler16: SInt32;
  1184. filler17: SInt32;
  1185. ioSrcDirID: SInt32; { source file's directory id }
  1186. filler18: SInt16;
  1187. ioFileID: SInt32; { file ID }
  1188. );
  1189. 8: (
  1190. ioMatchPtr: FSSpecPtr; { match array }
  1191. ioReqMatchCount: SInt32; { maximum allowable matches }
  1192. ioActMatchCount: SInt32; { actual match count }
  1193. ioSearchBits: SInt32; { search criteria selector }
  1194. ioSearchInfo1: CInfoPBPtr; { search values and range lower bounds }
  1195. ioSearchInfo2: CInfoPBPtr; { search values and range upper bounds }
  1196. ioSearchTime: SInt32; { length of time to run search }
  1197. ioCatPosition: CatPositionRec; { current position in the catalog }
  1198. ioOptBuffer: Ptr; { optional performance enhancement buffer }
  1199. ioOptBufSize: SInt32; { size of buffer pointed to by ioOptBuffer }
  1200. );
  1201. 9: (
  1202. ioFiller21: SInt32;
  1203. ioFiller22: SInt32;
  1204. ioForeignPrivBuffer: Ptr;
  1205. ioForeignPrivActCount: SInt32;
  1206. ioForeignPrivReqCount: SInt32;
  1207. ioFiller23: SInt32;
  1208. ioForeignPrivDirID: SInt32;
  1209. ioForeignPrivInfo1: SInt32;
  1210. ioForeignPrivInfo2: SInt32;
  1211. ioForeignPrivInfo3: SInt32;
  1212. ioForeignPrivInfo4: SInt32;
  1213. );
  1214. end;
  1215. HParmBlkPtr = ^HParamBlockRec;
  1216. type
  1217. CMovePBRecPtr = ^CMovePBRec;
  1218. CMovePBRec = record
  1219. qLink: QElemPtr; {queue link in header}
  1220. qType: SInt16; {type byte for safety check}
  1221. ioTrap: SInt16; {FS: the Trap}
  1222. ioCmdAddr: Ptr; {FS: address to dispatch to}
  1223. ioCompletion: IOCompletionUPP; {completion routine addr (0 for synch calls)}
  1224. ioResult: {volatile} OSErr; {result code}
  1225. ioNamePtr: StringPtr; {ptr to Vol:FileName string}
  1226. ioVRefNum: FSVolumeRefNum; {volume refnum (DrvNum for Eject and MountVol)}
  1227. filler1: SInt32;
  1228. ioNewName: StringPtr;
  1229. filler2: SInt32;
  1230. ioNewDirID: SInt32;
  1231. filler3: array [1..2] of SInt32;
  1232. ioDirID: SInt32;
  1233. end;
  1234. CMovePBPtr = CMovePBRecPtr;
  1235. WDPBRecPtr = ^WDPBRec;
  1236. WDPBRec = record
  1237. qLink: QElemPtr; {queue link in header}
  1238. qType: SInt16; {type byte for safety check}
  1239. ioTrap: SInt16; {FS: the Trap}
  1240. ioCmdAddr: Ptr; {FS: address to dispatch to}
  1241. ioCompletion: IOCompletionUPP; {completion routine addr (0 for synch calls)}
  1242. ioResult: {volatile} OSErr; {result code}
  1243. ioNamePtr: StringPtr; {ptr to Vol:FileName string}
  1244. ioVRefNum: FSVolumeRefNum; {volume refnum (DrvNum for Eject and MountVol)}
  1245. filler1: SInt16;
  1246. ioWDIndex: SInt16;
  1247. ioWDProcID: SInt32;
  1248. ioWDVRefNum: FSVolumeRefNum;
  1249. filler2: array [1..7] of SInt16;
  1250. ioWDDirID: SInt32;
  1251. end;
  1252. type
  1253. WDPBPtr = WDPBRecPtr;
  1254. FCBPBRecPtr = ^FCBPBRec;
  1255. FCBPBRec = record
  1256. qLink: QElemPtr; {queue link in header}
  1257. qType: SInt16; {type byte for safety check}
  1258. ioTrap: SInt16; {FS: the Trap}
  1259. ioCmdAddr: Ptr; {FS: address to dispatch to}
  1260. ioCompletion: IOCompletionUPP; {completion routine addr (0 for synch calls)}
  1261. ioResult: {volatile} OSErr; {result code}
  1262. ioNamePtr: StringPtr; {ptr to Vol:FileName string}
  1263. ioVRefNum: FSVolumeRefNum; {volume refnum (DrvNum for Eject and MountVol)}
  1264. ioRefNum: FSIORefNum;
  1265. filler: SInt16;
  1266. ioFCBIndx: SInt16;
  1267. filler1: SInt16;
  1268. ioFCBFlNm: SInt32;
  1269. ioFCBFlags: SInt16;
  1270. ioFCBStBlk: UInt16;
  1271. ioFCBEOF: SInt32;
  1272. ioFCBPLen: SInt32;
  1273. ioFCBCrPs: SInt32;
  1274. ioFCBVRefNum: FSVolumeRefNum;
  1275. ioFCBClpSiz: SInt32;
  1276. ioFCBParID: SInt32;
  1277. end;
  1278. type
  1279. FCBPBPtr = FCBPBRecPtr;
  1280. VCB = record
  1281. qLink: QElemPtr;
  1282. qType: SInt16;
  1283. vcbFlags: SInt16;
  1284. vcbSigWord: UInt16;
  1285. vcbCrDate: UInt32;
  1286. vcbLsMod: UInt32;
  1287. vcbAtrb: SInt16;
  1288. vcbNmFls: UInt16;
  1289. vcbVBMSt: SInt16;
  1290. vcbAllocPtr: SInt16;
  1291. vcbNmAlBlks: UInt16;
  1292. vcbAlBlkSiz: SInt32;
  1293. vcbClpSiz: SInt32;
  1294. vcbAlBlSt: SInt16;
  1295. vcbNxtCNID: SInt32;
  1296. vcbFreeBks: UInt16;
  1297. vcbVN: Str27;
  1298. vcbDrvNum: SInt16;
  1299. vcbDRefNum: FSIORefNum;
  1300. vcbFSID: SInt16;
  1301. vcbVRefNum: FSVolumeRefNum;
  1302. vcbMAdr: Ptr;
  1303. vcbBufAdr: Ptr;
  1304. vcbMLen: SInt16;
  1305. vcbDirIndex: SInt16;
  1306. vcbDirBlk: SInt16;
  1307. vcbVolBkUp: UInt32;
  1308. vcbVSeqNum: UInt16;
  1309. vcbWrCnt: SInt32;
  1310. vcbXTClpSiz: SInt32;
  1311. vcbCTClpSiz: SInt32;
  1312. vcbNmRtDirs: UInt16;
  1313. vcbFilCnt: SInt32;
  1314. vcbDirCnt: SInt32;
  1315. vcbFndrInfo: array [1..8] of SInt32;
  1316. vcbVCSize: UInt16;
  1317. vcbVBMCSiz: UInt16;
  1318. vcbCtlCSiz: UInt16;
  1319. vcbXTAlBlks: UInt16;
  1320. vcbCTAlBlks: UInt16;
  1321. vcbXTRef: SInt16;
  1322. vcbCTRef: SInt16;
  1323. vcbCtlBuf: Ptr;
  1324. vcbDirIDM: SInt32;
  1325. vcbOffsM: SInt16;
  1326. end;
  1327. VCBPtr = ^VCB;
  1328. type
  1329. DrvQEl = record
  1330. qLink: QElemPtr;
  1331. qType: SInt16;
  1332. dQDrive: SInt16;
  1333. dQRefNum: SInt16;
  1334. dQFSID: SInt16;
  1335. dQDrvSz: UInt16;
  1336. dQDrvSz2: UInt16;
  1337. end;
  1338. DrvQElPtr = ^DrvQEl;
  1339. {$endc} {not TARGET_CPU_64}
  1340. {
  1341. * FSPermissionInfo
  1342. *
  1343. * Discussion:
  1344. * This structure is used when kFSCatInfoPermissions is passed to
  1345. * the HFSPlus API. On return from GetCatalogInfo and
  1346. * GetCatalogInfoBulk, the userID, groupID, and mode fields are
  1347. * returned. When passed to SetCatalogInfo, only the mode field is
  1348. * set. See chmod(2) for details about the mode field. This is
  1349. * supported on Mac OS X only. NOTE: An FSFileSecurityRef retrieved
  1350. * via FSGetCatalogInfo is a copy and must be released using
  1351. * CFRelease() when no longer needed.
  1352. }
  1353. type
  1354. FSPermissionInfoPtr = ^FSPermissionInfo;
  1355. FSPermissionInfo = record
  1356. userID: UInt32;
  1357. groupID: UInt32;
  1358. reserved1: UInt8;
  1359. userAccess: UInt8;
  1360. mode: UInt16;
  1361. fileSec: FSFileSecurityRef;
  1362. end;
  1363. { CatalogInfoBitmap describes which fields of the CatalogInfo you wish to get or set.}
  1364. type
  1365. FSCatalogInfoBitmap = UInt32;
  1366. const
  1367. kFSCatInfoNone = $00000000;
  1368. kFSCatInfoTextEncoding = $00000001;
  1369. kFSCatInfoNodeFlags = $00000002; { Locked (bit 0) and directory (bit 4) only }
  1370. kFSCatInfoVolume = $00000004;
  1371. kFSCatInfoParentDirID = $00000008;
  1372. kFSCatInfoNodeID = $00000010;
  1373. kFSCatInfoCreateDate = $00000020;
  1374. kFSCatInfoContentMod = $00000040;
  1375. kFSCatInfoAttrMod = $00000080;
  1376. kFSCatInfoAccessDate = $00000100; { Note: although included in kFSCatInfoSettableInfo, attempts to set kFSCatInfoAccessDate will do nothing but will not cause an error }
  1377. kFSCatInfoBackupDate = $00000200;
  1378. kFSCatInfoPermissions = $00000400;
  1379. kFSCatInfoFinderInfo = $00000800;
  1380. kFSCatInfoFinderXInfo = $00001000;
  1381. kFSCatInfoValence = $00002000; { Folders only, zero for files }
  1382. kFSCatInfoDataSizes = $00004000; { Data fork logical and physical size }
  1383. kFSCatInfoRsrcSizes = $00008000; { Resource fork logical and physical size }
  1384. kFSCatInfoSharingFlags = $00010000; { sharingFlags: kioFlAttribMountedBit, kioFlAttribSharePointBit }
  1385. kFSCatInfoUserPrivs = $00020000; { userPrivileges }
  1386. kFSCatInfoUserAccess = $00080000; { (OS X only) }
  1387. kFSCatInfoSetOwnership = $00100000; { (OS X only) }
  1388. kFSCatInfoFSFileSecurityRef = $00400000; { FSFileSecurity Object, will show up in the permissions field independent of kFSCatInfoPermissions. This is also not part of settable, gettable since it requires being released }
  1389. kFSCatInfoAllDates = $000003E0;
  1390. kFSCatInfoGettableInfo = $0003FFFF;
  1391. kFSCatInfoSettableInfo = $00001FE3; { flags, dates, permissions, Finder info, text encoding }
  1392. kFSCatInfoReserved = -262144 ; { SInt32($FFFC0000) -- bits that are currently reserved }
  1393. { Constants for nodeFlags field of FSCatalogInfo }
  1394. const
  1395. kFSNodeLockedBit = 0; { Set if file or directory is locked }
  1396. kFSNodeLockedMask = $0001;
  1397. kFSNodeResOpenBit = 2; { Set if the resource fork is open }
  1398. kFSNodeResOpenMask = $0004;
  1399. kFSNodeDataOpenBit = 3; { Set if the data fork is open }
  1400. kFSNodeDataOpenMask = $0008;
  1401. kFSNodeIsDirectoryBit = 4; { Set if the object is a directory }
  1402. kFSNodeIsDirectoryMask = $0010;
  1403. kFSNodeCopyProtectBit = 6;
  1404. kFSNodeCopyProtectMask = $0040;
  1405. kFSNodeForkOpenBit = 7; { Set if the file or directory has any open fork }
  1406. kFSNodeForkOpenMask = $0080;
  1407. kFSNodeHardLinkBit = 8; { Set if the file or directory has a link count > 1 }
  1408. kFSNodeHardLinkMask = $00000100;
  1409. { Constants for sharingFlags field of FSCatalogInfo }
  1410. const
  1411. kFSNodeInSharedBit = 2; { Set if a directory is within a share point }
  1412. kFSNodeInSharedMask = $0004;
  1413. kFSNodeIsMountedBit = 3; { Set if a directory is a share point currently mounted by some user }
  1414. kFSNodeIsMountedMask = $0008;
  1415. kFSNodeIsSharePointBit = 5; { Set if a directory is a share point (exported volume) }
  1416. kFSNodeIsSharePointMask = $0020;
  1417. {$ifc TARGET_CPU_64}
  1418. {
  1419. * FSCatalogInfo
  1420. *
  1421. * Discussion:
  1422. * For each of the items in this structure, if the given bit is set
  1423. * in the whichInfo paramater to the FSGetCatalogInfo call then the
  1424. * field will be filled in on return. Some fields which are not
  1425. * asked for my be returned as well, but do not depend on this
  1426. * behaviour.
  1427. }
  1428. type
  1429. FSCatalogInfoPtr = ^FSCatalogInfo;
  1430. FSCatalogInfo = record
  1431. {
  1432. * kFSCatInfoNodeFlags / flag bits set if the file is locked, open,
  1433. * is a directory, etc.
  1434. }
  1435. nodeFlags: UInt16; { node flags }
  1436. {
  1437. * kFSCatInfoVolume / the volume reference of the returned item
  1438. }
  1439. volume: FSVolumeRefNum; { object's volume ref }
  1440. {
  1441. * kFSCatInfoParentDirID / the directory id of the parent of the
  1442. * returned item
  1443. }
  1444. parentDirID: UInt32; { parent directory's ID }
  1445. {
  1446. * kFSCatInfoNodeID / the file id of the returned item
  1447. }
  1448. nodeID: UInt32; { file/directory ID }
  1449. {
  1450. * kFSCatInfoSharingFlags / kioFlAttribMountedBit,
  1451. * kioFlAttribSharePointBit
  1452. }
  1453. sharingFlags: UInt8; { kioFlAttribMountedBit and kioFlAttribSharePointBit }
  1454. userPrivileges: UInt8; { user's effective AFP privileges (same as ioACUser) }
  1455. reserved1: UInt8;
  1456. {
  1457. * Unused
  1458. }
  1459. reserved2: UInt8;
  1460. {
  1461. * kFSCatInfoCreateDate / date and time of creation
  1462. }
  1463. createDate: UTCDateTime; { date and time of creation }
  1464. {
  1465. * kFSCatInfoContentMod / date and time of last modification of the
  1466. * content of the returned item
  1467. }
  1468. contentModDate: UTCDateTime; { date and time of last fork modification }
  1469. {
  1470. * kFSCatInfoAttrMod / date and time of the last modification of the
  1471. * attributes of the returned item
  1472. }
  1473. attributeModDate: UTCDateTime; { date and time of last attribute modification }
  1474. {
  1475. * kFSCatInfoAccessDate / date and time of the last access to the
  1476. * returned item
  1477. }
  1478. accessDate: UTCDateTime; { date and time of last access (for Mac OS X) }
  1479. {
  1480. * kFSCatInfoBackupDate / date and time of the last backup for the
  1481. * returned item
  1482. }
  1483. backupDate: UTCDateTime; { date and time of last backup }
  1484. {
  1485. * kFSCatInfoPermissions / Mac OS X only, file system permissions of
  1486. * the returned item. Coerce to a FSPermissionInfo to use.
  1487. }
  1488. permissions: FSPermissionInfo; { permissions (for Mac OS X), as FSPermissionInfo }
  1489. {
  1490. * kFSCatInfoFinderInfo / file type, creator, flags, location.
  1491. * Coerce to a File/FolderInfo to use.
  1492. }
  1493. finderInfo: packed array [0..15] of UInt8; { Finder information part 1, as FileInfo or FolderInfo }
  1494. {
  1495. * kFSCatInfoFinderXInfo / icon, script, et al. Coerce to a
  1496. * ExtendedFile/FolderInfo to use.
  1497. }
  1498. extFinderInfo: packed array [0..15] of UInt8; { Finder information part 2, as ExtendedFileInfo or ExtendedFolderInfo }
  1499. {
  1500. * kFSCatInfoDataSizes / the logical size of the data fork of the
  1501. * returned item if a file
  1502. }
  1503. dataLogicalSize: UInt64; { files only }
  1504. {
  1505. * kFSCatInfoDataSizes / the physical size of the data fork of the
  1506. * returned item if a file
  1507. }
  1508. dataPhysicalSize: UInt64; { files only }
  1509. {
  1510. * kFSCatInfoRsrcSizes / the logical size of the resource fork of the
  1511. * returned item if a file
  1512. }
  1513. rsrcLogicalSize: UInt64; { files only }
  1514. {
  1515. * kFSCatInfoRsrcSizes / the physical size of the resource fork of
  1516. * the returned item if a file
  1517. }
  1518. rsrcPhysicalSize: UInt64; { files only }
  1519. {
  1520. * kFSCatInfoValence / folders only, zero for files.
  1521. }
  1522. valence: UInt32; { folders only }
  1523. {
  1524. * kFSCatInfoTextEncoding / the text encoding hint for the returned
  1525. * item
  1526. }
  1527. textEncodingHint: TextEncoding;
  1528. end;
  1529. {$elsec}
  1530. type
  1531. FSCatalogInfoPtr = ^FSCatalogInfo;
  1532. FSCatalogInfo = record
  1533. nodeFlags: UInt16; { node flags }
  1534. volume: FSVolumeRefNum; { object's volume ref }
  1535. parentDirID: UInt32; { parent directory's ID }
  1536. nodeID: UInt32; { file/directory ID }
  1537. sharingFlags: UInt8; { kioFlAttribMountedBit and kioFlAttribSharePointBit }
  1538. userPrivileges: UInt8; { user's effective AFP privileges (same as ioACUser) }
  1539. reserved1: UInt8;
  1540. reserved2: UInt8;
  1541. createDate: UTCDateTime; { date and time of creation }
  1542. contentModDate: UTCDateTime; { date and time of last fork modification }
  1543. attributeModDate: UTCDateTime; { date and time of last attribute modification }
  1544. accessDate: UTCDateTime; { date and time of last access (for Mac OS X) }
  1545. backupDate: UTCDateTime; { date and time of last backup }
  1546. permissions: array [0..3] of UInt32; { permissions (for Mac OS X) }
  1547. finderInfo: packed array [0..15] of UInt8; { Finder information part 1 }
  1548. extFinderInfo: packed array [0..15] of UInt8; { Finder information part 2 }
  1549. dataLogicalSize: UInt64; { files only }
  1550. dataPhysicalSize: UInt64; { files only }
  1551. rsrcLogicalSize: UInt64; { files only }
  1552. rsrcPhysicalSize: UInt64; { files only }
  1553. valence: UInt32; { folders only }
  1554. textEncodingHint: TextEncoding;
  1555. end;
  1556. {$endc} {TARGET_CPU_64}
  1557. type
  1558. FSRefParam = record
  1559. qLink: QElemPtr; {queue link in header}
  1560. qType: SInt16; {type byte for safety check}
  1561. ioTrap: SInt16; {FS: the Trap}
  1562. ioCmdAddr: Ptr; {FS: address to dispatch to}
  1563. ioCompletion: IOCompletionUPP; {completion routine addr (0 for synch calls)}
  1564. ioResult: {volatile} OSErr; {result code}
  1565. ioNamePtr: ConstStringPtr; {ptr to Vol:FileName string}
  1566. ioVRefNum: FSVolumeRefNum; {volume refnum (DrvNum for Eject and MountVol)}
  1567. reserved1: SInt16; { was ioRefNum }
  1568. reserved2: UInt8; { was ioVersNum }
  1569. reserved3: UInt8; { was ioPermssn }
  1570. ref: {const} FSRefPtr; { Input ref; the target of the call }
  1571. whichInfo: FSCatalogInfoBitmap;
  1572. catInfo: FSCatalogInfoPtr;
  1573. nameLength: UniCharCount; { input name length for create/rename }
  1574. name: {const} UniCharPtr; { input name for create/rename }
  1575. ioDirID: UInt32;
  1576. spec: FSSpecPtr;
  1577. parentRef: FSRefPtr; { ref of directory to move another ref to }
  1578. newRef: FSRefPtr; { Output ref }
  1579. textEncodingHint: TextEncoding; { for Rename, MakeFSRefUnicode }
  1580. outName: HFSUniStr255Ptr; { Output name for GetCatalogInfo }
  1581. end;
  1582. FSRefParamPtr = ^FSRefParam;
  1583. { for use with PBCreateFileAndOpenFork}
  1584. type
  1585. FSRefForkIOParam = record
  1586. qLink: QElemPtr; {queue link in header}
  1587. qType: SInt16; {type byte for safety check}
  1588. ioTrap: SInt16; {FS: the Trap}
  1589. ioCmdAddr: Ptr; {FS: address to dispatch to}
  1590. ioCompletion: IOCompletionUPP; {completion routine addr (0 for synch calls)}
  1591. ioResult: {volatile} OSErr; {result code}
  1592. parentRef: {const} FSRefPtr; { ref of directory to move another ref to }
  1593. nameLength: UniCharCount; { input name length for create/rename }
  1594. name: {const} UniCharPtr; { input name for create/rename }
  1595. whichInfo: FSCatalogInfoBitmap;
  1596. catInfo: {const} FSCatalogInfoPtr;
  1597. forkNameLength: UniCharCount; { input; length of fork name }
  1598. forkName: {const} UniCharPtr; { input; name of fork (NULL indicates data fork) }
  1599. permissions: SInt8; { desired access to the fork }
  1600. reserved1: UInt8;
  1601. forkRefNum: FSIORefNum; { Output refNum of newly opened fork }
  1602. newRef: FSRefPtr; { Output ref }
  1603. end;
  1604. FSRefForkIOParamPtr = ^FSRefForkIOParam;
  1605. type
  1606. FSIterator = ^OpaqueFSIterator; { an opaque type }
  1607. OpaqueFSIterator = record end;
  1608. FSIteratorPtr = ^FSIterator; { when a var xx:FSIterator parameter can be nil, it is changed to xx: FSIteratorPtr }
  1609. const
  1610. kFSIterateFlat = 0; { Immediate children of container only }
  1611. kFSIterateSubtree = 1; { Entire subtree rooted at container }
  1612. kFSIterateDelete = 2;
  1613. kFSIterateReserved = -4; { SInt32($FFFFFFFC) }
  1614. type
  1615. FSIteratorFlags = OptionBits;
  1616. FSSearchParams = record
  1617. searchTime: Duration; { a Time Manager duration }
  1618. searchBits: OptionBits; { which fields to search on }
  1619. searchNameLength: UniCharCount;
  1620. searchName: {const} UniCharPtr;
  1621. searchInfo1: FSCatalogInfoPtr; { values and lower bounds }
  1622. searchInfo2: FSCatalogInfoPtr; { masks and upper bounds }
  1623. end;
  1624. FSSearchParamsPtr = ^FSSearchParams;
  1625. type
  1626. FSCatalogBulkParam = record
  1627. qLink: QElemPtr; {queue link in header}
  1628. qType: SInt16; {type byte for safety check}
  1629. ioTrap: SInt16; {FS: the Trap}
  1630. ioCmdAddr: Ptr; {FS: address to dispatch to}
  1631. ioCompletion: IOCompletionUPP; {completion routine addr (0 for synch calls)}
  1632. ioResult: {volatile} OSErr; {result code}
  1633. containerChanged: Boolean; { true if container changed since last iteration }
  1634. reserved: UInt8; { make following fields 4-byte aligned }
  1635. iteratorFlags: FSIteratorFlags;
  1636. iterator: FSIterator;
  1637. container: {const} FSRefPtr; { directory/volume to iterate }
  1638. maximumItems: ItemCount;
  1639. actualItems: ItemCount;
  1640. whichInfo: FSCatalogInfoBitmap;
  1641. catalogInfo: FSCatalogInfoPtr; { returns an array }
  1642. refs: FSRefPtr; { returns an array }
  1643. specs: FSSpecPtr; { returns an array }
  1644. names: HFSUniStr255Ptr; { returns an array }
  1645. searchParams: {const} FSSearchParamsPtr;
  1646. end;
  1647. FSCatalogBulkParamPtr = ^FSCatalogBulkParam;
  1648. type
  1649. FSAllocationFlags = UInt16;
  1650. const
  1651. kFSAllocDefaultFlags = $0000; { as much as possible, not contiguous }
  1652. kFSAllocAllOrNothingMask = $0001; { allocate all of the space, or nothing }
  1653. kFSAllocContiguousMask = $0002; { new space must be one contiguous piece }
  1654. kFSAllocNoRoundUpMask = $0004; { don't round up allocation to clump size }
  1655. kFSAllocReservedMask = $FFF8; { these bits are reserved and must not be set }
  1656. type
  1657. FSForkIOParam = record
  1658. qLink: QElemPtr; {queue link in header}
  1659. qType: SInt16; {type byte for safety check}
  1660. ioTrap: SInt16; {FS: the Trap}
  1661. ioCmdAddr: Ptr; {FS: address to dispatch to}
  1662. ioCompletion: IOCompletionUPP; {completion routine addr (0 for synch calls)}
  1663. ioResult: {volatile} OSErr; {result code}
  1664. reserved1: UnivPtr; { was ioNamePtr }
  1665. reserved2: SInt16; { was ioVRefNum }
  1666. forkRefNum: FSIORefNum; { same as ioRefNum }
  1667. reserved3: UInt8; { was ioVersNum }
  1668. permissions: SInt8; { desired access to the fork }
  1669. ref: {const} FSRefPtr; { which object to open }
  1670. buffer: Ptr; {data buffer Ptr}
  1671. requestCount: UInt32; {requested byte count}
  1672. actualCount: UInt32; {actual byte count completed}
  1673. positionMode: UInt16; {initial file positioning}
  1674. positionOffset: SInt64; {file position offset}
  1675. allocationFlags: FSAllocationFlags;
  1676. allocationAmount: UInt64;
  1677. forkNameLength: UniCharCount; { input; length of fork name }
  1678. forkName: {const} UniCharPtr; { input; name of fork }
  1679. forkIterator: CatPositionRec;
  1680. outForkName: HFSUniStr255Ptr; { output; name of fork }
  1681. end;
  1682. FSForkIOParamPtr = ^FSForkIOParam;
  1683. type
  1684. FSForkInfoFlags = UInt8;
  1685. FSForkInfo = record
  1686. flags: FSForkInfoFlags; { copy of FCB flags }
  1687. permissions: SInt8;
  1688. volume: FSVolumeRefNum;
  1689. reserved2: UInt32;
  1690. nodeID: UInt32; { file or directory ID }
  1691. forkID: UInt32; { fork ID }
  1692. currentPosition: UInt64;
  1693. logicalEOF: UInt64;
  1694. physicalEOF: UInt64;
  1695. process: UInt64; { should be ProcessSerialNumber }
  1696. end;
  1697. FSForkInfoPtr = ^FSForkInfo;
  1698. type
  1699. FSForkCBInfoParam = record
  1700. qLink: QElemPtr; {queue link in header}
  1701. qType: SInt16; {type byte for safety check}
  1702. ioTrap: SInt16; {FS: the Trap}
  1703. ioCmdAddr: Ptr; {FS: address to dispatch to}
  1704. ioCompletion: IOCompletionUPP; {completion routine addr (0 for synch calls)}
  1705. ioResult: {volatile} OSErr; {result code}
  1706. desiredRefNum: FSIORefNum; { 0 to iterate, non-0 for specific refnum }
  1707. volumeRefNum: FSVolumeRefNum; { volume to match, or 0 for all volumes }
  1708. iterator: FSIORefNum; { 0 to start iteration }
  1709. actualRefNum: FSVolumeRefNum; { actual refnum found }
  1710. ref: FSRefPtr;
  1711. forkInfo: FSForkInfoPtr;
  1712. forkName: HFSUniStr255Ptr;
  1713. end;
  1714. FSForkCBInfoParamPtr = ^FSForkCBInfoParam;
  1715. { Parameter block for use with 64 bit range lock calls.}
  1716. type
  1717. FSRangeLockParam = record
  1718. qLink: QElemPtr; {queue link in header}
  1719. qType: SInt16; {type byte for safety check}
  1720. ioTrap: SInt16; {FS: the Trap}
  1721. ioCmdAddr: Ptr; {FS: address to dispatch to}
  1722. ioCompletion: IOCompletionUPP; {completion routine addr (0 for synch calls)}
  1723. ioResult: {volatile} OSErr; {result code}
  1724. forkRefNum: FSIORefNum; { fork to operate on }
  1725. requestCount: UInt64; {requested byte count}
  1726. positionMode: UInt16; {initial file positioning}
  1727. positionOffset: SInt64; {file position offset}
  1728. rangeStart: UInt64; { byte number of first byte (un)locked }
  1729. end;
  1730. FSRangeLockParamPtr = ^FSRangeLockParam;
  1731. type
  1732. FSVolumeInfoBitmap = UInt32;
  1733. const
  1734. kFSVolInfoNone = $0000;
  1735. kFSVolInfoCreateDate = $0001;
  1736. kFSVolInfoModDate = $0002;
  1737. kFSVolInfoBackupDate = $0004;
  1738. kFSVolInfoCheckedDate = $0008;
  1739. kFSVolInfoFileCount = $0010;
  1740. kFSVolInfoDirCount = $0020;
  1741. kFSVolInfoSizes = $0040; { totalBytes and freeBytes }
  1742. kFSVolInfoBlocks = $0080; { blockSize, totalBlocks, freeBlocks }
  1743. kFSVolInfoNextAlloc = $0100;
  1744. kFSVolInfoRsrcClump = $0200;
  1745. kFSVolInfoDataClump = $0400;
  1746. kFSVolInfoNextID = $0800;
  1747. kFSVolInfoFinderInfo = $1000;
  1748. kFSVolInfoFlags = $2000;
  1749. kFSVolInfoFSInfo = $4000; { filesystemID, signature }
  1750. kFSVolInfoDriveInfo = $8000; { driveNumber, driverRefNum }
  1751. kFSVolInfoGettableInfo = $FFFF; { This seems like it is here just for completeness }
  1752. kFSVolInfoSettableInfo = $3004; { backup date, Finder info, flags }
  1753. { FSVolumeInfo.flags bits. These are the same as for ioVAtrb, but with nicer names. }
  1754. const
  1755. kFSVolFlagDefaultVolumeBit = 5; { Set if the volume is the default volume }
  1756. kFSVolFlagDefaultVolumeMask = $0020;
  1757. kFSVolFlagFilesOpenBit = 6; { Set if there are open files or iterators }
  1758. kFSVolFlagFilesOpenMask = $0040;
  1759. kFSVolFlagHardwareLockedBit = 7; { Set if volume is locked by a hardware setting }
  1760. kFSVolFlagHardwareLockedMask = $0080;
  1761. kFSVolFlagJournalingActiveBit = 14; { Set if journaling is active on volume }
  1762. kFSVolFlagJournalingActiveMask = $4000;
  1763. kFSVolFlagSoftwareLockedBit = 15; { Set if volume is locked by software }
  1764. kFSVolFlagSoftwareLockedMask = $8000;
  1765. type
  1766. FSVolumeInfo = record
  1767. { Dates -- zero means "never" or "unknown" }
  1768. createDate: UTCDateTime;
  1769. modifyDate: UTCDateTime;
  1770. backupDate: UTCDateTime;
  1771. checkedDate: UTCDateTime;
  1772. { File/Folder counts -- return zero if unknown }
  1773. fileCount: UInt32; { total files on volume }
  1774. folderCount: UInt32; { total folders on volume }
  1775. { Note: no root directory counts }
  1776. totalBytes: UInt64; { total number of bytes on volume }
  1777. freeBytes: UInt64; { number of free bytes on volume }
  1778. { HFS and HFS Plus specific. Set fields to zero if not appropriate }
  1779. blockSize: UInt32; { size (in bytes) of allocation blocks }
  1780. totalBlocks: UInt32; { number of allocation blocks in volume }
  1781. freeBlocks: UInt32; { number of unused allocation blocks }
  1782. nextAllocation: UInt32; { start of next allocation search }
  1783. rsrcClumpSize: UInt32; { default resource fork clump size }
  1784. dataClumpSize: UInt32; { default data fork clump size }
  1785. nextCatalogID: UInt32; { next unused catalog node ID ¥¥¥ OYG ¥¥¥ need to make HFSVolumes.h work Should be HFSCatalogNodeID}
  1786. finderInfo: packed array [0..31] of UInt8; { information used by Finder }
  1787. { Identifying information }
  1788. flags: UInt16; { ioVAtrb }
  1789. filesystemID: UInt16; { ioVFSID }
  1790. signature: UInt16; { ioVSigWord, unique within an FSID }
  1791. driveNumber: UInt16; { ioVDrvInfo }
  1792. driverRefNum: FSIORefNum; { ioVDRefNum }
  1793. end;
  1794. FSVolumeInfoPtr = ^FSVolumeInfo;
  1795. type
  1796. FSVolumeInfoParam = record
  1797. qLink: QElemPtr; {queue link in header}
  1798. qType: SInt16; {type byte for safety check}
  1799. ioTrap: SInt16; {FS: the Trap}
  1800. ioCmdAddr: Ptr; {FS: address to dispatch to}
  1801. ioCompletion: IOCompletionUPP; {completion routine addr (0 for synch calls)}
  1802. ioResult: {volatile} OSErr; {result code}
  1803. ioNamePtr: StringPtr; { unused }
  1804. ioVRefNum: FSVolumeRefNum; { volume refnum }
  1805. volumeIndex: UInt32; { index, or 0 to use ioVRefNum }
  1806. whichInfo: FSVolumeInfoBitmap; { which volumeInfo fields to get/set }
  1807. volumeInfo: FSVolumeInfoPtr; { information about the volume }
  1808. volumeName: HFSUniStr255Ptr; { output; pointer to volume name }
  1809. ref: FSRefPtr; { volume's FSRef }
  1810. end;
  1811. FSVolumeInfoParamPtr = ^FSVolumeInfoParam;
  1812. type
  1813. GetVolParmsInfoBuffer = record
  1814. vMVersion: SInt16; {version number}
  1815. vMAttrib: SInt32; {bit vector of attributes (see vMAttrib constants)}
  1816. vMLocalHand: Handle; {handle to private data}
  1817. vMServerAdr: SInt32; {AppleTalk server address or zero}
  1818. { vMVersion 1 GetVolParmsInfoBuffer ends here }
  1819. vMVolumeGrade: SInt32; {approx. speed rating or zero if unrated}
  1820. vMForeignPrivID: SInt16; {foreign privilege model supported or zero if none}
  1821. { vMVersion 2 GetVolParmsInfoBuffer ends here }
  1822. vMExtendedAttributes: SInt32; {extended attribute bits (see vMExtendedAttributes constants)}
  1823. { vMVersion 3 GetVolParmsInfoBuffer ends here }
  1824. vMDeviceID: UnivPtr; { device id name for interoperability with IOKit }
  1825. { vMVersion 4 GetVolParmsInfoBuffer ends here }
  1826. vMMaxNameLength: UniCharCount;
  1827. { vMVersion 5 GetVolParmsInfoBuffer ends here }
  1828. end;
  1829. {
  1830. The following are structures to be filled out with the _PBGetVolMountInfo call
  1831. and passed back into the _PBVolumeMount call for external file system mounts.
  1832. }
  1833. { the "signature" of the file system }
  1834. type
  1835. VolumeType = OSType;
  1836. const
  1837. { the signature for AppleShare }
  1838. AppleShareMediaType = FourCharCode('afpm');
  1839. {
  1840. VolMount stuff was once in FSM.Å
  1841. }
  1842. type
  1843. VolMountInfoHeader = record
  1844. length: SInt16; { length of location data (including self) }
  1845. media: VolumeType; { type of media. Variable length data follows }
  1846. end;
  1847. type
  1848. VolMountInfoPtr = ^VolMountInfoHeader;
  1849. { The new volume mount info record. The old one is included for compatibility.
  1850. the new record allows access by foriegn filesystems writers to the flags
  1851. portion of the record. This portion is now public.
  1852. }
  1853. type
  1854. VolumeMountInfoHeader = record
  1855. length: SInt16; { length of location data (including self) }
  1856. media: VolumeType; { type of media (must be registered with Apple) }
  1857. flags: SInt16; { volume mount flags. Variable length data follows }
  1858. end;
  1859. VolumeMountInfoHeaderPtr = ^VolumeMountInfoHeader;
  1860. { volume mount flags }
  1861. const
  1862. volMountNoLoginMsgFlagBit = 0; { Input to VolumeMount: If set, the file system }
  1863. volMountNoLoginMsgFlagMask = $0001; { should suppresss any log-in message/greeting dialog }
  1864. volMountExtendedFlagsBit = 7; { Input to VolumeMount: If set, the mount info is a }
  1865. volMountExtendedFlagsMask = $0080; { AFPXVolMountInfo record for 3.7 AppleShare Client }
  1866. volMountInteractBit = 15; { Input to VolumeMount: If set, it's OK for the file system }
  1867. volMountInteractMask = $8000; { to perform user interaction to mount the volume }
  1868. volMountChangedBit = 14; { Output from VoumeMount: If set, the volume was mounted, but }
  1869. volMountChangedMask = $4000; { the volume mounting information record needs to be updated. }
  1870. volMountFSReservedMask = $00FF; { bits 0-7 are defined by each file system for its own use }
  1871. volMountSysReservedMask = $FF00; { bits 8-15 are reserved for Apple system use }
  1872. type
  1873. AFPVolMountInfo = record
  1874. length: SInt16; { length of location data (including self) }
  1875. media: VolumeType; { type of media }
  1876. flags: SInt16; { bits for no messages, no reconnect }
  1877. nbpInterval: SInt8; { NBP Interval parameter (IM2, p.322) }
  1878. nbpCount: SInt8; { NBP Interval parameter (IM2, p.322) }
  1879. uamType: SInt16; { User Authentication Method }
  1880. zoneNameOffset: SInt16; { short positive offset from start of struct to Zone Name }
  1881. serverNameOffset: SInt16; { offset to pascal Server Name string }
  1882. volNameOffset: SInt16; { offset to pascal Volume Name string }
  1883. userNameOffset: SInt16; { offset to pascal User Name string }
  1884. userPasswordOffset: SInt16; { offset to pascal User Password string }
  1885. volPasswordOffset: SInt16; { offset to pascal Volume Password string }
  1886. AFPData: packed array [1..144] of char; { variable length data may follow }
  1887. end;
  1888. AFPVolMountInfoPtr = ^AFPVolMountInfo;
  1889. { AFPXVolMountInfo is the new AFP volume mount info record, requires the 3.7 AppleShare Client }
  1890. type
  1891. AFPXVolMountInfo = record
  1892. length: SInt16; { length of location data (including self) }
  1893. media: VolumeType; { type of media }
  1894. flags: SInt16; { bits for no messages, no reconnect }
  1895. nbpInterval: SInt8; { NBP Interval parameter (IM2, p.322) }
  1896. nbpCount: SInt8; { NBP Interval parameter (IM2, p.322) }
  1897. uamType: SInt16; { User Authentication Method type }
  1898. zoneNameOffset: SInt16; { short positive offset from start of struct to Zone Name }
  1899. serverNameOffset: SInt16; { offset to pascal Server Name string }
  1900. volNameOffset: SInt16; { offset to pascal Volume Name string }
  1901. userNameOffset: SInt16; { offset to pascal User Name string }
  1902. userPasswordOffset: SInt16; { offset to pascal User Password string }
  1903. volPasswordOffset: SInt16; { offset to pascal Volume Password string }
  1904. extendedFlags: SInt16; { extended flags word }
  1905. uamNameOffset: SInt16; { offset to a pascal UAM name string }
  1906. alternateAddressOffset: SInt16; { offset to Alternate Addresses in tagged format }
  1907. AFPData: packed array [1..176] of char; { variable length data may follow }
  1908. end;
  1909. AFPXVolMountInfoPtr = ^AFPXVolMountInfo;
  1910. const
  1911. kAFPExtendedFlagsAlternateAddressMask = 1; { bit in AFPXVolMountInfo.extendedFlags that means alternateAddressOffset is used}
  1912. const
  1913. { constants for use in AFPTagData.fType field}
  1914. kAFPTagTypeIP = $01; { 4 byte IP address (MSB first) }
  1915. kAFPTagTypeIPPort = $02; { 4 byte IP address, 2 byte port (MSB first) }
  1916. kAFPTagTypeDDP = $03; { Net,Node,Socket Sent by the server, currently unused by the client }
  1917. kAFPTagTypeDNS = $04; { DNS name in address:port format (total length variable up to 254 chars of dns name) }
  1918. const
  1919. { constants for use in AFPTagData.fLength field}
  1920. kAFPTagLengthIP = $06;
  1921. kAFPTagLengthIPPort = $08;
  1922. kAFPTagLengthDDP = $06;
  1923. type
  1924. AFPTagData = packed record
  1925. fLength: UInt8; { length of this data tag including the fLength field }
  1926. fType: UInt8;
  1927. fData: packed array [0..0] of UInt8; { variable length data }
  1928. end;
  1929. type
  1930. AFPAlternateAddressPtr = ^AFPAlternateAddress;
  1931. AFPAlternateAddress = packed record
  1932. { ¥¥¥ÊNOTE: fVersion was missing in 3.2 Universal Interfaces}
  1933. fVersion: UInt8; { version of the structure (currently 0x00)}
  1934. fAddressCount: UInt8;
  1935. fAddressList: packed array [0..0] of UInt8; { actually variable length packed set of AFPTagData }
  1936. end;
  1937. const
  1938. kLargeIconSize = 256;
  1939. kLarge4BitIconSize = 512;
  1940. kLarge8BitIconSize = 1024;
  1941. kSmallIconSize = 64;
  1942. kSmall4BitIconSize = 128;
  1943. kSmall8BitIconSize = 256;
  1944. {
  1945. * NewIOCompletionUPP()
  1946. *
  1947. * Availability:
  1948. * Mac OS X: in version 10.0 and later in CoreServices.framework
  1949. * CarbonLib: in CarbonLib 1.0 and later
  1950. * Non-Carbon CFM: available as macro/inline
  1951. }
  1952. { old name was NewIOCompletionProc }
  1953. function NewIOCompletionUPP( userRoutine: IOCompletionProcPtr ): IOCompletionUPP; external name '_NewIOCompletionUPP';
  1954. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  1955. {
  1956. * DisposeIOCompletionUPP()
  1957. *
  1958. * Availability:
  1959. * Mac OS X: in version 10.0 and later in CoreServices.framework
  1960. * CarbonLib: in CarbonLib 1.0 and later
  1961. * Non-Carbon CFM: available as macro/inline
  1962. }
  1963. procedure DisposeIOCompletionUPP( userUPP: IOCompletionUPP ); external name '_DisposeIOCompletionUPP';
  1964. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  1965. {
  1966. * InvokeIOCompletionUPP()
  1967. *
  1968. * Availability:
  1969. * Mac OS X: in version 10.0 and later in CoreServices.framework
  1970. * CarbonLib: in CarbonLib 1.0 and later
  1971. * Non-Carbon CFM: available as macro/inline
  1972. }
  1973. { old name was CallIOCompletionProc }
  1974. procedure InvokeIOCompletionUPP( paramBlock: ParmBlkPtr; userUPP: IOCompletionUPP ); external name '_InvokeIOCompletionUPP';
  1975. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  1976. {#if __MACH__
  1977. #define NewIOCompletionUPP(userRoutine) ((IOCompletionUPP)userRoutine)
  1978. #define DisposeIOCompletionUPP(userUPP)
  1979. #define InvokeIOCompletionUPP(paramBlock, userUPP) (*userUPP)(paramBlock)
  1980. #endif}
  1981. {
  1982. MakeFSRefUnicode
  1983. Create an FSRef for an existing object specified by
  1984. Parent FSRef and Unicode name.
  1985. -> ioCompletion A pointer to a completion routine
  1986. <- ioResult The result code of the function
  1987. -> ref A pointer to the parent directory FSRef
  1988. -> name A pointer to Unicode name
  1989. -> nameLength The length of the Unicode Name
  1990. -> textEncodingHint A suggested text encoding to use for the name
  1991. <- newRef A pointer to an FSRef
  1992. }
  1993. {
  1994. * FSMakeFSRefUnicode()
  1995. *
  1996. * Mac OS X threading:
  1997. * Thread safe since version 10.0
  1998. *
  1999. * Availability:
  2000. * Mac OS X: in version 10.0 and later in CoreServices.framework
  2001. * CarbonLib: in CarbonLib 1.0 and later
  2002. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  2003. }
  2004. function FSMakeFSRefUnicode( const (*var*) parentRef: FSRef; nameLength: UniCharCount; name: UniCharPtr; textEncodingHint: TextEncoding; var newRef: FSRef ): OSErr; external name '_FSMakeFSRefUnicode';
  2005. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  2006. {
  2007. * PBMakeFSRefUnicodeSync()
  2008. *
  2009. * Mac OS X threading:
  2010. * Thread safe since version 10.0
  2011. *
  2012. * Availability:
  2013. * Mac OS X: in version 10.0 and later in CoreServices.framework
  2014. * CarbonLib: in CarbonLib 1.0 and later
  2015. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  2016. }
  2017. function PBMakeFSRefUnicodeSync( var paramBlock: FSRefParam ): OSErr; external name '_PBMakeFSRefUnicodeSync';
  2018. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  2019. {
  2020. * PBMakeFSRefUnicodeAsync()
  2021. *
  2022. * Mac OS X threading:
  2023. * Thread safe since version 10.0
  2024. *
  2025. * Availability:
  2026. * Mac OS X: in version 10.0 and later in CoreServices.framework
  2027. * CarbonLib: in CarbonLib 1.0 and later
  2028. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  2029. }
  2030. procedure PBMakeFSRefUnicodeAsync( var paramBlock: FSRefParam ); external name '_PBMakeFSRefUnicodeAsync';
  2031. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  2032. {
  2033. CompareFSRefs
  2034. Test whether two FSRefs refer to the same file or directory.
  2035. If they do, noErr is returned. Otherwise, an appropriate error
  2036. (such as errFSRefsDifferent) is returned.
  2037. -> ioCompletion A pointer to a completion routine
  2038. <- ioResult The result code of the function
  2039. -> ref A pointer to the first FSRef
  2040. -> parentRef A pointer to the second FSRef
  2041. }
  2042. {
  2043. * FSCompareFSRefs()
  2044. *
  2045. * Mac OS X threading:
  2046. * Thread safe since version 10.0
  2047. *
  2048. * Availability:
  2049. * Mac OS X: in version 10.0 and later in CoreServices.framework
  2050. * CarbonLib: in CarbonLib 1.0 and later
  2051. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  2052. }
  2053. function FSCompareFSRefs( const (*var*) ref1: FSRef; const (*var*) ref2: FSRef ): OSErr; external name '_FSCompareFSRefs';
  2054. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  2055. {
  2056. * PBCompareFSRefsSync()
  2057. *
  2058. * Mac OS X threading:
  2059. * Thread safe since version 10.0
  2060. *
  2061. * Availability:
  2062. * Mac OS X: in version 10.0 and later in CoreServices.framework
  2063. * CarbonLib: in CarbonLib 1.0 and later
  2064. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  2065. }
  2066. function PBCompareFSRefsSync( var paramBlock: FSRefParam ): OSErr; external name '_PBCompareFSRefsSync';
  2067. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  2068. {
  2069. * PBCompareFSRefsAsync()
  2070. *
  2071. * Mac OS X threading:
  2072. * Thread safe since version 10.0
  2073. *
  2074. * Availability:
  2075. * Mac OS X: in version 10.0 and later in CoreServices.framework
  2076. * CarbonLib: in CarbonLib 1.0 and later
  2077. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  2078. }
  2079. procedure PBCompareFSRefsAsync( var paramBlock: FSRefParam ); external name '_PBCompareFSRefsAsync';
  2080. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  2081. {
  2082. CreateFileUnicode
  2083. Creates a new file. The input filename is in Unicode.
  2084. You can optionally set catalog info for the file.
  2085. -> ioCompletion A pointer to a completion routine
  2086. <- ioResult The result code of the function
  2087. -> ref The directory where the file is to be created
  2088. -> whichInfo Which catalog info fields to set
  2089. -> catInfo The values for catalog info fields to set; may be NULL
  2090. -> nameLength Number of Unicode characters in the file's name
  2091. -> name A pointer to the Unicode name
  2092. <- spec A pointer to the FSSpec for the new directory; may be NULL. Ignored on 64 bit.
  2093. <- newRef A pointer to the FSRef for the new file; may be NULL
  2094. }
  2095. {
  2096. * FSCreateFileUnicode()
  2097. *
  2098. * Mac OS X threading:
  2099. * Thread safe since version 10.0
  2100. *
  2101. * Availability:
  2102. * Mac OS X: in version 10.0 and later in CoreServices.framework
  2103. * CarbonLib: in CarbonLib 1.0 and later
  2104. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  2105. }
  2106. function FSCreateFileUnicode( const (*var*) parentRef: FSRef; nameLength: UniCharCount; name: UniCharPtr; whichInfo: FSCatalogInfoBitmap; catalogInfo: {Const}FSCatalogInfoPtr; newRef: FSRefPtr; newSpec: FSSpecPtr ): OSErr; external name '_FSCreateFileUnicode';
  2107. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  2108. {
  2109. * PBCreateFileUnicodeSync()
  2110. *
  2111. * Mac OS X threading:
  2112. * Thread safe since version 10.0
  2113. *
  2114. * Availability:
  2115. * Mac OS X: in version 10.0 and later in CoreServices.framework
  2116. * CarbonLib: in CarbonLib 1.0 and later
  2117. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  2118. }
  2119. function PBCreateFileUnicodeSync( var paramBlock: FSRefParam ): OSErr; external name '_PBCreateFileUnicodeSync';
  2120. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  2121. {
  2122. * PBCreateFileUnicodeAsync()
  2123. *
  2124. * Mac OS X threading:
  2125. * Thread safe since version 10.0
  2126. *
  2127. * Availability:
  2128. * Mac OS X: in version 10.0 and later in CoreServices.framework
  2129. * CarbonLib: in CarbonLib 1.0 and later
  2130. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  2131. }
  2132. procedure PBCreateFileUnicodeAsync( var paramBlock: FSRefParam ); external name '_PBCreateFileUnicodeAsync';
  2133. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  2134. {
  2135. CreateDirectoryUnicode
  2136. Creates a new directory. The input directory name is in Unicode.
  2137. You can optionally set catalog info for the directory.
  2138. -> ioCompletion A pointer to a completion routine
  2139. <- ioResult The result code of the function
  2140. -> ref The parent directory where the directory is to be created
  2141. -> whichInfo Which catalog info fields to set
  2142. -> catInfo The values for catalog info fields to set; may be NULL
  2143. -> nameLength Number of Unicode characters in the directory's name
  2144. -> name A pointer to the Unicode name
  2145. <- ioDirID The DirID of the new directory
  2146. <- newSpec A pointer to the FSSpec for the new directory; may be NULL. Ignored on 64 bit.
  2147. <- newRef A pointer to the FSRef for the new directory; may be NULL
  2148. }
  2149. {
  2150. * FSCreateDirectoryUnicode()
  2151. *
  2152. * Mac OS X threading:
  2153. * Thread safe since version 10.0
  2154. *
  2155. * Availability:
  2156. * Mac OS X: in version 10.0 and later in CoreServices.framework
  2157. * CarbonLib: in CarbonLib 1.0 and later
  2158. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  2159. }
  2160. function FSCreateDirectoryUnicode( const (*var*) parentRef: FSRef; nameLength: UniCharCount; name: UniCharPtr; whichInfo: FSCatalogInfoBitmap; catalogInfo: {Const}FSCatalogInfoPtr; newRef: FSRefPtr; newSpec: FSSpecPtr; newDirID: UInt32Ptr ): OSErr; external name '_FSCreateDirectoryUnicode';
  2161. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  2162. {
  2163. * PBCreateDirectoryUnicodeSync()
  2164. *
  2165. * Mac OS X threading:
  2166. * Thread safe since version 10.0
  2167. *
  2168. * Availability:
  2169. * Mac OS X: in version 10.0 and later in CoreServices.framework
  2170. * CarbonLib: in CarbonLib 1.0 and later
  2171. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  2172. }
  2173. function PBCreateDirectoryUnicodeSync( var paramBlock: FSRefParam ): OSErr; external name '_PBCreateDirectoryUnicodeSync';
  2174. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  2175. {
  2176. * PBCreateDirectoryUnicodeAsync()
  2177. *
  2178. * Mac OS X threading:
  2179. * Thread safe since version 10.0
  2180. *
  2181. * Availability:
  2182. * Mac OS X: in version 10.0 and later in CoreServices.framework
  2183. * CarbonLib: in CarbonLib 1.0 and later
  2184. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  2185. }
  2186. procedure PBCreateDirectoryUnicodeAsync( var paramBlock: FSRefParam ); external name '_PBCreateDirectoryUnicodeAsync';
  2187. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  2188. {
  2189. DeleteObject
  2190. Deletes an existing file or directory.
  2191. -> ioCompletion A pointer to a completion routine
  2192. <- ioResult The result code of the function
  2193. -> ref The file or directory to be deleted
  2194. }
  2195. {
  2196. * FSDeleteObject()
  2197. *
  2198. * Mac OS X threading:
  2199. * Thread safe since version 10.0
  2200. *
  2201. * Availability:
  2202. * Mac OS X: in version 10.0 and later in CoreServices.framework
  2203. * CarbonLib: in CarbonLib 1.0 and later
  2204. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  2205. }
  2206. function FSDeleteObject( const (*var*) ref: FSRef ): OSErr; external name '_FSDeleteObject';
  2207. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  2208. {
  2209. * PBDeleteObjectSync()
  2210. *
  2211. * Mac OS X threading:
  2212. * Thread safe since version 10.0
  2213. *
  2214. * Availability:
  2215. * Mac OS X: in version 10.0 and later in CoreServices.framework
  2216. * CarbonLib: in CarbonLib 1.0 and later
  2217. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  2218. }
  2219. function PBDeleteObjectSync( var paramBlock: FSRefParam ): OSErr; external name '_PBDeleteObjectSync';
  2220. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  2221. {
  2222. * PBDeleteObjectAsync()
  2223. *
  2224. * Mac OS X threading:
  2225. * Thread safe since version 10.0
  2226. *
  2227. * Availability:
  2228. * Mac OS X: in version 10.0 and later in CoreServices.framework
  2229. * CarbonLib: in CarbonLib 1.0 and later
  2230. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  2231. }
  2232. procedure PBDeleteObjectAsync( var paramBlock: FSRefParam ); external name '_PBDeleteObjectAsync';
  2233. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  2234. {
  2235. UnlinkObject
  2236. Unlinks an existing file or deletes an existing directory. This call will succeed on an open file, unlike
  2237. DeleteObject. This call will unlink an archive directory link (where DeleteObject will treat the ADL as a directory).
  2238. -> ioCompletion A pointer to a completion routine
  2239. <- ioResult The result code of the function
  2240. -> ref The file or directory to be deleted
  2241. }
  2242. {
  2243. * FSUnlinkObject()
  2244. *
  2245. * Mac OS X threading:
  2246. * Thread safe since version 10.5
  2247. *
  2248. * Availability:
  2249. * Mac OS X: in version 10.5 and later in CoreServices.framework
  2250. * CarbonLib: not available
  2251. * Non-Carbon CFM: not available
  2252. }
  2253. function FSUnlinkObject( const (*var*) ref: FSRef ): OSErr; external name '_FSUnlinkObject';
  2254. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  2255. {
  2256. * PBUnlinkObjectSync()
  2257. *
  2258. * Mac OS X threading:
  2259. * Thread safe since version 10.5
  2260. *
  2261. * Availability:
  2262. * Mac OS X: in version 10.5 and later in CoreServices.framework
  2263. * CarbonLib: not available
  2264. * Non-Carbon CFM: not available
  2265. }
  2266. function PBUnlinkObjectSync( var paramBlock: FSRefParam ): OSErr; external name '_PBUnlinkObjectSync';
  2267. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  2268. {
  2269. * PBUnlinkObjectAsync()
  2270. *
  2271. * Mac OS X threading:
  2272. * Thread safe since version 10.5
  2273. *
  2274. * Availability:
  2275. * Mac OS X: in version 10.5 and later in CoreServices.framework
  2276. * CarbonLib: not available
  2277. * Non-Carbon CFM: not available
  2278. }
  2279. procedure PBUnlinkObjectAsync( var paramBlock: FSRefParam ); external name '_PBUnlinkObjectAsync';
  2280. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  2281. {
  2282. MoveObject
  2283. Move an existing file or directory into a different directory.
  2284. -> ioCompletion A pointer to a completion routine
  2285. <- ioResult The result code of the function
  2286. -> ref The file or directory to be moved
  2287. -> parentRef The file or directory will be moved into this directory
  2288. <- newRef A new FSRef for the file or directory in its new location;
  2289. optional, may be NULL
  2290. NOTE: Moving an object may change its FSRef. If you want to continue to
  2291. refer to the object, you should pass a non-NULL pointer in newRef and use
  2292. that returned FSRef to access the object after the move. The FSRef passed
  2293. in "ref" may or may not be usable to access the object after it is moved.
  2294. "newRef" may point to the same storage as "parentRef" or "ref".
  2295. }
  2296. {
  2297. * FSMoveObject()
  2298. *
  2299. * Mac OS X threading:
  2300. * Thread safe since version 10.0
  2301. *
  2302. * Availability:
  2303. * Mac OS X: in version 10.0 and later in CoreServices.framework
  2304. * CarbonLib: in CarbonLib 1.0 and later
  2305. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  2306. }
  2307. function FSMoveObject( const (*var*) ref: FSRef; const (*var*) destDirectory: FSRef; newRef: FSRefPtr ): OSErr; external name '_FSMoveObject';
  2308. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  2309. {
  2310. * PBMoveObjectSync()
  2311. *
  2312. * Mac OS X threading:
  2313. * Thread safe since version 10.0
  2314. *
  2315. * Availability:
  2316. * Mac OS X: in version 10.0 and later in CoreServices.framework
  2317. * CarbonLib: in CarbonLib 1.0 and later
  2318. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  2319. }
  2320. function PBMoveObjectSync( var paramBlock: FSRefParam ): OSErr; external name '_PBMoveObjectSync';
  2321. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  2322. {
  2323. * PBMoveObjectAsync()
  2324. *
  2325. * Mac OS X threading:
  2326. * Thread safe since version 10.0
  2327. *
  2328. * Availability:
  2329. * Mac OS X: in version 10.0 and later in CoreServices.framework
  2330. * CarbonLib: in CarbonLib 1.0 and later
  2331. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  2332. }
  2333. procedure PBMoveObjectAsync( var paramBlock: FSRefParam ); external name '_PBMoveObjectAsync';
  2334. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  2335. {
  2336. ExchangeObjects
  2337. swap the contents of two files.
  2338. -> ioCompletion A pointer to a completion routine
  2339. <- ioResult The result code of the function
  2340. -> ref The first file
  2341. -> parentRef The second file
  2342. }
  2343. {
  2344. * FSExchangeObjects()
  2345. *
  2346. * Mac OS X threading:
  2347. * Thread safe since version 10.0
  2348. *
  2349. * Availability:
  2350. * Mac OS X: in version 10.0 and later in CoreServices.framework
  2351. * CarbonLib: in CarbonLib 1.0 and later
  2352. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  2353. }
  2354. function FSExchangeObjects( const (*var*) ref: FSRef; const (*var*) destRef: FSRef ): OSErr; external name '_FSExchangeObjects';
  2355. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  2356. {
  2357. * PBExchangeObjectsSync()
  2358. *
  2359. * Mac OS X threading:
  2360. * Thread safe since version 10.0
  2361. *
  2362. * Availability:
  2363. * Mac OS X: in version 10.0 and later in CoreServices.framework
  2364. * CarbonLib: in CarbonLib 1.0 and later
  2365. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  2366. }
  2367. function PBExchangeObjectsSync( var paramBlock: FSRefParam ): OSErr; external name '_PBExchangeObjectsSync';
  2368. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  2369. {
  2370. * PBExchangeObjectsAsync()
  2371. *
  2372. * Mac OS X threading:
  2373. * Thread safe since version 10.0
  2374. *
  2375. * Availability:
  2376. * Mac OS X: in version 10.0 and later in CoreServices.framework
  2377. * CarbonLib: in CarbonLib 1.0 and later
  2378. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  2379. }
  2380. procedure PBExchangeObjectsAsync( var paramBlock: FSRefParam ); external name '_PBExchangeObjectsAsync';
  2381. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  2382. {
  2383. FSReplaceObject and FSPathReplaceObject
  2384. You can use the FSReplaceObject and FSPathReplaceObject functions to replace
  2385. one object, the original object, with another, the replacement object.
  2386. FSReplaceObject and FSPathReplaceObject are provided to assist in properly
  2387. preserving metadata during safe save operations. These functions allow files
  2388. to replace files, directories to replace directories, directories to replace
  2389. files and files to replace directories (so a package can replace a file, or
  2390. a file can replace a package). Both objects must reside on the same volume.
  2391. If FSReplaceObject or FSPathReplaceObject are successful, the result object
  2392. will exist at the location of the original object. Nothing will exist at the
  2393. location of the replacement object. By default FSReplaceObject and FSPathReplaceObject
  2394. will test the object for write access, and fail if write access is not available.
  2395. Write access in this context is ACL_WRITE_DATA for files and ACL_ADD_FILE for directories.
  2396. This check can be bypassed by passing the kFSReplaceObjectDoNotCheckObjectWriteAccess flag.
  2397. FSReplaceObject and FSPathReplaceObject may need to create a temporary object
  2398. when one of the input objects is a directory, or when the
  2399. kFSReplaceObjectSaveOriginalAsABackup option is specified. The temporary object
  2400. is required since the rename system call does not handle non-empty directory
  2401. replacement or file <-> directory replacement. The file replacing file case
  2402. does not use a temporary object (unless the kFSReplaceObjectSaveOriginalAsABackup
  2403. option is specified). If no temporary name is provided and a temporary object
  2404. is required, then the functions will return an error. Providing a temporary
  2405. name will also allow an application to recover the original object should a
  2406. catastrophic failure (such as a power outage) occur during a replacement
  2407. involving a directory. The temporary object will be created with the temporary
  2408. name either in the temporary directory specified by the temporaryDirectory
  2409. parameter, or in the preferred temporary directory (the preferred temporary
  2410. directory can be obtained with the FSGetTemporaryDirectoryForReplaceObject
  2411. or FSPathGetTemporaryDirectoryForReplaceObject functions).
  2412. If the kFSReplaceObjectSaveOriginalAsABackup option is specified, the original
  2413. object will be saved in one of two locations: If the temporaryName parameter
  2414. is provided, the original object will be saved with that temporary name in
  2415. the temporary directory. If the temporaryName parameter is not provided and
  2416. the newName parameter is provided, the original object will be saved with
  2417. its original name in the temporary directory.
  2418. The result object will have the data (or directory contents) from the
  2419. replacement object, but will have the original object's creation date and
  2420. backup date. By default, the result object will have extended attributes
  2421. merged from the original object and the replacement object, using the extended
  2422. attributes of the replacement object if the original object has extended
  2423. attributes with the same name. If the kFSReplaceObjectReplaceMetadata option
  2424. flag is passed, then the extended attributes of the original object will be
  2425. completely overwritten by the extended attributes of the replacement object.
  2426. The kFSReplaceObjectReplaceMetadata also controls how the label, type, creator,
  2427. hidden extension bit, strong binding, custom icon and custom badge are handled.
  2428. For the custom icon, custom badge, label (where a value of 0 is considered not
  2429. present), and strong binding the replacement object's attributes will be
  2430. used if present, otherwise the original object's attributes will be retained. For
  2431. the extension hidden bit, type, and creator the original object's attribute is
  2432. preserved. Setting the kFSReplaceObjectReplaceMetadata flag will use the replacement
  2433. object's attributes for all cases. Type and creator are only handled in the
  2434. file to file case. Strong bindings are not applicable to plain directories.
  2435. The default handling of ACL and mode info depends on the types of objects
  2436. involved. If the original object and replacement object are of the same type
  2437. (both files or both directories) then the default behavior is to use the ACL
  2438. and mode of the original object. Setting the kFSReplaceObjectReplacePermissionInfo
  2439. flag will use the ACL and mode from the replacementObject.
  2440. If the objects are different types, then the ACL and mode will be based off
  2441. the original object and will translated as follows:
  2442. Mode:
  2443. file r -> dir rx
  2444. file w -> dir wx
  2445. file x -> dir nothing
  2446. dir r -> file r
  2447. dir w -> file w
  2448. dir x -> file nothing
  2449. ACLs:
  2450. ACL_SEARCH will be added to any allow ACE in the file to directory case.
  2451. ACL_EXECUTE will be removed from any ACE in the file to directory case.
  2452. ACL_SEARCH and ACL_DELETE_CHILD will be removed from any ACE in the directory to file case.
  2453. File Directory
  2454. ACL_READ_DATA <-> ACL_LIST_DIRECTORY
  2455. ACL_WRITE_DATA <-> ACL_ADD_FILE
  2456. ACL_APPEND_DATA <-> ACL_ADD_SUBDIRECTORY
  2457. ACL_DELETE , ACL_READ_ATTRIBUTES, ACL_WRITE_ATTRIBUTES, ACL_READ_EXTATTRIBUTES,
  2458. ACL_WRITE_EXTATTRIBUTES, ACL_READ_SECURITY, ACL_WRITE_SECURITY and ACL_CHANGE_OWNER
  2459. are the same for both types and will be left alone.
  2460. This translation behavior can be avoided by passing in either
  2461. kFSReplaceObjectPreservePermissionInfo to use the original object ACL and
  2462. mode info unchanged (except where the bits have different meanings for files
  2463. and directories) or kFSReplaceObjectReplacePermissionInfo to use the ACL and
  2464. mode info of the replacement object (except where the bits have different
  2465. meanings for files and directories). Setting both of these flags is an
  2466. error -- the call will fail with a paramErr. The permissions are only set on
  2467. the top-level object -- the permissions inside a directory are unaffected.
  2468. FSReplaceObject may not be atomic -- it may issue multiple system calls to
  2469. accurately replace and preserve the metadata of a file system object.
  2470. FSReplaceObject may fail if the source or destination files are open or
  2471. the source or destination objects are directories which contain open files.
  2472. }
  2473. {
  2474. * FSReplaceObjectOptions
  2475. *
  2476. * Discussion:
  2477. * Options that can be passed to the FSReplaceObject and
  2478. * FSPathReplaceObject functions. These are mask values that can be
  2479. * ORed together to set more than one option.
  2480. }
  2481. const
  2482. {
  2483. * Use the default behavior (see the discussion of the
  2484. * FSReplaceObject function)
  2485. }
  2486. kFSReplaceObjectDefaultOptions = 0;
  2487. {
  2488. * The result object will only have the metadata from the replacement
  2489. * object. The result object will have no metadata from the original
  2490. * object.
  2491. }
  2492. kFSReplaceObjectReplaceMetadata = $01;
  2493. {
  2494. * The original object will be saved with the temporary name in the
  2495. * temporaryDirectory, or will be saved with the original name (if no
  2496. * temporaryName is provided and a newName is provided) in the
  2497. * temporaryDirectory.
  2498. }
  2499. kFSReplaceObjectSaveOriginalAsABackup = $02;
  2500. {
  2501. * ACL and mode info will come from the replacement object.
  2502. }
  2503. kFSReplaceObjectReplacePermissionInfo = $04;
  2504. {
  2505. * ACL and mode info will come from the original object
  2506. }
  2507. kFSReplaceObjectPreservePermissionInfo = $08;
  2508. {
  2509. * FSReplaceObject does not actually require write permission to
  2510. * perform the replace operation, since no actual writing is done to
  2511. * the original object. By default ReplaceObject will test the
  2512. * object for write permissions and fail if they are not present
  2513. * (tested using accessx_np). Write permission in this context is
  2514. * defined as ACL_WRITE_DATA for files and ACL_ADD_FILE for
  2515. * directories. Pass this flag to skip this check (which will allow
  2516. * the replace to operate on "read only" objects).
  2517. }
  2518. kFSReplaceObjectDoNotCheckObjectWriteAccess = $10;
  2519. {
  2520. * FSReplaceObject()
  2521. *
  2522. * Discussion:
  2523. * This function will replace the object specified by originalObject
  2524. * with the object specified by replacementObject. The result object
  2525. * will be in the same parent directory as the original object.
  2526. *
  2527. * Mac OS X threading:
  2528. * Thread safe since version 10.5
  2529. *
  2530. * Parameters:
  2531. *
  2532. * originalObject:
  2533. * The original object to be replaced.
  2534. *
  2535. * replacementObject:
  2536. * The object which will replace the original object.
  2537. *
  2538. * newName:
  2539. * The new name for the result object. Pass NULL to use the
  2540. * original object's name.
  2541. *
  2542. * temporaryName:
  2543. * The name of a temporary object should the operation require a
  2544. * temporary object. The temporary object will be created in the
  2545. * preferred temporary directory or in the directory specified by
  2546. * the temporaryDirectory parameter.
  2547. *
  2548. * temporaryDirectory:
  2549. * The directory where the temporary object (if needed) will be
  2550. * created. The temporary directory must be on the same volume as
  2551. * the original object. If NULL is passed, then the preferred
  2552. * temporary directory is used (as per
  2553. * FSGetTemporaryDirectoryForReplaceObject).
  2554. *
  2555. * flags:
  2556. * A set of options to specify non-default behavior.
  2557. *
  2558. * resultObject:
  2559. * A new FSRef for the result object.
  2560. *
  2561. * Availability:
  2562. * Mac OS X: in version 10.5 and later in CoreServices.framework
  2563. * CarbonLib: not available
  2564. * Non-Carbon CFM: not available
  2565. }
  2566. function FSReplaceObject( const (*var*) originalObject: FSRef; const (*var*) replacementObject: FSRef; newName: CFStringRef; temporaryName: CFStringRef; temporaryDirectory: {const} FSRefPtr; flags: OptionBits; var resultObject: FSRef ): OSStatus; external name '_FSReplaceObject';
  2567. (* __OSX_AVAILABLE_BUT_DEPRECATED_MSG(__MAC_10_5, __MAC_10_8, __IPHONE_NA, __IPHONE_NA, "Use NSFileManager's -replaceItemAtURL:withItemAtURL:backupItemName:options:resultingItemURL:error: instead. WARNING: FSReplaceObject does not work correctly in sandboxed apps.") *)
  2568. {
  2569. * FSPathReplaceObject()
  2570. *
  2571. * Discussion:
  2572. * This function will replace the object specified by
  2573. * originalObjectPath with the object specified by
  2574. * replacementObjectPath. The result object will be in the same
  2575. * parent directory as the original object.
  2576. *
  2577. * Mac OS X threading:
  2578. * Thread safe since version 10.5
  2579. *
  2580. * Parameters:
  2581. *
  2582. * originalObjectPath:
  2583. * The path to the original object to be replaced.
  2584. *
  2585. * replacementObjectPath:
  2586. * The path to the object which will replace the original object.
  2587. *
  2588. * newName:
  2589. * The new name for the result object. Pass NULL to use the
  2590. * original object's name.
  2591. *
  2592. * temporaryName:
  2593. * The name of a temporary object should the operation require a
  2594. * temporary object. The temporary object will be created in the
  2595. * preferred temporary directory or in the directory specified by
  2596. * the temporaryDirectory parameter.
  2597. *
  2598. * temporaryDirectoryPath:
  2599. * The path to the directory where the temporary object (if
  2600. * needed) will be created. The temporary directory must be on the
  2601. * same volume as the original object. If NULL is passed, then the
  2602. * preferred temporary directory is used (as per
  2603. * FSPathGetTemporaryDirectoryForReplaceObject).
  2604. *
  2605. * flags:
  2606. * A set of options to specify non-default behavior.
  2607. *
  2608. * Availability:
  2609. * Mac OS X: in version 10.5 and later in CoreServices.framework
  2610. * CarbonLib: not available
  2611. * Non-Carbon CFM: not available
  2612. }
  2613. function FSPathReplaceObject( originalObjectPath: ConstCStringPtr; replacementObjectPath: ConstCStringPtr; newName: CFStringRef; temporaryName: CFStringRef; temporaryDirectoryPath: ConstCStringPtr; flags: OptionBits ): OSStatus; external name '_FSPathReplaceObject';
  2614. (* __OSX_AVAILABLE_BUT_DEPRECATED_MSG(__MAC_10_5, __MAC_10_8, __IPHONE_NA, __IPHONE_NA, "Use NSFileManager's -replaceItemAtURL:withItemAtURL:backupItemName:options:resultingItemURL:error: instead. WARNING: FSPathReplaceObject does not work correctly in sandboxed apps.") *)
  2615. {
  2616. * FSGetTemporaryDirectoryForReplaceObject()
  2617. *
  2618. * Discussion:
  2619. * This function will return the preferred directory for use as the
  2620. * temporaryDirectory by FSReplaceObject. It will return an
  2621. * appropriate temporary location or the parent directory of the
  2622. * original object.
  2623. *
  2624. * Mac OS X threading:
  2625. * Thread safe since version 10.5
  2626. *
  2627. * Parameters:
  2628. *
  2629. * originalObject:
  2630. * The original object to be replaced.
  2631. *
  2632. * temporaryDirectory:
  2633. * The preferred temporary directory.
  2634. *
  2635. * flags:
  2636. * A set of options to specify non-default behavior. Currently no
  2637. * flags are defined - pass in 0
  2638. *
  2639. * Availability:
  2640. * Mac OS X: in version 10.5 and later in CoreServices.framework
  2641. * CarbonLib: not available
  2642. * Non-Carbon CFM: not available
  2643. }
  2644. function FSGetTemporaryDirectoryForReplaceObject( const (*var*) originalObject: FSRef; var temporaryDirectory: FSRef; flags: OptionBits ): OSStatus; external name '_FSGetTemporaryDirectoryForReplaceObject';
  2645. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  2646. {
  2647. * FSPathGetTemporaryDirectoryForReplaceObject()
  2648. *
  2649. * Discussion:
  2650. * This function will return the preferred directory for use as the
  2651. * temporaryDirectory by FSPathReplaceObject. It will return an
  2652. * appropriate temporary location or the parent directory of the
  2653. * original object.
  2654. *
  2655. * Mac OS X threading:
  2656. * Thread safe since version 10.5
  2657. *
  2658. * Parameters:
  2659. *
  2660. * originalObjectPath:
  2661. * The path to the original object to be replaced.
  2662. *
  2663. * temporaryDirectoryPath:
  2664. * The path to the preferred temporary directory.
  2665. *
  2666. * maxPathSize:
  2667. * The size of the buffer pointed to by the temporaryDirectoryPath
  2668. * parameter.
  2669. *
  2670. * flags:
  2671. * A set of options to specify non-default behavior. Currently no
  2672. * flags are defined - pass in 0
  2673. *
  2674. * Availability:
  2675. * Mac OS X: in version 10.5 and later in CoreServices.framework
  2676. * CarbonLib: not available
  2677. * Non-Carbon CFM: not available
  2678. }
  2679. function FSPathGetTemporaryDirectoryForReplaceObject( originalObjectPath: ConstCStringPtr; temporaryDirectoryPath: CStringPtr; maxPathSize: UInt32; flags: OptionBits ): OSStatus; external name '_FSPathGetTemporaryDirectoryForReplaceObject';
  2680. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  2681. {
  2682. RenameUnicode
  2683. Change the name of an existing file or directory. The new name is in
  2684. Unicode.
  2685. -> ioCompletion A pointer to a completion routine
  2686. <- ioResult The result code of the function
  2687. -> ref The file or directory to be moved
  2688. -> nameLength Number of Unicode characters in the new name
  2689. -> name A pointer to the new Unicode name
  2690. -> textEncodingHint A suggested text encoding to use for the name
  2691. <- newRef A new FSRef for the file or directory; may be NULL
  2692. NOTE: Renaming an object may change its FSRef. If you want to continue to
  2693. refer to the object, you should pass a non-NULL pointer in newRef and use
  2694. that returned FSRef to access the object after the rename. The FSRef passed
  2695. in "ref" may or may not be usable to access the object after it is renamed.
  2696. "newRef" may point to the same storage as "ref".
  2697. }
  2698. {
  2699. * FSRenameUnicode()
  2700. *
  2701. * Mac OS X threading:
  2702. * Thread safe since version 10.0
  2703. *
  2704. * Availability:
  2705. * Mac OS X: in version 10.0 and later in CoreServices.framework
  2706. * CarbonLib: in CarbonLib 1.0 and later
  2707. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  2708. }
  2709. function FSRenameUnicode( const (*var*) ref: FSRef; nameLength: UniCharCount; name: UniCharPtr; textEncodingHint: TextEncoding; newRef: FSRefPtr ): OSErr; external name '_FSRenameUnicode';
  2710. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  2711. {
  2712. * PBRenameUnicodeSync()
  2713. *
  2714. * Mac OS X threading:
  2715. * Thread safe since version 10.0
  2716. *
  2717. * Availability:
  2718. * Mac OS X: in version 10.0 and later in CoreServices.framework
  2719. * CarbonLib: in CarbonLib 1.0 and later
  2720. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  2721. }
  2722. function PBRenameUnicodeSync( var paramBlock: FSRefParam ): OSErr; external name '_PBRenameUnicodeSync';
  2723. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  2724. {
  2725. * PBRenameUnicodeAsync()
  2726. *
  2727. * Mac OS X threading:
  2728. * Thread safe since version 10.0
  2729. *
  2730. * Availability:
  2731. * Mac OS X: in version 10.0 and later in CoreServices.framework
  2732. * CarbonLib: in CarbonLib 1.0 and later
  2733. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  2734. }
  2735. procedure PBRenameUnicodeAsync( var paramBlock: FSRefParam ); external name '_PBRenameUnicodeAsync';
  2736. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  2737. {
  2738. GetCatalogInfo
  2739. Returns various information about a given file or directory.
  2740. -> ioCompletion A pointer to a completion routine
  2741. <- ioResult The result code of the function
  2742. -> ref The file or directory whose information is to be returned
  2743. -> whichInfo Which catalog info fields to get
  2744. <- catInfo The returned values of catalog info fields; may be NULL
  2745. <- spec A pointer to the FSSpec for the object; may be NULL. Ignored for 64 bit.
  2746. <- parentRef A pointer to the FSRef for the object's parent directory; may be NULL
  2747. <- outName The Unicode name is returned here. This pointer may be NULL.
  2748. Note: All of the outputs are optional; if you don't want that particular output, just
  2749. set its pointer to NULL. This is the call to use to map from an FSRef to an FSSpec.
  2750. }
  2751. {
  2752. * FSGetCatalogInfo()
  2753. *
  2754. * Mac OS X threading:
  2755. * Thread safe since version 10.0
  2756. *
  2757. * Availability:
  2758. * Mac OS X: in version 10.0 and later in CoreServices.framework
  2759. * CarbonLib: in CarbonLib 1.0 and later
  2760. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  2761. }
  2762. function FSGetCatalogInfo( const (*var*) ref: FSRef; whichInfo: FSCatalogInfoBitmap; catalogInfo: FSCatalogInfoPtr; outName: HFSUniStr255Ptr; fsSpec: FSSpecPtr; parentRef: FSRefPtr ): OSErr; external name '_FSGetCatalogInfo';
  2763. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  2764. {
  2765. * PBGetCatalogInfoSync()
  2766. *
  2767. * Mac OS X threading:
  2768. * Thread safe since version 10.0
  2769. *
  2770. * Availability:
  2771. * Mac OS X: in version 10.0 and later in CoreServices.framework
  2772. * CarbonLib: in CarbonLib 1.0 and later
  2773. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  2774. }
  2775. function PBGetCatalogInfoSync( var paramBlock: FSRefParam ): OSErr; external name '_PBGetCatalogInfoSync';
  2776. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  2777. {
  2778. * PBGetCatalogInfoAsync()
  2779. *
  2780. * Mac OS X threading:
  2781. * Thread safe since version 10.0
  2782. *
  2783. * Availability:
  2784. * Mac OS X: in version 10.0 and later in CoreServices.framework
  2785. * CarbonLib: in CarbonLib 1.0 and later
  2786. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  2787. }
  2788. procedure PBGetCatalogInfoAsync( var paramBlock: FSRefParam ); external name '_PBGetCatalogInfoAsync';
  2789. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  2790. {
  2791. * FSSetCatalogInfo()
  2792. *
  2793. * Summary:
  2794. * Set catalog information about a given file or directory.
  2795. *
  2796. * Discussion:
  2797. * Set the catalog information for the file or directory represented
  2798. * by ref.
  2799. *
  2800. * Mac OS X threading:
  2801. * Thread safe since version 10.0
  2802. *
  2803. * Parameters:
  2804. *
  2805. * ref:
  2806. * A pointer to an FSRef specifying the file or directory whose
  2807. * information is to be changed
  2808. *
  2809. * whichInfo:
  2810. * A bitmap specifying which catalog information fields may be
  2811. * set. The settable fields are given by the constant
  2812. * kFSCatInfoSettableInfo; no other bits may be set in whichInfo.
  2813. * The one exception to this is that processes running as eid 0 or
  2814. * euid 0 can change the user ID and group ID of a file or
  2815. * directory by setting kFSCatInfoSetOwnership in whichInfo and
  2816. * setting the permissions field of catalogInfo.
  2817. *
  2818. * catalogInfo:
  2819. * A pointer to the structure containing the new catalog
  2820. * information. Only some of the catalog information fields may be
  2821. * set.
  2822. *
  2823. * Availability:
  2824. * Mac OS X: in version 10.0 and later in CoreServices.framework
  2825. * CarbonLib: in CarbonLib 1.0 and later
  2826. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  2827. }
  2828. function FSSetCatalogInfo( const (*var*) ref: FSRef; whichInfo: FSCatalogInfoBitmap; const (*var*) catalogInfo: FSCatalogInfo ): OSErr; external name '_FSSetCatalogInfo';
  2829. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  2830. {
  2831. * PBSetCatalogInfoSync()
  2832. *
  2833. * Summary:
  2834. * Set catalog information about a given file or directory.
  2835. *
  2836. * Discussion:
  2837. * Set the catalog information for the file or directory represented
  2838. * by ref. See the description in FSSetCatalogInfo for which items
  2839. * may be set.
  2840. *
  2841. * Mac OS X threading:
  2842. * Thread safe since version 10.0
  2843. *
  2844. * Availability:
  2845. * Mac OS X: in version 10.0 and later in CoreServices.framework
  2846. * CarbonLib: in CarbonLib 1.0 and later
  2847. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  2848. }
  2849. function PBSetCatalogInfoSync( var paramBlock: FSRefParam ): OSErr; external name '_PBSetCatalogInfoSync';
  2850. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  2851. {
  2852. * PBSetCatalogInfoAsync()
  2853. *
  2854. * Summary:
  2855. * Set catalog information about a given file or directory.
  2856. *
  2857. * Discussion:
  2858. * Set the catalog information for the file or directory represented
  2859. * by ref. See the description in FSSetCatalogInfo for which items
  2860. * may be set.
  2861. *
  2862. * Mac OS X threading:
  2863. * Thread safe since version 10.0
  2864. *
  2865. * Availability:
  2866. * Mac OS X: in version 10.0 and later in CoreServices.framework
  2867. * CarbonLib: in CarbonLib 1.0 and later
  2868. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  2869. }
  2870. procedure PBSetCatalogInfoAsync( var paramBlock: FSRefParam ); external name '_PBSetCatalogInfoAsync';
  2871. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  2872. {
  2873. OpenIterator
  2874. Creates an FSIterator to iterate over a directory or subtree. The
  2875. iterator can then be passed to GetCatalogInfoBulk or CatalogSearch.
  2876. -> ioCompletion A pointer to a completion routine
  2877. <- ioResult The result code of the function
  2878. <- iterator The returned FSIterator
  2879. -> iteratorFlags Controls whether the iterator iterates over subtrees
  2880. or just the immediate children of the container.
  2881. -> container An FSRef for the directory to iterate (or root of
  2882. the subtree to iterate).
  2883. }
  2884. {
  2885. * FSOpenIterator()
  2886. *
  2887. * Mac OS X threading:
  2888. * Thread safe since version 10.0
  2889. *
  2890. * Availability:
  2891. * Mac OS X: in version 10.0 and later in CoreServices.framework
  2892. * CarbonLib: in CarbonLib 1.0 and later
  2893. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  2894. }
  2895. function FSOpenIterator( const (*var*) container: FSRef; iteratorFlags: FSIteratorFlags; var iterator: FSIterator ): OSErr; external name '_FSOpenIterator';
  2896. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  2897. {
  2898. * PBOpenIteratorSync()
  2899. *
  2900. * Mac OS X threading:
  2901. * Thread safe since version 10.0
  2902. *
  2903. * Availability:
  2904. * Mac OS X: in version 10.0 and later in CoreServices.framework
  2905. * CarbonLib: in CarbonLib 1.0 and later
  2906. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  2907. }
  2908. function PBOpenIteratorSync( var paramBlock: FSCatalogBulkParam ): OSErr; external name '_PBOpenIteratorSync';
  2909. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  2910. {
  2911. * PBOpenIteratorAsync()
  2912. *
  2913. * Mac OS X threading:
  2914. * Thread safe since version 10.0
  2915. *
  2916. * Availability:
  2917. * Mac OS X: in version 10.0 and later in CoreServices.framework
  2918. * CarbonLib: in CarbonLib 1.0 and later
  2919. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  2920. }
  2921. procedure PBOpenIteratorAsync( var paramBlock: FSCatalogBulkParam ); external name '_PBOpenIteratorAsync';
  2922. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  2923. {
  2924. CloseIterator
  2925. Invalidates and disposes an FSIterator.
  2926. -> ioCompletion A pointer to a completion routine
  2927. <- ioResult The result code of the function
  2928. -> iterator The returned FSIterator
  2929. }
  2930. {
  2931. * FSCloseIterator()
  2932. *
  2933. * Mac OS X threading:
  2934. * Thread safe since version 10.0
  2935. *
  2936. * Availability:
  2937. * Mac OS X: in version 10.0 and later in CoreServices.framework
  2938. * CarbonLib: in CarbonLib 1.0 and later
  2939. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  2940. }
  2941. function FSCloseIterator( iterator: FSIterator ): OSErr; external name '_FSCloseIterator';
  2942. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  2943. {
  2944. * PBCloseIteratorSync()
  2945. *
  2946. * Mac OS X threading:
  2947. * Thread safe since version 10.0
  2948. *
  2949. * Availability:
  2950. * Mac OS X: in version 10.0 and later in CoreServices.framework
  2951. * CarbonLib: in CarbonLib 1.0 and later
  2952. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  2953. }
  2954. function PBCloseIteratorSync( var paramBlock: FSCatalogBulkParam ): OSErr; external name '_PBCloseIteratorSync';
  2955. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  2956. {
  2957. * PBCloseIteratorAsync()
  2958. *
  2959. * Mac OS X threading:
  2960. * Thread safe since version 10.0
  2961. *
  2962. * Availability:
  2963. * Mac OS X: in version 10.0 and later in CoreServices.framework
  2964. * CarbonLib: in CarbonLib 1.0 and later
  2965. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  2966. }
  2967. procedure PBCloseIteratorAsync( var paramBlock: FSCatalogBulkParam ); external name '_PBCloseIteratorAsync';
  2968. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  2969. {
  2970. GetCatalogInfoBulk
  2971. Iterates over catalog objects and returns information about them.
  2972. For now, iterator must have been created with kFSIterateFlat option.
  2973. -> ioCompletion A pointer to a completion routine
  2974. <- ioResult The result code of the function
  2975. -> iterator The iterator
  2976. -> maximumItems The maximum number of items to return
  2977. <- actualItems The actual number of items returned
  2978. <- containerChanged Set to true if the container's contents changed
  2979. -> whichInfo The catalog information fields to return for each item
  2980. <- catalogInfo An array of catalog information; one for each returned item
  2981. <- refs An array of FSRefs; one for each returned item
  2982. <- specs An array of FSSpecs; one for each returned item. Ignored on 64 bit.
  2983. <- names An array of filenames; one for each returned item
  2984. Note: The catalogInfo, refs, specs, names, and containerChanged are all optional outputs;
  2985. if you don't want that particular output, set its pointer to NULL.
  2986. }
  2987. {
  2988. * FSGetCatalogInfoBulk()
  2989. *
  2990. * Mac OS X threading:
  2991. * Thread safe since version 10.0
  2992. *
  2993. * Availability:
  2994. * Mac OS X: in version 10.0 and later in CoreServices.framework
  2995. * CarbonLib: in CarbonLib 1.0 and later
  2996. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  2997. }
  2998. function FSGetCatalogInfoBulk( iterator: FSIterator; maximumObjects: ItemCount; var actualObjects: ItemCount; containerChanged: BooleanPtr; whichInfo: FSCatalogInfoBitmap; catalogInfos: FSCatalogInfoPtr; refs: FSRefPtr; specs: FSSpecPtr; names: HFSUniStr255Ptr ): OSErr; external name '_FSGetCatalogInfoBulk';
  2999. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  3000. {
  3001. * PBGetCatalogInfoBulkSync()
  3002. *
  3003. * Mac OS X threading:
  3004. * Thread safe since version 10.0
  3005. *
  3006. * Availability:
  3007. * Mac OS X: in version 10.0 and later in CoreServices.framework
  3008. * CarbonLib: in CarbonLib 1.0 and later
  3009. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  3010. }
  3011. function PBGetCatalogInfoBulkSync( var paramBlock: FSCatalogBulkParam ): OSErr; external name '_PBGetCatalogInfoBulkSync';
  3012. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  3013. {
  3014. * PBGetCatalogInfoBulkAsync()
  3015. *
  3016. * Mac OS X threading:
  3017. * Thread safe since version 10.0
  3018. *
  3019. * Availability:
  3020. * Mac OS X: in version 10.0 and later in CoreServices.framework
  3021. * CarbonLib: in CarbonLib 1.0 and later
  3022. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  3023. }
  3024. procedure PBGetCatalogInfoBulkAsync( var paramBlock: FSCatalogBulkParam ); external name '_PBGetCatalogInfoBulkAsync';
  3025. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  3026. {
  3027. CatalogSearch
  3028. Iterates over catalog objects, searching for objects that match given
  3029. search criteria. Returns various information about matching objects.
  3030. For now, iterator must have been created with kFSIterateSubtree option
  3031. and the container must have been the root directory of a volume.
  3032. -> ioCompletion A pointer to a completion routine
  3033. <- ioResult The result code of the function
  3034. -> iterator The iterator
  3035. -> maximumItems The maximum number of items to return
  3036. <- actualItems The actual number of items returned
  3037. <- containerChanged Set to true if the container's contents changed
  3038. -> whichInfo The catalog information fields to return for each item
  3039. <- catalogInfo An array of catalog information; one for each returned item
  3040. <- refs An array of FSRefs; one for each returned item
  3041. <- specs An array of FSSpecs; one for each returned item. Ignored on 64 bit.
  3042. <- names An array of filenames; one for each returned item
  3043. -> searchParams The criteria that controls the matching, including timeout, a bitmap
  3044. controlling the fields to compare, and the (Unicode) name to compare.
  3045. Note: The catalogInfo, refs, specs, and names are all optional outputs; if you don't want
  3046. that particular output, set its pointer to NULL.
  3047. }
  3048. {
  3049. * FSCatalogSearch()
  3050. *
  3051. * Mac OS X threading:
  3052. * Thread safe since version 10.0
  3053. *
  3054. * Availability:
  3055. * Mac OS X: in version 10.0 and later in CoreServices.framework
  3056. * CarbonLib: in CarbonLib 1.0 and later
  3057. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  3058. }
  3059. function FSCatalogSearch( iterator: FSIterator; const (*var*) searchCriteria: FSSearchParams; maximumObjects: ItemCount; var actualObjects: ItemCount; containerChanged: BooleanPtr; whichInfo: FSCatalogInfoBitmap; catalogInfos: FSCatalogInfoPtr; refs: FSRefPtr; specs: FSSpecPtr; names: HFSUniStr255Ptr ): OSErr; external name '_FSCatalogSearch';
  3060. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  3061. {
  3062. * PBCatalogSearchSync()
  3063. *
  3064. * Mac OS X threading:
  3065. * Thread safe since version 10.0
  3066. *
  3067. * Availability:
  3068. * Mac OS X: in version 10.0 and later in CoreServices.framework
  3069. * CarbonLib: in CarbonLib 1.0 and later
  3070. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  3071. }
  3072. function PBCatalogSearchSync( var paramBlock: FSCatalogBulkParam ): OSErr; external name '_PBCatalogSearchSync';
  3073. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  3074. {
  3075. * PBCatalogSearchAsync()
  3076. *
  3077. * Mac OS X threading:
  3078. * Thread safe since version 10.0
  3079. *
  3080. * Availability:
  3081. * Mac OS X: in version 10.0 and later in CoreServices.framework
  3082. * CarbonLib: in CarbonLib 1.0 and later
  3083. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  3084. }
  3085. procedure PBCatalogSearchAsync( var paramBlock: FSCatalogBulkParam ); external name '_PBCatalogSearchAsync';
  3086. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  3087. {
  3088. CreateFileAndOpenForkUnicode
  3089. Creates a new file and opens the specified fork. The input filename is in Unicode.
  3090. You can optionally set catalog info for the file.
  3091. -> ioCompletion A pointer to a completion routine
  3092. <- ioResult The result code of the function
  3093. -> parentRef The directory where the file is to be created
  3094. -> whichInfo Which catalog info fields to set
  3095. -> catalogInfo The values for catalog info fields to set; may be NULL
  3096. -> nameLength Number of Unicode characters in the file's name
  3097. -> name A pointer to the Unicode name
  3098. -> forkNameLength The length of the fork name (in Unicode characters).
  3099. -> forkName The name of the fork to open (in Unicode). Passing NULL will open the data fork.
  3100. -> permissions The access (read and/or write) you want
  3101. <- forkRefNum The reference number for accessing the open fork
  3102. <- newRef A pointer to the FSRef for the new file; may be NULL
  3103. }
  3104. {
  3105. * FSCreateFileAndOpenForkUnicode()
  3106. *
  3107. * Mac OS X threading:
  3108. * Thread safe since version 10.4
  3109. *
  3110. * Availability:
  3111. * Mac OS X: in version 10.4 and later in CoreServices.framework
  3112. * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.4 and later
  3113. * Non-Carbon CFM: not available
  3114. }
  3115. function FSCreateFileAndOpenForkUnicode( const (*var*) parentRef: FSRef; nameLength: UniCharCount; name: {const} UniCharPtr; whichInfo: FSCatalogInfoBitmap; catalogInfo: FSCatalogInfoPtr; forkNameLength: UniCharCount; forkName: {const} UniCharPtr; permissions: SInt8; var forkRefNum: FSIORefNum; newRef: FSRefPtr ): OSStatus; external name '_FSCreateFileAndOpenForkUnicode';
  3116. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  3117. {
  3118. * PBCreateFileAndOpenForkUnicodeSync()
  3119. *
  3120. * Mac OS X threading:
  3121. * Thread safe since version 10.4
  3122. *
  3123. * Availability:
  3124. * Mac OS X: in version 10.4 and later in CoreServices.framework
  3125. * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.4 and later
  3126. * Non-Carbon CFM: not available
  3127. }
  3128. function PBCreateFileAndOpenForkUnicodeSync( paramBlock: FSRefForkIOParamPtr ): OSStatus; external name '_PBCreateFileAndOpenForkUnicodeSync';
  3129. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  3130. {
  3131. * PBCreateFileAndOpenForkUnicodeAsync()
  3132. *
  3133. * Mac OS X threading:
  3134. * Thread safe since version 10.4
  3135. *
  3136. * Availability:
  3137. * Mac OS X: in version 10.4 and later in CoreServices.framework
  3138. * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.4 and later
  3139. * Non-Carbon CFM: not available
  3140. }
  3141. procedure PBCreateFileAndOpenForkUnicodeAsync( paramBlock: FSRefForkIOParamPtr ); external name '_PBCreateFileAndOpenForkUnicodeAsync';
  3142. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  3143. {
  3144. CreateFork
  3145. Create a named fork for a file or directory.
  3146. -> ioCompletion A pointer to a completion routine
  3147. <- ioResult The result code of the function
  3148. -> ref The file or directory
  3149. -> forkNameLength The length of the fork name (in Unicode characters)
  3150. -> forkName The name of the fork to open (in Unicode)
  3151. }
  3152. {
  3153. * FSCreateFork()
  3154. *
  3155. * Mac OS X threading:
  3156. * Thread safe since version 10.0
  3157. *
  3158. * Availability:
  3159. * Mac OS X: in version 10.0 and later in CoreServices.framework
  3160. * CarbonLib: in CarbonLib 1.0 and later
  3161. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  3162. }
  3163. function FSCreateFork( const (*var*) ref: FSRef; forkNameLength: UniCharCount; forkName: UniCharPtr ): OSErr; external name '_FSCreateFork';
  3164. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  3165. {
  3166. * PBCreateForkSync()
  3167. *
  3168. * Mac OS X threading:
  3169. * Thread safe since version 10.0
  3170. *
  3171. * Availability:
  3172. * Mac OS X: in version 10.0 and later in CoreServices.framework
  3173. * CarbonLib: in CarbonLib 1.0 and later
  3174. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  3175. }
  3176. function PBCreateForkSync( var paramBlock: FSForkIOParam ): OSErr; external name '_PBCreateForkSync';
  3177. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  3178. {
  3179. * PBCreateForkAsync()
  3180. *
  3181. * Mac OS X threading:
  3182. * Thread safe since version 10.0
  3183. *
  3184. * Availability:
  3185. * Mac OS X: in version 10.0 and later in CoreServices.framework
  3186. * CarbonLib: in CarbonLib 1.0 and later
  3187. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  3188. }
  3189. procedure PBCreateForkAsync( var paramBlock: FSForkIOParam ); external name '_PBCreateForkAsync';
  3190. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  3191. {
  3192. DeleteFork
  3193. Delete a named fork of a file or directory.
  3194. -> ioCompletion A pointer to a completion routine
  3195. <- ioResult The result code of the function
  3196. -> ref The file or directory
  3197. -> forkNameLength The length of the fork name (in Unicode characters)
  3198. -> forkName The name of the fork to open (in Unicode)
  3199. }
  3200. {
  3201. * FSDeleteFork()
  3202. *
  3203. * Mac OS X threading:
  3204. * Thread safe since version 10.0
  3205. *
  3206. * Availability:
  3207. * Mac OS X: in version 10.0 and later in CoreServices.framework
  3208. * CarbonLib: in CarbonLib 1.0 and later
  3209. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  3210. }
  3211. function FSDeleteFork( const (*var*) ref: FSRef; forkNameLength: UniCharCount; forkName: UniCharPtr ): OSErr; external name '_FSDeleteFork';
  3212. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  3213. {
  3214. * PBDeleteForkSync()
  3215. *
  3216. * Mac OS X threading:
  3217. * Thread safe since version 10.0
  3218. *
  3219. * Availability:
  3220. * Mac OS X: in version 10.0 and later in CoreServices.framework
  3221. * CarbonLib: in CarbonLib 1.0 and later
  3222. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  3223. }
  3224. function PBDeleteForkSync( var paramBlock: FSForkIOParam ): OSErr; external name '_PBDeleteForkSync';
  3225. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  3226. {
  3227. * PBDeleteForkAsync()
  3228. *
  3229. * Mac OS X threading:
  3230. * Thread safe since version 10.0
  3231. *
  3232. * Availability:
  3233. * Mac OS X: in version 10.0 and later in CoreServices.framework
  3234. * CarbonLib: in CarbonLib 1.0 and later
  3235. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  3236. }
  3237. procedure PBDeleteForkAsync( var paramBlock: FSForkIOParam ); external name '_PBDeleteForkAsync';
  3238. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  3239. {
  3240. IterateForks
  3241. Return the names and sizes of the forks of a file or directory.
  3242. One fork is returned per call.
  3243. -> ioCompletion A pointer to a completion routine.
  3244. <- ioResult The result code of the function.
  3245. -> ref The file or directory containing the forks.
  3246. <- positionOffset The length of the fork, in bytes.
  3247. <- allocationAmount The space allocated to the fork (physical length).
  3248. <- outForkName The name of the fork in Unicode.
  3249. <> forkIterator Maintains state between calls for a given FSRef.
  3250. Before the first call, set the initialize field to zero.
  3251. }
  3252. {
  3253. * FSIterateForks()
  3254. *
  3255. * Mac OS X threading:
  3256. * Thread safe since version 10.0
  3257. *
  3258. * Availability:
  3259. * Mac OS X: in version 10.0 and later in CoreServices.framework
  3260. * CarbonLib: in CarbonLib 1.0 and later
  3261. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  3262. }
  3263. function FSIterateForks( const (*var*) ref: FSRef; var forkIterator: CatPositionRec; forkName: HFSUniStr255Ptr; forkSize: SInt64Ptr; forkPhysicalSize: UInt64Ptr ): OSErr; external name '_FSIterateForks';
  3264. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  3265. {
  3266. * PBIterateForksSync()
  3267. *
  3268. * Mac OS X threading:
  3269. * Thread safe since version 10.0
  3270. *
  3271. * Availability:
  3272. * Mac OS X: in version 10.0 and later in CoreServices.framework
  3273. * CarbonLib: in CarbonLib 1.0 and later
  3274. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  3275. }
  3276. function PBIterateForksSync( var paramBlock: FSForkIOParam ): OSErr; external name '_PBIterateForksSync';
  3277. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  3278. {
  3279. * PBIterateForksAsync()
  3280. *
  3281. * Mac OS X threading:
  3282. * Thread safe since version 10.0
  3283. *
  3284. * Availability:
  3285. * Mac OS X: in version 10.0 and later in CoreServices.framework
  3286. * CarbonLib: in CarbonLib 1.0 and later
  3287. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  3288. }
  3289. procedure PBIterateForksAsync( var paramBlock: FSForkIOParam ); external name '_PBIterateForksAsync';
  3290. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  3291. {
  3292. OpenFork
  3293. Open a fork for reading and/or writing. Allows the opened fork
  3294. to grow beyond 2GB in size. All volumes should support data and
  3295. resource forks. Other named forks may be supported by some
  3296. volumes.
  3297. -> ioCompletion A pointer to a completion routine
  3298. <- ioResult The result code of the function
  3299. -> ref The file or directory containing the fork to open
  3300. -> forkNameLength The length of the fork name (in Unicode characters)
  3301. -> forkName The name of the fork to open (in Unicode)
  3302. -> permissions The access (read and/or write) you want
  3303. <- forkRefNum The reference number for accessing the open fork
  3304. }
  3305. {
  3306. * FSOpenFork()
  3307. *
  3308. * Mac OS X threading:
  3309. * Thread safe since version 10.0
  3310. *
  3311. * Availability:
  3312. * Mac OS X: in version 10.0 and later in CoreServices.framework
  3313. * CarbonLib: in CarbonLib 1.0 and later
  3314. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  3315. }
  3316. function FSOpenFork( const (*var*) ref: FSRef; forkNameLength: UniCharCount; forkName: UniCharPtr; permissions: SInt8; var forkRefNum: FSIORefNum ): OSErr; external name '_FSOpenFork';
  3317. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  3318. {
  3319. * PBOpenForkSync()
  3320. *
  3321. * Mac OS X threading:
  3322. * Thread safe since version 10.0
  3323. *
  3324. * Availability:
  3325. * Mac OS X: in version 10.0 and later in CoreServices.framework
  3326. * CarbonLib: in CarbonLib 1.0 and later
  3327. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  3328. }
  3329. function PBOpenForkSync( var paramBlock: FSForkIOParam ): OSErr; external name '_PBOpenForkSync';
  3330. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  3331. {
  3332. * PBOpenForkAsync()
  3333. *
  3334. * Mac OS X threading:
  3335. * Thread safe since version 10.0
  3336. *
  3337. * Availability:
  3338. * Mac OS X: in version 10.0 and later in CoreServices.framework
  3339. * CarbonLib: in CarbonLib 1.0 and later
  3340. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  3341. }
  3342. procedure PBOpenForkAsync( var paramBlock: FSForkIOParam ); external name '_PBOpenForkAsync';
  3343. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  3344. {
  3345. ReadFork
  3346. Read data from a fork opened via OpenFork. The first byte to read is
  3347. indicated by a combination of positionMode and positionOffset.
  3348. -> ioCompletion A pointer to a completion routine
  3349. <- ioResult The result code of the function
  3350. -> forkRefNum The reference number of the fork to read from
  3351. <- buffer Pointer to buffer where data will be returned
  3352. -> requestCount The number of bytes to read
  3353. <- actualCount The number of bytes actually read
  3354. -> positionMode The base location for start of read
  3355. -> positionOffset The offset from base location for start of read
  3356. }
  3357. {
  3358. * FSReadFork()
  3359. *
  3360. * Mac OS X threading:
  3361. * Thread safe since version 10.0
  3362. *
  3363. * Availability:
  3364. * Mac OS X: in version 10.0 and later in CoreServices.framework
  3365. * CarbonLib: in CarbonLib 1.0 and later
  3366. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  3367. }
  3368. function FSReadFork( forkRefNum: FSIORefNum; positionMode: UInt16; positionOffset: SInt64; requestCount: ByteCount; buffer: UnivPtr; actualCount: ByteCountPtr ): OSErr; external name '_FSReadFork';
  3369. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  3370. {
  3371. * PBReadForkSync()
  3372. *
  3373. * Mac OS X threading:
  3374. * Thread safe since version 10.0
  3375. *
  3376. * Availability:
  3377. * Mac OS X: in version 10.0 and later in CoreServices.framework
  3378. * CarbonLib: in CarbonLib 1.0 and later
  3379. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  3380. }
  3381. function PBReadForkSync( var paramBlock: FSForkIOParam ): OSErr; external name '_PBReadForkSync';
  3382. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  3383. {
  3384. * PBReadForkAsync()
  3385. *
  3386. * Mac OS X threading:
  3387. * Thread safe since version 10.0
  3388. *
  3389. * Availability:
  3390. * Mac OS X: in version 10.0 and later in CoreServices.framework
  3391. * CarbonLib: in CarbonLib 1.0 and later
  3392. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  3393. }
  3394. procedure PBReadForkAsync( var paramBlock: FSForkIOParam ); external name '_PBReadForkAsync';
  3395. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  3396. {
  3397. WriteFork
  3398. Write data to a fork opened via OpenFork. The first byte to write is
  3399. indicated by a combination of positionMode and positionOffset.
  3400. -> ioCompletion A pointer to a completion routine
  3401. <- ioResult The result code of the function
  3402. -> forkRefNum The reference number of the fork to write to
  3403. -> buffer Pointer to data to write
  3404. -> requestCount The number of bytes to write
  3405. <- actualCount The number of bytes actually written
  3406. -> positionMode The base location for start of write
  3407. -> positionOffset The offset from base location for start of write
  3408. }
  3409. {
  3410. * FSWriteFork()
  3411. *
  3412. * Mac OS X threading:
  3413. * Thread safe since version 10.0
  3414. *
  3415. * Availability:
  3416. * Mac OS X: in version 10.0 and later in CoreServices.framework
  3417. * CarbonLib: in CarbonLib 1.0 and later
  3418. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  3419. }
  3420. function FSWriteFork( forkRefNum: FSIORefNum; positionMode: UInt16; positionOffset: SInt64; requestCount: ByteCount; buffer: UnivPtr; actualCount: ByteCountPtr ): OSErr; external name '_FSWriteFork';
  3421. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  3422. {
  3423. * PBWriteForkSync()
  3424. *
  3425. * Mac OS X threading:
  3426. * Thread safe since version 10.0
  3427. *
  3428. * Availability:
  3429. * Mac OS X: in version 10.0 and later in CoreServices.framework
  3430. * CarbonLib: in CarbonLib 1.0 and later
  3431. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  3432. }
  3433. function PBWriteForkSync( var paramBlock: FSForkIOParam ): OSErr; external name '_PBWriteForkSync';
  3434. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  3435. {
  3436. * PBWriteForkAsync()
  3437. *
  3438. * Mac OS X threading:
  3439. * Thread safe since version 10.0
  3440. *
  3441. * Availability:
  3442. * Mac OS X: in version 10.0 and later in CoreServices.framework
  3443. * CarbonLib: in CarbonLib 1.0 and later
  3444. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  3445. }
  3446. procedure PBWriteForkAsync( var paramBlock: FSForkIOParam ); external name '_PBWriteForkAsync';
  3447. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  3448. {
  3449. GetForkPosition
  3450. Get the current (default) position of a fork that was
  3451. opened via OpenFork.
  3452. -> ioCompletion A pointer to a completion routine
  3453. <- ioResult The result code of the function
  3454. -> forkRefNum The reference number of the fork
  3455. <- positionOffset The current position of the fork
  3456. }
  3457. {
  3458. * FSGetForkPosition()
  3459. *
  3460. * Mac OS X threading:
  3461. * Thread safe since version 10.0
  3462. *
  3463. * Availability:
  3464. * Mac OS X: in version 10.0 and later in CoreServices.framework
  3465. * CarbonLib: in CarbonLib 1.0 and later
  3466. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  3467. }
  3468. function FSGetForkPosition( forkRefNum: FSIORefNum; var position: SInt64 ): OSErr; external name '_FSGetForkPosition';
  3469. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  3470. {
  3471. * PBGetForkPositionSync()
  3472. *
  3473. * Mac OS X threading:
  3474. * Thread safe since version 10.0
  3475. *
  3476. * Availability:
  3477. * Mac OS X: in version 10.0 and later in CoreServices.framework
  3478. * CarbonLib: in CarbonLib 1.0 and later
  3479. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  3480. }
  3481. function PBGetForkPositionSync( var paramBlock: FSForkIOParam ): OSErr; external name '_PBGetForkPositionSync';
  3482. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  3483. {
  3484. * PBGetForkPositionAsync()
  3485. *
  3486. * Mac OS X threading:
  3487. * Thread safe since version 10.0
  3488. *
  3489. * Availability:
  3490. * Mac OS X: in version 10.0 and later in CoreServices.framework
  3491. * CarbonLib: in CarbonLib 1.0 and later
  3492. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  3493. }
  3494. procedure PBGetForkPositionAsync( var paramBlock: FSForkIOParam ); external name '_PBGetForkPositionAsync';
  3495. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  3496. {
  3497. SetForkPosition
  3498. Set the current (default) position of a fork that was
  3499. opened via OpenFork.
  3500. -> ioCompletion A pointer to a completion routine
  3501. <- ioResult The result code of the function
  3502. -> forkRefNum The reference number of the fork
  3503. -> positionMode The base location for the new position
  3504. -> positionOffset The offset of the new position from the base
  3505. }
  3506. {
  3507. * FSSetForkPosition()
  3508. *
  3509. * Mac OS X threading:
  3510. * Thread safe since version 10.0
  3511. *
  3512. * Availability:
  3513. * Mac OS X: in version 10.0 and later in CoreServices.framework
  3514. * CarbonLib: in CarbonLib 1.0 and later
  3515. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  3516. }
  3517. function FSSetForkPosition( forkRefNum: FSIORefNum; positionMode: UInt16; positionOffset: SInt64 ): OSErr; external name '_FSSetForkPosition';
  3518. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  3519. {
  3520. * PBSetForkPositionSync()
  3521. *
  3522. * Mac OS X threading:
  3523. * Thread safe since version 10.0
  3524. *
  3525. * Availability:
  3526. * Mac OS X: in version 10.0 and later in CoreServices.framework
  3527. * CarbonLib: in CarbonLib 1.0 and later
  3528. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  3529. }
  3530. function PBSetForkPositionSync( var paramBlock: FSForkIOParam ): OSErr; external name '_PBSetForkPositionSync';
  3531. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  3532. {
  3533. * PBSetForkPositionAsync()
  3534. *
  3535. * Mac OS X threading:
  3536. * Thread safe since version 10.0
  3537. *
  3538. * Availability:
  3539. * Mac OS X: in version 10.0 and later in CoreServices.framework
  3540. * CarbonLib: in CarbonLib 1.0 and later
  3541. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  3542. }
  3543. procedure PBSetForkPositionAsync( var paramBlock: FSForkIOParam ); external name '_PBSetForkPositionAsync';
  3544. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  3545. {
  3546. GetForkSize
  3547. Get the current logical size (end-of-file) of an open fork.
  3548. -> ioCompletion A pointer to a completion routine
  3549. <- ioResult The result code of the function
  3550. -> forkRefNum The reference number of the fork
  3551. <- positionOffset The logical size of the fork, in bytes
  3552. }
  3553. {
  3554. * FSGetForkSize()
  3555. *
  3556. * Mac OS X threading:
  3557. * Thread safe since version 10.0
  3558. *
  3559. * Availability:
  3560. * Mac OS X: in version 10.0 and later in CoreServices.framework
  3561. * CarbonLib: in CarbonLib 1.0 and later
  3562. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  3563. }
  3564. function FSGetForkSize( forkRefNum: FSIORefNum; var forkSize: SInt64 ): OSErr; external name '_FSGetForkSize';
  3565. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  3566. {
  3567. * PBGetForkSizeSync()
  3568. *
  3569. * Mac OS X threading:
  3570. * Thread safe since version 10.0
  3571. *
  3572. * Availability:
  3573. * Mac OS X: in version 10.0 and later in CoreServices.framework
  3574. * CarbonLib: in CarbonLib 1.0 and later
  3575. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  3576. }
  3577. function PBGetForkSizeSync( var paramBlock: FSForkIOParam ): OSErr; external name '_PBGetForkSizeSync';
  3578. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  3579. {
  3580. * PBGetForkSizeAsync()
  3581. *
  3582. * Mac OS X threading:
  3583. * Thread safe since version 10.0
  3584. *
  3585. * Availability:
  3586. * Mac OS X: in version 10.0 and later in CoreServices.framework
  3587. * CarbonLib: in CarbonLib 1.0 and later
  3588. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  3589. }
  3590. procedure PBGetForkSizeAsync( var paramBlock: FSForkIOParam ); external name '_PBGetForkSizeAsync';
  3591. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  3592. {
  3593. SetForkSize
  3594. Set the logical size (end-of-file) of an open fork. This
  3595. may cause space to be allocated or deallocated.
  3596. -> ioCompletion A pointer to a completion routine
  3597. <- ioResult The result code of the function
  3598. -> forkRefNum The reference number of the fork
  3599. -> positionMode The base location for the new size
  3600. -> positionOffset The offset of the new size from the base
  3601. }
  3602. {
  3603. * FSSetForkSize()
  3604. *
  3605. * Mac OS X threading:
  3606. * Thread safe since version 10.0
  3607. *
  3608. * Availability:
  3609. * Mac OS X: in version 10.0 and later in CoreServices.framework
  3610. * CarbonLib: in CarbonLib 1.0 and later
  3611. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  3612. }
  3613. function FSSetForkSize( forkRefNum: FSIORefNum; positionMode: UInt16; positionOffset: SInt64 ): OSErr; external name '_FSSetForkSize';
  3614. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  3615. {
  3616. * PBSetForkSizeSync()
  3617. *
  3618. * Mac OS X threading:
  3619. * Thread safe since version 10.0
  3620. *
  3621. * Availability:
  3622. * Mac OS X: in version 10.0 and later in CoreServices.framework
  3623. * CarbonLib: in CarbonLib 1.0 and later
  3624. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  3625. }
  3626. function PBSetForkSizeSync( var paramBlock: FSForkIOParam ): OSErr; external name '_PBSetForkSizeSync';
  3627. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  3628. {
  3629. * PBSetForkSizeAsync()
  3630. *
  3631. * Mac OS X threading:
  3632. * Thread safe since version 10.0
  3633. *
  3634. * Availability:
  3635. * Mac OS X: in version 10.0 and later in CoreServices.framework
  3636. * CarbonLib: in CarbonLib 1.0 and later
  3637. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  3638. }
  3639. procedure PBSetForkSizeAsync( var paramBlock: FSForkIOParam ); external name '_PBSetForkSizeAsync';
  3640. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  3641. {
  3642. AllocateFork
  3643. Allocate space to an open fork. Typically, the space to be
  3644. allocated is beyond the current size of the fork, to reserve
  3645. space so the file will be able to grow later. Some volume
  3646. formats are unable to allocate space beyond the logical size
  3647. of the fork.
  3648. -> ioCompletion A pointer to a completion routine
  3649. <- ioResult The result code of the function
  3650. -> forkRefNum The reference number of the fork
  3651. -> positionMode The base location for start of allocation
  3652. -> positionOffset The offset of the start of allocation
  3653. -> allocationFlags Zero or more of the following flags:
  3654. kFSAllocContiguousMask
  3655. Any newly allocated space must be one contiguous piece.
  3656. kFSAllocAllOrNothingMask
  3657. All of the request space must be available, or the call
  3658. will fail. (If not set, the call may succeed even though
  3659. some of the requested space wasn't allocated.)
  3660. kFSAllocNoRoundUpMask
  3661. Do not allocate additional space. (If not set, a volume
  3662. may allocate additional space in order to reduce fragmentation.)
  3663. <> allocationAmount The number of bytes to allocate
  3664. On output, the number of bytes actually added
  3665. }
  3666. {
  3667. * FSAllocateFork()
  3668. *
  3669. * Mac OS X threading:
  3670. * Thread safe since version 10.0
  3671. *
  3672. * Availability:
  3673. * Mac OS X: in version 10.0 and later in CoreServices.framework
  3674. * CarbonLib: in CarbonLib 1.0 and later
  3675. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  3676. }
  3677. function FSAllocateFork( forkRefNum: FSIORefNum; flags: FSAllocationFlags; positionMode: UInt16; positionOffset: SInt64; requestCount: UInt64; actualCount: UInt64Ptr ): OSErr; external name '_FSAllocateFork';
  3678. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  3679. {
  3680. * PBAllocateForkSync()
  3681. *
  3682. * Mac OS X threading:
  3683. * Thread safe since version 10.0
  3684. *
  3685. * Availability:
  3686. * Mac OS X: in version 10.0 and later in CoreServices.framework
  3687. * CarbonLib: in CarbonLib 1.0 and later
  3688. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  3689. }
  3690. function PBAllocateForkSync( var paramBlock: FSForkIOParam ): OSErr; external name '_PBAllocateForkSync';
  3691. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  3692. {
  3693. * PBAllocateForkAsync()
  3694. *
  3695. * Mac OS X threading:
  3696. * Thread safe since version 10.0
  3697. *
  3698. * Availability:
  3699. * Mac OS X: in version 10.0 and later in CoreServices.framework
  3700. * CarbonLib: in CarbonLib 1.0 and later
  3701. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  3702. }
  3703. procedure PBAllocateForkAsync( var paramBlock: FSForkIOParam ); external name '_PBAllocateForkAsync';
  3704. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  3705. {
  3706. FlushFork
  3707. Flush a fork. Any data written to this fork refnum is flushed to the device.
  3708. The volume's control structures are also flushed to the device.
  3709. -> ioCompletion A pointer to a completion routine
  3710. <- ioResult The result code of the function
  3711. -> forkRefNum The reference number of the fork to flush
  3712. }
  3713. {
  3714. * FSFlushFork()
  3715. *
  3716. * Mac OS X threading:
  3717. * Thread safe since version 10.0
  3718. *
  3719. * Availability:
  3720. * Mac OS X: in version 10.0 and later in CoreServices.framework
  3721. * CarbonLib: in CarbonLib 1.0 and later
  3722. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  3723. }
  3724. function FSFlushFork( forkRefNum: FSIORefNum ): OSErr; external name '_FSFlushFork';
  3725. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  3726. {
  3727. * PBFlushForkSync()
  3728. *
  3729. * Mac OS X threading:
  3730. * Thread safe since version 10.0
  3731. *
  3732. * Availability:
  3733. * Mac OS X: in version 10.0 and later in CoreServices.framework
  3734. * CarbonLib: in CarbonLib 1.0 and later
  3735. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  3736. }
  3737. function PBFlushForkSync( var paramBlock: FSForkIOParam ): OSErr; external name '_PBFlushForkSync';
  3738. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  3739. {
  3740. * PBFlushForkAsync()
  3741. *
  3742. * Mac OS X threading:
  3743. * Thread safe since version 10.0
  3744. *
  3745. * Availability:
  3746. * Mac OS X: in version 10.0 and later in CoreServices.framework
  3747. * CarbonLib: in CarbonLib 1.0 and later
  3748. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  3749. }
  3750. procedure PBFlushForkAsync( var paramBlock: FSForkIOParam ); external name '_PBFlushForkAsync';
  3751. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  3752. {
  3753. CloseFork
  3754. Flush and close a fork. Any data written to this fork refnum is flushed
  3755. to the device. The volume's control structures are also flushed to the device.
  3756. -> ioCompletion A pointer to a completion routine
  3757. <- ioResult The result code of the function
  3758. -> forkRefNum The reference number of the fork to close
  3759. }
  3760. {
  3761. * FSCloseFork()
  3762. *
  3763. * Mac OS X threading:
  3764. * Thread safe since version 10.0
  3765. *
  3766. * Availability:
  3767. * Mac OS X: in version 10.0 and later in CoreServices.framework
  3768. * CarbonLib: in CarbonLib 1.0 and later
  3769. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  3770. }
  3771. function FSCloseFork( forkRefNum: FSIORefNum ): OSErr; external name '_FSCloseFork';
  3772. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  3773. {
  3774. * PBCloseForkSync()
  3775. *
  3776. * Mac OS X threading:
  3777. * Thread safe since version 10.0
  3778. *
  3779. * Availability:
  3780. * Mac OS X: in version 10.0 and later in CoreServices.framework
  3781. * CarbonLib: in CarbonLib 1.0 and later
  3782. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  3783. }
  3784. function PBCloseForkSync( var paramBlock: FSForkIOParam ): OSErr; external name '_PBCloseForkSync';
  3785. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  3786. {
  3787. * PBCloseForkAsync()
  3788. *
  3789. * Mac OS X threading:
  3790. * Thread safe since version 10.0
  3791. *
  3792. * Availability:
  3793. * Mac OS X: in version 10.0 and later in CoreServices.framework
  3794. * CarbonLib: in CarbonLib 1.0 and later
  3795. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  3796. }
  3797. procedure PBCloseForkAsync( var paramBlock: FSForkIOParam ); external name '_PBCloseForkAsync';
  3798. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  3799. {
  3800. GetForkCBInfo
  3801. Return information about an open fork.
  3802. -> ioCompletion A pointer to a completion routine
  3803. <- ioResult The result code of the function
  3804. <> desiredRefNum If non-zero on input, then get information for this refnum;
  3805. unchanged on output. If zero on input, iterate over all open
  3806. forks (possibly limited to a single volume); on output, contains
  3807. the fork's refnum.
  3808. -> volumeRefNum Used when desiredRefNum is zero on input. Set to 0 to iterate over all
  3809. volumes, or set to a FSVolumeRefNum to limit iteration to that volume.
  3810. <> iterator Used when desiredRefNum is zero on input. Set to 0 before iterating.
  3811. Pass the iterator returned by the previous call to continue iterating.
  3812. <- actualRefNum The refnum of the open fork.
  3813. <- ref The FSRef for the file or directory that contains the fork.
  3814. <- forkInfo Various information about the open fork.
  3815. <- outForkName The name of the fork
  3816. Note: the foundRefNum, ref, forkInfo, and fork name outputs are all optional; if you don't want
  3817. a particular output, then set its pointer to NULL. If forkName is NULL, then forkNameLength
  3818. will be undefined.
  3819. Note: Returning the forkInfo generally does not require a disk access. Returning the
  3820. ref or forkName may cause disk access for some volume formats.
  3821. }
  3822. {
  3823. * FSGetForkCBInfo()
  3824. *
  3825. * Mac OS X threading:
  3826. * Thread safe since version 10.0
  3827. *
  3828. * Availability:
  3829. * Mac OS X: in version 10.0 and later in CoreServices.framework
  3830. * CarbonLib: in CarbonLib 1.0 and later
  3831. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  3832. }
  3833. function FSGetForkCBInfo( desiredRefNum: FSIORefNum; volume: FSVolumeRefNum; iterator: SInt16Ptr; actualRefNum: SInt16Ptr; forkInfo: FSForkInfoPtr; ref: FSRefPtr; outForkName: HFSUniStr255Ptr ): OSErr; external name '_FSGetForkCBInfo';
  3834. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  3835. {
  3836. * PBGetForkCBInfoSync()
  3837. *
  3838. * Mac OS X threading:
  3839. * Thread safe since version 10.0
  3840. *
  3841. * Availability:
  3842. * Mac OS X: in version 10.0 and later in CoreServices.framework
  3843. * CarbonLib: in CarbonLib 1.0 and later
  3844. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  3845. }
  3846. function PBGetForkCBInfoSync( var paramBlock: FSForkCBInfoParam ): OSErr; external name '_PBGetForkCBInfoSync';
  3847. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  3848. {
  3849. * PBGetForkCBInfoAsync()
  3850. *
  3851. * Mac OS X threading:
  3852. * Thread safe since version 10.0
  3853. *
  3854. * Availability:
  3855. * Mac OS X: in version 10.0 and later in CoreServices.framework
  3856. * CarbonLib: in CarbonLib 1.0 and later
  3857. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  3858. }
  3859. procedure PBGetForkCBInfoAsync( var paramBlock: FSForkCBInfoParam ); external name '_PBGetForkCBInfoAsync';
  3860. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  3861. {
  3862. PBXLockRange
  3863. Lock a range of bytes of the file fork specified by forkRefNum.
  3864. This is only supported on some volume formats.
  3865. -> ioCompletion A pointer to a completion routine
  3866. <- ioResult The result code of the function
  3867. -> forkRefNum The reference number of the fork to read from
  3868. -> requestCount The number of bytes to lock
  3869. -> positionMode The base location for start of the range
  3870. -> positionOffset The offset from base location for start of the range
  3871. <- rangeStart Number of the first byte locked
  3872. }
  3873. {
  3874. * FSLockRange()
  3875. *
  3876. * Mac OS X threading:
  3877. * Thread safe since version 10.4
  3878. *
  3879. * Availability:
  3880. * Mac OS X: in version 10.4 and later in CoreServices.framework
  3881. * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.4 and later
  3882. * Non-Carbon CFM: not available
  3883. }
  3884. function FSLockRange( forkRefNum: FSIORefNum; positionMode: UInt16; positionOffset: SInt64; requestCount: UInt64; var rangeStart: UInt64 ): OSStatus; external name '_FSLockRange';
  3885. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  3886. {
  3887. * PBXLockRangeSync()
  3888. *
  3889. * Mac OS X threading:
  3890. * Thread safe since version 10.4
  3891. *
  3892. * Availability:
  3893. * Mac OS X: in version 10.4 and later in CoreServices.framework
  3894. * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.4 and later
  3895. * Non-Carbon CFM: not available
  3896. }
  3897. function PBXLockRangeSync( paramBlock: FSRangeLockParamPtr ): OSStatus; external name '_PBXLockRangeSync';
  3898. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  3899. {
  3900. * PBXLockRangeAsync()
  3901. *
  3902. * Mac OS X threading:
  3903. * Thread safe since version 10.4
  3904. *
  3905. * Availability:
  3906. * Mac OS X: in version 10.4 and later in CoreServices.framework
  3907. * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.4 and later
  3908. * Non-Carbon CFM: not available
  3909. }
  3910. function PBXLockRangeAsync( paramBlock: FSRangeLockParamPtr ): OSStatus; external name '_PBXLockRangeAsync';
  3911. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  3912. {
  3913. PBXUnlockRange
  3914. Unlock a range of bytes of the file fork specified by forkRefNum.
  3915. This is only supported on some volume formats.
  3916. -> ioCompletion A pointer to a completion routine
  3917. <- ioResult The result code of the function
  3918. -> forkRefNum The reference number of the fork to read from
  3919. -> requestCount The number of bytes to lock
  3920. -> positionMode The base location for start of the range
  3921. -> positionOffset The offset from base location for start of the range
  3922. <- rangeStart Number of the first byte unlocked
  3923. }
  3924. {
  3925. * FSUnlockRange()
  3926. *
  3927. * Mac OS X threading:
  3928. * Thread safe since version 10.4
  3929. *
  3930. * Availability:
  3931. * Mac OS X: in version 10.4 and later in CoreServices.framework
  3932. * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.4 and later
  3933. * Non-Carbon CFM: not available
  3934. }
  3935. function FSUnlockRange( forkRefNum: FSIORefNum; positionMode: UInt16; positionOffset: SInt64; requestCount: UInt64; var rangeStart: UInt64 ): OSStatus; external name '_FSUnlockRange';
  3936. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  3937. {
  3938. * PBXUnlockRangeSync()
  3939. *
  3940. * Mac OS X threading:
  3941. * Thread safe since version 10.4
  3942. *
  3943. * Availability:
  3944. * Mac OS X: in version 10.4 and later in CoreServices.framework
  3945. * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.4 and later
  3946. * Non-Carbon CFM: not available
  3947. }
  3948. function PBXUnlockRangeSync( paramBlock: FSRangeLockParamPtr ): OSStatus; external name '_PBXUnlockRangeSync';
  3949. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  3950. {
  3951. * PBXUnlockRangeAsync()
  3952. *
  3953. * Mac OS X threading:
  3954. * Thread safe since version 10.4
  3955. *
  3956. * Availability:
  3957. * Mac OS X: in version 10.4 and later in CoreServices.framework
  3958. * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.4 and later
  3959. * Non-Carbon CFM: not available
  3960. }
  3961. function PBXUnlockRangeAsync( paramBlock: FSRangeLockParamPtr ): OSStatus; external name '_PBXUnlockRangeAsync';
  3962. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  3963. {
  3964. GetVolumeInfo
  3965. Returns various information about a given volume, or indexing over all volumes.
  3966. -> ioCompletion A pointer to a completion routine
  3967. <- ioResult The result code of the function
  3968. <> ioVRefNum On input, the volume reference number or drive number whose
  3969. information is to be returned (if volumeIndex is 0); same
  3970. as "volume" input to FSGetVolumeInfo.
  3971. On output, the actual volume reference number; same as
  3972. "actualVolume" output of FSGetVolumeInfo.
  3973. -> volumeIndex The index of the desired volume, or 0 to use ioVRefNum
  3974. -> whichInfo Which volInfo info fields to get
  3975. <- volumeInfo The returned values of Volume info fields; may be NULL
  3976. <- name The Unicode name is returned here. This pointer may be NULL.
  3977. Note: All of the outputs are optional; if you don't want that particular output, just
  3978. set its pointer to NULL.
  3979. }
  3980. {
  3981. * FSGetVolumeInfo()
  3982. *
  3983. * Mac OS X threading:
  3984. * Thread safe since version 10.0
  3985. *
  3986. * Availability:
  3987. * Mac OS X: in version 10.0 and later in CoreServices.framework
  3988. * CarbonLib: in CarbonLib 1.0 and later
  3989. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  3990. }
  3991. function FSGetVolumeInfo( volume: FSVolumeRefNum; volumeIndex: ItemCount; actualVolume: FSVolumeRefNumPtr; whichInfo: FSVolumeInfoBitmap; info: FSVolumeInfoPtr; volumeName: HFSUniStr255Ptr; rootDirectory: FSRefPtr ): OSErr; external name '_FSGetVolumeInfo';
  3992. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  3993. {
  3994. * PBGetVolumeInfoSync()
  3995. *
  3996. * Mac OS X threading:
  3997. * Thread safe since version 10.0
  3998. *
  3999. * Availability:
  4000. * Mac OS X: in version 10.0 and later in CoreServices.framework
  4001. * CarbonLib: in CarbonLib 1.0 and later
  4002. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  4003. }
  4004. function PBGetVolumeInfoSync( var paramBlock: FSVolumeInfoParam ): OSErr; external name '_PBGetVolumeInfoSync';
  4005. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  4006. {
  4007. * PBGetVolumeInfoAsync()
  4008. *
  4009. * Mac OS X threading:
  4010. * Thread safe since version 10.0
  4011. *
  4012. * Availability:
  4013. * Mac OS X: in version 10.0 and later in CoreServices.framework
  4014. * CarbonLib: in CarbonLib 1.0 and later
  4015. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  4016. }
  4017. procedure PBGetVolumeInfoAsync( var paramBlock: FSVolumeInfoParam ); external name '_PBGetVolumeInfoAsync';
  4018. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  4019. {
  4020. SetVolumeInfo
  4021. Set information about a given volume.
  4022. -> ioCompletion A pointer to a completion routine
  4023. <- ioResult The result code of the function
  4024. -> ioVRefNum The volume whose information is to be changed
  4025. -> whichInfo Which catalog info fields to set
  4026. -> volumeInfo The new values of volume info fields
  4027. Note: Only some of the volume info fields may be set. The settable fields
  4028. are given by the constant kFSVolInfoSettableInfo; no other bits may be set in
  4029. whichInfo.
  4030. }
  4031. {
  4032. * FSSetVolumeInfo()
  4033. *
  4034. * Mac OS X threading:
  4035. * Thread safe since version 10.0
  4036. *
  4037. * Availability:
  4038. * Mac OS X: in version 10.0 and later in CoreServices.framework
  4039. * CarbonLib: in CarbonLib 1.0 and later
  4040. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  4041. }
  4042. function FSSetVolumeInfo( volume: FSVolumeRefNum; whichInfo: FSVolumeInfoBitmap; const (*var*) info: FSVolumeInfo ): OSErr; external name '_FSSetVolumeInfo';
  4043. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  4044. {
  4045. * PBSetVolumeInfoSync()
  4046. *
  4047. * Mac OS X threading:
  4048. * Thread safe since version 10.0
  4049. *
  4050. * Availability:
  4051. * Mac OS X: in version 10.0 and later in CoreServices.framework
  4052. * CarbonLib: in CarbonLib 1.0 and later
  4053. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  4054. }
  4055. function PBSetVolumeInfoSync( var paramBlock: FSVolumeInfoParam ): OSErr; external name '_PBSetVolumeInfoSync';
  4056. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  4057. {
  4058. * PBSetVolumeInfoAsync()
  4059. *
  4060. * Mac OS X threading:
  4061. * Thread safe since version 10.0
  4062. *
  4063. * Availability:
  4064. * Mac OS X: in version 10.0 and later in CoreServices.framework
  4065. * CarbonLib: in CarbonLib 1.0 and later
  4066. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  4067. }
  4068. procedure PBSetVolumeInfoAsync( var paramBlock: FSVolumeInfoParam ); external name '_PBSetVolumeInfoAsync';
  4069. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  4070. {
  4071. FSGetDataForkName
  4072. Returns the constant for the name of the data fork (the empty string)
  4073. }
  4074. {
  4075. * FSGetDataForkName()
  4076. *
  4077. * Mac OS X threading:
  4078. * Thread safe since version 10.0
  4079. *
  4080. * Availability:
  4081. * Mac OS X: in version 10.0 and later in CoreServices.framework
  4082. * CarbonLib: in CarbonLib 1.0 and later
  4083. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  4084. }
  4085. function FSGetDataForkName( var dataForkName: HFSUniStr255 ): OSErr; external name '_FSGetDataForkName';
  4086. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  4087. {
  4088. FSGetResourceForkName
  4089. Returns the constant for the name of the resource fork
  4090. (currently "RESOURCE_FORK").
  4091. }
  4092. {
  4093. * FSGetResourceForkName()
  4094. *
  4095. * Mac OS X threading:
  4096. * Thread safe since version 10.0
  4097. *
  4098. * Availability:
  4099. * Mac OS X: in version 10.0 and later in CoreServices.framework
  4100. * CarbonLib: in CarbonLib 1.0 and later
  4101. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  4102. }
  4103. function FSGetResourceForkName( var resourceForkName: HFSUniStr255 ): OSErr; external name '_FSGetResourceForkName';
  4104. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  4105. {
  4106. * FSRefMakePath()
  4107. *
  4108. * Summary:
  4109. * converts an FSRef to a POSIX path
  4110. *
  4111. * Mac OS X threading:
  4112. * Thread safe since version 10.0
  4113. *
  4114. * Parameters:
  4115. *
  4116. * ref:
  4117. * the file/dir to get the POSIX path for
  4118. *
  4119. * path:
  4120. * a pointer to a buffer which FSRefMakePath will fill with a UTF8
  4121. * encoded C string representing the path the the specified FSRef
  4122. *
  4123. * pathBufferSize:
  4124. * the size of the path buffer in bytes. This size should include
  4125. * the NULL terminator for the returned path string.
  4126. *
  4127. * Availability:
  4128. * Mac OS X: in version 10.0 and later in CoreServices.framework
  4129. * CarbonLib: in CarbonLib 1.1 and later
  4130. * Non-Carbon CFM: not available
  4131. }
  4132. function FSRefMakePath( const (*var*) ref: FSRef; path: CStringPtr; pathBufferSize: UInt32 ): OSStatus; external name '_FSRefMakePath';
  4133. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  4134. {
  4135. * FSPathMakeRef()
  4136. *
  4137. * Summary:
  4138. * converts a POSIX path to an FSRef
  4139. *
  4140. * Mac OS X threading:
  4141. * Thread safe since version 10.0
  4142. *
  4143. * Parameters:
  4144. *
  4145. * path:
  4146. * a pointer to a UTF8 encoded C String that is a POSIX path
  4147. *
  4148. * ref:
  4149. * a pointer to an FSRef to fill in
  4150. *
  4151. * isDirectory:
  4152. * an optional pointer to a Boolean that will be filled in with
  4153. * whether the specified path is a directory (vs. a file)
  4154. *
  4155. * Availability:
  4156. * Mac OS X: in version 10.0 and later in CoreServices.framework
  4157. * CarbonLib: in CarbonLib 1.1 and later
  4158. * Non-Carbon CFM: not available
  4159. }
  4160. function FSPathMakeRef( path: CStringPtr; var ref: FSRef; isDirectory: BooleanPtr ): OSStatus; external name '_FSPathMakeRef';
  4161. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  4162. {
  4163. * FSPathMakeRefOptions
  4164. *
  4165. * Discussion:
  4166. * Options that can be passed to the FSPathMakeRefWithOptions call.
  4167. }
  4168. const
  4169. kFSPathMakeRefDefaultOptions = 0;
  4170. kFSPathMakeRefDoNotFollowLeafSymlink = $01;
  4171. {
  4172. * FSPathMakeRefWithOptions()
  4173. *
  4174. * Summary:
  4175. * converts a POSIX path to an FSRef allowing for options other than
  4176. * the default
  4177. *
  4178. * Mac OS X threading:
  4179. * Thread safe since version 10.4
  4180. *
  4181. * Parameters:
  4182. *
  4183. * path:
  4184. * a pointer to a UTF8 encoded C String that is a POSIX path
  4185. *
  4186. * options:
  4187. * a set of FSPathMakeRef options
  4188. *
  4189. * ref:
  4190. * a pointer to an FSRef to fill in
  4191. *
  4192. * isDirectory:
  4193. * an optional pointer to a Boolean that will be filled in with
  4194. * whether the specified path is a directory (vs. a file)
  4195. *
  4196. * Availability:
  4197. * Mac OS X: in version 10.4 and later in CoreServices.framework
  4198. * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.4 and later
  4199. * Non-Carbon CFM: not available
  4200. }
  4201. function FSPathMakeRefWithOptions( path: CStringPtr; options: OptionBits; var ref: FSRef; isDirectory: BooleanPtr ): OSStatus; external name '_FSPathMakeRefWithOptions';
  4202. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  4203. {
  4204. * FSIsFSRefValid()
  4205. *
  4206. * Summary:
  4207. * Returns true if ref refers to an existing valid file system
  4208. * object, false otherwise.
  4209. *
  4210. * Mac OS X threading:
  4211. * Thread safe since version 10.4
  4212. *
  4213. * Parameters:
  4214. *
  4215. * ref:
  4216. * FSRef to test
  4217. *
  4218. * Availability:
  4219. * Mac OS X: in version 10.4 and later in CoreServices.framework
  4220. * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.4 and later
  4221. * Non-Carbon CFM: not available
  4222. }
  4223. function FSIsFSRefValid( const (*var*) ref: FSRef ): Boolean; external name '_FSIsFSRefValid';
  4224. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  4225. {
  4226. * FNMessage
  4227. *
  4228. * Discussion:
  4229. * Messages broadcast about a directory. If system clients (such as
  4230. * the Finder) are interested in changes to a directory, they will
  4231. * receive notifications when application code broadcasts change
  4232. * messages about that directory.
  4233. }
  4234. type
  4235. FNMessage = UInt32;
  4236. const
  4237. kFNDirectoryModifiedMessage = 1;
  4238. {
  4239. * FNNotify()
  4240. *
  4241. * Summary:
  4242. * Broadcasts notification of changes to the specified directory.
  4243. *
  4244. * Discussion:
  4245. * FNNotify is used to notify system clients (such as the Finder) of
  4246. * modifications to the contents of a directory, specifically
  4247. * addition or removal of files or folders from the directory. The
  4248. * Finder and other system clients will refresh their views of the
  4249. * specified directory when they receive the change notification.
  4250. * FNNotify is not meant to notify the Finder of changes to a
  4251. * specific file (for example, changes to a file's type or creator);
  4252. * for that purpose, use a kAESync AppleEvent sent to the Finder.
  4253. *
  4254. * Mac OS X threading:
  4255. * Thread safe since version 10.0
  4256. *
  4257. * Parameters:
  4258. *
  4259. * ref:
  4260. * The directory for which to broadcast the notification
  4261. *
  4262. * message:
  4263. * An indication of what happened to the target directory
  4264. *
  4265. * flags:
  4266. * Options about delivery of the notification (specify kNilOptions
  4267. * for default behaviour)
  4268. *
  4269. * Availability:
  4270. * Mac OS X: in version 10.0 and later in CoreServices.framework
  4271. * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
  4272. * Non-Carbon CFM: not available
  4273. }
  4274. function FNNotify( const (*var*) ref: FSRef; message: FNMessage; flags: OptionBits ): OSStatus; external name '_FNNotify';
  4275. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  4276. {
  4277. * FNNotifyByPath()
  4278. *
  4279. * Summary:
  4280. * Broadcasts notification of changes to the specified directory.
  4281. *
  4282. * Mac OS X threading:
  4283. * Thread safe since version 10.0
  4284. *
  4285. * Parameters:
  4286. *
  4287. * path:
  4288. * Path to the directory for which to broadcast the notification
  4289. *
  4290. * message:
  4291. * An indication of what happened to the target directory
  4292. *
  4293. * flags:
  4294. * Options about delivery of the notification (specify kNilOptions
  4295. * for default behaviour)
  4296. *
  4297. * Availability:
  4298. * Mac OS X: in version 10.0 and later in CoreServices.framework
  4299. * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
  4300. * Non-Carbon CFM: not available
  4301. }
  4302. function FNNotifyByPath( path: CStringPtr; message: FNMessage; flags: OptionBits ): OSStatus; external name '_FNNotifyByPath';
  4303. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  4304. {
  4305. * FNNotifyAll()
  4306. *
  4307. * Discussion:
  4308. * Broadcasts notification of changes to the filesystem (should only
  4309. * be used by installers or programs which make lots of changes and
  4310. * only send one broadcast).
  4311. *
  4312. * Mac OS X threading:
  4313. * Thread safe since version 10.0
  4314. *
  4315. * Parameters:
  4316. *
  4317. * message:
  4318. * An indication of what happened
  4319. *
  4320. * flags:
  4321. * Options about delivery of the notification (specify kNilOptions
  4322. * for default behaviour)
  4323. *
  4324. * Availability:
  4325. * Mac OS X: in version 10.0 and later in CoreServices.framework
  4326. * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
  4327. * Non-Carbon CFM: not available
  4328. }
  4329. function FNNotifyAll( message: FNMessage; flags: OptionBits ): OSStatus; external name '_FNNotifyAll';
  4330. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  4331. {
  4332. * FNSubscriptionRef
  4333. *
  4334. * Discussion:
  4335. * A token associated with a notification subscription. The
  4336. * subscriber gets one back when they subscribe to notifications for
  4337. * a particular directory, and they supply it when the unsubscribe.
  4338. * It is also delivered along with the notifications for that
  4339. * subscription.
  4340. }
  4341. type
  4342. FNSubscriptionRef = ^OpaqueFNSubscriptionRef; { an opaque type }
  4343. OpaqueFNSubscriptionRef = record end;
  4344. FNSubscriptionRefPtr = ^FNSubscriptionRef; { when a var xx:FNSubscriptionRef parameter can be nil, it is changed to xx: FNSubscriptionRefPtr }
  4345. {
  4346. * Discussion:
  4347. * Options that can be specified at subscription time.
  4348. }
  4349. const
  4350. {
  4351. * Specify this option if you do not want to receive notifications on
  4352. * this subscription when FNNotifyAll is called; by default any
  4353. * subscription is also implicitly a subscription to wildcard
  4354. * notifications
  4355. }
  4356. kFNNoImplicitAllSubscription = 1 shl 0;
  4357. {
  4358. * Specify this option if you want to receive notifications on this
  4359. * subscription when your application is in background. By default
  4360. * notifications will be coalesced and and delivered when your
  4361. * application becomes foreground.
  4362. }
  4363. kFNNotifyInBackground = 1 shl 1;
  4364. {
  4365. * FNSubscriptionProcPtr
  4366. *
  4367. * Discussion:
  4368. * Callback delivered for directory notifications.
  4369. *
  4370. * Parameters:
  4371. *
  4372. * message:
  4373. * An indication of what happened
  4374. *
  4375. * flags:
  4376. * Options about delivery of the notification (typically
  4377. * kNilOptions)
  4378. *
  4379. * refcon:
  4380. * User reference supplied with subscription
  4381. *
  4382. * subscription:
  4383. * Subscription corresponding to this notification
  4384. }
  4385. type
  4386. FNSubscriptionProcPtr = procedure( message: FNMessage; flags: OptionBits; refcon: UnivPtr; subscription: FNSubscriptionRef );
  4387. FNSubscriptionUPP = FNSubscriptionProcPtr;
  4388. {
  4389. * NewFNSubscriptionUPP()
  4390. *
  4391. * Availability:
  4392. * Mac OS X: in version 10.1 and later in CoreServices.framework
  4393. * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
  4394. * Non-Carbon CFM: available as macro/inline
  4395. }
  4396. function NewFNSubscriptionUPP( userRoutine: FNSubscriptionProcPtr ): FNSubscriptionUPP; external name '_NewFNSubscriptionUPP';
  4397. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  4398. {
  4399. * DisposeFNSubscriptionUPP()
  4400. *
  4401. * Availability:
  4402. * Mac OS X: in version 10.1 and later in CoreServices.framework
  4403. * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
  4404. * Non-Carbon CFM: available as macro/inline
  4405. }
  4406. procedure DisposeFNSubscriptionUPP( userUPP: FNSubscriptionUPP ); external name '_DisposeFNSubscriptionUPP';
  4407. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  4408. {
  4409. * InvokeFNSubscriptionUPP()
  4410. *
  4411. * Availability:
  4412. * Mac OS X: in version 10.1 and later in CoreServices.framework
  4413. * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
  4414. * Non-Carbon CFM: available as macro/inline
  4415. }
  4416. procedure InvokeFNSubscriptionUPP( message: FNMessage; flags: OptionBits; refcon: UnivPtr; subscription: FNSubscriptionRef; userUPP: FNSubscriptionUPP ); external name '_InvokeFNSubscriptionUPP';
  4417. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  4418. {#if __MACH__
  4419. #define NewFNSubscriptionUPP(userRoutine) ((FNSubscriptionUPP)userRoutine)
  4420. #define DisposeFNSubscriptionUPP(userUPP)
  4421. #define InvokeFNSubscriptionUPP(message, flags, refcon, subscription, userUPP) (*userUPP)(message, flags, refcon, subscription)
  4422. #endif}
  4423. {
  4424. * FNSubscribe()
  4425. *
  4426. * Summary:
  4427. * Subscribe to change notifications for the specified directory.
  4428. *
  4429. * Mac OS X threading:
  4430. * Thread safe since version 10.1
  4431. *
  4432. * Parameters:
  4433. *
  4434. * directoryRef:
  4435. * Directory for which the caller wants notifications
  4436. *
  4437. * callback:
  4438. * Function to call back when a notification arrives
  4439. *
  4440. * refcon:
  4441. * User state carried with the subscription
  4442. *
  4443. * flags:
  4444. * Options for future use (specify kNilOptions, or one of the
  4445. * FNSubscriptionOptions)
  4446. *
  4447. * subscription:
  4448. * Subscription token for subsequent query or unsubscription
  4449. *
  4450. * Availability:
  4451. * Mac OS X: in version 10.1 and later in CoreServices.framework
  4452. * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
  4453. * Non-Carbon CFM: not available
  4454. }
  4455. function FNSubscribe( const (*var*) directoryRef: FSRef; callback: FNSubscriptionUPP; refcon: UnivPtr; flags: OptionBits; var subscription: FNSubscriptionRef ): OSStatus; external name '_FNSubscribe';
  4456. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  4457. {
  4458. * FNSubscribeByPath()
  4459. *
  4460. * Summary:
  4461. * Subscribe to change notifications for the specified directory.
  4462. *
  4463. * Mac OS X threading:
  4464. * Thread safe since version 10.1
  4465. *
  4466. * Parameters:
  4467. *
  4468. * directoryPath:
  4469. * Directory for which the caller wants notifications
  4470. *
  4471. * callback:
  4472. * Function to call back when a notification arrives
  4473. *
  4474. * refcon:
  4475. * User state carried with the subscription
  4476. *
  4477. * flags:
  4478. * Options for future use (specify kNilOptions, or one of the
  4479. * FNSubscriptionOptions)
  4480. *
  4481. * subscription:
  4482. * Subscription token for subsequent query or unsubscription
  4483. *
  4484. * Availability:
  4485. * Mac OS X: in version 10.1 and later in CoreServices.framework
  4486. * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
  4487. * Non-Carbon CFM: not available
  4488. }
  4489. function FNSubscribeByPath( directoryPath: CStringPtr; callback: FNSubscriptionUPP; refcon: UnivPtr; flags: OptionBits; var subscription: FNSubscriptionRef ): OSStatus; external name '_FNSubscribeByPath';
  4490. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  4491. {
  4492. * FNUnsubscribe()
  4493. *
  4494. * Summary:
  4495. * Release a subscription which is no longer needed.
  4496. *
  4497. * Mac OS X threading:
  4498. * Thread safe since version 10.1
  4499. *
  4500. * Parameters:
  4501. *
  4502. * subscription:
  4503. * Subscription previously returned from FNSubscribe or
  4504. * FNSubscribeForPath
  4505. *
  4506. * Availability:
  4507. * Mac OS X: in version 10.1 and later in CoreServices.framework
  4508. * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
  4509. * Non-Carbon CFM: not available
  4510. }
  4511. function FNUnsubscribe( subscription: FNSubscriptionRef ): OSStatus; external name '_FNUnsubscribe';
  4512. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  4513. {
  4514. * FNGetDirectoryForSubscription()
  4515. *
  4516. * Summary:
  4517. * Fetch the directory for which this subscription was originally
  4518. * entered. There is no path variant because paths are fragile, and
  4519. * the path may have changed. If the caller does not care about
  4520. * this subtlety, she can call FSRefMakePath to get a path from the
  4521. * returned ref.
  4522. *
  4523. * Mac OS X threading:
  4524. * Thread safe since version 10.1
  4525. *
  4526. * Parameters:
  4527. *
  4528. * subscription:
  4529. * Subscription previously returned from FNSubscribe or
  4530. * FNSubscribeForPath
  4531. *
  4532. * ref:
  4533. * Directory for which this subscription was created
  4534. *
  4535. * Availability:
  4536. * Mac OS X: in version 10.1 and later in CoreServices.framework
  4537. * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
  4538. * Non-Carbon CFM: not available
  4539. }
  4540. function FNGetDirectoryForSubscription( subscription: FNSubscriptionRef; var ref: FSRef ): OSStatus; external name '_FNGetDirectoryForSubscription';
  4541. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  4542. { Async Volume Operation Status return values}
  4543. const
  4544. kAsyncMountInProgress = 1;
  4545. kAsyncMountComplete = 2;
  4546. kAsyncUnmountInProgress = 3;
  4547. kAsyncUnmountComplete = 4;
  4548. kAsyncEjectInProgress = 5;
  4549. kAsyncEjectComplete = 6;
  4550. type
  4551. FSMountStatus = UInt32;
  4552. FSEjectStatus = UInt32;
  4553. FSUnmountStatus = UInt32;
  4554. FSVolumeOperation = ^OpaqueFSVolumeOperation; { an opaque type }
  4555. OpaqueFSVolumeOperation = record end;
  4556. FSVolumeMountProcPtr = procedure( volumeOp: FSVolumeOperation; clientData: UnivPtr; err: OSStatus; mountedVolumeRefNum: FSVolumeRefNum );
  4557. FSVolumeUnmountProcPtr = procedure( volumeOp: FSVolumeOperation; clientData: UnivPtr; err: OSStatus; volumeRefNum: FSVolumeRefNum; dissenter: pid_t );
  4558. FSVolumeEjectProcPtr = procedure( volumeOp: FSVolumeOperation; clientData: UnivPtr; err: OSStatus; volumeRefNum: FSVolumeRefNum; dissenter: pid_t );
  4559. FSVolumeMountUPP = FSVolumeMountProcPtr;
  4560. FSVolumeUnmountUPP = FSVolumeUnmountProcPtr;
  4561. FSVolumeEjectUPP = FSVolumeEjectProcPtr;
  4562. {
  4563. * NewFSVolumeMountUPP()
  4564. *
  4565. * Availability:
  4566. * Mac OS X: in version 10.2 and later in CoreServices.framework
  4567. * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
  4568. * Non-Carbon CFM: not available
  4569. }
  4570. function NewFSVolumeMountUPP( userRoutine: FSVolumeMountProcPtr ): FSVolumeMountUPP; external name '_NewFSVolumeMountUPP';
  4571. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  4572. {
  4573. * NewFSVolumeUnmountUPP()
  4574. *
  4575. * Availability:
  4576. * Mac OS X: in version 10.2 and later in CoreServices.framework
  4577. * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
  4578. * Non-Carbon CFM: not available
  4579. }
  4580. function NewFSVolumeUnmountUPP( userRoutine: FSVolumeUnmountProcPtr ): FSVolumeUnmountUPP; external name '_NewFSVolumeUnmountUPP';
  4581. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  4582. {
  4583. * NewFSVolumeEjectUPP()
  4584. *
  4585. * Availability:
  4586. * Mac OS X: in version 10.2 and later in CoreServices.framework
  4587. * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
  4588. * Non-Carbon CFM: not available
  4589. }
  4590. function NewFSVolumeEjectUPP( userRoutine: FSVolumeEjectProcPtr ): FSVolumeEjectUPP; external name '_NewFSVolumeEjectUPP';
  4591. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  4592. {
  4593. * DisposeFSVolumeMountUPP()
  4594. *
  4595. * Availability:
  4596. * Mac OS X: in version 10.2 and later in CoreServices.framework
  4597. * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
  4598. * Non-Carbon CFM: not available
  4599. }
  4600. procedure DisposeFSVolumeMountUPP( userUPP: FSVolumeMountUPP ); external name '_DisposeFSVolumeMountUPP';
  4601. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  4602. {
  4603. * DisposeFSVolumeUnmountUPP()
  4604. *
  4605. * Availability:
  4606. * Mac OS X: in version 10.2 and later in CoreServices.framework
  4607. * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
  4608. * Non-Carbon CFM: not available
  4609. }
  4610. procedure DisposeFSVolumeUnmountUPP( userUPP: FSVolumeUnmountUPP ); external name '_DisposeFSVolumeUnmountUPP';
  4611. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  4612. {
  4613. * DisposeFSVolumeEjectUPP()
  4614. *
  4615. * Availability:
  4616. * Mac OS X: in version 10.2 and later in CoreServices.framework
  4617. * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
  4618. * Non-Carbon CFM: not available
  4619. }
  4620. procedure DisposeFSVolumeEjectUPP( userUPP: FSVolumeEjectUPP ); external name '_DisposeFSVolumeEjectUPP';
  4621. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  4622. {
  4623. * InvokeFSVolumeMountUPP()
  4624. *
  4625. * Availability:
  4626. * Mac OS X: in version 10.2 and later in CoreServices.framework
  4627. * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
  4628. * Non-Carbon CFM: not available
  4629. }
  4630. procedure InvokeFSVolumeMountUPP( volumeOp: FSVolumeOperation; clientData: UnivPtr; err: OSStatus; mountedVolumeRefNum: FSVolumeRefNum; userUPP: FSVolumeMountUPP ); external name '_InvokeFSVolumeMountUPP';
  4631. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  4632. {
  4633. * InvokeFSVolumeUnmountUPP()
  4634. *
  4635. * Availability:
  4636. * Mac OS X: in version 10.2 and later in CoreServices.framework
  4637. * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
  4638. * Non-Carbon CFM: not available
  4639. }
  4640. procedure InvokeFSVolumeUnmountUPP( volumeOp: FSVolumeOperation; clientData: UnivPtr; err: OSStatus; volumeRefNum: FSVolumeRefNum; dissenter: pid_t; userUPP: FSVolumeUnmountUPP ); external name '_InvokeFSVolumeUnmountUPP';
  4641. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  4642. {
  4643. * InvokeFSVolumeEjectUPP()
  4644. *
  4645. * Availability:
  4646. * Mac OS X: in version 10.2 and later in CoreServices.framework
  4647. * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
  4648. * Non-Carbon CFM: not available
  4649. }
  4650. procedure InvokeFSVolumeEjectUPP( volumeOp: FSVolumeOperation; clientData: UnivPtr; err: OSStatus; volumeRefNum: FSVolumeRefNum; dissenter: pid_t; userUPP: FSVolumeEjectUPP ); external name '_InvokeFSVolumeEjectUPP';
  4651. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  4652. {#if __MACH__
  4653. #define NewFSVolumeMountUPP(userRoutine) ((FSVolumeMountUPP)userRoutine)
  4654. #define NewFSVolumeUnmountUPP(userRoutine) ((FSVolumeUnmountUPP)userRoutine)
  4655. #define NewFSVolumeEjectUPP(userRoutine) ((FSVolumeEjectUPP)userRoutine)
  4656. #define DisposeFSVolumeMountUPP(userUPP)
  4657. #define DisposeFSVolumeUnmountUPP(userUPP)
  4658. #define DisposeFSVolumeEjectUPP(userUPP)
  4659. #define InvokeFSVolumeMountUPP(volumeOp, clientData, err, mountedVolumeRefNum, userUPP) (*userUPP)(volumeOp, clientData, err, mountedVolumeRefNum)
  4660. #define InvokeFSVolumeUnmountUPP(volumeOp, clientData, err, volumeRefNum, dissenter, userUPP) (*userUPP)(volumeOp, clientData, err, volumeRefNum, dissenter)
  4661. #define InvokeFSVolumeEjectUPP(volumeOp, clientData, err, volumeRefNum, dissenter, userUPP) (*userUPP)(volumeOp, clientData, err, volumeRefNum, dissenter)
  4662. #endif}
  4663. {
  4664. * Discussion:
  4665. * Options that can be passed to the FSMountServerVolumeCalls. These
  4666. * options are not for use with the local volumes.
  4667. }
  4668. const
  4669. {
  4670. * Specify this option if you do want the volume displayed as a stand
  4671. * along volume in the UI.
  4672. }
  4673. kFSMountServerMarkDoNotDisplay = 1 shl 0;
  4674. {
  4675. * Specify this option if you want the volume mounted on the mountdir
  4676. * passed in instead of in it.
  4677. }
  4678. kFSMountServerMountOnMountDir = 1 shl 2;
  4679. {
  4680. * Specify this option if you want to suppress connection-time UI
  4681. * when mounting the server volume.
  4682. }
  4683. kFSMountServerSuppressConnectionUI = 1 shl 6;
  4684. {
  4685. * Discussion:
  4686. * Deprecated options that can be passed to
  4687. * FSMountServerVolumeCalls. The options will have no effect on the
  4688. * OS version they are noted as deprecated on or later.
  4689. }
  4690. const
  4691. {
  4692. * Specify this option if you do not want other processes notified
  4693. * that this volume has been mounted. Deprecated on Mac OS X 10.5.
  4694. * Use kFSMountServerMarkDoNotDisplay instead.
  4695. }
  4696. kFSMountServerMountWithoutNotification = 1 shl 1;
  4697. {
  4698. * Discussion:
  4699. * Options that can be passed to the FSEjectVolume calls.
  4700. }
  4701. const
  4702. {
  4703. * Specify this option if you want the volume forcibly ejected.
  4704. * Force ejecting a volume will very likely result in data loss since
  4705. * the volume will be ejected even if there are open files on it or
  4706. * other volumes that share the same device. This option should be
  4707. * reserved for situations such as the backing store for a volume is
  4708. * gone (so the data is lost regardless).
  4709. }
  4710. kFSEjectVolumeForceEject = 1 shl 0;
  4711. {
  4712. * Discussion:
  4713. * Options that can be passed to the FSUnmountVolume calls.
  4714. }
  4715. const
  4716. {
  4717. * Specify this option if you want the volume forcibly unmounted.
  4718. * Force unmounting a volume will very likely result in data loss
  4719. * since the volume will be ejected even if there are open files on
  4720. * it. This option should be reserved for situations such as the
  4721. * backing store for a volume is gone (so the data is lost
  4722. * regardless).
  4723. }
  4724. kFSUnmountVolumeForceUnmount = 1 shl 0;
  4725. {
  4726. * FSCreateVolumeOperation()
  4727. *
  4728. * Discussion:
  4729. * This routine will return an FSVolumeOperation which can be used
  4730. * for an async volume operation. When the operation is completed
  4731. * the volumeOp should be disposed of to free the memory associated
  4732. * with the operation using FSDisposeVolumeOperation.
  4733. *
  4734. * Mac OS X threading:
  4735. * Thread safe since version 10.2
  4736. *
  4737. * Parameters:
  4738. *
  4739. * volumeOp:
  4740. * The new FSVolumeOperation.
  4741. *
  4742. * Availability:
  4743. * Mac OS X: in version 10.2 and later in CoreServices.framework
  4744. * CarbonLib: not available in CarbonLib 1.x
  4745. * Non-Carbon CFM: not available
  4746. }
  4747. function FSCreateVolumeOperation( var volumeOp: FSVolumeOperation ): OSStatus; external name '_FSCreateVolumeOperation';
  4748. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  4749. {
  4750. * FSDisposeVolumeOperation()
  4751. *
  4752. * Discussion:
  4753. * This routine will release the memory associated with the passed
  4754. * in volumeOp. It will return paramErr is the volumeOp is in use.
  4755. *
  4756. * Mac OS X threading:
  4757. * Thread safe since version 10.2
  4758. *
  4759. * Parameters:
  4760. *
  4761. * volumeOp:
  4762. * The FSVolumeOperation to release.
  4763. *
  4764. * Availability:
  4765. * Mac OS X: in version 10.2 and later in CoreServices.framework
  4766. * CarbonLib: not available in CarbonLib 1.x
  4767. * Non-Carbon CFM: not available
  4768. }
  4769. function FSDisposeVolumeOperation( volumeOp: FSVolumeOperation ): OSStatus; external name '_FSDisposeVolumeOperation';
  4770. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  4771. {
  4772. * FSMountLocalVolumeSync()
  4773. *
  4774. * Discussion:
  4775. * This routine will mount the disk specified by diskID at mountDir
  4776. * (or the default location if mountDir is NULL). This routine
  4777. * returns after the mount is complete.
  4778. *
  4779. * Mac OS X threading:
  4780. * Thread safe since version 10.2
  4781. *
  4782. * Parameters:
  4783. *
  4784. * diskID:
  4785. * The disk to mount.
  4786. *
  4787. * mountDir:
  4788. * Pass in NULL (currently only NULL is supported).
  4789. *
  4790. * mountedVolumeRefNum:
  4791. * The volume ref num of the newly mounted volume.
  4792. *
  4793. * flags:
  4794. * Options for future use.
  4795. *
  4796. * Availability:
  4797. * Mac OS X: in version 10.2 and later in CoreServices.framework
  4798. * CarbonLib: not available in CarbonLib 1.x
  4799. * Non-Carbon CFM: not available
  4800. }
  4801. function FSMountLocalVolumeSync( diskID: CFStringRef; mountDir: CFURLRef; var mountedVolumeRefNum: FSVolumeRefNum; flags: OptionBits ): OSStatus; external name '_FSMountLocalVolumeSync';
  4802. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  4803. {
  4804. * FSMountLocalVolumeAsync()
  4805. *
  4806. * Discussion:
  4807. * This routine will start the process to disk specified by diskID
  4808. * at mountDir (or the default location if mountDir is NULL). If a
  4809. * callback is provided the provided function will be called when
  4810. * the mount operation is complete. Once this routine returns noErr
  4811. * the status of the operation can be found using
  4812. * FSGetAsyncMountStatus.
  4813. *
  4814. * Mac OS X threading:
  4815. * Thread safe since version 10.2
  4816. *
  4817. * Parameters:
  4818. *
  4819. * diskID:
  4820. * The disk to mount.
  4821. *
  4822. * mountDir:
  4823. * Pass in NULL (currently only NULL is supported).
  4824. *
  4825. * volumeOp:
  4826. * An FSVolumeOperation returned by FSCreateVolumeOperation
  4827. *
  4828. * clientData:
  4829. * client data associated with the operation.
  4830. *
  4831. * flags:
  4832. * Options for future use.
  4833. *
  4834. * callback:
  4835. * Function to call when mount is complete.
  4836. *
  4837. * runloop:
  4838. * Runloop to run on.
  4839. *
  4840. * runloopMode:
  4841. * Mode for runloop.
  4842. *
  4843. * Availability:
  4844. * Mac OS X: in version 10.2 and later in CoreServices.framework
  4845. * CarbonLib: not available in CarbonLib 1.x
  4846. * Non-Carbon CFM: not available
  4847. }
  4848. function FSMountLocalVolumeAsync( diskID: CFStringRef; mountDir: CFURLRef; volumeOp: FSVolumeOperation; clientData: UnivPtr; flags: OptionBits; callback: FSVolumeMountUPP; runloop: CFRunLoopRef; runloopMode: CFStringRef ): OSStatus; external name '_FSMountLocalVolumeAsync';
  4849. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  4850. {
  4851. * FSMountServerVolumeSync()
  4852. *
  4853. * Discussion:
  4854. * This routine will mount the server specified by url at mountDir
  4855. * (or the default location if mountDir is NULL). An optional user
  4856. * and password can be passed in for authentication. If no user or
  4857. * password is provided then the underlying file system will handle
  4858. * authentication if required. This routine returns after the mount
  4859. * is complete.
  4860. *
  4861. * Mac OS X threading:
  4862. * Thread safe since version 10.2
  4863. *
  4864. * Parameters:
  4865. *
  4866. * url:
  4867. * The server to mount.
  4868. *
  4869. * mountDir:
  4870. * The directory to mount the server to (default if NULL).
  4871. *
  4872. * user:
  4873. * String to pass as user for authentication.
  4874. *
  4875. * password:
  4876. * String to pass as password for authenticated log in.
  4877. *
  4878. * mountedVolumeRefNum:
  4879. * The volume ref num of the newly mounted volume.
  4880. *
  4881. * flags:
  4882. * Options (such as kFSMountServerMarkDoNotDisplay and
  4883. * kFSMountServerMountOnMountDir).
  4884. *
  4885. * Availability:
  4886. * Mac OS X: in version 10.2 and later in CoreServices.framework
  4887. * CarbonLib: not available in CarbonLib 1.x
  4888. * Non-Carbon CFM: not available
  4889. }
  4890. function FSMountServerVolumeSync( url: CFURLRef; mountDir: CFURLRef; user: CFStringRef; password: CFStringRef; var mountedVolumeRefNum: FSVolumeRefNum; flags: OptionBits ): OSStatus; external name '_FSMountServerVolumeSync';
  4891. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  4892. {
  4893. * FSMountServerVolumeAsync()
  4894. *
  4895. * Discussion:
  4896. * This routine will start the process to mount the server specified
  4897. * by url at mountDir (or the default location if mountDir is NULL).
  4898. * An optional user and password can be passed in for
  4899. * authentication. If no user or password is provided then the
  4900. * underlying file system will handle authentication if required.
  4901. * If a callback is provided the provided function will be called
  4902. * when the mount operation is complete. Once this routine returns
  4903. * noErr the status of the operation can be found using
  4904. * FSGetAsyncMountStatus.
  4905. *
  4906. * Mac OS X threading:
  4907. * Thread safe since version 10.2
  4908. *
  4909. * Parameters:
  4910. *
  4911. * url:
  4912. * The server to mount.
  4913. *
  4914. * mountDir:
  4915. * The directory to mount the server to (default if NULL).
  4916. *
  4917. * user:
  4918. * String to pass as user for authentication.
  4919. *
  4920. * password:
  4921. * String to pass as password for authenticated log in.
  4922. *
  4923. * volumeOp:
  4924. * An FSVolumeOperation returned by FSCreateVolumeOperation
  4925. *
  4926. * clientData:
  4927. * client data associated with the operation.
  4928. *
  4929. * flags:
  4930. * Options (such as kFSMountServerMarkDoNotDisplay and
  4931. * kFSMountServerMountOnMountDir).
  4932. *
  4933. * callback:
  4934. * Function to call when mount is complete.
  4935. *
  4936. * runloop:
  4937. * Runloop run on.
  4938. *
  4939. * runloopMode:
  4940. * Mode for runloop.
  4941. *
  4942. * Availability:
  4943. * Mac OS X: in version 10.2 and later in CoreServices.framework
  4944. * CarbonLib: not available in CarbonLib 1.x
  4945. * Non-Carbon CFM: not available
  4946. }
  4947. function FSMountServerVolumeAsync( url: CFURLRef; mountDir: CFURLRef; user: CFStringRef; password: CFStringRef; volumeOp: FSVolumeOperation; clientData: UnivPtr; flags: OptionBits; callback: FSVolumeMountUPP; runloop: CFRunLoopRef; runloopMode: CFStringRef ): OSStatus; external name '_FSMountServerVolumeAsync';
  4948. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  4949. {
  4950. * FSGetAsyncMountStatus()
  4951. *
  4952. * Discussion:
  4953. * This routine returns the current status of an asynchronous mount
  4954. * operation. A return value of noErr signifies that the status
  4955. * parameter has been filled with valid information. If the status
  4956. * is kAsyncMountComplete then the rest of data returned is valid.
  4957. * If the status is anything else then the volumeOpStatus and
  4958. * mountedVolumeRefNum parameters are invalid (The clientData will
  4959. * be ok).
  4960. *
  4961. * Mac OS X threading:
  4962. * Thread safe since version 10.2
  4963. *
  4964. * Parameters:
  4965. *
  4966. * volumeOp:
  4967. * The async volume operation to get status about.
  4968. *
  4969. * status:
  4970. * The status of the operation.
  4971. *
  4972. * volumeOpStatus:
  4973. * If status is kAsyncMountComplete then this contains the
  4974. * OSStatus for the operation.
  4975. *
  4976. * mountedVolumeRefNum:
  4977. * If status is kAsyncMountComplete and volumeOpStatus is noErr
  4978. * then this is the volume ref num for the newly mounted volume.
  4979. *
  4980. * clientData:
  4981. * client data associated with the original
  4982. * FSMountServerVolumeAsync operation.
  4983. *
  4984. * Availability:
  4985. * Mac OS X: in version 10.2 and later in CoreServices.framework
  4986. * CarbonLib: not available in CarbonLib 1.x
  4987. * Non-Carbon CFM: not available
  4988. }
  4989. function FSGetAsyncMountStatus( volumeOp: FSVolumeOperation; var status: FSMountStatus; var volumeOpStatus: OSStatus; var mountedVolumeRefNum: FSVolumeRefNum; clientData: UnivPtrPtr ): OSStatus; external name '_FSGetAsyncMountStatus';
  4990. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  4991. {
  4992. * FSUnmountVolumeSync()
  4993. *
  4994. * Discussion:
  4995. * This routine unmounts the volume specified by vRefNum. If the
  4996. * volume cannot be unmounted the pid of the process which denied
  4997. * the unmount will be returned in the dissenter parameter. This
  4998. * routine returns after the unmount is complete.
  4999. *
  5000. * Mac OS X threading:
  5001. * Thread safe since version 10.2
  5002. *
  5003. * Parameters:
  5004. *
  5005. * vRefNum:
  5006. * The volume reference number of the volume to unmount.
  5007. *
  5008. * flags:
  5009. * Options (such as kFSUnmountVolumeForceUnmount).
  5010. *
  5011. * dissenter:
  5012. * pid of the process which denied the unmount if the unmount is
  5013. * denied.
  5014. *
  5015. * Availability:
  5016. * Mac OS X: in version 10.2 and later in CoreServices.framework
  5017. * CarbonLib: not available in CarbonLib 1.x
  5018. * Non-Carbon CFM: not available
  5019. }
  5020. function FSUnmountVolumeSync( vRefNum: FSVolumeRefNum; flags: OptionBits; var dissenter: pid_t ): OSStatus; external name '_FSUnmountVolumeSync';
  5021. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  5022. {
  5023. * FSUnmountVolumeAsync()
  5024. *
  5025. * Discussion:
  5026. * This routine starts the process of unmounting the volume
  5027. * specified by vRefNum. If a callback is provided the provided
  5028. * function will be called when the unmount operation is complete.
  5029. * Once this routine returns noErr the status of the operation can
  5030. * be found using FSGetAsyncUnmountStatus.
  5031. *
  5032. * Mac OS X threading:
  5033. * Thread safe since version 10.2
  5034. *
  5035. * Parameters:
  5036. *
  5037. * vRefNum:
  5038. * The volume reference number of the volume to unmount.
  5039. *
  5040. * flags:
  5041. * Options (such as kFSUnmountVolumeForceUnmount).
  5042. *
  5043. * volumeOp:
  5044. * An FSVolumeOperation returned by FSCreateVolumeOperation
  5045. *
  5046. * clientData:
  5047. * client data associated with the operation.
  5048. *
  5049. * callback:
  5050. * Function to call when unmount is complete.
  5051. *
  5052. * runloop:
  5053. * Runloop to run on.
  5054. *
  5055. * runloopMode:
  5056. * Mode for runloop.
  5057. *
  5058. * Availability:
  5059. * Mac OS X: in version 10.2 and later in CoreServices.framework
  5060. * CarbonLib: not available in CarbonLib 1.x
  5061. * Non-Carbon CFM: not available
  5062. }
  5063. function FSUnmountVolumeAsync( vRefNum: FSVolumeRefNum; flags: OptionBits; volumeOp: FSVolumeOperation; clientData: UnivPtr; callback: FSVolumeUnmountUPP; runloop: CFRunLoopRef; runloopMode: CFStringRef ): OSStatus; external name '_FSUnmountVolumeAsync';
  5064. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  5065. {
  5066. * FSGetAsyncUnmountStatus()
  5067. *
  5068. * Discussion:
  5069. * This routine returns the current status of an asynchronous
  5070. * unmount operation. A return value of noErr signifies that the
  5071. * status parameter has been filled with valid information.
  5072. *
  5073. * Mac OS X threading:
  5074. * Thread safe since version 10.2
  5075. *
  5076. * Parameters:
  5077. *
  5078. * volumeOp:
  5079. * The async volume operation to get status about.
  5080. *
  5081. * status:
  5082. * The status of the operation.
  5083. *
  5084. * volumeOpStatus:
  5085. * If status is kAsyncUnmountComplete then this contains the
  5086. * OSStatus for the operation.
  5087. *
  5088. * volumeRefNum:
  5089. * volume reference number of volume being unmounted.
  5090. *
  5091. * dissenter:
  5092. * pid of the process which denied the unmount if the unmount is
  5093. * denied.
  5094. *
  5095. * clientData:
  5096. * client data associated with the original
  5097. * FSMountServerVolumeAsync operation.
  5098. *
  5099. * Availability:
  5100. * Mac OS X: in version 10.2 and later in CoreServices.framework
  5101. * CarbonLib: not available in CarbonLib 1.x
  5102. * Non-Carbon CFM: not available
  5103. }
  5104. function FSGetAsyncUnmountStatus( volumeOp: FSVolumeOperation; var status: FSUnmountStatus; var volumeOpStatus: OSStatus; var volumeRefNum: FSVolumeRefNum; var dissenter: pid_t; clientData: UnivPtrPtr ): OSStatus; external name '_FSGetAsyncUnmountStatus';
  5105. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  5106. {
  5107. * FSCancelVolumeOperation()
  5108. *
  5109. * Discussion:
  5110. * This routine will cancel and outstanding asynchronous volume
  5111. * mounting operation. It currently is only supported for server
  5112. * mounts.
  5113. *
  5114. * Mac OS X threading:
  5115. * Thread safe since version 10.2
  5116. *
  5117. * Parameters:
  5118. *
  5119. * volumeOp:
  5120. * The async volume operation to cancel.
  5121. *
  5122. * Availability:
  5123. * Mac OS X: in version 10.2 and later in CoreServices.framework
  5124. * CarbonLib: not available in CarbonLib 1.x
  5125. * Non-Carbon CFM: not available
  5126. }
  5127. function FSCancelVolumeOperation( volumeOp: FSVolumeOperation ): OSStatus; external name '_FSCancelVolumeOperation';
  5128. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  5129. {
  5130. * FSEjectVolumeSync()
  5131. *
  5132. * Discussion:
  5133. * This routine ejects the volume specified by vRefNum. If the
  5134. * volume cannot be ejected the pid of the process which denied the
  5135. * unmount will be returned in the dissenter parameter. This
  5136. * routine returns after the eject is complete. Ejecting a volume
  5137. * will result in the unmounting of other volumes on the same device.
  5138. *
  5139. * Mac OS X threading:
  5140. * Thread safe since version 10.2
  5141. *
  5142. * Parameters:
  5143. *
  5144. * vRefNum:
  5145. * The volume reference number of the volume to eject.
  5146. *
  5147. * flags:
  5148. * Options (such as kFSEjectVolumeForceEject).
  5149. *
  5150. * dissenter:
  5151. * pid of the process which denied the unmount if the eject is
  5152. * denied.
  5153. *
  5154. * Availability:
  5155. * Mac OS X: in version 10.2 and later in CoreServices.framework
  5156. * CarbonLib: not available in CarbonLib 1.x
  5157. * Non-Carbon CFM: not available
  5158. }
  5159. function FSEjectVolumeSync( vRefNum: FSVolumeRefNum; flags: OptionBits; var dissenter: pid_t ): OSStatus; external name '_FSEjectVolumeSync';
  5160. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  5161. {
  5162. * FSEjectVolumeAsync()
  5163. *
  5164. * Discussion:
  5165. * This routine starts the process of ejecting the volume specified
  5166. * by vRefNum. If a callback is provided the provided function will
  5167. * be called when the eject operation is complete. Once this
  5168. * routine returns noErr the status of the operation can be found
  5169. * using FSGetAsyncEjectStatus.
  5170. *
  5171. * Mac OS X threading:
  5172. * Thread safe since version 10.2
  5173. *
  5174. * Parameters:
  5175. *
  5176. * vRefNum:
  5177. * The volume reference number of the volume to eject.
  5178. *
  5179. * flags:
  5180. * Options (such as kFSEjectVolumeForceEject).
  5181. *
  5182. * volumeOp:
  5183. * An FSVolumeOperation returned by FSCreateVolumeOperation
  5184. *
  5185. * clientData:
  5186. * client data associated with the operation.
  5187. *
  5188. * callback:
  5189. * Function to call when eject is complete.
  5190. *
  5191. * runloop:
  5192. * Runloop to run on.
  5193. *
  5194. * runloopMode:
  5195. * Mode for runloop.
  5196. *
  5197. * Availability:
  5198. * Mac OS X: in version 10.2 and later in CoreServices.framework
  5199. * CarbonLib: not available in CarbonLib 1.x
  5200. * Non-Carbon CFM: not available
  5201. }
  5202. function FSEjectVolumeAsync( vRefNum: FSVolumeRefNum; flags: OptionBits; volumeOp: FSVolumeOperation; clientData: UnivPtr; callback: FSVolumeEjectUPP; runloop: CFRunLoopRef; runloopMode: CFStringRef ): OSStatus; external name '_FSEjectVolumeAsync';
  5203. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  5204. {
  5205. * FSGetAsyncEjectStatus()
  5206. *
  5207. * Discussion:
  5208. * This routine returns the current status of an asynchronous eject
  5209. * operation. A return value of noErr signifies that the status
  5210. * parameter has been filled with valid information.
  5211. *
  5212. * Mac OS X threading:
  5213. * Thread safe since version 10.2
  5214. *
  5215. * Parameters:
  5216. *
  5217. * volumeOp:
  5218. * The async volume operation to get status about.
  5219. *
  5220. * status:
  5221. * The status of the operation.
  5222. *
  5223. * volumeOpStatus:
  5224. * If status is kAsyncEjectComplete then this contains the
  5225. * OSStatus for the operation.
  5226. *
  5227. * volumeRefNum:
  5228. * volume reference number of volume being ejected.
  5229. *
  5230. * dissenter:
  5231. * pid of the process which denied the unmount if the eject is
  5232. * denied.
  5233. *
  5234. * clientData:
  5235. * client data associated with the original
  5236. * FSMountServerVolumeAsync operation.
  5237. *
  5238. * Availability:
  5239. * Mac OS X: in version 10.2 and later in CoreServices.framework
  5240. * CarbonLib: not available in CarbonLib 1.x
  5241. * Non-Carbon CFM: not available
  5242. }
  5243. function FSGetAsyncEjectStatus( volumeOp: FSVolumeOperation; var status: FSEjectStatus; var volumeOpStatus: OSStatus; var volumeRefNum: FSVolumeRefNum; var dissenter: pid_t; clientData: UnivPtrPtr ): OSStatus; external name '_FSGetAsyncEjectStatus';
  5244. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  5245. {
  5246. * FSCopyDiskIDForVolume()
  5247. *
  5248. * Discussion:
  5249. * This routine returns a copy of the diskID for the passed in
  5250. * volume. The caller is responsible for releasing the CFString
  5251. * later.
  5252. *
  5253. * Mac OS X threading:
  5254. * Thread safe since version 10.2
  5255. *
  5256. * Parameters:
  5257. *
  5258. * vRefNum:
  5259. * FSVolumeRefNum of the target volume.
  5260. *
  5261. * diskID:
  5262. * The diskID string associated with the target volume.
  5263. *
  5264. * Availability:
  5265. * Mac OS X: in version 10.2 and later in CoreServices.framework
  5266. * CarbonLib: not available in CarbonLib 1.x
  5267. * Non-Carbon CFM: not available
  5268. }
  5269. function FSCopyDiskIDForVolume( vRefNum: FSVolumeRefNum; var diskID: CFStringRef ): OSStatus; external name '_FSCopyDiskIDForVolume';
  5270. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  5271. {
  5272. * FSCopyURLForVolume()
  5273. *
  5274. * Discussion:
  5275. * This routine returns a copy of the url for the passed in volume.
  5276. * The caller is responsible for releasing the CFURL later.
  5277. *
  5278. * Mac OS X threading:
  5279. * Thread safe since version 10.3
  5280. *
  5281. * Parameters:
  5282. *
  5283. * vRefNum:
  5284. * FSVolumeRefNum of the target volume.
  5285. *
  5286. * url:
  5287. * The url associated with the target volume.
  5288. *
  5289. * Availability:
  5290. * Mac OS X: in version 10.3 and later in CoreServices.framework
  5291. * CarbonLib: not available in CarbonLib 1.x
  5292. * Non-Carbon CFM: not available
  5293. }
  5294. function FSCopyURLForVolume( vRefNum: FSVolumeRefNum; var url: CFURLRef ): OSStatus; external name '_FSCopyURLForVolume';
  5295. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_3, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  5296. {
  5297. * FSGetVolumeForDiskID()
  5298. *
  5299. * Discussion:
  5300. * This routine returnes the FSVolumeRefNum for a given diskID.
  5301. *
  5302. * Mac OS X threading:
  5303. * Thread safe since version 10.4
  5304. *
  5305. * Parameters:
  5306. *
  5307. * diskID:
  5308. * The diskID string associated with the target volume.
  5309. *
  5310. * vRefNum:
  5311. * FSVolumeRefNum of the volume which corresponds to the diskID.
  5312. *
  5313. * Availability:
  5314. * Mac OS X: in version 10.4 and later in CoreServices.framework
  5315. * CarbonLib: not available in CarbonLib 1.x
  5316. * Non-Carbon CFM: not available
  5317. }
  5318. function FSGetVolumeForDiskID( diskID: CFStringRef; var vRefNum: FSVolumeRefNum ): OSStatus; external name '_FSGetVolumeForDiskID';
  5319. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  5320. {
  5321. * FSCopyDADiskForVolume()
  5322. *
  5323. * Discussion:
  5324. * This routine returns a copy of the diskID for the passed in
  5325. * volume. The caller is responsible for releasing the DADisk
  5326. * later.
  5327. *
  5328. * Mac OS X threading:
  5329. * Thread safe since version 10.4
  5330. *
  5331. * Parameters:
  5332. *
  5333. * vRefNum:
  5334. * FSVolumeRefNum of the target volume.
  5335. *
  5336. * disk:
  5337. * The DADisk associated with the target volume.
  5338. *
  5339. * Availability:
  5340. * Mac OS X: in version 10.4 and later in CoreServices.framework
  5341. * CarbonLib: not available in CarbonLib 1.x
  5342. * Non-Carbon CFM: not available
  5343. }
  5344. function FSCopyDADiskForVolume( vRefNum: FSVolumeRefNum; var disk: DADiskRef ): OSStatus; external name '_FSCopyDADiskForVolume';
  5345. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  5346. {
  5347. * FSGetVolumeForDADisk()
  5348. *
  5349. * Discussion:
  5350. * This routine returns the FSVolumeRefNum associated with the
  5351. * volume referenced by the passed in DADiskRef.
  5352. *
  5353. * Mac OS X threading:
  5354. * Thread safe since version 10.4
  5355. *
  5356. * Parameters:
  5357. *
  5358. * disk:
  5359. * The DADiskRef of the target volume.
  5360. *
  5361. * vRefNum:
  5362. * FSVolumeRefNum of the volume which corresponds to the DADiskRef.
  5363. *
  5364. * Availability:
  5365. * Mac OS X: in version 10.4 and later in CoreServices.framework
  5366. * CarbonLib: not available in CarbonLib 1.x
  5367. * Non-Carbon CFM: not available
  5368. }
  5369. function FSGetVolumeForDADisk( disk: DADiskRef; var vRefNum: FSVolumeRefNum ): OSStatus; external name '_FSGetVolumeForDADisk';
  5370. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  5371. { File Operation routines}
  5372. type
  5373. FSFileOperationRef = ^__FSFileOperation; { an opaque type }
  5374. __FSFileOperation = record end;
  5375. FSFileOperationStage = UInt32;
  5376. {
  5377. * FSFileOperationClientContext
  5378. *
  5379. * Discussion:
  5380. * Structure containing the user-defined data and callbacks for
  5381. * FSFileOperation client contextual data.
  5382. }
  5383. type
  5384. FSFileOperationClientContext = record
  5385. {
  5386. * The version number of the structure type being passed in as a
  5387. * parameter to FSCopyObjectAsync or FSMoveObjectAsync function.
  5388. * Valid version number is currently 0.
  5389. }
  5390. version: CFIndex;
  5391. {
  5392. * An arbitrary pointer to client-defined data, which can be
  5393. * associated with the operation and is passed to the callbacks.
  5394. }
  5395. info: UnivPtr;
  5396. {
  5397. * The callback used to add a retain for the operation on the info
  5398. * pointer for the life of the operation, and may be used for
  5399. * temporary references the operation needs to take. This callback
  5400. * returns the actual info pointer to store in the operation, almost
  5401. * always just the pointer passed as the parameter.
  5402. }
  5403. retain: CFAllocatorRetainCallBack;
  5404. {
  5405. * The callback used to remove a retain previously added for the
  5406. * operation on the info pointer.
  5407. }
  5408. release: CFAllocatorReleaseCallBack;
  5409. {
  5410. * The callback used to create a descriptive string representation of
  5411. * the info pointer (or the data pointed to by the info pointer) for
  5412. * debugging purposes. This is used by the CFCopyDescription()
  5413. * function.
  5414. }
  5415. copyDescription: CFAllocatorCopyDescriptionCallBack;
  5416. end;
  5417. {
  5418. * FSFileOperationStatusProcPtr
  5419. *
  5420. * Discussion:
  5421. * Callback function which is called to return status of an
  5422. * operation. It will be called when an operation changes stages
  5423. * (including failing due to an error) or as updated information is
  5424. * available limited by the statusChangeInterval of the operation.
  5425. *
  5426. * Parameters:
  5427. *
  5428. * fileOp:
  5429. * Operation receiving the callback.
  5430. *
  5431. * currentItem:
  5432. * FSRef to item operation is currently processing. If the
  5433. * operation is complete then currentItem refers to the target
  5434. * item (the new item corresponding to the source item in the
  5435. * destination directory).
  5436. *
  5437. * stage:
  5438. * Current stage of the operation.
  5439. *
  5440. * error:
  5441. * Either noErr or an error value which caused the operation to
  5442. * fail.
  5443. *
  5444. * statusDictionary:
  5445. * A CFDictionary with more detailed status information. The
  5446. * caller should not release this item. If the item is needed
  5447. * beyond the scope of the callback then it needs to be copied.
  5448. *
  5449. * info:
  5450. * The info pointer passed in by the client.
  5451. }
  5452. type
  5453. FSFileOperationStatusProcPtr = procedure( fileOp: FSFileOperationRef; const (*var*) currentItem: FSRef; stage: FSFileOperationStage; error: OSStatus; statusDictionary: CFDictionaryRef; info: UnivPtr );
  5454. {
  5455. * FSPathFileOperationStatusProcPtr
  5456. *
  5457. * Discussion:
  5458. * Callback function which is called to return status of an
  5459. * operation. It will be called when an operation changes stages
  5460. * (including failing due to an error) or as updated information is
  5461. * available limited by the statusChangeInterval of the operation.
  5462. *
  5463. * Parameters:
  5464. *
  5465. * fileOp:
  5466. * Operation receiving the callback.
  5467. *
  5468. * currentItem:
  5469. * The UTF-8 path for the item operation is currently processing.
  5470. * The caller should not release this item. If the item is needed
  5471. * beyond the scope of the callback then it needs to be copied.
  5472. * If the operation is complete then currentItem refers to the
  5473. * target item (the new item corresponding to the source item in
  5474. * the destination directory).
  5475. *
  5476. * stage:
  5477. * Current stage of the operation.
  5478. *
  5479. * error:
  5480. * Either noErr or an error value which caused the operation to
  5481. * fail.
  5482. *
  5483. * statusDictionary:
  5484. * A CFDictionary with more detailed status information. The
  5485. * caller should not release this item. If the item is needed
  5486. * beyond the scope of the callback then it needs to be copied.
  5487. *
  5488. * info:
  5489. * The info pointer passed in by the client.
  5490. }
  5491. type
  5492. FSPathFileOperationStatusProcPtr = procedure( fileOp: FSFileOperationRef; currentItem: ConstCStringPtr; stage: FSFileOperationStage; error: OSStatus; statusDictionary: CFDictionaryRef; info: UnivPtr );
  5493. {
  5494. * FSFileOperationOptions
  5495. *
  5496. * Discussion:
  5497. * Set of flags that can be passed into an FSMoveObject(A)sync or
  5498. * FSCopyObject(A)sync call.
  5499. }
  5500. const
  5501. {
  5502. * Use the default options - no overwrite, fail if any source item
  5503. * cannot be read, cross volume moves OK.
  5504. }
  5505. kFSFileOperationDefaultOptions = 0;
  5506. {
  5507. * Replace an item in the destDir that has the same name as an item
  5508. * being moved/copied there.
  5509. }
  5510. kFSFileOperationOverwrite = $01;
  5511. {
  5512. * Skip items that cannot be read and continue copying/moving instead
  5513. * of failing the operation.
  5514. }
  5515. kFSFileOperationSkipSourcePermissionErrors = $02;
  5516. {
  5517. * Do not perform a copy/delete to move an item across volume
  5518. * boundries - fail the operation instead.
  5519. }
  5520. kFSFileOperationDoNotMoveAcrossVolumes = $04;
  5521. {
  5522. * Skip the preflight for a directory move/copy. This will limit the
  5523. * status information that can be returned since the totals will not
  5524. * be calculated.
  5525. }
  5526. kFSFileOperationSkipPreflight = $08;
  5527. {
  5528. * FSFileOperationStage
  5529. *
  5530. * Discussion:
  5531. * The stage corresponds to the state of an asynchronous File
  5532. * Operation. The stage is reported in the operation's status
  5533. * callback or as part of an FSFileOperationCopyStatus call.
  5534. }
  5535. const
  5536. {
  5537. * Operation has not started yet.
  5538. }
  5539. kFSOperationStageUndefined = 0;
  5540. {
  5541. * Operation is calulating sizes and number of items involved in the
  5542. * operation.
  5543. }
  5544. kFSOperationStagePreflighting = 1;
  5545. {
  5546. * Operation is in progress.
  5547. }
  5548. kFSOperationStageRunning = 2;
  5549. {
  5550. * Operation is done.
  5551. }
  5552. kFSOperationStageComplete = 3;
  5553. { FSFileOperation status dictionary keys}
  5554. {
  5555. * kFSOperationTotalBytesKey
  5556. *
  5557. * Discussion:
  5558. * This value associated with this key in a status dictionary
  5559. * returns the total number of bytes that will be moved/copied by
  5560. * this operation as a CFNumber. This value is not available for a
  5561. * directory operation if kFSFileOperationSkipPreflight was
  5562. * specified.
  5563. *
  5564. * Availability:
  5565. * Mac OS X: in version 10.4 and later in CoreServices.framework
  5566. * CarbonLib: not available in CarbonLib 1.x
  5567. * Non-Carbon CFM: not available
  5568. }
  5569. var kFSOperationTotalBytesKey: CFStringRef; external name '_kFSOperationTotalBytesKey'; (* attribute const *)
  5570. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  5571. {
  5572. * kFSOperationBytesCompleteKey
  5573. *
  5574. * Discussion:
  5575. * This value associated with this key in a status dictionary
  5576. * returns the number of bytes that have been moved/copied by this
  5577. * operation at the time the status call was made as a CFNumber.
  5578. * During the preflight stage this value represents the currently
  5579. * known number of bytes that will be copied/moved.
  5580. *
  5581. * Availability:
  5582. * Mac OS X: in version 10.4 and later in CoreServices.framework
  5583. * CarbonLib: not available in CarbonLib 1.x
  5584. * Non-Carbon CFM: not available
  5585. }
  5586. var kFSOperationBytesCompleteKey: CFStringRef; external name '_kFSOperationBytesCompleteKey'; (* attribute const *)
  5587. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  5588. {
  5589. * kFSOperationBytesRemainingKey
  5590. *
  5591. * Discussion:
  5592. * This value associated with this key in a status dictionary
  5593. * returns the number of bytes that remain to be moved/copied by
  5594. * this operation at the time the status call was made as a
  5595. * CFNumber. This value is not available for a directory operation
  5596. * if kFSFileOperationSkipPreflight was specified.
  5597. *
  5598. * Availability:
  5599. * Mac OS X: in version 10.4 and later in CoreServices.framework
  5600. * CarbonLib: not available in CarbonLib 1.x
  5601. * Non-Carbon CFM: not available
  5602. }
  5603. var kFSOperationBytesRemainingKey: CFStringRef; external name '_kFSOperationBytesRemainingKey'; (* attribute const *)
  5604. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  5605. {
  5606. * kFSOperationTotalObjectsKey
  5607. *
  5608. * Discussion:
  5609. * This value associated with this key in a status dictionary
  5610. * returns the total number of objects that will be moved/copied by
  5611. * this operation as a CFNumber. This value is not available for a
  5612. * directory operation if kFSFileOperationSkipPreflight was
  5613. * specified.
  5614. *
  5615. * Availability:
  5616. * Mac OS X: in version 10.4 and later in CoreServices.framework
  5617. * CarbonLib: not available in CarbonLib 1.x
  5618. * Non-Carbon CFM: not available
  5619. }
  5620. var kFSOperationTotalObjectsKey: CFStringRef; external name '_kFSOperationTotalObjectsKey'; (* attribute const *)
  5621. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  5622. {
  5623. * kFSOperationObjectsCompleteKey
  5624. *
  5625. * Discussion:
  5626. * This value associated with this key in a status dictionary
  5627. * returns the number of objects that have been moved/copied by this
  5628. * operation at the time the status call was made as a CFNumber.
  5629. * During the preflight stage this value represents the currently
  5630. * known number of objects that will be copied/moved.
  5631. *
  5632. * Availability:
  5633. * Mac OS X: in version 10.4 and later in CoreServices.framework
  5634. * CarbonLib: not available in CarbonLib 1.x
  5635. * Non-Carbon CFM: not available
  5636. }
  5637. var kFSOperationObjectsCompleteKey: CFStringRef; external name '_kFSOperationObjectsCompleteKey'; (* attribute const *)
  5638. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  5639. {
  5640. * kFSOperationObjectsRemainingKey
  5641. *
  5642. * Discussion:
  5643. * This value associated with this key in a status dictionary
  5644. * returns the number of objects that remain to be moved/copied by
  5645. * this operation at the time the status call was made as a
  5646. * CFNumber. This value is not available for a directory operation
  5647. * if kFSFileOperationSkipPreflight was specified.
  5648. *
  5649. * Availability:
  5650. * Mac OS X: in version 10.4 and later in CoreServices.framework
  5651. * CarbonLib: not available in CarbonLib 1.x
  5652. * Non-Carbon CFM: not available
  5653. }
  5654. var kFSOperationObjectsRemainingKey: CFStringRef; external name '_kFSOperationObjectsRemainingKey'; (* attribute const *)
  5655. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  5656. {
  5657. * kFSOperationTotalUserVisibleObjectsKey
  5658. *
  5659. * Discussion:
  5660. * This value associated with this key in a status dictionary
  5661. * returns the total number of user visibleobjects that will be
  5662. * moved/copied by this operation as a CFNumber. This value is not
  5663. * available for a directory operation if
  5664. * kFSFileOperationSkipPreflight was specified. A packaged
  5665. * application is one user visible object even though it is made up
  5666. * of multiple files and directories.
  5667. *
  5668. * Availability:
  5669. * Mac OS X: in version 10.4 and later in CoreServices.framework
  5670. * CarbonLib: not available in CarbonLib 1.x
  5671. * Non-Carbon CFM: not available
  5672. }
  5673. var kFSOperationTotalUserVisibleObjectsKey: CFStringRef; external name '_kFSOperationTotalUserVisibleObjectsKey'; (* attribute const *)
  5674. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  5675. {
  5676. * kFSOperationUserVisibleObjectsCompleteKey
  5677. *
  5678. * Discussion:
  5679. * This value associated with this key in a status dictionary
  5680. * returns the number of user visible objects that have been
  5681. * moved/copied by this operation at the time the status call was
  5682. * made as a CFNumber. During the preflight stage this value
  5683. * represents the currently known number of objects that will be
  5684. * copied/moved. A packaged application is one user visible object
  5685. * even though it is made up of multiple files and directories.
  5686. *
  5687. * Availability:
  5688. * Mac OS X: in version 10.4 and later in CoreServices.framework
  5689. * CarbonLib: not available in CarbonLib 1.x
  5690. * Non-Carbon CFM: not available
  5691. }
  5692. var kFSOperationUserVisibleObjectsCompleteKey: CFStringRef; external name '_kFSOperationUserVisibleObjectsCompleteKey'; (* attribute const *)
  5693. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  5694. {
  5695. * kFSOperationUserVisibleObjectsRemainingKey
  5696. *
  5697. * Discussion:
  5698. * This value associated with this key in a status dictionary
  5699. * returns the number of user visible objects that remain to be
  5700. * moved/copied by this operation at the time the status call was
  5701. * made as a CFNumber. This value is not available for a directory
  5702. * operation if kFSFileOperationSkipPreflight was specified. A
  5703. * packaged application is one user visible object even though it is
  5704. * made up of multiple files and directories.
  5705. *
  5706. * Availability:
  5707. * Mac OS X: in version 10.4 and later in CoreServices.framework
  5708. * CarbonLib: not available in CarbonLib 1.x
  5709. * Non-Carbon CFM: not available
  5710. }
  5711. var kFSOperationUserVisibleObjectsRemainingKey: CFStringRef; external name '_kFSOperationUserVisibleObjectsRemainingKey'; (* attribute const *)
  5712. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  5713. {
  5714. * kFSOperationThroughputKey
  5715. *
  5716. * Discussion:
  5717. * This value associated with this key in a status dictionary
  5718. * returns the current throughput for the operation in bytes per
  5719. * second as a CFNumber.
  5720. *
  5721. * Availability:
  5722. * Mac OS X: in version 10.4 and later in CoreServices.framework
  5723. * CarbonLib: not available in CarbonLib 1.x
  5724. * Non-Carbon CFM: not available
  5725. }
  5726. var kFSOperationThroughputKey: CFStringRef; external name '_kFSOperationThroughputKey'; (* attribute const *)
  5727. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  5728. {
  5729. * FSCopyObjectSync()
  5730. *
  5731. * Discussion:
  5732. * This routine will copy the source object into the destination
  5733. * directory. The source object can be a file or directory.
  5734. *
  5735. * Mac OS X threading:
  5736. * Thread safe since version 10.4
  5737. *
  5738. * Parameters:
  5739. *
  5740. * source:
  5741. * The source object to copy.
  5742. *
  5743. * destDir:
  5744. * The destination directory for the copy.
  5745. *
  5746. * destName:
  5747. * The name for the new object in the destination directory. Pass
  5748. * NULL to use the source object name.
  5749. *
  5750. * target:
  5751. * Upon successful completion a ref to the newly created object.
  5752. * If source is a directory then target will be the corresponding
  5753. * object in the destination directory.
  5754. *
  5755. * options:
  5756. * One or more FSFileOperation flags
  5757. *
  5758. * Availability:
  5759. * Mac OS X: in version 10.4 and later in CoreServices.framework
  5760. * CarbonLib: not available in CarbonLib 1.x
  5761. * Non-Carbon CFM: not available
  5762. }
  5763. function FSCopyObjectSync( const (*var*) source: FSRef; const (*var*) destDir: FSRef; destName: CFStringRef; var target: FSRef; options: OptionBits ): OSStatus; external name '_FSCopyObjectSync';
  5764. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  5765. {
  5766. * FSMoveObjectSync()
  5767. *
  5768. * Discussion:
  5769. * This routine will move the source object into the destination
  5770. * directory. The source object can be a file or directory. If a
  5771. * destName is provided then the object will be renamed as well as
  5772. * moved. By default a move across volumes will result in a copy
  5773. * and deletion of the original source. The
  5774. * kFSFileOperationDoNotMoveAcrossVolumes flag will cause cross
  5775. * volume moves to do nothing and return an error.
  5776. *
  5777. * Mac OS X threading:
  5778. * Thread safe since version 10.4
  5779. *
  5780. * Parameters:
  5781. *
  5782. * source:
  5783. * The source object to move.
  5784. *
  5785. * destDir:
  5786. * The destination directory for the move.
  5787. *
  5788. * destName:
  5789. * The name for the object in the destination directory. Pass
  5790. * NULL to use the source object name.
  5791. *
  5792. * target:
  5793. * Upon successful completion a ref to the object in its new
  5794. * location. If source is a directory then target will be the
  5795. * corresponding object in the destination directory.
  5796. *
  5797. * options:
  5798. * One or more FSFileOperation flags
  5799. *
  5800. * Availability:
  5801. * Mac OS X: in version 10.4 and later in CoreServices.framework
  5802. * CarbonLib: not available in CarbonLib 1.x
  5803. * Non-Carbon CFM: not available
  5804. }
  5805. function FSMoveObjectSync( const (*var*) source: FSRef; const (*var*) destDir: FSRef; destName: CFStringRef; var target: FSRef; options: OptionBits ): OSStatus; external name '_FSMoveObjectSync';
  5806. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  5807. {
  5808. * FSMoveObjectToTrashSync()
  5809. *
  5810. * Discussion:
  5811. * This routine will move the source object into the trash. The
  5812. * source object can be a file or directory. If the volume the
  5813. * source object resides on does not support a trash folder then
  5814. * this call will return an error (this is the same circumstance
  5815. * that triggers the delete immediately behavior in the Finder).
  5816. *
  5817. * Mac OS X threading:
  5818. * Thread safe since version 10.5
  5819. *
  5820. * Parameters:
  5821. *
  5822. * source:
  5823. * The source object to move to the trash.
  5824. *
  5825. * target:
  5826. * Upon successful completion a ref the object in the trash. If
  5827. * source is a directory then target will be the corresponding
  5828. * object in the destination directory.
  5829. *
  5830. * options:
  5831. * One or more FSFileOperation flags
  5832. *
  5833. * Availability:
  5834. * Mac OS X: in version 10.5 and later in CoreServices.framework
  5835. * CarbonLib: not available
  5836. * Non-Carbon CFM: not available
  5837. }
  5838. function FSMoveObjectToTrashSync( const (*var*) source: FSRef; var target: FSRef; options: OptionBits ): OSStatus; external name '_FSMoveObjectToTrashSync';
  5839. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  5840. {
  5841. * FSPathCopyObjectSync()
  5842. *
  5843. * Discussion:
  5844. * This routine will copy the source object into the destination
  5845. * directory. The source object can be a file or directory.
  5846. *
  5847. * Mac OS X threading:
  5848. * Thread safe since version 10.4
  5849. *
  5850. * Parameters:
  5851. *
  5852. * sourcePath:
  5853. * The UTF-8 path string of the source object to copy.
  5854. *
  5855. * destDirPath:
  5856. * The UTF-8 path of the destination directory for the copy.
  5857. *
  5858. * destName:
  5859. * The name for the new object in the destination directory. Pass
  5860. * NULL to use the source object name.
  5861. *
  5862. * targetPath:
  5863. * A pointer to a char * to allow returning the path to the newly
  5864. * created object. The path is allocated using malloc and it is
  5865. * the caller's responsibility to free. The pointer will be set
  5866. * to NULL if the copy failed.
  5867. *
  5868. * options:
  5869. * One or more FSFileOperation flags
  5870. *
  5871. * Availability:
  5872. * Mac OS X: in version 10.4 and later in CoreServices.framework
  5873. * CarbonLib: not available in CarbonLib 1.x
  5874. * Non-Carbon CFM: not available
  5875. }
  5876. function FSPathCopyObjectSync( sourcePath: ConstCStringPtr; destDirPath: ConstCStringPtr; destName: CFStringRef; var targetPath: CStringPtr; options: OptionBits ): OSStatus; external name '_FSPathCopyObjectSync';
  5877. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  5878. {
  5879. * FSPathMoveObjectSync()
  5880. *
  5881. * Discussion:
  5882. * This routine will move the source object into the destination
  5883. * directory. The source object can be a file or directory. If a
  5884. * destName is provided then the object will be renamed as well as
  5885. * moved. By default a move across volumes will result in a copy
  5886. * and deletion of the original source. The
  5887. * kFSFileOperationDoNotMoveAcrossVolumes flag will cause cross
  5888. * volume moves to do nothing and return an error.
  5889. *
  5890. * Mac OS X threading:
  5891. * Thread safe since version 10.4
  5892. *
  5893. * Parameters:
  5894. *
  5895. * sourcePath:
  5896. * The UTF-8 path string of the source object to move.
  5897. *
  5898. * destDirPath:
  5899. * The UTF-8 path of the destination directory for the move.
  5900. *
  5901. * destName:
  5902. * The name for the moved object in the destination directory.
  5903. * Pass NULL to use the source object name.
  5904. *
  5905. * targetPath:
  5906. * A pointer to a char * to allow returning the path to the newly
  5907. * created object. The path is allocated using malloc and it is
  5908. * the caller's responsibility to free. The pointer will be set
  5909. * to NULL if the move failed.
  5910. *
  5911. * options:
  5912. * One or more FSFileOperation flags
  5913. *
  5914. * Availability:
  5915. * Mac OS X: in version 10.4 and later in CoreServices.framework
  5916. * CarbonLib: not available in CarbonLib 1.x
  5917. * Non-Carbon CFM: not available
  5918. }
  5919. function FSPathMoveObjectSync( sourcePath: ConstCStringPtr; destDirPath: ConstCStringPtr; destName: CFStringRef; var targetPath: CStringPtr; options: OptionBits ): OSStatus; external name '_FSPathMoveObjectSync';
  5920. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  5921. {
  5922. * FSPathMoveObjectToTrashSync()
  5923. *
  5924. * Discussion:
  5925. * This routine will move the source object into the trash. The
  5926. * source object can be a file or directory. If the volume the
  5927. * source object resides on does not support a trash folder then
  5928. * this call will return an error (this is the same circumstance
  5929. * that triggers the delete immediately behavior in the Finder).
  5930. *
  5931. * Mac OS X threading:
  5932. * Thread safe since version 10.5
  5933. *
  5934. * Parameters:
  5935. *
  5936. * sourcePath:
  5937. * The UTF-8 path string of the source object to move.
  5938. *
  5939. * targetPath:
  5940. * A pointer to a char * to allow returning the path to the newly
  5941. * created object. The path is allocated using malloc and it is
  5942. * the caller's responsibility to free. The pointer will be set
  5943. * to NULL if the move failed.
  5944. *
  5945. * options:
  5946. * One or more FSFileOperation flags
  5947. *
  5948. * Availability:
  5949. * Mac OS X: in version 10.5 and later in CoreServices.framework
  5950. * CarbonLib: not available
  5951. * Non-Carbon CFM: not available
  5952. }
  5953. function FSPathMoveObjectToTrashSync( sourcePath: ConstCStringPtr; var targetPath: CStringPtr; options: OptionBits ): OSStatus; external name '_FSPathMoveObjectToTrashSync';
  5954. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  5955. {
  5956. * FSFileOperationGetTypeID()
  5957. *
  5958. * Discussion:
  5959. * This routine will return the CFTypeID for the FSFileOpeation type.
  5960. *
  5961. * Mac OS X threading:
  5962. * Thread safe since version 10.4
  5963. *
  5964. * Result:
  5965. * the CFTypeID for the FSFileOperation type.
  5966. *
  5967. * Availability:
  5968. * Mac OS X: in version 10.4 and later in CoreServices.framework
  5969. * CarbonLib: not available in CarbonLib 1.x
  5970. * Non-Carbon CFM: not available
  5971. }
  5972. function FSFileOperationGetTypeID: CFTypeID; external name '_FSFileOperationGetTypeID';
  5973. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  5974. {
  5975. * FSFileOperationCreate()
  5976. *
  5977. * Discussion:
  5978. * This routine will create an FSFileOperation for use with either
  5979. * FSCopyObjectAsync or FSMoveObjectAsync.
  5980. *
  5981. * Mac OS X threading:
  5982. * Thread safe since version 10.4
  5983. *
  5984. * Parameters:
  5985. *
  5986. * alloc:
  5987. * The CFAllocator to use. Pass NULL for the default allocator.
  5988. *
  5989. * Result:
  5990. * A reference to the newly created object or NULL if the creation
  5991. * failed.
  5992. *
  5993. * Availability:
  5994. * Mac OS X: in version 10.4 and later in CoreServices.framework
  5995. * CarbonLib: not available in CarbonLib 1.x
  5996. * Non-Carbon CFM: not available
  5997. }
  5998. function FSFileOperationCreate( alloc: CFAllocatorRef ): FSFileOperationRef; external name '_FSFileOperationCreate';
  5999. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  6000. {
  6001. * FSFileOperationScheduleWithRunLoop()
  6002. *
  6003. * Discussion:
  6004. * Schedule the given operation on the specified runloop and mode. A
  6005. * FSFileOperation can be scheduled on multiple runloop/mode
  6006. * combinations. An opertion must be scheduled on at least one
  6007. * runloop.
  6008. *
  6009. * Mac OS X threading:
  6010. * Thread safe since version 10.4
  6011. *
  6012. * Parameters:
  6013. *
  6014. * fileOp:
  6015. * The FSFileOperation to schedule.
  6016. *
  6017. * runLoop:
  6018. * The runLoop on which to schedule the operation. Must be
  6019. * non-NULL.
  6020. *
  6021. * runLoopMode:
  6022. * The mode on which to schedule the operation. Must be non-NULL.
  6023. *
  6024. * Availability:
  6025. * Mac OS X: in version 10.4 and later in CoreServices.framework
  6026. * CarbonLib: not available in CarbonLib 1.x
  6027. * Non-Carbon CFM: not available
  6028. }
  6029. function FSFileOperationScheduleWithRunLoop( fileOp: FSFileOperationRef; runLoop: CFRunLoopRef; runLoopMode: CFStringRef ): OSStatus; external name '_FSFileOperationScheduleWithRunLoop';
  6030. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  6031. {
  6032. * FSFileOperationUnscheduleFromRunLoop()
  6033. *
  6034. * Discussion:
  6035. * Unschedule the given operation from the specified runloop and
  6036. * mode.
  6037. *
  6038. * Mac OS X threading:
  6039. * Thread safe since version 10.4
  6040. *
  6041. * Parameters:
  6042. *
  6043. * fileOp:
  6044. * The FSFileOperation to unschedule.
  6045. *
  6046. * runLoop:
  6047. * The runLoop from which to unschedule the operation. Must be
  6048. * non-NULL.
  6049. *
  6050. * runLoopMode:
  6051. * The mode from which to unschedule the operation. Must be
  6052. * non-NULL.
  6053. *
  6054. * Availability:
  6055. * Mac OS X: in version 10.4 and later in CoreServices.framework
  6056. * CarbonLib: not available in CarbonLib 1.x
  6057. * Non-Carbon CFM: not available
  6058. }
  6059. function FSFileOperationUnscheduleFromRunLoop( fileOp: FSFileOperationRef; runLoop: CFRunLoopRef; runLoopMode: CFStringRef ): OSStatus; external name '_FSFileOperationUnscheduleFromRunLoop';
  6060. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  6061. {
  6062. * FSCopyObjectAsync()
  6063. *
  6064. * Discussion:
  6065. * This routine will start an asynchronous copy of the object
  6066. * specified by source to the directory specified by destDir. If
  6067. * destName is provided then the new object will be renamed to
  6068. * destName. If destName is not provided then the name of the
  6069. * source object will be used. Status callbacks will occur on one
  6070. * of the runloop/mode combinations that the operation was scheduled
  6071. * on (and is running).
  6072. *
  6073. * Mac OS X threading:
  6074. * Thread safe since version 10.4
  6075. *
  6076. * Parameters:
  6077. *
  6078. * fileOp:
  6079. * The FSFileOperation object created for this operation.
  6080. *
  6081. * source:
  6082. * The source object to copy.
  6083. *
  6084. * destDir:
  6085. * The destination directory for the copy.
  6086. *
  6087. * destName:
  6088. * The name for the new object in the destination directory. Pass
  6089. * NULL to use the source object name.
  6090. *
  6091. * flags:
  6092. * One or more FSFileOperation flags
  6093. *
  6094. * callback:
  6095. * An optional FSFileOperationStatusProcPtr which will be called
  6096. * with status updates as the copy proceeds.
  6097. *
  6098. * statusChangeInterval:
  6099. * The minimum time between callbacks within a single stage of an
  6100. * operation.
  6101. *
  6102. * clientContext:
  6103. * Client contextual information to associate with this operation.
  6104. * The info pointer will be passed to status callbacks.
  6105. *
  6106. * Availability:
  6107. * Mac OS X: in version 10.4 and later in CoreServices.framework
  6108. * CarbonLib: not available in CarbonLib 1.x
  6109. * Non-Carbon CFM: not available
  6110. }
  6111. function FSCopyObjectAsync( fileOp: FSFileOperationRef; const (*var*) source: FSRef; const (*var*) destDir: FSRef; destName: CFStringRef; flags: OptionBits; callback: FSFileOperationStatusProcPtr; statusChangeInterval: CFTimeInterval; var clientContext: FSFileOperationClientContext ): OSStatus; external name '_FSCopyObjectAsync';
  6112. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  6113. {
  6114. * FSMoveObjectAsync()
  6115. *
  6116. * Discussion:
  6117. * This routine will start an asynchronous move of the object
  6118. * specified by source to the directory specified by destDir. If
  6119. * destName is provided then the new object will be renamed to
  6120. * destName. If destName is not provided then the name of the
  6121. * source object will be used. Status callbacks will occur on one
  6122. * of the runloop/mode combinations that the operation was scheduled
  6123. * on (and is running). By default a move across volumes will
  6124. * result in a copy and deletion of the original source. The
  6125. * kFSFileOperationDoNotMoveAcrossVolumes flag will cause cross
  6126. * volume moves to do nothing and return an error.
  6127. *
  6128. * Mac OS X threading:
  6129. * Thread safe since version 10.4
  6130. *
  6131. * Parameters:
  6132. *
  6133. * fileOp:
  6134. * The FSFileOperation object created for this operation.
  6135. *
  6136. * source:
  6137. * The source object to move.
  6138. *
  6139. * destDir:
  6140. * The destination directory for the move.
  6141. *
  6142. * destName:
  6143. * The name for the object in the destination directory. Pass
  6144. * NULL to leave the name unchanged.
  6145. *
  6146. * flags:
  6147. * One or more FSFileOperation flags
  6148. *
  6149. * callback:
  6150. * An optional FSFileOperationStatusProcPtr which will be called
  6151. * with status updates as the copy proceeds.
  6152. *
  6153. * statusChangeInterval:
  6154. * The minimum time between callbacks within a single stage of an
  6155. * operation.
  6156. *
  6157. * clientContext:
  6158. * Client contextual information to associate with this operation.
  6159. * The info pointer will be passed to status callbacks.
  6160. *
  6161. * Availability:
  6162. * Mac OS X: in version 10.4 and later in CoreServices.framework
  6163. * CarbonLib: not available in CarbonLib 1.x
  6164. * Non-Carbon CFM: not available
  6165. }
  6166. function FSMoveObjectAsync( fileOp: FSFileOperationRef; const (*var*) source: FSRef; const (*var*) destDir: FSRef; destName: CFStringRef; flags: OptionBits; callback: FSFileOperationStatusProcPtr; statusChangeInterval: CFTimeInterval; var clientContext: FSFileOperationClientContext ): OSStatus; external name '_FSMoveObjectAsync';
  6167. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  6168. {
  6169. * FSMoveObjectToTrashAsync()
  6170. *
  6171. * Discussion:
  6172. * This routine will start an asynchronous move of the object
  6173. * specified by source to the trash. If the volume the source
  6174. * object resides on does not support a trash folder then the
  6175. * operation will return an error (this is the same circumstance
  6176. * that triggers the delete immediately behavior in the Finder).
  6177. * Status callbacks will occur on one of the runloop/mode
  6178. * combinations that the operation was scheduled on (and is
  6179. * running). Upon successul complettion of the operation the last
  6180. * currentItem (from either the last status callback or retrieved by
  6181. * FSFileOperationCopyStatus) will be object in the trash.
  6182. *
  6183. * Mac OS X threading:
  6184. * Thread safe since version 10.5
  6185. *
  6186. * Parameters:
  6187. *
  6188. * fileOp:
  6189. * The FSFileOperation object created for this operation.
  6190. *
  6191. * source:
  6192. * The source object to move.
  6193. *
  6194. * flags:
  6195. * One or more FSFileOperation flags
  6196. *
  6197. * callback:
  6198. * An optional FSFileOperationStatusProcPtr which will be called
  6199. * with status updates as the move proceeds.
  6200. *
  6201. * statusChangeInterval:
  6202. * The minimum time between callbacks within a single stage of an
  6203. * operation.
  6204. *
  6205. * clientContext:
  6206. * Client contextual information to associate with this operation.
  6207. * The info pointer will be passed to status callbacks.
  6208. *
  6209. * Availability:
  6210. * Mac OS X: in version 10.5 and later in CoreServices.framework
  6211. * CarbonLib: not available
  6212. * Non-Carbon CFM: not available
  6213. }
  6214. function FSMoveObjectToTrashAsync( fileOp: FSFileOperationRef; const (*var*) source: FSRef; flags: OptionBits; callback: FSFileOperationStatusProcPtr; statusChangeInterval: CFTimeInterval; var clientContext: FSFileOperationClientContext ): OSStatus; external name '_FSMoveObjectToTrashAsync';
  6215. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  6216. {
  6217. * FSPathCopyObjectAsync()
  6218. *
  6219. * Discussion:
  6220. * This routine will start an asynchronous copy of the object
  6221. * specified by source to the directory specified by destDir. If
  6222. * destName is provided then the new object will be renamed to
  6223. * destName. If destName is not provided then the name of the
  6224. * source object will be used. Status callbacks will occur on one
  6225. * of the runloop/mode combinations that the operation was scheduled
  6226. * on (and is running).
  6227. *
  6228. * Mac OS X threading:
  6229. * Thread safe since version 10.4
  6230. *
  6231. * Parameters:
  6232. *
  6233. * fileOp:
  6234. * The FSFileOperation object created for this operation.
  6235. *
  6236. * sourcePath:
  6237. * The UTF-8 path string of the source object to copy.
  6238. *
  6239. * destDirPath:
  6240. * The UTF-8 path of the destination directory for the copy.
  6241. *
  6242. * destName:
  6243. * The name for the new object in the destination directory. Pass
  6244. * NULL to use the source object name.
  6245. *
  6246. * flags:
  6247. * One or more FSFileOperation flags
  6248. *
  6249. * callback:
  6250. * An optional FSPathFileOperationStatusProcPtr which will be
  6251. * called with status updates as the copy proceeds.
  6252. *
  6253. * statusChangeInterval:
  6254. * The minimum time between callbacks within a single stage of an
  6255. * operation.
  6256. *
  6257. * clientContext:
  6258. * Client contextual information to associate with this operation.
  6259. * The info pointer will be passed to status callbacks.
  6260. *
  6261. * Availability:
  6262. * Mac OS X: in version 10.4 and later in CoreServices.framework
  6263. * CarbonLib: not available in CarbonLib 1.x
  6264. * Non-Carbon CFM: not available
  6265. }
  6266. function FSPathCopyObjectAsync( fileOp: FSFileOperationRef; sourcePath: ConstCStringPtr; destDirPath: ConstCStringPtr; destName: CFStringRef; flags: OptionBits; callback: FSPathFileOperationStatusProcPtr; statusChangeInterval: CFTimeInterval; var clientContext: FSFileOperationClientContext ): OSStatus; external name '_FSPathCopyObjectAsync';
  6267. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  6268. {
  6269. * FSPathMoveObjectAsync()
  6270. *
  6271. * Discussion:
  6272. * This routine will start an asynchronous move of the object
  6273. * specified by source to the directory specified by destDir. If
  6274. * destName is provided then the new object will be renamed to
  6275. * destName. If destName is not provided then the name of the
  6276. * source object will be used. Status callbacks will occur on one
  6277. * of the runloop/mode combinations that the operation was scheduled
  6278. * on (and is running). By default a move across volumes will
  6279. * result in a copy and deletion of the original source. The
  6280. * kFSFileOperationDoNotMoveAcrossVolumes flag will cause cross
  6281. * volume moves to do nothing and return an error.
  6282. *
  6283. * Mac OS X threading:
  6284. * Thread safe since version 10.4
  6285. *
  6286. * Parameters:
  6287. *
  6288. * fileOp:
  6289. * The FSFileOperation object created for this operation.
  6290. *
  6291. * sourcePath:
  6292. * The UTF-8 path string of the source object to move.
  6293. *
  6294. * destDirPath:
  6295. * The UTF-8 path of the destination directory for the move.
  6296. *
  6297. * destName:
  6298. * The name for the object in the destination directory. Pass
  6299. * NULL to leave the name unchanged.
  6300. *
  6301. * flags:
  6302. * One or more FSFileOperation flags
  6303. *
  6304. * callback:
  6305. * An optional FSPathFileOperationStatusProcPtr which will be
  6306. * called with status updates as the move proceeds.
  6307. *
  6308. * statusChangeInterval:
  6309. * The minimum time between callbacks within a single stage of an
  6310. * operation.
  6311. *
  6312. * clientContext:
  6313. * Client contextual information to associate with this operation.
  6314. * The info pointer will be passed to status callbacks.
  6315. *
  6316. * Availability:
  6317. * Mac OS X: in version 10.4 and later in CoreServices.framework
  6318. * CarbonLib: not available in CarbonLib 1.x
  6319. * Non-Carbon CFM: not available
  6320. }
  6321. function FSPathMoveObjectAsync( fileOp: FSFileOperationRef; sourcePath: ConstCStringPtr; destDirPath: ConstCStringPtr; destName: CFStringRef; flags: OptionBits; callback: FSPathFileOperationStatusProcPtr; statusChangeInterval: CFTimeInterval; var clientContext: FSFileOperationClientContext ): OSStatus; external name '_FSPathMoveObjectAsync';
  6322. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  6323. {
  6324. * FSPathMoveObjectToTrashAsync()
  6325. *
  6326. * Discussion:
  6327. * This routine will start an asynchronous move of the object
  6328. * specified by source to the trash. If the volume the source
  6329. * object resides on does not support a trash folder then this call
  6330. * will return an error (this is the same circumstance that triggers
  6331. * the delete immediately behavior in the Finder). Status callbacks
  6332. * will occur on one of the runloop/mode combinations that the
  6333. * operation was scheduled on (and is running). Note that the
  6334. * object may be renamed when placed in the trash. Upon successful
  6335. * completion of the operation the last currentItem (from either the
  6336. * last status callback or retrieved by
  6337. * FSPathFileOperationCopyStatus) will be object in the trash.
  6338. *
  6339. * Mac OS X threading:
  6340. * Thread safe since version 10.5
  6341. *
  6342. * Parameters:
  6343. *
  6344. * fileOp:
  6345. * The FSFileOperation object created for this operation.
  6346. *
  6347. * sourcePath:
  6348. * The UTF-8 path string of the source object to move.
  6349. *
  6350. * flags:
  6351. * One or more FSFileOperation flags
  6352. *
  6353. * callback:
  6354. * An optional FSPathFileOperationStatusProcPtr which will be
  6355. * called with status updates as the move proceeds.
  6356. *
  6357. * statusChangeInterval:
  6358. * The minimum time between callbacks within a single stage of an
  6359. * operation.
  6360. *
  6361. * clientContext:
  6362. * Client contextual information to associate with this operation.
  6363. * The info pointer will be passed to status callbacks.
  6364. *
  6365. * Availability:
  6366. * Mac OS X: in version 10.5 and later in CoreServices.framework
  6367. * CarbonLib: not available
  6368. * Non-Carbon CFM: not available
  6369. }
  6370. function FSPathMoveObjectToTrashAsync( fileOp: FSFileOperationRef; sourcePath: ConstCStringPtr; flags: OptionBits; callback: FSPathFileOperationStatusProcPtr; statusChangeInterval: CFTimeInterval; var clientContext: FSFileOperationClientContext ): OSStatus; external name '_FSPathMoveObjectToTrashAsync';
  6371. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  6372. {
  6373. * FSFileOperationCancel()
  6374. *
  6375. * Discussion:
  6376. * Cancels the specified FSFileOperation. This makes the operation
  6377. * ineligible to run on any runloop.
  6378. *
  6379. * Mac OS X threading:
  6380. * Thread safe since version 10.4
  6381. *
  6382. * Parameters:
  6383. *
  6384. * fileOp:
  6385. * The FSFileOperation to cancel.
  6386. *
  6387. * Availability:
  6388. * Mac OS X: in version 10.4 and later in CoreServices.framework
  6389. * CarbonLib: not available in CarbonLib 1.x
  6390. * Non-Carbon CFM: not available
  6391. }
  6392. function FSFileOperationCancel( fileOp: FSFileOperationRef ): OSStatus; external name '_FSFileOperationCancel';
  6393. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  6394. {
  6395. * FSFileOperationCopyStatus()
  6396. *
  6397. * Discussion:
  6398. * This routine returns the current status of an FSFileOperation.
  6399. * The status dictionary must be released by the caller.
  6400. *
  6401. * Mac OS X threading:
  6402. * Thread safe since version 10.4
  6403. *
  6404. * Parameters:
  6405. *
  6406. * fileOp:
  6407. * The FSFileOperation from which to retrieve status information.
  6408. *
  6409. * currentItem:
  6410. * FSRef to item operation is currently processing. If the
  6411. * operation is complete then currentItem refers to the target
  6412. * item (the new item corresponding to the source item in the
  6413. * destination directory).
  6414. *
  6415. * stage:
  6416. * current stage of the operation.
  6417. *
  6418. * error:
  6419. * Either noErr or an error value which caused the operation to
  6420. * fail.
  6421. *
  6422. * statusDictionary:
  6423. * A CFDictionary with more detailed status information. The
  6424. * caller is responsible for releasing the object when done with
  6425. * it.
  6426. *
  6427. * info:
  6428. * The info pointer passed in by the client.
  6429. *
  6430. * Availability:
  6431. * Mac OS X: in version 10.4 and later in CoreServices.framework
  6432. * CarbonLib: not available in CarbonLib 1.x
  6433. * Non-Carbon CFM: not available
  6434. }
  6435. function FSFileOperationCopyStatus( fileOp: FSFileOperationRef; var currentItem: FSRef; var stage: FSFileOperationStage; var error: OSStatus; var statusDictionary: CFDictionaryRef; info: UnivPtrPtr ): OSStatus; external name '_FSFileOperationCopyStatus';
  6436. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  6437. {
  6438. * FSPathFileOperationCopyStatus()
  6439. *
  6440. * Discussion:
  6441. * This routine returns the current status of an FSFileOperation.
  6442. * The status dictionary must be released by the caller.
  6443. *
  6444. * Mac OS X threading:
  6445. * Thread safe since version 10.4
  6446. *
  6447. * Parameters:
  6448. *
  6449. * fileOp:
  6450. * The FSFileOperation from which to retrieve status information.
  6451. *
  6452. * currentItem:
  6453. * A path to the item operation is currently processing. The
  6454. * caller is responsible for calling free to dispose of the path
  6455. * string. If the operation is complete then currentItem refers
  6456. * to the target item (the new item corresponding to the source
  6457. * item in the destination directory).
  6458. *
  6459. * stage:
  6460. * current stage of the operation.
  6461. *
  6462. * error:
  6463. * Either noErr or an error value which caused the operation to
  6464. * fail.
  6465. *
  6466. * statusDictionary:
  6467. * A CFDictionary with more detailed status information. The
  6468. * caller is responsible for releasing the object when done with
  6469. * it.
  6470. *
  6471. * info:
  6472. * The info pointer passed in by the client.
  6473. *
  6474. * Availability:
  6475. * Mac OS X: in version 10.4 and later in CoreServices.framework
  6476. * CarbonLib: not available in CarbonLib 1.x
  6477. * Non-Carbon CFM: not available
  6478. }
  6479. function FSPathFileOperationCopyStatus( fileOp: FSFileOperationRef; var currentItem: CStringPtr; var stage: FSFileOperationStage; var error: OSStatus; var statusDictionary: CFDictionaryRef; info: UnivPtrPtr ): OSStatus; external name '_FSPathFileOperationCopyStatus';
  6480. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  6481. { String conversion functions}
  6482. {
  6483. * FSCreateStringFromHFSUniStr()
  6484. *
  6485. * Discussion:
  6486. * Creates a CFString from a HFSUniStr255.
  6487. *
  6488. * Mac OS X threading:
  6489. * Thread safe since version 10.4
  6490. *
  6491. * Parameters:
  6492. *
  6493. * alloc:
  6494. * The CFAllocator to use. Pass NULL for the default allocator.
  6495. *
  6496. * uniStr:
  6497. * A HFSUniStr255 to use as the source value for the CFString.
  6498. *
  6499. * Result:
  6500. * A CFStringRef created from the HFSUniStr255 or NULL.
  6501. *
  6502. * Availability:
  6503. * Mac OS X: in version 10.4 and later in CoreServices.framework
  6504. * CarbonLib: not available in CarbonLib 1.x
  6505. * Non-Carbon CFM: not available
  6506. }
  6507. function FSCreateStringFromHFSUniStr( alloc: CFAllocatorRef; const (*var*) uniStr: HFSUniStr255 ): CFStringRef; external name '_FSCreateStringFromHFSUniStr';
  6508. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  6509. {
  6510. * FSGetHFSUniStrFromString()
  6511. *
  6512. * Discussion:
  6513. * Convert a CFString into a HFSUniStr255.
  6514. *
  6515. * Mac OS X threading:
  6516. * Thread safe since version 10.4
  6517. *
  6518. * Parameters:
  6519. *
  6520. * theString:
  6521. * The CFString to convert to a HFSUniStr255.
  6522. *
  6523. * uniStr:
  6524. * A pointer to a HFSUniStr255 which will be filled in using the
  6525. * value of theString.
  6526. *
  6527. * Availability:
  6528. * Mac OS X: in version 10.4 and later in CoreServices.framework
  6529. * CarbonLib: not available in CarbonLib 1.x
  6530. * Non-Carbon CFM: not available
  6531. }
  6532. function FSGetHFSUniStrFromString( theString: CFStringRef; var uniStr: {out} HFSUniStr255 ): OSStatus; external name '_FSGetHFSUniStrFromString';
  6533. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  6534. { ACL support}
  6535. {
  6536. * FSFileSecurityGetTypeID()
  6537. *
  6538. * Discussion:
  6539. * This routine will return the CFTypeID for the FSFileSecurity type.
  6540. *
  6541. * Mac OS X threading:
  6542. * Thread safe since version 10.4
  6543. *
  6544. * Result:
  6545. * the CFTypeID for the FSFilSecurity type.
  6546. *
  6547. * Availability:
  6548. * Mac OS X: in version 10.4 and later in CoreServices.framework
  6549. * CarbonLib: not available in CarbonLib 1.x
  6550. * Non-Carbon CFM: not available
  6551. }
  6552. function FSFileSecurityGetTypeID: CFTypeID; external name '_FSFileSecurityGetTypeID';
  6553. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  6554. {
  6555. * FSFileSecurityCreate()
  6556. *
  6557. * Discussion:
  6558. * This routine will create an FSFileSecurity object. The object
  6559. * should be released using CFRelease when it is no longer needed.
  6560. *
  6561. * Mac OS X threading:
  6562. * Thread safe since version 10.4
  6563. *
  6564. * Parameters:
  6565. *
  6566. * alloc:
  6567. * The CFAllocator to use. Pass NULL for the default allocator.
  6568. *
  6569. * Result:
  6570. * A reference to the newly created object or NULL if the creation
  6571. * failed.
  6572. *
  6573. * Availability:
  6574. * Mac OS X: in version 10.4 and later in CoreServices.framework
  6575. * CarbonLib: not available in CarbonLib 1.x
  6576. * Non-Carbon CFM: not available
  6577. }
  6578. function FSFileSecurityCreate( alloc: CFAllocatorRef ): FSFileSecurityRef; external name '_FSFileSecurityCreate';
  6579. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  6580. {
  6581. * FSFileSecurityCreateWithFSPermissionInfo()
  6582. *
  6583. * Mac OS X threading:
  6584. * Thread safe since version 10.4
  6585. *
  6586. * Availability:
  6587. * Mac OS X: in version 10.4 and later in CoreServices.framework
  6588. * CarbonLib: not available in CarbonLib 1.x
  6589. * Non-Carbon CFM: not available
  6590. }
  6591. function FSFileSecurityCreateWithFSPermissionInfo( alloc: CFAllocatorRef; const (*var*) permissions: FSPermissionInfo ): FSFileSecurityRef; external name '_FSFileSecurityCreateWithFSPermissionInfo';
  6592. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  6593. {
  6594. * FSFileSecurityRefCreateCopy()
  6595. *
  6596. * Mac OS X threading:
  6597. * Thread safe since version 10.4
  6598. *
  6599. * Availability:
  6600. * Mac OS X: in version 10.4 and later in CoreServices.framework
  6601. * CarbonLib: not available in CarbonLib 1.x
  6602. * Non-Carbon CFM: not available
  6603. }
  6604. function FSFileSecurityRefCreateCopy( alloc: CFAllocatorRef; fileSec: FSFileSecurityRef ): FSFileSecurityRef; external name '_FSFileSecurityRefCreateCopy';
  6605. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  6606. { get and set properties}
  6607. {
  6608. * FSFileSecurityGetOwnerUUID()
  6609. *
  6610. * Discussion:
  6611. * This routine will get the owner UUID associated with the passed
  6612. * in FSFileSecurityRef. In there is no owner UUID property
  6613. * associated with the FSFileSecurity object then
  6614. * errFSPropertyNotValid will be returned.
  6615. *
  6616. * Mac OS X threading:
  6617. * Thread safe since version 10.4
  6618. *
  6619. * Parameters:
  6620. *
  6621. * fileSec:
  6622. * A reference to the FSFileSecurity object to get the owner UUID
  6623. * from.
  6624. *
  6625. * owner:
  6626. * A pointer to storage for the owner UUID associated with fileSec.
  6627. *
  6628. * Availability:
  6629. * Mac OS X: in version 10.4 and later in CoreServices.framework
  6630. * CarbonLib: not available in CarbonLib 1.x
  6631. * Non-Carbon CFM: not available
  6632. }
  6633. function FSFileSecurityGetOwnerUUID( fileSec: FSFileSecurityRef; var owner: CFUUIDBytes ): OSStatus; external name '_FSFileSecurityGetOwnerUUID';
  6634. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  6635. {
  6636. * FSFileSecuritySetOwnerUUID()
  6637. *
  6638. * Discussion:
  6639. * This routine will set the owner UUID associated with the passed
  6640. * in FSFileSecurityRef.
  6641. *
  6642. * Mac OS X threading:
  6643. * Thread safe since version 10.4
  6644. *
  6645. * Parameters:
  6646. *
  6647. * fileSec:
  6648. * A reference to the FSFileSecurity object to set the owner UUID
  6649. * for.
  6650. *
  6651. * owner:
  6652. * The UUID to set as the owner UUID associated with fileSec.
  6653. *
  6654. * Availability:
  6655. * Mac OS X: in version 10.4 and later in CoreServices.framework
  6656. * CarbonLib: not available in CarbonLib 1.x
  6657. * Non-Carbon CFM: not available
  6658. }
  6659. function FSFileSecuritySetOwnerUUID( fileSec: FSFileSecurityRef; const (*var*) owner: CFUUIDBytes ): OSStatus; external name '_FSFileSecuritySetOwnerUUID';
  6660. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  6661. {
  6662. * FSFileSecurityGetGroupUUID()
  6663. *
  6664. * Discussion:
  6665. * This routine will get the group UUID associated with the passed
  6666. * in FSFileSecurityRef. In there is no group UUID property
  6667. * associated with the FSFileSecurity object then
  6668. * errFSPropertyNotValid will be returned.
  6669. *
  6670. * Mac OS X threading:
  6671. * Thread safe since version 10.4
  6672. *
  6673. * Parameters:
  6674. *
  6675. * fileSec:
  6676. * A reference to the FSFileSecurity object to get the group UUID
  6677. * from.
  6678. *
  6679. * group:
  6680. * A pointer to storage for the owner UUID associated with fileSec.
  6681. *
  6682. * Availability:
  6683. * Mac OS X: in version 10.4 and later in CoreServices.framework
  6684. * CarbonLib: not available in CarbonLib 1.x
  6685. * Non-Carbon CFM: not available
  6686. }
  6687. function FSFileSecurityGetGroupUUID( fileSec: FSFileSecurityRef; var group: CFUUIDBytes ): OSStatus; external name '_FSFileSecurityGetGroupUUID';
  6688. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  6689. {
  6690. * FSFileSecuritySetGroupUUID()
  6691. *
  6692. * Discussion:
  6693. * This routine will set the group UUID associated with the passed
  6694. * in FSFileSecurityRef.
  6695. *
  6696. * Mac OS X threading:
  6697. * Thread safe since version 10.4
  6698. *
  6699. * Parameters:
  6700. *
  6701. * fileSec:
  6702. * A reference to the FSFileSecurity object to set the group UUID
  6703. * for.
  6704. *
  6705. * group:
  6706. * The UUID to set as the group UUID associated with fileSec.
  6707. *
  6708. * Availability:
  6709. * Mac OS X: in version 10.4 and later in CoreServices.framework
  6710. * CarbonLib: not available in CarbonLib 1.x
  6711. * Non-Carbon CFM: not available
  6712. }
  6713. function FSFileSecuritySetGroupUUID( fileSec: FSFileSecurityRef; const (*var*) group: CFUUIDBytes ): OSStatus; external name '_FSFileSecuritySetGroupUUID';
  6714. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  6715. {
  6716. * FSFileSecurityCopyAccessControlList()
  6717. *
  6718. * Discussion:
  6719. * This routine will copy the acl_t associated with the passed in
  6720. * FSFileSecurityRef. The accessControlList returned by this
  6721. * routine is a copy and must be released using acl_free. The
  6722. * accessControlList is an acl_t and is meant to be manipulated
  6723. * using the acl calls defined in <sys/acl.h>. If there is no acl
  6724. * property associated with the FSFileSecurity object then
  6725. * errFSPropertyNotValid will be returned.
  6726. *
  6727. * Mac OS X threading:
  6728. * Thread safe since version 10.4
  6729. *
  6730. * Parameters:
  6731. *
  6732. * fileSec:
  6733. * A reference to the FSFileSecurity object to set the group for.
  6734. *
  6735. * accessControlList:
  6736. * A pointer to storage for the acl_t associated with fileSec.
  6737. *
  6738. * Availability:
  6739. * Mac OS X: in version 10.4 and later in CoreServices.framework
  6740. * CarbonLib: not available in CarbonLib 1.x
  6741. * Non-Carbon CFM: not available
  6742. }
  6743. function FSFileSecurityCopyAccessControlList( fileSec: FSFileSecurityRef; var accessControlList: acl_t ): OSStatus; external name '_FSFileSecurityCopyAccessControlList';
  6744. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  6745. {
  6746. * FSFileSecuritySetAccessControlList()
  6747. *
  6748. * Discussion:
  6749. * This routine will set the acl associated with the passed in
  6750. * FSFileSecurityRef. To request removal of an ACL from a filesystem
  6751. * object pass in kFSFileSecurityRemoveACL as the accessControlList
  6752. * and set the fileSec on the target object using FSSetCatalogInfo.
  6753. * Setting the accessControlList to NULL will result in the property
  6754. * being unset.
  6755. *
  6756. * Mac OS X threading:
  6757. * Thread safe since version 10.4
  6758. *
  6759. * Parameters:
  6760. *
  6761. * fileSec:
  6762. * A reference to the FSFileSecurity object to set the group for.
  6763. *
  6764. * accessControlList:
  6765. * The acl_t to set as the acl associated with fileSec.
  6766. *
  6767. * Availability:
  6768. * Mac OS X: in version 10.4 and later in CoreServices.framework
  6769. * CarbonLib: not available in CarbonLib 1.x
  6770. * Non-Carbon CFM: not available
  6771. }
  6772. function FSFileSecuritySetAccessControlList( fileSec: FSFileSecurityRef; accessControlList: acl_t ): OSStatus; external name '_FSFileSecuritySetAccessControlList';
  6773. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  6774. {
  6775. * FSFileSecurityGetOwner()
  6776. *
  6777. * Discussion:
  6778. * This routine will get the owner uid associated with the passed in
  6779. * FSFileSecurityRef. In there is no owner property associated with
  6780. * the FSFileSecurity object then errFSPropertyNotValid will be
  6781. * returned. Note that this value is not the owner UUID which is
  6782. * returned by FSFileSecurityGetOwnerUUID.
  6783. *
  6784. * Mac OS X threading:
  6785. * Thread safe since version 10.4
  6786. *
  6787. * Parameters:
  6788. *
  6789. * fileSec:
  6790. * A reference to the FSFileSecurity object to get the owner from.
  6791. *
  6792. * owner:
  6793. * A pointer to storage for the owner uid associated with fileSec.
  6794. *
  6795. * Availability:
  6796. * Mac OS X: in version 10.4 and later in CoreServices.framework
  6797. * CarbonLib: not available in CarbonLib 1.x
  6798. * Non-Carbon CFM: not available
  6799. }
  6800. function FSFileSecurityGetOwner( fileSec: FSFileSecurityRef; var owner: UInt32 ): OSStatus; external name '_FSFileSecurityGetOwner';
  6801. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  6802. {
  6803. * FSFileSecuritySetOwner()
  6804. *
  6805. * Discussion:
  6806. * This routine will set the owner uid associated with the passed in
  6807. * FSFileSecurityRef.
  6808. *
  6809. * Mac OS X threading:
  6810. * Thread safe since version 10.4
  6811. *
  6812. * Parameters:
  6813. *
  6814. * fileSec:
  6815. * A reference to the FSFileSecurity object to set the owner for.
  6816. *
  6817. * owner:
  6818. * The uid to set as the owner associated with fileSec.
  6819. *
  6820. * Availability:
  6821. * Mac OS X: in version 10.4 and later in CoreServices.framework
  6822. * CarbonLib: not available in CarbonLib 1.x
  6823. * Non-Carbon CFM: not available
  6824. }
  6825. function FSFileSecuritySetOwner( fileSec: FSFileSecurityRef; owner: UInt32 ): OSStatus; external name '_FSFileSecuritySetOwner';
  6826. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  6827. {
  6828. * FSFileSecurityGetGroup()
  6829. *
  6830. * Discussion:
  6831. * This routine will get the group gid associated with the passed in
  6832. * FSFileSecurityRef. In there is no group property associated with
  6833. * the FSFileSecurity object then errFSPropertyNotValid will be
  6834. * returned.
  6835. *
  6836. * Mac OS X threading:
  6837. * Thread safe since version 10.4
  6838. *
  6839. * Parameters:
  6840. *
  6841. * fileSec:
  6842. * A reference to the FSFileSecurity object to get the owner from.
  6843. *
  6844. * group:
  6845. * A pointer to storage for the group gid associated with fileSec.
  6846. *
  6847. * Availability:
  6848. * Mac OS X: in version 10.4 and later in CoreServices.framework
  6849. * CarbonLib: not available in CarbonLib 1.x
  6850. * Non-Carbon CFM: not available
  6851. }
  6852. function FSFileSecurityGetGroup( fileSec: FSFileSecurityRef; var group: UInt32 ): OSStatus; external name '_FSFileSecurityGetGroup';
  6853. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  6854. {
  6855. * FSFileSecuritySetGroup()
  6856. *
  6857. * Discussion:
  6858. * This routine will set the group gid associated with the passed in
  6859. * FSFileSecurityRef.
  6860. *
  6861. * Mac OS X threading:
  6862. * Thread safe since version 10.4
  6863. *
  6864. * Parameters:
  6865. *
  6866. * fileSec:
  6867. * A reference to the FSFileSecurity object to set the group for.
  6868. *
  6869. * group:
  6870. * The gid to set as the group associated with fileSec.
  6871. *
  6872. * Availability:
  6873. * Mac OS X: in version 10.4 and later in CoreServices.framework
  6874. * CarbonLib: not available in CarbonLib 1.x
  6875. * Non-Carbon CFM: not available
  6876. }
  6877. function FSFileSecuritySetGroup( fileSec: FSFileSecurityRef; group: UInt32 ): OSStatus; external name '_FSFileSecuritySetGroup';
  6878. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  6879. {
  6880. * FSFileSecurityGetMode()
  6881. *
  6882. * Discussion:
  6883. * This routine will get the mode associated with the passed in
  6884. * FSFileSecurityRef. In there is no mode property associated with
  6885. * the FSFileSecurity object then errFSPropertyNotValid will be
  6886. * returned.
  6887. *
  6888. * Mac OS X threading:
  6889. * Thread safe since version 10.4
  6890. *
  6891. * Parameters:
  6892. *
  6893. * fileSec:
  6894. * A reference to the FSFileSecurity object to set the group for.
  6895. *
  6896. * mode:
  6897. * A pointer to storage for the mode associated with fileSec.
  6898. *
  6899. * Availability:
  6900. * Mac OS X: in version 10.4 and later in CoreServices.framework
  6901. * CarbonLib: not available in CarbonLib 1.x
  6902. * Non-Carbon CFM: not available
  6903. }
  6904. function FSFileSecurityGetMode( fileSec: FSFileSecurityRef; var mode: UInt16 ): OSStatus; external name '_FSFileSecurityGetMode';
  6905. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  6906. {
  6907. * FSFileSecuritySetMode()
  6908. *
  6909. * Discussion:
  6910. * This routine will set the mode associated with the passed in
  6911. * FSFileSecurityRef.
  6912. *
  6913. * Mac OS X threading:
  6914. * Thread safe since version 10.4
  6915. *
  6916. * Parameters:
  6917. *
  6918. * fileSec:
  6919. * A reference to the FSFileSecurity object to set the group for.
  6920. *
  6921. * mode:
  6922. * The mode to set as the mode associated with fileSec.
  6923. *
  6924. * Availability:
  6925. * Mac OS X: in version 10.4 and later in CoreServices.framework
  6926. * CarbonLib: not available in CarbonLib 1.x
  6927. * Non-Carbon CFM: not available
  6928. }
  6929. function FSFileSecuritySetMode( fileSec: FSFileSecurityRef; mode: UInt16 ): OSStatus; external name '_FSFileSecuritySetMode';
  6930. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  6931. const
  6932. { old names for ioPosMode flags }
  6933. pleaseCacheBit = 4; { old name of kFSPleaseCacheBit }
  6934. pleaseCacheMask = $0010;
  6935. noCacheBit = 5; { old name of kFSNoCacheBit }
  6936. noCacheMask = $0020;
  6937. rdVerifyBit = 6; { old name of kFSRdVerifyBit }
  6938. rdVerifyMask = $0040;
  6939. rdVerify = 64; { old name of rdVerifyMask }
  6940. forceReadBit = 6; { old name of kFSForceReadBit }
  6941. forceReadMask = $0040;
  6942. newLineBit = 7; { old name of kFSNewLineBit }
  6943. newLineMask = $0080;
  6944. newLineCharMask = $FF00; { old name of kFSNewLineCharMask }
  6945. { mapping codes (ioObjType) for MapName & MapID }
  6946. const
  6947. kOwnerID2Name = 1;
  6948. kGroupID2Name = 2;
  6949. kOwnerName2ID = 3;
  6950. kGroupName2ID = 4; { types of oj object to be returned (ioObjType) for _GetUGEntry }
  6951. kReturnNextUser = 1;
  6952. kReturnNextGroup = 2;
  6953. kReturnNextUG = 3;
  6954. { vcbFlags bits }
  6955. const
  6956. kVCBFlagsIdleFlushBit = 3; { Set if volume should be flushed at idle time }
  6957. kVCBFlagsIdleFlushMask = $0008;
  6958. kVCBFlagsHFSPlusAPIsBit = 4; { Set if volume implements HFS Plus APIs itself (not via emulation) }
  6959. kVCBFlagsHFSPlusAPIsMask = $0010;
  6960. kVCBFlagsHardwareGoneBit = 5; { Set if disk driver returned a hardwareGoneErr to Read or Write }
  6961. kVCBFlagsHardwareGoneMask = $0020;
  6962. kVCBFlagsVolumeDirtyBit = 15; { Set if volume information has changed since the last FlushVol }
  6963. kVCBFlagsVolumeDirtyMask = $8000;
  6964. { ioVAtrb bits returned by PBHGetVInfo and PBXGetVolInfo }
  6965. const
  6966. kioVAtrbDefaultVolumeBit = 5; { Set if the volume is the default volume }
  6967. kioVAtrbDefaultVolumeMask = $0020;
  6968. kioVAtrbFilesOpenBit = 6; { Set if there are open files or iterators }
  6969. kioVAtrbFilesOpenMask = $0040;
  6970. kioVAtrbHardwareLockedBit = 7; { Set if volume is locked by a hardware setting }
  6971. kioVAtrbHardwareLockedMask = $0080;
  6972. kioVAtrbSoftwareLockedBit = 15; { Set if volume is locked by software }
  6973. kioVAtrbSoftwareLockedMask = $8000;
  6974. { ioFlAttrib bits returned by PBGetCatInfo }
  6975. const
  6976. { file and directory attributes in ioFlAttrib }
  6977. kioFlAttribLockedBit = 0; { Set if file or directory is locked }
  6978. kioFlAttribLockedMask = $01;
  6979. kioFlAttribResOpenBit = 2; { Set if resource fork is open }
  6980. kioFlAttribResOpenMask = $04;
  6981. kioFlAttribDataOpenBit = 3; { Set if data fork is open }
  6982. kioFlAttribDataOpenMask = $08;
  6983. kioFlAttribDirBit = 4; { Set if this is a directory }
  6984. kioFlAttribDirMask = $10;
  6985. ioDirFlg = 4; { Set if this is a directory (old name) }
  6986. ioDirMask = $10;
  6987. kioFlAttribCopyProtBit = 6; { Set if AppleShare server "copy-protects" the file }
  6988. kioFlAttribCopyProtMask = $40;
  6989. kioFlAttribFileOpenBit = 7; { Set if file (either fork) is open }
  6990. kioFlAttribFileOpenMask = $80; { ioFlAttrib for directories only }
  6991. kioFlAttribInSharedBit = 2; { Set if the directory is within a shared area of the directory hierarchy }
  6992. kioFlAttribInSharedMask = $04;
  6993. kioFlAttribMountedBit = 3; { Set if the directory is a share point that is mounted by some user }
  6994. kioFlAttribMountedMask = $08;
  6995. kioFlAttribSharePointBit = 5; { Set if the directory is a share point }
  6996. kioFlAttribSharePointMask = $20;
  6997. { ioFCBFlags bits returned by PBGetFCBInfo }
  6998. { IMPORTANT: These ioFCBFlags bit constants are for the SInt16 FCBPBRec.ioFCBFlags field returned }
  6999. { by PBGetFCBInfoSync and PBGetFCBInfoAsync. Do not use them with the FSForkInfo.flags }
  7000. { field returned by the FSGetForkCBInfo, PBGetForkCBInfoSync and PBGetForkCBInfoAsyn functions. }
  7001. const
  7002. kioFCBWriteBit = 8; { Data can be written to this file }
  7003. kioFCBWriteMask = $0100;
  7004. kioFCBResourceBit = 9; { This file is a resource fork }
  7005. kioFCBResourceMask = $0200;
  7006. kioFCBWriteLockedBit = 10; { File has a locked byte range }
  7007. kioFCBWriteLockedMask = $0400;
  7008. kioFCBLargeFileBit = 11; { File may grow beyond 2GB; cache uses file blocks, not bytes }
  7009. kioFCBLargeFileMask = $0800;
  7010. kioFCBSharedWriteBit = 12; { File is open for shared write access }
  7011. kioFCBSharedWriteMask = $1000;
  7012. kioFCBFileLockedBit = 13; { File is locked (write-protected) }
  7013. kioFCBFileLockedMask = $2000;
  7014. kioFCBOwnClumpBit = 14; { File has clump size specified in FCB }
  7015. kioFCBOwnClumpMask = $4000;
  7016. kioFCBModifiedBit = 15; { File has changed since it was last flushed }
  7017. kioFCBModifiedMask = $8000;
  7018. { IMPORTANT: These FSForkInfoFlags constants are for use with the FSForkInfo.flags }
  7019. { field returned by the FSGetForkCBInfo, PBGetForkCBInfoSync and PBGetForkCBInfoAsyn functions. }
  7020. { Do not use them with the FCBPBRec.ioFCBFlags field returned by PBGetFCBInfoSync and PBGetFCBInfoAsync. }
  7021. const
  7022. kForkInfoFlagsWriteBit = kioFCBWriteBit - 8; { Data can be written to this file }
  7023. kForkInfoFlagsWriteMask = 1 shl kForkInfoFlagsWriteBit;
  7024. kForkInfoFlagsResourceBit = kioFCBResourceBit - 8; { This file is a resource fork }
  7025. kForkInfoFlagsResourceMask = 1 shl kForkInfoFlagsResourceBit;
  7026. kForkInfoFlagsWriteLockedBit = kioFCBWriteLockedBit - 8; { File has a locked byte range }
  7027. kForkInfoFlagsWriteLockedMask = 1 shl kForkInfoFlagsWriteLockedBit;
  7028. kForkInfoFlagsLargeFileBit = kioFCBLargeFileBit - 8; { File may grow beyond 2GB; cache uses file blocks, not bytes }
  7029. kForkInfoFlagsLargeFileMask = 1 shl kForkInfoFlagsLargeFileBit;
  7030. kForkInfoFlagsSharedWriteBit = kioFCBSharedWriteBit - 8; { File is open for shared write access }
  7031. kForkInfoFlagsSharedWriteMask = 1 shl kForkInfoFlagsSharedWriteBit;
  7032. kForkInfoFlagsFileLockedBit = kioFCBFileLockedBit - 8; { File is locked (write-protected) }
  7033. kForkInfoFlagsFileLockedMask = 1 shl kForkInfoFlagsFileLockedBit;
  7034. kForkInfoFlagsOwnClumpBit = kioFCBOwnClumpBit - 8; { File has clump size specified in FCB }
  7035. kForkInfoFlagsOwnClumpMask = 1 shl kForkInfoFlagsOwnClumpBit;
  7036. kForkInfoFlagsModifiedBit = kioFCBModifiedBit - 8; { File has changed since it was last flushed }
  7037. kForkInfoFlagsModifiedMask = 1 shl kForkInfoFlagsModifiedBit;
  7038. { ioACUser bits returned by PBGetCatInfo }
  7039. { Note: you must clear ioACUser before calling PBGetCatInfo because some file systems do not use this field }
  7040. const
  7041. kioACUserNoSeeFolderBit = 0; { Set if user does not have See Folder privileges }
  7042. kioACUserNoSeeFolderMask = $01;
  7043. kioACUserNoSeeFilesBit = 1; { Set if user does not have See Files privileges }
  7044. kioACUserNoSeeFilesMask = $02;
  7045. kioACUserNoMakeChangesBit = 2; { Set if user does not have Make Changes privileges }
  7046. kioACUserNoMakeChangesMask = $04;
  7047. kioACUserNotOwnerBit = 7; { Set if user is not owner of the directory }
  7048. kioACUserNotOwnerMask = $80;
  7049. { Folder and File values of access privileges in ioACAccess }
  7050. const
  7051. kioACAccessOwnerBit = 31; { User is owner of directory }
  7052. kioACAccessOwnerMask = -2147483648; { SInt32($80000000) }
  7053. kioACAccessBlankAccessBit = 28; { Directory has blank access privileges }
  7054. kioACAccessBlankAccessMask = $10000000;
  7055. kioACAccessUserWriteBit = 26; { User has write privileges }
  7056. kioACAccessUserWriteMask = $04000000;
  7057. kioACAccessUserReadBit = 25; { User has read privileges }
  7058. kioACAccessUserReadMask = $02000000;
  7059. kioACAccessUserSearchBit = 24; { User has search privileges }
  7060. kioACAccessUserSearchMask = $01000000;
  7061. kioACAccessEveryoneWriteBit = 18; { Everyone has write privileges }
  7062. kioACAccessEveryoneWriteMask = $00040000;
  7063. kioACAccessEveryoneReadBit = 17; { Everyone has read privileges }
  7064. kioACAccessEveryoneReadMask = $00020000;
  7065. kioACAccessEveryoneSearchBit = 16; { Everyone has search privileges }
  7066. kioACAccessEveryoneSearchMask = $00010000;
  7067. kioACAccessGroupWriteBit = 10; { Group has write privileges }
  7068. kioACAccessGroupWriteMask = $00000400;
  7069. kioACAccessGroupReadBit = 9; { Group has read privileges }
  7070. kioACAccessGroupReadMask = $00000200;
  7071. kioACAccessGroupSearchBit = 8; { Group has search privileges }
  7072. kioACAccessGroupSearchMask = $00000100;
  7073. kioACAccessOwnerWriteBit = 2; { Owner has write privileges }
  7074. kioACAccessOwnerWriteMask = $00000004;
  7075. kioACAccessOwnerReadBit = 1; { Owner has read privileges }
  7076. kioACAccessOwnerReadMask = $00000002;
  7077. kioACAccessOwnerSearchBit = 0; { Owner has search privileges }
  7078. kioACAccessOwnerSearchMask = $00000001;
  7079. kfullPrivileges = $00070007; { all privileges for everybody and owner}
  7080. kownerPrivileges = $00000007; { all privileges for owner only}
  7081. { Volume Characteristics }
  7082. {
  7083. * FSGetVolumeParms()
  7084. *
  7085. * Discussion:
  7086. * Returns information about the specified volume in the passed in
  7087. * GetVolParmsInfoBuffer.
  7088. *
  7089. * Mac OS X threading:
  7090. * Thread safe since version 10.5
  7091. *
  7092. * Parameters:
  7093. *
  7094. * volume:
  7095. * The volume to get the information about.
  7096. *
  7097. * buffer:
  7098. * A GetVolParmsInfoBuffer to fill out
  7099. *
  7100. * bufferSize:
  7101. * the size of the passed in buffer
  7102. *
  7103. * Availability:
  7104. * Mac OS X: in version 10.5 and later in CoreServices.framework
  7105. * CarbonLib: not available in CarbonLib 1.x
  7106. * Non-Carbon CFM: not available
  7107. }
  7108. function FSGetVolumeParms( volume: FSVolumeRefNum; var buffer: GetVolParmsInfoBuffer; bufferSize: ByteCount ): OSStatus; external name '_FSGetVolumeParms';
  7109. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  7110. { VolumeMount }
  7111. {
  7112. * FSGetVolumeMountInfoSize()
  7113. *
  7114. * Discussion:
  7115. * Returns the size of the MountInfo block associated with the
  7116. * specified volume.
  7117. *
  7118. * Mac OS X threading:
  7119. * Thread safe since version 10.5
  7120. *
  7121. * Parameters:
  7122. *
  7123. * volume:
  7124. * The volume to get the MountInfo size for.
  7125. *
  7126. * size:
  7127. * The size of the buffer required to store the MountInfo data
  7128. *
  7129. * Availability:
  7130. * Mac OS X: in version 10.5 and later in CoreServices.framework
  7131. * CarbonLib: not available in CarbonLib 1.x
  7132. * Non-Carbon CFM: not available
  7133. }
  7134. function FSGetVolumeMountInfoSize( volume: FSVolumeRefNum; var size: ByteCount ): OSStatus; external name '_FSGetVolumeMountInfoSize';
  7135. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  7136. {
  7137. * FSGetVolumeMountInfo()
  7138. *
  7139. * Discussion:
  7140. * Returns the MountInfo data for the specified volume. If the
  7141. * buffer passed in is too small then errFSBadBuffer is returned and
  7142. * actualSize will contain the required buffer size to hold the
  7143. * MountInfo data.
  7144. *
  7145. * Mac OS X threading:
  7146. * Thread safe since version 10.5
  7147. *
  7148. * Parameters:
  7149. *
  7150. * volume:
  7151. * The volume to get the MountInfo for.
  7152. *
  7153. * buffer:
  7154. * A pointer to the buffer to copy the MountInfo data into
  7155. *
  7156. * bufferSize:
  7157. * The size of the buffer passed in
  7158. *
  7159. * actualSize:
  7160. * The actual size of the MountInfo data
  7161. *
  7162. * Availability:
  7163. * Mac OS X: in version 10.5 and later in CoreServices.framework
  7164. * CarbonLib: not available in CarbonLib 1.x
  7165. * Non-Carbon CFM: not available
  7166. }
  7167. function FSGetVolumeMountInfo( volume: FSVolumeRefNum; buffer: BytePtr; bufferSize: ByteCount; var actualSize: ByteCount ): OSStatus; external name '_FSGetVolumeMountInfo';
  7168. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  7169. {
  7170. * FSVolumeMount()
  7171. *
  7172. * Discussion:
  7173. * Will attempt to remount a volume using the passed in MountInfo
  7174. * buffer
  7175. *
  7176. * Mac OS X threading:
  7177. * Thread safe since version 10.5
  7178. *
  7179. * Parameters:
  7180. *
  7181. * buffer:
  7182. * A pointer to the buffer with the MountInfo data.
  7183. *
  7184. * mountedVolume:
  7185. * the FSVolumeRefNum of the volume that was mounted
  7186. *
  7187. * Availability:
  7188. * Mac OS X: in version 10.5 and later in CoreServices.framework
  7189. * CarbonLib: not available in CarbonLib 1.x
  7190. * Non-Carbon CFM: not available
  7191. }
  7192. function FSVolumeMount( buffer: BytePtr; var mountedVolume: FSVolumeRefNum ): OSStatus; external name '_FSVolumeMount';
  7193. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  7194. { Volume flushing }
  7195. {
  7196. * FSFlushVolume()
  7197. *
  7198. * Mac OS X threading:
  7199. * Thread safe since version 10.5
  7200. *
  7201. * Availability:
  7202. * Mac OS X: in version 10.5 and later in CoreServices.framework
  7203. * CarbonLib: not available in CarbonLib 1.x
  7204. * Non-Carbon CFM: not available
  7205. }
  7206. function FSFlushVolume( vRefNum: FSVolumeRefNum ): OSStatus; external name '_FSFlushVolume';
  7207. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  7208. {
  7209. * PBFlushVolumeSync()
  7210. *
  7211. * Mac OS X threading:
  7212. * Thread safe since version 10.5
  7213. *
  7214. * Availability:
  7215. * Mac OS X: in version 10.5 and later in CoreServices.framework
  7216. * CarbonLib: not available in CarbonLib 1.x
  7217. * Non-Carbon CFM: not available
  7218. }
  7219. function PBFlushVolumeSync( paramBlock: FSRefParamPtr ): OSStatus; external name '_PBFlushVolumeSync';
  7220. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  7221. {
  7222. * PBFlushVolumeAsync()
  7223. *
  7224. * Mac OS X threading:
  7225. * Thread safe since version 10.5
  7226. *
  7227. * Availability:
  7228. * Mac OS X: in version 10.5 and later in CoreServices.framework
  7229. * CarbonLib: not available in CarbonLib 1.x
  7230. * Non-Carbon CFM: not available
  7231. }
  7232. function PBFlushVolumeAsync( paramBlock: FSRefParamPtr ): OSStatus; external name '_PBFlushVolumeAsync';
  7233. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  7234. { CopyFile }
  7235. {
  7236. PBFSCopyFile
  7237. Copies a file on a volume that supports the CopyFile system call (which can be
  7238. determined from the bHasCopyFile GetVolParms bit).
  7239. -> ioCompletion A pointer to a completion routine
  7240. <- ioResult The result code of the function
  7241. -> ref The source item to copy
  7242. -> parentRef The destination to copy to
  7243. -> nameLength Number of Unicode characters in the optional new name. Pass in 0 to use the source name
  7244. -> name A pointer to the optional new Unicode name; Pass in NULL to use the source name
  7245. <- newRef A pointer to the FSRef for the new object; may be NULL
  7246. }
  7247. {
  7248. * PBFSCopyFileSync()
  7249. *
  7250. * Mac OS X threading:
  7251. * Thread safe since version 10.5
  7252. *
  7253. * Availability:
  7254. * Mac OS X: in version 10.5 and later in CoreServices.framework
  7255. * CarbonLib: not available in CarbonLib 1.x
  7256. * Non-Carbon CFM: not available
  7257. }
  7258. function PBFSCopyFileSync( paramBlock: FSRefParamPtr ): OSStatus; external name '_PBFSCopyFileSync';
  7259. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  7260. {
  7261. * PBFSCopyFileAsync()
  7262. *
  7263. * Mac OS X threading:
  7264. * Thread safe since version 10.5
  7265. *
  7266. * Availability:
  7267. * Mac OS X: in version 10.5 and later in CoreServices.framework
  7268. * CarbonLib: not available in CarbonLib 1.x
  7269. * Non-Carbon CFM: not available
  7270. }
  7271. function PBFSCopyFileAsync( paramBlock: FSRefParamPtr ): OSStatus; external name '_PBFSCopyFileAsync';
  7272. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  7273. { Node ID Resolution }
  7274. {
  7275. * FSResolveNodeID()
  7276. *
  7277. * Discussion:
  7278. * Returns an FSRef to the item on volume with the specified node id.
  7279. *
  7280. * Mac OS X threading:
  7281. * Thread safe since version 10.5
  7282. *
  7283. * Parameters:
  7284. *
  7285. * volume:
  7286. * The FSVolumeRefNum of the volume the item is on
  7287. *
  7288. * nodeID:
  7289. * The node id to resolve
  7290. *
  7291. * newRef:
  7292. * A pointer to storage for the FSRef of the item with the
  7293. * corresponding node id
  7294. *
  7295. * Availability:
  7296. * Mac OS X: in version 10.5 and later in CoreServices.framework
  7297. * CarbonLib: not available in CarbonLib 1.x
  7298. * Non-Carbon CFM: not available
  7299. }
  7300. function FSResolveNodeID( volume: FSVolumeRefNum; nodeID: UInt32; newRef: FSRefPtr ): OSStatus; external name '_FSResolveNodeID';
  7301. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  7302. {
  7303. -> ioCompletion A pointer to a completion routine
  7304. <- ioResult The result code of the function
  7305. -> ioVRefNum The FSVolumeRefNum of the volume the item is on
  7306. -> ioDirID The node id to resolve (can be file as well as a directory node id)
  7307. <- newRef A pointer to storage for the FSRef of the item with the corresponding node id
  7308. }
  7309. {
  7310. * PBFSResolveNodeIDSync()
  7311. *
  7312. * Mac OS X threading:
  7313. * Thread safe since version 10.5
  7314. *
  7315. * Availability:
  7316. * Mac OS X: in version 10.5 and later in CoreServices.framework
  7317. * CarbonLib: not available in CarbonLib 1.x
  7318. * Non-Carbon CFM: not available
  7319. }
  7320. function PBFSResolveNodeIDSync( paramBlock: FSRefParamPtr ): OSStatus; external name '_PBFSResolveNodeIDSync';
  7321. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  7322. {
  7323. * PBFSResolveNodeIDAsync()
  7324. *
  7325. * Mac OS X threading:
  7326. * Thread safe since version 10.5
  7327. *
  7328. * Availability:
  7329. * Mac OS X: in version 10.5 and later in CoreServices.framework
  7330. * CarbonLib: not available in CarbonLib 1.x
  7331. * Non-Carbon CFM: not available
  7332. }
  7333. function PBFSResolveNodeIDAsync( paramBlock: FSRefParamPtr ): OSStatus; external name '_PBFSResolveNodeIDAsync';
  7334. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  7335. { Calls beyond this point are deprecated}
  7336. {
  7337. MakeFSRef
  7338. Create an FSRef for an existing object specified by a combination
  7339. of volume refnum, parent directory, and pathname.
  7340. -> ioCompletion A pointer to a completion routine
  7341. <- ioResult The result code of the function
  7342. -> ioNamePtr A pointer to a pathname
  7343. -> ioVRefNum A volume specification
  7344. -> ioDirID A directory ID
  7345. <- newRef A pointer to an FSRef
  7346. This function is deprecated in Mac OS X 10.5. Use FSMakeFSRefUnicode instead.
  7347. }
  7348. {$ifc not TARGET_CPU_64}
  7349. {
  7350. * FSpMakeFSRef() *** DEPRECATED ***
  7351. *
  7352. * Mac OS X threading:
  7353. * Thread safe since version 10.0
  7354. *
  7355. * Availability:
  7356. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.5
  7357. * CarbonLib: in CarbonLib 1.0 and later
  7358. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  7359. }
  7360. function FSpMakeFSRef( const (*var*) source: FSSpec; var newRef: FSRef ): OSErr; external name '_FSpMakeFSRef';
  7361. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_NA, __IPHONE_NA) *)
  7362. { This function is deprecated in Mac OS X 10.5. Use PBMakeFSRefUnicodeSync instead.}
  7363. {
  7364. * PBMakeFSRefSync() *** DEPRECATED ***
  7365. *
  7366. * Mac OS X threading:
  7367. * Thread safe since version 10.0
  7368. *
  7369. * Availability:
  7370. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.5
  7371. * CarbonLib: in CarbonLib 1.0 and later
  7372. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  7373. }
  7374. function PBMakeFSRefSync( var paramBlock: FSRefParam ): OSErr; external name '_PBMakeFSRefSync';
  7375. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_NA, __IPHONE_NA) *)
  7376. { This function is deprecated in Mac OS X 10.5. Use PBMakeFSRefUnicodeAsync instead.}
  7377. {
  7378. * PBMakeFSRefAsync() *** DEPRECATED ***
  7379. *
  7380. * Mac OS X threading:
  7381. * Thread safe since version 10.0
  7382. *
  7383. * Availability:
  7384. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.5
  7385. * CarbonLib: in CarbonLib 1.0 and later
  7386. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  7387. }
  7388. procedure PBMakeFSRefAsync( var paramBlock: FSRefParam ); external name '_PBMakeFSRefAsync';
  7389. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_NA, __IPHONE_NA) *)
  7390. { This function is deprecated in Mac OS X 10.5. Use PBCloseForkSync instead.}
  7391. {
  7392. * PBCloseSync() *** DEPRECATED ***
  7393. *
  7394. * Availability:
  7395. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.5
  7396. * CarbonLib: in CarbonLib 1.0 and later
  7397. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  7398. }
  7399. function PBCloseSync( paramBlock: ParmBlkPtr ): OSErr; external name '_PBCloseSync';
  7400. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_NA, __IPHONE_NA) *)
  7401. { This function is deprecated in Mac OS X 10.5. Use PBCloseForkAsync instead.}
  7402. {
  7403. * PBCloseAsync() *** DEPRECATED ***
  7404. *
  7405. * Availability:
  7406. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.5
  7407. * CarbonLib: in CarbonLib 1.0 and later
  7408. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  7409. }
  7410. function PBCloseAsync( paramBlock: ParmBlkPtr ): OSErr; external name '_PBCloseAsync';
  7411. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_NA, __IPHONE_NA) *)
  7412. { This function is deprecated in Mac OS X 10.5. Use PBReadForkSync instead.}
  7413. {
  7414. * PBReadSync() *** DEPRECATED ***
  7415. *
  7416. * Availability:
  7417. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.5
  7418. * CarbonLib: in CarbonLib 1.0 and later
  7419. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  7420. }
  7421. function PBReadSync( paramBlock: ParmBlkPtr ): OSErr; external name '_PBReadSync';
  7422. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_NA, __IPHONE_NA) *)
  7423. { This function is deprecated in Mac OS X 10.5. Use PBReadForkAsync instead.}
  7424. {
  7425. * PBReadAsync() *** DEPRECATED ***
  7426. *
  7427. * Availability:
  7428. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.5
  7429. * CarbonLib: in CarbonLib 1.0 and later
  7430. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  7431. }
  7432. function PBReadAsync( paramBlock: ParmBlkPtr ): OSErr; external name '_PBReadAsync';
  7433. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_NA, __IPHONE_NA) *)
  7434. { This function is deprecated in Mac OS X 10.5. Use PBWriteForkSync instead.}
  7435. {
  7436. * PBWriteSync() *** DEPRECATED ***
  7437. *
  7438. * Availability:
  7439. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.5
  7440. * CarbonLib: in CarbonLib 1.0 and later
  7441. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  7442. }
  7443. function PBWriteSync( paramBlock: ParmBlkPtr ): OSErr; external name '_PBWriteSync';
  7444. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_NA, __IPHONE_NA) *)
  7445. { This function is deprecated in Mac OS X 10.5. Use PBWriteForkAsync instead.}
  7446. {
  7447. * PBWriteAsync() *** DEPRECATED ***
  7448. *
  7449. * Availability:
  7450. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.5
  7451. * CarbonLib: in CarbonLib 1.0 and later
  7452. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  7453. }
  7454. function PBWriteAsync( paramBlock: ParmBlkPtr ): OSErr; external name '_PBWriteAsync';
  7455. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_NA, __IPHONE_NA) *)
  7456. { This function is deprecated in Mac OS X 10.5. It was never implemented on OS X.}
  7457. {
  7458. * PBWaitIOComplete() *** DEPRECATED ***
  7459. *
  7460. * Availability:
  7461. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.5
  7462. * CarbonLib: in CarbonLib 1.0 and later
  7463. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  7464. }
  7465. function PBWaitIOComplete( paramBlock: ParmBlkPtr; timeout: Duration ): OSErr; external name '_PBWaitIOComplete';
  7466. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_NA, __IPHONE_NA) *)
  7467. { Volume Characteristics }
  7468. { This function is deprecated in Mac OS X 10.5. Use FSGetVolumeParms instead.}
  7469. {
  7470. * PBHGetVolParmsSync() *** DEPRECATED ***
  7471. *
  7472. * Mac OS X threading:
  7473. * Thread safe since version 10.0
  7474. *
  7475. * Availability:
  7476. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.5
  7477. * CarbonLib: in CarbonLib 1.0 and later
  7478. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  7479. }
  7480. function PBHGetVolParmsSync( paramBlock: HParmBlkPtr ): OSErr; external name '_PBHGetVolParmsSync';
  7481. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_NA, __IPHONE_NA) *)
  7482. { This function is deprecated in Mac OS X 10.5. Use FSGetVolumeParms instead.}
  7483. {
  7484. * PBHGetVolParmsAsync() *** DEPRECATED ***
  7485. *
  7486. * Mac OS X threading:
  7487. * Thread safe since version 10.0
  7488. *
  7489. * Availability:
  7490. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.5
  7491. * CarbonLib: in CarbonLib 1.0 and later
  7492. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  7493. }
  7494. function PBHGetVolParmsAsync( paramBlock: HParmBlkPtr ): OSErr; external name '_PBHGetVolParmsAsync';
  7495. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_NA, __IPHONE_NA) *)
  7496. { VolumeMount }
  7497. { This function is deprecated in Mac OS X 10.5. Use FSGetVolumeMountInfoSize instead.}
  7498. {
  7499. * PBGetVolMountInfoSize() *** DEPRECATED ***
  7500. *
  7501. * Mac OS X threading:
  7502. * Thread safe since version 10.0
  7503. *
  7504. * Availability:
  7505. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.5
  7506. * CarbonLib: in CarbonLib 1.0 and later
  7507. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  7508. }
  7509. function PBGetVolMountInfoSize( paramBlock: ParmBlkPtr ): OSErr; external name '_PBGetVolMountInfoSize';
  7510. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_NA, __IPHONE_NA) *)
  7511. { This function is deprecated in Mac OS X 10.5. Use FSGetVolumeMountInfo instead.}
  7512. {
  7513. * PBGetVolMountInfo() *** DEPRECATED ***
  7514. *
  7515. * Mac OS X threading:
  7516. * Thread safe since version 10.0
  7517. *
  7518. * Availability:
  7519. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.5
  7520. * CarbonLib: in CarbonLib 1.0 and later
  7521. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  7522. }
  7523. function PBGetVolMountInfo( paramBlock: ParmBlkPtr ): OSErr; external name '_PBGetVolMountInfo';
  7524. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_NA, __IPHONE_NA) *)
  7525. { This function is deprecated in Mac OS X 10.5. Use FSVolumeMount instead.}
  7526. {
  7527. * PBVolumeMount() *** DEPRECATED ***
  7528. *
  7529. * Availability:
  7530. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.5
  7531. * CarbonLib: in CarbonLib 1.0 and later
  7532. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  7533. }
  7534. function PBVolumeMount( paramBlock: ParmBlkPtr ): OSErr; external name '_PBVolumeMount';
  7535. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_NA, __IPHONE_NA) *)
  7536. { Volume flushing }
  7537. { This function is deprecated in Mac OS X 10.5. Use FSFlushVolume instead.}
  7538. {
  7539. * FlushVol() *** DEPRECATED ***
  7540. *
  7541. * Mac OS X threading:
  7542. * Thread safe since version 10.0
  7543. *
  7544. * Availability:
  7545. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.5
  7546. * CarbonLib: in CarbonLib 1.0 and later
  7547. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  7548. }
  7549. function FlushVol( volName: ConstStr63Param; vRefNum: FSVolumeRefNum ): OSErr; external name '_FlushVol';
  7550. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_NA, __IPHONE_NA) *)
  7551. { This function is deprecated in Mac OS X 10.5. Use PBFlushVolumeSync instead.}
  7552. {
  7553. * PBFlushVolSync() *** DEPRECATED ***
  7554. *
  7555. * Mac OS X threading:
  7556. * Thread safe since version 10.0
  7557. *
  7558. * Availability:
  7559. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.5
  7560. * CarbonLib: in CarbonLib 1.0 and later
  7561. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  7562. }
  7563. function PBFlushVolSync( paramBlock: ParmBlkPtr ): OSErr; external name '_PBFlushVolSync';
  7564. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_NA, __IPHONE_NA) *)
  7565. { This function is deprecated in Mac OS X 10.5. Use PBFlushVolumeAsync instead.}
  7566. {
  7567. * PBFlushVolAsync() *** DEPRECATED ***
  7568. *
  7569. * Mac OS X threading:
  7570. * Thread safe since version 10.0
  7571. *
  7572. * Availability:
  7573. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.5
  7574. * CarbonLib: in CarbonLib 1.0 and later
  7575. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  7576. }
  7577. function PBFlushVolAsync( paramBlock: ParmBlkPtr ): OSErr; external name '_PBFlushVolAsync';
  7578. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_NA, __IPHONE_NA) *)
  7579. { This function is deprecated in Mac OS X 10.5. Use PBOpenForkSync with deny pos modes instead.}
  7580. {
  7581. * PBHOpenDenySync() *** DEPRECATED ***
  7582. *
  7583. * Mac OS X threading:
  7584. * Thread safe since version 10.0
  7585. *
  7586. * Availability:
  7587. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.5
  7588. * CarbonLib: in CarbonLib 1.0 and later
  7589. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  7590. }
  7591. function PBHOpenDenySync( paramBlock: HParmBlkPtr ): OSErr; external name '_PBHOpenDenySync';
  7592. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_NA, __IPHONE_NA) *)
  7593. { This function is deprecated in Mac OS X 10.5. Use PBOpenForkAsync with deny pos modes instead.}
  7594. {
  7595. * PBHOpenDenyAsync() *** DEPRECATED ***
  7596. *
  7597. * Mac OS X threading:
  7598. * Thread safe since version 10.0
  7599. *
  7600. * Availability:
  7601. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.5
  7602. * CarbonLib: in CarbonLib 1.0 and later
  7603. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  7604. }
  7605. function PBHOpenDenyAsync( paramBlock: HParmBlkPtr ): OSErr; external name '_PBHOpenDenyAsync';
  7606. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_NA, __IPHONE_NA) *)
  7607. { This function is deprecated in Mac OS X 10.5. Use PBOpenForkSync with deny pos modes instead.}
  7608. {
  7609. * PBHOpenRFDenySync() *** DEPRECATED ***
  7610. *
  7611. * Mac OS X threading:
  7612. * Thread safe since version 10.0
  7613. *
  7614. * Availability:
  7615. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.5
  7616. * CarbonLib: in CarbonLib 1.0 and later
  7617. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  7618. }
  7619. function PBHOpenRFDenySync( paramBlock: HParmBlkPtr ): OSErr; external name '_PBHOpenRFDenySync';
  7620. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_NA, __IPHONE_NA) *)
  7621. { This function is deprecated in Mac OS X 10.5. Use PBOpenForkAsync with deny pos modes instead.}
  7622. {
  7623. * PBHOpenRFDenyAsync() *** DEPRECATED ***
  7624. *
  7625. * Mac OS X threading:
  7626. * Thread safe since version 10.0
  7627. *
  7628. * Availability:
  7629. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.5
  7630. * CarbonLib: in CarbonLib 1.0 and later
  7631. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  7632. }
  7633. function PBHOpenRFDenyAsync( paramBlock: HParmBlkPtr ): OSErr; external name '_PBHOpenRFDenyAsync';
  7634. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_NA, __IPHONE_NA) *)
  7635. { This function is deprecated in Mac OS X 10.5. Use FSGetCatalogInfo instead.}
  7636. {
  7637. * PBHGetDirAccessSync() *** DEPRECATED ***
  7638. *
  7639. * Mac OS X threading:
  7640. * Thread safe since version 10.0
  7641. *
  7642. * Availability:
  7643. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.5
  7644. * CarbonLib: in CarbonLib 1.0 and later
  7645. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  7646. }
  7647. function PBHGetDirAccessSync( paramBlock: HParmBlkPtr ): OSErr; external name '_PBHGetDirAccessSync';
  7648. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_NA, __IPHONE_NA) *)
  7649. { This function is deprecated in Mac OS X 10.5. Use FSGetCatalogInfo instead.}
  7650. {
  7651. * PBHGetDirAccessAsync() *** DEPRECATED ***
  7652. *
  7653. * Mac OS X threading:
  7654. * Thread safe since version 10.0
  7655. *
  7656. * Availability:
  7657. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.5
  7658. * CarbonLib: in CarbonLib 1.0 and later
  7659. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  7660. }
  7661. function PBHGetDirAccessAsync( paramBlock: HParmBlkPtr ): OSErr; external name '_PBHGetDirAccessAsync';
  7662. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_NA, __IPHONE_NA) *)
  7663. { This function is deprecated in Mac OS X 10.5. Use FSSetCatalogInfo instead.}
  7664. {
  7665. * PBHSetDirAccessSync() *** DEPRECATED ***
  7666. *
  7667. * Mac OS X threading:
  7668. * Thread safe since version 10.0
  7669. *
  7670. * Availability:
  7671. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.5
  7672. * CarbonLib: in CarbonLib 1.0 and later
  7673. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  7674. }
  7675. function PBHSetDirAccessSync( paramBlock: HParmBlkPtr ): OSErr; external name '_PBHSetDirAccessSync';
  7676. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_NA, __IPHONE_NA) *)
  7677. { This function is deprecated in Mac OS X 10.5. Use FSSetCatalogInfo instead.}
  7678. {
  7679. * PBHSetDirAccessAsync() *** DEPRECATED ***
  7680. *
  7681. * Mac OS X threading:
  7682. * Thread safe since version 10.0
  7683. *
  7684. * Availability:
  7685. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.5
  7686. * CarbonLib: in CarbonLib 1.0 and later
  7687. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  7688. }
  7689. function PBHSetDirAccessAsync( paramBlock: HParmBlkPtr ): OSErr; external name '_PBHSetDirAccessAsync';
  7690. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_NA, __IPHONE_NA) *)
  7691. { This function is deprecated in Mac OS X 10.5. See getpwnam() and getpwuid().}
  7692. {
  7693. * PBHMapIDSync() *** DEPRECATED ***
  7694. *
  7695. * Mac OS X threading:
  7696. * Thread safe since version 10.0
  7697. *
  7698. * Availability:
  7699. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.5
  7700. * CarbonLib: in CarbonLib 1.0 and later
  7701. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  7702. }
  7703. function PBHMapIDSync( paramBlock: HParmBlkPtr ): OSErr; external name '_PBHMapIDSync';
  7704. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_NA, __IPHONE_NA) *)
  7705. { This function is deprecated in Mac OS X 10.5. See getpwnam() and getpwuid().}
  7706. {
  7707. * PBHMapIDAsync() *** DEPRECATED ***
  7708. *
  7709. * Mac OS X threading:
  7710. * Thread safe since version 10.0
  7711. *
  7712. * Availability:
  7713. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.5
  7714. * CarbonLib: in CarbonLib 1.0 and later
  7715. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  7716. }
  7717. function PBHMapIDAsync( paramBlock: HParmBlkPtr ): OSErr; external name '_PBHMapIDAsync';
  7718. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_NA, __IPHONE_NA) *)
  7719. { This function is deprecated in Mac OS X 10.5. See getpwnam() and getpwuid().}
  7720. {
  7721. * PBHMapNameSync() *** DEPRECATED ***
  7722. *
  7723. * Mac OS X threading:
  7724. * Thread safe since version 10.0
  7725. *
  7726. * Availability:
  7727. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.5
  7728. * CarbonLib: in CarbonLib 1.0 and later
  7729. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  7730. }
  7731. function PBHMapNameSync( paramBlock: HParmBlkPtr ): OSErr; external name '_PBHMapNameSync';
  7732. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_NA, __IPHONE_NA) *)
  7733. { This function is deprecated in Mac OS X 10.5. See getpwnam() and getpwuid().}
  7734. {
  7735. * PBHMapNameAsync() *** DEPRECATED ***
  7736. *
  7737. * Mac OS X threading:
  7738. * Thread safe since version 10.0
  7739. *
  7740. * Availability:
  7741. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.5
  7742. * CarbonLib: in CarbonLib 1.0 and later
  7743. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  7744. }
  7745. function PBHMapNameAsync( paramBlock: HParmBlkPtr ): OSErr; external name '_PBHMapNameAsync';
  7746. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_NA, __IPHONE_NA) *)
  7747. { This function is deprecated in Mac OS X 10.5. Use PBFSCopyFileSync instead.}
  7748. {
  7749. * PBHCopyFileSync() *** DEPRECATED ***
  7750. *
  7751. * Mac OS X threading:
  7752. * Thread safe since version 10.0
  7753. *
  7754. * Availability:
  7755. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.5
  7756. * CarbonLib: in CarbonLib 1.0 and later
  7757. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  7758. }
  7759. function PBHCopyFileSync( paramBlock: HParmBlkPtr ): OSErr; external name '_PBHCopyFileSync';
  7760. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_NA, __IPHONE_NA) *)
  7761. { This function is deprecated in Mac OS X 10.5. Use PBFSCopyFileAsync instead.}
  7762. {
  7763. * PBHCopyFileAsync() *** DEPRECATED ***
  7764. *
  7765. * Mac OS X threading:
  7766. * Thread safe since version 10.0
  7767. *
  7768. * Availability:
  7769. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.5
  7770. * CarbonLib: in CarbonLib 1.0 and later
  7771. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  7772. }
  7773. function PBHCopyFileAsync( paramBlock: HParmBlkPtr ): OSErr; external name '_PBHCopyFileAsync';
  7774. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_NA, __IPHONE_NA) *)
  7775. { This function is deprecated in Mac OS X 10.5. Use FSGetCatalogInfo to get the node id.}
  7776. {
  7777. * PBCreateFileIDRefSync() *** DEPRECATED ***
  7778. *
  7779. * Mac OS X threading:
  7780. * Thread safe since version 10.0
  7781. *
  7782. * Availability:
  7783. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.5
  7784. * CarbonLib: in CarbonLib 1.0 and later
  7785. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  7786. }
  7787. function PBCreateFileIDRefSync( paramBlock: HParmBlkPtr ): OSErr; external name '_PBCreateFileIDRefSync';
  7788. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_NA, __IPHONE_NA) *)
  7789. { This function is deprecated in Mac OS X 10.5. Use FSGetCatalogInfo to get the node id.}
  7790. {
  7791. * PBCreateFileIDRefAsync() *** DEPRECATED ***
  7792. *
  7793. * Mac OS X threading:
  7794. * Thread safe since version 10.0
  7795. *
  7796. * Availability:
  7797. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.5
  7798. * CarbonLib: in CarbonLib 1.0 and later
  7799. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  7800. }
  7801. function PBCreateFileIDRefAsync( paramBlock: HParmBlkPtr ): OSErr; external name '_PBCreateFileIDRefAsync';
  7802. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_NA, __IPHONE_NA) *)
  7803. { This function is deprecated in Mac OS X 10.5. Use FSGetCatalogInfo to get the node id.}
  7804. {
  7805. * PBResolveFileIDRefSync() *** DEPRECATED ***
  7806. *
  7807. * Mac OS X threading:
  7808. * Thread safe since version 10.0
  7809. *
  7810. * Availability:
  7811. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.5
  7812. * CarbonLib: in CarbonLib 1.0 and later
  7813. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  7814. }
  7815. function PBResolveFileIDRefSync( paramBlock: HParmBlkPtr ): OSErr; external name '_PBResolveFileIDRefSync';
  7816. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_NA, __IPHONE_NA) *)
  7817. { This function is deprecated in Mac OS X 10.5. Use FSGetCatalogInfo to get the node id.}
  7818. {
  7819. * PBResolveFileIDRefAsync() *** DEPRECATED ***
  7820. *
  7821. * Mac OS X threading:
  7822. * Thread safe since version 10.0
  7823. *
  7824. * Availability:
  7825. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.5
  7826. * CarbonLib: in CarbonLib 1.0 and later
  7827. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  7828. }
  7829. function PBResolveFileIDRefAsync( paramBlock: HParmBlkPtr ): OSErr; external name '_PBResolveFileIDRefAsync';
  7830. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_NA, __IPHONE_NA) *)
  7831. { This function is deprecated in Mac OS X 10.5. It is obsolete and has no replacement.}
  7832. {
  7833. * PBDeleteFileIDRefSync() *** DEPRECATED ***
  7834. *
  7835. * Mac OS X threading:
  7836. * Thread safe since version 10.0
  7837. *
  7838. * Availability:
  7839. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.5
  7840. * CarbonLib: in CarbonLib 1.0 and later
  7841. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  7842. }
  7843. function PBDeleteFileIDRefSync( paramBlock: HParmBlkPtr ): OSErr; external name '_PBDeleteFileIDRefSync';
  7844. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_NA, __IPHONE_NA) *)
  7845. { This function is deprecated in Mac OS X 10.5. It is obsolete and has no replacement.}
  7846. {
  7847. * PBDeleteFileIDRefAsync() *** DEPRECATED ***
  7848. *
  7849. * Mac OS X threading:
  7850. * Thread safe since version 10.0
  7851. *
  7852. * Availability:
  7853. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.5
  7854. * CarbonLib: in CarbonLib 1.0 and later
  7855. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  7856. }
  7857. function PBDeleteFileIDRefAsync( paramBlock: HParmBlkPtr ): OSErr; external name '_PBDeleteFileIDRefAsync';
  7858. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_NA, __IPHONE_NA) *)
  7859. { This function is deprecated in Mac OS X 10.4. Use FSGetVolumeInfo instead.}
  7860. {
  7861. * PBXGetVolInfoSync() *** DEPRECATED ***
  7862. *
  7863. * Mac OS X threading:
  7864. * Thread safe since version 10.0
  7865. *
  7866. * Availability:
  7867. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  7868. * CarbonLib: in CarbonLib 1.0 and later
  7869. * Non-Carbon CFM: in InterfaceLib 8.5 and later
  7870. }
  7871. function PBXGetVolInfoSync( paramBlock: XVolumeParamPtr ): OSErr; external name '_PBXGetVolInfoSync';
  7872. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  7873. { This function is deprecated in Mac OS X 10.4. Use FSGetVolumeInfo instead.}
  7874. {
  7875. * PBXGetVolInfoAsync() *** DEPRECATED ***
  7876. *
  7877. * Mac OS X threading:
  7878. * Thread safe since version 10.0
  7879. *
  7880. * Availability:
  7881. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  7882. * CarbonLib: in CarbonLib 1.0 and later
  7883. * Non-Carbon CFM: in InterfaceLib 8.5 and later
  7884. }
  7885. function PBXGetVolInfoAsync( paramBlock: XVolumeParamPtr ): OSErr; external name '_PBXGetVolInfoAsync';
  7886. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  7887. { This function is deprecated in Mac OS X 10.4. Use PBAllocateForkSync instead.}
  7888. {
  7889. * PBAllocateSync() *** DEPRECATED ***
  7890. *
  7891. * Mac OS X threading:
  7892. * Thread safe since version 10.0
  7893. *
  7894. * Availability:
  7895. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  7896. * CarbonLib: in CarbonLib 1.0 and later
  7897. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  7898. }
  7899. function PBAllocateSync( paramBlock: ParmBlkPtr ): OSErr; external name '_PBAllocateSync';
  7900. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  7901. { This function is deprecated in Mac OS X 10.4. Use PBAllocateForkAsync instead.}
  7902. {
  7903. * PBAllocateAsync() *** DEPRECATED ***
  7904. *
  7905. * Mac OS X threading:
  7906. * Thread safe since version 10.0
  7907. *
  7908. * Availability:
  7909. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  7910. * CarbonLib: in CarbonLib 1.0 and later
  7911. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  7912. }
  7913. function PBAllocateAsync( paramBlock: ParmBlkPtr ): OSErr; external name '_PBAllocateAsync';
  7914. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  7915. { This function is deprecated in Mac OS X 10.4. Use PBGetForkSizeSync instead.}
  7916. {
  7917. * PBGetEOFSync() *** DEPRECATED ***
  7918. *
  7919. * Mac OS X threading:
  7920. * Thread safe since version 10.0
  7921. *
  7922. * Availability:
  7923. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  7924. * CarbonLib: in CarbonLib 1.0 and later
  7925. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  7926. }
  7927. function PBGetEOFSync( paramBlock: ParmBlkPtr ): OSErr; external name '_PBGetEOFSync';
  7928. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  7929. { This function is deprecated in Mac OS X 10.4. Use PBGetForkSizeAsync instead.}
  7930. {
  7931. * PBGetEOFAsync() *** DEPRECATED ***
  7932. *
  7933. * Mac OS X threading:
  7934. * Thread safe since version 10.0
  7935. *
  7936. * Availability:
  7937. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  7938. * CarbonLib: in CarbonLib 1.0 and later
  7939. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  7940. }
  7941. function PBGetEOFAsync( paramBlock: ParmBlkPtr ): OSErr; external name '_PBGetEOFAsync';
  7942. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  7943. { This function is deprecated in Mac OS X 10.4. Use PBSetForkSizeSync instead.}
  7944. {
  7945. * PBSetEOFSync() *** DEPRECATED ***
  7946. *
  7947. * Mac OS X threading:
  7948. * Thread safe since version 10.0
  7949. *
  7950. * Availability:
  7951. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  7952. * CarbonLib: in CarbonLib 1.0 and later
  7953. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  7954. }
  7955. function PBSetEOFSync( paramBlock: ParmBlkPtr ): OSErr; external name '_PBSetEOFSync';
  7956. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  7957. { This function is deprecated in Mac OS X 10.4. Use PBSetForkSizeAsync instead.}
  7958. {
  7959. * PBSetEOFAsync() *** DEPRECATED ***
  7960. *
  7961. * Mac OS X threading:
  7962. * Thread safe since version 10.0
  7963. *
  7964. * Availability:
  7965. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  7966. * CarbonLib: in CarbonLib 1.0 and later
  7967. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  7968. }
  7969. function PBSetEOFAsync( paramBlock: ParmBlkPtr ): OSErr; external name '_PBSetEOFAsync';
  7970. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  7971. { This function is deprecated in Mac OS X 10.4. Use PBGetForkPositionSync instead.}
  7972. {
  7973. * PBGetFPosSync() *** DEPRECATED ***
  7974. *
  7975. * Mac OS X threading:
  7976. * Thread safe since version 10.0
  7977. *
  7978. * Availability:
  7979. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  7980. * CarbonLib: in CarbonLib 1.0 and later
  7981. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  7982. }
  7983. function PBGetFPosSync( paramBlock: ParmBlkPtr ): OSErr; external name '_PBGetFPosSync';
  7984. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  7985. { This function is deprecated in Mac OS X 10.4. Use PBGetForkPositionAsync instead.}
  7986. {
  7987. * PBGetFPosAsync() *** DEPRECATED ***
  7988. *
  7989. * Mac OS X threading:
  7990. * Thread safe since version 10.0
  7991. *
  7992. * Availability:
  7993. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  7994. * CarbonLib: in CarbonLib 1.0 and later
  7995. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  7996. }
  7997. function PBGetFPosAsync( paramBlock: ParmBlkPtr ): OSErr; external name '_PBGetFPosAsync';
  7998. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  7999. { This function is deprecated in Mac OS X 10.4. Use PBSetForkPositionSync instead.}
  8000. {
  8001. * PBSetFPosSync() *** DEPRECATED ***
  8002. *
  8003. * Mac OS X threading:
  8004. * Thread safe since version 10.0
  8005. *
  8006. * Availability:
  8007. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  8008. * CarbonLib: in CarbonLib 1.0 and later
  8009. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  8010. }
  8011. function PBSetFPosSync( paramBlock: ParmBlkPtr ): OSErr; external name '_PBSetFPosSync';
  8012. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  8013. { This function is deprecated in Mac OS X 10.4. Use PBSetForkPositionAsync instead.}
  8014. {
  8015. * PBSetFPosAsync() *** DEPRECATED ***
  8016. *
  8017. * Mac OS X threading:
  8018. * Thread safe since version 10.0
  8019. *
  8020. * Availability:
  8021. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  8022. * CarbonLib: in CarbonLib 1.0 and later
  8023. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  8024. }
  8025. function PBSetFPosAsync( paramBlock: ParmBlkPtr ): OSErr; external name '_PBSetFPosAsync';
  8026. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  8027. { This function is deprecated in Mac OS X 10.4. Use PBFlushForkSync instead.}
  8028. {
  8029. * PBFlushFileSync() *** DEPRECATED ***
  8030. *
  8031. * Mac OS X threading:
  8032. * Thread safe since version 10.0
  8033. *
  8034. * Availability:
  8035. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  8036. * CarbonLib: in CarbonLib 1.0 and later
  8037. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  8038. }
  8039. function PBFlushFileSync( paramBlock: ParmBlkPtr ): OSErr; external name '_PBFlushFileSync';
  8040. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  8041. { This function is deprecated in Mac OS X 10.4. Use PBFlushForkAsync instead.}
  8042. {
  8043. * PBFlushFileAsync() *** DEPRECATED ***
  8044. *
  8045. * Mac OS X threading:
  8046. * Thread safe since version 10.0
  8047. *
  8048. * Availability:
  8049. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  8050. * CarbonLib: in CarbonLib 1.0 and later
  8051. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  8052. }
  8053. function PBFlushFileAsync( paramBlock: ParmBlkPtr ): OSErr; external name '_PBFlushFileAsync';
  8054. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  8055. { This function is deprecated in Mac OS X 10.4. Use FSEjectVolumeSync instead.}
  8056. {
  8057. * PBUnmountVol() *** DEPRECATED ***
  8058. *
  8059. * Mac OS X threading:
  8060. * Thread safe since version 10.0
  8061. *
  8062. * Availability:
  8063. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  8064. * CarbonLib: in CarbonLib 1.0 and later
  8065. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  8066. }
  8067. function PBUnmountVol( paramBlock: ParmBlkPtr ): OSErr; external name '_PBUnmountVol';
  8068. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  8069. { This function is deprecated in Mac OS X 10.4. Use PBCatalogSearchSync instead.}
  8070. {
  8071. * PBCatSearchSync() *** DEPRECATED ***
  8072. *
  8073. * Mac OS X threading:
  8074. * Thread safe since version 10.0
  8075. *
  8076. * Availability:
  8077. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  8078. * CarbonLib: in CarbonLib 1.0 and later
  8079. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  8080. }
  8081. function PBCatSearchSync( paramBlock: CSParamPtr ): OSErr; external name '_PBCatSearchSync';
  8082. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  8083. { This function is deprecated in Mac OS X 10.4. Use PBCatalogSearchAsync instead.}
  8084. {
  8085. * PBCatSearchAsync() *** DEPRECATED ***
  8086. *
  8087. * Mac OS X threading:
  8088. * Thread safe since version 10.0
  8089. *
  8090. * Availability:
  8091. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  8092. * CarbonLib: in CarbonLib 1.0 and later
  8093. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  8094. }
  8095. function PBCatSearchAsync( paramBlock: CSParamPtr ): OSErr; external name '_PBCatSearchAsync';
  8096. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  8097. { This function is deprecated in Mac OS X 10.4. Use FSEjectVolumeSync instead.}
  8098. {
  8099. * UnmountVol() *** DEPRECATED ***
  8100. *
  8101. * Mac OS X threading:
  8102. * Thread safe since version 10.0
  8103. *
  8104. * Availability:
  8105. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  8106. * CarbonLib: in CarbonLib 1.0 and later
  8107. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  8108. }
  8109. function UnmountVol( volName: ConstStringPtr { can be NULL }; vRefNum: FSVolumeRefNum ): OSErr; external name '_UnmountVol';
  8110. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  8111. { This function is deprecated in Mac OS X 10.4. The routines which use the default volume concept have been deprecated.}
  8112. {
  8113. * HSetVol() *** DEPRECATED ***
  8114. *
  8115. * Mac OS X threading:
  8116. * Thread safe since version 10.0
  8117. *
  8118. * Availability:
  8119. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  8120. * CarbonLib: in CarbonLib 1.0 and later
  8121. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  8122. }
  8123. function HSetVol( volName: ConstStringPtr { can be NULL }; vRefNum: FSVolumeRefNum; dirID: SInt32 ): OSErr; external name '_HSetVol';
  8124. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  8125. { AddDrive() was moved to Devices.h}
  8126. { This function is deprecated in Mac OS X 10.4. Use FSCloseFork instead.}
  8127. {
  8128. * FSClose() *** DEPRECATED ***
  8129. *
  8130. * Mac OS X threading:
  8131. * Thread safe since version 10.0
  8132. *
  8133. * Availability:
  8134. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  8135. * CarbonLib: in CarbonLib 1.0 and later
  8136. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  8137. }
  8138. function FSClose( refNum: FSIORefNum ): OSErr; external name '_FSClose';
  8139. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  8140. { This function is deprecated in Mac OS X 10.4. Use FSReadFork instead.}
  8141. {
  8142. * FSRead() *** DEPRECATED ***
  8143. *
  8144. * Mac OS X threading:
  8145. * Thread safe since version 10.0
  8146. *
  8147. * Availability:
  8148. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  8149. * CarbonLib: in CarbonLib 1.0 and later
  8150. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  8151. }
  8152. function FSRead( refNum: FSIORefNum; var count: SInt32; buffPtr: UnivPtr ): OSErr; external name '_FSRead';
  8153. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  8154. { This function is deprecated in Mac OS X 10.4. Use FSWriteFork instead.}
  8155. {
  8156. * FSWrite() *** DEPRECATED ***
  8157. *
  8158. * Mac OS X threading:
  8159. * Thread safe since version 10.0
  8160. *
  8161. * Availability:
  8162. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  8163. * CarbonLib: in CarbonLib 1.0 and later
  8164. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  8165. }
  8166. function FSWrite( refNum: FSIORefNum; var count: SInt32; buffPtr: {const} UnivPtr ): OSErr; external name '_FSWrite';
  8167. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  8168. { This function is deprecated in Mac OS X 10.4. Use FSAllocateFork instead.}
  8169. {
  8170. * Allocate() *** DEPRECATED ***
  8171. *
  8172. * Mac OS X threading:
  8173. * Thread safe since version 10.0
  8174. *
  8175. * Availability:
  8176. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  8177. * CarbonLib: in CarbonLib 1.0 and later
  8178. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  8179. }
  8180. function Allocate( refNum: FSIORefNum; var count: SInt32 ): OSErr; external name '_Allocate';
  8181. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  8182. { This function is deprecated in Mac OS X 10.4. Use FSGetForkSize instead.}
  8183. {
  8184. * GetEOF() *** DEPRECATED ***
  8185. *
  8186. * Mac OS X threading:
  8187. * Thread safe since version 10.0
  8188. *
  8189. * Availability:
  8190. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  8191. * CarbonLib: in CarbonLib 1.0 and later
  8192. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  8193. }
  8194. function GetEOF( refNum: FSIORefNum; var logEOF: SInt32 ): OSErr; external name '_GetEOF';
  8195. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  8196. { This function is deprecated in Mac OS X 10.4. Use FSSetForkSize instead.}
  8197. {
  8198. * SetEOF() *** DEPRECATED ***
  8199. *
  8200. * Mac OS X threading:
  8201. * Thread safe since version 10.0
  8202. *
  8203. * Availability:
  8204. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  8205. * CarbonLib: in CarbonLib 1.0 and later
  8206. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  8207. }
  8208. function SetEOF( refNum: FSIORefNum; logEOF: SInt32 ): OSErr; external name '_SetEOF';
  8209. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  8210. { This function is deprecated in Mac OS X 10.4. Use FSGetForkPosition instead.}
  8211. {
  8212. * GetFPos() *** DEPRECATED ***
  8213. *
  8214. * Mac OS X threading:
  8215. * Thread safe since version 10.0
  8216. *
  8217. * Availability:
  8218. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  8219. * CarbonLib: in CarbonLib 1.0 and later
  8220. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  8221. }
  8222. function GetFPos( refNum: FSIORefNum; var filePos: SInt32 ): OSErr; external name '_GetFPos';
  8223. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  8224. { This function is deprecated in Mac OS X 10.4. Use FSSetForkPosition instead.}
  8225. {
  8226. * SetFPos() *** DEPRECATED ***
  8227. *
  8228. * Mac OS X threading:
  8229. * Thread safe since version 10.0
  8230. *
  8231. * Availability:
  8232. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  8233. * CarbonLib: in CarbonLib 1.0 and later
  8234. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  8235. }
  8236. function SetFPos( refNum: FSIORefNum; posMode: SInt16; posOff: SInt32 ): OSErr; external name '_SetFPos';
  8237. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  8238. { This function is deprecated in Mac OS X 10.4. Use FSGetCatalogInfo instead.}
  8239. {
  8240. * GetVRefNum() *** DEPRECATED ***
  8241. *
  8242. * Mac OS X threading:
  8243. * Thread safe since version 10.0
  8244. *
  8245. * Availability:
  8246. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  8247. * CarbonLib: in CarbonLib 1.0 and later
  8248. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  8249. }
  8250. function GetVRefNum( fileRefNum: FSIORefNum; var vRefNum: FSVolumeRefNum ): OSErr; external name '_GetVRefNum';
  8251. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  8252. { This function is deprecated in Mac OS X 10.4. Use PBXLockRangeSync or FSLockRange instead.}
  8253. {
  8254. * PBLockRangeSync() *** DEPRECATED ***
  8255. *
  8256. * Mac OS X threading:
  8257. * Thread safe since version 10.0
  8258. *
  8259. * Availability:
  8260. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  8261. * CarbonLib: in CarbonLib 1.0 and later
  8262. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  8263. }
  8264. function PBLockRangeSync( paramBlock: ParmBlkPtr ): OSErr; external name '_PBLockRangeSync';
  8265. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  8266. { This function is deprecated in Mac OS X 10.4. Use PBXLockRangeAsync instead.}
  8267. {
  8268. * PBLockRangeAsync() *** DEPRECATED ***
  8269. *
  8270. * Mac OS X threading:
  8271. * Thread safe since version 10.0
  8272. *
  8273. * Availability:
  8274. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  8275. * CarbonLib: in CarbonLib 1.0 and later
  8276. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  8277. }
  8278. function PBLockRangeAsync( paramBlock: ParmBlkPtr ): OSErr; external name '_PBLockRangeAsync';
  8279. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  8280. { This function is deprecated in Mac OS X 10.4. Use PBXUnlockRangeSync or FSUnlockRange instead.}
  8281. {
  8282. * PBUnlockRangeSync() *** DEPRECATED ***
  8283. *
  8284. * Mac OS X threading:
  8285. * Thread safe since version 10.0
  8286. *
  8287. * Availability:
  8288. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  8289. * CarbonLib: in CarbonLib 1.0 and later
  8290. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  8291. }
  8292. function PBUnlockRangeSync( paramBlock: ParmBlkPtr ): OSErr; external name '_PBUnlockRangeSync';
  8293. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  8294. { This function is deprecated in Mac OS X 10.4. Use PBXUnlockRangeAsync instead.}
  8295. {
  8296. * PBUnlockRangeAsync() *** DEPRECATED ***
  8297. *
  8298. * Mac OS X threading:
  8299. * Thread safe since version 10.0
  8300. *
  8301. * Availability:
  8302. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  8303. * CarbonLib: in CarbonLib 1.0 and later
  8304. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  8305. }
  8306. function PBUnlockRangeAsync( paramBlock: ParmBlkPtr ): OSErr; external name '_PBUnlockRangeAsync';
  8307. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  8308. { This function is deprecated in Mac OS X 10.4. The routines which use the default volume concept have been deprecated.}
  8309. {
  8310. * PBHSetVolSync() *** DEPRECATED ***
  8311. *
  8312. * Mac OS X threading:
  8313. * Thread safe since version 10.0
  8314. *
  8315. * Availability:
  8316. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  8317. * CarbonLib: in CarbonLib 1.0 and later
  8318. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  8319. }
  8320. function PBHSetVolSync( paramBlock: WDPBPtr ): OSErr; external name '_PBHSetVolSync';
  8321. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  8322. { This function is deprecated in Mac OS X 10.4. The routines which use the default volume concept have been deprecated.}
  8323. {
  8324. * PBHSetVolAsync() *** DEPRECATED ***
  8325. *
  8326. * Mac OS X threading:
  8327. * Thread safe since version 10.0
  8328. *
  8329. * Availability:
  8330. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  8331. * CarbonLib: in CarbonLib 1.0 and later
  8332. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  8333. }
  8334. function PBHSetVolAsync( paramBlock: WDPBPtr ): OSErr; external name '_PBHSetVolAsync';
  8335. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  8336. { This function is deprecated in Mac OS X 10.4. The routines which use the default volume concept have been deprecated.}
  8337. {
  8338. * PBHGetVolSync() *** DEPRECATED ***
  8339. *
  8340. * Mac OS X threading:
  8341. * Thread safe since version 10.0
  8342. *
  8343. * Availability:
  8344. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  8345. * CarbonLib: in CarbonLib 1.0 and later
  8346. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  8347. }
  8348. function PBHGetVolSync( paramBlock: WDPBPtr ): OSErr; external name '_PBHGetVolSync';
  8349. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  8350. { This function is deprecated in Mac OS X 10.4. The routines which use the default volume concept have been deprecated.}
  8351. {
  8352. * PBHGetVolAsync() *** DEPRECATED ***
  8353. *
  8354. * Mac OS X threading:
  8355. * Thread safe since version 10.0
  8356. *
  8357. * Availability:
  8358. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  8359. * CarbonLib: in CarbonLib 1.0 and later
  8360. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  8361. }
  8362. function PBHGetVolAsync( paramBlock: WDPBPtr ): OSErr; external name '_PBHGetVolAsync';
  8363. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  8364. { This function is deprecated in Mac OS X 10.4. Use PBMoveObjectSync instead.}
  8365. {
  8366. * PBCatMoveSync() *** DEPRECATED ***
  8367. *
  8368. * Mac OS X threading:
  8369. * Thread safe since version 10.0
  8370. *
  8371. * Availability:
  8372. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  8373. * CarbonLib: in CarbonLib 1.0 and later
  8374. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  8375. }
  8376. function PBCatMoveSync( paramBlock: CMovePBPtr ): OSErr; external name '_PBCatMoveSync';
  8377. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  8378. { This function is deprecated in Mac OS X 10.4. Use PBMoveObjectAsync instead.}
  8379. {
  8380. * PBCatMoveAsync() *** DEPRECATED ***
  8381. *
  8382. * Mac OS X threading:
  8383. * Thread safe since version 10.0
  8384. *
  8385. * Availability:
  8386. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  8387. * CarbonLib: in CarbonLib 1.0 and later
  8388. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  8389. }
  8390. function PBCatMoveAsync( paramBlock: CMovePBPtr ): OSErr; external name '_PBCatMoveAsync';
  8391. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  8392. { This function is deprecated in Mac OS X 10.4. Use PBCreateDirectoryUnicodeSync instead.}
  8393. {
  8394. * PBDirCreateSync() *** DEPRECATED ***
  8395. *
  8396. * Mac OS X threading:
  8397. * Thread safe since version 10.0
  8398. *
  8399. * Availability:
  8400. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  8401. * CarbonLib: in CarbonLib 1.0 and later
  8402. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  8403. }
  8404. function PBDirCreateSync( paramBlock: HParmBlkPtr ): OSErr; external name '_PBDirCreateSync';
  8405. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  8406. { This function is deprecated in Mac OS X 10.4. Use PBCreateDirectoryUnicodeAsync instead.}
  8407. {
  8408. * PBDirCreateAsync() *** DEPRECATED ***
  8409. *
  8410. * Mac OS X threading:
  8411. * Thread safe since version 10.0
  8412. *
  8413. * Availability:
  8414. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  8415. * CarbonLib: in CarbonLib 1.0 and later
  8416. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  8417. }
  8418. function PBDirCreateAsync( paramBlock: HParmBlkPtr ): OSErr; external name '_PBDirCreateAsync';
  8419. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  8420. { This function is deprecated in Mac OS X 10.4. Use PBGetForkCBInfoSync instead.}
  8421. {
  8422. * PBGetFCBInfoSync() *** DEPRECATED ***
  8423. *
  8424. * Mac OS X threading:
  8425. * Thread safe since version 10.0
  8426. *
  8427. * Availability:
  8428. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  8429. * CarbonLib: in CarbonLib 1.0 and later
  8430. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  8431. }
  8432. function PBGetFCBInfoSync( paramBlock: FCBPBPtr ): OSErr; external name '_PBGetFCBInfoSync';
  8433. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  8434. { This function is deprecated in Mac OS X 10.4. Use PBGetForkCBInfoAsync instead.}
  8435. {
  8436. * PBGetFCBInfoAsync() *** DEPRECATED ***
  8437. *
  8438. * Mac OS X threading:
  8439. * Thread safe since version 10.0
  8440. *
  8441. * Availability:
  8442. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  8443. * CarbonLib: in CarbonLib 1.0 and later
  8444. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  8445. }
  8446. function PBGetFCBInfoAsync( paramBlock: FCBPBPtr ): OSErr; external name '_PBGetFCBInfoAsync';
  8447. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  8448. { This function is deprecated in Mac OS X 10.4. Use PBGetCatalogInfoSync instead.}
  8449. {
  8450. * PBGetCatInfoSync() *** DEPRECATED ***
  8451. *
  8452. * Mac OS X threading:
  8453. * Thread safe since version 10.0
  8454. *
  8455. * Availability:
  8456. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  8457. * CarbonLib: in CarbonLib 1.0 and later
  8458. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  8459. }
  8460. function PBGetCatInfoSync( paramBlock: CInfoPBPtr ): OSErr; external name '_PBGetCatInfoSync';
  8461. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  8462. { This function is deprecated in Mac OS X 10.4. Use PBGetCatalogInfoAsync instead.}
  8463. {
  8464. * PBGetCatInfoAsync() *** DEPRECATED ***
  8465. *
  8466. * Mac OS X threading:
  8467. * Thread safe since version 10.0
  8468. *
  8469. * Availability:
  8470. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  8471. * CarbonLib: in CarbonLib 1.0 and later
  8472. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  8473. }
  8474. function PBGetCatInfoAsync( paramBlock: CInfoPBPtr ): OSErr; external name '_PBGetCatInfoAsync';
  8475. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  8476. { This function is deprecated in Mac OS X 10.4. Use PBSetCatalogInfoSync instead.}
  8477. {
  8478. * PBSetCatInfoSync() *** DEPRECATED ***
  8479. *
  8480. * Mac OS X threading:
  8481. * Thread safe since version 10.0
  8482. *
  8483. * Availability:
  8484. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  8485. * CarbonLib: in CarbonLib 1.0 and later
  8486. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  8487. }
  8488. function PBSetCatInfoSync( paramBlock: CInfoPBPtr ): OSErr; external name '_PBSetCatInfoSync';
  8489. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  8490. { This function is deprecated in Mac OS X 10.4. Use PBSetCatalogInfoAsync instead.}
  8491. {
  8492. * PBSetCatInfoAsync() *** DEPRECATED ***
  8493. *
  8494. * Mac OS X threading:
  8495. * Thread safe since version 10.0
  8496. *
  8497. * Availability:
  8498. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  8499. * CarbonLib: in CarbonLib 1.0 and later
  8500. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  8501. }
  8502. function PBSetCatInfoAsync( paramBlock: CInfoPBPtr ): OSErr; external name '_PBSetCatInfoAsync';
  8503. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  8504. { This function is deprecated in Mac OS X 10.4. Use PBAllocateForkSync instead.}
  8505. {
  8506. * PBAllocContigSync() *** DEPRECATED ***
  8507. *
  8508. * Mac OS X threading:
  8509. * Thread safe since version 10.0
  8510. *
  8511. * Availability:
  8512. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  8513. * CarbonLib: in CarbonLib 1.0 and later
  8514. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  8515. }
  8516. function PBAllocContigSync( paramBlock: ParmBlkPtr ): OSErr; external name '_PBAllocContigSync';
  8517. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  8518. { This function is deprecated in Mac OS X 10.4. Use PBAllocateForkAsync instead.}
  8519. {
  8520. * PBAllocContigAsync() *** DEPRECATED ***
  8521. *
  8522. * Mac OS X threading:
  8523. * Thread safe since version 10.0
  8524. *
  8525. * Availability:
  8526. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  8527. * CarbonLib: in CarbonLib 1.0 and later
  8528. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  8529. }
  8530. function PBAllocContigAsync( paramBlock: ParmBlkPtr ): OSErr; external name '_PBAllocContigAsync';
  8531. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  8532. { This function is deprecated in Mac OS X 10.4. Use PBSetVolumeInfoSync instead.}
  8533. {
  8534. * PBSetVInfoSync() *** DEPRECATED ***
  8535. *
  8536. * Mac OS X threading:
  8537. * Thread safe since version 10.0
  8538. *
  8539. * Availability:
  8540. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  8541. * CarbonLib: in CarbonLib 1.0 and later
  8542. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  8543. }
  8544. function PBSetVInfoSync( paramBlock: HParmBlkPtr ): OSErr; external name '_PBSetVInfoSync';
  8545. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  8546. { This function is deprecated in Mac OS X 10.4. Use PBSetVolumeInfoAsync instead.}
  8547. {
  8548. * PBSetVInfoAsync() *** DEPRECATED ***
  8549. *
  8550. * Mac OS X threading:
  8551. * Thread safe since version 10.0
  8552. *
  8553. * Availability:
  8554. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  8555. * CarbonLib: in CarbonLib 1.0 and later
  8556. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  8557. }
  8558. function PBSetVInfoAsync( paramBlock: HParmBlkPtr ): OSErr; external name '_PBSetVInfoAsync';
  8559. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  8560. { This function is deprecated in Mac OS X 10.4. Use PBGetVolumeInfoSync instead.}
  8561. {
  8562. * PBHGetVInfoSync() *** DEPRECATED ***
  8563. *
  8564. * Mac OS X threading:
  8565. * Thread safe since version 10.0
  8566. *
  8567. * Availability:
  8568. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  8569. * CarbonLib: in CarbonLib 1.0 and later
  8570. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  8571. }
  8572. function PBHGetVInfoSync( paramBlock: HParmBlkPtr ): OSErr; external name '_PBHGetVInfoSync';
  8573. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  8574. { This function is deprecated in Mac OS X 10.4. Use PBGetVolumeInfoAsync instead.}
  8575. {
  8576. * PBHGetVInfoAsync() *** DEPRECATED ***
  8577. *
  8578. * Mac OS X threading:
  8579. * Thread safe since version 10.0
  8580. *
  8581. * Availability:
  8582. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  8583. * CarbonLib: in CarbonLib 1.0 and later
  8584. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  8585. }
  8586. function PBHGetVInfoAsync( paramBlock: HParmBlkPtr ): OSErr; external name '_PBHGetVInfoAsync';
  8587. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  8588. { This function is deprecated in Mac OS X 10.4. Use PBOpenForkSync instead.}
  8589. {
  8590. * PBHOpenSync() *** DEPRECATED ***
  8591. *
  8592. * Mac OS X threading:
  8593. * Thread safe since version 10.0
  8594. *
  8595. * Availability:
  8596. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  8597. * CarbonLib: in CarbonLib 1.0 and later
  8598. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  8599. }
  8600. function PBHOpenSync( paramBlock: HParmBlkPtr ): OSErr; external name '_PBHOpenSync';
  8601. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  8602. { This function is deprecated in Mac OS X 10.4. Use PBOpenForkAsync instead.}
  8603. {
  8604. * PBHOpenAsync() *** DEPRECATED ***
  8605. *
  8606. * Mac OS X threading:
  8607. * Thread safe since version 10.0
  8608. *
  8609. * Availability:
  8610. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  8611. * CarbonLib: in CarbonLib 1.0 and later
  8612. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  8613. }
  8614. function PBHOpenAsync( paramBlock: HParmBlkPtr ): OSErr; external name '_PBHOpenAsync';
  8615. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  8616. { This function is deprecated in Mac OS X 10.4. Use PBOpenForkSync instead.}
  8617. {
  8618. * PBHOpenRFSync() *** DEPRECATED ***
  8619. *
  8620. * Mac OS X threading:
  8621. * Thread safe since version 10.0
  8622. *
  8623. * Availability:
  8624. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  8625. * CarbonLib: in CarbonLib 1.0 and later
  8626. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  8627. }
  8628. function PBHOpenRFSync( paramBlock: HParmBlkPtr ): OSErr; external name '_PBHOpenRFSync';
  8629. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  8630. { This function is deprecated in Mac OS X 10.4. Use PBOpenForkAsync instead.}
  8631. {
  8632. * PBHOpenRFAsync() *** DEPRECATED ***
  8633. *
  8634. * Mac OS X threading:
  8635. * Thread safe since version 10.0
  8636. *
  8637. * Availability:
  8638. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  8639. * CarbonLib: in CarbonLib 1.0 and later
  8640. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  8641. }
  8642. function PBHOpenRFAsync( paramBlock: HParmBlkPtr ): OSErr; external name '_PBHOpenRFAsync';
  8643. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  8644. { This function is deprecated in Mac OS X 10.4. Use PBOpenForkSync instead.}
  8645. {
  8646. * PBHOpenDFSync() *** DEPRECATED ***
  8647. *
  8648. * Mac OS X threading:
  8649. * Thread safe since version 10.0
  8650. *
  8651. * Availability:
  8652. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  8653. * CarbonLib: in CarbonLib 1.0 and later
  8654. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  8655. }
  8656. function PBHOpenDFSync( paramBlock: HParmBlkPtr ): OSErr; external name '_PBHOpenDFSync';
  8657. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  8658. { This function is deprecated in Mac OS X 10.4. Use PBOpenForkAsync instead.}
  8659. {
  8660. * PBHOpenDFAsync() *** DEPRECATED ***
  8661. *
  8662. * Mac OS X threading:
  8663. * Thread safe since version 10.0
  8664. *
  8665. * Availability:
  8666. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  8667. * CarbonLib: in CarbonLib 1.0 and later
  8668. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  8669. }
  8670. function PBHOpenDFAsync( paramBlock: HParmBlkPtr ): OSErr; external name '_PBHOpenDFAsync';
  8671. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  8672. { This function is deprecated in Mac OS X 10.4. Use PBCreateFileUnicodeSync instead.}
  8673. {
  8674. * PBHCreateSync() *** DEPRECATED ***
  8675. *
  8676. * Mac OS X threading:
  8677. * Thread safe since version 10.0
  8678. *
  8679. * Availability:
  8680. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  8681. * CarbonLib: in CarbonLib 1.0 and later
  8682. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  8683. }
  8684. function PBHCreateSync( paramBlock: HParmBlkPtr ): OSErr; external name '_PBHCreateSync';
  8685. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  8686. { This function is deprecated in Mac OS X 10.4. Use PBCreateFileUnicodeAsync instead.}
  8687. {
  8688. * PBHCreateAsync() *** DEPRECATED ***
  8689. *
  8690. * Mac OS X threading:
  8691. * Thread safe since version 10.0
  8692. *
  8693. * Availability:
  8694. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  8695. * CarbonLib: in CarbonLib 1.0 and later
  8696. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  8697. }
  8698. function PBHCreateAsync( paramBlock: HParmBlkPtr ): OSErr; external name '_PBHCreateAsync';
  8699. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  8700. { This function is deprecated in Mac OS X 10.4. Use PBDeleteObjectSync instead.}
  8701. {
  8702. * PBHDeleteSync() *** DEPRECATED ***
  8703. *
  8704. * Mac OS X threading:
  8705. * Thread safe since version 10.0
  8706. *
  8707. * Availability:
  8708. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  8709. * CarbonLib: in CarbonLib 1.0 and later
  8710. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  8711. }
  8712. function PBHDeleteSync( paramBlock: HParmBlkPtr ): OSErr; external name '_PBHDeleteSync';
  8713. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  8714. { This function is deprecated in Mac OS X 10.4. Use PBDeleteObjectAsync instead.}
  8715. {
  8716. * PBHDeleteAsync() *** DEPRECATED ***
  8717. *
  8718. * Mac OS X threading:
  8719. * Thread safe since version 10.0
  8720. *
  8721. * Availability:
  8722. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  8723. * CarbonLib: in CarbonLib 1.0 and later
  8724. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  8725. }
  8726. function PBHDeleteAsync( paramBlock: HParmBlkPtr ): OSErr; external name '_PBHDeleteAsync';
  8727. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  8728. { This function is deprecated in Mac OS X 10.4. Use PBRenameUnicodeSync instead.}
  8729. {
  8730. * PBHRenameSync() *** DEPRECATED ***
  8731. *
  8732. * Mac OS X threading:
  8733. * Thread safe since version 10.0
  8734. *
  8735. * Availability:
  8736. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  8737. * CarbonLib: in CarbonLib 1.0 and later
  8738. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  8739. }
  8740. function PBHRenameSync( paramBlock: HParmBlkPtr ): OSErr; external name '_PBHRenameSync';
  8741. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  8742. { This function is deprecated in Mac OS X 10.4. Use PBRenameUnicodeAsync instead.}
  8743. {
  8744. * PBHRenameAsync() *** DEPRECATED ***
  8745. *
  8746. * Mac OS X threading:
  8747. * Thread safe since version 10.0
  8748. *
  8749. * Availability:
  8750. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  8751. * CarbonLib: in CarbonLib 1.0 and later
  8752. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  8753. }
  8754. function PBHRenameAsync( paramBlock: HParmBlkPtr ): OSErr; external name '_PBHRenameAsync';
  8755. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  8756. { This function is deprecated in Mac OS X 10.4. Use PBSetCatalogInfoSync instead.}
  8757. {
  8758. * PBHRstFLockSync() *** DEPRECATED ***
  8759. *
  8760. * Mac OS X threading:
  8761. * Thread safe since version 10.0
  8762. *
  8763. * Availability:
  8764. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  8765. * CarbonLib: in CarbonLib 1.0 and later
  8766. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  8767. }
  8768. function PBHRstFLockSync( paramBlock: HParmBlkPtr ): OSErr; external name '_PBHRstFLockSync';
  8769. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  8770. { This function is deprecated in Mac OS X 10.4. Use PBSetCatalogInfoAsync instead.}
  8771. {
  8772. * PBHRstFLockAsync() *** DEPRECATED ***
  8773. *
  8774. * Mac OS X threading:
  8775. * Thread safe since version 10.0
  8776. *
  8777. * Availability:
  8778. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  8779. * CarbonLib: in CarbonLib 1.0 and later
  8780. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  8781. }
  8782. function PBHRstFLockAsync( paramBlock: HParmBlkPtr ): OSErr; external name '_PBHRstFLockAsync';
  8783. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  8784. { This function is deprecated in Mac OS X 10.4. Use PBSetCatalogInfoSync instead.}
  8785. {
  8786. * PBHSetFLockSync() *** DEPRECATED ***
  8787. *
  8788. * Mac OS X threading:
  8789. * Thread safe since version 10.0
  8790. *
  8791. * Availability:
  8792. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  8793. * CarbonLib: in CarbonLib 1.0 and later
  8794. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  8795. }
  8796. function PBHSetFLockSync( paramBlock: HParmBlkPtr ): OSErr; external name '_PBHSetFLockSync';
  8797. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  8798. { This function is deprecated in Mac OS X 10.4. Use PBSetCatalogInfoAsync instead.}
  8799. {
  8800. * PBHSetFLockAsync() *** DEPRECATED ***
  8801. *
  8802. * Mac OS X threading:
  8803. * Thread safe since version 10.0
  8804. *
  8805. * Availability:
  8806. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  8807. * CarbonLib: in CarbonLib 1.0 and later
  8808. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  8809. }
  8810. function PBHSetFLockAsync( paramBlock: HParmBlkPtr ): OSErr; external name '_PBHSetFLockAsync';
  8811. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  8812. { This function is deprecated in Mac OS X 10.4. Use PBGetCatalogInfoSync instead.}
  8813. {
  8814. * PBHGetFInfoSync() *** DEPRECATED ***
  8815. *
  8816. * Mac OS X threading:
  8817. * Thread safe since version 10.0
  8818. *
  8819. * Availability:
  8820. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  8821. * CarbonLib: in CarbonLib 1.0 and later
  8822. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  8823. }
  8824. function PBHGetFInfoSync( paramBlock: HParmBlkPtr ): OSErr; external name '_PBHGetFInfoSync';
  8825. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  8826. { This function is deprecated in Mac OS X 10.4. Use PBGetCatalogInfoAsync instead.}
  8827. {
  8828. * PBHGetFInfoAsync() *** DEPRECATED ***
  8829. *
  8830. * Mac OS X threading:
  8831. * Thread safe since version 10.0
  8832. *
  8833. * Availability:
  8834. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  8835. * CarbonLib: in CarbonLib 1.0 and later
  8836. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  8837. }
  8838. function PBHGetFInfoAsync( paramBlock: HParmBlkPtr ): OSErr; external name '_PBHGetFInfoAsync';
  8839. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  8840. { This function is deprecated in Mac OS X 10.4. Use PBSetCatalogInfoSync instead.}
  8841. {
  8842. * PBHSetFInfoSync() *** DEPRECATED ***
  8843. *
  8844. * Mac OS X threading:
  8845. * Thread safe since version 10.0
  8846. *
  8847. * Availability:
  8848. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  8849. * CarbonLib: in CarbonLib 1.0 and later
  8850. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  8851. }
  8852. function PBHSetFInfoSync( paramBlock: HParmBlkPtr ): OSErr; external name '_PBHSetFInfoSync';
  8853. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  8854. { This function is deprecated in Mac OS X 10.4. Use PBSetCatalogInfoAsync instead.}
  8855. {
  8856. * PBHSetFInfoAsync() *** DEPRECATED ***
  8857. *
  8858. * Mac OS X threading:
  8859. * Thread safe since version 10.0
  8860. *
  8861. * Availability:
  8862. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  8863. * CarbonLib: in CarbonLib 1.0 and later
  8864. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  8865. }
  8866. function PBHSetFInfoAsync( paramBlock: HParmBlkPtr ): OSErr; external name '_PBHSetFInfoAsync';
  8867. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  8868. { This function is deprecated in Mac OS X 10.4. Use PBMakeFSRefUnicodeSync instead.}
  8869. {
  8870. * PBMakeFSSpecSync() *** DEPRECATED ***
  8871. *
  8872. * Mac OS X threading:
  8873. * Thread safe since version 10.0
  8874. *
  8875. * Availability:
  8876. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  8877. * CarbonLib: in CarbonLib 1.0 and later
  8878. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  8879. }
  8880. function PBMakeFSSpecSync( paramBlock: HParmBlkPtr ): OSErr; external name '_PBMakeFSSpecSync';
  8881. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  8882. { This function is deprecated in Mac OS X 10.4. Use PBMakeFSRefUnicodeAsync instead.}
  8883. {
  8884. * PBMakeFSSpecAsync() *** DEPRECATED ***
  8885. *
  8886. * Mac OS X threading:
  8887. * Thread safe since version 10.0
  8888. *
  8889. * Availability:
  8890. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  8891. * CarbonLib: in CarbonLib 1.0 and later
  8892. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  8893. }
  8894. function PBMakeFSSpecAsync( paramBlock: HParmBlkPtr ): OSErr; external name '_PBMakeFSSpecAsync';
  8895. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  8896. { This function is deprecated in Mac OS X 10.4. The routines which use the default volume concept have been deprecated.}
  8897. {
  8898. * HGetVol() *** DEPRECATED ***
  8899. *
  8900. * Mac OS X threading:
  8901. * Thread safe since version 10.0
  8902. *
  8903. * Availability:
  8904. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  8905. * CarbonLib: in CarbonLib 1.0 and later
  8906. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  8907. }
  8908. function HGetVol( volName: StringPtr; var vRefNum: FSVolumeRefNum; var dirID: SInt32 ): OSErr; external name '_HGetVol';
  8909. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  8910. { This function is deprecated in Mac OS X 10.4. Use FSOpenFork instead.}
  8911. {
  8912. * HOpen() *** DEPRECATED ***
  8913. *
  8914. * Mac OS X threading:
  8915. * Thread safe since version 10.0
  8916. *
  8917. * Availability:
  8918. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  8919. * CarbonLib: in CarbonLib 1.0 and later
  8920. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  8921. }
  8922. function HOpen( vRefNum: FSVolumeRefNum; dirID: SInt32; const (*var*) fileName: Str255; permission: SInt8; var refNum: FSIORefNum ): OSErr; external name '_HOpen';
  8923. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  8924. { This function is deprecated in Mac OS X 10.4. Use FSOpenFork instead.}
  8925. {
  8926. * HOpenDF() *** DEPRECATED ***
  8927. *
  8928. * Mac OS X threading:
  8929. * Thread safe since version 10.0
  8930. *
  8931. * Availability:
  8932. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  8933. * CarbonLib: in CarbonLib 1.0 and later
  8934. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  8935. }
  8936. function HOpenDF( vRefNum: FSVolumeRefNum; dirID: SInt32; const (*var*) fileName: Str255; permission: SInt8; var refNum: FSIORefNum ): OSErr; external name '_HOpenDF';
  8937. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  8938. { This function is deprecated in Mac OS X 10.4. Use FSOpenFork instead.}
  8939. {
  8940. * HOpenRF() *** DEPRECATED ***
  8941. *
  8942. * Mac OS X threading:
  8943. * Thread safe since version 10.0
  8944. *
  8945. * Availability:
  8946. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  8947. * CarbonLib: in CarbonLib 1.0 and later
  8948. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  8949. }
  8950. function HOpenRF( vRefNum: FSVolumeRefNum; dirID: SInt32; const (*var*) fileName: Str255; permission: SInt8; var refNum: FSIORefNum ): OSErr; external name '_HOpenRF';
  8951. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  8952. { This function is deprecated in Mac OS X 10.4. Use FSAllocateFork instead.}
  8953. {
  8954. * AllocContig() *** DEPRECATED ***
  8955. *
  8956. * Mac OS X threading:
  8957. * Thread safe since version 10.0
  8958. *
  8959. * Availability:
  8960. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  8961. * CarbonLib: in CarbonLib 1.0 and later
  8962. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  8963. }
  8964. function AllocContig( refNum: FSVolumeRefNum; var count: SInt32 ): OSErr; external name '_AllocContig';
  8965. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  8966. { This function is deprecated in Mac OS X 10.4. Use FSCreateFileUnicode instead.}
  8967. {
  8968. * HCreate() *** DEPRECATED ***
  8969. *
  8970. * Mac OS X threading:
  8971. * Thread safe since version 10.0
  8972. *
  8973. * Availability:
  8974. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  8975. * CarbonLib: in CarbonLib 1.0 and later
  8976. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  8977. }
  8978. function HCreate( vRefNum: FSVolumeRefNum; dirID: SInt32; const (*var*) fileName: Str255; creator: OSType; fileType: OSType ): OSErr; external name '_HCreate';
  8979. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  8980. { This function is deprecated in Mac OS X 10.4. Use FSCreateDirectoryUnicode instead.}
  8981. {
  8982. * DirCreate() *** DEPRECATED ***
  8983. *
  8984. * Mac OS X threading:
  8985. * Thread safe since version 10.0
  8986. *
  8987. * Availability:
  8988. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  8989. * CarbonLib: in CarbonLib 1.0 and later
  8990. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  8991. }
  8992. function DirCreate( vRefNum: FSVolumeRefNum; parentDirID: SInt32; const (*var*) directoryName: Str255; var createdDirID: SInt32 ): OSErr; external name '_DirCreate';
  8993. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  8994. { This function is deprecated in Mac OS X 10.4. Use FSDeleteObject instead.}
  8995. {
  8996. * HDelete() *** DEPRECATED ***
  8997. *
  8998. * Mac OS X threading:
  8999. * Thread safe since version 10.0
  9000. *
  9001. * Availability:
  9002. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  9003. * CarbonLib: in CarbonLib 1.0 and later
  9004. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  9005. }
  9006. function HDelete( vRefNum: FSVolumeRefNum; dirID: SInt32; const (*var*) fileName: Str255 ): OSErr; external name '_HDelete';
  9007. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  9008. { This function is deprecated in Mac OS X 10.4. Use FSGetCatalogInfo instead.}
  9009. {
  9010. * HGetFInfo() *** DEPRECATED ***
  9011. *
  9012. * Mac OS X threading:
  9013. * Thread safe since version 10.0
  9014. *
  9015. * Availability:
  9016. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  9017. * CarbonLib: in CarbonLib 1.0 and later
  9018. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  9019. }
  9020. function HGetFInfo( vRefNum: FSVolumeRefNum; dirID: SInt32; const (*var*) fileName: Str255; var fndrInfo: FInfo ): OSErr; external name '_HGetFInfo';
  9021. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  9022. { This function is deprecated in Mac OS X 10.4. Use FSSetCatalogInfo instead.}
  9023. {
  9024. * HSetFInfo() *** DEPRECATED ***
  9025. *
  9026. * Mac OS X threading:
  9027. * Thread safe since version 10.0
  9028. *
  9029. * Availability:
  9030. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  9031. * CarbonLib: in CarbonLib 1.0 and later
  9032. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  9033. }
  9034. function HSetFInfo( vRefNum: FSVolumeRefNum; dirID: SInt32; const (*var*) fileName: Str255; const (*var*) fndrInfo: FInfo ): OSErr; external name '_HSetFInfo';
  9035. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  9036. { This function is deprecated in Mac OS X 10.4. Use FSSetCatalogInfo instead.}
  9037. {
  9038. * HSetFLock() *** DEPRECATED ***
  9039. *
  9040. * Mac OS X threading:
  9041. * Thread safe since version 10.0
  9042. *
  9043. * Availability:
  9044. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  9045. * CarbonLib: in CarbonLib 1.0 and later
  9046. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  9047. }
  9048. function HSetFLock( vRefNum: FSVolumeRefNum; dirID: SInt32; const (*var*) fileName: Str255 ): OSErr; external name '_HSetFLock';
  9049. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  9050. { This function is deprecated in Mac OS X 10.4. Use FSSetCatalogInfo instead.}
  9051. {
  9052. * HRstFLock() *** DEPRECATED ***
  9053. *
  9054. * Mac OS X threading:
  9055. * Thread safe since version 10.0
  9056. *
  9057. * Availability:
  9058. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  9059. * CarbonLib: in CarbonLib 1.0 and later
  9060. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  9061. }
  9062. function HRstFLock( vRefNum: FSVolumeRefNum; dirID: SInt32; const (*var*) fileName: Str255 ): OSErr; external name '_HRstFLock';
  9063. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  9064. { This function is deprecated in Mac OS X 10.4. Use FSRenameUnicode instead.}
  9065. {
  9066. * HRename() *** DEPRECATED ***
  9067. *
  9068. * Mac OS X threading:
  9069. * Thread safe since version 10.0
  9070. *
  9071. * Availability:
  9072. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  9073. * CarbonLib: in CarbonLib 1.0 and later
  9074. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  9075. }
  9076. function HRename( vRefNum: FSVolumeRefNum; dirID: SInt32; const (*var*) oldName: Str255; const (*var*) newName: Str255 ): OSErr; external name '_HRename';
  9077. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  9078. { This function is deprecated in Mac OS X 10.4. Use FSMoveObject instead.}
  9079. {
  9080. * CatMove() *** DEPRECATED ***
  9081. *
  9082. * Mac OS X threading:
  9083. * Thread safe since version 10.0
  9084. *
  9085. * Availability:
  9086. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  9087. * CarbonLib: in CarbonLib 1.0 and later
  9088. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  9089. }
  9090. function CatMove( vRefNum: FSVolumeRefNum; dirID: SInt32; const (*var*) oldName: Str255; newDirID: SInt32; const (*var*) newName: Str255 ): OSErr; external name '_CatMove';
  9091. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  9092. { This function is deprecated in Mac OS X 10.4. It was never implemented on OS X.}
  9093. {
  9094. * PBHGetLogInInfoSync() *** DEPRECATED ***
  9095. *
  9096. * Mac OS X threading:
  9097. * Thread safe since version 10.0
  9098. *
  9099. * Availability:
  9100. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  9101. * CarbonLib: in CarbonLib 1.0 and later
  9102. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  9103. }
  9104. function PBHGetLogInInfoSync( paramBlock: HParmBlkPtr ): OSErr; external name '_PBHGetLogInInfoSync';
  9105. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  9106. { This function is deprecated in Mac OS X 10.4. It was never implemented on OS X.}
  9107. {
  9108. * PBHGetLogInInfoAsync() *** DEPRECATED ***
  9109. *
  9110. * Mac OS X threading:
  9111. * Thread safe since version 10.0
  9112. *
  9113. * Availability:
  9114. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  9115. * CarbonLib: in CarbonLib 1.0 and later
  9116. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  9117. }
  9118. function PBHGetLogInInfoAsync( paramBlock: HParmBlkPtr ): OSErr; external name '_PBHGetLogInInfoAsync';
  9119. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  9120. {
  9121. This function is deprecated in Mac OS X 10.4. It was never implemented on OS X.
  9122. Use FSMoveObjectSync instead.
  9123. }
  9124. {
  9125. * PBHMoveRenameSync() *** DEPRECATED ***
  9126. *
  9127. * Mac OS X threading:
  9128. * Thread safe since version 10.0
  9129. *
  9130. * Availability:
  9131. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  9132. * CarbonLib: in CarbonLib 1.0 and later
  9133. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  9134. }
  9135. function PBHMoveRenameSync( paramBlock: HParmBlkPtr ): OSErr; external name '_PBHMoveRenameSync';
  9136. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  9137. {
  9138. This function is deprecated in Mac OS X 10.4. It was never implemented on OS X.
  9139. Use FSMoveObjectAsync instead.
  9140. }
  9141. {
  9142. * PBHMoveRenameAsync() *** DEPRECATED ***
  9143. *
  9144. * Mac OS X threading:
  9145. * Thread safe since version 10.0
  9146. *
  9147. * Availability:
  9148. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  9149. * CarbonLib: in CarbonLib 1.0 and later
  9150. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  9151. }
  9152. function PBHMoveRenameAsync( paramBlock: HParmBlkPtr ): OSErr; external name '_PBHMoveRenameAsync';
  9153. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  9154. { This function is deprecated in Mac OS X 10.4. It was never implemented on OS X.}
  9155. {
  9156. * PBGetXCatInfoSync() *** DEPRECATED ***
  9157. *
  9158. * Mac OS X threading:
  9159. * Thread safe since version 10.0
  9160. *
  9161. * Availability:
  9162. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  9163. * CarbonLib: in CarbonLib 1.0 and later
  9164. * Non-Carbon CFM: in InterfaceLib 8.5 and later
  9165. }
  9166. function PBGetXCatInfoSync( paramBlock: XCInfoPBPtr ): OSErr; external name '_PBGetXCatInfoSync';
  9167. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  9168. { This function is deprecated in Mac OS X 10.4. It was never implemented on OS X.}
  9169. {
  9170. * PBGetXCatInfoAsync() *** DEPRECATED ***
  9171. *
  9172. * Mac OS X threading:
  9173. * Thread safe since version 10.0
  9174. *
  9175. * Availability:
  9176. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  9177. * CarbonLib: in CarbonLib 1.0 and later
  9178. * Non-Carbon CFM: in InterfaceLib 8.5 and later
  9179. }
  9180. function PBGetXCatInfoAsync( paramBlock: XCInfoPBPtr ): OSErr; external name '_PBGetXCatInfoAsync';
  9181. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  9182. { This function is deprecated in Mac OS X 10.4. Use PBExchangeObjectsSync instead.}
  9183. {
  9184. * PBExchangeFilesSync() *** DEPRECATED ***
  9185. *
  9186. * Mac OS X threading:
  9187. * Thread safe since version 10.0
  9188. *
  9189. * Availability:
  9190. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  9191. * CarbonLib: in CarbonLib 1.0 and later
  9192. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  9193. }
  9194. function PBExchangeFilesSync( paramBlock: HParmBlkPtr ): OSErr; external name '_PBExchangeFilesSync';
  9195. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  9196. { This function is deprecated in Mac OS X 10.4. Use PBExchangeObjectsAsync instead.}
  9197. {
  9198. * PBExchangeFilesAsync() *** DEPRECATED ***
  9199. *
  9200. * Mac OS X threading:
  9201. * Thread safe since version 10.0
  9202. *
  9203. * Availability:
  9204. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  9205. * CarbonLib: in CarbonLib 1.0 and later
  9206. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  9207. }
  9208. function PBExchangeFilesAsync( paramBlock: HParmBlkPtr ): OSErr; external name '_PBExchangeFilesAsync';
  9209. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  9210. { This function is deprecated in Mac OS X 10.4. It was never implemented on OS X.}
  9211. {
  9212. * PBGetForeignPrivsSync() *** DEPRECATED ***
  9213. *
  9214. * Mac OS X threading:
  9215. * Thread safe since version 10.0
  9216. *
  9217. * Availability:
  9218. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  9219. * CarbonLib: in CarbonLib 1.0 and later
  9220. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  9221. }
  9222. function PBGetForeignPrivsSync( paramBlock: HParmBlkPtr ): OSErr; external name '_PBGetForeignPrivsSync';
  9223. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  9224. { This function is deprecated in Mac OS X 10.4. It was never implemented on OS X.}
  9225. {
  9226. * PBGetForeignPrivsAsync() *** DEPRECATED ***
  9227. *
  9228. * Mac OS X threading:
  9229. * Thread safe since version 10.0
  9230. *
  9231. * Availability:
  9232. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  9233. * CarbonLib: in CarbonLib 1.0 and later
  9234. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  9235. }
  9236. function PBGetForeignPrivsAsync( paramBlock: HParmBlkPtr ): OSErr; external name '_PBGetForeignPrivsAsync';
  9237. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  9238. { This function is deprecated in Mac OS X 10.4. It was never implemented on OS X.}
  9239. {
  9240. * PBSetForeignPrivsSync() *** DEPRECATED ***
  9241. *
  9242. * Mac OS X threading:
  9243. * Thread safe since version 10.0
  9244. *
  9245. * Availability:
  9246. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  9247. * CarbonLib: in CarbonLib 1.0 and later
  9248. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  9249. }
  9250. function PBSetForeignPrivsSync( paramBlock: HParmBlkPtr ): OSErr; external name '_PBSetForeignPrivsSync';
  9251. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  9252. { This function is deprecated in Mac OS X 10.4. It was never implemented on OS X.}
  9253. {
  9254. * PBSetForeignPrivsAsync() *** DEPRECATED ***
  9255. *
  9256. * Mac OS X threading:
  9257. * Thread safe since version 10.0
  9258. *
  9259. * Availability:
  9260. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  9261. * CarbonLib: in CarbonLib 1.0 and later
  9262. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  9263. }
  9264. function PBSetForeignPrivsAsync( paramBlock: HParmBlkPtr ): OSErr; external name '_PBSetForeignPrivsAsync';
  9265. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  9266. { Desktop Manager }
  9267. {$endc} {not TARGET_CPU_64}
  9268. {$ifc not TARGET_CPU_64}
  9269. const
  9270. { Desktop Database, ffsGetIconMessage and fsmGetFSIconMessage icon type and size Constants }
  9271. kLargeIcon = 1;
  9272. kLarge4BitIcon = 2;
  9273. kLarge8BitIcon = 3;
  9274. kSmallIcon = 4;
  9275. kSmall4BitIcon = 5;
  9276. kSmall8BitIcon = 6;
  9277. kicnsIconFamily = 239; { Note: The 'icns' icon family record is variable sized. }
  9278. {$endc} {not TARGET_CPU_64}
  9279. {$ifc not TARGET_CPU_64}
  9280. {
  9281. * PBDTGetPath() *** DEPRECATED ***
  9282. *
  9283. * Mac OS X threading:
  9284. * Thread safe since version 10.2
  9285. *
  9286. * Availability:
  9287. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  9288. * CarbonLib: in CarbonLib 1.0 and later
  9289. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  9290. }
  9291. function PBDTGetPath( paramBlock: DTPBPtr ): OSErr; external name '_PBDTGetPath';
  9292. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  9293. {
  9294. * PBDTCloseDown() *** DEPRECATED ***
  9295. *
  9296. * Mac OS X threading:
  9297. * Thread safe since version 10.2
  9298. *
  9299. * Availability:
  9300. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  9301. * CarbonLib: in CarbonLib 1.0 and later
  9302. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  9303. }
  9304. function PBDTCloseDown( paramBlock: DTPBPtr ): OSErr; external name '_PBDTCloseDown';
  9305. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  9306. {
  9307. * PBDTAddIconSync() *** DEPRECATED ***
  9308. *
  9309. * Mac OS X threading:
  9310. * Thread safe since version 10.2
  9311. *
  9312. * Availability:
  9313. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  9314. * CarbonLib: in CarbonLib 1.0 and later
  9315. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  9316. }
  9317. function PBDTAddIconSync( paramBlock: DTPBPtr ): OSErr; external name '_PBDTAddIconSync';
  9318. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  9319. {
  9320. * PBDTAddIconAsync() *** DEPRECATED ***
  9321. *
  9322. * Mac OS X threading:
  9323. * Thread safe since version 10.2
  9324. *
  9325. * Availability:
  9326. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  9327. * CarbonLib: in CarbonLib 1.0 and later
  9328. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  9329. }
  9330. function PBDTAddIconAsync( paramBlock: DTPBPtr ): OSErr; external name '_PBDTAddIconAsync';
  9331. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  9332. {
  9333. * PBDTGetIconSync() *** DEPRECATED ***
  9334. *
  9335. * Mac OS X threading:
  9336. * Thread safe since version 10.2
  9337. *
  9338. * Availability:
  9339. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  9340. * CarbonLib: in CarbonLib 1.0 and later
  9341. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  9342. }
  9343. function PBDTGetIconSync( paramBlock: DTPBPtr ): OSErr; external name '_PBDTGetIconSync';
  9344. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  9345. {
  9346. * PBDTGetIconAsync() *** DEPRECATED ***
  9347. *
  9348. * Mac OS X threading:
  9349. * Thread safe since version 10.2
  9350. *
  9351. * Availability:
  9352. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  9353. * CarbonLib: in CarbonLib 1.0 and later
  9354. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  9355. }
  9356. function PBDTGetIconAsync( paramBlock: DTPBPtr ): OSErr; external name '_PBDTGetIconAsync';
  9357. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  9358. {
  9359. * PBDTGetIconInfoSync() *** DEPRECATED ***
  9360. *
  9361. * Mac OS X threading:
  9362. * Thread safe since version 10.2
  9363. *
  9364. * Availability:
  9365. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  9366. * CarbonLib: in CarbonLib 1.0 and later
  9367. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  9368. }
  9369. function PBDTGetIconInfoSync( paramBlock: DTPBPtr ): OSErr; external name '_PBDTGetIconInfoSync';
  9370. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  9371. {
  9372. * PBDTGetIconInfoAsync() *** DEPRECATED ***
  9373. *
  9374. * Mac OS X threading:
  9375. * Thread safe since version 10.2
  9376. *
  9377. * Availability:
  9378. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  9379. * CarbonLib: in CarbonLib 1.0 and later
  9380. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  9381. }
  9382. function PBDTGetIconInfoAsync( paramBlock: DTPBPtr ): OSErr; external name '_PBDTGetIconInfoAsync';
  9383. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  9384. {
  9385. * PBDTAddAPPLSync() *** DEPRECATED ***
  9386. *
  9387. * Mac OS X threading:
  9388. * Thread safe since version 10.2
  9389. *
  9390. * Availability:
  9391. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  9392. * CarbonLib: in CarbonLib 1.0 and later
  9393. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  9394. }
  9395. function PBDTAddAPPLSync( paramBlock: DTPBPtr ): OSErr; external name '_PBDTAddAPPLSync';
  9396. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  9397. {
  9398. * PBDTAddAPPLAsync() *** DEPRECATED ***
  9399. *
  9400. * Mac OS X threading:
  9401. * Thread safe since version 10.2
  9402. *
  9403. * Availability:
  9404. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  9405. * CarbonLib: in CarbonLib 1.0 and later
  9406. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  9407. }
  9408. function PBDTAddAPPLAsync( paramBlock: DTPBPtr ): OSErr; external name '_PBDTAddAPPLAsync';
  9409. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  9410. {
  9411. * PBDTRemoveAPPLSync() *** DEPRECATED ***
  9412. *
  9413. * Mac OS X threading:
  9414. * Thread safe since version 10.2
  9415. *
  9416. * Availability:
  9417. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  9418. * CarbonLib: in CarbonLib 1.0 and later
  9419. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  9420. }
  9421. function PBDTRemoveAPPLSync( paramBlock: DTPBPtr ): OSErr; external name '_PBDTRemoveAPPLSync';
  9422. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  9423. {
  9424. * PBDTRemoveAPPLAsync() *** DEPRECATED ***
  9425. *
  9426. * Mac OS X threading:
  9427. * Thread safe since version 10.2
  9428. *
  9429. * Availability:
  9430. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  9431. * CarbonLib: in CarbonLib 1.0 and later
  9432. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  9433. }
  9434. function PBDTRemoveAPPLAsync( paramBlock: DTPBPtr ): OSErr; external name '_PBDTRemoveAPPLAsync';
  9435. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  9436. {
  9437. * PBDTGetAPPLSync() *** DEPRECATED ***
  9438. *
  9439. * Mac OS X threading:
  9440. * Thread safe since version 10.2
  9441. *
  9442. * Availability:
  9443. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  9444. * CarbonLib: in CarbonLib 1.0 and later
  9445. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  9446. }
  9447. function PBDTGetAPPLSync( paramBlock: DTPBPtr ): OSErr; external name '_PBDTGetAPPLSync';
  9448. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  9449. {
  9450. * PBDTGetAPPLAsync() *** DEPRECATED ***
  9451. *
  9452. * Mac OS X threading:
  9453. * Thread safe since version 10.2
  9454. *
  9455. * Availability:
  9456. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  9457. * CarbonLib: in CarbonLib 1.0 and later
  9458. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  9459. }
  9460. function PBDTGetAPPLAsync( paramBlock: DTPBPtr ): OSErr; external name '_PBDTGetAPPLAsync';
  9461. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  9462. {
  9463. * PBDTSetCommentSync() *** DEPRECATED ***
  9464. *
  9465. * Mac OS X threading:
  9466. * Thread safe since version 10.2
  9467. *
  9468. * Availability:
  9469. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  9470. * CarbonLib: in CarbonLib 1.0 and later
  9471. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  9472. }
  9473. function PBDTSetCommentSync( paramBlock: DTPBPtr ): OSErr; external name '_PBDTSetCommentSync';
  9474. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  9475. {
  9476. * PBDTSetCommentAsync() *** DEPRECATED ***
  9477. *
  9478. * Mac OS X threading:
  9479. * Thread safe since version 10.2
  9480. *
  9481. * Availability:
  9482. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  9483. * CarbonLib: in CarbonLib 1.0 and later
  9484. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  9485. }
  9486. function PBDTSetCommentAsync( paramBlock: DTPBPtr ): OSErr; external name '_PBDTSetCommentAsync';
  9487. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  9488. {
  9489. * PBDTRemoveCommentSync() *** DEPRECATED ***
  9490. *
  9491. * Mac OS X threading:
  9492. * Thread safe since version 10.2
  9493. *
  9494. * Availability:
  9495. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  9496. * CarbonLib: in CarbonLib 1.0 and later
  9497. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  9498. }
  9499. function PBDTRemoveCommentSync( paramBlock: DTPBPtr ): OSErr; external name '_PBDTRemoveCommentSync';
  9500. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  9501. {
  9502. * PBDTRemoveCommentAsync() *** DEPRECATED ***
  9503. *
  9504. * Mac OS X threading:
  9505. * Thread safe since version 10.2
  9506. *
  9507. * Availability:
  9508. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  9509. * CarbonLib: in CarbonLib 1.0 and later
  9510. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  9511. }
  9512. function PBDTRemoveCommentAsync( paramBlock: DTPBPtr ): OSErr; external name '_PBDTRemoveCommentAsync';
  9513. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  9514. {
  9515. * PBDTGetCommentSync() *** DEPRECATED ***
  9516. *
  9517. * Mac OS X threading:
  9518. * Thread safe since version 10.2
  9519. *
  9520. * Availability:
  9521. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  9522. * CarbonLib: in CarbonLib 1.0 and later
  9523. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  9524. }
  9525. function PBDTGetCommentSync( paramBlock: DTPBPtr ): OSErr; external name '_PBDTGetCommentSync';
  9526. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  9527. {
  9528. * PBDTGetCommentAsync() *** DEPRECATED ***
  9529. *
  9530. * Mac OS X threading:
  9531. * Thread safe since version 10.2
  9532. *
  9533. * Availability:
  9534. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  9535. * CarbonLib: in CarbonLib 1.0 and later
  9536. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  9537. }
  9538. function PBDTGetCommentAsync( paramBlock: DTPBPtr ): OSErr; external name '_PBDTGetCommentAsync';
  9539. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  9540. {
  9541. * PBDTFlushSync() *** DEPRECATED ***
  9542. *
  9543. * Mac OS X threading:
  9544. * Thread safe since version 10.2
  9545. *
  9546. * Availability:
  9547. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  9548. * CarbonLib: in CarbonLib 1.0 and later
  9549. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  9550. }
  9551. function PBDTFlushSync( paramBlock: DTPBPtr ): OSErr; external name '_PBDTFlushSync';
  9552. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  9553. {
  9554. * PBDTFlushAsync() *** DEPRECATED ***
  9555. *
  9556. * Mac OS X threading:
  9557. * Thread safe since version 10.2
  9558. *
  9559. * Availability:
  9560. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  9561. * CarbonLib: in CarbonLib 1.0 and later
  9562. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  9563. }
  9564. function PBDTFlushAsync( paramBlock: DTPBPtr ): OSErr; external name '_PBDTFlushAsync';
  9565. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  9566. {
  9567. * PBDTResetSync() *** DEPRECATED ***
  9568. *
  9569. * Mac OS X threading:
  9570. * Thread safe since version 10.2
  9571. *
  9572. * Availability:
  9573. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  9574. * CarbonLib: in CarbonLib 1.0 and later
  9575. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  9576. }
  9577. function PBDTResetSync( paramBlock: DTPBPtr ): OSErr; external name '_PBDTResetSync';
  9578. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  9579. {
  9580. * PBDTResetAsync() *** DEPRECATED ***
  9581. *
  9582. * Mac OS X threading:
  9583. * Thread safe since version 10.2
  9584. *
  9585. * Availability:
  9586. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  9587. * CarbonLib: in CarbonLib 1.0 and later
  9588. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  9589. }
  9590. function PBDTResetAsync( paramBlock: DTPBPtr ): OSErr; external name '_PBDTResetAsync';
  9591. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  9592. {
  9593. * PBDTGetInfoSync() *** DEPRECATED ***
  9594. *
  9595. * Mac OS X threading:
  9596. * Thread safe since version 10.2
  9597. *
  9598. * Availability:
  9599. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  9600. * CarbonLib: in CarbonLib 1.0 and later
  9601. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  9602. }
  9603. function PBDTGetInfoSync( paramBlock: DTPBPtr ): OSErr; external name '_PBDTGetInfoSync';
  9604. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  9605. {
  9606. * PBDTGetInfoAsync() *** DEPRECATED ***
  9607. *
  9608. * Mac OS X threading:
  9609. * Thread safe since version 10.2
  9610. *
  9611. * Availability:
  9612. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  9613. * CarbonLib: in CarbonLib 1.0 and later
  9614. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  9615. }
  9616. function PBDTGetInfoAsync( paramBlock: DTPBPtr ): OSErr; external name '_PBDTGetInfoAsync';
  9617. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  9618. {
  9619. * PBDTOpenInform() *** DEPRECATED ***
  9620. *
  9621. * Mac OS X threading:
  9622. * Thread safe since version 10.2
  9623. *
  9624. * Availability:
  9625. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  9626. * CarbonLib: in CarbonLib 1.0 and later
  9627. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  9628. }
  9629. function PBDTOpenInform( paramBlock: DTPBPtr ): OSErr; external name '_PBDTOpenInform';
  9630. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  9631. {
  9632. * PBDTDeleteSync() *** DEPRECATED ***
  9633. *
  9634. * Mac OS X threading:
  9635. * Thread safe since version 10.2
  9636. *
  9637. * Availability:
  9638. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  9639. * CarbonLib: in CarbonLib 1.0 and later
  9640. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  9641. }
  9642. function PBDTDeleteSync( paramBlock: DTPBPtr ): OSErr; external name '_PBDTDeleteSync';
  9643. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  9644. {
  9645. * PBDTDeleteAsync() *** DEPRECATED ***
  9646. *
  9647. * Mac OS X threading:
  9648. * Thread safe since version 10.2
  9649. *
  9650. * Availability:
  9651. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  9652. * CarbonLib: in CarbonLib 1.0 and later
  9653. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  9654. }
  9655. function PBDTDeleteAsync( paramBlock: DTPBPtr ): OSErr; external name '_PBDTDeleteAsync';
  9656. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  9657. { FSp traps }
  9658. { This function is deprecated in Mac OS X 10.4. Use FSMakeFSRefUnicode instead.}
  9659. {
  9660. * FSMakeFSSpec() *** DEPRECATED ***
  9661. *
  9662. * Mac OS X threading:
  9663. * Thread safe since version 10.0
  9664. *
  9665. * Availability:
  9666. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  9667. * CarbonLib: in CarbonLib 1.0 and later
  9668. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  9669. }
  9670. function FSMakeFSSpec( vRefNum: FSVolumeRefNum; dirID: SInt32; const (*var*) fileName: Str255; var spec: FSSpec ): OSErr; external name '_FSMakeFSSpec';
  9671. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  9672. { This function is deprecated in Mac OS X 10.4. Use FSOpenFork instead.}
  9673. {
  9674. * FSpOpenDF() *** DEPRECATED ***
  9675. *
  9676. * Mac OS X threading:
  9677. * Thread safe since version 10.0
  9678. *
  9679. * Availability:
  9680. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  9681. * CarbonLib: in CarbonLib 1.0 and later
  9682. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  9683. }
  9684. function FSpOpenDF( const (*var*) spec: FSSpec; permission: SInt8; var refNum: FSIORefNum ): OSErr; external name '_FSpOpenDF';
  9685. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  9686. { This function is deprecated in Mac OS X 10.4. Use FSOpenFork instead.}
  9687. {
  9688. * FSpOpenRF() *** DEPRECATED ***
  9689. *
  9690. * Mac OS X threading:
  9691. * Thread safe since version 10.0
  9692. *
  9693. * Availability:
  9694. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  9695. * CarbonLib: in CarbonLib 1.0 and later
  9696. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  9697. }
  9698. function FSpOpenRF( const (*var*) spec: FSSpec; permission: SInt8; var refNum: FSIORefNum ): OSErr; external name '_FSpOpenRF';
  9699. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  9700. { This function is deprecated in Mac OS X 10.4. Use FSCreateFileUnicode instead.}
  9701. {
  9702. * FSpCreate() *** DEPRECATED ***
  9703. *
  9704. * Mac OS X threading:
  9705. * Thread safe since version 10.0
  9706. *
  9707. * Availability:
  9708. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  9709. * CarbonLib: in CarbonLib 1.0 and later
  9710. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  9711. }
  9712. function FSpCreate( const (*var*) spec: FSSpec; creator: OSType; fileType: OSType; scriptTag: ScriptCode ): OSErr; external name '_FSpCreate';
  9713. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  9714. { This function is deprecated in Mac OS X 10.4. Use FSCreateDirectoryUnicode instead.}
  9715. {
  9716. * FSpDirCreate() *** DEPRECATED ***
  9717. *
  9718. * Mac OS X threading:
  9719. * Thread safe since version 10.0
  9720. *
  9721. * Availability:
  9722. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  9723. * CarbonLib: in CarbonLib 1.0 and later
  9724. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  9725. }
  9726. function FSpDirCreate( const (*var*) spec: FSSpec; scriptTag: ScriptCode; var createdDirID: SInt32 ): OSErr; external name '_FSpDirCreate';
  9727. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  9728. { This function is deprecated in Mac OS X 10.4. Use FSDeleteObject instead.}
  9729. {
  9730. * FSpDelete() *** DEPRECATED ***
  9731. *
  9732. * Mac OS X threading:
  9733. * Thread safe since version 10.0
  9734. *
  9735. * Availability:
  9736. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  9737. * CarbonLib: in CarbonLib 1.0 and later
  9738. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  9739. }
  9740. function FSpDelete( const (*var*) spec: FSSpec ): OSErr; external name '_FSpDelete';
  9741. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  9742. { This function is deprecated in Mac OS X 10.4. Use FSGetCatalogInfo instead.}
  9743. {
  9744. * FSpGetFInfo() *** DEPRECATED ***
  9745. *
  9746. * Mac OS X threading:
  9747. * Thread safe since version 10.0
  9748. *
  9749. * Availability:
  9750. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  9751. * CarbonLib: in CarbonLib 1.0 and later
  9752. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  9753. }
  9754. function FSpGetFInfo( const (*var*) spec: FSSpec; var fndrInfo: FInfo ): OSErr; external name '_FSpGetFInfo';
  9755. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  9756. { This function is deprecated in Mac OS X 10.4. Use FSSetCatalogInfo instead.}
  9757. {
  9758. * FSpSetFInfo() *** DEPRECATED ***
  9759. *
  9760. * Mac OS X threading:
  9761. * Thread safe since version 10.0
  9762. *
  9763. * Availability:
  9764. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  9765. * CarbonLib: in CarbonLib 1.0 and later
  9766. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  9767. }
  9768. function FSpSetFInfo( const (*var*) spec: FSSpec; const (*var*) fndrInfo: FInfo ): OSErr; external name '_FSpSetFInfo';
  9769. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  9770. { This function is deprecated in Mac OS X 10.4. Use FSSetCatalogInfo instead.}
  9771. {
  9772. * FSpSetFLock() *** DEPRECATED ***
  9773. *
  9774. * Mac OS X threading:
  9775. * Thread safe since version 10.0
  9776. *
  9777. * Availability:
  9778. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  9779. * CarbonLib: in CarbonLib 1.0 and later
  9780. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  9781. }
  9782. function FSpSetFLock( const (*var*) spec: FSSpec ): OSErr; external name '_FSpSetFLock';
  9783. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  9784. { This function is deprecated in Mac OS X 10.4. Use FSSetCatalogInfo instead.}
  9785. {
  9786. * FSpRstFLock() *** DEPRECATED ***
  9787. *
  9788. * Mac OS X threading:
  9789. * Thread safe since version 10.0
  9790. *
  9791. * Availability:
  9792. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  9793. * CarbonLib: in CarbonLib 1.0 and later
  9794. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  9795. }
  9796. function FSpRstFLock( const (*var*) spec: FSSpec ): OSErr; external name '_FSpRstFLock';
  9797. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  9798. { This function is deprecated in Mac OS X 10.4. Use FSRenameUnicode instead.}
  9799. {
  9800. * FSpRename() *** DEPRECATED ***
  9801. *
  9802. * Mac OS X threading:
  9803. * Thread safe since version 10.0
  9804. *
  9805. * Availability:
  9806. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  9807. * CarbonLib: in CarbonLib 1.0 and later
  9808. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  9809. }
  9810. function FSpRename( const (*var*) spec: FSSpec; const (*var*) newName: Str255 ): OSErr; external name '_FSpRename';
  9811. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  9812. { This function is deprecated in Mac OS X 10.4. Use FSMoveObject instead.}
  9813. {
  9814. * FSpCatMove() *** DEPRECATED ***
  9815. *
  9816. * Mac OS X threading:
  9817. * Thread safe since version 10.0
  9818. *
  9819. * Availability:
  9820. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  9821. * CarbonLib: in CarbonLib 1.0 and later
  9822. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  9823. }
  9824. function FSpCatMove( const (*var*) source: FSSpec; const (*var*) dest: FSSpec ): OSErr; external name '_FSpCatMove';
  9825. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  9826. { This function is deprecated in Mac OS X 10.4. Use FSExchangeObjects instead.}
  9827. {
  9828. * FSpExchangeFiles() *** DEPRECATED ***
  9829. *
  9830. * Mac OS X threading:
  9831. * Thread safe since version 10.0
  9832. *
  9833. * Availability:
  9834. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  9835. * CarbonLib: in CarbonLib 1.0 and later
  9836. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  9837. }
  9838. function FSpExchangeFiles( const (*var*) source: FSSpec; const (*var*) dest: FSSpec ): OSErr; external name '_FSpExchangeFiles';
  9839. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  9840. { This function is deprecated in Mac OS X 10.4. It was never implemented on OS X.}
  9841. {
  9842. * PBShareSync() *** DEPRECATED ***
  9843. *
  9844. * Mac OS X threading:
  9845. * Thread safe since version 10.0
  9846. *
  9847. * Availability:
  9848. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  9849. * CarbonLib: in CarbonLib 1.0 and later
  9850. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  9851. }
  9852. function PBShareSync( paramBlock: HParmBlkPtr ): OSErr; external name '_PBShareSync';
  9853. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  9854. { This function is deprecated in Mac OS X 10.4. It was never implemented on OS X.}
  9855. {
  9856. * PBShareAsync() *** DEPRECATED ***
  9857. *
  9858. * Mac OS X threading:
  9859. * Thread safe since version 10.0
  9860. *
  9861. * Availability:
  9862. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  9863. * CarbonLib: in CarbonLib 1.0 and later
  9864. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  9865. }
  9866. function PBShareAsync( paramBlock: HParmBlkPtr ): OSErr; external name '_PBShareAsync';
  9867. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  9868. { This function is deprecated in Mac OS X 10.4. It was never implemented on OS X.}
  9869. {
  9870. * PBUnshareSync() *** DEPRECATED ***
  9871. *
  9872. * Mac OS X threading:
  9873. * Thread safe since version 10.0
  9874. *
  9875. * Availability:
  9876. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  9877. * CarbonLib: in CarbonLib 1.0 and later
  9878. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  9879. }
  9880. function PBUnshareSync( paramBlock: HParmBlkPtr ): OSErr; external name '_PBUnshareSync';
  9881. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  9882. { This function is deprecated in Mac OS X 10.4. It was never implemented on OS X.}
  9883. {
  9884. * PBUnshareAsync() *** DEPRECATED ***
  9885. *
  9886. * Mac OS X threading:
  9887. * Thread safe since version 10.0
  9888. *
  9889. * Availability:
  9890. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  9891. * CarbonLib: in CarbonLib 1.0 and later
  9892. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  9893. }
  9894. function PBUnshareAsync( paramBlock: HParmBlkPtr ): OSErr; external name '_PBUnshareAsync';
  9895. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  9896. { This function is deprecated in Mac OS X 10.4. It was never implemented on OS X.}
  9897. {
  9898. * PBGetUGEntrySync() *** DEPRECATED ***
  9899. *
  9900. * Mac OS X threading:
  9901. * Thread safe since version 10.0
  9902. *
  9903. * Availability:
  9904. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  9905. * CarbonLib: in CarbonLib 1.0 and later
  9906. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  9907. }
  9908. function PBGetUGEntrySync( paramBlock: HParmBlkPtr ): OSErr; external name '_PBGetUGEntrySync';
  9909. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  9910. { This function is deprecated in Mac OS X 10.4. It was never implemented on OS X.}
  9911. {
  9912. * PBGetUGEntryAsync() *** DEPRECATED ***
  9913. *
  9914. * Mac OS X threading:
  9915. * Thread safe since version 10.0
  9916. *
  9917. * Availability:
  9918. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  9919. * CarbonLib: in CarbonLib 1.0 and later
  9920. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  9921. }
  9922. function PBGetUGEntryAsync( paramBlock: HParmBlkPtr ): OSErr; external name '_PBGetUGEntryAsync';
  9923. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  9924. {$endc} {not TARGET_CPU_64}
  9925. {$endc} {TARGET_OS_MAC}
  9926. {$ifc not defined MACOSALLINCLUDE or not MACOSALLINCLUDE}
  9927. end.
  9928. {$endc} {not MACOSALLINCLUDE}