123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474 |
- {
- This file is part of the Free Pascal run time library.
- (c) 2000-2003 by Marco van de Voort
- member of the Free Pascal development team.
- See the file COPYING.FPC, included in this distribution,
- for details about the copyright.
- Header conversions (with FpIoctl macro expansion) for FreeBSD 4.2's
- sys/fbio.h sys/consio.h sys/kbdio.h (together these three form
- machine/console.h) and
- machine/mouse.h
- Converted to use in a future FreeBSD API to get the IDE running on
- the physical console with mousesupport.
- As soon as cross unit inlining is ready, all functions should be made
- inline. (so the FpIoctl and the other very small macro's)
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY;without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- }
- UNIT Console;
- {$packrecords C}
- interface
- {I tried to keep original types as much as possible, only "int" is converted
- to longint because INT is a standard function in TP/FPC}
- TYPE
- uchar = char;
- uint = dword;
- u_int = uint;
- ushort= word;
- short = integer;
- long = dword; {?}
- size_t= longint; {Dunno sure, but it is 32-bit}
- caddr_t= longint; {idem}
- vm_offset_t=dword; {idem}
- {----------------------------- sys/fbio.h ----------------------------------}
- {
- * Copyright (c) 1992, 1993
- * The Regents of the University of California. All rights reserved.
- *
- * This code is derived from software developed by the Computer Systems
- * Engineering group at Lawrence Berkeley Laboratory under DARPA
- * contract BG 91-66 and contributed to Berkeley.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the University of
- * California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * @(#)fbio.h 8.2 (Berkeley) 10/30/93
- *
- * $FreeBSD: src/sys/sys/fbio.h,v 1.9.2.1 2000/05/05 09:16:16 nyan Exp $
- }
- {
- * Frame buffer FpIoctls (from Sprite, trimmed to essentials for X11).
- }
- {
- * Frame buffer type codes.
- }
- CONST
- FBTYPE_SUN1BW =0; { multibus mono }
- FBTYPE_SUN1COLOR =1; { multibus color }
- FBTYPE_SUN2BW =2; { memory mono }
- FBTYPE_SUN2COLOR =3; { color w/rasterop chips }
- FBTYPE_SUN2GP =4; { GP1/GP2 }
- FBTYPE_SUN5COLOR =5; { RoadRunner accelerator }
- FBTYPE_SUN3COLOR =6; { memory color }
- FBTYPE_MEMCOLOR =7; { memory 24-bit }
- FBTYPE_SUN4COLOR =8; { memory color w/overlay }
- FBTYPE_NOTSUN1 =9; { reserved for customer }
- FBTYPE_NOTSUN2 =10; { reserved for customer }
- FBTYPE_NOTSUN3 =11; { reserved for customer }
- FBTYPE_SUNFAST_COLOR =12; { accelerated 8bit }
- FBTYPE_SUNROP_COLOR =13; { MEMCOLOR with rop h/w }
- FBTYPE_SUNFB_VIDEO =14; { Simple video mixing }
- FBTYPE_RESERVED5 =15; { reserved, do not use }
- FBTYPE_RESERVED4 =16; { reserved, do not use }
- FBTYPE_RESERVED3 =17; { reserved, do not use }
- FBTYPE_RESERVED2 =18; { reserved, do not use }
- FBTYPE_RESERVED1 =19; { reserved, do not use }
- FBTYPE_MDA =20;
- FBTYPE_HERCULES =21;
- FBTYPE_CGA =22;
- FBTYPE_EGA =23;
- FBTYPE_VGA =24;
- FBTYPE_PC98 =25;
- FBTYPE_TGA =26;
- FBTYPE_LASTPLUSONE =27; { max number of fbs (change as add) }
- {
- * Frame buffer descriptor as returned by FBIOGTYPE.
- }
- type fbtype = record
- fb_type : longint; { as defined above }
- fb_height : longint; { in pixels }
- fb_width : longint; { in pixels }
- fb_depth : longint; { bits per pixel }
- fb_cmsize : longint; { size of color map (entries) }
- fb_size : longint; { total size in bytes }
- end;
- Function FBIOGTYPE(fd:longint;var param1 : fbtype):boolean;
- {
- * General purpose structure for passing info in and out of frame buffers
- * (used for gp1) -- unsupported.
- }
- type fbinfo = record
- fb_physaddr : longint; { physical frame buffer address }
- fb_hwwidth : longint; { fb board width }
- fb_hwheight : longint; { fb board height }
- fb_addrdelta : longint; { phys addr diff between boards }
- fb_ropaddr : ^uchar; { fb virtual addr }
- fb_unit : longint; { minor devnum of fb }
- end;
- Function FBIOGINFO(fd:longint;var param1 : fbinfo):boolean;
- type
- {
- * Color map I/O.
- }
- fbcmap = record
- index : longint; { first element (0 origin) }
- count : longint; { number of elements }
- red : ^uchar; { red color map elements }
- green : ^uchar; { green color map elements }
- blue : ^uchar; { blue color map elements }
- end;
- Function FBIOPUTCMAP(fd:longint;var param1 : fbcmap):boolean;
- Function FBIOGETCMAP(fd:longint;var param1 : fbcmap):boolean;
- {
- * Set/get attributes.
- }
- const
- FB_ATTR_NDEVSPECIFIC =8; { no. of device specific values }
- FB_ATTR_NEMUTYPES =4; { no. of emulation types }
- type fbsattr = record
- flags:longint; { flags; see below }
- emu_type : longint; { emulation type (-1 if unused) }
- dev_specific : array[0..FB_ATTR_NDEVSPECIFIC-1] of longint; { catchall }
- end;
- const
- FB_ATTR_AUTOINIT =1; { emulation auto init flag }
- FB_ATTR_DEVSPECIFIC =2; { dev. specific stuff valid flag }
- type fbgattr = record
- real_type : longint; { real device type }
- owner : longint; { PID of owner, 0 if myself }
- _fbtype : fbtype; { fbtype info for real device }
- sattr : fbsattr; { see above }
- emu_types : array [0..FB_ATTR_NEMUTYPES-1] OF Longint; { possible emulations }
- { (-1 if unused) }
- end;
- { FBIOSATTR _IOW('F', 5, struct fbsattr) -- unsupported }
- Function FBIOGATTR(fd:longint;var param1 : fbgattr):boolean;
- {
- * Video control.
- }
- const
- FBVIDEO_OFF =0;
- FBVIDEO_ON =1;
- Function FBIOSVIDEO(fd:longint;var param1 : longint):boolean;
- Function FBIOGVIDEO(fd:longint;var param1 : longint):boolean;
- {
- * Hardware cursor control (for, e.g., CG6). A rather complex and icky
- * interface that smells like VMS, but there it is....
- }
- type fbcurpos = record
- x : short;
- y : short;
- end;
- fbcursor = record
- _set : short; { flags; see below }
- enable : short; { nonzero => cursor on, 0 => cursor off }
- _pos : fbcurpos; { position on display }
- hot : fbcurpos; { hot-spot within cursor }
- cmap : fbcmap; { cursor color map }
- _size : fbcurpos; { number of valid bits in image & mask }
- image : caddr_t; { cursor image bits }
- mask : caddr_t; { cursor mask bits }
- end;
- const
- FB_CUR_SETCUR =$01; { set on/off (i.e., obey fbcursor.enable) }
- FB_CUR_SETPOS =$02; { set position }
- FB_CUR_SETHOT =$04; { set hot-spot }
- FB_CUR_SETCMAP =$08; { set cursor color map }
- FB_CUR_SETSHAPE =$10; { set size & bits }
- FB_CUR_SETALL =(FB_CUR_SETCUR OR FB_CUR_SETPOS OR FB_CUR_SETHOT OR
- FB_CUR_SETCMAP OR FB_CUR_SETSHAPE);
- { controls for cursor attributes & shape (including position) }
- Function FBIOSCURSOR(fd:longint;var param1 : fbcursor):boolean;
- Function FBIOGCURSOR(fd:longint;var param1 : fbcursor):boolean;
- { controls for cursor position only }
- Function FBIOSCURPOS(fd:longint;var param1 : fbcurpos):boolean;
- Function FBIOGCURPOS(fd:longint;var param1 : fbcurpos):boolean;
- { get maximum cursor size }
- Function FBIOGCURMAX(fd:longint;var param1 : fbcurpos):boolean;
- { The new style frame buffer FpIoctls. }
- CONST
- V_INFO_COLOR =(1 SHL 0);
- V_INFO_GRAPHICS =(1 SHL 1);
- V_INFO_LINEAR =(1 SHL 2);
- V_INFO_VESA =(1 SHL 3);
- V_INFO_MM_OTHER =(-1);
- V_INFO_MM_TEXT =0;
- V_INFO_MM_PLANAR =1;
- V_INFO_MM_PACKED =2;
- V_INFO_MM_DIRECT =3;
- V_INFO_MM_CGA =100;
- V_INFO_MM_HGC =101;
- V_INFO_MM_VGAX =102;
- TYPE
- { video mode information block }
- video_info = record
- vi_mode : longint; { mode number, see below }
- vi_flags : longint;
- vi_width : longint;
- vi_height : longint;
- vi_cwidth : longint;
- vi_cheight : longint;
- vi_depth : longint;
- vi_planes : longint;
- vi_window : uint; { physical address }
- vi_window_size : size_t;
- vi_window_gran : size_t;
- vi_buffer : uint; { physical address }
- vi_buffer_size : size_t;
- vi_mem_model : longint;
- { for MM_PACKED and MM_DIRECT only }
- vi_pixel_size : longint; { in bytes }
- { for MM_DIRECT only }
- vi_pixel_fields : array[0..3] of longint; { RGB and reserved fields }
- vi_pixel_fsizes : array[0..3] of longint;
- { reserved }
- vi_reserved : array[0..63] of uchar;
- end;
- video_info_t = video_info;
- const
- KD_OTHER =0; { unknown }
- KD_MONO =1; { monochrome adapter }
- KD_HERCULES =2; { hercules adapter }
- KD_CGA =3; { color graphics adapter }
- KD_EGA =4; { enhanced graphics adapter }
- KD_VGA =5; { video graphics adapter }
- KD_PC98 =6; { PC-98 display }
- KD_TGA =7; { TGA }
- V_ADP_COLOR =(1 SHL 0);
- V_ADP_MODECHANGE=(1 SHL 1);
- V_ADP_STATESAVE =(1 SHL 2);
- V_ADP_STATELOAD =(1 SHL 3);
- V_ADP_FONT =(1 SHL 4);
- V_ADP_PALETTE =(1 SHL 5);
- V_ADP_BORDER =(1 SHL 6);
- V_ADP_VESA =(1 SHL 7);
- V_ADP_PROBED =(1 SHL 16);
- V_ADP_INITIALIZED=(1 SHL 17);
- V_ADP_REGISTERED =(1 SHL 18);
- { adapter infromation block }
- type video_adapter = record
- va_index : longint;
- va_type : longint;
- va_name : pchar;
- va_unit : longint;
- va_minor : longint;
- va_flags : longint;
- va_io_base : longint;
- va_io_size : longint;
- va_crtc_addr : longint;
- va_mem_base : longint;
- va_mem_size : longint;
- va_window : vm_offset_t; { virtual address }
- va_window_size : size_t;
- va_window_gran : size_t;
- va_window_orig : uint;
- va_buffer : vm_offset_t; { virtual address }
- va_buffer_size : size_t;
- va_initial_mode : longint;
- va_initial_bios_mode : longint;
- va_mode : longint;
- va_info : video_info;
- va_line_width : longint;
- va_disp_start : record
- x : longint;
- y : longint;
- end;
- va_token : pointer;
- end;
- video_adapter_t = video_adapter;
- video_adapter_info = record
- va_index : longint;
- va_type : longint;
- va_name : array[0..15] of char;
- va_unit : longint;
- va_flags : longint;
- va_io_base : longint;
- va_io_size : longint;
- va_crtc_addr : longint;
- va_mem_base : longint;
- va_mem_size : longint;
- va_window : uint; { virtual address }
- va_window_size : size_t;
- va_window_gran : size_t;
- va_unused0 : uint;
- va_buffer_size : size_t;
- va_initial_mode : longint;
- va_initial_bios_mode : longint;
- va_mode : longint;
- va_line_width : longint;
- va_disp_start : record
- x : longint;
- y : longint;
- end;
- va_window_orig : uint;
- { reserved }
- va_reserved : array[0..63] OF uchar;
- end;
- video_adapter_info_t = video_adapter_info;
- CONST
- { some useful video adapter index }
- V_ADP_PRIMARY =0;
- V_ADP_SECONDARY =1;
- { video mode numbers }
- M_B40x25 =0; { black & white 40 columns }
- M_C40x25 =1; { color 40 columns }
- M_B80x25 =2; { black & white 80 columns }
- M_C80x25 =3; { color 80 columns }
- M_BG320 =4; { black & white graphics 320x200 }
- M_CG320 =5; { color graphics 320x200 }
- M_BG640 =6; { black & white graphics 640x200 hi-res }
- M_EGAMONO80x25 =7; { ega-mono 80x25 }
- M_CG320_D =13; { ega mode D }
- M_CG640_E =14; { ega mode E }
- M_EGAMONOAPA =15; { ega mode F }
- M_CG640x350 =16; { ega mode 10 }
- M_ENHMONOAPA2 =17; { ega mode F with extended memory }
- M_ENH_CG640 =18; { ega mode 10* }
- M_ENH_B40x25 =19; { ega enhanced black & white 40 columns }
- M_ENH_C40x25 =20; { ega enhanced color 40 columns }
- M_ENH_B80x25 =21; { ega enhanced black & white 80 columns }
- M_ENH_C80x25 =22; { ega enhanced color 80 columns }
- M_VGA_C40x25 =23; { vga 8x16 font on color }
- M_VGA_C80x25 =24; { vga 8x16 font on color }
- M_VGA_M80x25 =25; { vga 8x16 font on mono }
- M_VGA11 =26; { vga 640x480 2 colors }
- M_BG640x480 =26;
- M_VGA12 =27; { vga 640x480 16 colors }
- M_CG640x480 =27;
- M_VGA13 =28; { vga 320x200 256 colors }
- M_VGA_CG320 =28;
- M_VGA_C80x50 =30; { vga 8x8 font on color }
- M_VGA_M80x50 =31; { vga 8x8 font on color }
- M_VGA_C80x30 =32; { vga 8x16 font on color }
- M_VGA_M80x30 =33; { vga 8x16 font on color }
- M_VGA_C80x60 =34; { vga 8x8 font on color }
- M_VGA_M80x60 =35; { vga 8x8 font on color }
- M_VGA_CG640 =36; { vga 640x400 256 color }
- M_VGA_MODEX =37; { vga 320x240 256 color }
- M_VGA_C90x25 =40; { vga 8x16 font on color }
- M_VGA_M90x25 =41; { vga 8x16 font on mono }
- M_VGA_C90x30 =42; { vga 8x16 font on color }
- M_VGA_M90x30 =43; { vga 8x16 font on mono }
- M_VGA_C90x43 =44; { vga 8x8 font on color }
- M_VGA_M90x43 =45; { vga 8x8 font on mono }
- M_VGA_C90x50 =46; { vga 8x8 font on color }
- M_VGA_M90x50 =47; { vga 8x8 font on mono }
- M_VGA_C90x60 =48; { vga 8x8 font on color }
- M_VGA_M90x60 =49; { vga 8x8 font on mono }
- M_ENH_B80x43 =$70; { ega black & white 80x43 }
- M_ENH_C80x43 =$71; { ega color 80x43 }
- M_PC98_80x25 =98; { PC98 text 80x25 }
- M_PC98_80x30 =99; { PC98 text 80x30 }
- M_PC98_EGC640x400 =100; { PC98 graphic 640x400 16 colors }
- M_PC98_PEGC640x400 =101; { PC98 graphic 640x400 256 colors }
- M_PC98_PEGC640x480 =102; { PC98 graphic 640x480 256 colors }
- M_HGC_P0 =$e0; { hercules graphics - page 0 @ B0000 }
- M_HGC_P1 =$e1; { hercules graphics - page 1 @ B8000 }
- M_MCA_MODE =$ff; { monochrome adapter mode }
- M_TEXT_80x25 =200; { generic text modes }
- M_TEXT_80x30 =201;
- M_TEXT_80x43 =202;
- M_TEXT_80x50 =203;
- M_TEXT_80x60 =204;
- M_TEXT_132x25 =205;
- M_TEXT_132x30 =206;
- M_TEXT_132x43 =207;
- M_TEXT_132x50 =208;
- M_TEXT_132x60 =209;
- M_VESA_BASE =$100; { VESA mode number base }
- M_VESA_CG640x400 =$100; { 640x400, 256 color }
- M_VESA_CG640x480 =$101; { 640x480, 256 color }
- M_VESA_800x600 =$102; { 800x600, 16 color }
- M_VESA_CG800x600 =$103; { 800x600, 256 color }
- M_VESA_1024x768 =$104; { 1024x768, 16 color }
- M_VESA_CG1024x768 =$105; { 1024x768, 256 color }
- M_VESA_1280x1024 =$106; { 1280x1024, 16 color }
- M_VESA_CG1280x1024 =$107; { 1280x1024, 256 color }
- M_VESA_C80x60 =$108; { 8x8 font }
- M_VESA_C132x25 =$109; { 8x16 font }
- M_VESA_C132x43 =$10a; { 8x14 font }
- M_VESA_C132x50 =$10b; { 8x8 font }
- M_VESA_C132x60 =$10c; { 8x8 font }
- M_VESA_32K_320 =$10d; { 320x200, 5:5:5 }
- M_VESA_64K_320 =$10e; { 320x200, 5:6:5 }
- M_VESA_FULL_320 =$10f; { 320x200, 8:8:8 }
- M_VESA_32K_640 =$110; { 640x480, 5:5:5 }
- M_VESA_64K_640 =$111; { 640x480, 5:6:5 }
- M_VESA_FULL_640 =$112; { 640x480, 8:8:8 }
- M_VESA_32K_800 =$113; { 800x600, 5:5:5 }
- M_VESA_64K_800 =$114; { 800x600, 5:6:5 }
- M_VESA_FULL_800 =$115; { 800x600, 8:8:8 }
- M_VESA_32K_1024 =$116; { 1024x768, 5:5:5 }
- M_VESA_64K_1024 =$117; { 1024x768, 5:6:5 }
- M_VESA_FULL_1024 =$118; { 1024x768, 8:8:8 }
- M_VESA_32K_1280 =$119; { 1280x1024, 5:5:5 }
- M_VESA_64K_1280 =$11a; { 1280x1024, 5:6:5 }
- M_VESA_FULL_1280 =$11b; { 1280x1024, 8:8:8 }
- M_VESA_MODE_MAX =$1ff;
- type
- video_display_start = record
- x :longint;
- y : longint;
- end;
- video_display_start_t= video_display_start;
- video_color_palette = record
- index : longint; { first element (zero-based) }
- count : longint; { number of elements }
- red : ^uchar; { red }
- green : ^uchar; { green }
- blue : ^uchar; { blue }
- transparent : ^uchar; { may be NULL }
- end;
- video_color_palette_t = video_color_palette;
- { adapter info. }
- Function FBIO_ADAPTER(fd:longint;var param1 : longint):boolean;
- Function FBIO_ADPTYPE(fd:longint;var param1 : longint):boolean;
- Function FBIO_ADPINFO(fd:longint;var param1 : video_adapter_info):boolean;
- { video mode control }
- Function FBIO_MODEINFO(fd:longint;var param1 : video_info):boolean;
- Function FBIO_FINDMODE(fd:longint;var param1 : video_info):boolean;
- Function FBIO_GETMODE(fd:longint;var param1 : longint):boolean;
- Function FBIO_SETMODE(fd:longint;var param1 : longint):boolean;
- { get/set frame buffer window origin }
- Function FBIO_GETWINORG(fd:longint;var param1 : u_int):boolean;
- Function FBIO_SETWINORG(fd:longint;var param1 : u_int):boolean;
- { get/set display start address }
- Function FBIO_GETDISPSTART(fd:longint;var param1 : video_display_start_t):boolean;
- Function FBIO_SETDISPSTART(fd:longint;var param1 : video_display_start_t):boolean;
- { get/set scan line width }
- Function FBIO_GETLINEWIDTH(fd:longint;var param1 : u_int):boolean;
- Function FBIO_SETLINEWIDTH(fd:longint;var param1 : u_int):boolean;
- { color palette control }
- Function FBIO_GETPALETTE(fd:longint;var param1 : video_color_palette_t):boolean;
- Function FBIO_SETPALETTE(fd:longint;var param1 : video_color_palette_t):boolean;
- {----------------------------- sys/consio.h ----------------------------------}
- { version packaged with FreeBSD 4.2-RELEASE
- Translation to FreePascal by Marco van de Voort. (2000-2001), original
- copyright follows:
- * Copyright (c) 1991-1996 Søren Schmidt
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer
- * in this position and unchanged.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * $FreeBSD: src/sys/sys/consio.h,v 1.5.2.1 2000/05/05 09:16:15 nyan Exp $
- }
- {$define definconsole}
- {
- * Console FpIoctl commands. Some commands are named as KDXXXX, GIO_XXX, and
- * PIO_XXX, rather than CONS_XXX, for historical and compatibility reasons.
- * Some other CONS_XXX commands are works as wrapper around frame buffer
- * FpIoctl commands FBIO_XXX. Do not try to change all these commands,
- * otherwise we shall have compatibility problems.
- }
- const
- { get/set video mode }
- KD_TEXT =0; { set text mode restore fonts }
- KD_TEXT0 =0; { ditto }
- KD_GRAPHICS =1; { set graphics mode }
- KD_TEXT1 =2; { set text mode !restore fonts }
- KD_PIXEL =3; { set pixel mode }
- Function KDGETMODE(fd:longint;var param1 : longint):boolean;
- Function KDSETMODE(fd:longint;param1 : longint):boolean;
- { set border color }
- Function KDSBORDER(fd:longint;param1 : longint):boolean;
- { set up raster(pixel) text mode }
- type
- scr_size = record
- _scrsize : array[0..2] of longint;
- end;
- scr_size_t = scr_size;
- Function KDRASTER(fd:longint;var param1 : scr_size_t):boolean;
- type
- { get/set screen char map }
- scrmap = record
- _scrmap : array[0..255] of char;
- end;
- scrmap_t = scrmap;
- Function GIO_SCRNMAP(fd:longint;var param1 : scrmap_t):boolean;
- Function PIO_SCRNMAP(fd:longint;var param1 : scrmap_t):boolean;
- { get the current text attribute }
- Function GIO_ATTR(fd:longint;var param1 : longint):boolean;
- { get the current text color }
- Function GIO_COLOR(fd:longint;var param1 : longint):boolean;
- { get the adapter type (equivalent to FBIO_ADPTYPE) }
- Function CONS_CURRENT(fd:longint;var param1 : longint):boolean;
- { get the current video mode (equivalent to FBIO_GETMODE) }
- Function CONS_GET(fd:longint;var param1 : longint):boolean;
- { not supported? }
- Function CONS_IO(fd:longint):boolean;
- { set blank time interval }
- Function CONS_BLANKTIME(fd:longint;var param1 : longint):boolean;
- { set/get the screen saver (these FpIoctls are current noop) }
- CONST maxsaver=16;
- type ssaver =record
- name : array[0..maxsaver-1] of char;
- num : Longint;
- time : Long;
- end;
- ssaver_t = ssaver;
- Function CONS_SSAVER(fd:longint;var param1 : ssaver_t):boolean;
- Function CONS_GSAVER(fd:longint;var param1 : ssaver_t):boolean;
- { set the text cursor shape }
- CONST
- CONS_BLINK_CURSOR = (1 shl 0);
- CONS_CHAR_CURSOR = (1 shl 1);
- Function CONS_CURSORTYPE(fd:longint;var param1 : longint):boolean;
- { set the bell type to audible or visual }
- CONST
- CONS_VISUAL_BELL =(1 shl 0);
- CONS_QUIET_BELL =(1 shl 1);
- Function CONS_BELLTYPE(fd:longint;var param1 : longint):boolean;
- { set the history (scroll back) buffer size (in lines) }
- Function CONS_HISTORY(fd:longint;var param1 : longint):boolean;
- { mouse cursor FpIoctl }
- type
- mouse_data = record
- x : longint;
- y : Longint;
- z : longint;
- buttons : longint;
- end;
- mouse_data_t = mouse_data;
- mouse_mode = record
- mode : longint;
- signal : longint;
- end;
- mouse_mode_t = mouse_mode;
- mouse_event = record
- id : Longint; { one based }
- value : longint;
- end;
- mouse_event_t = mouse_event;
- CONST
- MOUSE_SHOW =$01;
- MOUSE_HIDE =$02;
- MOUSE_MOVEABS =$03;
- MOUSE_MOVEREL =$04;
- MOUSE_GETINFO =$05;
- _MOUSE_MODE =$06;
- MOUSE_ACTION =$07;
- MOUSE_MOTION_EVENT =$08;
- MOUSE_BUTTON_EVENT =$09;
- MOUSE_MOUSECHAR =$0a;
- TYPE
- mouse_info = record
- operation : longint;
- u : record
- case integer of
- 0: (data : mouse_data_t);
- 1: (mode : mouse_mode_t);
- 2: (event: mouse_event_t);
- 3: (mouse_char : longint);
- end;
- end;
- mouse_info_t = mouse_info;
- Function CONS_MOUSECTL(fd:longint;var param1 : mouse_info_t):boolean;
- { see if the vty has been idle }
- Function CONS_IDLE(fd:longint;var param1 : longint):boolean;
- { set the screen saver mode }
- CONST
- CONS_LKM_SAVER = 0;
- CONS_USR_SAVER = 1;
- Function CONS_SAVERMODE(fd:longint;var param1 : longint):boolean;
- { start the screen saver }
- Function CONS_SAVERSTART(fd:longint;var param1 : longint):boolean;
- TYPE
- { set/get font data }
- fnt8 = record
- fnt8x8 : array[0..8*256-1] of char;
- end;
- fnt8_t = fnt8;
- fnt14 = record
- fnt8x14: array[0..14*256-1] of char;
- end;
- fnt14_t = fnt14;
- fnt16 = record
- fnt8x16: array[0..16*256-1] of char;
- end;
- fnt16_t = fnt16;
- Function PIO_FONT8x8(fd:longint;var param1 : fnt8_t):boolean;
- Function GIO_FONT8x8(fd:longint;var param1 : fnt8_t):boolean;
- Function PIO_FONT8x14(fd:longint;var param1 : fnt14_t):boolean;
- Function GIO_FONT8x14(fd:longint;var param1 : fnt14_t):boolean;
- Function PIO_FONT8x16(fd:longint;var param1 : fnt16_t):boolean;
- Function GIO_FONT8x16(fd:longint;var param1 : fnt16_t):boolean;
- { get video mode information }
- type colors = record
- fore : char;
- back : char;
- end;
- vid_info = record
- _size : short;
- m_num : short;
- mv_row,
- mv_col : ushort;
- mv_rsz,
- mv_csz : ushort;
- mv_norm,
- mv_rev,
- mv_grfc : colors;
- mv_ovscan : uchar;
- mk_keylock : uchar;
- end;
- vid_info_t = vid_info;
- Function CONS_GETINFO(fd:longint;var param1 : vid_info_t):boolean;
- { get version }
- Function CONS_GETVERS(fd:longint;var param1 : longint):boolean;
- { get the video adapter index (equivalent to FBIO_ADAPTER) }
- Function CONS_CURRENTADP(fd:longint;var param1 : longint):boolean;
- { get the video adapter information (equivalent to FBIO_ADPINFO) }
- Function CONS_ADPINFO(fd:longint;var param1 : video_adapter_info_t):boolean;
- { get the video mode information (equivalent to FBIO_MODEINFO) }
- Function CONS_MODEINFO(fd:longint;var param1 : video_info_t):boolean;
- { find a video mode (equivalent to FBIO_FINDMODE) }
- Function CONS_FINDMODE(fd:longint;var param1 : video_info_t):boolean;
- { set the frame buffer window origin (equivalent to FBIO_SETWINORG) }
- Function CONS_SETWINORG(fd:longint;param1 : longint):boolean;
- { use the specified keyboard }
- Function CONS_SETKBD(fd:longint;param1 : longint):boolean;
- { release the current keyboard }
- Function CONS_RELKBD(fd:longint):boolean;
- { get/set the current terminal emulator info. }
- CONST
- TI_NAME_LEN = 32;
- TI_DESC_LEN = 64;
- TYPE
- term_info = record
- ti_index : Longint;
- ti_flags : longint;
- ti_name : array[0..TI_NAME_LEN-1] of uchar;
- ti_desc : array[0..TI_DESC_LEN-1] of uchar;
- end;
- term_info_t = term_info;
- Function CONS_GETTERM(fd:longint;var param1 : term_info_t):boolean;
- Function CONS_SETTERM(fd:longint;var param1 : term_info_t):boolean;
- {$ifdef PC98}
- Function ADJUST_CLOCK(fd:longint):boolean;
- {$endif}
- {
- * Vty switching FpIoctl commands.
- }
- { get the next available vty }
- Function VT_OPENQRY(fd:longint;var param1 : longint):boolean;
- { set/get vty switching mode }
- const
- VT_AUTO =0; { switching is automatic }
- VT_PROCESS =1; { switching controlled by prog }
- VT_KERNEL =255; { switching controlled in kernel }
- TYPE
- vt_mode = record
- mode : Char;
- waitv : char; { not implemented yet SOS }
- relsig : short;
- acqsig : short;
- frsig : short; { not implemented yet SOS }
- end;
- vtmode_t = vt_mode;
- Function VT_SETMODE(fd:longint;var param1 : vtmode_t):boolean;
- Function VT_GETMODE(fd:longint;var param1 : vtmode_t):boolean;
- { acknowledge release or acquisition of a vty }
- const
- VT_FALSE = 0;
- VT_TRUE = 1;
- VT_ACKACQ = 2;
- Function VT_RELDISP(fd:longint;param1 : longint):boolean;
- { activate the specified vty }
- Function VT_ACTIVATE(fd:longint;param1 : longint):boolean;
- { wait until the specified vty is activate }
- Function VT_WAITACTIVE(fd:longint;param1 : longint):boolean;
- { get the currently active vty }
- Function VT_GETACTIVE(fd:longint;var param1 : longint):boolean;
- { get the index of the vty }
- Function VT_GETINDEX(fd:longint;var param1 : longint):boolean;
- {
- * Video mode switching FpIoctl. See sys/fbio.h for mode numbers.
- }
- Function SW_B40x25(fd:longint):boolean;
- Function SW_C40x25(fd:longint):boolean;
- Function SW_B80x25(fd:longint):boolean;
- Function SW_C80x25(fd:longint):boolean;
- Function SW_BG320(fd:longint):boolean;
- Function SW_CG320(fd:longint):boolean;
- Function SW_BG640(fd:longint):boolean;
- Function SW_EGAMONO80x25(fd:longint):boolean;
- Function SW_CG320_D(fd:longint):boolean;
- Function SW_CG640_E(fd:longint):boolean;
- Function SW_EGAMONOAPA(fd:longint):boolean;
- Function SW_CG640x350(fd:longint):boolean;
- Function SW_ENH_MONOAPA2(fd:longint):boolean;
- Function SW_ENH_CG640(fd:longint):boolean;
- Function SW_ENH_B40x25(fd:longint):boolean;
- Function SW_ENH_C40x25(fd:longint):boolean;
- Function SW_ENH_B80x25(fd:longint):boolean;
- Function SW_ENH_C80x25(fd:longint):boolean;
- Function SW_ENH_B80x43(fd:longint):boolean;
- Function SW_ENH_C80x43(fd:longint):boolean;
- Function SW_MCAMODE(fd:longint):boolean;
- Function SW_VGA_C40x25(fd:longint):boolean;
- Function SW_VGA_C80x25(fd:longint):boolean;
- Function SW_VGA_C80x30(fd:longint):boolean;
- Function SW_VGA_C80x50(fd:longint):boolean;
- Function SW_VGA_C80x60(fd:longint):boolean;
- Function SW_VGA_M80x25(fd:longint):boolean;
- Function SW_VGA_M80x30(fd:longint):boolean;
- Function SW_VGA_M80x50(fd:longint):boolean;
- Function SW_VGA_M80x60(fd:longint):boolean;
- Function SW_VGA11(fd:longint):boolean;
- Function SW_BG640x480(fd:longint):boolean;
- Function SW_VGA12(fd:longint):boolean;
- Function SW_CG640x480(fd:longint):boolean;
- Function SW_VGA13(fd:longint):boolean;
- Function SW_VGA_CG320(fd:longint):boolean;
- Function SW_VGA_CG640(fd:longint):boolean;
- Function SW_VGA_MODEX(fd:longint):boolean;
- Function SW_PC98_80x25(fd:longint):boolean;
- Function SW_PC98_80x30(fd:longint):boolean;
- Function SW_PC98_EGC640x400(fd:longint):boolean;
- Function SW_PC98_PEGC640x400(fd:longint):boolean;
- Function SW_PC98_PEGC640x480(fd:longint):boolean;
- Function SW_VGA_C90x25(fd:longint):boolean;
- Function SW_VGA_M90x25(fd:longint):boolean;
- Function SW_VGA_C90x30(fd:longint):boolean;
- Function SW_VGA_M90x30(fd:longint):boolean;
- Function SW_VGA_C90x43(fd:longint):boolean;
- Function SW_VGA_M90x43(fd:longint):boolean;
- Function SW_VGA_C90x50(fd:longint):boolean;
- Function SW_VGA_M90x50(fd:longint):boolean;
- Function SW_VGA_C90x60(fd:longint):boolean;
- Function SW_VGA_M90x60(fd:longint):boolean;
- Function SW_TEXT_80x25(fd:longint):boolean;
- Function SW_TEXT_80x30(fd:longint):boolean;
- Function SW_TEXT_80x43(fd:longint):boolean;
- Function SW_TEXT_80x50(fd:longint):boolean;
- Function SW_TEXT_80x60(fd:longint):boolean;
- Function SW_TEXT_132x25(fd:longint):boolean;
- Function SW_TEXT_132x30(fd:longint):boolean;
- Function SW_TEXT_132x43(fd:longint):boolean;
- Function SW_TEXT_132x50(fd:longint):boolean;
- Function SW_TEXT_132x60(fd:longint):boolean;
- Function SW_VESA_CG640x400(fd:longint):boolean;
- Function SW_VESA_CG640x480(fd:longint):boolean;
- Function SW_VESA_800x600(fd:longint):boolean;
- Function SW_VESA_CG800x600(fd:longint):boolean;
- Function SW_VESA_1024x768(fd:longint):boolean;
- Function SW_VESA_CG1024x768(fd:longint):boolean;
- Function SW_VESA_1280x1024(fd:longint):boolean;
- Function SW_VESA_CG1280x1024(fd:longint):boolean;
- Function SW_VESA_C80x60(fd:longint):boolean;
- Function SW_VESA_C132x25(fd:longint):boolean;
- Function SW_VESA_C132x43(fd:longint):boolean;
- Function SW_VESA_C132x50(fd:longint):boolean;
- Function SW_VESA_C132x60(fd:longint):boolean;
- Function SW_VESA_32K_320(fd:longint):boolean;
- Function SW_VESA_64K_320(fd:longint):boolean;
- Function SW_VESA_FULL_320(fd:longint):boolean;
- Function SW_VESA_32K_640(fd:longint):boolean;
- Function SW_VESA_64K_640(fd:longint):boolean;
- Function SW_VESA_FULL_640(fd:longint):boolean;
- Function SW_VESA_32K_800(fd:longint):boolean;
- Function SW_VESA_64K_800(fd:longint):boolean;
- Function SW_VESA_FULL_800(fd:longint):boolean;
- Function SW_VESA_32K_1024(fd:longint):boolean;
- Function SW_VESA_64K_1024(fd:longint):boolean;
- Function SW_VESA_FULL_1024(fd:longint):boolean;
- Function SW_VESA_32K_1280(fd:longint):boolean;
- Function SW_VESA_64K_1280(fd:longint):boolean;
- Function SW_VESA_FULL_1280(fd:longint):boolean;
- {----------------------------- sys/kbio.h ----------------------------------}
- { version packaged with FreeBSD 4.2-RELEASE
- Translation to FreePascal by Marco van de Voort. (2000-2001), original
- copyright follows: ( I assume BSD licensed)
- Based on
- * $FreeBSD: src/sys/sys/kbio.h,v 1.5.2.1 2000/10/29 16:59:32 dwmalone Exp $
- }
- { get/set keyboard I/O mode}
- const K_RAW =0; { keyboard returns scancodes}
- K_XLATE =1; { keyboard returns ascii}
- K_CODE =2; { keyboard returns keycodes}
- {After each FpIoctl value, I've put the type of the parameters to be passed:
- @int -> pass a pointer to an int.
- int -> pass pointer(int)
- - -> nothing
- @keymap_t -> pass a pointer to a keymap_t
- etc.
- }
- Function KDGKBMODE(fd:longint;var param1 : longint):boolean;
- Function KDSKBMODE(fd:longint;param1 : longint):boolean;
- { make tone}
- Function KDMKTONE(fd:longint;param1 : longint):boolean;
- { see console.h for the definitions of the following FpIoctls}
- {$ifndef definconsole}
- Function KDGETMODE(fd:longint;var param1 : longint):boolean;
- Function KDSETMODE(fd:longint;param1 : longint):boolean;
- Function KDSBORDER(fd:longint;param1 : longint):boolean;
- {$endif}
- const
- { get/set keyboard lock state}
- CLKED =1; { Caps locked}
- NLKED =2; { Num locked}
- SLKED =4; { Scroll locked}
- ALKED =8; { AltGr locked}
- LOCK_MASK =CLKED or NLKED or SLKED or ALKED;
- Function KDGKBSTATE(fd:longint;var param1 : longint):boolean;
- Function KDSKBSTATE(fd:longint;param1 : longint):boolean;
- { enable/disable I/O access}
- Function KDENABIO(fd:longint):boolean;
- Function KDDISABIO(fd:longint):boolean;
- { make sound}
- Function KIOCSOUND(fd:longint;param1 : longint):boolean;
- Const
- { get keyboard model}
- KB_OTHER =0; { keyboard not known}
- KB_84 =1; { 'old' 84 key AT-keyboard}
- KB_101 =2; { MF-101 or MF-102 keyboard}
- Function KDGKBTYPE(fd:longint;var param1 : longint):boolean;
- const
- { get/set keyboard LED state}
- LED_CAP =1; { Caps lock LED}
- LED_NUM =2; { Num lock LED}
- LED_SCR =4; { Scroll lock LED}
- LED_MASK =LED_CAP or LED_NUM or LED_SCR;
- Function KDGETLED(fd:longint;var param1 : longint):boolean;
- Function KDSETLED(fd:longint;param1 : longint):boolean;
- { set keyboard repeat rate (obsolete, use KDSETREPEAT below)}
- Function KDSETRAD(fd:longint;param1 : longint):boolean;
- { see console.h for the definition of the following FpIoctl}
- {$ifndef definconsole}
- Function KDRASTER(fd:longint;var param1 : scr_size_t):boolean;
- {$endif}
- TYPE
- { get keyboard information}
- keyboard_info = Record
- kb_index : longint; { kbdio index#}
- kb_name : array[0..15] of char; { driver name}
- kb_unit : longint; { unit#}
- kb_type : longint; { KB_84, KB_101, KB_OTHER,...}
- kb_config: longint; { device configuration flags}
- kb_flags : longint; { internal flags}
- end;
- keyboard_info_t=keyboard_info;
- Function KDGKBINFO(fd:longint;var param1 : keyboard_info_t):boolean;
- Type
- { set/get keyboard repeat rate (new interface)}
- keyboard_repeat = record
- kb_repeat: array[0..1] of longint;
- end;
- keyboard_repeat_t = keyboard_repeat;
- Function KDSETREPEAT(fd:longint;var param1 : keyboard_repeat_t):boolean;
- Function KDGETREPEAT(fd:longint;var param1 : keyboard_repeat_t):boolean;
- { get/set key map/accent map/function key strings}
- const
- NUM_KEYS =256; { number of keys in table}
- NUM_STATES =8; { states per key}
- ALTGR_OFFSET =128; { offset for altlock keys}
- NUM_DEADKEYS =15; { number of accent keys}
- NUM_ACCENTCHARS =52; { max number of accent chars}
- NUM_FKEYS =96; { max number of function keys}
- MAXFK =16; { max length of a function key str}
- type
- keyent_t = record
- map : array[0..NUM_STATES-1] of uchar;
- spcl : uchar;
- flgs : uchar;
- end;
- const
- FLAG_LOCK_O =0;
- FLAG_LOCK_C =1;
- FLAG_LOCK_N =2;
- type keymap = record
- n_keys : ushort;
- key : array[0..NUM_KEYS-1] OF keyent_t;
- end;
- keymap_t= keymap;
- CONST
- { defines for "special" keys (spcl bit set in keymap)}
- NOP =$00; { nothing (dead key)}
- LSH =$02; { left shift key}
- RSH =$03; { right shift key}
- CLK =$04; { caps lock key}
- NLK =$05; { num lock key}
- SLK =$06; { scroll lock key}
- LALT =$07; { left alt key}
- BTAB =$08; { backwards tab}
- LCTR =$09; { left control key}
- NEXT =$0a; { switch to next screen}
- F_SCR =$0b; { switch to first screen}
- L_SCR =$1a; { switch to last screen}
- F_FN =$1b; { first function key}
- L_FN =$7a; { last function key}
- { $7b-$7f reserved do not use !}
- RCTR =$80; { right control key}
- RALT =$81; { right alt (altgr) key}
- ALK =$82; { alt lock key}
- ASH =$83; { alt shift key}
- META =$84; { meta key}
- RBT =$85; { boot machine}
- DBG =$86; { call debugger}
- SUSP =$87; { suspend power (APM)}
- SPSC =$88; { toggle splash/text screen}
- DGRA =$89; { grave}
- F_ACC =DGRA; { first accent key}
- DACU =$8a; { acute}
- DCIR =$8b; { circumflex}
- DTIL =$8c; { tilde}
- DMAC =$8d; { macron}
- DBRE =$8e; { breve}
- DDOT =$8f; { dot}
- DUML =$90; { umlaut/diaresis}
- DDIA =$90; { diaresis}
- DSLA =$91; { slash}
- DRIN =$92; { ring}
- DCED =$93; { cedilla}
- DAPO =$94; { apostrophe}
- DDAC =$95; { double acute}
- DOGO =$96; { ogonek}
- DCAR =$97; { caron}
- L_ACC =DCAR; { last accent key}
- STBY =$98; { Go into standby mode (apm)}
- PREV =$99; { switch to previous screen}
- PNC =$9a; { force system panic}
- LSHA =$9b; { left shift key / alt lock}
- RSHA =$9c; { right shift key / alt lock}
- LCTRA =$9d; { left ctrl key / alt lock}
- RCTRA =$9e; { right ctrl key / alt lock}
- LALTA =$9f; { left alt key / alt lock}
- RALTA =$a0; { right alt key / alt lock}
- HALT =$a1; { halt machine}
- PDWN =$a2; { halt machine and power down}
- function kbio_F(x:longint):longint;
- function kbio_S(x:longint):longint;
- function kbio_ACC(x:longint):longint;
- type acc_t = record
- accchar : uchar;
- map : array[0..NUM_ACCENTCHARS-1,0..1] of uchar;
- end;
- accentmap = record
- n_accs : ushort;
- acc : array[0..NUM_DEADKEYS-1] of acc_t
- end;
- accentmap_t = accentmap ;
- keyarg = record
- keynum : ushort;
- key : keyent_t;
- end;
- keyarg_t = keyarg;
- fkeytab = record
- str : array [0..MAXFK-1] of uchar;
- len : uchar;
- end;
- fkeytab_t = fkeytab;
- fkeyarg =record
- keynum : ushort;
- keydef : array[0..MAXFK-1] of char;
- flen :char;
- end;
- fkeyarg_t = fkeyarg;
- Function GETFKEY(fd:longint;var param1 : fkeyarg_t):boolean;
- Function SETFKEY(fd:longint;var param1 : fkeyarg_t):boolean;
- {$ifndef definconsole}
- Function GIO_SCRNMAP(fd:longint;var param1 : scrmap_t):boolean;
- Function PIO_SCRNMAP(fd:longint;var param1 : scrmap_t):boolean;
- {$endif}
- Function GIO_KEYMAP(fd:longint;var param1 : keymap_t):boolean;
- Function PIO_KEYMAP(fd:longint;var param1 : keymap_t):boolean;
- Function GIO_DEADKEYMAP(fd:longint;var param1 : accentmap_t):boolean;
- Function PIO_DEADKEYMAP(fd:longint;var param1 : accentmap_t):boolean;
- Function GIO_KEYMAPENT(fd:longint;var param1 : keyarg_t):boolean;
- Function PIO_KEYMAPENT(fd:longint;var param1 : keyarg_t):boolean;
- { flags set to the return value in the KD_XLATE mode}
- Const
- NOKEY =$100; { no key pressed marker}
- FKEY =$200; { function key marker}
- MKEY =$400; { meta key marker (prepend ESC)}
- BKEY =$800; { backtab (ESC [ Z)}
- SPCLKEY =$8000; { special key}
- RELKEY =$4000; { key released}
- ERRKEY =$2000; { error}
- function KEYCHAR(c:longint):longint;
- function KEYFLAGS(c:longint):longint;
- {----------------------------- machine/mouse.h -------------------------------}
- { Based on machine/mouse.h from FreeBSD release 4.2
- * Copyright (c) 1992, 1993 Erik Forsberg.
- * Copyright (c) 1996, 1997 Kazutaka YOKOTA
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * THIS SOFTWARE IS PROVIDED BY ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN
- * NO EVENT SHALL I BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * $FreeBSD: src/sys/i386/include/mouse.h,v 1.15.2.1 2000/03/21 14:44:10 yokota Exp $
- }
- { FpIoctls }
- { mouse status block }
- type
- mousestatus = record
- flags : longint; { state change flags }
- button : longint; { button status }
- obutton : longint; { previous button status }
- dx : longint; { x movement }
- dy : longint; { y movement }
- dz : longint; { z movement }
- end;
- mousestatus_t = mousestatus;
- CONST
- { button }
- MOUSE_BUTTON1DOWN =$0001; { left }
- MOUSE_BUTTON2DOWN =$0002; { middle }
- MOUSE_BUTTON3DOWN =$0004; { right }
- MOUSE_BUTTON4DOWN =$0008;
- MOUSE_BUTTON5DOWN =$0010;
- MOUSE_BUTTON6DOWN =$0020;
- MOUSE_BUTTON7DOWN =$0040;
- MOUSE_BUTTON8DOWN =$0080;
- MOUSE_MAXBUTTON =31;
- MOUSE_STDBUTTONS =$0007; { buttons 1-3 }
- MOUSE_EXTBUTTONS =$7ffffff8; { the others (28 of them!) }
- MOUSE_BUTTONS =(MOUSE_STDBUTTONS or MOUSE_EXTBUTTONS);
- { flags }
- MOUSE_STDBUTTONSCHANGED =MOUSE_STDBUTTONS;
- MOUSE_EXTBUTTONSCHANGED =MOUSE_EXTBUTTONS;
- MOUSE_BUTTONSCHANGED =MOUSE_BUTTONS;
- MOUSE_POSCHANGED =$80000000;
- type
- mousehw =record
- buttons : longint; { -1 if unknown }
- iftype : longint; { MOUSE_IF_XXX }
- _type : longint; { mouse/track ball/pad... }
- model : longint; { I/F dependent model ID: MOUSE_MODEL_XXX }
- hwid : longint; { I/F dependent hardware ID}
- { for the PS/2 mouse, it will be PSM_XXX_ID }
- end;
- mousehw_t = mousehw;
- const
- { iftype }
- MOUSE_IF_UNKNOWN =(-1);
- MOUSE_IF_SERIAL =0;
- MOUSE_IF_BUS =1;
- MOUSE_IF_INPORT =2;
- MOUSE_IF_PS2 =3;
- MOUSE_IF_SYSMOUSE =4;
- MOUSE_IF_USB =5;
- { type }
- MOUSE_UNKNOWN =(-1); { should be treated as a mouse }
- MOUSE_MOUSE =0;
- MOUSE_TRACKBALL =1;
- MOUSE_STICK =2;
- MOUSE_PAD =3;
- { model }
- MOUSE_MODEL_UNKNOWN =(-1);
- MOUSE_MODEL_GENERIC =0;
- MOUSE_MODEL_GLIDEPOINT =1;
- MOUSE_MODEL_NETSCROLL =2;
- MOUSE_MODEL_NET =3;
- MOUSE_MODEL_INTELLI =4;
- MOUSE_MODEL_THINK =5;
- MOUSE_MODEL_EASYSCROLL =6;
- MOUSE_MODEL_MOUSEMANPLUS =7;
- MOUSE_MODEL_KIDSPAD =8;
- MOUSE_MODEL_VERSAPAD =9;
- MOUSE_MODEL_EXPLORER =10;
- MOUSE_MODEL_4D =11;
- MOUSE_MODEL_4DPLUS =12;
- type mousemode = record
- protocol : longint; { MOUSE_PROTO_XXX }
- rate : longint; { report rate (per sec), -1 if unknown }
- resolution : longint; { MOUSE_RES_XXX, -1 if unknown }
- accelfactor : longint; { accelation factor (must be 1 or greater) }
- level : longint; { driver operation level }
- packetsize : longint; { the length of the data packet }
- syncmask : array[0..1] of uchar; { sync. data bits in the header byte }
- end;
- type mousemode_t = mousemode;
- { protocol }
- {
- * Serial protocols:
- * Microsoft, MouseSystems, Logitech, MM series, MouseMan, Hitachi Tablet,
- * GlidePoint, IntelliMouse, Thinking Mouse, MouseRemote, Kidspad,
- * VersaPad
- * Bus mouse protocols:
- * bus, InPort
- * PS/2 mouse protocol:
- * PS/2
- }
- const
- MOUSE_PROTO_UNKNOWN =(-1);
- MOUSE_PROTO_MS =0; { Microsoft Serial, 3 bytes }
- MOUSE_PROTO_MSC =1; { Mouse Systems, 5 bytes }
- MOUSE_PROTO_LOGI =2; { Logitech, 3 bytes }
- MOUSE_PROTO_MM =3; { MM series, 3 bytes }
- MOUSE_PROTO_LOGIMOUSEMAN =4; { Logitech MouseMan 3/4 bytes }
- MOUSE_PROTO_BUS =5; { MS/Logitech bus mouse }
- MOUSE_PROTO_INPORT =6; { MS/ATI InPort mouse }
- MOUSE_PROTO_PS2 =7; { PS/2 mouse, 3 bytes }
- MOUSE_PROTO_HITTAB =8; { Hitachi Tablet 3 bytes }
- MOUSE_PROTO_GLIDEPOINT =9; { ALPS GlidePoint, 3/4 bytes }
- MOUSE_PROTO_INTELLI =10; { MS IntelliMouse, 4 bytes }
- MOUSE_PROTO_THINK =11; { Kensignton Thinking Mouse, 3/4 bytes }
- MOUSE_PROTO_SYSMOUSE =12; { /dev/sysmouse }
- MOUSE_PROTO_X10MOUSEREM =13; { X10 MouseRemote, 3 bytes }
- MOUSE_PROTO_KIDSPAD =14; { Genius Kidspad }
- MOUSE_PROTO_VERSAPAD =15; { Interlink VersaPad, 6 bytes }
- MOUSE_RES_UNKNOWN =(-1);
- MOUSE_RES_DEFAULT =0;
- MOUSE_RES_LOW =(-2);
- MOUSE_RES_MEDIUMLOW =(-3);
- MOUSE_RES_MEDIUMHIGH =(-4);
- MOUSE_RES_HIGH =(-5);
- type mousedata = record
- len : longint; { # of data in the buffer }
- buf : array [0..15] of longint; { data buffer }
- end;
- mousedata_t=mousedata;
- mousevar = record
- _var : array[0..15] of longint;
- end;
- type mousevar_t = mousevar;
- Function MOUSE_GETSTATUS(fd:longint;var param1 : mousestatus_t):boolean;
- Function MOUSE_GETHWINFO(fd:longint;var param1 : mousehw_t):boolean;
- Function MOUSE_GETMODE(fd:longint;var param1 : mousemode_t):boolean;
- Function MOUSE_SETMODE(fd:longint;var param1 : mousemode_t):boolean;
- Function MOUSE_GETLEVEL(fd:longint;var param1 : longint):boolean;
- Function MOUSE_SETLEVEL(fd:longint;var param1 : longint):boolean;
- Function MOUSE_GETVARS(fd:longint;var param1 : mousevar_t):boolean;
- Function MOUSE_SETVARS(fd:longint;var param1 : mousevar_t):boolean;
- Function MOUSE_READSTATE(fd:longint;var param1 : mousedata_t):boolean;
- Function MOUSE_READDATA(fd:longint;var param1 : mousedata_t):boolean;
- Function MOUSE_SETRESOLUTION(fd:longint;var param1 : longint):boolean;
- Function MOUSE_SETSCALING(fd:longint;var param1 : longint):boolean;
- Function MOUSE_SETRATE(fd:longint;var param1 : longint):boolean;
- Function MOUSE_GETHWID(fd:longint;var param1 : longint):boolean;
- const
- { magic numbers in var[0] }
- MOUSE_VARS_PS2_SIG = $00325350; { 'PS2' }
- MOUSE_VARS_BUS_SIG = $00535542; { 'BUS' }
- MOUSE_VARS_INPORT_SIG = $00504e49; { 'INP' }
- { Microsoft Serial mouse data packet }
- MOUSE_MSS_PACKETSIZE = 3;
- MOUSE_MSS_SYNCMASK = $40;
- MOUSE_MSS_SYNC = $40;
- MOUSE_MSS_BUTTONS = $30;
- MOUSE_MSS_BUTTON1DOWN = $20; { left }
- MOUSE_MSS_BUTTON2DOWN = $00; { no middle button }
- MOUSE_MSS_BUTTON3DOWN = $10; { right }
- { Logitech MouseMan data packet (M+ protocol) }
- MOUSE_LMAN_BUTTON2DOWN = $20; { middle button, the 4th byte }
- { ALPS GlidePoint extension (variant of M+ protocol) }
- MOUSE_ALPS_BUTTON2DOWN = $20; { middle button, the 4th byte }
- MOUSE_ALPS_TAP = $10; { `tapping' action, the 4th byte }
- { Kinsington Thinking Mouse extension (variant of M+ protocol) }
- MOUSE_THINK_BUTTON2DOWN = $20; { lower-left button, the 4th byte }
- MOUSE_THINK_BUTTON4DOWN = $10; { lower-right button, the 4th byte }
- { MS IntelliMouse (variant of MS Serial) }
- MOUSE_INTELLI_PACKETSIZE = 4;
- MOUSE_INTELLI_BUTTON2DOWN = $10; { middle button in the 4th byte }
- { Mouse Systems Corp. mouse data packet }
- MOUSE_MSC_PACKETSIZE = 5;
- MOUSE_MSC_SYNCMASK = $f8;
- MOUSE_MSC_SYNC = $80;
- MOUSE_MSC_BUTTONS = $07;
- MOUSE_MSC_BUTTON1UP = $04; { left }
- MOUSE_MSC_BUTTON2UP = $02; { middle }
- MOUSE_MSC_BUTTON3UP = $01; { right }
- MOUSE_MSC_MAXBUTTON = 3;
- { MM series mouse data packet }
- MOUSE_MM_PACKETSIZE = 3;
- MOUSE_MM_SYNCMASK = $e0;
- MOUSE_MM_SYNC = $80;
- MOUSE_MM_BUTTONS = $07;
- MOUSE_MM_BUTTON1DOWN = $04; { left }
- MOUSE_MM_BUTTON2DOWN = $02; { middle }
- MOUSE_MM_BUTTON3DOWN = $01; { right }
- MOUSE_MM_XPOSITIVE = $10;
- MOUSE_MM_YPOSITIVE = $08;
- { PS/2 mouse data packet }
- MOUSE_PS2_PACKETSIZE = 3;
- MOUSE_PS2_SYNCMASK = $c8;
- MOUSE_PS2_SYNC = $08;
- MOUSE_PS2_BUTTONS = $07; { = $03 for 2 button mouse }
- MOUSE_PS2_BUTTON1DOWN = $01; { left }
- MOUSE_PS2_BUTTON2DOWN = $04; { middle }
- MOUSE_PS2_BUTTON3DOWN = $02; { right }
- MOUSE_PS2_TAP = MOUSE_PS2_SYNC; { GlidePoint (PS/2) `tapping'
- * Yes! this is the same bit
- * as SYNC!
- }
- MOUSE_PS2_XNEG = $10;
- MOUSE_PS2_YNEG = $20;
- MOUSE_PS2_XOVERFLOW = $40;
- MOUSE_PS2_YOVERFLOW = $80;
- { Logitech MouseMan+ (PS/2) data packet (PS/2++ protocol) }
- MOUSE_PS2PLUS_SYNCMASK = $48;
- MOUSE_PS2PLUS_SYNC = $48;
- MOUSE_PS2PLUS_ZNEG = $08; { sign bit }
- MOUSE_PS2PLUS_BUTTON4DOWN = $10; { 4th button on MouseMan+ }
- MOUSE_PS2PLUS_BUTTON5DOWN = $20;
- { IBM ScrollPoint (PS/2) also uses PS/2++ protocol }
- MOUSE_SPOINT_ZNEG = $80; { sign bits }
- MOUSE_SPOINT_WNEG = $08;
- { MS IntelliMouse (PS/2) data packet }
- MOUSE_PS2INTELLI_PACKETSIZE = 4;
- { some compatible mice have additional buttons }
- MOUSE_PS2INTELLI_BUTTON4DOWN = $40;
- MOUSE_PS2INTELLI_BUTTON5DOWN = $80;
- { MS IntelliMouse Explorer (PS/2) data packet (variation of IntelliMouse) }
- MOUSE_EXPLORER_ZNEG = $08; { sign bit }
- { IntelliMouse Explorer has additional button data in the fourth byte }
- MOUSE_EXPLORER_BUTTON4DOWN = $10;
- MOUSE_EXPLORER_BUTTON5DOWN = $20;
- { Interlink VersaPad (serial I/F) data packet }
- MOUSE_VERSA_PACKETSIZE = 6;
- MOUSE_VERSA_IN_USE = $04;
- MOUSE_VERSA_SYNCMASK = $c3;
- MOUSE_VERSA_SYNC = $c0;
- MOUSE_VERSA_BUTTONS = $30;
- MOUSE_VERSA_BUTTON1DOWN = $20; { left }
- MOUSE_VERSA_BUTTON2DOWN = $00; { middle }
- MOUSE_VERSA_BUTTON3DOWN = $10; { right }
- MOUSE_VERSA_TAP = $08;
- { Interlink VersaPad (PS/2 I/F) data packet }
- MOUSE_PS2VERSA_PACKETSIZE = 6;
- MOUSE_PS2VERSA_IN_USE = $10;
- MOUSE_PS2VERSA_SYNCMASK = $e8;
- MOUSE_PS2VERSA_SYNC = $c8;
- MOUSE_PS2VERSA_BUTTONS = $05;
- MOUSE_PS2VERSA_BUTTON1DOWN = $04; { left }
- MOUSE_PS2VERSA_BUTTON2DOWN = $00; { middle }
- MOUSE_PS2VERSA_BUTTON3DOWN = $01; { right }
- MOUSE_PS2VERSA_TAP = $02;
- { A4 Tech 4D Mouse (PS/2) data packet }
- MOUSE_4D_PACKETSIZE = 3;
- MOUSE_4D_WHEELBITS = $f0;
- { A4 Tech 4D+ Mouse (PS/2) data packet }
- MOUSE_4DPLUS_PACKETSIZE = 3;
- MOUSE_4DPLUS_ZNEG = $04; { sign bit }
- MOUSE_4DPLUS_BUTTON4DOWN = $08;
- { sysmouse extended data packet }
- {
- * /dev/sysmouse sends data in two formats, depending on the protocol
- * level. At the level 0, format is exactly the same as MousSystems'
- * five byte packet. At the level 1, the first five bytes are the same
- * as at the level 0. There are additional three bytes which shows
- * `dz' and the states of additional buttons. `dz' is expressed as the
- * sum of the byte 5 and 6 which contain signed seven bit values.
- * The states of the button 4 though 10 are in the bit 0 though 6 in
- * the byte 7 respectively: 1 indicates the button is up.
- }
- MOUSE_SYS_PACKETSIZE = 8;
- MOUSE_SYS_SYNCMASK = $f8;
- MOUSE_SYS_SYNC = $80;
- MOUSE_SYS_BUTTON1UP = $04; { left, 1st byte }
- MOUSE_SYS_BUTTON2UP = $02; { middle, 1st byte }
- MOUSE_SYS_BUTTON3UP = $01; { right, 1st byte }
- MOUSE_SYS_BUTTON4UP = $0001; { 7th byte }
- MOUSE_SYS_BUTTON5UP = $0002;
- MOUSE_SYS_BUTTON6UP = $0004;
- MOUSE_SYS_BUTTON7UP = $0008;
- MOUSE_SYS_BUTTON8UP = $0010;
- MOUSE_SYS_BUTTON9UP = $0020;
- MOUSE_SYS_BUTTON10UP = $0040;
- MOUSE_SYS_MAXBUTTON = 10;
- MOUSE_SYS_STDBUTTONS = $07;
- MOUSE_SYS_EXTBUTTONS = $7f; { the others }
- { Mouse remote socket }
- _PATH_MOUSEREMOTE ='/var/run/MouseRemote';
- {fbio FpIoctl numbers}
- nr_FBIOGTYPE =$40184600;
- nr_FBIOGINFO =$40184602;
- nr_FBIOPUTCMAP =$80144603;
- nr_FBIOGETCMAP =$80144604;
- nr_FBIOGATTR =$40584606;
- nr_FBIOSVIDEO =$80044607;
- nr_FBIOGVIDEO =$40044608;
- nr_FBIOSCURSOR =$802c4618;
- nr_FBIOGCURSOR =$c02c4619;
- nr_FBIOSCURPOS =$8004461a;
- nr_FBIOGCURPOS =$8004461b;
- nr_FBIOGCURMAX =$4004461c;
- nr_FBIO_ADAPTER =$40044664;
- nr_FBIO_ADPTYPE =$40044665;
- nr_FBIO_ADPINFO =$40a44666;
- nr_FBIO_MODEINFO =$c09c4667;
- nr_FBIO_FINDMODE =$c09c4668;
- nr_FBIO_GETMODE =$40044669;
- nr_FBIO_SETMODE =$8004466a;
- nr_FBIO_GETWINORG =$4004466b;
- nr_FBIO_SETWINORG =$8004466c;
- nr_FBIO_GETDISPSTART =$4008466d;
- nr_FBIO_SETDISPSTART =$8008466e;
- nr_FBIO_GETLINEWIDTH =$4004466f;
- nr_FBIO_SETLINEWIDTH =$80044670;
- nr_FBIO_GETPALETTE =$80184671;
- nr_FBIO_SETPALETTE =$80184672;
- {consio FpIoctl numbers}
- nr_KDGETMODE =$40044b09;
- nr_KDSETMODE =$20004b0a;
- nr_KDSBORDER =$20004b0d;
- nr_KDRASTER =$800c4b64;
- nr_GIO_SCRNMAP =$41006b02;
- nr_PIO_SCRNMAP =$81006b03;
- nr_GIO_ATTR =$40046100;
- nr_GIO_COLOR =$40046300;
- nr_CONS_CURRENT =$40046301;
- nr_CONS_GET =$40046302;
- nr_CONS_IO =$20006303;
- nr_CONS_BLANKTIME =$80046304;
- nr_CONS_SSAVER =$80186305;
- nr_CONS_GSAVER =$c0186306;
- nr_CONS_CURSORTYPE =$80046307;
- nr_CONS_BELLTYPE =$80046308;
- nr_CONS_HISTORY =$80046309;
- nr_CONS_MOUSECTL =$c014630a;
- nr_CONS_IDLE =$4004630b;
- nr_CONS_SAVERMODE =$8004630c;
- nr_CONS_SAVERSTART =$8004630d;
- nr_PIO_FONT8x8 =$88006340;
- nr_GIO_FONT8x8 =$48006341;
- nr_PIO_FONT8x14 =$8e006342;
- nr_GIO_FONT8x14 =$4e006343;
- nr_PIO_FONT8x16 =$90006344;
- nr_GIO_FONT8x16 =$50006345;
- nr_CONS_GETINFO =$c0146349;
- nr_CONS_GETVERS =$4004634a;
- nr_CONS_CURRENTADP =$40046364;
- nr_CONS_ADPINFO =$c0a46365;
- nr_CONS_MODEINFO =$c09c6366;
- nr_CONS_FINDMODE =$c09c6367;
- nr_CONS_SETWINORG =$20006368;
- nr_CONS_SETKBD =$2000636e;
- nr_CONS_RELKBD =$2000636f;
- nr_CONS_GETTERM =$c0686370;
- nr_CONS_SETTERM =$80686371;
- nr_ADJUST_CLOCK =$20007464;
- nr_VT_OPENQRY =$40047601;
- nr_VT_SETMODE =$80087602;
- nr_VT_GETMODE =$40087603;
- nr_VT_RELDISP =$20007604;
- nr_VT_ACTIVATE =$20007605;
- nr_VT_WAITACTIVE =$20007606;
- nr_VT_GETACTIVE =$40047607;
- nr_VT_GETINDEX =$40047608;
- nr_SW_B40x25 =$20005300;
- nr_SW_C40x25 =$20005301;
- nr_SW_B80x25 =$20005302;
- nr_SW_C80x25 =$20005303;
- nr_SW_BG320 =$20005304;
- nr_SW_CG320 =$20005305;
- nr_SW_BG640 =$20005306;
- nr_SW_EGAMONO80x25 =$20005307;
- nr_SW_CG320_D =$2000530d;
- nr_SW_CG640_E =$2000530e;
- nr_SW_EGAMONOAPA =$2000530f;
- nr_SW_CG640x350 =$20005310;
- nr_SW_ENH_MONOAPA2 =$20005311;
- nr_SW_ENH_CG640 =$20005312;
- nr_SW_ENH_B40x25 =$20005313;
- nr_SW_ENH_C40x25 =$20005314;
- nr_SW_ENH_B80x25 =$20005315;
- nr_SW_ENH_C80x25 =$20005316;
- nr_SW_ENH_B80x43 =$20005370;
- nr_SW_ENH_C80x43 =$20005371;
- nr_SW_MCAMODE =$200053ff;
- nr_SW_VGA_C40x25 =$20005317;
- nr_SW_VGA_C80x25 =$20005318;
- nr_SW_VGA_C80x30 =$20005320;
- nr_SW_VGA_C80x50 =$2000531e;
- nr_SW_VGA_C80x60 =$20005322;
- nr_SW_VGA_M80x25 =$20005319;
- nr_SW_VGA_M80x30 =$20005321;
- nr_SW_VGA_M80x50 =$2000531f;
- nr_SW_VGA_M80x60 =$20005323;
- nr_SW_VGA11 =$2000531a;
- nr_SW_BG640x480 =$2000531a;
- nr_SW_VGA12 =$2000531b;
- nr_SW_CG640x480 =$2000531b;
- nr_SW_VGA13 =$2000531c;
- nr_SW_VGA_CG320 =$2000531c;
- nr_SW_VGA_CG640 =$20005324;
- nr_SW_VGA_MODEX =$20005325;
- nr_SW_PC98_80x25 =$20005362;
- nr_SW_PC98_80x30 =$20005363;
- nr_SW_PC98_EGC640x400 =$20005364;
- nr_SW_PC98_PEGC640x400 =$20005365;
- nr_SW_PC98_PEGC640x480 =$20005366;
- nr_SW_VGA_C90x25 =$20005328;
- nr_SW_VGA_M90x25 =$20005329;
- nr_SW_VGA_C90x30 =$2000532a;
- nr_SW_VGA_M90x30 =$2000532b;
- nr_SW_VGA_C90x43 =$2000532c;
- nr_SW_VGA_M90x43 =$2000532d;
- nr_SW_VGA_C90x50 =$2000532e;
- nr_SW_VGA_M90x50 =$2000532f;
- nr_SW_VGA_C90x60 =$20005330;
- nr_SW_VGA_M90x60 =$20005331;
- nr_SW_TEXT_80x25 =$200053c8;
- nr_SW_TEXT_80x30 =$200053c9;
- nr_SW_TEXT_80x43 =$200053ca;
- nr_SW_TEXT_80x50 =$200053cb;
- nr_SW_TEXT_80x60 =$200053cc;
- nr_SW_TEXT_132x25 =$200053cd;
- nr_SW_TEXT_132x30 =$200053ce;
- nr_SW_TEXT_132x43 =$200053cf;
- nr_SW_TEXT_132x50 =$200053d0;
- nr_SW_TEXT_132x60 =$200053d1;
- nr_SW_VESA_CG640x400 =$20005600;
- nr_SW_VESA_CG640x480 =$20005601;
- nr_SW_VESA_800x600 =$20005602;
- nr_SW_VESA_CG800x600 =$20005603;
- nr_SW_VESA_1024x768 =$20005604;
- nr_SW_VESA_CG1024x768 =$20005605;
- nr_SW_VESA_1280x1024 =$20005606;
- nr_SW_VESA_CG1280x1024 =$20005607;
- nr_SW_VESA_C80x60 =$20005608;
- nr_SW_VESA_C132x25 =$20005609;
- nr_SW_VESA_C132x43 =$2000560a;
- nr_SW_VESA_C132x50 =$2000560b;
- nr_SW_VESA_C132x60 =$2000560c;
- nr_SW_VESA_32K_320 =$2000560d;
- nr_SW_VESA_64K_320 =$2000560e;
- nr_SW_VESA_FULL_320 =$2000560f;
- nr_SW_VESA_32K_640 =$20005610;
- nr_SW_VESA_64K_640 =$20005611;
- nr_SW_VESA_FULL_640 =$20005612;
- nr_SW_VESA_32K_800 =$20005613;
- nr_SW_VESA_64K_800 =$20005614;
- nr_SW_VESA_FULL_800 =$20005615;
- nr_SW_VESA_32K_1024 =$20005616;
- nr_SW_VESA_64K_1024 =$20005617;
- nr_SW_VESA_FULL_1024 =$20005618;
- nr_SW_VESA_32K_1280 =$20005619;
- nr_SW_VESA_64K_1280 =$2000561a;
- nr_SW_VESA_FULL_1280 =$2000561b;
- {kbdsio FpIoctl numbers}
- nr_KDGKBMODE =$40044b06;
- nr_KDSKBMODE =$20004b07;
- nr_KDMKTONE =$20004b08;
- {$ifndef definconsole}
- nr_KDGETMODE =$40044b09;
- nr_KDSETMODE =$20004b0a;
- nr_KDSBORDER =$20004b0d;
- {$endif}
- nr_KDGKBSTATE =$40044b13;
- nr_KDSKBSTATE =$20004b14;
- nr_KDENABIO =$20004b3c;
- nr_KDDISABIO =$20004b3d;
- nr_KIOCSOUND =$20004b3f;
- nr_KDGKBTYPE =$40044b40;
- nr_KDGETLED =$40044b41;
- nr_KDSETLED =$20004b42;
- nr_KDSETRAD =$20004b43;
- {$ifndef definconsole}
- nr_KDRASTER =$800c4b64;
- {$endif}
- nr_KDGKBINFO =$40244b65;
- nr_KDSETREPEAT =$80084b66;
- nr_KDGETREPEAT =$40084b67;
- nr_GETFKEY =$c0146b00;
- nr_SETFKEY =$c0146b01;
- {$ifndef definconsole}
- nr_GIO_SCRNMAP =$41006b02;
- nr_PIO_SCRNMAP =$81006b03;
- {$endif}
- nr_GIO_KEYMAP =$4a026b06;
- nr_PIO_KEYMAP =$8a026b07;
- nr_GIO_DEADKEYMAP =$462a6b08;
- nr_PIO_DEADKEYMAP =$862a6b09;
- nr_GIO_KEYMAPENT =$c00c6b0a;
- nr_PIO_KEYMAPENT =$800c6b0b;
- {mouse FpIoctl numbers}
- nr_MOUSE_GETSTATUS =$40184d00;
- nr_MOUSE_GETHWINFO =$40144d01;
- nr_MOUSE_GETMODE =$401c4d02;
- nr_MOUSE_SETMODE =$801c4d03;
- nr_MOUSE_GETLEVEL =$40044d04;
- nr_MOUSE_SETLEVEL =$80044d05;
- nr_MOUSE_GETVARS =$40404d06;
- nr_MOUSE_SETVARS =$80404d07;
- nr_MOUSE_READSTATE =$c0444d08;
- nr_MOUSE_READDATA =$c0444d09;
- nr_MOUSE_SETRESOLUTION =$80044d0a;
- nr_MOUSE_SETSCALING =$80044d0b;
- nr_MOUSE_SETRATE =$80044d0c;
- nr_MOUSE_GETHWID =$40044d0d;
- {------------- Added procedures ---------------}
- function physicalconsole(fd:longint) : boolean;
- IMPLEMENTATION
- Uses BaseUnix,termio;
- function physicalconsole(fd:longint) : boolean;
- var name:string;
- begin
- if (isatty(fd)<>-1) then
- begin
- name:=ttyname(fd);
- if Copy(name,1,8)<>'/dev/tty' then
- physicalconsole:=false {isatty is true, but not /dev/tty.
- Could be /dev/pts support, but
- I reserve the case}
- else
- begin
- if name[9]='v' then {ttyv is phys console. see /etc/ttys}
- physicalconsole:=true
- else
- physicalconsole:=false;
- end;
- end
- else
- physicalconsole:=false; {Not a tty, then I don't know what it is}
- end;
- {other macros (not FpIoctl)}
- function KEYCHAR(c:longint):longint;
- begin
- c:=c and $FF;
- end;
- function KEYFLAGS(c:longint):longint;
- begin
- c:=c and NOT $FF;
- end;
- function kbio_F(x:longint):longint;
- begin
- kbio_f:=x+F_FN-1;
- end;
- function kbio_S(x:longint):longint;
- begin
- kbio_S:=x+F_SCR-1;
- end;
- function kbio_ACC(x:longint):longint;
- begin
- kbio_ACC:=x+F_ACC;
- end;
- {fbio.h FpIoctl's}
- Function FBIOGTYPE(fd:longint;var param1 : fbtype):boolean;
- {IOR('F',0,sizeof(struct fbtype) }
- Begin
- FBIOGTYPE:=FpIoctl(fd,nr_FBIOGTYPE,@param1)=0;
- end;
- Function FBIOGINFO(fd:longint;var param1 : fbinfo):boolean;
- {IOR('F',2,sizeof(struct fbinfo) }
- Begin
- FBIOGINFO:=FpIoctl(fd,nr_FBIOGINFO,@param1)=0;
- end;
- Function FBIOPUTCMAP(fd:longint;var param1 : fbcmap):boolean;
- {IOW('F',3,sizeof(struct fbcmap) }
- Begin
- FBIOPUTCMAP:=FpIoctl(fd,nr_FBIOPUTCMAP,@param1)=0;
- end;
- Function FBIOGETCMAP(fd:longint;var param1 : fbcmap):boolean;
- {IOW('F',4,sizeof(struct fbcmap) }
- Begin
- FBIOGETCMAP:=FpIoctl(fd,nr_FBIOGETCMAP,@param1)=0;
- end;
- Function FBIOGATTR(fd:longint;var param1 : fbgattr):boolean;
- {IOR('F',6,sizeof(struct fbgattr) }
- Begin
- FBIOGATTR:=FpIoctl(fd,nr_FBIOGATTR,@param1)=0;
- end;
- Function FBIOSVIDEO(fd:longint;var param1 : longint):boolean;
- {IOW('F',7,sizeof(int) }
- Begin
- FBIOSVIDEO:=FpIoctl(fd,nr_FBIOSVIDEO,@param1)=0;
- end;
- Function FBIOGVIDEO(fd:longint;var param1 : longint):boolean;
- {IOR('F',8,sizeof(int) }
- Begin
- FBIOGVIDEO:=FpIoctl(fd,nr_FBIOGVIDEO,@param1)=0;
- end;
- Function FBIOSCURSOR(fd:longint;var param1 : fbcursor):boolean;
- {IOW('F',24,sizeof(struct fbcursor) }
- Begin
- FBIOSCURSOR:=FpIoctl(fd,nr_FBIOSCURSOR,@param1)=0;
- end;
- Function FBIOGCURSOR(fd:longint;var param1 : fbcursor):boolean;
- {IOWR('F',25,sizeof(struct fbcursor) }
- Begin
- FBIOGCURSOR:=FpIoctl(fd,nr_FBIOGCURSOR,@param1)=0;
- end;
- Function FBIOSCURPOS(fd:longint;var param1 : fbcurpos):boolean;
- {IOW('F',26,sizeof(struct fbcurpos) }
- Begin
- FBIOSCURPOS:=FpIoctl(fd,nr_FBIOSCURPOS,@param1)=0;
- end;
- Function FBIOGCURPOS(fd:longint;var param1 : fbcurpos):boolean;
- {IOW('F',27,sizeof(struct fbcurpos) }
- Begin
- FBIOGCURPOS:=FpIoctl(fd,nr_FBIOGCURPOS,@param1)=0;
- end;
- Function FBIOGCURMAX(fd:longint;var param1 : fbcurpos):boolean;
- {IOR('F',28,sizeof(struct fbcurpos) }
- Begin
- FBIOGCURMAX:=FpIoctl(fd,nr_FBIOGCURMAX,@param1)=0;
- end;
- Function FBIO_ADAPTER(fd:longint;var param1 : longint):boolean;
- {IOR('F',100,sizeof(int) }
- Begin
- FBIO_ADAPTER:=FpIoctl(fd,nr_FBIO_ADAPTER,@param1)=0;
- end;
- Function FBIO_ADPTYPE(fd:longint;var param1 : longint):boolean;
- {IOR('F',101,sizeof(int) }
- Begin
- FBIO_ADPTYPE:=FpIoctl(fd,nr_FBIO_ADPTYPE,@param1)=0;
- end;
- Function FBIO_ADPINFO(fd:longint;var param1 : video_adapter_info):boolean;
- {IOR('F',102,sizeof(struct video_adapter_info) }
- Begin
- FBIO_ADPINFO:=FpIoctl(fd,nr_FBIO_ADPINFO,@param1)=0;
- end;
- Function FBIO_MODEINFO(fd:longint;var param1 : video_info):boolean;
- {IOWR('F',103,sizeof(struct video_info) }
- Begin
- FBIO_MODEINFO:=FpIoctl(fd,nr_FBIO_MODEINFO,@param1)=0;
- end;
- Function FBIO_FINDMODE(fd:longint;var param1 : video_info):boolean;
- {IOWR('F',104,sizeof(struct video_info) }
- Begin
- FBIO_FINDMODE:=FpIoctl(fd,nr_FBIO_FINDMODE,@param1)=0;
- end;
- Function FBIO_GETMODE(fd:longint;var param1 : longint):boolean;
- {IOR('F',105,sizeof(int) }
- Begin
- FBIO_GETMODE:=FpIoctl(fd,nr_FBIO_GETMODE,@param1)=0;
- end;
- Function FBIO_SETMODE(fd:longint;var param1 : longint):boolean;
- {IOW('F',106,sizeof(int) }
- Begin
- FBIO_SETMODE:=FpIoctl(fd,nr_FBIO_SETMODE,@param1)=0;
- end;
- Function FBIO_GETWINORG(fd:longint;var param1 : u_int):boolean;
- {IOR('F',107,sizeof(u_int) }
- Begin
- FBIO_GETWINORG:=FpIoctl(fd,nr_FBIO_GETWINORG,@param1)=0;
- end;
- Function FBIO_SETWINORG(fd:longint;var param1 : u_int):boolean;
- {IOW('F',108,sizeof(u_int) }
- Begin
- FBIO_SETWINORG:=FpIoctl(fd,nr_FBIO_SETWINORG,@param1)=0;
- end;
- Function FBIO_GETDISPSTART(fd:longint;var param1 : video_display_start_t):boolean;
- {IOR('F',109,sizeof(video_display_start_t) }
- Begin
- FBIO_GETDISPSTART:=FpIoctl(fd,nr_FBIO_GETDISPSTART,@param1)=0;
- end;
- Function FBIO_SETDISPSTART(fd:longint;var param1 : video_display_start_t):boolean;
- {IOW('F',110,sizeof(video_display_start_t) }
- Begin
- FBIO_SETDISPSTART:=FpIoctl(fd,nr_FBIO_SETDISPSTART,@param1)=0;
- end;
- Function FBIO_GETLINEWIDTH(fd:longint;var param1 : u_int):boolean;
- {IOR('F',111,sizeof(u_int) }
- Begin
- FBIO_GETLINEWIDTH:=FpIoctl(fd,nr_FBIO_GETLINEWIDTH,@param1)=0;
- end;
- Function FBIO_SETLINEWIDTH(fd:longint;var param1 : u_int):boolean;
- {IOW('F',112,sizeof(u_int) }
- Begin
- FBIO_SETLINEWIDTH:=FpIoctl(fd,nr_FBIO_SETLINEWIDTH,@param1)=0;
- end;
- Function FBIO_GETPALETTE(fd:longint;var param1 : video_color_palette_t):boolean;
- {IOW('F',113,sizeof(video_color_palette_t) }
- Begin
- FBIO_GETPALETTE:=FpIoctl(fd,nr_FBIO_GETPALETTE,@param1)=0;
- end;
- Function FBIO_SETPALETTE(fd:longint;var param1 : video_color_palette_t):boolean;
- {IOW('F',114,sizeof(video_color_palette_t) }
- Begin
- FBIO_SETPALETTE:=FpIoctl(fd,nr_FBIO_SETPALETTE,@param1)=0;
- end;
- {consio.h FpIoctl's}
- Function KDGETMODE(fd:longint;var param1 : longint):boolean;
- {IOR('K',9,sizeof(int) }
- Begin
- KDGETMODE:=FpIoctl(fd,nr_KDGETMODE,@param1)=0;
- end;
- Function KDSETMODE(fd:longint;param1 : longint):boolean;
- {IO('K',10 /* int */));
- }
- Begin
- KDSETMODE:=FpIoctl(fd,nr_KDSETMODE,pointer(param1))=0;
- end;
- Function KDSBORDER(fd:longint;param1 : longint):boolean;
- {IO('K',13 /* int */));
- }
- Begin
- KDSBORDER:=FpIoctl(fd,nr_KDSBORDER,pointer(param1))=0;
- end;
- Function KDRASTER(fd:longint;var param1 : scr_size_t):boolean;
- {IOW('K',100,sizeof(scr_size_t) }
- Begin
- KDRASTER:=FpIoctl(fd,nr_KDRASTER,@param1)=0;
- end;
- Function GIO_SCRNMAP(fd:longint;var param1 : scrmap_t):boolean;
- {IOR('k',2,sizeof(scrmap_t) }
- Begin
- GIO_SCRNMAP:=FpIoctl(fd,nr_GIO_SCRNMAP,@param1)=0;
- end;
- Function PIO_SCRNMAP(fd:longint;var param1 : scrmap_t):boolean;
- {IOW('k',3,sizeof(scrmap_t) }
- Begin
- PIO_SCRNMAP:=FpIoctl(fd,nr_PIO_SCRNMAP,@param1)=0;
- end;
- Function GIO_ATTR(fd:longint;var param1 : longint):boolean;
- {IOR('a',0,sizeof(int) }
- Begin
- GIO_ATTR:=FpIoctl(fd,nr_GIO_ATTR,@param1)=0;
- end;
- Function GIO_COLOR(fd:longint;var param1 : longint):boolean;
- {IOR('c',0,sizeof(int) }
- Begin
- GIO_COLOR:=FpIoctl(fd,nr_GIO_COLOR,@param1)=0;
- end;
- Function CONS_CURRENT(fd:longint;var param1 : longint):boolean;
- {IOR('c',1,sizeof(int) }
- Begin
- CONS_CURRENT:=FpIoctl(fd,nr_CONS_CURRENT,@param1)=0;
- end;
- Function CONS_GET(fd:longint;var param1 : longint):boolean;
- {IOR('c',2,sizeof(int) }
- Begin
- CONS_GET:=FpIoctl(fd,nr_CONS_GET,@param1)=0;
- end;
- Function CONS_IO(fd:longint):boolean;
- {IO('c',3));
- }
- Begin
- CONS_IO:=FpIoctl(fd,nr_CONS_IO,nil)=0;
- end;
- Function CONS_BLANKTIME(fd:longint;var param1 : longint):boolean;
- {IOW('c',4,sizeof(int) }
- Begin
- CONS_BLANKTIME:=FpIoctl(fd,nr_CONS_BLANKTIME,@param1)=0;
- end;
- Function CONS_SSAVER(fd:longint;var param1 : ssaver_t):boolean;
- {IOW('c',5,sizeof(ssaver_t) }
- Begin
- CONS_SSAVER:=FpIoctl(fd,nr_CONS_SSAVER,@param1)=0;
- end;
- Function CONS_GSAVER(fd:longint;var param1 : ssaver_t):boolean;
- {IOWR('c',6,sizeof(ssaver_t) }
- Begin
- CONS_GSAVER:=FpIoctl(fd,nr_CONS_GSAVER,@param1)=0;
- end;
- Function CONS_CURSORTYPE(fd:longint;var param1 : longint):boolean;
- {IOW('c',7,sizeof(int) }
- Begin
- CONS_CURSORTYPE:=FpIoctl(fd,nr_CONS_CURSORTYPE,@param1)=0;
- end;
- Function CONS_BELLTYPE(fd:longint;var param1 : longint):boolean;
- {IOW('c',8,sizeof(int) }
- Begin
- CONS_BELLTYPE:=FpIoctl(fd,nr_CONS_BELLTYPE,@param1)=0;
- end;
- Function CONS_HISTORY(fd:longint;var param1 : longint):boolean;
- {IOW('c',9,sizeof(int) }
- Begin
- CONS_HISTORY:=FpIoctl(fd,nr_CONS_HISTORY,@param1)=0;
- end;
- Function CONS_MOUSECTL(fd:longint;var param1 : mouse_info_t):boolean;
- {IOWR('c',10,sizeof(mouse_info_t) }
- Begin
- CONS_MOUSECTL:=FpIoctl(fd,nr_CONS_MOUSECTL,@param1)=0;
- end;
- Function CONS_IDLE(fd:longint;var param1 : longint):boolean;
- {IOR('c',11,sizeof(int) }
- Begin
- CONS_IDLE:=FpIoctl(fd,nr_CONS_IDLE,@param1)=0;
- end;
- Function CONS_SAVERMODE(fd:longint;var param1 : longint):boolean;
- {IOW('c',12,sizeof(int) }
- Begin
- CONS_SAVERMODE:=FpIoctl(fd,nr_CONS_SAVERMODE,@param1)=0;
- end;
- Function CONS_SAVERSTART(fd:longint;var param1 : longint):boolean;
- {IOW('c',13,sizeof(int) }
- Begin
- CONS_SAVERSTART:=FpIoctl(fd,nr_CONS_SAVERSTART,@param1)=0;
- end;
- Function PIO_FONT8x8(fd:longint;var param1 : fnt8_t):boolean;
- {IOW('c',64,sizeof(fnt8_t) }
- Begin
- PIO_FONT8x8:=FpIoctl(fd,nr_PIO_FONT8x8,@param1)=0;
- end;
- Function GIO_FONT8x8(fd:longint;var param1 : fnt8_t):boolean;
- {IOR('c',65,sizeof(fnt8_t) }
- Begin
- GIO_FONT8x8:=FpIoctl(fd,nr_GIO_FONT8x8,@param1)=0;
- end;
- Function PIO_FONT8x14(fd:longint;var param1 : fnt14_t):boolean;
- {IOW('c',66,sizeof(fnt14_t) }
- Begin
- PIO_FONT8x14:=FpIoctl(fd,nr_PIO_FONT8x14,@param1)=0;
- end;
- Function GIO_FONT8x14(fd:longint;var param1 : fnt14_t):boolean;
- {IOR('c',67,sizeof(fnt14_t) }
- Begin
- GIO_FONT8x14:=FpIoctl(fd,nr_GIO_FONT8x14,@param1)=0;
- end;
- Function PIO_FONT8x16(fd:longint;var param1 : fnt16_t):boolean;
- {IOW('c',68,sizeof(fnt16_t) }
- Begin
- PIO_FONT8x16:=FpIoctl(fd,nr_PIO_FONT8x16,@param1)=0;
- end;
- Function GIO_FONT8x16(fd:longint;var param1 : fnt16_t):boolean;
- {IOR('c',69,sizeof(fnt16_t) }
- Begin
- GIO_FONT8x16:=FpIoctl(fd,nr_GIO_FONT8x16,@param1)=0;
- end;
- Function CONS_GETINFO(fd:longint;var param1 : vid_info_t):boolean;
- {IOWR('c',73,sizeof(vid_info_t) }
- Begin
- CONS_GETINFO:=FpIoctl(fd,nr_CONS_GETINFO,@param1)=0;
- end;
- Function CONS_GETVERS(fd:longint;var param1 : longint):boolean;
- {IOR('c',74,sizeof(int) }
- Begin
- CONS_GETVERS:=FpIoctl(fd,nr_CONS_GETVERS,@param1)=0;
- end;
- Function CONS_CURRENTADP(fd:longint;var param1 : longint):boolean;
- {IOR('c',100,sizeof(int) }
- Begin
- CONS_CURRENTADP:=FpIoctl(fd,nr_CONS_CURRENTADP,@param1)=0;
- end;
- Function CONS_ADPINFO(fd:longint;var param1 : video_adapter_info_t):boolean;
- {IOWR('c',101,sizeof(video_adapter_info_t) }
- Begin
- CONS_ADPINFO:=FpIoctl(fd,nr_CONS_ADPINFO,@param1)=0;
- end;
- Function CONS_MODEINFO(fd:longint;var param1 : video_info_t):boolean;
- {IOWR('c',102,sizeof(video_info_t) }
- Begin
- CONS_MODEINFO:=FpIoctl(fd,nr_CONS_MODEINFO,@param1)=0;
- end;
- Function CONS_FINDMODE(fd:longint;var param1 : video_info_t):boolean;
- {IOWR('c',103,sizeof(video_info_t) }
- Begin
- CONS_FINDMODE:=FpIoctl(fd,nr_CONS_FINDMODE,@param1)=0;
- end;
- Function CONS_SETWINORG(fd:longint;param1 : longint):boolean;
- {IO('c',104 /* int */));
- }
- Begin
- CONS_SETWINORG:=FpIoctl(fd,nr_CONS_SETWINORG,pointer(param1))=0;
- end;
- Function CONS_SETKBD(fd:longint;param1 : longint):boolean;
- {IO('c',110 /* int */));
- }
- Begin
- CONS_SETKBD:=FpIoctl(fd,nr_CONS_SETKBD,pointer(param1))=0;
- end;
- Function CONS_RELKBD(fd:longint):boolean;
- {IO('c',111));
- }
- Begin
- CONS_RELKBD:=FpIoctl(fd,nr_CONS_RELKBD,nil)=0;
- end;
- Function CONS_GETTERM(fd:longint;var param1 : term_info_t):boolean;
- {IOWR('c',112,sizeof(term_info_t) }
- Begin
- CONS_GETTERM:=FpIoctl(fd,nr_CONS_GETTERM,@param1)=0;
- end;
- Function CONS_SETTERM(fd:longint;var param1 : term_info_t):boolean;
- {IOW('c',113,sizeof(term_info_t) }
- Begin
- CONS_SETTERM:=FpIoctl(fd,nr_CONS_SETTERM,@param1)=0;
- end;
- Function ADJUST_CLOCK(fd:longint):boolean;
- {IO('t',100));
- }
- Begin
- ADJUST_CLOCK:=FpIoctl(fd,nr_ADJUST_CLOCK,nil)=0;
- end;
- Function VT_OPENQRY(fd:longint;var param1 : longint):boolean;
- {IOR('v',1,sizeof(int) }
- Begin
- VT_OPENQRY:=FpIoctl(fd,nr_VT_OPENQRY,@param1)=0;
- end;
- Function VT_SETMODE(fd:longint;var param1 : vtmode_t):boolean;
- {IOW('v',2,sizeof(vtmode_t) }
- Begin
- VT_SETMODE:=FpIoctl(fd,nr_VT_SETMODE,@param1)=0;
- end;
- Function VT_GETMODE(fd:longint;var param1 : vtmode_t):boolean;
- {IOR('v',3,sizeof(vtmode_t) }
- Begin
- VT_GETMODE:=FpIoctl(fd,nr_VT_GETMODE,@param1)=0;
- end;
- Function VT_RELDISP(fd:longint;param1 : longint):boolean;
- {IO('v',4 /* int */));
- }
- Begin
- VT_RELDISP:=FpIoctl(fd,nr_VT_RELDISP,pointer(param1))=0;
- end;
- Function VT_ACTIVATE(fd:longint;param1 : longint):boolean;
- {IO('v',5 /* int */));
- }
- Begin
- VT_ACTIVATE:=FpIoctl(fd,nr_VT_ACTIVATE,pointer(param1))=0;
- end;
- Function VT_WAITACTIVE(fd:longint;param1 : longint):boolean;
- {IO('v',6 /* int */));
- }
- Begin
- VT_WAITACTIVE:=FpIoctl(fd,nr_VT_WAITACTIVE,pointer(param1))=0;
- end;
- Function VT_GETACTIVE(fd:longint;var param1 : longint):boolean;
- {IOR('v',7,sizeof(int) }
- Begin
- VT_GETACTIVE:=FpIoctl(fd,nr_VT_GETACTIVE,@param1)=0;
- end;
- Function VT_GETINDEX(fd:longint;var param1 : longint):boolean;
- {IOR('v',8,sizeof(int) }
- Begin
- VT_GETINDEX:=FpIoctl(fd,nr_VT_GETINDEX,@param1)=0;
- end;
- Function SW_B40x25(fd:longint):boolean;
- {IO('S',M_B40x25));
- }
- Begin
- SW_B40x25:=FpIoctl(fd,nr_SW_B40x25,nil)=0;
- end;
- Function SW_C40x25(fd:longint):boolean;
- {IO('S',M_C40x25));
- }
- Begin
- SW_C40x25:=FpIoctl(fd,nr_SW_C40x25,nil)=0;
- end;
- Function SW_B80x25(fd:longint):boolean;
- {IO('S',M_B80x25));
- }
- Begin
- SW_B80x25:=FpIoctl(fd,nr_SW_B80x25,nil)=0;
- end;
- Function SW_C80x25(fd:longint):boolean;
- {IO('S',M_C80x25));
- }
- Begin
- SW_C80x25:=FpIoctl(fd,nr_SW_C80x25,nil)=0;
- end;
- Function SW_BG320(fd:longint):boolean;
- {IO('S',M_BG320));
- }
- Begin
- SW_BG320:=FpIoctl(fd,nr_SW_BG320,nil)=0;
- end;
- Function SW_CG320(fd:longint):boolean;
- {IO('S',M_CG320));
- }
- Begin
- SW_CG320:=FpIoctl(fd,nr_SW_CG320,nil)=0;
- end;
- Function SW_BG640(fd:longint):boolean;
- {IO('S',M_BG640));
- }
- Begin
- SW_BG640:=FpIoctl(fd,nr_SW_BG640,nil)=0;
- end;
- Function SW_EGAMONO80x25(fd:longint):boolean;
- {IO('S',M_EGAMONO80x25));
- }
- Begin
- SW_EGAMONO80x25:=FpIoctl(fd,nr_SW_EGAMONO80x25,nil)=0;
- end;
- Function SW_CG320_D(fd:longint):boolean;
- {IO('S',M_CG320_D));
- }
- Begin
- SW_CG320_D:=FpIoctl(fd,nr_SW_CG320_D,nil)=0;
- end;
- Function SW_CG640_E(fd:longint):boolean;
- {IO('S',M_CG640_E));
- }
- Begin
- SW_CG640_E:=FpIoctl(fd,nr_SW_CG640_E,nil)=0;
- end;
- Function SW_EGAMONOAPA(fd:longint):boolean;
- {IO('S',M_EGAMONOAPA));
- }
- Begin
- SW_EGAMONOAPA:=FpIoctl(fd,nr_SW_EGAMONOAPA,nil)=0;
- end;
- Function SW_CG640x350(fd:longint):boolean;
- {IO('S',M_CG640x350));
- }
- Begin
- SW_CG640x350:=FpIoctl(fd,nr_SW_CG640x350,nil)=0;
- end;
- Function SW_ENH_MONOAPA2(fd:longint):boolean;
- {IO('S',M_ENHMONOAPA2));
- }
- Begin
- SW_ENH_MONOAPA2:=FpIoctl(fd,nr_SW_ENH_MONOAPA2,nil)=0;
- end;
- Function SW_ENH_CG640(fd:longint):boolean;
- {IO('S',M_ENH_CG640));
- }
- Begin
- SW_ENH_CG640:=FpIoctl(fd,nr_SW_ENH_CG640,nil)=0;
- end;
- Function SW_ENH_B40x25(fd:longint):boolean;
- {IO('S',M_ENH_B40x25));
- }
- Begin
- SW_ENH_B40x25:=FpIoctl(fd,nr_SW_ENH_B40x25,nil)=0;
- end;
- Function SW_ENH_C40x25(fd:longint):boolean;
- {IO('S',M_ENH_C40x25));
- }
- Begin
- SW_ENH_C40x25:=FpIoctl(fd,nr_SW_ENH_C40x25,nil)=0;
- end;
- Function SW_ENH_B80x25(fd:longint):boolean;
- {IO('S',M_ENH_B80x25));
- }
- Begin
- SW_ENH_B80x25:=FpIoctl(fd,nr_SW_ENH_B80x25,nil)=0;
- end;
- Function SW_ENH_C80x25(fd:longint):boolean;
- {IO('S',M_ENH_C80x25));
- }
- Begin
- SW_ENH_C80x25:=FpIoctl(fd,nr_SW_ENH_C80x25,nil)=0;
- end;
- Function SW_ENH_B80x43(fd:longint):boolean;
- {IO('S',M_ENH_B80x43));
- }
- Begin
- SW_ENH_B80x43:=FpIoctl(fd,nr_SW_ENH_B80x43,nil)=0;
- end;
- Function SW_ENH_C80x43(fd:longint):boolean;
- {IO('S',M_ENH_C80x43));
- }
- Begin
- SW_ENH_C80x43:=FpIoctl(fd,nr_SW_ENH_C80x43,nil)=0;
- end;
- Function SW_MCAMODE(fd:longint):boolean;
- {IO('S',M_MCA_MODE));
- }
- Begin
- SW_MCAMODE:=FpIoctl(fd,nr_SW_MCAMODE,nil)=0;
- end;
- Function SW_VGA_C40x25(fd:longint):boolean;
- {IO('S',M_VGA_C40x25));
- }
- Begin
- SW_VGA_C40x25:=FpIoctl(fd,nr_SW_VGA_C40x25,nil)=0;
- end;
- Function SW_VGA_C80x25(fd:longint):boolean;
- {IO('S',M_VGA_C80x25));
- }
- Begin
- SW_VGA_C80x25:=FpIoctl(fd,nr_SW_VGA_C80x25,nil)=0;
- end;
- Function SW_VGA_C80x30(fd:longint):boolean;
- {IO('S',M_VGA_C80x30));
- }
- Begin
- SW_VGA_C80x30:=FpIoctl(fd,nr_SW_VGA_C80x30,nil)=0;
- end;
- Function SW_VGA_C80x50(fd:longint):boolean;
- {IO('S',M_VGA_C80x50));
- }
- Begin
- SW_VGA_C80x50:=FpIoctl(fd,nr_SW_VGA_C80x50,nil)=0;
- end;
- Function SW_VGA_C80x60(fd:longint):boolean;
- {IO('S',M_VGA_C80x60));
- }
- Begin
- SW_VGA_C80x60:=FpIoctl(fd,nr_SW_VGA_C80x60,nil)=0;
- end;
- Function SW_VGA_M80x25(fd:longint):boolean;
- {IO('S',M_VGA_M80x25));
- }
- Begin
- SW_VGA_M80x25:=FpIoctl(fd,nr_SW_VGA_M80x25,nil)=0;
- end;
- Function SW_VGA_M80x30(fd:longint):boolean;
- {IO('S',M_VGA_M80x30));
- }
- Begin
- SW_VGA_M80x30:=FpIoctl(fd,nr_SW_VGA_M80x30,nil)=0;
- end;
- Function SW_VGA_M80x50(fd:longint):boolean;
- {IO('S',M_VGA_M80x50));
- }
- Begin
- SW_VGA_M80x50:=FpIoctl(fd,nr_SW_VGA_M80x50,nil)=0;
- end;
- Function SW_VGA_M80x60(fd:longint):boolean;
- {IO('S',M_VGA_M80x60));
- }
- Begin
- SW_VGA_M80x60:=FpIoctl(fd,nr_SW_VGA_M80x60,nil)=0;
- end;
- Function SW_VGA11(fd:longint):boolean;
- {IO('S',M_VGA11));
- }
- Begin
- SW_VGA11:=FpIoctl(fd,nr_SW_VGA11,nil)=0;
- end;
- Function SW_BG640x480(fd:longint):boolean;
- {IO('S',M_VGA11));
- }
- Begin
- SW_BG640x480:=FpIoctl(fd,nr_SW_BG640x480,nil)=0;
- end;
- Function SW_VGA12(fd:longint):boolean;
- {IO('S',M_VGA12));
- }
- Begin
- SW_VGA12:=FpIoctl(fd,nr_SW_VGA12,nil)=0;
- end;
- Function SW_CG640x480(fd:longint):boolean;
- {IO('S',M_VGA12));
- }
- Begin
- SW_CG640x480:=FpIoctl(fd,nr_SW_CG640x480,nil)=0;
- end;
- Function SW_VGA13(fd:longint):boolean;
- {IO('S',M_VGA13));
- }
- Begin
- SW_VGA13:=FpIoctl(fd,nr_SW_VGA13,nil)=0;
- end;
- Function SW_VGA_CG320(fd:longint):boolean;
- {IO('S',M_VGA13));
- }
- Begin
- SW_VGA_CG320:=FpIoctl(fd,nr_SW_VGA_CG320,nil)=0;
- end;
- Function SW_VGA_CG640(fd:longint):boolean;
- {IO('S',M_VGA_CG640));
- }
- Begin
- SW_VGA_CG640:=FpIoctl(fd,nr_SW_VGA_CG640,nil)=0;
- end;
- Function SW_VGA_MODEX(fd:longint):boolean;
- {IO('S',M_VGA_MODEX));
- }
- Begin
- SW_VGA_MODEX:=FpIoctl(fd,nr_SW_VGA_MODEX,nil)=0;
- end;
- Function SW_PC98_80x25(fd:longint):boolean;
- {IO('S',M_PC98_80x25));
- }
- Begin
- SW_PC98_80x25:=FpIoctl(fd,nr_SW_PC98_80x25,nil)=0;
- end;
- Function SW_PC98_80x30(fd:longint):boolean;
- {IO('S',M_PC98_80x30));
- }
- Begin
- SW_PC98_80x30:=FpIoctl(fd,nr_SW_PC98_80x30,nil)=0;
- end;
- Function SW_PC98_EGC640x400(fd:longint):boolean;
- {IO('S',M_PC98_EGC640x400));
- }
- Begin
- SW_PC98_EGC640x400:=FpIoctl(fd,nr_SW_PC98_EGC640x400,nil)=0;
- end;
- Function SW_PC98_PEGC640x400(fd:longint):boolean;
- {IO('S',M_PC98_PEGC640x400));
- }
- Begin
- SW_PC98_PEGC640x400:=FpIoctl(fd,nr_SW_PC98_PEGC640x400,nil)=0;
- end;
- Function SW_PC98_PEGC640x480(fd:longint):boolean;
- {IO('S',M_PC98_PEGC640x480));
- }
- Begin
- SW_PC98_PEGC640x480:=FpIoctl(fd,nr_SW_PC98_PEGC640x480,nil)=0;
- end;
- Function SW_VGA_C90x25(fd:longint):boolean;
- {IO('S',M_VGA_C90x25));
- }
- Begin
- SW_VGA_C90x25:=FpIoctl(fd,nr_SW_VGA_C90x25,nil)=0;
- end;
- Function SW_VGA_M90x25(fd:longint):boolean;
- {IO('S',M_VGA_M90x25));
- }
- Begin
- SW_VGA_M90x25:=FpIoctl(fd,nr_SW_VGA_M90x25,nil)=0;
- end;
- Function SW_VGA_C90x30(fd:longint):boolean;
- {IO('S',M_VGA_C90x30));
- }
- Begin
- SW_VGA_C90x30:=FpIoctl(fd,nr_SW_VGA_C90x30,nil)=0;
- end;
- Function SW_VGA_M90x30(fd:longint):boolean;
- {IO('S',M_VGA_M90x30));
- }
- Begin
- SW_VGA_M90x30:=FpIoctl(fd,nr_SW_VGA_M90x30,nil)=0;
- end;
- Function SW_VGA_C90x43(fd:longint):boolean;
- {IO('S',M_VGA_C90x43));
- }
- Begin
- SW_VGA_C90x43:=FpIoctl(fd,nr_SW_VGA_C90x43,nil)=0;
- end;
- Function SW_VGA_M90x43(fd:longint):boolean;
- {IO('S',M_VGA_M90x43));
- }
- Begin
- SW_VGA_M90x43:=FpIoctl(fd,nr_SW_VGA_M90x43,nil)=0;
- end;
- Function SW_VGA_C90x50(fd:longint):boolean;
- {IO('S',M_VGA_C90x50));
- }
- Begin
- SW_VGA_C90x50:=FpIoctl(fd,nr_SW_VGA_C90x50,nil)=0;
- end;
- Function SW_VGA_M90x50(fd:longint):boolean;
- {IO('S',M_VGA_M90x50));
- }
- Begin
- SW_VGA_M90x50:=FpIoctl(fd,nr_SW_VGA_M90x50,nil)=0;
- end;
- Function SW_VGA_C90x60(fd:longint):boolean;
- {IO('S',M_VGA_C90x60));
- }
- Begin
- SW_VGA_C90x60:=FpIoctl(fd,nr_SW_VGA_C90x60,nil)=0;
- end;
- Function SW_VGA_M90x60(fd:longint):boolean;
- {IO('S',M_VGA_M90x60));
- }
- Begin
- SW_VGA_M90x60:=FpIoctl(fd,nr_SW_VGA_M90x60,nil)=0;
- end;
- Function SW_TEXT_80x25(fd:longint):boolean;
- {IO('S',M_TEXT_80x25));
- }
- Begin
- SW_TEXT_80x25:=FpIoctl(fd,nr_SW_TEXT_80x25,nil)=0;
- end;
- Function SW_TEXT_80x30(fd:longint):boolean;
- {IO('S',M_TEXT_80x30));
- }
- Begin
- SW_TEXT_80x30:=FpIoctl(fd,nr_SW_TEXT_80x30,nil)=0;
- end;
- Function SW_TEXT_80x43(fd:longint):boolean;
- {IO('S',M_TEXT_80x43));
- }
- Begin
- SW_TEXT_80x43:=FpIoctl(fd,nr_SW_TEXT_80x43,nil)=0;
- end;
- Function SW_TEXT_80x50(fd:longint):boolean;
- {IO('S',M_TEXT_80x50));
- }
- Begin
- SW_TEXT_80x50:=FpIoctl(fd,nr_SW_TEXT_80x50,nil)=0;
- end;
- Function SW_TEXT_80x60(fd:longint):boolean;
- {IO('S',M_TEXT_80x60));
- }
- Begin
- SW_TEXT_80x60:=FpIoctl(fd,nr_SW_TEXT_80x60,nil)=0;
- end;
- Function SW_TEXT_132x25(fd:longint):boolean;
- {IO('S',M_TEXT_132x25));
- }
- Begin
- SW_TEXT_132x25:=FpIoctl(fd,nr_SW_TEXT_132x25,nil)=0;
- end;
- Function SW_TEXT_132x30(fd:longint):boolean;
- {IO('S',M_TEXT_132x30));
- }
- Begin
- SW_TEXT_132x30:=FpIoctl(fd,nr_SW_TEXT_132x30,nil)=0;
- end;
- Function SW_TEXT_132x43(fd:longint):boolean;
- {IO('S',M_TEXT_132x43));
- }
- Begin
- SW_TEXT_132x43:=FpIoctl(fd,nr_SW_TEXT_132x43,nil)=0;
- end;
- Function SW_TEXT_132x50(fd:longint):boolean;
- {IO('S',M_TEXT_132x50));
- }
- Begin
- SW_TEXT_132x50:=FpIoctl(fd,nr_SW_TEXT_132x50,nil)=0;
- end;
- Function SW_TEXT_132x60(fd:longint):boolean;
- {IO('S',M_TEXT_132x60));
- }
- Begin
- SW_TEXT_132x60:=FpIoctl(fd,nr_SW_TEXT_132x60,nil)=0;
- end;
- Function SW_VESA_CG640x400(fd:longint):boolean;
- {IO('V',M_VESA_CG640x400 - M_VESA_BASE));
- }
- Begin
- SW_VESA_CG640x400:=FpIoctl(fd,nr_SW_VESA_CG640x400,nil)=0;
- end;
- Function SW_VESA_CG640x480(fd:longint):boolean;
- {IO('V',M_VESA_CG640x480 - M_VESA_BASE));
- }
- Begin
- SW_VESA_CG640x480:=FpIoctl(fd,nr_SW_VESA_CG640x480,nil)=0;
- end;
- Function SW_VESA_800x600(fd:longint):boolean;
- {IO('V',M_VESA_800x600 - M_VESA_BASE));
- }
- Begin
- SW_VESA_800x600:=FpIoctl(fd,nr_SW_VESA_800x600,nil)=0;
- end;
- Function SW_VESA_CG800x600(fd:longint):boolean;
- {IO('V',M_VESA_CG800x600 - M_VESA_BASE));
- }
- Begin
- SW_VESA_CG800x600:=FpIoctl(fd,nr_SW_VESA_CG800x600,nil)=0;
- end;
- Function SW_VESA_1024x768(fd:longint):boolean;
- {IO('V',M_VESA_1024x768 - M_VESA_BASE));
- }
- Begin
- SW_VESA_1024x768:=FpIoctl(fd,nr_SW_VESA_1024x768,nil)=0;
- end;
- Function SW_VESA_CG1024x768(fd:longint):boolean;
- {IO('V',M_VESA_CG1024x768 - M_VESA_BAS));
- }
- Begin
- SW_VESA_CG1024x768:=FpIoctl(fd,nr_SW_VESA_CG1024x768,nil)=0;
- end;
- Function SW_VESA_1280x1024(fd:longint):boolean;
- {IO('V',M_VESA_1280x1024 - M_VESA_BASE));
- }
- Begin
- SW_VESA_1280x1024:=FpIoctl(fd,nr_SW_VESA_1280x1024,nil)=0;
- end;
- Function SW_VESA_CG1280x1024(fd:longint):boolean;
- {IO('V',M_VESA_CG1280x1024 - M_VESA_BA));
- }
- Begin
- SW_VESA_CG1280x1024:=FpIoctl(fd,nr_SW_VESA_CG1280x1024,nil)=0;
- end;
- Function SW_VESA_C80x60(fd:longint):boolean;
- {IO('V',M_VESA_C80x60 - M_VESA_BASE));
- }
- Begin
- SW_VESA_C80x60:=FpIoctl(fd,nr_SW_VESA_C80x60,nil)=0;
- end;
- Function SW_VESA_C132x25(fd:longint):boolean;
- {IO('V',M_VESA_C132x25 - M_VESA_BASE));
- }
- Begin
- SW_VESA_C132x25:=FpIoctl(fd,nr_SW_VESA_C132x25,nil)=0;
- end;
- Function SW_VESA_C132x43(fd:longint):boolean;
- {IO('V',M_VESA_C132x43 - M_VESA_BASE));
- }
- Begin
- SW_VESA_C132x43:=FpIoctl(fd,nr_SW_VESA_C132x43,nil)=0;
- end;
- Function SW_VESA_C132x50(fd:longint):boolean;
- {IO('V',M_VESA_C132x50 - M_VESA_BASE));
- }
- Begin
- SW_VESA_C132x50:=FpIoctl(fd,nr_SW_VESA_C132x50,nil)=0;
- end;
- Function SW_VESA_C132x60(fd:longint):boolean;
- {IO('V',M_VESA_C132x60 - M_VESA_BASE));
- }
- Begin
- SW_VESA_C132x60:=FpIoctl(fd,nr_SW_VESA_C132x60,nil)=0;
- end;
- Function SW_VESA_32K_320(fd:longint):boolean;
- {IO('V',M_VESA_32K_320 - M_VESA_BASE));
- }
- Begin
- SW_VESA_32K_320:=FpIoctl(fd,nr_SW_VESA_32K_320,nil)=0;
- end;
- Function SW_VESA_64K_320(fd:longint):boolean;
- {IO('V',M_VESA_64K_320 - M_VESA_BASE));
- }
- Begin
- SW_VESA_64K_320:=FpIoctl(fd,nr_SW_VESA_64K_320,nil)=0;
- end;
- Function SW_VESA_FULL_320(fd:longint):boolean;
- {IO('V',M_VESA_FULL_320 - M_VESA_BASE));
- }
- Begin
- SW_VESA_FULL_320:=FpIoctl(fd,nr_SW_VESA_FULL_320,nil)=0;
- end;
- Function SW_VESA_32K_640(fd:longint):boolean;
- {IO('V',M_VESA_32K_640 - M_VESA_BASE));
- }
- Begin
- SW_VESA_32K_640:=FpIoctl(fd,nr_SW_VESA_32K_640,nil)=0;
- end;
- Function SW_VESA_64K_640(fd:longint):boolean;
- {IO('V',M_VESA_64K_640 - M_VESA_BASE));
- }
- Begin
- SW_VESA_64K_640:=FpIoctl(fd,nr_SW_VESA_64K_640,nil)=0;
- end;
- Function SW_VESA_FULL_640(fd:longint):boolean;
- {IO('V',M_VESA_FULL_640 - M_VESA_BASE));
- }
- Begin
- SW_VESA_FULL_640:=FpIoctl(fd,nr_SW_VESA_FULL_640,nil)=0;
- end;
- Function SW_VESA_32K_800(fd:longint):boolean;
- {IO('V',M_VESA_32K_800 - M_VESA_BASE));
- }
- Begin
- SW_VESA_32K_800:=FpIoctl(fd,nr_SW_VESA_32K_800,nil)=0;
- end;
- Function SW_VESA_64K_800(fd:longint):boolean;
- {IO('V',M_VESA_64K_800 - M_VESA_BASE));
- }
- Begin
- SW_VESA_64K_800:=FpIoctl(fd,nr_SW_VESA_64K_800,nil)=0;
- end;
- Function SW_VESA_FULL_800(fd:longint):boolean;
- {IO('V',M_VESA_FULL_800 - M_VESA_BASE));
- }
- Begin
- SW_VESA_FULL_800:=FpIoctl(fd,nr_SW_VESA_FULL_800,nil)=0;
- end;
- Function SW_VESA_32K_1024(fd:longint):boolean;
- {IO('V',M_VESA_32K_1024 - M_VESA_BASE));
- }
- Begin
- SW_VESA_32K_1024:=FpIoctl(fd,nr_SW_VESA_32K_1024,nil)=0;
- end;
- Function SW_VESA_64K_1024(fd:longint):boolean;
- {IO('V',M_VESA_64K_1024 - M_VESA_BASE));
- }
- Begin
- SW_VESA_64K_1024:=FpIoctl(fd,nr_SW_VESA_64K_1024,nil)=0;
- end;
- Function SW_VESA_FULL_1024(fd:longint):boolean;
- {IO('V',M_VESA_FULL_1024 - M_VESA_BASE));
- }
- Begin
- SW_VESA_FULL_1024:=FpIoctl(fd,nr_SW_VESA_FULL_1024,nil)=0;
- end;
- Function SW_VESA_32K_1280(fd:longint):boolean;
- {IO('V',M_VESA_32K_1280 - M_VESA_BASE));
- }
- Begin
- SW_VESA_32K_1280:=FpIoctl(fd,nr_SW_VESA_32K_1280,nil)=0;
- end;
- Function SW_VESA_64K_1280(fd:longint):boolean;
- {IO('V',M_VESA_64K_1280 - M_VESA_BASE));
- }
- Begin
- SW_VESA_64K_1280:=FpIoctl(fd,nr_SW_VESA_64K_1280,nil)=0;
- end;
- Function SW_VESA_FULL_1280(fd:longint):boolean;
- {IO('V',M_VESA_FULL_1280 - M_VESA_BASE));
- }
- Begin
- SW_VESA_FULL_1280:=FpIoctl(fd,nr_SW_VESA_FULL_1280,nil)=0;
- end;
- {----------------------------- kbio.h FpIoctl's ---------------------------}
- Function KDGKBMODE(fd:longint;var param1 : longint):boolean;
- {IOR('K',6,sizeof(int) }
- Begin
- KDGKBMODE:=FpIoctl(fd,nr_KDGKBMODE,@param1)=0;
- end;
- Function KDSKBMODE(fd:longint;param1 : longint):boolean;
- {IO('K',7 /* int */));
- }
- Begin
- KDSKBMODE:=FpIoctl(fd,nr_KDSKBMODE,pointer(param1))=0;
- end;
- Function KDMKTONE(fd:longint;param1 : longint):boolean;
- {IO('K',8 /* int */));
- }
- Begin
- KDMKTONE:=FpIoctl(fd,nr_KDMKTONE,pointer(param1))=0;
- end;
- {$ifndef definconsole}
- Function KDGETMODE(fd:longint;var param1 : longint):boolean;
- {IOR('K',9,sizeof(int) }
- Begin
- KDGETMODE:=FpIoctl(fd,nr_KDGETMODE,@param1)=0;
- end;
- Function KDSETMODE(fd:longint;param1 : longint):boolean;
- {IO('K',10 /* int */));
- }
- Begin
- KDSETMODE:=FpIoctl(fd,nr_KDSETMODE,pointer(param1))=0;
- end;
- Function KDSBORDER(fd:longint;param1 : longint):boolean;
- {IO('K',13 /* int */));
- }
- Begin
- KDSBORDER:=FpIoctl(fd,nr_KDSBORDER,pointer(param1))=0;
- end;
- {$endif}
- Function KDGKBSTATE(fd:longint;var param1 : longint):boolean;
- {IOR('K',19,sizeof(int) }
- Begin
- KDGKBSTATE:=FpIoctl(fd,nr_KDGKBSTATE,@param1)=0;
- end;
- Function KDSKBSTATE(fd:longint;param1 : longint):boolean;
- {IO('K',20 /* int */));
- }
- Begin
- KDSKBSTATE:=FpIoctl(fd,nr_KDSKBSTATE,pointer(param1))=0;
- end;
- Function KDENABIO(fd:longint):boolean;
- {IO('K',60));
- }
- Begin
- KDENABIO:=FpIoctl(fd,nr_KDENABIO,nil)=0;
- end;
- Function KDDISABIO(fd:longint):boolean;
- {IO('K',61));
- }
- Begin
- KDDISABIO:=FpIoctl(fd,nr_KDDISABIO,nil)=0;
- end;
- Function KIOCSOUND(fd:longint;param1 : longint):boolean;
- {IO('K',63 /* int */));
- }
- Begin
- KIOCSOUND:=FpIoctl(fd,nr_KIOCSOUND,pointer(param1))=0;
- end;
- Function KDGKBTYPE(fd:longint;var param1 : longint):boolean;
- {IOR('K',64,sizeof(int) }
- Begin
- KDGKBTYPE:=FpIoctl(fd,nr_KDGKBTYPE,@param1)=0;
- end;
- Function KDGETLED(fd:longint;var param1 : longint):boolean;
- {IOR('K',65,sizeof(int) }
- Begin
- KDGETLED:=FpIoctl(fd,nr_KDGETLED,@param1)=0;
- end;
- Function KDSETLED(fd:longint;param1 : longint):boolean;
- {IO('K',66 /* int */));
- }
- Begin
- KDSETLED:=FpIoctl(fd,nr_KDSETLED,pointer(param1))=0;
- end;
- Function KDSETRAD(fd:longint;param1 : longint):boolean;
- {IO('K',67 /* int */));
- }
- Begin
- KDSETRAD:=FpIoctl(fd,nr_KDSETRAD,pointer(param1))=0;
- end;
- {$ifndef definconsole}
- Function KDRASTER(fd:longint;var param1 : scr_size_t):boolean;
- {IOW('K',100,sizeof(scr_size_t) }
- Begin
- KDRASTER:=FpIoctl(fd,nr_KDRASTER,@param1)=0;
- end;
- {$endif}
- Function KDGKBINFO(fd:longint;var param1 : keyboard_info_t):boolean;
- {IOR('K',101,sizeof(keyboard_info_t) }
- Begin
- KDGKBINFO:=FpIoctl(fd,nr_KDGKBINFO,@param1)=0;
- end;
- Function KDSETREPEAT(fd:longint;var param1 : keyboard_repeat_t):boolean;
- {IOW('K',102,sizeof(keyboard_repeat_t) }
- Begin
- KDSETREPEAT:=FpIoctl(fd,nr_KDSETREPEAT,@param1)=0;
- end;
- Function KDGETREPEAT(fd:longint;var param1 : keyboard_repeat_t):boolean;
- {IOR('K',103,sizeof(keyboard_repeat_t) }
- Begin
- KDGETREPEAT:=FpIoctl(fd,nr_KDGETREPEAT,@param1)=0;
- end;
- Function GETFKEY(fd:longint;var param1 : fkeyarg_t):boolean;
- {IOWR('k',0,sizeof(fkeyarg_t) }
- Begin
- GETFKEY:=FpIoctl(fd,nr_GETFKEY,@param1)=0;
- end;
- Function SETFKEY(fd:longint;var param1 : fkeyarg_t):boolean;
- {IOWR('k',1,sizeof(fkeyarg_t) }
- Begin
- SETFKEY:=FpIoctl(fd,nr_SETFKEY,@param1)=0;
- end;
- {$ifndef definconsole}
- Function GIO_SCRNMAP(fd:longint;var param1 : scrmap_t):boolean;
- {IOR('k',2,sizeof(scrmap_t) }
- Begin
- GIO_SCRNMAP:=FpIoctl(fd,nr_GIO_SCRNMAP,@param1)=0;
- end;
- Function PIO_SCRNMAP(fd:longint;var param1 : scrmap_t):boolean;
- {IOW('k',3,sizeof(scrmap_t) }
- Begin
- PIO_SCRNMAP:=FpIoctl(fd,nr_PIO_SCRNMAP,@param1)=0;
- end;
- {$endif}
- Function GIO_KEYMAP(fd:longint;var param1 : keymap_t):boolean;
- {IOR('k',6,sizeof(keymap_t) }
- Begin
- GIO_KEYMAP:=FpIoctl(fd,nr_GIO_KEYMAP,@param1)=0;
- end;
- Function PIO_KEYMAP(fd:longint;var param1 : keymap_t):boolean;
- {IOW('k',7,sizeof(keymap_t) }
- Begin
- PIO_KEYMAP:=FpIoctl(fd,nr_PIO_KEYMAP,@param1)=0;
- end;
- Function GIO_DEADKEYMAP(fd:longint;var param1 : accentmap_t):boolean;
- {IOR('k',8,sizeof(accentmap_t) }
- Begin
- GIO_DEADKEYMAP:=FpIoctl(fd,nr_GIO_DEADKEYMAP,@param1)=0;
- end;
- Function PIO_DEADKEYMAP(fd:longint;var param1 : accentmap_t):boolean;
- {IOW('k',9,sizeof(accentmap_t) }
- Begin
- PIO_DEADKEYMAP:=FpIoctl(fd,nr_PIO_DEADKEYMAP,@param1)=0;
- end;
- Function GIO_KEYMAPENT(fd:longint;var param1 : keyarg_t):boolean;
- {IOWR('k',10,sizeof(keyarg_t) }
- Begin
- GIO_KEYMAPENT:=FpIoctl(fd,nr_GIO_KEYMAPENT,@param1)=0;
- end;
- Function PIO_KEYMAPENT(fd:longint;var param1 : keyarg_t):boolean;
- {IOW('k',11,sizeof(keyarg_t) }
- Begin
- PIO_KEYMAPENT:=FpIoctl(fd,nr_PIO_KEYMAPENT,@param1)=0;
- end;
- {----------------------------- mouse.h FpIoctl's ---------------------------}
- Function MOUSE_GETSTATUS(fd:longint;var param1 : mousestatus_t):boolean;
- {IOR('M',0,sizeof(mousestatus_t)));
- }
- Begin
- MOUSE_GETSTATUS:=FpIoctl(fd,nr_MOUSE_GETSTATUS,@param1)=0;
- end;
- Function MOUSE_GETHWINFO(fd:longint;var param1 : mousehw_t):boolean;
- {IOR('M',1,sizeof(mousehw_t)));
- }
- Begin
- MOUSE_GETHWINFO:=FpIoctl(fd,nr_MOUSE_GETHWINFO,@param1)=0;
- end;
- Function MOUSE_GETMODE(fd:longint;var param1 : mousemode_t):boolean;
- {IOR('M',2,sizeof(mousemode_t)));
- }
- Begin
- MOUSE_GETMODE:=FpIoctl(fd,nr_MOUSE_GETMODE,@param1)=0;
- end;
- Function MOUSE_SETMODE(fd:longint;var param1 : mousemode_t):boolean;
- {IOW('M',3,sizeof(mousemode_t)));
- }
- Begin
- MOUSE_SETMODE:=FpIoctl(fd,nr_MOUSE_SETMODE,@param1)=0;
- end;
- Function MOUSE_GETLEVEL(fd:longint;var param1 : longint):boolean;
- {IOR('M',4,sizeof(int)));
- }
- Begin
- MOUSE_GETLEVEL:=FpIoctl(fd,nr_MOUSE_GETLEVEL,@param1)=0;
- end;
- Function MOUSE_SETLEVEL(fd:longint;var param1 : longint):boolean;
- {IOW('M',5,sizeof(int)));
- }
- Begin
- MOUSE_SETLEVEL:=FpIoctl(fd,nr_MOUSE_SETLEVEL,@param1)=0;
- end;
- Function MOUSE_GETVARS(fd:longint;var param1 : mousevar_t):boolean;
- {IOR('M',6,sizeof(mousevar_t)));
- }
- Begin
- MOUSE_GETVARS:=FpIoctl(fd,nr_MOUSE_GETVARS,@param1)=0;
- end;
- Function MOUSE_SETVARS(fd:longint;var param1 : mousevar_t):boolean;
- {IOW('M',7,sizeof(mousevar_t)));
- }
- Begin
- MOUSE_SETVARS:=FpIoctl(fd,nr_MOUSE_SETVARS,@param1)=0;
- end;
- Function MOUSE_READSTATE(fd:longint;var param1 : mousedata_t):boolean;
- {IOWR('M',8,sizeof(mousedata_t)));
- }
- Begin
- MOUSE_READSTATE:=FpIoctl(fd,nr_MOUSE_READSTATE,@param1)=0;
- end;
- Function MOUSE_READDATA(fd:longint;var param1 : mousedata_t):boolean;
- {IOWR('M',9,sizeof(mousedata_t)));
- }
- Begin
- MOUSE_READDATA:=FpIoctl(fd,nr_MOUSE_READDATA,@param1)=0;
- end;
- Function MOUSE_SETRESOLUTION(fd:longint;var param1 : longint):boolean;
- {IOW('M',10,sizeof(int)));
- }
- Begin
- MOUSE_SETRESOLUTION:=FpIoctl(fd,nr_MOUSE_SETRESOLUTION,@param1)=0;
- end;
- Function MOUSE_SETSCALING(fd:longint;var param1 : longint):boolean;
- {IOW('M',11,sizeof(int)));
- }
- Begin
- MOUSE_SETSCALING:=FpIoctl(fd,nr_MOUSE_SETSCALING,@param1)=0;
- end;
- Function MOUSE_SETRATE(fd:longint;var param1 : longint):boolean;
- {IOW('M',12,sizeof(int)));
- }
- Begin
- MOUSE_SETRATE:=FpIoctl(fd,nr_MOUSE_SETRATE,@param1)=0;
- end;
- Function MOUSE_GETHWID(fd:longint;var param1 : longint):boolean;
- {IOR('M',13,sizeof(int)));
- }
- Begin
- MOUSE_GETHWID:=FpIoctl(fd,nr_MOUSE_GETHWID,@param1)=0;
- end;
- end.
|