12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939 |
- <?xml version="1.0" encoding="ISO8859-1"?>
- <fpdoc-descriptions>
- <!--
- $Id$
- This file is part of the FPC documentation.
- Copyright (C) 1997, by Michael Van Canneyt
- The FPC documentation is free text; you can redistribute it and/or
- modify it under the terms of the GNU Library General Public License as
- published by the Free Software Foundation; either version 2 of the
- License, or (at your option) any later version.
- The FPC Documentation is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Library General Public License for more details.
- You should have received a copy of the GNU Library General Public
- License along with the FPC documentation; see the file COPYING.LIB. If not,
- write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA.
- -->
- <package name="rtl">
- <module name="oldlinux">
- <short>1.0.X version of the Linux unit - for compatibility only.</short>
- <!-- \FPCexampledir{olinuxex} -->
- <descr>
- This document describes the LINUX unit for Free Pascal. The unit was written
- by Michael van Canneyt. It works only on the Linux/BSD operating systems.
- </descr>
- <element name="PGlob">
- <short>Pointer to <link id="TGlob"/> record.</short>
- </element>
- <element name="TGlob">
- <short>Record containing one entry in the result of <link id="Glob"/></short>
- </element>
- <element name="TGlob.Name">
- <short>Filename matching the search criteria</short>
- </element>
- <element name="TGlob.Next">
- <short>Next element in result of <var>Glob</var> call.</short>
- </element>
- <element name="tfpreg">
- <short>Record describing floating point register in signal handler.</short>
- </element>
- <element name="tfpreg.significand">
- <short>Decimal part of floating point value</short>
- </element>
- <element name="tfpreg.exponent">
- <short>Exponent of floating point value</short>
- </element>
- <element name="pfpstate">
- <short>Pointer to <link id="tfpstate"/> record.</short>
- </element>
- <element name="tfpstate">
- <short>Record describing floating point unit in signal handler.</short>
- </element>
- <element name="tfpstate.cw">
- <short></short>
- </element>
- <element name="tfpstate.sw">
- <short></short>
- </element>
- <element name="tfpstate.tag">
- <short></short>
- </element>
- <element name="tfpstate.ipoff">
- <short></short>
- </element>
- <element name="tfpstate.cssel">
- <short></short>
- </element>
- <element name="tfpstate.dataoff">
- <short></short>
- </element>
- <element name="tfpstate.datasel">
- <short></short>
- </element>
- <element name="tfpstate.st">
- <short></short>
- </element>
- <element name="tfpstate.status">
- <short></short>
- </element>
- <element name="PSigContextRec">
- <short>Pointer to <link id="SigContextRec"/> record</short>
- </element>
- <element name="SigContextRec">
- <short>Record describing the context of the program when it receives a signal</short>
- <descr>
- The above records contain information about the processor state and process
- state at the moment a signal is sent to your program.
- </descr>
- </element>
- <element name="SigContextRec.gs">
- <short>Low part of gs register</short>
- </element>
- <element name="SigContextRec.__gsh">
- <short>High part of gs register</short>
- </element>
- <element name="SigContextRec.fs">
- <short>Low part of FS register</short>
- </element>
- <element name="SigContextRec.__fsh">
- <short>High part of FS register</short>
- </element>
- <element name="SigContextRec.es">
- <short>Low part of ES register</short>
- </element>
- <element name="SigContextRec.__esh">
- <short>High part of ES register</short>
- </element>
- <element name="SigContextRec.ds">
- <short>Low part of DS register</short>
- </element>
- <element name="SigContextRec.__dsh">
- <short>High part of DS register</short>
- </element>
- <element name="SigContextRec.edi">
- <short>EDI register</short>
- </element>
- <element name="SigContextRec.esi">
- <short>ESI register</short>
- </element>
- <element name="SigContextRec.ebp">
- <short>EBP register</short>
- </element>
- <element name="SigContextRec.esp">
- <short>ESP register</short>
- </element>
- <element name="SigContextRec.ebx">
- <short>EBX register</short>
- </element>
- <element name="SigContextRec.edx">
- <short>EDX register</short>
- </element>
- <element name="SigContextRec.ecx">
- <short>ECX register</short>
- </element>
- <element name="SigContextRec.eax">
- <short>EAX register</short>
- </element>
- <element name="SigContextRec.trapno">
- <short>Interrupt number</short>
- </element>
- <element name="SigContextRec.err">
- <short>Error register (?)</short>
- </element>
- <element name="SigContextRec.eip">
- <short>IP (Instruction Pointer) register</short>
- </element>
- <element name="SigContextRec.cs">
- <short>Low part of CS register</short>
- </element>
- <element name="SigContextRec.__csh">
- <short>High part of CS register</short>
- </element>
- <element name="SigContextRec.eflags">
- <short>Flags register</short>
- </element>
- <element name="SigContextRec.esp_at_signal">
- <short>ESP register at signal.</short>
- </element>
- <element name="SigContextRec.ss">
- <short>Low part of SS register</short>
- </element>
- <element name="SigContextRec.__ssh">
- <short>High part of SS register</short>
- </element>
- <element name="SigContextRec.fpstate">
- <short>Floating Point unit state</short>
- </element>
- <element name="SigContextRec.oldmask">
- <short>Old signal mask</short>
- </element>
- <element name="SigContextRec.cr2">
- <short>?</short>
- </element>
- <element name="TSigAction">
- <short>Function prototype for <link id="SigAction"/> call.</short>
- </element>
- <element name="SignalHandler">
- <short>Function prototype for the <link id="Signal"/> call.</short>
- </element>
- <element name="PSignalHandler">
- <short>Pointer to <link id="SignalHandler"/> type.</short>
- </element>
- <element name="SignalRestorer">
- <short>Signal restorer function prototype</short>
- </element>
- <element name="PSignalrestorer">
- <short>Pointer to <link id="SignalRestorer"/> type</short>
- </element>
- <element name="PSigActionRec">
- <short>Pointer to <link id="SigActionRec"/> record.</short>
- </element>
- <element name="SigActionRec">
- <short>Record used in <link id="SigAction"/> call.</short>
- </element>
- <element name="SigActionRec.Handler">
- <short>Funcion called when signal is triggered.</short>
- </element>
- <element name="SigActionRec.Sa_Mask">
- <short>Signal mask.</short>
- </element>
- <element name="SigActionRec.SA_FLAGS">
- <short>Flags for SigAction</short>
- </element>
- <element name="SigActionRec.SA_RESTORER">
- <short>Obsolete, don't use</short>
- </element>
- <element name="stat">
- <short>Record describing an inode (file) in the <link id="fstat"/> call.</short>
- </element>
- <element name="stat.dev">
- <short>Device number</short>
- </element>
- <element name="stat.pad1">
- <short>Pad byte. Do not use</short>
- </element>
- <element name="stat.ino">
- <short>Inode number of file</short>
- </element>
- <element name="stat.mode">
- <short>File mode</short>
- </element>
- <element name="stat.nlink">
- <short>Number of links to file.</short>
- </element>
- <element name="stat.uid">
- <short>File owner UID</short>
- </element>
- <element name="stat.gid">
- <short>File owner GID</short>
- </element>
- <element name="stat.rdev">
- <short></short>
- </element>
- <element name="stat.pad2">
- <short>Pad byte. Do not use</short>
- </element>
- <element name="stat.size">
- <short>File size</short>
- </element>
- <element name="stat.blksize">
- <short>Block size</short>
- </element>
- <element name="stat.blocks">
- <short>Number of blocks used</short>
- </element>
- <element name="stat.atime">
- <short>Last access time</short>
- </element>
- <element name="stat.unused1">
- <short>Pad byte. Do not use</short>
- </element>
- <element name="stat.mtime">
- <short>Last modification time.</short>
- </element>
- <element name="stat.unused2">
- <short>Pad byte. Do not use</short>
- </element>
- <element name="stat.ctime">
- <short>Creation time</short>
- </element>
- <element name="stat.unused3">
- <short>Pad byte. Do not use</short>
- </element>
- <element name="stat.unused4">
- <short>Pad byte. Do not use</short>
- </element>
- <element name="stat.unused5">
- <short>Pad byte. Do not use</short>
- </element>
- <element name="statfs">
- <short>Record describing a file system in the <link id="fsstat"/> call.</short>
- </element>
- <element name="statfs.fstype">
- <short>File system type</short>
- </element>
- <element name="statfs.bsize">
- <short>Block size</short>
- </element>
- <element name="statfs.blocks">
- <short>Total number of blocks</short>
- </element>
- <element name="statfs.bfree">
- <short>Number of free blocks</short>
- </element>
- <element name="statfs.bavail">
- <short>Number of available blocks</short>
- </element>
- <element name="statfs.files">
- <short>Number of files</short>
- </element>
- <element name="statfs.ffree">
- <short>?</short>
- </element>
- <element name="statfs.fsid">
- <short>?</short>
- </element>
- <element name="statfs.namelen">
- <short>Max name length for files.</short>
- </element>
- <element name="statfs.spare">
- <short>Pad bytes. Do not use.</short>
- </element>
- <element name="PDir">
- <short>Pointer to <link id="TDir"/> record</short>
- </element>
- <element name="TDir">
- <short>Record used in <link id="OpenDir"/> and <link id="ReadDir"/> calls </short>
- </element>
- <element name="TDir.fd">
- <short>File descriptor. Do not use.</short>
- </element>
- <element name="TDir.loc">
- <short>Location in directory listing</short>
- </element>
- <element name="TDir.size">
- <short>File size</short>
- </element>
- <element name="TDir.buf">
- <short>Pointer to <link id="TDir"/> records</short>
- </element>
- <element name="TDir.nextoff">
- <short>?</short>
- </element>
- <element name="TDir.dd_max">
- <short>?</short>
- </element>
- <element name="TDir.lock">
- <short>?</short>
- </element>
- <element name="PDirEnt">
- <short>Pointer to <link id="Dirent"/> record.</short>
- </element>
- <element name="Dirent">
- <short>Record used in the <link id="ReadDir"/> function to return files in a directory.</short>
- </element>
- <element name="Dirent.ino">
- <short>Inode number of file</short>
- </element>
- <element name="Dirent.off">
- <short>Offset in directory.</short>
- </element>
- <element name="Dirent.reclen">
- <short>Record length</short>
- </element>
- <element name="Dirent.name">
- <short>Name of file</short>
- </element>
- <element name="NCCS">
- <short>Number of control characters in <link id="termios"/> record.</short>
- </element>
- <element name="NCC">
- <short>Number of control characters in <link id="termio"/> record.</short>
- </element>
- <element name="termio">
- <short>Terminal I/O description record (small)</short>
- </element>
- <element name="termio.c_iflag">
- <short>input mode flags</short>
- </element>
- <element name="termio.c_oflag">
- <short>output mode flags</short>
- </element>
- <element name="termio.c_cflag">
- <short>control mode flags</short>
- </element>
- <element name="termio.c_lflag">
- <short>local mode flags</short>
- </element>
- <element name="termio.c_line">
- <short>line discipline</short>
- </element>
- <element name="termio.c_cc">
- <short>control characters</short>
- </element>
- <element name="termios">
- <short>Terminal I/O description record</short>
- </element>
- <element name="termios.c_iflag">
- <short>input mode flags</short>
- </element>
- <element name="termios.c_oflag">
- <short>output mode flags</short>
- </element>
- <element name="termios.c_cflag">
- <short>control mode flags</short>
- </element>
- <element name="termios.c_lflag">
- <short>local mode flags</short>
- </element>
- <element name="termios.c_line">
- <short>line discipline</short>
- </element>
- <element name="termios.c_cc">
- <short>control characters</short>
- </element>
- <element name="Utimbuf">
- <short>Record used in <link id="Utime"/> to set file access and modificaton times.</short>
- </element>
- <element name="Utimbuf.actime">
- <short>Access time</short>
- </element>
- <element name="Utimbuf.modtime">
- <short>Modification time</short>
- </element>
- <element name="PFDSet">
- <short>Pointer to <link id="FDSet"/> array.</short>
- </element>
- <element name="FDSet">
- <short>Array containing file descriptor bitmask for the <link id="Select"/> call.</short>
- </element>
- <element name="TimeVal">
- <short>Record specifying a time inteval.</short>
- </element>
- <element name="TimeVal.sec">
- <short>Number of seconds</short>
- </element>
- <element name="TimeVal.usec">
- <short>Number of milliseconds</short>
- </element>
- <element name="PTimeVal">
- <short>Pointer to <link id="TTimeVal"/> record</short>
- </element>
- <element name="timespec">
- <short>Time interval for the <link id="NanoSleep"/> function.</short>
- </element>
- <element name="timespec.tv_sec">
- <short>Number of seconds</short>
- </element>
- <element name="timespec.tv_nsec">
- <short>Number of nanoseconds</short>
- </element>
- <element name="utsname">
- <short>Record used to return kernel information in <link id="UName"/> function.</short>
- <descr>
- The elements of this record are null-terminated C style strings, you cannot access them
- directly.
- </descr>
- </element>
- <element name="utsname.sysname">
- <short>System name</short>
- </element>
- <element name="utsname.nodename">
- <short>Computer name</short>
- </element>
- <element name="utsname.release">
- <short>Release number</short>
- </element>
- <element name="utsname.version">
- <short>Version number</short>
- </element>
- <element name="utsname.machine">
- <short>Machine type</short>
- </element>
- <element name="utsname.domainname">
- <short>Domain name</short>
- </element>
- <element name="linuxerror">
- <short>Last operating system error</short>
- <descr>
- <var>Linuxerror</var> is the variable in which the procedures in the linux unit
- report errors.
- </descr>
- </element>
- <element name="stderr">
- <short>Standard error output (deprecated)</short>
- <descr>
- <p>
- <var>StdErr</var> Is a <var>Text</var> variable, corresponding to Standard Error or
- diagnostic output. It is connected to file descriptor 2. It can be freely
- used, and will be closed on exit.
- </p>
- <p>
- This variable is deprecated. Please use the corresponding variable in
- the system unit for disgnostic messages.
- </p>
- </descr>
- </element>
- <element name="Prio_Process">
- <short>Get/Set process priority</short>
- </element>
- <element name="Prio_PGrp">
- <short>Get/set process group priority</short>
- </element>
- <element name="Prio_user">
- <short>Get/set user priority</short>
- </element>
- <element name="R_OK">
- <short><link id="Access"/> call test: read allowed </short>
- </element>
- <element name="W_OK">
- <short><link id="Access"/> call test: write allowed </short>
- </element>
- <element name="X_OK">
- <short><link id="Access"/> call test: execute allowed </short>
- </element>
- <element name="F_OK">
- <short><link id="Access"/> call test: file exists.</short>
- </element>
- <element name="SA_NOCLDSTOP">
- <short>Sigaction options: Do not receive notification when child processes stop</short>
- </element>
- <element name="SA_SHIRQ">
- <short>Sigaction options: ?</short>
- </element>
- <element name="SA_STACK">
- <short>Sigaction options: Call the signal handler on an alternate signal stack.</short>
- </element>
- <element name="SA_RESTART">
- <short>Sigaction options: Provide behaviour compatible with BSD signal semantics</short>
- </element>
- <element name="SA_INTERRUPT">
- <short>Sigaction options: ?</short>
- </element>
- <element name="SA_NOMASK">
- <short>Sigaction options: Do not prevent the signal from being received when it is handled.</short>
- </element>
- <element name="SA_ONESHOT">
- <short>Sigaction options: Restore the signal action to the default state.</short>
- </element>
- <element name="SIG_BLOCK">
- <short>Sigprocmask flags: Add signals to the set of blocked signals.</short>
- </element>
- <element name="SIG_UNBLOCK">
- <short>Sigprocmask flags: Remove signals from the set set of blocked signals.</short>
- </element>
- <element name="SIG_SETMASK">
- <short>Sigprocmask flags: Set of blocked signals is given.</short>
- </element>
- <element name="SIG_DFL">
- <short>Signal handler: Default signal handler</short>
- </element>
- <element name="SIG_IGN">
- <short>Signal handler: Ignore signal</short>
- </element>
- <element name="SIG_ERR">
- <short>Signal handler: error</short>
- </element>
- <element name="SIGHUP">
- <short>Signal: HUP (Hangup)</short>
- </element>
- <element name="SIGINT">
- <short>Signal: INT (Interrupt)</short>
- </element>
- <element name="SIGQUIT">
- <short>Signal: QUIT</short>
- </element>
- <element name="SIGILL">
- <short>Signal: ILL (Illegal instruction)</short>
- </element>
- <element name="SIGTRAP">
- <short>Signal: TRAP (Trace trap)</short>
- </element>
- <element name="SIGABRT">
- <short>Signal: ABRT (Abort)</short>
- </element>
- <element name="SIGIOT">
- <short>Signal: IOT (IOT trap)</short>
- </element>
- <element name="SIGBUS">
- <short>Signal: BUS (bus error)</short>
- </element>
- <element name="SIGFPE">
- <short>Signal: FPE (Floating point error)</short>
- </element>
- <element name="SIGKILL">
- <short>Signal: KILL (unblockable)</short>
- </element>
- <element name="SIGUSR1">
- <short>Signal: USR1 (User-defined signal 1)</short>
- </element>
- <element name="SIGSEGV">
- <short>Signal: SEGV (Segmentation violation)</short>
- </element>
- <element name="SIGUSR2">
- <short>Signal: USR2 (User-defined signal 2)</short>
- </element>
- <element name="SIGPIPE">
- <short>Signal: PIPE (Broken pipe</short>
- </element>
- <element name="SIGALRM">
- <short>Signal: ALRM (Alarm clock)</short>
- </element>
- <element name="SIGTERM">
- <short>Signal: TERM (Terminate)</short>
- </element>
- <element name="SIGSTKFLT">
- <short>Signal: STKFLT (Stack Fault)</short>
- </element>
- <element name="SIGCHLD">
- <short>Signal: CHLD (child status changed)</short>
- </element>
- <element name="SIGCONT">
- <short>Signal: CONT (Continue)</short>
- </element>
- <element name="SIGSTOP">
- <short>Signal: STOP (Stop, unblockable)</short>
- </element>
- <element name="SIGTSTP">
- <short>Signal: TSTP (keyboard stop)</short>
- </element>
- <element name="SIGTTIN">
- <short>Signal: TTIN (Terminal input, background)</short>
- </element>
- <element name="SIGTTOU">
- <short>Signal: TTOU (Terminal output, background)</short>
- </element>
- <element name="SIGURG">
- <short>Signal: URG (Socket urgent condition)</short>
- </element>
- <element name="SIGXCPU">
- <short>Signal: XCPU (CPU limit exceeded)</short>
- </element>
- <element name="SIGXFSZ">
- <short>Signal: XFSZ (File size limit exceeded)</short>
- </element>
- <element name="SIGVTALRM">
- <short>Signal: VTALRM (Virtual alarm clock)</short>
- </element>
- <element name="SIGPROF">
- <short>Signal: PROF (Profiling alarm)</short>
- </element>
- <element name="SIGWINCH">
- <short>Signal: WINCH (Window/Terminal size change)</short>
- </element>
- <element name="SIGIO">
- <short>Signal: IO (I/O operation possible)</short>
- </element>
- <element name="SIGPOLL">
- <short>Signal: POLL (Pollable event) </short>
- </element>
- <element name="SIGPWR">
- <short>Signal: PWR (power failure restart)</short>
- </element>
- <element name="SIGUNUSED">
- <short>Signal: Unused</short>
- </element>
- <element name="F_GetFd">
- <short><link id="FCntl"/> command: Get close-on-exec flag</short>
- </element>
- <element name="F_SetFd">
- <short><link id="FCntl"/> command: Set close-on-exec flag</short>
- </element>
- <element name="F_GetFl">
- <short><link id="FCntl"/> command: Get filedescriptor flags</short>
- </element>
- <element name="F_SetFl">
- <short><link id="FCntl"/> command: Set filedescriptor flags</short>
- </element>
- <element name="F_GetLk">
- <short><link id="FCntl"/> command: Get lock</short>
- </element>
- <element name="F_SetLk">
- <short><link id="FCntl"/> command: Set lock</short>
- </element>
- <element name="F_SetLkW">
- <short><link id="FCntl"/> command: Test lock</short>
- </element>
- <element name="F_GetOwn">
- <short><link id="FCntl"/> command: get owner of filedescriptor events</short>
- </element>
- <element name="F_SetOwn">
- <short><link id="FCntl"/> command: Set owner of filedescriptor events</short>
- </element>
- <element skip="1" name="TCGETS"/>
- <element skip="1" name="TCSETS"/>
- <element skip="1" name="TCSETSW"/>
- <element skip="1" name="TCSETSF"/>
- <element skip="1" name="TCGETA"/>
- <element skip="1" name="TCSETA"/>
- <element skip="1" name="TCSETAW"/>
- <element skip="1" name="TCSETAF"/>
- <element skip="1" name="TCSBRK"/>
- <element skip="1" name="TCXONC"/>
- <element skip="1" name="TCFLSH"/>
- <element skip="1" name="TIOCEXCL"/>
- <element skip="1" name="TIOCNXCL"/>
- <element skip="1" name="TIOCSCTTY"/>
- <element skip="1" name="TIOCGPGRP"/>
- <element skip="1" name="TIOCSPGRP"/>
- <element skip="1" name="TIOCOUTQ"/>
- <element skip="1" name="TIOCSTI"/>
- <element skip="1" name="TIOCGWINSZ"/>
- <element skip="1" name="TIOCSWINSZ"/>
- <element skip="1" name="TIOCMGET"/>
- <element skip="1" name="TIOCMBIS"/>
- <element skip="1" name="TIOCMBIC"/>
- <element skip="1" name="TIOCMSET"/>
- <element skip="1" name="TIOCGSOFTCAR"/>
- <element skip="1" name="TIOCSSOFTCAR"/>
- <element skip="1" name="FIONREAD"/>
- <element skip="1" name="TIOCINQ"/>
- <element skip="1" name="TIOCLINUX"/>
- <element skip="1" name="TIOCCONS"/>
- <element skip="1" name="TIOCGSERIAL"/>
- <element skip="1" name="TIOCSSERIAL"/>
- <element skip="1" name="TIOCPKT"/>
- <element skip="1" name="FIONBIO"/>
- <element skip="1" name="TIOCNOTTY"/>
- <element skip="1" name="TIOCSETD"/>
- <element skip="1" name="TIOCGETD"/>
- <element skip="1" name="TCSBRKP"/>
- <element skip="1" name="TIOCTTYGSTRUCT"/>
- <element skip="1" name="FIONCLEX"/>
- <element skip="1" name="FIOCLEX"/>
- <element skip="1" name="FIOASYNC"/>
- <element skip="1" name="TIOCSERCONFIG"/>
- <element skip="1" name="TIOCSERGWILD"/>
- <element skip="1" name="TIOCSERSWILD"/>
- <element skip="1" name="TIOCGLCKTRMIOS"/>
- <element skip="1" name="TIOCSLCKTRMIOS"/>
- <element skip="1" name="TIOCSERGSTRUCT"/>
- <element skip="1" name="TIOCSERGETLSR"/>
- <element skip="1" name="TIOCSERGETMULTI"/>
- <element skip="1" name="TIOCSERSETMULTI"/>
- <element skip="1" name="TIOCMIWAIT"/>
- <element skip="1" name="TIOCGICOUNT"/>
- <element skip="1" name="TIOCPKT_DATA"/>
- <element skip="1" name="TIOCPKT_FLUSHREAD"/>
- <element skip="1" name="TIOCPKT_FLUSHWRITE"/>
- <element skip="1" name="TIOCPKT_STOP"/>
- <element skip="1" name="TIOCPKT_START"/>
- <element skip="1" name="TIOCPKT_NOSTOP"/>
- <element skip="1" name="TIOCPKT_DOSTOP"/>
- <element name="STAT_IFMT">
- <short>File (<link id="stat"/> record) mode: File type bit mask</short>
- </element>
- <element name="STAT_IFSOCK">
- <short>File (<link id="stat"/> record) mode: Socket</short>
- </element>
- <element name="STAT_IFLNK">
- <short>File (<link id="stat"/> record) mode: Link</short>
- </element>
- <element name="STAT_IFREG">
- <short>File (<link id="stat"/> record) mode: Regular file</short>
- </element>
- <element name="STAT_IFBLK">
- <short>File (<link id="stat"/> record) mode: Block device</short>
- </element>
- <element name="STAT_IFDIR">
- <short>File (<link id="stat"/> record) mode: Directory</short>
- </element>
- <element name="STAT_IFCHR">
- <short>File (<link id="stat"/> record) mode: Character device</short>
- </element>
- <element name="STAT_IFIFO">
- <short>File (<link id="stat"/> record) mode: FIFO</short>
- </element>
- <element name="STAT_ISUID">
- <short>File (<link id="stat"/> record) mode: UID bit set</short>
- </element>
- <element name="STAT_ISGID">
- <short>File (<link id="stat"/> record) mode: GID bit set</short>
- </element>
- <element name="STAT_ISVTX">
- <short>File (<link id="stat"/> record) mode: Sticky bit set</short>
- </element>
- <element name="STAT_IRWXO">
- <short>File (<link id="stat"/> record) mode: Other permission bits mask</short>
- </element>
- <element name="STAT_IROTH">
- <short>File (<link id="stat"/> record) mode: Other read permission</short>
- </element>
- <element name="STAT_IWOTH">
- <short>File (<link id="stat"/> record) mode: Other write permission</short>
- </element>
- <element name="STAT_IXOTH">
- <short>File (<link id="stat"/> record) mode: Others execute permission</short>
- </element>
- <element name="STAT_IRWXG">
- <short>File (<link id="stat"/> record) mode: Group permission bits mask</short>
- </element>
- <element name="STAT_IRGRP">
- <short>File (<link id="stat"/> record) mode: Group read permission</short>
- </element>
- <element name="STAT_IWGRP">
- <short>File (<link id="stat"/> record) mode: Group write permission</short>
- </element>
- <element name="STAT_IXGRP">
- <short>File (<link id="stat"/> record) mode: Others execute permission</short>
- </element>
- <element name="STAT_IRWXU">
- <short>File (<link id="stat"/> record) mode: Owner permission bits mask</short>
- </element>
- <element name="STAT_IRUSR">
- <short>File (<link id="stat"/> record) mode: Owner read permission</short>
- </element>
- <element name="STAT_IWUSR">
- <short>File (<link id="stat"/> record) mode: Owner write permission</short>
- </element>
- <element name="STAT_IXUSR">
- <short>File (<link id="stat"/> record) mode: Others execute permission</short>
- </element>
- <element name="fs_old_ext2">
- <short>File system type (<link id="FSStat"/>): (ext2) Old second extended</short>
- </element>
- <element name="fs_ext2">
- <short>File system type (<link id="FSStat"/>): (ext2) Second extended</short>
- </element>
- <element name="fs_ext">
- <short>File system type (<link id="FSStat"/>): (ext) Extended</short>
- </element>
- <element name="fs_iso">
- <short>File system type (<link id="FSStat"/>): ISO 9660</short>
- </element>
- <element name="fs_minix">
- <short>File system type (<link id="FSStat"/>): Minix</short>
- </element>
- <element name="fs_minix_30">
- <short>File system type (<link id="FSStat"/>): Minix 3.0</short>
- </element>
- <element name="fs_minux_V2">
- <short>File system type (<link id="FSStat"/>): Minix V2</short>
- </element>
- <element name="fs_msdos">
- <short>File system type (<link id="FSStat"/>): MSDOS (FAT)</short>
- </element>
- <element name="fs_nfs">
- <short>File system type (<link id="FSStat"/>): NFS </short>
- </element>
- <element name="fs_proc">
- <short>File system type (<link id="FSStat"/>): PROC fs</short>
- </element>
- <element name="fs_xia">
- <short>File system type (<link id="FSStat"/>): XIA</short>
- </element>
- <element name="LOCK_SH">
- <short><link id="FLock"/> Shared lock</short>
- </element>
- <element name="LOCK_EX">
- <short><link id="FLock"/> Exclusive lock</short>
- </element>
- <element name="LOCK_UN">
- <short><link id="FLock"/> unlock</short>
- </element>
- <element name="LOCK_NB">
- <short><link id="FLock"/> Non-blocking operation</short>
- </element>
- <element name="PROT_READ">
- <short><link id="MMap"/> memory access: page can be read</short>
- </element>
- <element name="PROT_WRITE">
- <short><link id="MMap"/> memory access: page can be written</short>
- </element>
- <element name="PROT_EXEC">
- <short><link id="MMap"/> memory access: page can be executed</short>
- </element>
- <element name="PROT_NONE">
- <short><link id="MMap"/> memory access: page can not be accessed</short>
- </element>
- <element name="MAP_SHARED">
- <short><link id="MMap"/> map type: Share changes</short>
- </element>
- <element name="MAP_PRIVATE">
- <short><link id="MMap"/> map type: Changes are private</short>
- </element>
- <element name="MAP_TYPE">
- <short><link id="MMap"/> map type: Bitmask for type of mapping</short>
- </element>
- <element name="MAP_FIXED">
- <short><link id="MMap"/> map type: Interpret addr exactly</short>
- </element>
- <element name="MAP_ANONYMOUS">
- <short><link id="MMap"/> map type: Don't use a file</short>
- </element>
- <topic name="FileIORoutines">
- <short>File Input/Output routines</short>
- <descr>
- <p>
- Functions for handling file input/output.
- </p>
- <table>
- <th><td>Name</td><td>Description</td></th>
- <tr><td><link id="Dup"/></td><td>Duplicate a file handle</td></tr>
- <tr><td><link id="Dup2"/></td><td>Copy one file handle to another</td></tr>
- <tr><td><link id="Fcntl"/></td><td>General file control</td></tr>
- <tr><td><link id="fdClose"/></td><td>Close file descriptor</td></tr>
- <tr><td><link id="fdFlush"/></td><td>Flush file descriptor</td></tr>
- <tr><td><link id="fdOpen"/></td><td>Open new file descriptor</td></tr>
- <tr><td><link id="fdRead"/></td><td>Read from file descriptor</td></tr>
- <tr><td><link id="fdSeek"/></td><td>Position in file</td></tr>
- <tr><td><link id="fdTruncate"/></td><td>Truncate file</td></tr>
- <tr><td><link id="fdWrite"/></td><td>Write to file descriptor</td></tr>
- <tr><td><link id="GetFS"/></td><td>Get file descriptor of pascal file</td></tr>
- <tr><td><link id="Select"/></td><td>Wait for input from file descriptor</td></tr>
- <tr><td><link id="SelectText"/></td><td>Wait for input from pascal file</td></tr>
- </table>
- </descr>
- </topic>
- <topic name="FileHandlingRoutines">
- <short>General File handling routines</short>
- <descr>
- <p>
- Functions for handling files on disk.
- </p>
- <table>
- <th><td>Name</td><td>Description</td></th>
- <tr><td><link id="Access"/></td><td>Check access rights on file</td></tr>
- <tr><td><link id="BaseName"/></td><td>Return name part of file</td></tr>
- <tr><td><link id="Chown"/></td><td>Change owner of file</td></tr>
- <tr><td><link id="Chmod"/></td><td>Change access rights on file</td></tr>
- <tr><td><link id="DirName"/></td><td>Return directory part of file</td></tr>
- <tr><td><link id="FSplit"/></td><td>Split filename in parts</td></tr>
- <tr><td><link id="FExpand"/></td><td>Return full-grown filename</td></tr>
- <tr><td><link id="FLock"/></td><td>Set lock on a file</td></tr>
- <tr><td><link id="FNMatch"/></td><td>Match filename to searchpattern</td></tr>
- <tr><td><link id="FSearch"/></td><td>Search for a file in a path</td></tr>
- <tr><td><link id="FSStat"/></td><td>Return filesystem information</td></tr>
- <tr><td><link id="FStat"/></td><td>Return file information</td></tr>
- <tr><td><link id="FRename"/></td><td>Rename file</td></tr>
- <tr><td><link id="LStat"/></td><td>Return information on a link</td></tr>
- <tr><td><link id="Link"/></td><td>Create a link</td></tr>
- <tr><td><link id="ReadLink"/></td><td>Read contents of a symbolic link</td></tr>
- <tr><td><link id="SymLink"/></td><td>Create a symbolic link</td></tr>
- <tr><td><link id="Umask"/></td><td>Set the file creation mask</td></tr>
- <tr><td><link id="UnLink"/></td><td>Remove a file</td></tr>
- <tr><td><link id="Utime"/></td><td>Change file timestamps</td></tr>
- </table>
- </descr>
- </topic>
- <topic name="PipeFIFORoutines">
- <short>Pipes, FIFOs and streams </short>
- <descr>
- <p>
- Functions for creating and managing pipes.
- </p>
- <table>
- <th><td>Name</td><td>Description</td></th>
- <tr><td><link id="AssignPipe"/></td><td>Create a pipe</td></tr>
- <tr><td><link id="AssignStream"/></td><td>Create pipes to program's input and output</td></tr>
- <tr><td><link id="MkFifo"/></td><td>Make a fifo</td></tr>
- <tr><td><link id="PClose"/></td><td>Close a pipe</td></tr>
- <tr><td><link id="POpen"/></td><td>Open a pipe for to program's input or output</td></tr>
- </table>
- </descr>
- </topic>
- <topic name="DirectoryRoutines">
- <short>Directory handling routines</short>
- <descr>
- <p>
- Functions for reading and searching directories.
- </p>
- <table>
- <th><td>Name</td><td>Description</td></th>
- <tr><td><link id="CloseDir"/></td><td>Close directory handle</td></tr>
- <tr><td><link id="Glob"/></td><td>Return files matching a search expression</td></tr>
- <tr><td><link id="GlobFree"/></td><td>Free result of Glob</td></tr>
- <tr><td><link id="OpenDir"/></td><td>Open directory for reading</td></tr>
- <tr><td><link id="ReadDir"/></td><td>Read directory entry</td></tr>
- <tr><td><link id="SeekDir"/></td><td>Seek directory</td></tr>
- <tr><td><link id="TellDir"/></td><td>Seek directory</td></tr>
- </table>
- </descr>
- </topic>
- <topic name="ProcessRoutines">
- <short>Process handling</short>
- <descr>
- <p>
- Functions for managing processes and programs.
- </p>
- <table>
- <th><td>Name</td><td>Description</td></th>
- <tr><td><link id="Clone"/></td><td>Create a thread</td></tr>
- <tr><td><link id="Execl"/></td><td>Execute process with command-line list</td></tr>
- <tr><td><link id="Execle"/></td><td>Execute process with command-line list and environment</td></tr>
- <tr><td><link id="Execlp"/></td><td>Search in path and execute process with command list</td></tr>
- <tr><td><link id="Execv"/></td><td>Execute process</td></tr>
- <tr><td><link id="Execve"/></td><td>Execute process with environment</td></tr>
- <tr><td><link id="Execvp"/></td><td>Search in path and execute process</td></tr>
- <tr><td><link id="Fork"/></td><td>Spawn child process</td></tr>
- <tr><td><link id="GetEGid"/></td><td>Get effective group id</td></tr>
- <tr><td><link id="GetEnv"/></td><td>Get environment variable</td></tr>
- <tr><td><link id="GetEUid"/></td><td>Get effective user id</td></tr>
- <tr><td><link id="GetGid"/></td><td>Get group id</td></tr>
- <tr><td><link id="GetPid"/></td><td>Get process id</td></tr>
- <tr><td><link id="GetPPid"/></td><td>Get parent process id</td></tr>
- <tr><td><link id="GetPriority"/></td><td>Get process priority</td></tr>
- <tr><td><link id="GetUid"/></td><td>Get user id</td></tr>
- <tr><td><link id="Nice"/></td><td>Change priority of process</td></tr>
- <tr><td><link id="SetPriority"/></td><td>Change priority of process</td></tr>
- <tr><td><link id="Shell"/></td><td>Execute shell command</td></tr>
- <tr><td><link id="WaitPid"/></td><td>Wait for child process to terminate</td></tr>
- </table>
- </descr>
- </topic>
- <topic name="SignalRoutines">
- <short>Signals</short>
- <descr>
- <p>
- Functions for managing and responding to signals.
- </p>
- <table>
- <th><td>Name</td><td>Description</td></th>
- <tr><td><link id="Alarm"/></td><td>Send alarm signal to self</td></tr>
- <tr><td><link id="Kill"/></td><td>Send arbitrary signal to process</td></tr>
- <tr><td><link id="pause"/></td><td>Wait for signal to arrive</td></tr>
- <tr><td><link id="SigAction"/></td><td>Set signal action</td></tr>
- <tr><td><link id="Signal"/></td><td>Set signal action</td></tr>
- <tr><td><link id="SigPending"/></td><td>See if signals are waiting</td></tr>
- <tr><td><link id="SigProcMask"/></td><td>Set signal processing mask</td></tr>
- <tr><td><link id="SigRaise"/></td><td>Send signal to self</td></tr>
- <tr><td><link id="SigSuspend"/></td><td>Sets signal mask and waits for signal</td></tr>
- <tr><td><link id="NanoSleep"/></td><td>Waits for a specific amount of time</td></tr>
- </table>
- </descr>
- </topic>
- <topic name="SysInfoRoutines">
- <short>System information</short>
- <descr>
- <p>
- Functions for retrieving system information such as date and time.
- </p>
- <table>
- <th><td>Name</td><td>Description</td></th>
- <tr><td><link id="GetDate"/></td><td>Return system date</td></tr>
- <tr><td><link id="GetDateTime"/></td><td>Return system date and time</td></tr>
- <tr><td><link id="GetDomainName"/></td><td>Return system domain name</td></tr>
- <tr><td><link id="GetEpochTime"/></td><td>Return epoch time</td></tr>
- <tr><td><link id="GetHostName"/></td><td>Return system host name</td></tr>
- <tr><td><link id="GetLocalTimezone"/></td><td>Return system timezone</td></tr>
- <tr><td><link id="GetTime"/></td><td>Return system time</td></tr>
- <tr><td><link id="GetTimeOfDay"/></td><td>Return system time</td></tr>
- <tr><td><link id="GetTimezoneFile"/></td><td>Return name of timezone file</td></tr>
- <tr><td><link id="ReadTimezoneFile"/></td><td>Read timezone file contents</td></tr>
- <tr><td><link id="SysInfo"/></td><td>Return general system information</td></tr>
- <tr><td><link id="Uname"/></td><td>Return system information</td></tr>
- </table>
- </descr>
- </topic>
- <topic name="TerminalRoutines">
- <short>Terminal functions</short>
- <descr>
- <p>
- Functions for controlling the terminal to which the process is connected.
- </p>
- <table>
- <th><td>Name</td><td>Description</td></th>
- <tr><td><link id="CFMakeRaw"/></td><td>Set terminal to raw mode</td></tr>
- <tr><td><link id="CFSetISpeed"/></td><td>Set terminal reading speed</td></tr>
- <tr><td><link id="CFSetOSpeed"/></td><td>Set terminal writing speed</td></tr>
- <tr><td><link id="IOCtl"/></td><td>General IO control call</td></tr>
- <tr><td><link id="IsATTY"/></td><td>See if filedescriptor is a terminal</td></tr>
- <tr><td><link id="TCDrain"/></td><td>Wait till all output was written</td></tr>
- <tr><td><link id="TCFlow"/></td><td>Suspend transmission or receipt of data</td></tr>
- <tr><td><link id="TCFlush"/></td><td>Discard data written to terminal</td></tr>
- <tr><td><link id="TCGetAttr"/></td><td>Get terminal attributes</td></tr>
- <tr><td><link id="TCGetPGrp"/></td><td>Return PID of foreground process</td></tr>
- <tr><td><link id="TCSendBreak"/></td><td>Send data for specific time</td></tr>
- <tr><td><link id="TCSetAttr"/></td><td>Set terminal attributes</td></tr>
- <tr><td><link id="TCSetPGrp"/></td><td>Set foreground process</td></tr>
- <tr><td><link id="TTYName"/></td><td>Name of tty file</td></tr>
- </table>
- </descr>
- </topic>
- <topic name="AuxiliaryRoutines">
- <short>Utility routines</short>
- <descr>
- <p>
- Auxiliary functions that are useful in connection with the other functions.
- </p>
- <table>
- <th><td>Name</td><td>Description</td></th>
- <tr><td><link id="CreateShellArgV"/></td><td>Create an array of pchars from string</td></tr>
- <tr><td><link id="EpochToLocal"/></td><td>Convert epoch time to local time</td></tr>
- <tr><td><link id="FD_Clr"/></td><td>Clear item of select filedescriptors</td></tr>
- <tr><td><link id="FD_IsSet"/></td><td>Check item of select filedescriptors</td></tr>
- <tr><td><link id="FD_Set"/></td><td>Set item of select filedescriptors</td></tr>
- <tr><td><link id="FD_ZERO"/></td><td>Clear all items in select filedecriptors</td></tr>
- <tr><td><link id="LocalToEpoch"/></td><td>Convert local time to epoch time</td></tr>
- <tr><td><link id="MMap"/></td><td>Map a file into memory</td></tr>
- <tr><td><link id="MUnMap"/></td><td>Unmap previously mapped memory file</td></tr>
- <tr><td><link id="Octal"/></td><td>Convert octal to digital</td></tr>
- <tr><td><link id="S_ISBLK"/></td><td>Check file mode for block device</td></tr>
- <tr><td><link id="S_ISCHR"/></td><td>Check file mode for character device</td></tr>
- <tr><td><link id="S_ISDIR"/></td><td>Check file mode for directory</td></tr>
- <tr><td><link id="S_ISFIFO"/></td><td>Check file mode for FIFO</td></tr>
- <tr><td><link id="S_ISLNK"/></td><td>Check file mode for symboloc link</td></tr>
- <tr><td><link id="S_ISREG"/></td><td>Check file mode for regular file</td></tr>
- <tr><td><link id="S_ISSOCK"/></td><td>Check file mode for socket</td></tr>
- <tr><td><link id="StringToPPchar"/></td><td>Create an array of pchars from string</td></tr>
- </table>
- </descr>
- </topic>
- <element name="Access">
- <short>Check file access</short>
- <descr>
- <p>
- <var>Access</var> tests user's access rights on the specified file.
- <var>Mode</var> is a mask existing of one or more of the following:
- </p>
- <dl>
- <dt>R_OK</dt><dd>User has read rights.</dd>
- <dt>W_OK</dt><dd>User has write rights.</dd>
- <dt>X_OK</dt><dd>User has execute rights.</dd>
- <dt>F_OK</dt><dd>File exists.</dd>
- </dl>
- <p>
- The test is done with the real user ID, instead of the effective user ID.
- If access is denied, or an error occurred, <var>False</var> is returned.
- </p>
- </descr>
- <errors>
- <p>
- <var>LinuxError</var> is used to report errors:
- </p>
- <dl>
- <dt>sys_eaccess</dt>
- <dd> The requested access is denied, either to the file or one
- of the directories in its path.</dd>
- <dt>sys_einval</dt>
- <dd><var>Mode</var> was incorrect.</dd>
- <dt>sys_enoent</dt>
- <dd>A directory component in <var>Path</var> doesn't exist or is a
- dangling symbolic link.</dd>
- <dt>sys_enotdir</dt>
- <dd> A directory component in <var>Path</var> is not a directory.</dd>
- <dt>sys_enomem</dt>
- <dd> Insufficient kernel memory.</dd>
- <dt>sys_eloop</dt>
- <dd> <var>Path</var> has a circular symbolic link.</dd>
- </dl>
- </errors>
- <seealso>
- <link id="Chown"/>
- <link id="Chmod"/>
- </seealso>
- <example file="olinuxex/ex26"/>
- </element>
- <element name="Alarm">
- <short>Schedule an alarm signal to be delivered</short>
- <descr>
- <p>
- <var>Alarm</var> schedules an alarm signal to be delivered to your process in <var>Sec</var>
- seconds. When <var>Sec</var> seconds have elapsed, Linux will send a <var>SIGALRM</var>
- signal to the current process. If <var>Sec</var> is zero, then no new alarm will
- be set. Whatever the value of <var>Sec</var>, any previous alarm is cancelled.
- </p>
- <p>
- The function returns the number of seconds till the previously scheduled
- alarm was due to be delivered, or zero if there was none.
- </p>
- </descr>
- <seealso>
- <link id="SigAction"/>
- </seealso>
- <example file="olinuxex/ex59"/>
- </element>
- <element name="AssignPipe">
- <short>Create a set of pipe file handlers</short>
- <descr>
- <p>
- <var>AssignePipe</var> creates a pipe, i.e. two file objects, one for input,
- one for output. What is written to <var>Pipe_out</var>, can be read from
- <var>Pipe_in</var>.
- </p>
- <p>
- This call is overloaded. The in and out pipe can take three forms:
- an typed or untyped file, a text file or a file descriptor.
- </p>
- <p>
- If a text file is passed then reading and writing from/to the pipe
- can be done through the usual <var>Readln(Pipe_in,...)</var> and
- <var>Writeln(Pipe_out,...)</var> procedures.
- </p>
- <p>
- The function returns <var>True</var> if everything went succesfully,
- <var>False</var> otherwise.
- </p>
- </descr>
- <errors>
- <p>
- In case the function fails and returns <var>False</var>, <var>LinuxError</var>
- is used to report errors:
- </p>
- <dl>
- <dt>sys_emfile</dt>
- <dd> Too many file descriptors for this process.</dd>
- <dt>sys_enfile</dt>
- <dd> The system file table is full.</dd>
- </dl>
- </errors>
- <seealso>
- <link id="POpen"/>
- <link id="MkFifo"/>
- </seealso>
- <example file="olinuxex/ex36"/>
- </element>
- <element name="AssignStream">
- <short>Assign stream for in and output to a program</short>
- <descr>
- <p>
- <var>AssignStream</var> creates a 2 or 3 pipes, i.e. two (or three) file objects, one for
- input, one for output,(and one for standard error) the other ends of these
- pipes are connected to standard input and output (and standard error) of
- <var>Prog</var>. <var>Prog</var> is the name of a program (including path) with options,
- which will be executed.
- </p>
- <p>
- What is written to <var>StreamOut</var>, will go to the standard input of
- <var>Prog</var>. Whatever is written by <var>Prog</var> to it's standard output
- can be read from <var>StreamIn</var>.
- Whatever is written by <var>Prog</var> to it's standard error read from
- <var>StreamErr</var>, if present.
- </p>
- <p>
- Reading and writing happens through the usual <var>Readln(StreamIn,...)</var> and
- <var>Writeln (StreamOut,...)</var> procedures.
- </p>
- <remark>
- You should <em> not</em> use <var>Reset</var> or <var>Rewrite</var> on a
- file opened with <var>POpen</var>. This will close the file before re-opening
- it again, thereby closing the connection with the program.
- </remark>
- <p>
- The function returns the process ID of the spawned process, or -1 in case of
- error.
- </p>
- </descr>
- <errors>
- <p>
- In case of error (return value -1) <var>LinuxError</var> is used to report
- errors:
- </p>
- <dl>
- <dt>sys_emfile</dt>
- <dd> Too many file descriptors for this process.</dd>
- <dt>sys_enfile</dt>
- <dd> The system file table is full.</dd>
- </dl>
- <p>
- Other errors include the ones by the fork and exec programs
- </p>
- </errors>
- <seealso>
- <link id="AssignPipe"/>
- <link id="POpen"/>
- </seealso>
- <example file="olinuxex/ex38"/>
- </element>
- <element name="BaseName">
- <short>Return basename of a file</short>
- <descr>
- <p>
- Returns the filename part of <var>Path</var>, stripping off <var>Suf</var> if it
- exists.
- The filename part is the whole name if <var>Path</var> contains no slash,
- or the part of <var>Path</var> after the last slash.
- The last character of the result is not a slash, unless the directory is the
- root directory.
- </p>
- </descr>
- <errors>
- None.
- </errors>
- <seealso>
- <link id="DirName"/>
- <link id="FExpand"/>
- </seealso>
- <example file="olinuxex/ex48"/>
- </element>
- <element name="CFMakeRaw">
- <short>Sets flags in <link id="Termios"/> record.</short>
- <descr>
- <p>
- <var>CFMakeRaw</var>
- sets the flags in the <var>Termios</var> structure <var>Tios</var> to a state so that
- the terminal will function in Raw Mode.
- </p>
- <p>
- For an example, see <link id="TCGetAttr"/>.
- </p>
- </descr>
- <errors>
- None.
- </errors>
- <seealso>
- <link id="CFSetOSpeed"/>
- <link id="CFSetISpeed"/>
- </seealso>
- </element>
- <element name="CFSetISpeed">
- <short>Set input baud rate in <link id="Termios"/> record</short>
- <descr>
- <var>CFSetISpeed</var>
- Sets the input baudrate in the <var>TermIOS</var> structure <var>Tios</var> to
- <var>Speed</var>.
- </descr>
- <errors>
- None.
- </errors>
- <seealso>
- <link id="CFSetOSpeed"/>
- <link id="CFMakeRaw"/>
- </seealso>
- </element>
- <element name="CFSetOSpeed">
- <short>Set output baud rate in <link id="Termios"/> record</short>
- <descr>
- <var>CFSetOSpeed</var>
- Sets the output baudrate in the <var>Termios</var> structure <var>Tios</var> to
- <var>Speed</var>.
- </descr>
- <errors>
- None.
- </errors>
- <seealso>
- <link id="CFSetISpeed"/>
- <link id="CFMakeRaw"/>
- </seealso>
- </element>
- <element name="Chown">
- <short>Change owner of file</short>
- <descr>
- <var>Chown</var> sets the User ID and Group ID of the file in <var>Path</var> to
- <var>NewUid</var>, <var>NewGid</var>
- The function returns <var>True</var> if the call was succesfull, <var>False</var> if the call
- failed.
- </descr>
- <errors>
- <p>
- Errors are returned in <var>LinuxError</var>.
- </p>
- <dl>
- <dt>sys_eperm</dt>
- <dd> The effective UID doesn't match the ownership of the file,
- and is not zero. Owner or group were not specified correctly.</dd>
- <dt>sys_eaccess</dt>
- <dd> One of the directories in <var>Path</var> has no
- search (=execute) permission.</dd>
- <dt>sys_enoent</dt>
- <dd> A directory entry in <var>Path</var> does
- not exist or is a symbolic link pointing to a non-existent directory.</dd>
- <dt>sys_enomem</dt>
- <dd> Insufficient kernel memory.</dd>
- <dt>sys_erofs</dt>
- <dd> The file is on a read-only filesystem.</dd>
- <dt>sys_eloop</dt>
- <dd> <var>Path</var> has a reference to a circular
- symbolic link, i.e. a symbolic link, whose expansion points to itself.</dd>
- </dl>
- </errors>
- <seealso>
- <link id="Chmod"/>
- <link id="Access"/>
- </seealso>
- <example file="olinuxex/ex24"/>
- </element>
- <element name="Chmod">
- <short>Change file permission bits</short>
- <descr>
- <p>
- <var>Chmod</var>
- Sets the Mode bits of the file in <var>Path</var> to <var>NewMode</var>. Newmode can be
- specified by 'or'-ing the following:
- </p>
- <dl>
- <dt>S_ISUID</dt><dd> Set user ID on execution.</dd>
- <dt>S_ISGID</dt><dd> Set Group ID on execution.</dd>
- <dt>S_ISVTX</dt><dd> Set sticky bit.</dd>
- <dt>S_IRUSR</dt><dd> Read by owner.</dd>
- <dt>S_IWUSR</dt><dd> Write by owner.</dd>
- <dt>S_IXUSR</dt><dd> Execute by owner.</dd>
- <dt>S_IRGRP</dt><dd> Read by group.</dd>
- <dt>S_IWGRP</dt><dd> Write by group.</dd>
- <dt>S_IXGRP</dt><dd> Execute by group.</dd>
- <dt>S_IROTH</dt><dd> Read by others.</dd>
- <dt>S_IWOTH</dt><dd> Write by others.</dd>
- <dt>S_IXOTH</dt><dd> Execute by others.</dd>
- <dt>S_IRWXO</dt><dd> Read, write, execute by others.</dd>
- <dt>S_IRWXG</dt><dd> Read, write, execute by groups.</dd>
- <dt>S_IRWXU</dt><dd> Read, write, execute by user.</dd>
- </dl>
- </descr>
- <errors>
- <p>
- Errors are returned in <var>LinuxError</var>.
- </p>
- <dl>
- <dt>sys_eperm</dt>
- <dd> The effective UID doesn't match the ownership of the file,
- and is not zero. Owner or group were not specified correctly.</dd>
- <dt>sys_eaccess</dt>
- <dd> One of the directories in <var>Path</var> has no
- search (=execute) permission.</dd>
- <dt>sys_enoent</dt>
- <dd> A directory entry in <var>Path</var> does
- not exist or is a symbolic link pointing to a non-existent directory.</dd>
- <dt>sys_enomem</dt>
- <dd> Insufficient kernel memory.</dd>
- <dt>sys_erofs</dt>
- <dd> The file is on a read-only filesystem.</dd>
- <dt>sys_eloop</dt>
- <dd> <var>Path</var> has a reference to a circular
- symbolic link, i.e. a symbolic link, whose expansion points to itself.</dd>
- </dl>
- </errors>
- <seealso>
- <link id="Chown"/>
- <link id="Access"/>
- <link id="Octal"/>
- </seealso>
- <example file="olinuxex/ex23"/>
- </element>
- <element name="Clone">
- <short>Clone current process (create new thread)</short>
- <descr>
- <p>
- <var>Clone</var>
- creates a child process which is a copy of the parent process, just
- like <link id="Fork"/> does. In difference with <var>Fork</var>, however, the child
- process shares some parts of it's execution context with its parent, so it
- is suitable for the implementation of threads: many instances of a program
- that share the same memory.
- </p>
- <p>
- When the child process is created, it starts executing the function
- <var>Func</var>, and passes it <var>Args</var>. The return value of <var>Func</var> is
- either the explicit return value of the function, or the exit code of
- the child process.
- </p>
- <p>
- The <var>sp</var> pointer points to the memory reserved as stack space for the
- child process. This address should be the top of the memory block to be used
- as stack.
- </p>
- <p>
- The <var>Flags</var> determine the behaviour of the <var>Clone</var> call. The low
- byte of the Flags contains the number of the signal that will be sent to
- the parent when the child dies.
- This may be bitwise OR'ed with the following constants:
- </p>
- <dl>
- <dt>CLONE_VM</dt>
- <dd> Parent and child share the same memory space, including
- memory (un)mapped with subsequent <var>mmap</var> calls.</dd>
- <dt>CLONE_FS</dt>
- <dd> Parent and child have the same view of the filesystem;
- the <var>chroot</var>, <var>chdir</var> and <var>umask</var> calls affect both processes.</dd>
- <dt>CLONE_FILES</dt>
- <dd> the file descriptor table of parent and child is shared.</dd>
- <dt>CLONE_SIGHAND</dt>
- <dd> the parent and child share the same table of signal
- handlers. The signal masks are different, though.</dd>
- <dt>CLONE_PID</dt>
- <dd> PArent and child have the same process ID.</dd>
- </dl>
- <p>
- Clone returns the process ID in the parent process, and -1 if an error
- occurred.
- </p>
- </descr>
- <errors>
- <p>
- On error, -1 is returned to the parent, and no child is created.
- </p>
- <dl>
- <dt>sys_eagain</dt><dd>Too many processes are running.</dd>
- <dt>sys_enomem</dt><dd>Not enough memory to create child process.</dd>
- </dl>
- </errors>
- <seealso>
- <link id="Fork"/>
- </seealso>
- <example file="olinuxex/ex71"/>
- </element>
- <element name="CloseDir">
- <short>Close directory file descriptor</short>
- <descr>
- <p>
- <var>CloseDir</var> closes the directory pointed to by <var>p</var>.
- It returns zero if the directory was closed succesfully, -1 otherwise.
- </p>
- <p>
- For an example, see <link id="OpenDir"/>.
- </p>
- </descr>
- <errors>
- Errors are returned in LinuxError.
- </errors>
- <seealso>
- <link id="OpenDir"/>
- <link id="ReadDir"/>
- <link id="SeekDir"/>
- <link id="TellDir"/>
- </seealso>
- </element>
- <element name="CreateShellArgV">
- <short>Create an array of null-terminated strings</short>
- <descr>
- <p>
- <var>CreateShellArgV</var> creates an array of 3 <var>PChar</var> pointers that can
- be used as arguments to <var>ExecVE</var> the first elements in the array
- will contain <var>/bin/sh</var>, the second will contain <var>-c</var>, and the third
- will contain <var>prog</var>.
- </p>
- <p>
- The function returns a pointer to this array, of type <var>PPChar</var>.
- </p>
- </descr>
- <errors>
- None.
- </errors>
- <seealso>
- <link id="Shell"/>
- </seealso>
- <example file="olinuxex/ex61"/>
- </element>
- <element name="DirName">
- <short>Extract directory part from filename</short>
- <descr>
- <p>
- Returns the directory part of <var>Path</var>.
- The directory is the part of <var>Path</var> before the last slash,
- or empty if there is no slash.
- The last character of the result is not a slash, unless the directory is the
- root directory.
- </p>
- </descr>
- <errors>
- None.
- </errors>
- <seealso>
- <link id="BaseName"/>
- <link id="FExpand"/>
- </seealso>
- <example file="olinuxex/ex47"/>
- </element>
- <element name="Dup">
- <short>Duplicate a file handle</short>
- <descr>
- <p>
- Makes <var>NewFile</var> an exact copy of <var>OldFile</var>, after having flushed the
- buffer of <var>OldFile</var> in case it is a Text file or untyped file.
- Due to the buffering mechanism of Pascal, this has not the same functionality
- as the dup call in C. The internal Pascal buffers are not the same
- after this call, but when the buffers are flushed (e.g. after output),
- the output is sent to the same file.
- Doing an lseek will, however, work as in C, i.e. doing a lseek will change
- the fileposition in both files.
- </p>
- <p>
- The function returns <var>False</var> in case of an error, <var>True</var> if
- successful.
- </p>
- </descr>
- <errors>
- <p>
- In case of errors, <var>Linuxerror</var> is used to report errors.
- </p>
- <dl>
- <dt>sys_ebadf</dt><dd> <var>OldFile</var> hasn't been assigned.</dd>
- <dt>sys_emfile</dt><dd> Maximum number of open files for the process is reached.</dd>
- </dl>
- </errors>
- <seealso>
- <link id="Dup2"/>
- </seealso>
- <example file="olinuxex/ex31"/>
- </element>
- <element name="Dup2">
- <short>Duplicate one filehandle to another</short>
- <descr>
- <p>
- Makes <var>NewFile</var> an exact copy of <var>OldFile</var>, after having flushed the
- buffer of <var>OldFile</var> in the case of text or untyped files.
- </p>
- <p>
- <var>NewFile</var> can be an assigned file. If <var>newfile</var> was open, it is
- closed first. Due to the buffering mechanism of Pascal, this has not
- the same functionality as the <var>dup2</var> call in C. The internal Pascal
- buffers are not the same after this call, but when the buffers are flushed
- (e.g. after output), the output is sent to the same file.
- Doing an lseek will, however, work as in C, i.e. doing a lseek will change the
- fileposition in both files.
- </p>
- <p>
- The function returns <var>True</var> if succesful, false otherwise.
- </p>
- </descr>
- <errors>
- <p>
- In case of error, <var>Linuxerror</var> is used to report errors.
- </p>
- <dl>
- <dt>sys_ebadf</dt><dd> <var>OldFile</var> hasn't been assigned.</dd>
- <dt>sys_emfile</dt><dd> Maximum number of open files for the process is reached.</dd>
- </dl>
- </errors>
- <seealso>
- <link id="Dup"/>
- </seealso>
- <example file="olinuxex/ex32"/>
- </element>
- <element name="EpochToLocal">
- <short>Convert epoch time to local time</short>
- <descr>
- <p>
- Converts the epoch time (=Number of seconds since 00:00:00 , January 1,
- 1970, corrected for your time zone ) to local date and time.
- </p>
- <p>
- This function takes into account the timzeone settings of your system.
- </p>
- </descr>
- <errors>
- None
- </errors>
- <seealso>
- <link id="GetEpochTime"/>
- <link id="LocalToEpoch"/>
- <link id="GetTime"/>
- <link id="GetDate"/>
- </seealso>
- <example file="olinuxex/ex3"/>
- </element>
- <element name="Execl">
- <short>Execute process (using argument list)</short>
- <descr>
- Replaces the currently running program with the program, specified in
- <var>path</var>. Path is split into a command and it's options.
- The executable in <var>path</var> is NOT searched in the path.
- The current environment is passed to the program.
- On success, <var>execl</var> does not return.
- </descr>
- <errors>
- <p>
- Errors are reported in <var>LinuxError</var>:
- </p>
- <dl>
- <dt>sys_eacces</dt>
- <dd> File is not a regular file, or has no execute permission.
- A compononent of the path has no search permission.</dd>
- <dt>sys_eperm</dt>
- <dd> The file system is mounted <i>noexec</i>.</dd>
- <dt>sys_e2big</dt><dd> Argument list too big.</dd>
- <dt>sys_enoexec</dt><dd> The magic number in the file is incorrect.</dd>
- <dt>sys_enoent</dt><dd> The file does not exist.</dd>
- <dt>sys_enomem</dt>
- <dd> Not enough memory for kernel, or to split command line.</dd>
- <dt>sys_enotdir</dt>
- <dd> A component of the path is not a directory.</dd>
- <dt>sys_eloop</dt>
- <dd> The path contains a circular reference (via symlinks).</dd>
- </dl>
- </errors>
- <seealso>
- <link id="Execve"/>
- <link id="Execv"/>
- <link id="Execvp"/>
- <link id="Execle"/>
- <link id="Execlp"/>
- <link id="Fork"/>
- </seealso>
- <example file="olinuxex/ex10"/>
- </element>
- <element name="Execle">
- <short>Execute process (using argument list, environment)</short>
- <descr>
- <p>
- Replaces the currently running program with the program, specified in
- <var>path</var>. Path is split into a command and it's options.
- The executable in <var>path</var> is searched in the path, if it isn't
- an absolute filename.
- The environment in <var>ep</var> is passed to the program.
- On success, <var>execle</var> does not return.
- </p>
- </descr>
- <errors>
- <p>
- Errors are reported in <var>LinuxError</var>:
- </p>
- <dl>
- <dt>sys_eacces</dt>
- <dd> File is not a regular file, or has no execute permission.
- A compononent of the path has no search permission.</dd>
- <dt>sys_eperm</dt>
- <dd> The file system is mounted <i>noexec</i>.</dd>
- <dt>sys_e2big</dt><dd> Argument list too big.</dd>
- <dt>sys_enoexec</dt><dd> The magic number in the file is incorrect.</dd>
- <dt>sys_enoent</dt><dd> The file does not exist.</dd>
- <dt>sys_enomem</dt>
- <dd> Not enough memory for kernel, or to split command line.</dd>
- <dt>sys_enotdir</dt><dd> A component of the path is not a directory.</dd>
- <dt>sys_eloop</dt><dd> The path contains a circular reference (via symlinks).</dd>
- </dl>
- </errors>
- <seealso>
- <link id="Execve"/>
- <link id="Execv"/>
- <link id="Execvp"/>
- <link id="Execl"/>
- <link id="Execlp"/>
- <link id="Fork"/>
- </seealso>
- <example file="olinuxex/ex11"/>
- </element>
- <element name="Execlp">
- <short>Execute process (using argument list, environment; search path)</short>
- <descr>
- Replaces the currently running program with the program, specified in
- <var>path</var>. Path is split into a command and it's options.
- The executable in <var>path</var> is searched in the path, if it isn't
- an absolute filename.
- The current environment is passed to the program.
- On success, <var>execlp</var> does not return.
- </descr>
- <errors>
- <p>
- Errors are reported in <var>LinuxError</var>:
- </p>
- <dl>
- <dt>sys_eacces</dt>
- <dd> File is not a regular file, or has no execute permission.
- A compononent of the path has no search permission.</dd>
- <dt>sys_eperm</dt><dd> The file system is mounted <i>noexec</i>.</dd>
- <dt>sys_e2big</dt><dd> Argument list too big.</dd>
- <dt>sys_enoexec</dt><dd> The magic number in the file is incorrect.</dd>
- <dt>sys_enoent</dt><dd> The file does not exist.</dd>
- <dt>sys_enomem</dt><dd> Not enough memory for kernel, or to split command line.</dd>
- <dt>sys_enotdir</dt><dd> A component of the path is not a directory.</dd>
- <dt>sys_eloop</dt><dd> The path contains a circular reference (via symlinks).</dd>
- </dl>
- </errors>
- <seealso>
- <link id="Execve"/>
- <link id="Execv"/>
- <link id="Execvp"/>
- <link id="Execle"/>
- <link id="Execl"/>
- <link id="Fork"/>
- </seealso>
- <example file="olinuxex/ex12"/>
- </element>
- <element name="Execv">
- <short>Execute process</short>
- <descr>
- Replaces the currently running program with the program, specified in
- <var>path</var>.
- It gives the program the options in <var>args</var>.
- This is a pointer to an array of pointers to null-terminated
- strings. The last pointer in this array should be nil.
- The current environment is passed to the program.
- On success, <var>execv</var> does not return.
- </descr>
- <errors>
- <p>
- Errors are reported in <var>LinuxError</var>:
- </p>
- <dl>
- <dt>sys_eacces</dt>
- <dd> File is not a regular file, or has no execute permission.
- A compononent of the path has no search permission.</dd>
- <dt>sys_eperm</dt><dd> The file system is mounted <i>noexec</i>.</dd>
- <dt>sys_e2big</dt><dd> Argument list too big.</dd>
- <dt>sys_enoexec</dt><dd> The magic number in the file is incorrect.</dd>
- <dt>sys_enoent</dt><dd> The file does not exist.</dd>
- <dt>sys_enomem</dt><dd> Not enough memory for kernel.</dd>
- <dt>sys_enotdir</dt><dd> A component of the path is not a directory.</dd>
- <dt>sys_eloop</dt><dd> The path contains a circular reference (via symlinks).</dd>
- </dl>
- </errors>
- <seealso>
- <link id="Execve"/>
- <link id="Execvp"/>
- <link id="Execle"/>
- <link id="Execl"/>
- <link id="Execlp"/>
- <link id="Fork"/>
- </seealso>
- <example file="olinuxex/ex8"/>
- </element>
- <element name="Execve">
- <short>Execute process using environment</short>
- <descr>
- Replaces the currently running program with the program, specified in
- <var>path</var>.
- It gives the program the options in <var>args</var>, and the environment in
- <var>ep</var>. They are pointers to an array of pointers to null-terminated
- strings. The last pointer in this array should be nil.
- On success, <var>execve</var> does not return.
- </descr>
- <errors>
- <p>
- Errors are reported in <var>LinuxError</var>:
- </p>
- <dl>
- <dt>sys_eacces</dt>
- <dd> File is not a regular file, or has no execute permission.
- A compononent of the path has no search permission.</dd>
- <dt>sys_eperm</dt><dd> The file system is mounted <i>noexec</i>.</dd>
- <dt>sys_e2big</dt><dd> Argument list too big.</dd>
- <dt>sys_enoexec</dt><dd> The magic number in the file is incorrect.</dd>
- <dt>sys_enoent</dt><dd> The file does not exist.</dd>
- <dt>sys_enomem</dt><dd> Not enough memory for kernel.</dd>
- <dt>sys_enotdir</dt><dd> A component of the path is not a directory.</dd>
- <dt>sys_eloop</dt><dd> The path contains a circular reference (via symlinks).</dd>
- </dl>
- </errors>
- <seealso>
- <link id="Execve"/>
- <link id="Execv"/>
- <link id="Execvp"/>
- <link id="Execle"/>
- <link id="Execl"/>
- <link id="Execlp"/>
- <link id="Fork"/>
- </seealso>
- <example file="olinuxex/ex7"/>
- </element>
- <element name="Execvp">
- <short>Execute process, search path</short>
- <descr>
- Replaces the currently running program with the program, specified in
- <var>path</var>. The executable in <var>path</var> is searched in the path, if it isn't
- an absolute filename.
- It gives the program the options in <var>args</var>. This is a pointer to an array of pointers to null-terminated
- strings. The last pointer in this array should be nil.
- The current environment is passed to the program.
- On success, <var>execvp</var> does not return.
- </descr>
- <errors>
- <p>
- Errors are reported in <var>LinuxError</var>:
- </p>
- <dl>
- <dt>sys_eacces</dt>
- <dd> File is not a regular file, or has no execute permission.
- A compononent of the path has no search permission.</dd>
- <dt>sys_eperm</dt><dd> The file system is mounted <i>noexec</i>.</dd>
- <dt>sys_e2big</dt><dd> Argument list too big.</dd>
- <dt>sys_enoexec</dt><dd> The magic number in the file is incorrect.</dd>
- <dt>sys_enoent</dt><dd> The file does not exist.</dd>
- <dt>sys_enomem</dt><dd> Not enough memory for kernel.</dd>
- <dt>sys_enotdir</dt><dd> A component of the path is not a directory.</dd>
- <dt>sys_eloop</dt><dd> The path contains a circular reference (via symlinks).</dd>
- </dl>
- </errors>
- <seealso>
- <link id="Execve"/>
- <link id="Execv"/>
- <link id="Execle"/>
- <link id="Execl"/>
- <link id="Execlp"/>
- <link id="Fork"/>
- </seealso>
- <example file="olinuxex/ex9"/>
- </element>
- <element name="FD_ZERO">
- <short>Clear all file descriptors in set</short>
- <descr>
- <p>
- <var>FD_ZERO</var> clears all the filedescriptors in the file descriptor
- set <var>fds</var>.
- </p>
- <p>
- For an example, see <link id="Select"/>.
- </p>
- </descr>
- <errors>
- None.
- </errors>
- <seealso>
- <link id="Select"/>
- <link id="SelectText"/>
- <link id="GetFS"/>
- <link id="FD_Clr"/>
- <link id="FD_Set"/>
- <link id="FD_IsSet"/>
- </seealso>
- </element>
- <element name="FD_Clr">
- <short>Clears a filedescriptor in a set</short>
- <descr>
- <p>
- <var>FD_Clr</var> clears file descriptor <var>fd</var> in filedescriptor set <var>fds</var>.
- </p>
- <p>
- For an example, see <link id="Select"/>.
- </p>
- </descr>
- <errors>
- None.
- </errors>
- <seealso>
- <link id="Select"/>,
- <link id="SelectText"/>
- <link id="GetFS"/>
- <link id="FD_ZERO"/>
- <link id="FD_Set"/>
- <link id="FD_IsSet"/>
- </seealso>
- </element>
- <element name="FD_IsSet">
- <short>Check whether a filedescriptor is set</short>
- <descr>
- <p>
- <var>FD_Set</var> Checks whether file descriptor <var>fd</var> in filedescriptor set <var>fds</var>
- is set.
- </p>
- <p>
- For an example, see <link id="Select"/>.
- </p>
- </descr>
- <errors>
- None.
- </errors>
- <seealso>
- <link id="Select"/>
- <link id="SelectText"/>
- <link id="GetFS"/>
- <link id="FD_ZERO"/>
- <link id="FD_Clr"/>
- <link id="FD_Set"/>
- </seealso>
- </element>
- <element name="FD_Set">
- <short>Set a filedescriptor in a set</short>
- <descr>
- <p>
- <var>FD_Set</var> sets file descriptor <var>fd</var> in filedescriptor set <var>fds</var>.
- </p>
- <p>
- For an example, see <link id="Select"/>.
- </p>
- </descr>
- <errors>
- None.
- </errors>
- <seealso>
- <link id="Select"/>
- <link id="SelectText"/>
- <link id="GetFS"/>
- <link id="FD_ZERO"/>
- <link id="FD_Clr"/>
- <link id="FD_IsSet"/>
- </seealso>
- </element>
- <element name="fdClose">
- <short>Close file descriptor</short>
- <descr>
- <p>
- <var>fdClose</var> closes a file with file descriptor <var>Fd</var>. The function
- returns <var>True</var> if the file was closed successfully, <var>False</var>
- otherwise.
- </p>
- <p>
- For an example, see <link id="fdOpen"/>.
- </p>
- </descr>
- <errors>
- Errors are returned in LinuxError.
- </errors>
- <seealso>
- <link id="fdOpen"/>
- <link id="fdRead"/>
- <link id="fdWrite"/>
- <link id="fdTruncate"/>
- <link id="fdFlush"/>
- <link id="fdSeek"/>
- </seealso>
- </element>
- <element name="fdFlush">
- <short>Flush kernel file buffer</short>
- <descr>
- <p>
- <var>fdflush</var> flushes the Linux kernel file buffer, so the file is actually
- written to disk. This is NOT the same as the internal buffer, maintained by
- Free Pascal.
- The function returns <var>True</var> if the call was successful, <var>false</var> if
- an error occurred.
- </p>
- <p>
- For an example, see <link id="fdRead"/>.
- </p>
- </descr>
- <errors>
- Errors are returned in LinuxError.
- </errors>
- <seealso>
- <link id="fdOpen"/>
- <link id="fdClose"/>
- <link id="fdRead"/>
- <link id="fdWrite"/>
- <link id="fdTruncate"/>
- <link id="fdSeek"/>
- </seealso>
- </element>
- <element name="fdOpen">
- <short>Open file and return file descriptor</short>
- <descr>
- <p>
- <var>fdOpen</var> opens a file in <var>PathName</var> with flags <var>flags</var>
- One of the following:
- </p>
- <dl>
- <dt>Open_RdOnly</dt><dd>File is opened Read-only</dd>
- <dt>Open_WrOnly</dt><dd>File is opened Write-only</dd>
- <dt>Open_RdWr</dt><dd>File is opened Read-Write</dd>
- </dl>
- <p>
- The flags may be<var>OR</var>-ed with one of the following constants:
- </p>
- <dl>
- <dt>Open_Creat</dt><dd> File is created if it doesn't exist.</dd>
- <dt>Open_Excl</dt><dd> If the file is opened with <var>Open_Creat</var> and it
- already exists, the call wil fail.</dd>
- <dt>Open_NoCtty</dt><dd> If the file is a terminal device, it will NOT become
- the process' controlling terminal.</dd>
- <dt>Open_Trunc</dt><dd> If the file exists, it will be truncated.</dd>
- <dt>Open_Append</dt><dd> the file is opened in append mode. <em>Before each
- write</em>, the file pointer is positioned at the end of the file.</dd>
- <dt>Open_NonBlock</dt><dd> The file is opened in non-blocking mode. No operation
- on the file descriptor will cause the calling process to wait till.</dd>
- <dt>Open_NDelay</dt><dd> Idem as <var>Open_NonBlock</var></dd>
- <dt>Open_Sync</dt><dd> The file is opened for synchronous IO. Any write
- operation on the file will not return untill the data is physically written
- to disk.</dd>
- <dt>Open_NoFollow</dt><dd> if the file is a symbolic link, the open fails.
- (linux 2.1.126 and higher only)</dd>
- <dt>Open_Directory</dt><dd> if the file is not a directory, the open fails.
- (linux 2.1.126 and higher only)</dd>
- </dl>
- <p>
- <var>PathName</var> can be of type <var>PChar</var> or <var>String</var>.
- The optional <var>mode</var> argument specifies the permissions to set when opening
- the file. This is modified by the umask setting. The real permissions are
- <var>Mode and not umask</var>.
- The return value of the function is the filedescriptor, or a negative
- value if there was an error.
- </p>
- </descr>
- <errors>
- Errors are returned in LinuxError.
- </errors>
- <seealso>
- <link id="fdClose"/>
- <link id="fdRead"/>
- <link id="fdWrite"/>
- <link id="fdTruncate"/>
- <link id="fdFlush"/>
- <link id="fdSeek"/>
- </seealso>
- <example file="olinuxex/ex19"/>
- </element>
- <element name="fdRead">
- <short>Read data from file descriptor</short>
- <descr>
- <p>
- <var>fdRead</var> reads at most <var>size</var> bytes from the file descriptor
- <var>fd</var>, and stores them in <var>buf</var>.
- The function returns the number of bytes actually read, or -1 if
- an error occurred.
- No checking on the length of <var>buf</var> is done.
- </p>
- </descr>
- <errors>
- Errors are returned in LinuxError.
- </errors>
- <seealso>
- <link id="fdOpen"/>
- <link id="fdClose"/>
- <link id="fdWrite"/>
- <link id="fdTruncate"/>
- <link id="fdFlush"/>
- <link id="fdSeek"/>
- </seealso>
- <example file="olinuxex/ex20"/>
- </element>
- <element name="fdSeek">
- <short>Set file pointer position.</short>
- <descr>
- <p>
- <var>fdSeek</var> sets the current fileposition of file <var>fd</var> to
- <var>Pos</var>, starting from <var>SeekType</var>, which can be one of the following:
- </p>
- <dl>
- <dt>Seek_Set</dt><dd><var>Pos</var> is the absolute position in the file.</dd>
- <dt>Seek_Cur</dt><dd><var>Pos</var> is relative to the current position.</dd>
- <dt>Seek_end</dt><dd><var>Pos</var> is relative to the end of the file.</dd>
- </dl>
- <p>
- The function returns the new fileposition, or -1 of an error occurred.
- </p>
- <p>
- For an example, see <link id="fdOpen"/>.
- </p>
- </descr>
- <errors>
- Errors are returned in LinuxError.
- </errors>
- <seealso>
- <link id="fdOpen"/>
- <link id="fdWrite"/>
- <link id="fdClose"/>
- <link id="fdRead"/>
- <link id="fdTruncate"/>
- <link id="fdFlush"/>
- </seealso>
- </element>
- <element name="fdTruncate">
- <short>Truncate file on certain size.</short>
- <descr>
- <var>fdTruncate</var> sets the length of a file in <var>fd</var> on <var>size</var>
- bytes, where <var>size</var> must be less than or equal to the current length of
- the file in <var>fd</var>.
- The function returns <var>True</var> if the call was successful, <var>false</var> if
- an error occurred.
- </descr>
- <errors>
- Errors are returned in LinuxError.
- </errors>
- <seealso>
- <link id="fdOpen"/>
- <link id="fdClose"/>
- <link id="fdRead"/>
- <link id="fdWrite"/>
- <link id="fdFlush"/>
- <link id="fdSeek"/>
- </seealso>
- </element>
- <element name="fdWrite">
- <short>Write data to file descriptor</short>
- <descr>
- <p>
- <var>fdWrite</var> writes at most <var>size</var> bytes from <var>buf</var> to
- file descriptor <var>fd</var>.
- The function returns the number of bytes actually written, or -1 if an error
- occurred.
- </p>
- </descr>
- <errors>
- Errors are returned in LinuxError.
- </errors>
- <seealso>
- <link id="fdOpen"/>
- <link id="fdClose"/>
- <link id="fdRead"/>
- <link id="fdTruncate"/>
- <link id="fdSeek"/>
- <link id="fdFlush"/>
- </seealso>
- </element>
- <element name="FExpand">
- <short>Expand filename to fully qualified path</short>
- <descr>
- <var>FExpand</var> expands <var>Path</var> to a full path, starting from root,
- eliminating directory references such as . and .. from the result.
- </descr>
- <errors>
- None
- </errors>
- <seealso>
- <link id="BaseName"/>
- <link id="DirName"/>
- </seealso>
- <example file="olinuxex/ex45"/>
- </element>
- <element name="FLock">
- <short>Lock a file (advisory lock)</short>
- <descr>
- <p>
- <var>FLock</var> implements file locking. it sets or removes a lock on the file
- <var>F</var>. F can be of type <var>Text</var> or <var>File</var>, or it can be a linux
- filedescriptor (a longint)
- <var>Mode</var> can be one of the following constants :
- </p>
- <dl>
- <dt>LOCK_SH</dt><dd>sets a shared lock.</dd>
- <dt>LOCK_EX</dt><dd>sets an exclusive lock.</dd>
- <dt>LOCK_UN</dt><dd>unlocks the file.</dd>
- <dt>LOCK_NB</dt><dd>This can be OR-ed together with the other.
- If this is done the application doesn't block when locking.
- </dd>
- </dl>
- <p>
- The function returns <var>True</var> if successful, <var>False</var> otherwise.
- </p>
- </descr>
- <errors>
- If an error occurs, it is reported in <var>LinuxError</var>.
- </errors>
- <seealso>
- <link id="Fcntl"/>
- </seealso>
- </element>
- <element name="FNMatch">
- <short>Check whether filename matches wildcard specification</short>
- <descr>
- <p>
- <var>FNMatch</var> returns <var>True</var> if the filename in <var>Name</var>
- matches the wildcard pattern in <var>Pattern</var>, <var>False</var> otherwise.
- </p>
- <p>
- <var>Pattern</var> can contain the wildcards <var>*</var> (match zero or more
- arbitrary characters) or <var>?</var> (match a single character).
- </p>
- </descr>
- <errors>
- None.
- </errors>
- <seealso>
- <link id="FSearch"/>
- <link id="FExpand"/>
- </seealso>
- <example file="olinuxex/ex69"/>
- </element>
- <element name="FSearch">
- <short>Search for file in search path.</short>
- <descr>
- <var>FSearch</var> searches in <var>DirList</var>, a colon separated list of directories,
- for a file named <var>Path</var>. It then returns a path to the found file.
- </descr>
- <errors>
- An empty string if no such file was found.
- </errors>
- <seealso>
- <link id="BaseName"/>
- <link id="DirName"/>
- <link id="FExpand"/>
- <link id="FNMatch"/>
- </seealso>
- <example file="olinuxex/ex46"/>
- </element>
- <element name="FSplit">
- <short>Split filename into path, name and extension</short>
- <descr>
- <var>FSplit</var> splits a full file name into 3 parts : A <var>Path</var>, a
- <var>Name</var> and an extension (in <var>ext</var>).
- The extension is taken to be all letters after the last dot (.).
- </descr>
- <errors>
- None.
- </errors>
- <seealso>
- <link id="FSearch"/>
- </seealso>
- <example file="olinuxex/ex67"/>
- </element>
- <element name="FSStat">
- <short>Retrieve filesystem information.</short>
- <descr>
- <var>FSStat</var> returns in <var>Info</var> information about the filesystem on which the file
- <var>Path</var> resides, or on which the file with file descriptor <var>fd</var>
- resides.
- Info is of type <var>statfs</var>. The function returns <var>True</var> if the call
- was succesfull, <var>False</var> if the call failed.
- </descr>
- <errors>
- <p>
- <var>LinuxError</var> is used to report errors.
- </p>
- <dl>
- <dt>sys_enotdir</dt><dd> A component of <var>Path</var> is not a directory.</dd>
- <dt>sys_einval</dt><dd> Invalid character in <var>Path</var>.</dd>
- <dt>sys_enoent</dt><dd> <var>Path</var> does not exist.</dd>
- <dt>sys_eaccess</dt><dd> Search permission is denied for component in<var>Path</var>.</dd>
- <dt>sys_eloop</dt><dd> A circular symbolic link was encountered in <var>Path</var>.</dd>
- <dt>sys_eio</dt><dd> An error occurred while reading from the filesystem.</dd>
- </dl>
- </errors>
- <seealso>
- <link id="FStat"/>
- <link id="LStat"/>
- </seealso>
- <example file="olinuxex/ex30"/>
- </element>
- <element name="FStat">
- <short>Retrieve information about a file</short>
- <descr>
- <p>
- <var>FStat</var> gets information about the file specified in one of the
- following:
- </p>
- <dl>
- <dt>Path</dt><dd> a file on the filesystem. </dd>
- <dt>Fd</dt><dd> a valid file descriptor.</dd>
- <dt>F</dt><dd> an opened text file or untyped file.</dd>
- </dl>
- <p>
- and stores it in <var>Info</var>, which is of type <var>stat</var>.
- The function returns <var>True</var> if the call was succesfull,
- <var>False</var> if the call failed.
- </p>
- </descr>
- <errors>
- <p>
- <var>LinuxError</var> is used to report errors.
- </p>
- <dl>
- <dt>sys_enoent</dt><dd> <var>Path</var> does not exist.</dd>
- </dl>
- </errors>
- <seealso>
- <link id="FSStat"/>
- <link id="LStat"/>
- </seealso>
- <example file="olinuxex/ex28"/>
- </element>
- <element name="Fcntl">
- <short>File control operations.</short>
- <descr>
- <p>
- Read a file's attributes. <var>Fd</var> is an assigned file, or a valid file
- descriptor.
- <var>Cmd</var> speciefies what to do, and is one of the following:
- </p>
- <dl>
- <dt>F_GetFd</dt>
- <dd> Read the close_on_exec flag. If the low-order bit is 0, then
- the file will remain open across execve calls.</dd>
- <dt>F_GetFl</dt><dd>Read the descriptor's flags.</dd>
- <dt>F_GetOwn</dt><dd>Get the Process ID of the owner of a socket.</dd>
- <dt>F_SetFd</dt>
- <dd> Set the close_on_exec flag of <var>Fd</var>. (only the least
- siginificant bit is used).
- </dd>
- <dt>F_GetLk</dt>
- <dd> Return the <var>flock</var> record that prevents this process from
- obtaining the lock, or set the <var>l_type</var> field of the lock of there is no
- obstruction. Arg is a pointer to a flock record.
- </dd>
- <dt>F_SetLk</dt>
- <dd> Set the lock or clear it (depending on <var>l_type</var> in the
- <var>flock</var> structure). if the lock is held by another process, an error
- occurs.
- </dd>
- <dt>F_GetLkw</dt>
- <dd> Same as for <b>F_Setlk</b>, but wait until the lock is
- released.
- </dd>
- <dt>F_SetOwn</dt>
- <dd> Set the Process or process group that owns a socket.
- </dd>
- </dl>
- </descr>
- <errors>
- <p>
- <var>LinuxError</var> is used to report errors.
- </p>
- <dl>
- <dt>sys_ebadf</dt><dd> <var>Fd</var> has a bad file descriptor.</dd>
- <dt>sys_eagain or sys_eaccess</dt><dd> For <b>F_SetLk</b>, if the lock is
- held by another process.</dd>
- </dl>
- </errors>
- </element>
- <element name="Fork">
- <short>Create child process</short>
- <descr>
- <var>Fork</var> creates a child process which is a copy of the parent process.
- <var>Fork</var> returns the process ID in the parent process, and zero in the child's
- process. (you can get the parent's PID with <link id="GetPPid"/>).
- </descr>
- <errors>
- <p>
- On error, -1 is returned to the parent, and no child is created.
- </p>
- <dl>
- <dt>sys_eagain</dt><dd> Not enough memory to create child process.
- </dd>
- </dl>
- </errors>
- <seealso>
- <link id="Execve"/>
- <link id="Clone"/>
- </seealso>
- </element>
- <element name="FRename">
- <short>Rename file</short>
- <descr>
- <p>
- <var>FRename</var> renames the file <var>OldName</var> to <var>NewName</var>. <var>NewName</var>
- can be in a different directory than <var>OldName</var>, but it cannot be on
- another partition (device). Any existing file on the new location will be replaced.
- </p>
- <p>
- If the operation fails, then the <var>OldName</var> file will be preserved.
- </p>
- <p>
- The function returns <var>True</var> on succes, <var>False</var> on failure.
- </p>
- </descr>
- <errors>
- <p>
- On error, errors are reported in <var>LinuxError</var>. Possible errors include:
- </p>
- <dl>
- <dt>sys_eisdir</dt>
- <dd><var>NewName</var> exists and is a directory, but <var>OldName</var> is not a directory.</dd>
- <dt>sys_exdev</dt>
- <dd><var>NewName</var> and <var>OldName</var> are on different devices.</dd>
- <dt>sys_enotempty or sys_eexist</dt>
- <dd><var>NewName</var> is an existing, non-empty directory. </dd>
- <dt>sys_ebusy</dt>
- <dd><var>OldName</var> or <var>NewName</var> is a directory and is in use by another process.</dd>
- <dt>sys_einval</dt>
- <dd><var>NewName</var> is part of <var>OldName</var>.</dd>
- <dt>sys_emlink</dt>
- <dd><var>OldPath</var> or <var>NewPath</var> already have tha maximum
- amount of links pointing to them.</dd>
- <dt>sys_enotdir</dt>
- <dd>part of <var>OldName</var> or <var>NewName</var> is not directory.</dd>
- <dt>sys_efault</dt>
- <dd>For the <var>pchar</var> case: One of the pointers points to
- an invalid address.</dd>
- <dt>sys_eaccess</dt>
- <dd>access is denied when attempting to move the file.</dd>
- <dt>sys_enametoolong</dt>
- <dd> Either <var>OldName</var> or <var>NewName</var> is too long.</dd>
- <dt>sys_enoent</dt>
- <dd>a directory component in <var>OldName</var> or <var>NewName</var>
- didn't exist.</dd>
- <dt>sys_enomem</dt>
- <dd>not enough kernel memory.</dd>
- <dt>sys_erofs</dt>
- <dd><var>NewName</var> or <var>OldName</var> is on a read-only file system.</dd>
- <dt>sys_eloop</dt>
- <dd> too many symbolic links were encountered trying to expand
- <var>OldName</var> or <var>NewName</var></dd>
- <dt>sys_enospc</dt>
- <dd> the filesystem has no room for the new directory entry.</dd>
- </dl>
- </errors>
- <seealso>
- <link id="UnLink"/>
- </seealso>
- </element>
- <element name="GetDate">
- <short>Return the system date</short>
- <descr>
- Returns the current date.
- </descr>
- <errors>
- None
- </errors>
- <seealso>
- <link id="GetEpochTime"/>
- <link id="GetTime"/>
- <link id="GetDateTime"/>
- <link id="EpochToLocal"/>
- </seealso>
- <example file="olinuxex/ex6"/>
- </element>
- <element name="GetDateTime">
- <short>Return system date and time</short>
- <descr>
- Returns the current date and time. The time is corrected for the local time
- zone. This procedure is equivalent to the <link id="GetDate"/> and <var>GetTime</var>
- calls.
- </descr>
- <errors>
- None
- </errors>
- <seealso>
- <link id="GetEpochTime"/>
- <link id="GetTime"/>
- <link id="EpochToLocal"/>
- <link id="GetDate"/>
- </seealso>
- <example file="olinuxex/ex60"/>
- </element>
- <element name="GetDomainName">
- <short>Return current domain name</short>
- <descr>
- Get the domain name of the machine on which the process is running.
- An empty string is returned if the domain is not set.
- </descr>
- <errors>
- None.
- </errors>
- <seealso>
- <link id="GetHostName"/>
- </seealso>
- <example file="olinuxex/ex39"/>
- </element>
- <element name="GetEGid">
- <short>Return effective group ID</short>
- <descr>
- Get the effective group ID of the currently running process.
- </descr>
- <errors>
- None.
- </errors>
- <seealso>
- <link id="GetGid"/>
- </seealso>
- <example file="olinuxex/ex18"/>
- </element>
- <element name="GetEUid">
- <short>Return effective user ID</short>
- <descr>
- Get the effective user ID of the currently running process.
- </descr>
- <errors>
- None.
- </errors>
- <seealso>
- <link id="GetUid"/>
- </seealso>
- <example file="olinuxex/ex17"/>
- </element>
- <element name="GetEnv">
- <short>Return value of environment variable.</short>
- <descr>
- <p>
- <var>GetEnv</var> returns the value of the environment variable in <var>P</var>.
- If the variable is not defined, nil is returned. The value of the environment
- variable may be the empty string.
- A PChar is returned to accomodate for strings longer than 255 bytes,
- <var>TERMCAP</var> and <var>LS_COLORS</var>, for instance.
- </p>
- </descr>
- <errors>
- None.
- </errors>
- <example file="olinuxex/ex41"/>
- </element>
- <element name="GetEpochTime">
- <short>Return the current unix time</short>
- <descr>
- <p>
- returns the number of seconds since 00:00:00 gmt, january 1, 1970.
- it is adjusted to the local time zone, but not to DST.
- </p>
- </descr>
- <errors>
- no errors
- </errors>
- <seealso>
- <link id="EpochToLocal"/>
- <link id="GetTime"/>
- </seealso>
- <example file="olinuxex/ex1"/>
- </element>
- <element name="GetFS">
- <short>Return file selector</short>
- <descr>
- <var>GetFS</var> returns the file selector that the kernel provided for your
- file. In principle you don' need this file selector. Only for some calls
- it is needed, such as the <link id="Select"/> call or so.
- </descr>
- <errors>
- In case the file was not opened, then -1 is returned.
- </errors>
- <seealso>
- <link id="Select"/>
- </seealso>
- <example file="olinuxex/ex34"/>
- </element>
- <element name="GetGid">
- <short>Return real group ID</short>
- <descr>
- Get the real group ID of the currently running process.
- </descr>
- <errors>
- None.
- </errors>
- <seealso>
- <link id="GetEGid"/>
- </seealso>
- <example file="olinuxex/ex18"/>
- </element>
- <element name="GetHostName">
- <short>Return host name</short>
- <descr>
- Get the hostname of the machine on which the process is running.
- An empty string is returned if hostname is not set.
- </descr>
- <errors>
- None.
- </errors>
- <seealso>
- <link id="GetDomainName"/>
- </seealso>
- <example file="olinuxex/ex40"/>
- </element>
- <element name="GetLocalTimezone">
- <short>Return local timzeone information</short>
- <descr>
- <p>
- <var>GetLocalTimeZone</var> returns the local timezone information. It also
- initializes the <var>TZSeconds</var> variable, which is used to correct the epoch time
- to local time.
- </p>
- <p>
- There should never be any need to call this function directly. It is called by the
- initialization routines of the Linux unit.
- </p>
- </descr>
- <seealso>
- <link id="GetTimezoneFile"/>
- <link id="ReadTimezoneFile"/>
- </seealso>
- </element>
- <element name="GetPid">
- <short>Return current process ID</short>
- <descr>
- Get the Process ID of the currently running process.
- </descr>
- <errors>
- None.
- </errors>
- <seealso>
- <link id="GetPPid"/>
- </seealso>
- <example file="olinuxex/ex16"/>
- </element>
- <element name="GetPPid">
- <short>Return parent process ID</short>
- <descr>
- Get the Process ID of the parent process.
- </descr>
- <errors>
- None.
- </errors>
- <seealso>
- <link id="GetPid"/>
- </seealso>
- <example file="olinuxex/ex16"/>
- </element>
- <element name="GetPriority">
- <short>Return process priority</short>
- <descr>
- <p>
- GetPriority returns the priority with which a process is running.
- Which process(es) is determined by the <var>Which</var> and <var>Who</var> variables.
- <var>Which</var> can be one of the pre-defined <var>Prio_Process</var>,
- <var>Prio_PGrp</var>, <var>Prio_User</var>, in which case <var>Who</var> is the process ID, Process group ID or
- User ID, respectively.
- </p>
- <p>
- For an example, see <link id="Nice"/>.
- </p>
- </descr>
- <errors>
- <p>
- Error checking must be done on LinuxError, since a priority can be negative.
- </p>
- <dl>
- <dt>sys_esrch</dt>
- <dd> No process found using <var>which</var> and <var>who</var>. </dd>
- <dt>sys_einval</dt>
- <dd> <var>Which</var> was not one of <var>Prio_Process</var>,
- <var>Prio_Grp</var> or <var>Prio_User</var>.</dd>
- </dl>
- </errors>
- <seealso>
- <link id="SetPriority"/>
- <link id="Nice"/>
- </seealso>
- </element>
- <element name="GetTime">
- <short>Return current system time</short>
- <descr>
- <p>
- Returns the current time of the day, adjusted to local time.
- Upon return, the parameters are filled with
- </p>
- <dl>
- <dt>hour</dt><dd> Hours since 00:00 today.</dd>
- <dt>min</dt><dd> minutes in current hour.</dd>
- <dt>sec</dt><dd> seconds in current minute.</dd>
- <dt>sec100</dt><dd> hundreds of seconds in current second.</dd>
- <dt>msec</dt><dd> milliseconds in current second.</dd>
- <dt>usec</dt><dd> microseconds in current second.</dd>
- </dl>
- </descr>
- <errors>
- None
- </errors>
- <seealso>
- <link id="GetEpochTime"/>
- <link id="GetDate"/>
- <link id="GetDateTime"/>
- <link id="EpochToLocal"/>
- </seealso>
- <example file="olinuxex/ex5"/>
- </element>
- <element name="GetTimeOfDay">
- <short>Return kernel time of day in GMT</short>
- <descr>
- <p>
- <var>GetTimeOfDay</var> returns the number of seconds since 00:00, January 1
- 1970, GMT in a <var>timeval</var> record. This time NOT corrected any way,
- not taking into account timezones, daylight savings time and so on.
- </p>
- <p>
- It is simply a wrapper to the kernel system call. To get the local time,
- <link id="GetTime"/>.
- </p>
- </descr>
- <errors>
- None.
- </errors>
- <seealso>
- <link id="GetTime"/>
- <link id="GetTimeOfDay"/>
- </seealso>
- </element>
- <element name="GetTimezoneFile">
- <short>Return name of timezone information file</short>
- <descr>
- <p>
- <var>GetTimezoneFile</var> returns the location of the current timezone file.
- The location of file is determined as follows:
- </p>
- <ol>
- <li>If <file>/etc/timezone</file> exists, it is read, and the contents of this
- file is returned. This should work on Debian systems.</li>
- <li>If <file>/usr/lib/zoneinfo/localtime</file> exists, then it is returned.
- (this file is a symlink to the timezone file on SuSE systems)</li>
- <li>If <file>/etc/localtime</file> exists, then it is returned.
- (this file is a symlink to the timezone file on RedHat systems)</li>
- </ol>
- </descr>
- <errors>
- If no file was found, an empty string is returned.
- </errors>
- <seealso>
- <link id="ReadTimezoneFile"/>
- </seealso>
- </element>
- <element name="GetUid">
- <short>Return current user ID</short>
- <descr>
- Get the real user ID of the currently running process.
- </descr>
- <errors>
- None.
- </errors>
- <seealso>
- <link id="GetEUid"/>
- </seealso>
- <example file="olinuxex/ex17"/>
- </element>
- <element name="Glob">
- <short>Find filenames matching a wildcard pattern</short>
- <descr>
- <p
- >Glob returns a pointer to a glob structure which contains all filenames which
- exist and match the pattern in <var>Path</var>.
- The pattern can contain wildcard characters, which have their
- usual meaning.
- </p>
- </descr>
- <errors>
- <p>
- Returns nil on error, and <var>LinuxError</var> is set.
- </p>
- <dl>
- <dt>sys_enomem</dt><dd> No memory on heap for glob structure.</dd>
- <dt>others</dt><dd> As returned by the opendir call, and sys_readdir.</dd>
- </dl>
- </errors>
- <seealso>
- <link id="GlobFree"/>
- </seealso>
- <example file="olinuxex/ex49"/>
- </element>
- <element name="GlobFree">
- <short>Free result of <link id="Glob"/> call</short>
- <descr>
- <p>
- Releases the memory, occupied by a pglob structure. <var>P</var> is set to nil.
- </p>
- <p>
- For an example, see <link id="Glob"/>.
- </p>
- </descr>
- <errors>
- None
- </errors>
- <seealso>
- <link id="Glob"/>
- </seealso>
- </element>
- <element name="IOCtl">
- <short>General kernel IOCTL call.</short>
- <descr>
- This is a general interface to the Unix/ linux ioctl call.
- It performs various operations on the filedescriptor <var>Handle</var>.
- <var>Ndx</var> describes the operation to perform.
- <var>Data</var> points to data needed for the <var>Ndx</var> function.
- The structure of this data is function-dependent, so we don't elaborate on
- this here.
- For more information on this, see various manual pages under linux.
- </descr>
- <errors>
- Errors are reported in LinuxError. They are very dependent on the used
- function, that's why we don't list them here
- </errors>
- <example file="olinuxex/ex54"/>
- </element>
- <element name="IOperm">
- <short>Set permission on IO ports</short>
- <descr>
- <p>
- <var>IOperm</var>
- sets permissions on <var>Num</var> ports starting with port <var>From</var> to
- <var>Value</var>. The function returns <var>True</var> if the call was successfull,
- <var>False</var> otherwise.
- </p>
- <p>
- Note:
- </p>
- <ul>
- <li> This works ONLY as root.</li>
- <li> Only the first <var>0x03ff</var> ports can be set.</li>
- <li> When doing a <link id="Fork"/>, the permissions are reset. When doing a
- <link id="Execve"/> they are kept.</li>
- </ul>
- </descr>
- <errors>
- Errors are returned in <var>LinuxError</var>
- </errors>
- </element>
- <element name="IsATTY">
- <short>Check if filehandle is a TTY (terminal)</short>
- <descr>
- <p>
- Check if the filehandle described by <var>f</var> is a terminal.
- <var>f</var> can be of type
- </p>
- <ol>
- <li><var>longint</var> for file handles;</li>
- <li><var>Text</var> for <var>text</var> variables such as <var>input</var> etc.</li>
- </ol>
- <p>
- Returns <var>True</var> if <var>f</var> is a terminal, <var>False</var> otherwise.
- </p>
- </descr>
- <errors>
- No errors are reported
- </errors>
- <seealso>
- <link id="IOCtl"/>
- <link id="TTYName"/>
- </seealso>
- </element>
- <element name="S_ISBLK">
- <short>Is file a block device</short>
- <descr>
- <var>S_ISBLK</var> checks the file mode <var>m</var> to see whether the file is a
- block device file. If so it returns <var>True</var>.
- </descr>
- <seealso>
- <link id="FStat"/>
- <link id="S_ISLNK"/>
- <link id="S_ISREG"/>
- <link id="S_ISDIR"/>
- <link id="S_ISCHR"/>
- <link id="S_ISFIFO"/>
- <link id="S_ISSOCK"/>
- </seealso>
- </element>
- <element name="S_ISCHR">
- <short>Is file a character device</short>
- <descr>
- <var>S_ISCHR</var> checks the file mode <var>m</var> to see whether the file is a
- character device file. If so it returns <var>True</var>.
- </descr>
- <seealso>
- <link id="FStat"/>
- <link id="S_ISLNK"/>
- <link id="S_ISREG"/>
- <link id="S_ISDIR"/>
- <link id="S_ISBLK"/>
- <link id="S_ISFIFO"/>
- <link id="S_ISSOCK"/>
- </seealso>
- </element>
- <element name="S_ISDIR">
- <short>Is file a directory</short>
- <descr>
- <var>S_ISDIR</var> checks the file mode <var>m</var> to see whether the file is a
- directory. If so it returns <var>True</var>
- </descr>
- <seealso>
- <link id="FStat"/>
- <link id="S_ISLNK"/>
- <link id="S_ISREG"/>
- <link id="S_ISCHR"/>
- <link id="S_ISBLK"/>
- <link id="S_ISFIFO"/>
- <link id="S_ISSOCK"/>
- </seealso>
- </element>
- <element name="S_ISFIFO">
- <short>Is file a FIFO</short>
- <descr>
- <var>S_ISFIFO</var> checks the file mode <var>m</var> to see whether the file is a
- fifo (a named pipe). If so it returns <var>True</var>.
- </descr>
- <seealso>
- <link id="FStat"/>
- <link id="S_ISLNK"/>
- <link id="S_ISREG"/>
- <link id="S_ISCHR"/>
- <link id="S_ISBLK"/>
- <link id="S_ISDIR"/>
- <link id="S_ISSOCK"/>
- </seealso>
- </element>
- <element name="S_ISLNK">
- <short>Is file a symbolic link</short>
- <descr>
- <var>S_ISLNK</var> checks the file mode <var>m</var> to see whether the file is a
- symbolic link. If so it returns <var>True</var>
- </descr>
- <seealso>
- <link id="FStat"/>
- <link id="S_ISFIFO"/>
- <link id="S_ISREG"/>
- <link id="S_ISCHR"/>
- <link id="S_ISBLK"/>
- <link id="S_ISDIR"/>
- <link id="S_ISSOCK"/>
- </seealso>
- <example file="olinuxex/ex53"/>
- </element>
- <element name="S_ISREG">
- <short>Is file a regular file</short>
- <descr>
- <var>S_ISREG</var> checks the file mode <var>m</var> to see whether the file is a
- regular file. If so it returns <var>True</var>
- </descr>
- <seealso>
- <link id="FStat"/>
- <link id="S_ISFIFO"/>
- <link id="S_ISLNK"/>
- <link id="S_ISCHR"/>
- <link id="S_ISBLK"/>
- <link id="S_ISDIR"/>
- <link id="S_ISSOCK"/>
- </seealso>
- </element>
- <element name="S_ISSOCK">
- <short>Is file a unix socket</short>
- <descr>
- <var>S_ISSOCK</var> checks the file mode <var>m</var> to see whether the file is a
- socket. If so it returns <var>True</var>.
- </descr>
- <seealso>
- <link id="FStat"/>
- <link id="S_ISFIFO"/>
- <link id="S_ISLNK"/>
- <link id="S_ISCHR"/>
- <link id="S_ISBLK"/>
- <link id="S_ISDIR"/>
- <link id="S_ISREG"/>
- </seealso>
- </element>
- <element name="Kill">
- <short>Send a signal to a process</short>
- <descr>
- Send a signal <var>Sig</var> to a process or process group. If <var>Pid</var>>0 then
- the signal is sent to <var>Pid</var>, if it equals -1, then the signal is sent to
- all processes except process 1. If <var>Pid</var><-1 then the signal is sent to
- process group -Pid.
- The return value is zero, except in case three, where the return value is the
- number of processes to which the signal was sent.
- </descr>
- <errors>
- <p>
- <var>LinuxError</var> is used to report errors:
- </p>
- <dl>
- <dt>sys_einval</dt><dd> An invalid signal is sent.</dd>
- <dt>sys_esrch</dt><dd> The <var>Pid</var> or process group don't exist.</dd>
- <dt>sys_eperm</dt><dd> The effective userid of the current process doesn't math
- the one of process <var>Pid</var>.</dd>
- </dl>
- </errors>
- <seealso>
- <link id="SigAction"/>
- <link id="Signal"/>
- </seealso>
- </element>
- <element name="LStat">
- <short>Return information about symbolic link. Do not follow the link</short>
- <descr>
- <var>LStat</var> gets information about the link specified in <var>Path</var>, and stores it in
- <var>Info</var>, which is of type <var>stat</var>. Contrary to <var>FStat</var>, it stores
- information about the link, not about the file the link points to.
- The function returns <var>True</var> if the call was succesfull, <var>False</var> if the call
- failed.
- </descr>
- <errors>
- <p>
- <var>LinuxError</var> is used to report errors.
- </p>
- <dl>
- <dt>sys_enoent</dt><dd> <var>Path</var> does not exist.</dd>
- </dl>
- </errors>
- <seealso>
- <link id="FStat"/>
- <link id="FSStat"/>
- </seealso>
- <example file="olinuxex/ex29"/>
- </element>
- <element name="Link">
- <short>Create a hard link to a file</short>
- <descr>
- <var>Link</var> makes <var>NewPath</var> point to the same file als <var>OldPath</var>. The two files
- then have the same inode number. This is known as a 'hard' link.
- The function returns <var>True</var> if the call was succesfull, <var>False</var> if the call
- failed.
- </descr>
- <errors>
- <p>
- Errors are returned in <var>LinuxError</var>.
- </p>
- <dl>
- <dt>sys_exdev</dt>
- <dd> <var>OldPath</var> and <var>NewPath</var> are not on the same filesystem.</dd>
- <dt>sys_eperm</dt><dd> The filesystem containing oldpath and newpath doesn't
- support linking files.</dd>
- <dt>sys_eaccess</dt>
- <dd>Write access for the directory containing <var>Newpath</var>
- is disallowed, or one of the directories in <var>OldPath</var> or {NewPath} has no
- search (=execute) permission.</dd>
- <dt>sys_enoent</dt>
- <dd>A directory entry in <var>OldPath</var> or <var>NewPath</var> does
- not exist or is a symbolic link pointing to a non-existent directory.</dd>
- <dt>sys_enotdir</dt>
- <dd> A directory entry in <var>OldPath</var> or <var>NewPath</var> is
- nor a directory.</dd>
- <dt>sys_enomem</dt><dd> Insufficient kernel memory.</dd>
- <dt>sys_erofs</dt><dd> The files are on a read-only filesystem.</dd>
- <dt>sys_eexist</dt><dd> <var>NewPath</var> already exists.</dd>
- <dt>sys_emlink</dt><dd> <var>OldPath</var> has reached maximal link count.</dd>
- <dt>sys_eloop</dt>
- <dd><var>OldPath</var> or <var>NewPath</var> has a reference to a circular
- symbolic link, i.e. a symbolic link, whose expansion points to itself.</dd>
- <dt>sys_enospc</dt>
- <dd> The device containing <var>NewPath</var> has no room for another
- entry.</dd>
- <dt>sys_eperm</dt>
- <dd><var>OldPath</var> points to . or .. of a directory.</dd>
- </dl>
- </errors>
- <seealso>
- <link id="SymLink"/>
- <link id="UnLink"/>
- </seealso>
- <example file="olinuxex/ex21"/>
- </element>
- <element name="LocalToEpoch">
- <short>Convert local time to epoch (unix) time</short>
- <descr>
- Converts the Local time to epoch time (=Number of seconds since 00:00:00 , January 1,
- 1970 ).
- </descr>
- <errors>
- None
- </errors>
- <seealso>
- <link id="GetEpochTime"/>
- <link id="EpochToLocal"/>
- <link id="GetTime"/>
- <link id="GetDate"/>
- </seealso>
- <example file="olinuxex/ex4"/>
- </element>
- <element name="MkFifo">
- <short>Create FIFO (named pipe) in file system</short>
- <descr>
- <var>MkFifo</var> creates named a named pipe in the filesystem, with name
- <var>PathName</var> and mode <var>Mode</var>.
- </descr>
- <errors>
- <p>
- <var>LinuxError</var> is used to report errors:
- </p>
- <dl>
- <dt>sys_emfile</dt><dd> Too many file descriptors for this process.</dd>
- <dt>sys_enfile</dt><dd> The system file table is full.</dd>
- </dl>
- </errors>
- <seealso>
- <link id="POpen"/>
- <link id="MkFifo"/>
- </seealso>
- </element>
- <element name="MMap">
- <short>Create memory map of a file</short>
- <descr>
- <p>
- <var>MMap</var> maps or unmaps files or devices into memory. The different fields
- of the argument <var>m</var> determine what and how the <var>mmap</var> maps this:
- </p>
- <dl>
- <dt>address</dt>
- <dd> Address where to mmap the device. This address is a hint,
- and may not be followed.</dd>
- <dt>size</dt><dd> Size (in bytes) of area to be mapped.</dd>
- <dt>prot</dt>
- <dd>
- <p> Protection of mapped memory. This is a OR-ed combination of the
- following constants:</p>
- <dl>
- <dt>PROT_EXEC</dt><dd> The memory can be executed.</dd>
- <dt>PROT_READ</dt><dd> The memory can be read.</dd>
- <dt>PROT_WRITE</dt><dd> The memory can be written.</dd>
- <dt>PROT_NONE</dt><dd> The memory can not be accessed.</dd>
- </dl>
- </dd>
- <dt>flags</dt><dd><p>Contains some options for the mmap call. It is an OR-ed
- combination of the following constants:</p>
- <dl>
- <dt>MAP_FIXED</dt>
- <dd> Do not map at another address than the given address. If the
- address cannot be used, <var>MMap</var> will fail.</dd>
- <dt>MAP_SHARED</dt>
- <dd> Share this map with other processes that map this object.</dd>
- <dt>MAP_PRIVATE</dt>
- <dd> Create a private map with copy-on-write semantics.</dd>
- <dt>MAP_ANONYMOUS</dt>
- <dd> <var>fd</var> does not have to be a file descriptor.</dd>
- </dl>
- <p>
- One of the options <var>MAP_SHARED</var> and <var>MAP_PRIVATE</var> must be present,
- but not both at the same time.
- </p>
- </dd>
- <dt>fd</dt><dd> File descriptor from which to map.</dd>
- <dt>offset</dt><dd> Offset to be used in file descriptor fd.</dd>
- </dl>
- <p>
- The function returns a pointer to the mapped memory, or a -1 in case of en
- error.
- </p>
- </descr>
- <errors>
- <p>
- On error, -1 is returned and LinuxError is set to the error code:
- </p>
- <dl>
- <dt>Sys_EBADF</dt>
- <dd> <var>fd</var> is not a valid file descriptor and
- <var>MAP_ANONYMOUS</var> was not specified.</dd>
- <dt>Sys_EACCES</dt>
- <dd><var>MAP_PRIVATE</var> was specified, but fd is not open for
- reading. Or <var>MAP_SHARED</var> was asked and <var>PROT_WRITE</var> is set, fd
- is not open for writing</dd>
- <dt>Sys_EINVAL</dt>
- <dd> One of the record fields <var>Start</var>, <var>length</var> or
- <var>offset</var> is invalid.</dd>
- <dt>Sys_ETXTBUSY</dt>
- <dd> <var>MAP_DENYWRITE</var> was set but the object specified
- by fd is open for writing.</dd>
- <dt>Sys_EAGAIN</dt>
- <dd> <var>fd</var> is locked, or too much memory is locked.</dd>
- <dt>Sys_ENOMEM</dt>
- <dd> Not enough memory for this operation.</dd>
- </dl>
- </errors>
- <seealso>
- <link id="MUnMap"/>
- </seealso>
- <example file="olinuxex/ex66"/>
- </element>
- <element name="MUnMap">
- <short>Unmap previously mapped memory block</short>
- <descr>
- <p>
- <var>MUnMap</var> unmaps the memory block of size <var>Size</var>, pointed to by
- <var>P</var>, which was previously allocated with <link id="MMap"/>.
- </p>
- <p>
- The function returns <var>True</var> if successful, <var>False</var> otherwise.
- </p>
- <p>
- For an example, see <link id="MMap"/>.
- </p>
- </descr>
- <errors>
- In case of error the function returns <var>False</var> and <var>LinuxError</var>
- is set to an error value. See <link id="MMap"/> for possible error values.
- </errors>
- <seealso>
- <link id="MMap"/>
- </seealso>
- </element>
- <element name="NanoSleep">
- <short>Suspend process for a short time</short>
- <descr>
- <p>
- <var>NanoSleep</var> suspends the process till a time period as specified
- in <var>req</var> has passed. Then the function returns. If the
- call was interrupted (e.g. by some signal) then the function may
- return earlier, and <var>rem</var> will contain the remaining time till the
- end of the intended period. In this case the return value will be
- -1, and <var>LinuxError</var> will be set to <var>EINTR</var>
- </p>
- <p>
- If the function returns without error, the return value is zero.
- </p>
- </descr>
- <errors>
- If the call was interrupted, -1 is returned, and <var>LinuxError</var> is set
- to <var>EINTR</var>. If invalid time values were specified, then -1 is returned
- and <var>LinuxError</var> is set to <var>EINVAL</var>.
- </errors>
- <seealso>
- <link id="Pause"/>
- <link id="Alarm"/>
- </seealso>
- <example file="olinuxex/ex72"/>
- </element>
- <element name="Nice">
- <short>Set process priority</short>
- <descr>
- <p>
- <var>Nice</var> adds <var>-N</var> to the priority of the running process. The lower the
- priority numerically, the less the process is favored.
- Only the superuser can specify a negative <var>N</var>, i.e. increase the rate at
- which the process is run.
- </p>
- </descr>
- <errors>
- <p>
- Errors are returned in <var>LinuxError</var>
- </p>
- <dl>
- <dt>sys_eperm</dt><dd> A non-superuser tried to specify a negative <var>N</var>, i.e.
- do a priority increase.</dd>
- </dl>
- </errors>
- <seealso>
- <link id="GetPriority"/>
- <link id="SetPriority"/>
- </seealso>
- <example file="olinuxex/ex15"/>
- </element>
- <element name="Octal">
- <short>Convert octal to decimal value</short>
- <descr>
- <p>
- <var>Octal</var> will convert a number specified as an octal number to it's
- decimal value.
- </p>
- <p>
- This is useful for the <link id="Chmod"/> call, where permissions are specified
- as octal numbers.
- </p>
- </descr>
- <errors>
- No checking is performed whether the given number is a correct Octal number.
- e.g. specifying <var>998</var> is possible; the result will be wrong in that
- case.
- </errors>
- <seealso>
- <link id="Chmod"/>
- </seealso>
- <example file="olinuxex/ex68"/>
- </element>
- <element name="OpenDir">
- <short>Open directory for reading</short>
- <descr>
- <var>OpenDir</var> opens the directory <var>f</var>, and returns a <var>pdir</var>
- pointer to a <var>Dir</var> record, which can be used to read the directory
- structure. If the directory cannot be opened, <var>nil</var> is returned.
- </descr>
- <errors>
- Errors are returned in LinuxError.
- </errors>
- <seealso>
- <link id="CloseDir"/>
- <link id="ReadDir"/>
- <link id="SeekDir"/>
- <link id="TellDir"/>
- </seealso>
- <example file="olinuxex/ex35"/>
- </element>
- <element name="pause">
- <short>Wait for a signal</short>
- <descr>
- <p>
- <var>Pause</var> puts the process to sleep and waits until the application
- receives a signal. If a signal handler is installed for the received
- sigal, the handler will be called and after that pause will return
- control to the process.
- </p>
- <p>
- For an example, see <link id="Alarm"/>.
- </p>
- </descr>
- <link id="Alarm"/>
- <link id="SigAction"/>
- </element>
- <element name="PClose">
- <short>Close file opened with <link id="POpen"/></short>
- <descr>
- <p>
- <var>PClose</var> closes a file opened with <link id="POpen"/>. It waits for the
- command to complete, and then returns the exit status of the command.
- </p>
- <p>
- For an example, see <link id="POpen"/>
- </p>
- </descr>
- <errors>
- <var>LinuxError</var> is used to report errors. If it is different from zero,
- the exit status is not valid.
- </errors>
- <seealso>
- <link id="POpen"/>
- </seealso>
- </element>
- <element name="POpen">
- <short>Pipe file to standard input/output of program</short>
- <descr>
- <var>POpen</var> runs the command specified in <var>Cmd</var>,
- and redirects the standard in or output of the
- command to the other end of the pipe <var>F</var>. The parameter <var>rw</var>
- indicates the direction of the pipe. If it is set to <var>'W'</var>, then F can
- be used to write data, which will then be read by the command from stdinput.
- If it is set to <var>'R'</var>, then the standard output of the command can be
- read from <var>F</var>. <var>F</var> should be reset or rewritten prior to using it.
- <var>F</var> can be of type <var>Text</var> or <var>File</var>.
- A file opened with <var>POpen</var> can be closed with <var>Close</var>, but also
- with <link id="PClose"/>. The result is the same, but <var>PClose</var> returns the
- exit status of the command <var>Cmd</var>.
- </descr>
- <errors>
- Errors are reported in <var>LinuxError</var> and are essentially those of the
- Execve, Dup and AssignPipe commands.
- </errors>
- <seealso>
- <link id="AssignPipe"/>
- <link id="PClose"/>
- </seealso>
- <example file="olinuxex/ex37"/>
- </element>
- <element name="ReadDir">
- <short>Read entry from directory</short>
- <descr>
- <p>
- <var>ReadDir</var> reads the next entry in the directory pointed to by <var>p</var>.
- It returns a <var>pdirent</var> pointer to a structure describing the entry.
- If the next entry can't be read, <var>Nil</var> is returned.
- </p>
- <p>
- For an example, see <link id="OpenDir"/>.
- </p>
- </descr>
- <errors>
- Errors are returned in LinuxError.
- </errors>
- <seealso>
- <link id="CloseDir"/>
- <link id="OpenDir"/>
- <link id="SeekDir"/>
- <link id="TellDir"/>,
- </seealso>
- </element>
- <element name="ReadLink">
- <short>Read destination of symbolic link</short>
- <descr>
- <p>
- <var>ReadLink</var> returns the file the symbolic link <var>name</var> is pointing
- to. The first form of this function accepts a buffer <var>linkname</var> of
- length <var>maxlen</var> where the filename will be stored. It returns the
- actual number of characters stored in the buffer.
- </p>
- <p>
- The second form of the function returns simply the name of the file.
- </p>
- </descr>
- <errors>
- <p>
- On error, the first form of the function returns -1; the second one returns
- an empty string. <var>LinuxError</var> is set to report errors:
- </p>
- <dl>
- <dt>SYS_ENOTDIR</dt>
- <dd>A part of the path in <var>Name</var> is not a directory.</dd>
- <dt>SYS_EINVAL</dt>
- <dd>maxlen is not positive, or the file is not a symbolic link.</dd>
- <dt>SYS_ENAMETOOLONG</dt>
- <dd>A pathname, or a component of a pathname, was too long.</dd>
- <dt>SYS_ENOENT</dt>
- <dd>the link <var>name</var> does not exist.</dd>
- <dt>SYS_EACCES</dt>
- <dd>No permission to search a directory in the path</dd>
- <dt>SYS_ELOOP</dt>
- <dd>Too many symbolic links were encountered in translating the pathname.</dd>
- <dt>SYS_EIO</dt>
- <dd>An I/O error occurred while reading from the file system.</dd>
- <dt>SYS_EFAULT</dt>
- <dd>The buffer is not part of the the process's memory space.</dd>
- <dt>SYS_ENOMEM</dt>
- <dd>Not enough kernel memory was available.</dd>
- </dl>
- </errors>
- <seealso>
- <link id="SymLink"/>
- </seealso>
- <example file="olinuxex/ex62"/>
- </element>
- <element name="ReadTimezoneFile">
- <short>Read the timezone file and initialize time routines</short>
- <descr>
- <p>
- <var>ReadTimeZoneFile</var> reads the timezone file <var>fn</var> and initializes
- the local time routines based on the information found there.
- </p>
- <p>
- There should be no need to call this function. The initialization routines
- of the <file>linux</file> unit call this routine at unit startup.
- </p>
- </descr>
- <errors>
- None.
- </errors>
- <seealso>
- <link id="GetTimezoneFile"/>
- <link id="GetLocalTimezone"/>
- </seealso>
- </element>
- <element name="SeekDir">
- <short>Seek to position in directory</short>
- <descr>
- <p>
- <var>SeekDir</var> sets the directory pointer to the <var>off</var>-th entry in the
- directory structure pointed to by <var>p</var>.
- </p>
- <p>
- For an example, see <link id="OpenDir"/>.
- </p>
- </descr>
- <errors>
- Errors are returned in LinuxError.
- </errors>
- <seealso>
- <link id="CloseDir"/>
- <link id="ReadDir"/>
- <link id="OpenDir"/>
- <link id="TellDir"/>
- </seealso>
- </element>
- <element name="Select">
- <short>Wait for events on file descriptors</short>
- <descr>
- <p>
- <var>Select</var> checks one of the file descriptors in the <var>FDSets</var> to see if its
- status changed.
- </p>
- <p>
- <var>readfds, writefds</var> and <var>exceptfds</var> are pointers to arrays of 256
- bits. If you want a file descriptor to be checked, you set the
- corresponding element in the array to 1. The other elements in the array
- must be set to zero. Three arrays are passed : The entries in <var>readfds</var>
- are checked to see if characters become available for reading. The entries
- in <var>writefds</var> are checked to see if it is OK to write to them, while
- entries in <var>exceptfds</var> are cheked to see if an exception occorred on
- them.
- </p>
- <p>
- You can use the functions <link id="FD_ZERO"/>
- <link id="FD_Clr"/>,
- <link id="FD_Set"/> or
- <link id="FD_IsSet"/> to manipulate the individual elements of a set.
- </p>
- <p>
- The pointers can be <var>Nil</var>.
- </p>
- <p>
- <var>N</var> is the largest index of a nonzero entry plus 1. (= the largest
- file-descriptor + 1).
- </p>
- <p>
- <var>TimeOut</var> can be used to set a time limit.
- If <var>TimeOut</var> can be two types :
- </p>
- <ol>
- <li><var>TimeOut</var> is of type <var>PTime</var> and contains a
- zero time, the call returns immediately. If <var>TimeOut</var> is <var>Nil</var>, the
- kernel will wait forever, or until a status changed. </li>
- <li><var>TimeOut</var> is of type <var>Longint</var>. If it is -1, this has the same
- effect as a <var>Timeout</var> of type <var>PTime</var> which is <var>Nil</var>.
- Otherwise, <var>TimeOut</var> contains a time in milliseconds.</li>
- </ol>
- <p>
- When the TimeOut is reached, or one of the file descriptors has changed,
- the <var>Select</var> call returns. On return, it will have modified the entries
- in the array which have actually changed, and it returns the number of
- entries that have been changed. If the timout was reached, and no decsriptor
- changed, zero is returned; The arrays of indexes are undefined after that.
- On error, -1 is returned.
- </p>
- </descr>
- <errors>
- <p>
- On error, the function returns -1, and Errors are reported in LinuxError :
- </p>
- <dl>
- <dt>SYS_EBADF</dt>
- <dd>An invalid descriptor was specified in one of the sets.</dd>
- <dt>SYS_EINTR</dt>
- <dd>A non blocked signal was caught.</dd>
- <dt>SYS_EINVAL</dt>
- <dd><var>N</var> is negative or too big.</dd>
- <dt>SYS_ENOMEM</dt>
- <dd><var>Select</var> was unable to allocate memory for its internal tables.</dd>
- </dl>
- </errors>
- <seealso>
- <link id="SelectText"/>
- <link id="GetFS"/>
- <link id="FD_ZERO"/>
- <link id="FD_Clr"/>
- <link id="FD_Set"/>
- <link id="FD_IsSet"/>
- </seealso>
- <example file="olinuxex/ex33"/>
- </element>
- <element name="SelectText">
- <short>Wait for event on typed ontyped file.</short>
- <descr>
- <var>SelectText</var> executes the <link id="Select"/> call on a file of type
- <var>Text</var>. You can specify a timeout in <var>TimeOut</var>. The SelectText call
- determines itself whether it should check for read or write, depending on
- how the file was opened : With <var>Reset</var> it is checked for reading, with
- <var>Rewrite</var> and <var>Append</var> it is checked for writing.
- </descr>
- <errors>
- See <link id="Select"/>. <var>SYS_EBADF</var> can also mean that the file wasn't
- opened.
- </errors>
- <seealso>
- <link id="Select"/>
- <link id="GetFS"/>
- </seealso>
- </element>
- <element name="SetPriority">
- <short>Set process priority</short>
- <descr>
- <p>
- SetPriority sets the priority with which a process is running.
- Which process(es) is determined by the <var>Which</var> and <var>Who</var> variables.
- <var>Which</var> can be one of the pre-defined constants:
- </p>
- <dl>
- <dt>Prio_Process</dt><dd><var>Who</var> is interpreted as process ID</dd>
- <dt>Prio_PGrp</dt><dd><var>Who</var> is interpreted as process group ID</dd>
- <dt>Prio_User</dt><dd><var>Who</var> is interpreted as user ID</dd>
- </dl>
- <p>
- <var>Prio</var> is a value in the range -20 to 20.
- </p>
- <p>
- For an example, see <link id="Nice"/>.
- </p>
- </descr>
- <errors>
- <p>
- Error checking must be done on LinuxError, since a priority can be negative.
- </p>
- <dl>
- <dt>sys_esrch</dt>
- <dd>No process found using <var>which</var> and <var>who</var>.</dd>
- <dt>sys_einval</dt>
- <dd> <var>Which</var> was not one of <var>Prio_Process</var>,
- <var>Prio_Grp</var> or <var>Prio_User</var>.</dd>
- <dt>sys_eperm</dt>
- <dd>A process was found, but neither its effective or real
- user ID match the effective user ID of the caller.</dd>
- <dt>sys_eacces</dt>
- <dd>A non-superuser tried to a priority increase.</dd>
- </dl>
- </errors>
- <seealso>
- <link id="GetPriority"/>
- <link id="Nice"/>
- </seealso>
- </element>
- <element name="Shell">
- <short>Execute and feed command to system shell </short>
- <descr>
- <var>Shell</var> invokes the bash shell (<file>/bin/sh</file>), and feeds it the
- command <var>Command</var> (using the <var>-c</var> option). The function then waits
- for the command to complete, and then returns the exit
- status of the command, or 127 if it could not complete the <link id="Fork"/>
- or <link id="Execve"/> calls.
- </descr>
- <errors>
- Errors are reported in LinuxError.
- </errors>
- <seealso>
- <link id="POpen"/>
- <link id="Fork"/>
- <link id="Execve"/>
- </seealso>
- <example file="olinuxex/ex56"/>
- </element>
- <element name="SigAction">
- <short>Install signal handler</short>
- <descr>
- <p>
- Changes the action to take upon receipt of a signal. <var>Act</var> and
- <var>Oldact</var> are pointers to a <var>SigActionRec</var> record.
- <var>SigNum</var> specifies the signal, and can be any signal except
- <b>SIGKILL</b> or <b>SIGSTOP</b>.
- </p>
- <p>
- If <var>Act</var> is non-nil, then the new action for signal <var>SigNum</var> is taken
- from it. If <var>OldAct</var> is non-nil, the old action is stored there.
- <var>Sa_Handler</var> may be <var>SIG_DFL</var> for the default action or
- <var>SIG_IGN</var> to ignore the signal.
- <var>Sa_Mask</var> Specifies which signals should be ignord during the execution
- of the signal handler.
- <var>Sa_Flags</var> Speciefies a series of flags which modify the behaviour of
- the signal handler. You can 'or' none or more of the following :
- </p>
- <dl>
- <dt>SA_NOCLDSTOP</dt>
- <dd>If signum is <b>SIGCHLD</b> do not receive notification when child processes stop.
- </dd>
- <dt>SA_ONESHOT or SA_RESETHAND</dt>
- <dd>Restore the signal action to the default
- state once the signal handler has been called.
- </dd>
- <dt>SA_RESTART</dt>
- <dd>For compatibility with BSD signals.</dd>
- <dt>SA_NOMASK or SA_NODEFER</dt>
- <dd>Do not prevent the signal from being received from within its own signal handler.
- </dd>
- </dl>
- </descr>
- <errors>
- <p>
- <var>LinuxError</var> is used to report errors.
- </p>
- <dl>
- <dt>sys_einval</dt>
- <dd>an invalid signal was specified, or it was <b>SIGKILL</b> or <b>SIGSTOP</b>. </dd>
- <dt>sys_efault</dt>
- <dd><var>Act,OldAct</var> point outside this process address space </dd>
- <dt>sys_eintr</dt><dd> System call was interrupted.</dd>
- </dl>
- </errors>
- <seealso>
- <link id="SigProcMask"/>
- <link id="SigPending"/>
- <link id="SigSuspend"/>
- <link id="Kill"/>
- </seealso>
- <example file="olinuxex/ex57"/>
- </element>
- <element name="SigPending">
- <short>Return set of currently pending signals</short>
- <descr>
- Sigpending allows the examination of pending signals (which have been raised
- while blocked.) The signal mask of pending signals is returned.
- </descr>
- <errors>
- None
- </errors>
- <seealso>
- <link id="SigAction"/>
- <link id="SigProcMask"/>
- <link id="SigSuspend"/>
- <link id="Signal"/>
- <link id="Kill"/>
- </seealso>
- </element>
- <element name="SigProcMask">
- <short>Set list of blocked signals</short>
- <descr>
- <p>
- Changes the list of currently blocked signals. The behaviour of the call
- depends on <var>How</var> :
- </p>
- <dl>
- <dt>SIG_BLOCK</dt>
- <dd>The set of blocked signals is the union of the current set
- and the <var>SSet</var> argument.</dd>
- <dt>SIG_UNBLOCK</dt>
- <dd>The signals in <var>SSet</var> are removed from the set of
- currently blocked signals.</dd>
- <dt>SIG_SETMASK</dt>
- <dd>The list of blocked signals is set so <var>SSet</var>.
- </dd>
- </dl>
- <p>
- If <var>OldSSet</var> is non-nil, then the old set is stored in it.
- </p>
- </descr>
- <errors>
- <p>
- <var>LinuxError</var> is used to report errors.
- </p>
- <dl>
- <dt>sys_efault</dt>
- <dd><var>SSet</var> or <var>OldSSet</var> point to an adress outside
- the range of the process.</dd>
- <dt>sys_eintr</dt>
- <dd> System call was interrupted.</dd>
- </dl>
- </errors>
- <seealso>
- <link id="SigAction"/>
- <link id="SigPending"/>
- <link id="SigSuspend"/>
- <link id="Kill"/>
- </seealso>
- </element>
- <element name="SigRaise">
- <short>Raise a signal (send to current process)</short>
- <descr>
- <var>SigRaise</var> sends a <var>Sig</var> signal to the current process.
- </descr>
- <errors>
- None.
- </errors>
- <seealso>
- <link id="Kill"/>
- <link id="GetPid"/>
- </seealso>
- <example file="olinuxex/ex65"/>
- </element>
- <element name="SigSuspend">
- <short>Set signal mask and suspend process till signal is received</short>
- <descr>
- SigSuspend temporarily replaces the signal mask for the process with the one
- given in <var>Mask</var>, and then suspends the process until a signal is received.
- </descr>
- <errors>
- None
- </errors>
- <seealso>
- <link id="SigAction"/>
- <link id="SigProcMask"/>
- <link id="SigPending"/>
- <link id="Signal"/>
- <link id="Kill"/>
- </seealso>
- </element>
- <element name="Signal">
- <short>Install signal handler (deprecated)</short>
- <descr>
- <p>
- <var>Signal</var> installs a new signal handler for signal <var>SigNum</var>. This call has
- the same functionality as the <b>SigAction</b> call.
- The return value for Signal is the old signal handler, or nil on error.
- </p>
- </descr>
- <errors>
- <p>
- <var>LinuxError</var> is used to report errors :
- </p>
- <dl>
- <dt>SIG_ERR</dt>
- <dd>An error occurred.</dd>
- </dl>
- </errors>
- <seealso>
- <link id="SigAction"/>
- <link id="Kill"/>
- </seealso>
- <example file="olinuxex/ex58"/>
- </element>
- <element name="StringToPPchar">
- <short>Split string in list of null-terminated strings</short>
- <descr>
- <p>
- <var>StringToPPChar</var> splits the string <var>S</var> in words, replacing any
- whitespace with zero characters. It returns a pointer to an array of pchars
- that point to the first letters of the words in <var>S</var>. This array is terminated
- by a <var>Nil</var> pointer.
- </p>
- <p>
- The function does <em> not</em> add a zero character to the end of the string
- unless it ends on whitespace.
- </p>
- <p>
- The function reserves memory on the heap to store the array of <var>PChar</var>;
- The caller is responsible for freeing this memory.
- </p>
- <p>
- This function can be called to create arguments for the various <var>Exec</var>
- calls.
- </p>
- </descr>
- <errors>
- None.
- </errors>
- <seealso>
- <link id="CreateShellArgV"/>
- <link id="Execve"/>
- <link id="Execv"/>
- </seealso>
- <example file="olinuxex/ex70"/>
- </element>
- <element name="SymLink">
- <short>Create a symbolic link</short>
- <descr>
- <p>
- <var>SymLink</var> makes <var>Newpath</var> point to the file in <var>OldPath</var>, which doesn't
- necessarily exist. The two files DO NOT have the same inode number.
- This is known as a 'soft' link.
- </p>
- <p>The permissions of the link are irrelevant, as they are not used when
- following the link. Ownership of the file is only checked in case of removal
- or renaming of the link.
- </p>
- <p>
- The function returns <var>True</var> if the call was succesfull, <var>False</var> if the call
- failed.
- </p>
- </descr>
- <errors>
- <p>
- Errors are returned in <var>LinuxError</var>.
- </p>
- <dl>
- <dt>sys_eperm</dt>
- <dd>The filesystem containing oldpath and newpath does not
- support linking files.</dd>
- <dt>sys_eaccess</dt>
- <dd>Write access for the directory containing <var>Newpath</var>
- is disallowed, or one of the directories in <var>OldPath</var> or
- <var>NewPath</var> has no search (=execute) permission.</dd>
- <dt>sys_enoent</dt>
- <dd>A directory entry in <var>OldPath</var> or <var>NewPath</var> does
- not exist or is a symbolic link pointing to a non-existent directory.</dd>
- <dt>sys_enotdir</dt>
- <dd>A directory entry in <var>OldPath</var> or <var>NewPath</var> is
- nor a directory.</dd>
- <dt>sys_enomem</dt><dd>Insufficient kernel memory.</dd>
- <dt>sys_erofs</dt><dd>The files are on a read-only filesystem.</dd>
- <dt>sys_eexist</dt><dd><var>NewPath</var> already exists.</dd>
- <dt>sys_eloop</dt>
- <dd> <var>OldPath</var> or <var>NewPath</var> has a reference to a circular
- symbolic link, i.e. a symbolic link, whose expansion points to itself.
- </dd>
- <dt>sys_enospc</dt>
- <dd>The device containing <var>NewPath</var> has no room for another entry.</dd>
- </dl>
- </errors>
- <seealso>
- <link id="Link"/>
- <link id="UnLink"/>
- <link id="ReadLink"/>
- </seealso>
- <example file="olinuxex/ex22"/>
- </element>
- <element name="SysInfo">
- <short>Return kernel system information</short>
- <descr>
- <p>
- <var>SysInfo</var> returns system information in <var>Info</var>. Returned information
- in <var>Info</var> includes:
- </p>
- <dl>
- <dt>uptime</dt><dd>Number of seconds since boot.</dd>
- <dt>loads</dt><dd>1, 5 and 15 minute load averages.</dd>
- <dt>totalram</dt><dd>total amount of main memory.</dd>
- <dt>freeram</dt><dd>amount of free memory.</dd>
- <dt>sharedram</dt><dd>amount of shared memory.</dd>
- <dt>bufferram</dt><dd>amount of memory used by buffers.</dd>
- <dt>totalswap</dt><dd>total amount of swapspace.</dd>
- <dt>freeswap</dt><dd>amount of free swapspace.</dd>
- <dt>procs</dt><dd>number of current processes.</dd>
- </dl>
- </descr>
- <errors>
- None.
- </errors>
- <seealso>
- <link id="Uname"/>
- </seealso>
- <example file="olinuxex/ex64"/>
- </element>
- <element name="TCDrain">
- <short>Terminal control: Wait till all data was transmitted</short>
- <descr>
- <p>
- <var>TCDrain</var> waits until all data to file descriptor <var>Fd</var> is transmitted.
- </p>
- <p>
- The function returns <var>True</var> if the call was succesfull, <var>False</var>
- otherwise.
- </p>
- </descr>
- <errors>
- Errors are reported in LinuxError
- </errors>
- <seealso>
- <link id="TCFlow"/>
- <link id="TCFlush"/>
- <link id="TCGetAttr"/>
- <link id="TCGetPGrp"/>
- <link id="TCSendBreak"/>
- <link id="TCSetAttr"/>
- <link id="TCSetPGrp"/>
- <link id="TTYName"/>
- <link id="IsATTY"/>
- </seealso>
- </element>
- <element name="TCFlow">
- <short>Terminal control: Suspend transmission of data</short>
- <descr>
- <p>
- <var>TCFlow</var> suspends/resumes transmission or reception of data to or from the file
- descriptor <var>Fd</var>, depending on the action <var>Act</var>.
- </p>
- <p>
- This can be one of the following pre-defined values:
- </p>
- <dl>
- <dt>TCOOFF</dt><dd>suspend reception/transmission</dd>
- <dt>TCOON</dt><dd>resume reception/transmission</dd>
- <dt>TCIOFF</dt><dd>transmit a stop character to stop input from the terminal</dd>
- <dt>TCION</dt><dd> transmit start to resume input from the terminal.</dd>
- </dl>
- <p>
- The function returns <var>True</var> if the call was succesfull, <var>False</var>
- otherwise.
- </p>
- </descr>
- <errors>
- Errors are reported in LinuxError.
- </errors>
- <seealso>
- <link id="TCDrain"/>
- <link id="TCFlush"/>
- <link id="TCGetAttr"/>
- <link id="TCGetPGrp"/>
- <link id="TCSendBreak"/>
- <link id="TCSetAttr"/>
- <link id="TCSetPGrp"/>
- <link id="TTYName"/>
- <link id="IsATTY"/>
- </seealso>
- </element>
- <element name="TCFlush">
- <short>Terminal control: Discard data buffer</short>
- <descr>
- <p>
- <var>TCFlush</var> discards all data sent or received to/from file descriptor
- <var>fd</var>. <var>QSel</var> indicates which queue should be discard.
- It can be one of the following pre-defined values :
- </p>
- <dl>
- <dt>TCIFLUSH</dt><dd>input buffer</dd>
- <dt>TCOFLUSH</dt><dd>output buffer</dd>
- <dt>TCIOFLUSH</dt><dd>both input and output buffers</dd>
- </dl>
- <p>
- The function returns <var>True</var> if the call was succesfull, <var>False</var>
- otherwise.
- </p>
- </descr>
- <errors>
- Errors are reported in LinuxError.
- </errors>
- <seealso>
- <link id="TCDrain"/>
- <link id="TCFlow"/>
- <link id="TCGetAttr"/>
- <link id="TCGetPGrp"/>
- <link id="TCSendBreak"/>
- <link id="TCSetAttr"/>
- <link id="TCSetPGrp"/>
- <link id="TTYName"/>
- <link id="IsATTY"/>
- </seealso>
- </element>
- <element name="TCGetAttr">
- <short>Terminal Control: Get terminal attributes</short>
- <descr>
- <var>TCGetAttr</var>
- gets the terminal parameters from the terminal referred to by the file
- descriptor <var>fd</var> and returns them in a <var>TermIOS</var> structure <var>tios</var>.
- The function returns <var>True</var> if the call was succesfull, <var>False</var>
- otherwise.
- </descr>
- <errors>
- Errors are reported in LinuxError
- </errors>
- <seealso>
- <link id="TCDrain"/>
- <link id="TCFlow"/>
- <link id="TCFlush"/>
- <link id="TCGetPGrp"/>
- <link id="TCSendBreak"/>
- <link id="TCSetAttr"/>
- <link id="TCSetPGrp"/>
- <link id="TTYName"/>
- <link id="IsATTY"/>
- </seealso>
- <example file="olinuxex/ex55"/>
- </element>
- <element name="TCGetPGrp">
- <short>Terminal control: Get process group</short>
- <descr>
- <var>TCGetPGrp</var>
- returns the process group ID of a foreground process group in <var>Id</var>
- The function returns <var>True</var> if the call was succesfull, <var>False</var>
- otherwise.
- </descr>
- <errors>
- Errors are reported in LinuxError
- </errors>
- <seealso>
- <link id="TCDrain"/>
- <link id="TCFlow"/>
- <link id="TCFlush"/>
- <link id="TCGetAttr"/>
- <link id="TCSendBreak"/>
- <link id="TCSetAttr"/>
- <link id="TCSetPGrp"/>
- <link id="TTYName"/>
- <link id="IsATTY"/>
- </seealso>
- </element>
- <element name="TCSendBreak">
- <short>Terminal control: Send break</short>
- <descr>
- <var>TCSendBreak</var>
- Sends zero-valued bits on an asynchrone serial connection decsribed by
- file-descriptor <var>Fd</var>, for duration <var>Duration</var>.
- The function returns <var>True</var> if the action was performed successfully,
- <var>False</var> otherwise.
- </descr>
- <errors>
- Errors are reported in LinuxError.
- </errors>
- <seealso>
- <link id="TCDrain"/>
- <link id="TCFlow"/>
- <link id="TCFlush"/>
- <link id="TCGetAttr"/>
- <link id="TCGetPGrp"/>
- <link id="TCSetAttr"/>
- <link id="TCSetPGrp"/>
- <link id="TTYName"/>
- <link id="IsATTY"/>
- </seealso>
- </element>
- <element name="TCSetAttr">
- <short>Terminal control: Set attributes</short>
- <descr>
- <p>
- <var>TCSetAttr</var> sets the terminal parameters you specify in a
- <var>TermIOS</var> structure<var>Tios</var> for the terminal
- referred to by the file descriptor <var>Fd</var>.
- </p>
- <p>
- <var>OptAct</var> specifies an optional action when the set need to be done,
- this could be one of the following pre-defined values:
- </p>
- <dl>
- <dt>TCSANOW</dt><dd>set immediately.</dd>
- <dt>TCSADRAIN</dt><dd>wait for output.</dd>
- <dt>TCSAFLUSH</dt><dd>wait for output and discard all input not yet read.</dd>
- </dl>
- <p>
- The function Returns <var>True</var> if the call was succesfull, <var>False</var>
- otherwise.
- </p>
- <p>
- For an example, see <link id="TCGetAttr"/>.
- </p>
- </descr>
- <errors>
- Errors are reported in LinuxError.
- </errors>
- <seealso>
- <link id="TCDrain"/>
- <link id="TCFlow"/>
- <link id="TCFlush"/>
- <link id="TCGetAttr"/>
- <link id="TCGetPGrp"/>
- <link id="TCSendBreak"/>
- <link id="TCSetPGrp"/>
- <link id="TTYName"/>
- <link id="IsATTY"/>
- </seealso>
- </element>
- <element name="TCSetPGrp">
- <short>Terminal control: Set process group</short>
- <descr>
- <p>
- <var>TCSetPGrp</var> Sets the Process Group Id to <var>Id</var>.
- The function returns <var>True</var> if the call was successful, <var>False</var>
- otherwise.
- </p>
- <p>
- For an example, see <link id="TCGetPGrp"/>.
- </p>
- </descr>
- <errors>
- Errors are returned in LinuxError.
- </errors>
- <seealso>
- <link id="TCDrain"/>
- <link id="TCFlow"/>
- <link id="TCFlush"/>
- <link id="TCGetAttr"/>
- <link id="TCGetPGrp"/>
- <link id="TCSendBreak"/>
- <link id="TCSetAttr"/>
- <link id="TTYName"/>
- <link id="IsATTY"/>
- </seealso>
- </element>
- <element name="TTYName">
- <short>Terminal control: Get terminal name</short>
- <descr>
- <p>
- <var>TTYName</var>Returns the name of the terminal pointed to by <var>f</var>. <var>f</var>
- must be a terminal. <var>f</var> can be of type:
- </p>
- <ol>
- <li><var>longint</var> for file handles;</li>
- <li><var>Text</var> for <var>text</var> variables such as <var>input</var> etc.</li>
- </ol>
- </descr>
- <errors>
- Returns an empty string in case of an error. <var>Linuxerror</var> may be set
- to indicate what error occurred, but this is uncertain.
- </errors>
- <seealso>
- <link id="TCDrain"/>
- <link id="TCFlow"/>
- <link id="TCFlush"/>
- <link id="TCGetAttr"/>
- <link id="TCGetPGrp"/>
- <link id="TCSendBreak"/>
- <link id="TCSetAttr"/>
- <link id="TCSetPGrp"/>
- <link id="IsATTY"/>
- <link id="IOCtl"/>
- </seealso>
- </element>
- <element name="TellDir">
- <short>Return current location in a directory</short>
- <descr>
- <p>
- <var>TellDir</var> returns the current location in the directory structure
- pointed to by <var>p</var>. It returns -1 on failure.
- </p>
- <p>
- For an example, see <link id="OpenDir"/>.
- </p>
- </descr>
- <errors>
- Errors are returned in LinuxError.
- </errors>
- <seealso>
- <link id="CloseDir"/>
- <link id="ReadDir"/>
- <link id="SeekDir"/>
- <link id="OpenDir"/>
- </seealso>
- </element>
- <element name="Umask">
- <short>Set file creation mask.</short>
- <descr>
- Change the file creation mask for the current user to <var>Mask</var>. The
- current mask is returned.
- </descr>
- <seealso>
- <link id="Chmod"/>
- </seealso>
- <example file="olinuxex/ex27"/>
- </element>
- <element name="Uname">
- <short>Return system name.</short>
- <descr>
- <var>Uname</var> gets the name and configuration of the current linux kernel,
- and returns it in <var>unamerec</var>.
- </descr>
- <errors>
- <var>LinuxError</var> is used to report errors.
- </errors>
- <seealso>
- <link id="GetHostName"/>
- <link id="GetDomainName"/>
- </seealso>
- </element>
- <element name="UnLink">
- <short>Unlink (i.e. remove) a file.</short>
- <descr>
- <p>
- <var>UnLink</var> decreases the link count on file <var>Path</var>. <var>Path</var> can be
- of type <var>PathStr</var> or <var>PChar</var>. If the link count is zero, the
- file is removed from the disk.
- The function returns <var>True</var> if the call was succesfull, <var>False</var> if the call
- failed.
- </p>
- <p>
- For an example, see <link id="Link"/>.
- </p>
- </descr>
- <errors>
- <p>
- Errors are returned in <var>LinuxError</var>.
- </p>
- <dl>
- <dt>sys_eaccess</dt>
- <dd>You have no write access right in the directory containing <var>Path</var>,
- or you have no search permission in one of the directory components of
- <var>Path</var>.</dd>
- <dt>sys_eperm</dt>
- <dd>The directory containing pathname has the sticky-bit set and the process's
- effective uid is neither the uid of the file to be deleted nor that of the
- directory containing it.</dd>
- <dt>sys_enoent</dt><dd>A component of the path doesn't exist.</dd>
- <dt>sys_enotdir</dt><dd>A directory component of the path is not a directory.</dd>
- <dt>sys_eisdir</dt><dd><var>Path</var> refers to a directory.</dd>
- <dt>sys_enomem</dt><dd>Insufficient kernel memory.</dd>
- <dt>sys_erofs</dt><dd><var>Path</var> is on a read-only filesystem.</dd>
- </dl>
- </errors>
- <seealso>
- <link id="Link"/>
- <link id="SymLink"/>
- </seealso>
- </element>
- <element name="Utime">
- <short>Set access and modification times of a file (touch).</short>
- <descr>
- <var>Utime</var> sets the access and modification times of a file.
- the <var>utimbuf</var> record contains 2 fields, <var>actime</var>, and <var>modtime</var>,
- both of type Longint. They should be filled with an epoch-like time,
- specifying, respectively, the last access time, and the last modification
- time.
- For some filesystem (most notably, FAT), these times are the same.
- </descr>
- <errors>
- <p>
- Errors are returned in <var>LinuxError</var>.
- </p>
- <dl>
- <dt>sys_eaccess</dt>
- <dd> One of the directories in <var>Path</var> has no
- search (=execute) permission.</dd>
- <dt>sys_enoent</dt>
- <dd> A directory entry in <var>Path</var> does
- not exist or is a symbolic link pointing to a non-existent directory.
- </dd>
- </dl>
- <p>
- Other errors may occur, but aren't documented.
- </p>
- </errors>
- <seealso>
- <link id="GetEpochTime"/>
- <link id="Chown"/>
- <link id="Access"/>
- </seealso>
- <example file="olinuxex/ex25"/>
- </element>
- <element name="WaitPid">
- <short>Wait for a process to terminate</short>
- <descr>
- <p>
- <var>WaitPid</var> waits for a child process with process ID <var>Pid</var> to exit. The
- value of <var>Pid</var> can be one of the following:
- </p>
- <dl>
- <dt>Pid < -1</dt>
- <dd> Causes <var>WaitPid</var> to wait for any child process whose
- process group ID equals the absolute value of <var>pid</var>.</dd>
- <dt>Pid = -1</dt>
- <dd>Causes <var>WaitPid</var> to wait for any child process.</dd>
- <dt>Pid = 0</dt>
- <dd>Causes <var>WaitPid</var> to wait for any child process whose
- process group ID equals the one of the calling process.</dd>
- <dt>Pid > 0</dt>
- <dd> Causes <var>WaitPid</var> to wait for the child whose process ID
- equals the value of <var>Pid</var>.</dd>
- </dl>
- <p>
- The <var>Options</var> parameter can be used to specify further how <var>WaitPid</var>
- behaves:
- </p>
- <dl>
- <dt>WNOHANG</dt>
- <dd> Causes <var>Waitpid</var> to return immediately if no child hasexited.</dd>
- <dt>WUNTRACED</dt>
- <dd> Causes <var>WaitPid</var> to return also for children which are
- stopped, but whose status has not yet been reported.</dd>
- <dt>__WCLONE</dt>
- <dd> Causes <var>WaitPid</var> also to wait for threads created by
- the <link id="Clone"/> call.</dd>
- </dl>
- <p>
- Upon return, it returns the exit status of the process, or -1 in case of
- failure.
- </p>
- <p>
- For an example, see <link id="Fork"/>.
- </p>
- </descr>
- <errors>
- Errors are returned in LinuxError.
- </errors>
- <seealso>
- <link id="Fork"/>
- <link id="Execve"/>
- </seealso>
- </element>
- <!-- constant Visibility: default -->
- <element name="Seek_set">
- <short>Seek option: Set absolute position.</short>
- </element>
- <!-- constant Visibility: default -->
- <element name="Seek_Cur">
- <short>Seek option: Set position relative to current position.</short>
- </element>
- <!-- constant Visibility: default -->
- <element name="Seek_End">
- <short>Seek option: Set position relative to end of file.</short>
- </element>
- <!-- constant Visibility: default -->
- <element name="Open_Accmode">
- <short>Bitmask to determine access mode in open flags.</short>
- </element>
- <!-- constant Visibility: default -->
- <element name="Open_RdOnly">
- <short>File open mode: Read only</short>
- </element>
- <!-- constant Visibility: default -->
- <element name="Open_WrOnly">
- <short>File open mode: Write only</short>
- </element>
- <!-- constant Visibility: default -->
- <element name="Open_RdWr">
- <short>File open mode: Read/Write</short>
- </element>
- <!-- constant Visibility: default -->
- <element name="Open_Creat">
- <short>File open mode: Create if file does not yet exist.</short>
- </element>
- <!-- constant Visibility: default -->
- <element name="Open_Excl">
- <short>File open mode: Open exclusively</short>
- </element>
- <!-- constant Visibility: default -->
- <element name="Open_NoCtty">
- <short>File open mode: No TTY control.</short>
- </element>
- <!-- constant Visibility: default -->
- <element name="Open_Trunc">
- <short>File open mode: Truncate file to length 0</short>
- </element>
- <!-- constant Visibility: default -->
- <element name="Open_Append">
- <short>File open mode: Append to file</short>
- </element>
- <!-- constant Visibility: default -->
- <element name="Open_NonBlock">
- <short>File open mode: Open in non-blocking mode</short>
- </element>
- <!-- constant Visibility: default -->
- <element name="Open_NDelay">
- <short>File open mode: Alias for <link id="Open_NonBlock"/></short>
- </element>
- <!-- constant Visibility: default -->
- <element name="Open_Sync">
- <short>File open mode: Write to disc at once</short>
- </element>
- <!-- constant Visibility: default -->
- <element name="Open_Direct">
- <short>File open mode: Minimize caching effects</short>
- </element>
- <!-- constant Visibility: default -->
- <element name="Open_LargeFile">
- <short>File open mode: Open for 64-bit I/O</short>
- </element>
- <!-- constant Visibility: default -->
- <element name="Open_Directory">
- <short>File open mode: File must be directory.</short>
- </element>
- <!-- constant Visibility: default -->
- <element name="Open_NoFollow">
- <short>File open mode: Fail if file is symbolic link.</short>
- </element>
- <!-- constant Visibility: default -->
- <element name="Wait_NoHang">
- <short><link id="WaitPID"/>: Do not wait</short>
- </element>
- <!-- constant Visibility: default -->
- <element name="Wait_UnTraced">
- <short><link id="WaitPID"/>: Also report stopped but untraced processes</short>
- </element>
- <!-- constant Visibility: default -->
- <element name="Wait_Any">
- <short><link id="WaitPID"/>: Wait on any process</short>
- </element>
- <!-- constant Visibility: default -->
- <element name="Wait_MyPGRP">
- <short><link id="WaitPID"/>: Wait processes from current process group</short>
- </element>
- <!-- constant Visibility: default -->
- <element name="Wait_Clone">
- <short><link id="WaitPID"/>: Wait on clone processes only.</short>
- </element>
- <!-- constant Visibility: default -->
- <element name="IOCtl_TCGETS">
- <short>IOCTL call number: get Terminal Control settings</short>
- </element>
- <!-- record type Visibility: default -->
- <element name="SysCallRegs">
- <short>Register describing system calls.</short>
- </element>
- <!-- variable Visibility: default -->
- <element name="SysCallRegs.reg1">
- <short>Register 1</short>
- </element>
- <!-- variable Visibility: default -->
- <element name="SysCallRegs.reg2">
- <short>Register 2</short>
- </element>
- <!-- variable Visibility: default -->
- <element name="SysCallRegs.reg3">
- <short>Register 3</short>
- </element>
- <!-- variable Visibility: default -->
- <element name="SysCallRegs.reg4">
- <short>Register 4</short>
- </element>
- <!-- variable Visibility: default -->
- <element name="SysCallRegs.reg5">
- <short>Register 5</short>
- </element>
- <!-- variable Visibility: default -->
- <element name="SysCallRegs.reg6">
- <short>Register 6</short>
- </element>
- <!-- pointer type Visibility: default -->
- <element name="PSysCallRegs">
- <short>Pointer to <link id="SysCallRegs"/> record.</short>
- </element>
- <!-- alias type Visibility: default -->
- <element name="TSysCallRegs">
- <short>Alias for <link id="SysCallRegs"/> record</short>
- </element>
- <!-- alias type Visibility: default -->
- <element name="TDirEnt">
- <short>Alias for <link id="DirEnt"/> record</short>
- </element>
- <!-- alias type Visibility: default -->
- <element name="dev_t">
- <short>Device descriptor type</short>
- </element>
- <!-- variable Visibility: default -->
- <element name="Stat.blksze">
- <short>Block size</short>
- </element>
- <!-- pointer type Visibility: default -->
- <element name="PStat">
- <short>Pointer to <link id="Stat"/> record.</short>
- </element>
- <!-- alias type Visibility: default -->
- <element name="TStat">
- <short>Alias for <link id="Stat"/> record.</short>
- </element>
- <!-- pointer type Visibility: default -->
- <element name="PStatFS">
- <short>Pointer to <link id="StatFS"/> record.</short>
- </element>
- <!-- alias type Visibility: default -->
- <element name="TStatFS">
- <short>Alias for <link id="StatFS"/> type.</short>
- </element>
- <!-- alias type Visibility: default -->
- <element name="TFDSet">
- <short>Alias for <link id="FDSet"/> type.</short>
- </element>
- <!-- alias type Visibility: default -->
- <element name="TTimeVal">
- <short>Alias for <link id="TimeVal"/> record.</short>
- </element>
- <!-- record type Visibility: default -->
- <element name="timezone">
- <short>Record describing a timezone</short>
- </element>
- <!-- variable Visibility: default -->
- <element name="timezone.minuteswest">
- <short>Minutes west of GMT</short>
- </element>
- <!-- variable Visibility: default -->
- <element name="timezone.dsttime">
- <short>Daylight savings time</short>
- </element>
- <!-- pointer type Visibility: default -->
- <element name="ptimezone">
- <short>Pointer to <link id="TimeZone"/> record.</short>
- </element>
- <!-- alias type Visibility: default -->
- <element name="TTimeZone">
- <short>Alias for <link id="TimeZone"/> record.</short>
- </element>
- <!-- pointer type Visibility: default -->
- <element name="PUTSName">
- <short>Pointer to <link id="UTSName"/> record.</short>
- </element>
- <!-- alias type Visibility: default -->
- <element name="TUTSName">
- <short>Alias for <link id="UTSName"/> record.</short>
- </element>
- <!-- constant Visibility: default -->
- <element skip="1" name="syscall_nr_setup"/>
- <element skip="1" name="syscall_nr_exit"/>
- <element skip="1" name="syscall_nr_fork"/>
- <element skip="1" name="syscall_nr_read"/>
- <element skip="1" name="syscall_nr_write"/>
- <element skip="1" name="syscall_nr_open"/>
- <element skip="1" name="syscall_nr_close"/>
- <element skip="1" name="syscall_nr_waitpid"/>
- <element skip="1" name="syscall_nr_creat"/>
- <element skip="1" name="syscall_nr_link"/>
- <element skip="1" name="syscall_nr_unlink"/>
- <element skip="1" name="syscall_nr_execve"/>
- <element skip="1" name="syscall_nr_chdir"/>
- <element skip="1" name="syscall_nr_time"/>
- <element skip="1" name="syscall_nr_mknod"/>
- <element skip="1" name="syscall_nr_chmod"/>
- <element skip="1" name="syscall_nr_chown"/>
- <element skip="1" name="syscall_nr_break"/>
- <element skip="1" name="syscall_nr_oldstat"/>
- <element skip="1" name="syscall_nr_lseek"/>
- <element skip="1" name="syscall_nr_getpid"/>
- <element skip="1" name="syscall_nr_mount"/>
- <element skip="1" name="syscall_nr_umount"/>
- <element skip="1" name="syscall_nr_setuid"/>
- <element skip="1" name="syscall_nr_getuid"/>
- <element skip="1" name="syscall_nr_stime"/>
- <element skip="1" name="syscall_nr_ptrace"/>
- <element skip="1" name="syscall_nr_alarm"/>
- <element skip="1" name="syscall_nr_oldfstat"/>
- <element skip="1" name="syscall_nr_pause"/>
- <element skip="1" name="syscall_nr_utime"/>
- <element skip="1" name="syscall_nr_stty"/>
- <element skip="1" name="syscall_nr_gtty"/>
- <element skip="1" name="syscall_nr_access"/>
- <element skip="1" name="syscall_nr_nice"/>
- <element skip="1" name="syscall_nr_ftime"/>
- <element skip="1" name="syscall_nr_sync"/>
- <element skip="1" name="syscall_nr_kill"/>
- <element skip="1" name="syscall_nr_rename"/>
- <element skip="1" name="syscall_nr_mkdir"/>
- <element skip="1" name="syscall_nr_rmdir"/>
- <element skip="1" name="syscall_nr_dup"/>
- <element skip="1" name="syscall_nr_pipe"/>
- <element skip="1" name="syscall_nr_times"/>
- <element skip="1" name="syscall_nr_prof"/>
- <element skip="1" name="syscall_nr_brk"/>
- <element skip="1" name="syscall_nr_setgid"/>
- <element skip="1" name="syscall_nr_getgid"/>
- <element skip="1" name="syscall_nr_signal"/>
- <element skip="1" name="syscall_nr_geteuid"/>
- <element skip="1" name="syscall_nr_getegid"/>
- <element skip="1" name="syscall_nr_acct"/>
- <element skip="1" name="syscall_nr_phys"/>
- <element skip="1" name="syscall_nr_lock"/>
- <element skip="1" name="syscall_nr_ioctl"/>
- <element skip="1" name="syscall_nr_fcntl"/>
- <element skip="1" name="syscall_nr_mpx"/>
- <element skip="1" name="syscall_nr_setpgid"/>
- <element skip="1" name="syscall_nr_ulimit"/>
- <element skip="1" name="syscall_nr_oldolduname"/>
- <element skip="1" name="syscall_nr_umask"/>
- <element skip="1" name="syscall_nr_chroot"/>
- <element skip="1" name="syscall_nr_ustat"/>
- <element skip="1" name="syscall_nr_dup2"/>
- <element skip="1" name="syscall_nr_getppid"/>
- <element skip="1" name="syscall_nr_getpgrp"/>
- <element skip="1" name="syscall_nr_setsid"/>
- <element skip="1" name="syscall_nr_sigaction"/>
- <element skip="1" name="syscall_nr_sgetmask"/>
- <element skip="1" name="syscall_nr_ssetmask"/>
- <element skip="1" name="syscall_nr_setreuid"/>
- <element skip="1" name="syscall_nr_setregid"/>
- <element skip="1" name="syscall_nr_sigsuspend"/>
- <element skip="1" name="syscall_nr_sigpending"/>
- <element skip="1" name="syscall_nr_sethostname"/>
- <element skip="1" name="syscall_nr_setrlimit"/>
- <element skip="1" name="syscall_nr_getrlimit"/>
- <element skip="1" name="syscall_nr_getrusage"/>
- <element skip="1" name="syscall_nr_gettimeofday"/>
- <element skip="1" name="syscall_nr_settimeofday"/>
- <element skip="1" name="syscall_nr_getgroups"/>
- <element skip="1" name="syscall_nr_setgroups"/>
- <element skip="1" name="syscall_nr_select"/>
- <element skip="1" name="syscall_nr_symlink"/>
- <element skip="1" name="syscall_nr_oldlstat"/>
- <element skip="1" name="syscall_nr_readlink"/>
- <element skip="1" name="syscall_nr_uselib"/>
- <element skip="1" name="syscall_nr_swapon"/>
- <element skip="1" name="syscall_nr_reboot"/>
- <element skip="1" name="syscall_nr_readdir"/>
- <element skip="1" name="syscall_nr_mmap"/>
- <element skip="1" name="syscall_nr_munmap"/>
- <element skip="1" name="syscall_nr_truncate"/>
- <element skip="1" name="syscall_nr_ftruncate"/>
- <element skip="1" name="syscall_nr_fchmod"/>
- <element skip="1" name="syscall_nr_fchown"/>
- <element skip="1" name="syscall_nr_getpriority"/>
- <element skip="1" name="syscall_nr_setpriority"/>
- <element skip="1" name="syscall_nr_profil"/>
- <element skip="1" name="syscall_nr_statfs"/>
- <element skip="1" name="syscall_nr_fstatfs"/>
- <element skip="1" name="syscall_nr_ioperm"/>
- <element skip="1" name="syscall_nr_socketcall"/>
- <element skip="1" name="syscall_nr_syslog"/>
- <element skip="1" name="syscall_nr_setitimer"/>
- <element skip="1" name="syscall_nr_getitimer"/>
- <element skip="1" name="syscall_nr_stat"/>
- <element skip="1" name="syscall_nr_lstat"/>
- <element skip="1" name="syscall_nr_fstat"/>
- <element skip="1" name="syscall_nr_olduname"/>
- <element skip="1" name="syscall_nr_iopl"/>
- <element skip="1" name="syscall_nr_vhangup"/>
- <element skip="1" name="syscall_nr_idle"/>
- <element skip="1" name="syscall_nr_vm86old"/>
- <element skip="1" name="syscall_nr_wait4"/>
- <element skip="1" name="syscall_nr_swapoff"/>
- <element skip="1" name="syscall_nr_sysinfo"/>
- <element skip="1" name="syscall_nr_ipc"/>
- <element skip="1" name="syscall_nr_fsync"/>
- <element skip="1" name="syscall_nr_sigreturn"/>
- <element skip="1" name="syscall_nr_clone"/>
- <element skip="1" name="syscall_nr_setdomainname"/>
- <element skip="1" name="syscall_nr_uname"/>
- <element skip="1" name="syscall_nr_modify_ldt"/>
- <element skip="1" name="syscall_nr_adjtimex"/>
- <element skip="1" name="syscall_nr_mprotect"/>
- <element skip="1" name="syscall_nr_sigprocmask"/>
- <element skip="1" name="syscall_nr_create_module"/>
- <element skip="1" name="syscall_nr_init_module"/>
- <element skip="1" name="syscall_nr_delete_module"/>
- <element skip="1" name="syscall_nr_get_kernel_syms"/>
- <element skip="1" name="syscall_nr_quotactl"/>
- <element skip="1" name="syscall_nr_getpgid"/>
- <element skip="1" name="syscall_nr_fchdir"/>
- <element skip="1" name="syscall_nr_bdflush"/>
- <element skip="1" name="syscall_nr_sysfs"/>
- <element skip="1" name="syscall_nr_personality"/>
- <element skip="1" name="syscall_nr_afs_syscall"/>
- <element skip="1" name="syscall_nr_setfsuid"/>
- <element skip="1" name="syscall_nr_setfsgid"/>
- <element skip="1" name="syscall_nr__llseek"/>
- <element skip="1" name="syscall_nr_getdents"/>
- <element skip="1" name="syscall_nr__newselect"/>
- <element skip="1" name="syscall_nr_flock"/>
- <element skip="1" name="syscall_nr_msync"/>
- <element skip="1" name="syscall_nr_readv"/>
- <element skip="1" name="syscall_nr_writev"/>
- <element skip="1" name="syscall_nr_getsid"/>
- <element skip="1" name="syscall_nr_fdatasync"/>
- <element skip="1" name="syscall_nr__sysctl"/>
- <element skip="1" name="syscall_nr_mlock"/>
- <element skip="1" name="syscall_nr_munlock"/>
- <element skip="1" name="syscall_nr_mlockall"/>
- <element skip="1" name="syscall_nr_munlockall"/>
- <element skip="1" name="syscall_nr_sched_setparam"/>
- <element skip="1" name="syscall_nr_sched_getparam"/>
- <element skip="1" name="syscall_nr_sched_setscheduler"/>
- <element skip="1" name="syscall_nr_sched_getscheduler"/>
- <element skip="1" name="syscall_nr_sched_yield"/>
- <element skip="1" name="syscall_nr_sched_get_priority_max"/>
- <element skip="1" name="syscall_nr_sched_get_priority_min"/>
- <element skip="1" name="syscall_nr_sched_rr_get_interval"/>
- <element skip="1" name="syscall_nr_nanosleep"/>
- <element skip="1" name="syscall_nr_mremap"/>
- <element skip="1" name="syscall_nr_setresuid"/>
- <element skip="1" name="syscall_nr_getresuid"/>
- <element skip="1" name="syscall_nr_vm86"/>
- <element skip="1" name="syscall_nr_query_module"/>
- <element skip="1" name="syscall_nr_poll"/>
- <element skip="1" name="syscall_nr_sigaltstack"/>
- <element skip="1" name="Sys_EPERM"/>
- <element skip="1" name="Sys_ENOENT"/>
- <element skip="1" name="Sys_ESRCH"/>
- <element skip="1" name="Sys_EINTR"/>
- <element skip="1" name="Sys_EIO"/>
- <element skip="1" name="Sys_ENXIO"/>
- <element skip="1" name="Sys_E2BIG"/>
- <element skip="1" name="Sys_ENOEXEC"/>
- <element skip="1" name="Sys_EBADF"/>
- <element skip="1" name="Sys_ECHILD"/>
- <element skip="1" name="Sys_EAGAIN"/>
- <element skip="1" name="Sys_ENOMEM"/>
- <element skip="1" name="Sys_EACCES"/>
- <element skip="1" name="Sys_EFAULT"/>
- <element skip="1" name="Sys_ENOTBLK"/>
- <element skip="1" name="Sys_EBUSY"/>
- <element skip="1" name="Sys_EEXIST"/>
- <element skip="1" name="Sys_EXDEV"/>
- <element skip="1" name="Sys_ENODEV"/>
- <element skip="1" name="Sys_ENOTDIR"/>
- <element skip="1" name="Sys_EISDIR"/>
- <element skip="1" name="Sys_EINVAL"/>
- <element skip="1" name="Sys_ENFILE"/>
- <element skip="1" name="Sys_EMFILE"/>
- <element skip="1" name="Sys_ENOTTY"/>
- <element skip="1" name="Sys_ETXTBSY"/>
- <element skip="1" name="Sys_EFBIG"/>
- <element skip="1" name="Sys_ENOSPC"/>
- <element skip="1" name="Sys_ESPIPE"/>
- <element skip="1" name="Sys_EROFS"/>
- <element skip="1" name="Sys_EMLINK"/>
- <element skip="1" name="Sys_EPIPE"/>
- <element skip="1" name="Sys_EDOM"/>
- <element skip="1" name="Sys_ERANGE"/>
- <element skip="1" name="Sys_EDEADLK"/>
- <element skip="1" name="Sys_ENAMETOOLONG"/>
- <element skip="1" name="Sys_ENOLCK"/>
- <element skip="1" name="Sys_ENOSYS"/>
- <element skip="1" name="Sys_ENOTEMPTY"/>
- <element skip="1" name="Sys_ELOOP"/>
- <element skip="1" name="Sys_EWOULDBLOCK"/>
- <element skip="1" name="Sys_ENOMSG"/>
- <element skip="1" name="Sys_EIDRM"/>
- <element skip="1" name="Sys_ECHRNG"/>
- <element skip="1" name="Sys_EL2NSYNC"/>
- <element skip="1" name="Sys_EL3HLT"/>
- <element skip="1" name="Sys_EL3RST"/>
- <element skip="1" name="Sys_ELNRNG"/>
- <element skip="1" name="Sys_EUNATCH"/>
- <element skip="1" name="Sys_ENOCSI"/>
- <element skip="1" name="Sys_EL2HLT"/>
- <element skip="1" name="Sys_EBADE"/>
- <element skip="1" name="Sys_EBADR"/>
- <element skip="1" name="Sys_EXFULL"/>
- <element skip="1" name="Sys_ENOANO"/>
- <element skip="1" name="Sys_EBADRQC"/>
- <element skip="1" name="Sys_EBADSLT"/>
- <element skip="1" name="Sys_EDEADLOCK"/>
- <element skip="1" name="Sys_EBFONT"/>
- <element skip="1" name="Sys_ENOSTR"/>
- <element skip="1" name="Sys_ENODATA"/>
- <element skip="1" name="Sys_ETIME"/>
- <element skip="1" name="Sys_ENOSR"/>
- <element skip="1" name="Sys_ENONET"/>
- <element skip="1" name="Sys_ENOPKG"/>
- <element skip="1" name="Sys_EREMOTE"/>
- <element skip="1" name="Sys_ENOLINK"/>
- <element skip="1" name="Sys_EADV"/>
- <element skip="1" name="Sys_ESRMNT"/>
- <element skip="1" name="Sys_ECOMM"/>
- <element skip="1" name="Sys_EPROTO"/>
- <element skip="1" name="Sys_EMULTIHOP"/>
- <element skip="1" name="Sys_EDOTDOT"/>
- <element skip="1" name="Sys_EBADMSG"/>
- <element skip="1" name="Sys_EOVERFLOW"/>
- <element skip="1" name="Sys_ENOTUNIQ"/>
- <element skip="1" name="Sys_EBADFD"/>
- <element skip="1" name="Sys_EREMCHG"/>
- <element skip="1" name="Sys_ELIBACC"/>
- <element skip="1" name="Sys_ELIBBAD"/>
- <element skip="1" name="Sys_ELIBSCN"/>
- <element skip="1" name="Sys_ELIBMAX"/>
- <element skip="1" name="Sys_ELIBEXEC"/>
- <element skip="1" name="Sys_EILSEQ"/>
- <element skip="1" name="Sys_ERESTART"/>
- <element skip="1" name="Sys_ESTRPIPE"/>
- <element skip="1" name="Sys_EUSERS"/>
- <element skip="1" name="Sys_ENOTSOCK"/>
- <element skip="1" name="Sys_EDESTADDRREQ"/>
- <element skip="1" name="Sys_EMSGSIZE"/>
- <element skip="1" name="Sys_EPROTOTYPE"/>
- <element skip="1" name="Sys_ENOPROTOOPT"/>
- <element skip="1" name="Sys_EPROTONOSUPPORT"/>
- <element skip="1" name="Sys_ESOCKTNOSUPPORT"/>
- <element skip="1" name="Sys_EOPNOTSUPP"/>
- <element skip="1" name="Sys_EPFNOSUPPORT"/>
- <element skip="1" name="Sys_EAFNOSUPPORT"/>
- <element skip="1" name="Sys_EADDRINUSE"/>
- <element skip="1" name="Sys_EADDRNOTAVAIL"/>
- <element skip="1" name="Sys_ENETDOWN"/>
- <element skip="1" name="Sys_ENETUNREACH"/>
- <element skip="1" name="Sys_ENETRESET"/>
- <element skip="1" name="Sys_ECONNABORTED"/>
- <element skip="1" name="Sys_ECONNRESET"/>
- <element skip="1" name="Sys_ENOBUFS"/>
- <element skip="1" name="Sys_EISCONN"/>
- <element skip="1" name="Sys_ENOTCONN"/>
- <element skip="1" name="Sys_ESHUTDOWN"/>
- <element skip="1" name="Sys_ETOOMANYREFS"/>
- <element skip="1" name="Sys_ETIMEDOUT"/>
- <element skip="1" name="Sys_ECONNREFUSED"/>
- <element skip="1" name="Sys_EHOSTDOWN"/>
- <element skip="1" name="Sys_EHOSTUNREACH"/>
- <element skip="1" name="Sys_EALREADY"/>
- <element skip="1" name="Sys_EINPROGRESS"/>
- <element skip="1" name="Sys_ESTALE"/>
- <element skip="1" name="Sys_EUCLEAN"/>
- <element skip="1" name="Sys_ENOTNAM"/>
- <element skip="1" name="Sys_ENAVAIL"/>
- <element skip="1" name="Sys_EISNAM"/>
- <element skip="1" name="Sys_EREMOTEIO"/>
- <element skip="1" name="Sys_EDQUOT"/>
- <element skip="1" name="Sys_ERROR_MAX"/>
- <!-- alias type Visibility: default -->
- <element name="SigSet">
- <short>Signal set type</short>
- </element>
- <!-- pointer type Visibility: default -->
- <element name="PSigSet">
- <short>Pointer to signal set.</short>
- </element>
- <!-- constant Visibility: default -->
- <element name="SA_ONSTACK">
- <short>Socket option</short>
- </element>
- <!-- constant Visibility: default -->
- <element name="SI_PAD_SIZE">
- <short>Signal information record pad bytes size. Do not use.</short>
- </element>
- <!-- alias type Visibility: default -->
- <element name="Size_T">
- <short>Size type</short>
- </element>
- <!-- constant Visibility: default -->
- <element name="SS_ONSTACK">
- <short>Socket options</short>
- </element>
- <!-- constant Visibility: default -->
- <element name="SS_DISABLE">
- <short>Socket options</short>
- </element>
- <!-- constant Visibility: default -->
- <element name="MINSIGSTKSZ">
- <short></short>
- </element>
- <!-- constant Visibility: default -->
- <element name="SIGSTKSZ">
- <short>Signal Stack size error</short>
- </element>
- <!-- record type Visibility: default -->
- <element name="SigAltStack">
- <short>Alternate stack registers record </short>
- </element>
- <!-- variable Visibility: default -->
- <element name="SigAltStack.ss_sp">
- <short>Stack pointer</short>
- </element>
- <!-- variable Visibility: default -->
- <element name="SigAltStack.ss_flags">
- <short>Flags</short>
- </element>
- <!-- variable Visibility: default -->
- <element name="SigAltStack.ss_size">
- <short>Stack size</short>
- </element>
- <!-- alias type Visibility: default -->
- <element name="stack_t">
- <short>Alias for <link id="SigAltStack"/> type</short>
- </element>
- <!-- pointer type Visibility: default -->
- <element name="PSigAltStack">
- <short>Pointer to <link id="SigAltStack"/> record</short>
- </element>
- <!-- pointer type Visibility: default -->
- <element name="pstack_t">
- <short>Pointer to <link id="stack_t"/> record</short>
- </element>
- <!-- variable Visibility: default -->
- <element name="ErrNo">
- <short>Error number of last operation.</short>
- </element>
- <!-- constant Visibility: default -->
- <element name="CSIGNAL">
- <short><link id="Clone"/> option: Signal mask to be sent at exit</short>
- </element>
- <!-- constant Visibility: default -->
- <element name="CLONE_VM">
- <short><link id="Clone"/> option: VM shared between processes</short>
- </element>
- <!-- constant Visibility: default -->
- <element name="CLONE_FS">
- <short><link id="Clone"/> option: fs info shared between processes</short>
- </element>
- <!-- constant Visibility: default -->
- <element name="CLONE_FILES">
- <short><link id="Clone"/> option: open files shared between processes</short>
- </element>
- <!-- constant Visibility: default -->
- <element name="CLONE_SIGHAND">
- <short><link id="Clone"/> option: signal handlers shared between processes</short>
- </element>
- <!-- constant Visibility: default -->
- <element name="CLONE_PID">
- <short><link id="Clone"/> option: PID shared between processes</short>
- </element>
- <!-- function type Visibility: default -->
- <element name="TCloneFunc">
- <short>Clone function prototype.</short>
- </element>
- <!-- constant Visibility: default -->
- <element name="WNOHANG">
- <short><link id="Waitpid"/> option: Do not wait for processes to terminate.</short>
- </element>
- <!-- constant Visibility: default -->
- <element name="WUNTRACED">
- <short><link id="Waitpid"/> option: Also report children wich were stopped but not yet reported</short>
- </element>
- <!-- constant Visibility: default -->
- <element name="__WCLONE">
- <short>Waitpid option: Wait for clone children only</short>
- </element>
- <!-- constant Visibility: default -->
- <element name="P_IN">
- <short>Input file descriptor of pipe pair.</short>
- </element>
- <!-- constant Visibility: default -->
- <element name="P_OUT">
- <short>Output file descriptor of pipe pair.</short>
- </element>
- <!-- array type Visibility: default -->
- <element name="Tpipe">
- <short>Array describing a pipe pair of filedescriptors.</short>
- </element>
- <!-- alias type Visibility: default -->
- <element name="ComStr">
- <short>Command-line string type.</short>
- </element>
- <!-- alias type Visibility: default -->
- <element name="PathStr">
- <short>Filename path part string type.</short>
- </element>
- <!-- alias type Visibility: default -->
- <element name="DirStr">
- <short>Filename directory part string type.</short>
- </element>
- <!-- alias type Visibility: default -->
- <element name="NameStr">
- <short>Filename name part string type.</short>
- </element>
- <!-- alias type Visibility: default -->
- <element name="ExtStr">
- <short>Filename extension part string type.</short>
- </element>
- <!-- record type Visibility: default -->
- <element name="winsize">
- <short>Record describing terminal window size.</short>
- </element>
- <!-- variable Visibility: default -->
- <element name="winsize.ws_row">
- <short>Number of rows</short>
- </element>
- <!-- variable Visibility: default -->
- <element name="winsize.ws_col">
- <short>Number of columns</short>
- </element>
- <!-- variable Visibility: default -->
- <element name="winsize.ws_xpixel">
- <short>Number of pixels in horizontal direction</short>
- </element>
- <!-- variable Visibility: default -->
- <element name="winsize.ws_ypixel">
- <short>Number of pixels in vertical direction</short>
- </element>
- <!-- alias type Visibility: default -->
- <element name="TWinSize">
- <short>Alias for <link id="WinSize"/> record.</short>
- </element>
- <!-- alias type Visibility: default -->
- <element name="TTermio">
- <short>Alias for <link id="TermIO"/> record</short>
- </element>
- <!-- variable Visibility: default -->
- <element name="Termios.c_ispeed">
- <short>Input speed</short>
- </element>
- <!-- variable Visibility: default -->
- <element name="Termios.c_ospeed">
- <short>Output speed</short>
- </element>
- <!-- alias type Visibility: default -->
- <element name="TTermios">
- <short>Alias for <link id="Termios"/> record.</short>
- </element>
- <element name="VINTR" skip="1" />
- <element name="VQUIT" skip="1" />
- <element name="VERASE" skip="1" />
- <element name="VKILL" skip="1" />
- <element name="VEOF" skip="1" />
- <element name="VTIME" skip="1" />
- <element name="VMIN" skip="1" />
- <element name="VSWTC" skip="1" />
- <element name="VSTART" skip="1" />
- <element name="VSTOP" skip="1" />
- <element name="VSUSP" skip="1" />
- <element name="VEOL" skip="1" />
- <element name="VREPRINT" skip="1" />
- <element name="VDISCARD" skip="1" />
- <element name="VWERASE" skip="1" />
- <element name="VLNEXT" skip="1" />
- <element name="VEOL2" skip="1" />
- <element name="IGNBRK" skip="1" />
- <element name="BRKINT" skip="1" />
- <element name="IGNPAR" skip="1" />
- <element name="PARMRK" skip="1" />
- <element name="INPCK" skip="1" />
- <element name="ISTRIP" skip="1" />
- <element name="INLCR" skip="1" />
- <element name="IGNCR" skip="1" />
- <element name="ICRNL" skip="1" />
- <element name="IUCLC" skip="1" />
- <element name="IXON" skip="1" />
- <element name="IXANY" skip="1" />
- <element name="IXOFF" skip="1" />
- <element name="IMAXBEL" skip="1" />
- <element name="OPOST" skip="1" />
- <element name="OLCUC" skip="1" />
- <element name="ONLCR" skip="1" />
- <element name="OCRNL" skip="1" />
- <element name="ONOCR" skip="1" />
- <element name="ONLRET" skip="1" />
- <element name="OFILL" skip="1" />
- <element name="OFDEL" skip="1" />
- <element name="NLDLY" skip="1" />
- <element name="NL0" skip="1" />
- <element name="NL1" skip="1" />
- <element name="CRDLY" skip="1" />
- <element name="CR0" skip="1" />
- <element name="CR1" skip="1" />
- <element name="CR2" skip="1" />
- <element name="CR3" skip="1" />
- <element name="TABDLY" skip="1" />
- <element name="TAB0" skip="1" />
- <element name="TAB1" skip="1" />
- <element name="TAB2" skip="1" />
- <element name="TAB3" skip="1" />
- <element name="XTABS" skip="1" />
- <element name="BSDLY" skip="1" />
- <element name="BS0" skip="1" />
- <element name="BS1" skip="1" />
- <element name="VTDLY" skip="1" />
- <element name="VT0" skip="1" />
- <element name="VT1" skip="1" />
- <element name="FFDLY" skip="1" />
- <element name="FF0" skip="1" />
- <element name="FF1" skip="1" />
- <element name="CBAUD" skip="1" />
- <element name="B0" skip="1" />
- <element name="B50" skip="1" />
- <element name="B75" skip="1" />
- <element name="B110" skip="1" />
- <element name="B134" skip="1" />
- <element name="B150" skip="1" />
- <element name="B200" skip="1" />
- <element name="B300" skip="1" />
- <element name="B600" skip="1" />
- <element name="B1200" skip="1" />
- <element name="B1800" skip="1" />
- <element name="B2400" skip="1" />
- <element name="B4800" skip="1" />
- <element name="B9600" skip="1" />
- <element name="B19200" skip="1" />
- <element name="B38400" skip="1" />
- <element name="EXTA" skip="1" />
- <element name="EXTB" skip="1" />
- <element name="CSIZE" skip="1" />
- <element name="CS5" skip="1" />
- <element name="CS6" skip="1" />
- <element name="CS7" skip="1" />
- <element name="CS8" skip="1" />
- <element name="CSTOPB" skip="1" />
- <element name="CREAD" skip="1" />
- <element name="PARENB" skip="1" />
- <element name="PARODD" skip="1" />
- <element name="HUPCL" skip="1" />
- <element name="CLOCAL" skip="1" />
- <element name="CBAUDEX" skip="1" />
- <element name="B57600" skip="1" />
- <element name="B115200" skip="1" />
- <element name="B230400" skip="1" />
- <element name="B460800" skip="1" />
- <element name="CIBAUD" skip="1" />
- <element name="CMSPAR" skip="1" />
- <element name="CRTSCTS" skip="1" />
- <element name="ISIG" skip="1" />
- <element name="ICANON" skip="1" />
- <element name="XCASE" skip="1" />
- <element name="ECHO" skip="1" />
- <element name="ECHOE" skip="1" />
- <element name="ECHOK" skip="1" />
- <element name="ECHONL" skip="1" />
- <element name="NOFLSH" skip="1" />
- <element name="TOSTOP" skip="1" />
- <element name="ECHOCTL" skip="1" />
- <element name="ECHOPRT" skip="1" />
- <element name="ECHOKE" skip="1" />
- <element name="FLUSHO" skip="1" />
- <element name="PENDIN" skip="1" />
- <element name="IEXTEN" skip="1" />
- <element name="TIOCM_LE" skip="1" />
- <element name="TIOCM_DTR" skip="1" />
- <element name="TIOCM_RTS" skip="1" />
- <element name="TIOCM_ST" skip="1" />
- <element name="TIOCM_SR" skip="1" />
- <element name="TIOCM_CTS" skip="1" />
- <element name="TIOCM_CAR" skip="1" />
- <element name="TIOCM_RNG" skip="1" />
- <element name="TIOCM_DSR" skip="1" />
- <element name="TIOCM_CD" skip="1" />
- <element name="TIOCM_RI" skip="1" />
- <element name="TIOCM_OUT1" skip="1" />
- <element name="TIOCM_OUT2" skip="1" />
- <element name="TCSANOW" skip="1" />
- <element name="TCSADRAIN" skip="1" />
- <element name="TCSAFLUSH" skip="1" />
- <element name="TCOOFF" skip="1" />
- <element name="TCOON" skip="1" />
- <element name="TCIOFF" skip="1" />
- <element name="TCION" skip="1" />
- <element name="TCIFLUSH" skip="1" />
- <element name="TCOFLUSH" skip="1" />
- <element name="TCIOFLUSH" skip="1" />
- <!-- alias type Visibility: default -->
- <element name="UTimeBuf">
- <short>Alias for <link id="UTimBuf"/> record.</short>
- </element>
- <!-- alias type Visibility: default -->
- <element name="TUTimeBuf">
- <short>Alias for <link id="UTimBuf"/> record.</short>
- </element>
- <!-- pointer type Visibility: default -->
- <element name="PUTimeBuf">
- <short>Pointer to <link id="UTimeBuf"/> record</short>
- </element>
- <!-- record type Visibility: default -->
- <element name="TSysinfo">
- <short>Record with system information, used by the <link id="SysInfo"/> call.</short>
- </element>
- <!-- variable Visibility: default -->
- <element name="TSysinfo.uptime">
- <short>Number of seconds since boot.</short>
- </element>
- <!-- variable Visibility: default -->
- <element name="TSysinfo.loads">
- <short>1, 5 and 15 minute load averages.</short>
- </element>
- <!-- variable Visibility: default -->
- <element name="TSysinfo.totalram">
- <short>total amount of main memory.</short>
- </element>
- <!-- variable Visibility: default -->
- <element name="TSysinfo.freeram">
- <short>amount of free memory.</short>
- </element>
- <!-- variable Visibility: default -->
- <element name="TSysinfo.sharedram">
- <short>amount of shared memory.</short>
- </element>
- <!-- variable Visibility: default -->
- <element name="TSysinfo.bufferram">
- <short>amount of memory used by buffers.</short>
- </element>
- <!-- variable Visibility: default -->
- <element name="TSysinfo.totalswap">
- <short>total amount of swapspace.</short>
- </element>
- <!-- variable Visibility: default -->
- <element name="TSysinfo.freeswap">
- <short>amount of free swapspace.</short>
- </element>
- <!-- variable Visibility: default -->
- <element name="TSysinfo.procs">
- <short>number of current processes.</short>
- </element>
- <!-- variable Visibility: default -->
- <element name="TSysinfo.s">
- <short>?</short>
- </element>
- <!-- pointer type Visibility: default -->
- <element name="PSysInfo">
- <short>Pointer to <link id="TSysInfo"/> record.</short>
- </element>
- <!-- function Visibility: default -->
- <element name="SysCall">
- <short>Execute system call.</short>
- <descr>
- <var>SysCall</var> can be used to execute a direct system call.
- The call parameters must be encoded in <var>regs</var> and the call number
- must be specified by <var>callnr</var>. The call result is returned, and any
- modified registers are in <var>regs</var>
- </descr>
- <errors>
- None.
- </errors>
- <seealso>
- <link id="SysCallregs"/>
- </seealso>
- </element>
- <!-- variable Visibility: default -->
- <element name="tzdaylight">
- <short>Indicates whether daylight savings time is active.</short>
- </element>
- <!-- variable Visibility: default -->
- <element name="tzseconds">
- <short>Seconds west of GMT</short>
- </element>
- <!-- variable Visibility: default -->
- <element name="tzname">
- <short>Timezone name.</short>
- </element>
- <!-- function Visibility: default -->
- <element name="SetTime">
- <short>Set the current system time.</short>
- <descr>
- <p>
- <var>SetTime</var> sets the system time to <var>hour</var>, <var>min</var>,
- <var>Sec</var>. This is the kernel time, so it is in GMT. The date is not
- touched. The function returns <var>True</var> if the call was executed corretly,
- <var>False</var> otherwise.
- </p>
- <remark>
- You must be root to execute this call.
- </remark>
- </descr>
- <errors>
- Errors are returned in <link id="LinuxError"/>
- </errors>
- <seealso>
- <link id="GetTime"/>
- <link id="SetDate"/>
- <link id="SetDateTime"/>
- </seealso>
- </element>
- <!-- function Visibility: default -->
- <element name="SetDate">
- <short>Set the current system date.</short>
- <descr>
- <p>
- <var>SetDate</var> sets the system date to <var>year</var>, <var>month</var>,
- <var>day</var>. This is the kernel date, so it is in GMT. The time is not
- touched. The function returns <var>True</var> if the call was executed
- corretly, <var>False</var> otherwise.
- </p>
- <remark>
- You must be root to execute this call.
- </remark>
- </descr>
- <errors>
- Errors are returned in <link id="LinuxError"/>
- </errors>
- <seealso>
- <link id="GetDate"/>
- <link id="SetTime"/>
- <link id="SetDateTime"/>
- </seealso>
- </element>
- <!-- function Visibility: default -->
- <element name="SetDateTime">
- <short>Set the current system date and time</short>
- <descr>
- <p>
- <var>SetDate</var> sets the system date and time to <var>year</var>,
- <var>month</var>, <var>day</var>, <var>hour</var>, <var>min</var>, <var>Sec</var>.
- This is the kernel date/time, so it is in GMT. The time is not
- touched. The function returns <var>True</var> if the call was executed
- corretly, <var>False</var> otherwise.
- </p>
- <remark>
- You must be root to execute this call.
- </remark>
- </descr>
- <errors>
- Errors are returned in <link id="LinuxError"/>
- </errors>
- <seealso>
- <link id="SetDate"/>
- <link id="SetTime"/>
- <link id="GetDateTime"/>
- </seealso>
- </element>
- <!-- procedure Visibility: default -->
- <element name="ExitProcess">
- <short>Exit the current process</short>
- <descr>
- <p>
- <var>ExitProcess</var> exits the currently running process, and report
- <var>Val</var> as the exit status.
- </p>
- <remark>
- If this call is executed, the normal unit finalization code will not be
- executed. This may lead to unexpected errors and stray files on your system.
- It is therefore recommended to use the <var>Halt</var> call instead.
- </remark>
- </descr>
- <errors>
- None.
- </errors>
- <seealso>
- <link id="Fork"/>
- <link id="ExecVE"/>
- </seealso>
- </element>
- <!-- function Visibility: default -->
- <element name="WaitProcess">
- <short>Wait for process to terminate.</short>
- <descr>
- <p>
- <var>WaitProcess</var> waits for process <var>PID</var> to exit.
- <var>WaitProcess</var> is equivalent to the <link id="WaitPID"/> call:
- </p>
- <code>
- WaitPid(PID,@result,0)
- </code>
- <p>
- Handles of Signal interrupts (errno=EINTR), and returns the Exitcode of
- Process <var>PID</var> (>=0) or -Status if it was terminated
- </p>
- </descr>
- <errors>
- None.
- </errors>
- <seealso>
- <link id="WaitPID"/>
- <link id="WTERMSIG"/>
- <link id="WSTOPSIG"/>
- <link id="WIFEXITED"/>
- <link id="WIFSTOPPED"/>
- <link id="WIFSIGNALED"/>
- <link id="W_EXITCODE"/>
- <link id="W_STOPCODE"/>
- <link id="WEXITSTATUS"/>
- </seealso>
- </element>
- <!-- function Visibility: default -->
- <element name="WEXITSTATUS">
- <short>Extract the exit status from the <link id="WaitPID"/> result.</short>
- <descr>
- <var>WEXITSTATUS</var> can be used to extract the exit status from
- <var>Status</var>, the result of the <link id="WaitPID"/> call.
- </descr>
- <seealso>
- <link id="WaitPID"/>
- <link id="WaitProcess"/>
- <link id="WTERMSIG"/>
- <link id="WSTOPSIG"/>
- <link id="WIFEXITED"/>
- <link id="WIFSTOPPED"/>
- <link id="WIFSIGNALED"/>
- <link id="W_EXITCODE"/>
- <link id="W_STOPCODE"/>
- </seealso>
- </element>
- <!-- function Visibility: default -->
- <element name="WTERMSIG">
- <short>Return the signal that caused a process to exit.</short>
- <descr>
- <var>WTERMSIG</var> extracts from <var>Status</var> the signal number which
- caused the process to exit.
- </descr>
- <seealso>
- <link id="WaitPID"/>
- <link id="WaitProcess"/>
- <link id="WSTOPSIG"/>
- <link id="WIFEXITED"/>
- <link id="WIFSTOPPED"/>
- <link id="WIFSIGNALED"/>
- <link id="W_EXITCODE"/>
- <link id="W_STOPCODE"/>
- <link id="WEXITSTATUS"/>
- </seealso>
- </element>
- <!-- function Visibility: default -->
- <element name="WSTOPSIG">
- <short>Return the exit code from the process.</short>
- <descr>
- <var>WSTOPSIG</var> is an alias for <link id="WEXITSTATUS"/>.
- </descr>
- <seealso>
- <link id="WaitPID"/>
- <link id="WaitProcess"/>
- <link id="WTERMSIG"/>
- <link id="WIFEXITED"/>
- <link id="WIFSTOPPED"/>
- <link id="WIFSIGNALED"/>
- <link id="W_EXITCODE"/>
- <link id="W_STOPCODE"/>
- <link id="WEXITSTATUS"/>
- </seealso>
- </element>
- <!-- function Visibility: default -->
- <element name="WIFEXITED">
- <short>Check whether the process exited normally</short>
- <descr>
- <var>WIFEXITED</var> checks <var>Status</var> and returns <var>True</var> if
- the status indicates that the process terminated normally, i.e. was not
- stopped by a signal.
- </descr>
- <seealso>
- <link id="WaitPID"/>
- <link id="WaitProcess"/>
- <link id="WTERMSIG"/>
- <link id="WSTOPSIG"/>
- <link id="WIFSTOPPED"/>
- <link id="WIFSIGNALED"/>
- <link id="W_EXITCODE"/>
- <link id="W_STOPCODE"/>
- <link id="WEXITSTATUS"/>
- </seealso>
- </element>
- <!-- function Visibility: default -->
- <element name="WIFSTOPPED">
- <short>Check whether the process is currently stopped.</short>
- <descr>
- <var>WIFSTOPPED</var> checks <var>Status</var> and returns <var>true</var>
- if the process is currently stopped. This is only possible if WUNTRACED was
- specified in the options of <link id="WaitPID"/>.
- </descr>
- <seealso>
- <link id="WaitPID"/>
- <link id="WaitProcess"/>
- <link id="WTERMSIG"/>
- <link id="WSTOPSIG"/>
- <link id="WIFEXITED"/>
- <link id="WIFSIGNALED"/>
- <link id="W_EXITCODE"/>
- <link id="W_STOPCODE"/>
- <link id="WEXITSTATUS"/>
- </seealso>
- </element>
- <!-- function Visibility: default -->
- <element name="WIFSIGNALED">
- <short>Check whether the process was exited by a signal.</short>
- <descr>
- <var>WIFSIGNALED</var> returns <var>True</var> if <var>Status</var>
- indicates that the process exited because it received a signal.
- </descr>
- <seealso>
- <link id="WaitPID"/>
- <link id="WaitProcess"/>
- <link id="WTERMSIG"/>
- <link id="WSTOPSIG"/>
- <link id="WIFEXITED"/>
- <link id="WIFSTOPPED"/>
- <link id="W_EXITCODE"/>
- <link id="W_STOPCODE"/>
- <link id="WEXITSTATUS"/>
- </seealso>
- </element>
- <!-- function Visibility: default -->
- <element name="W_EXITCODE">
- <short>Construct an exit status based on an return code and signal.</short>
- <descr>
- <var>W_EXITCODE</var> combines <var>ReturnCode</var> and <var>Signal</var>
- to a status code fit for <var>WaitPid</var>.
- </descr>
- <seealso>
- <link id="WaitPID"/>
- <link id="WaitProcess"/>
- <link id="WTERMSIG"/>
- <link id="WSTOPSIG"/>
- <link id="WIFEXITED"/>
- <link id="WIFSTOPPED"/>
- <link id="WIFSIGNALED"/>
- <link id="W_STOPCODE"/>
- <link id="WEXITSTATUS"/>
- </seealso>
- </element>
- <!-- function Visibility: default -->
- <element name="W_STOPCODE">
- <short>Construct an exit status based on a signal.</short>
- <descr>
- <var>W_STOPCODE</var> constructs an exit status based on
- <var>Signal</var>, which will cause <link id="WIFSIGNALED"/> to return
- <var>True</var>
- </descr>
- <seealso>
- <link id="WaitPID"/>
- <link id="WaitProcess"/>
- <link id="WTERMSIG"/>
- <link id="WSTOPSIG"/>
- <link id="WIFEXITED"/>
- <link id="WIFSTOPPED"/>
- <link id="WIFSIGNALED"/>
- <link id="W_EXITCODE"/>
- <link id="WEXITSTATUS"/>
- </seealso>
- </element>
- <!-- constant Visibility: default -->
- <element name="MAP_GROWSDOWN">
- <short><link id="MMap"/> option: Memory grows downward (like a stack)</short>
- </element>
- <!-- constant Visibility: default -->
- <element name="MAP_DENYWRITE">
- <short><link id="MMap"/> option: Ignored.</short>
- </element>
- <!-- constant Visibility: default -->
- <element name="MAP_EXECUTABLE">
- <short><link id="MMap"/> option: Ignored.</short>
- </element>
- <!-- constant Visibility: default -->
- <element name="MAP_LOCKED">
- <short><link id="MMap"/> option: lock the pages in memory.</short>
- </element>
- <!-- constant Visibility: default -->
- <element name="MAP_NORESERVE">
- <short><link id="MMap"/> option: Do not reserve swap pages for this memory.</short>
- </element>
- <!-- record type Visibility: default -->
- <element name="tmmapargs">
- <short>Record containing mmap args.</short>
- </element>
- <!-- variable Visibility: default -->
- <element name="tmmapargs.address">
- <short>Address pointer</short>
- </element>
- <!-- variable Visibility: default -->
- <element name="tmmapargs.size">
- <short>Size of region.</short>
- </element>
- <!-- variable Visibility: default -->
- <element name="tmmapargs.prot">
- <short>Memory protection flags</short>
- </element>
- <!-- variable Visibility: default -->
- <element name="tmmapargs.flags">
- <short>Flags</short>
- </element>
- <!-- variable Visibility: default -->
- <element name="tmmapargs.fd">
- <short>File descriptor</short>
- </element>
- <!-- variable Visibility: default -->
- <element name="tmmapargs.offset">
- <short>Offset: Multiple of page size</short>
- </element>
- <!-- function Visibility: default -->
- <element name="IoPL">
- <short>Set I/O privilege level</short>
- <descr>
- <var>IoPL</var> sets the I/O privilige level. It is intended for
- completeness only, one should normally not use it.
- </descr>
- </element>
- </module>
- </package>
- </fpdoc-descriptions>
|