FAPI.LST 120 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396
  1. Listing:
  2. 1 (*# call(reg_saved => (si, di, ds, st1, st2),
  3. 2 reg_param => (),
  4. 3 near_call => off,
  5. 4 ds_eq_ss => off) *)
  6. 5 (*# name(prefix => none) *)
  7. 6 (*# module(implementation=>off, init_code => off) *)
  8. 7 (*# data(near_ptr => off) *)
  9. 8
  10. 9 DEFINITION MODULE FAPI;
  11. 10 (*
  12. 11 *
  13. 12 * $Header: D:/logfiles/masters/fapi.jpv 1.0 17 Mar 1991 18:23:16 coleb $
  14. 13 *
  15. 14 *)
  16. 15
  17. 16
  18. 17 (*/NOMODINIT*)
  19. 18
  20. 19
  21. 20 (**************************************************************************\
  22. 21 *
  23. 22 * OS/2 Common Definitions
  24. 23 *
  25. 24 \***************************************************************************)
  26. 25
  27. 26 IMPORT SYSTEM;
  28. 27
  29. 28 TYPE
  30. 29 SHANDLE = CARDINAL;
  31. 30
  32. 31 TYPE
  33. 32 LHANDLE = SYSTEM.ADDRESS;
  34. ***** ^ not supported yet
  35. 33
  36. 34
  37. 35 TYPE
  38. 36 UCHAR = SYSTEM.BYTE;
  39. ***** ^ not supported yet
  40. 37 (*uch *)
  41. 38 TYPE
  42. 39 USHORT = CARDINAL;
  43. 40 (*us *)
  44. 41 TYPE
  45. 42 ULONG = LONGINT;
  46. 43 (*ul *)
  47. 44 TYPE
  48. 45 UINT = CARDINAL;
  49. 46 (*ui *)
  50. 47 TYPE
  51. 48 BYTE = SYSTEM.BYTE;
  52. ***** ^ not supported yet
  53. 49 (*b *)
  54. 50
  55. 51 (*define NULL pointer value *)
  56. 52
  57. 53 (*Echo the format of the ifdefs that stdio.h uses *)
  58. 54 CONST NULL = SYSTEM.ADDRESS(VAL(LONGINT, 0));
  59. ***** ^ not supported yet
  60. ***** ^ not supported yet
  61. ***** ^ undeclared identifier
  62. ***** ^ not supported yet
  63. 55
  64. 56 TYPE
  65. 57 HFILE = SHANDLE;
  66. 58 (*hf *)
  67. 59 TYPE
  68. 60 PHFILE = POINTER TO HFILE;
  69. ***** ^ not supported yet
  70. 61
  71. 62 TYPE
  72. 63 PSZ = POINTER TO SYSTEM.BYTE;
  73. ***** ^ not supported yet
  74. 64
  75. 65 TYPE
  76. 66 NPSZ = POINTER TO SYSTEM.BYTE;
  77. ***** ^ not supported yet
  78. 67
  79. 68 TYPE
  80. 69 PCH = SYSTEM.ADDRESS;
  81. ***** ^ not supported yet
  82. 70
  83. 71 TYPE
  84. 72 NPCH = POINTER TO SYSTEM.BYTE;
  85. ***** ^ not supported yet
  86. 73
  87. 74 TYPE
  88. 75 PFN = PROCEDURE();
  89. ***** ^ not supported yet
  90. 76
  91. 77 TYPE
  92. 78 NPFN = PROCEDURE();
  93. ***** ^ not supported yet
  94. 79
  95. 80 TYPE
  96. 81 PPFN = POINTER TO PFN;
  97. ***** ^ not supported yet
  98. 82
  99. 83 TYPE
  100. 84 PBYTE = POINTER TO BYTE;
  101. ***** ^ not supported yet
  102. 85
  103. 86 TYPE
  104. 87 NPBYTE = POINTER TO BYTE;
  105. ***** ^ not supported yet
  106. 88
  107. 89 TYPE
  108. 90 PCHAR = POINTER TO CHAR;
  109. ***** ^ not supported yet
  110. 91
  111. 92 TYPE
  112. 93 PPCHAR = POINTER TO PCHAR;
  113. ***** ^ not supported yet
  114. 94
  115. 95 TYPE
  116. 96 PSHORT = POINTER TO INTEGER;
  117. ***** ^ not supported yet
  118. 97
  119. 98 TYPE
  120. 99 PLONG = POINTER TO LONGINT;
  121. ***** ^ not supported yet
  122. 100
  123. 101 TYPE
  124. 102 PINT = POINTER TO INTEGER;
  125. ***** ^ not supported yet
  126. 103
  127. 104 TYPE
  128. 105 PUCHAR = POINTER TO UCHAR;
  129. ***** ^ not supported yet
  130. 106
  131. 107 TYPE
  132. 108 PUSHORT = POINTER TO USHORT;
  133. ***** ^ not supported yet
  134. 109
  135. 110 TYPE
  136. 111 PULONG = POINTER TO ULONG;
  137. ***** ^ not supported yet
  138. 112
  139. 113 TYPE
  140. 114 PUINT = POINTER TO UINT;
  141. ***** ^ not supported yet
  142. 115
  143. 116 TYPE
  144. 117 PVOID = SYSTEM.ADDRESS;
  145. ***** ^ not supported yet
  146. 118
  147. 119 TYPE
  148. 120 BOOL = BOOLEAN;
  149. 121 (*f *)
  150. 122 TYPE
  151. 123 PBOOL = POINTER TO BOOL;
  152. ***** ^ not supported yet
  153. 124
  154. 125 TYPE
  155. 126 SEL = CARDINAL;
  156. 127 (*sel *)
  157. 128 TYPE
  158. 129 PSEL = POINTER TO SEL;
  159. ***** ^ not supported yet
  160. 130
  161. 131
  162. 132 (** Common Error definitions ****)
  163. 133 TYPE
  164. 134 ERRORID = ULONG;
  165. 135 (*errid *)
  166. 136 TYPE
  167. 137 PERRORID = POINTER TO ERRORID;
  168. ***** ^ not supported yet
  169. 138
  170. 139
  171. 140 (*Severity codes *)
  172. 141 CONST SEVERITY_NOERROR = 0000H;
  173. 142
  174. 143 CONST SEVERITY_WARNING = 0004H;
  175. 144
  176. 145 CONST SEVERITY_ERROR = 0008H;
  177. 146
  178. 147 CONST SEVERITY_SEVERE = 000CH;
  179. 148
  180. 149 CONST SEVERITY_UNRECOVERABLE = 0010H;
  181. 150
  182. 151
  183. 152 (*Base component error values *)
  184. 153 CONST WINERR_BASE = 1000H;
  185. 154 (*Window Manager *)
  186. 155 CONST GPIERR_BASE = 2000H;
  187. 156 (*Graphics Presentation Interface *)
  188. 157 CONST DEVERR_BASE = 3000H;
  189. 158 (*Device Manager *)
  190. 159 CONST SPLERR_BASE = 4000H;
  191. 160 (*Spooler *)
  192. 161
  193. 162 (** Common types used across components *)
  194. 163
  195. 164 (** Common DOS types *)
  196. 165 TYPE
  197. 166 HMODULE = USHORT;
  198. 167 (*hmod *)
  199. 168 TYPE
  200. 169 PHMODULE = POINTER TO HMODULE;
  201. ***** ^ not supported yet
  202. 170
  203. 171 TYPE
  204. 172 PID = USHORT;
  205. 173 (*pid *)
  206. 174 TYPE
  207. 175 PPID = POINTER TO PID;
  208. ***** ^ not supported yet
  209. 176
  210. 177 TYPE
  211. 178 TID = USHORT;
  212. 179 (*tid *)
  213. 180 TYPE
  214. 181 PTID = POINTER TO TID;
  215. ***** ^ not supported yet
  216. 182
  217. 183 TYPE
  218. 184 HSEM = SYSTEM.ADDRESS;
  219. ***** ^ not supported yet
  220. 185 (*hsem *)
  221. 186 TYPE
  222. 187 PHSEM = POINTER TO HSEM;
  223. ***** ^ not supported yet
  224. 188
  225. 189
  226. 190 (** Common SUP types *)
  227. 191 TYPE
  228. 192 HAB = LHANDLE;
  229. 193 (*hab *)
  230. 194 TYPE
  231. 195 PHAB = POINTER TO HAB;
  232. ***** ^ not supported yet
  233. 196
  234. 197
  235. 198 (** Common GPI/DEV types *)
  236. 199 TYPE
  237. 200 HPS = LHANDLE;
  238. 201 (*hps *)
  239. 202 TYPE
  240. 203 PHPS = POINTER TO HPS;
  241. ***** ^ not supported yet
  242. 204
  243. 205 TYPE
  244. 206 HDC = LHANDLE;
  245. 207 (*hdc *)
  246. 208 TYPE
  247. 209 PHDC = POINTER TO HDC;
  248. ***** ^ not supported yet
  249. 210
  250. 211 TYPE
  251. 212 HRGN = LHANDLE;
  252. 213 (*hrgn *)
  253. 214 TYPE
  254. 215 PHRGN = POINTER TO HRGN;
  255. ***** ^ not supported yet
  256. 216
  257. 217 TYPE
  258. 218 HBITMAP = LHANDLE;
  259. 219 (*hbm *)
  260. 220 TYPE
  261. 221 PHBITMAP = POINTER TO HBITMAP;
  262. ***** ^ not supported yet
  263. 222
  264. 223 TYPE
  265. 224 HMF = LHANDLE;
  266. 225 (*hmf *)
  267. 226 TYPE
  268. 227 PHMF = POINTER TO HMF;
  269. ***** ^ not supported yet
  270. 228
  271. 229 TYPE
  272. 230 COLOR = LONGINT;
  273. 231
  274. 232 (*clr *)
  275. 233 TYPE
  276. 234 PCOLOR = POINTER TO COLOR;
  277. ***** ^ not supported yet
  278. 235
  279. 236 TYPE _POINTL = RECORD(*ptl *)
  280. 237 x: LONGINT;
  281. 238 y: LONGINT;
  282. 239 END;
  283. ***** ^ not supported yet
  284. 240 TYPE POINTL = _POINTL;
  285. 241
  286. 242 TYPE
  287. 243 PPOINTL = POINTER TO POINTL;
  288. ***** ^ not supported yet
  289. 244
  290. 245 TYPE
  291. 246 NPPOINTL = POINTER TO POINTL;
  292. ***** ^ not supported yet
  293. 247
  294. 248 TYPE _POINTS = RECORD(*pts *)
  295. 249 x: INTEGER;
  296. 250 y: INTEGER;
  297. 251 END;
  298. ***** ^ not supported yet
  299. 252 TYPE POINTS = _POINTS;
  300. 253
  301. 254 TYPE
  302. 255 PPOINTS = POINTER TO POINTS;
  303. ***** ^ not supported yet
  304. 256
  305. 257 TYPE _RECTL = RECORD(*rcl *)
  306. 258 xLeft: LONGINT;
  307. 259 yBottom: LONGINT;
  308. 260 xRight: LONGINT;
  309. 261 yTop: LONGINT;
  310. 262 END;
  311. ***** ^ not supported yet
  312. 263 TYPE RECTL = _RECTL;
  313. 264
  314. 265 TYPE
  315. 266 PRECTL = POINTER TO RECTL;
  316. ***** ^ not supported yet
  317. 267
  318. 268 TYPE
  319. 269 NPRECTL = POINTER TO RECTL;
  320. ***** ^ not supported yet
  321. 270
  322. 271 TYPE
  323. 272 STR8 = ARRAY [0 .. ((8) - 1)] OF CHAR;
  324. ***** ^ not supported yet
  325. ***** ^ not supported yet
  326. 273 (*str8 *)
  327. 274 TYPE
  328. 275 PSTR8 = POINTER TO STR8;
  329. ***** ^ not supported yet
  330. 276
  331. 277
  332. 278 (** common DEV/SPL types *)
  333. 279
  334. 280 (*structure for Device Driver data *)
  335. 281 TYPE _DRIVDATA = RECORD(*driv *)
  336. 282 cb: LONGINT;
  337. 283 lVersion: LONGINT;
  338. 284 szDeviceName: ARRAY [0 .. ((32) - 1)] OF CHAR;
  339. ***** ^ not supported yet
  340. ***** ^ not supported yet
  341. 285 abGeneralData: ARRAY [0 .. ((1) - 1)] OF CHAR;
  342. ***** ^ not supported yet
  343. ***** ^ not supported yet
  344. 286 END;
  345. ***** ^ not supported yet
  346. 287 TYPE DRIVDATA = _DRIVDATA;
  347. 288
  348. 289 TYPE
  349. 290 PDRIVDATA = POINTER TO DRIVDATA;
  350. ***** ^ not supported yet
  351. 291
  352. 292
  353. 293 (*array indices for array parameter for DevOpenDC, SplQmOpen or SplQpOpen *)
  354. 294 CONST ADDRESS = 0;
  355. 295
  356. 296 CONST DRIVER_NAME = 1;
  357. 297
  358. 298 CONST DRIVER_DATA = 2;
  359. 299
  360. 300 CONST DATA_TYPE = 3;
  361. 301
  362. 302 CONST COMMENT = 4;
  363. 303
  364. 304 CONST PROC_NAME = 5;
  365. 305
  366. 306 CONST PROC_PARAMS = 6;
  367. 307
  368. 308 CONST SPL_PARAMS = 7;
  369. 309
  370. 310 CONST NETWORK_PARAMS = 8;
  371. 311
  372. 312
  373. 313 (*structure definition as an alternative of the array parameter *)
  374. 314 TYPE _DEVOPENSTRUC = RECORD(*dop *)
  375. 315 pszLogAddress: PSZ;
  376. 316 pszDriverName: PSZ;
  377. 317 pdriv: PDRIVDATA;
  378. 318 pszDataType: PSZ;
  379. 319 pszComment: PSZ;
  380. 320 pszQueueProcName: PSZ;
  381. 321 pszQueueProcParams: PSZ;
  382. 322 pszSpoolerParams: PSZ;
  383. 323 pszNetworkParams: PSZ;
  384. 324 END;
  385. ***** ^ not supported yet
  386. 325 TYPE DEVOPENSTRUC = _DEVOPENSTRUC;
  387. 326
  388. 327 TYPE
  389. 328 PDEVOPENSTRUC = POINTER TO DEVOPENSTRUC;
  390. ***** ^ not supported yet
  391. 329
  392. 330
  393. 331 (** common AVIO/GPI types *)
  394. 332
  395. 333 (*values of fsSelection field of FATTRS structure *)
  396. 334 CONST FATTR_SEL_ITALIC = 0001H;
  397. 335
  398. 336 CONST FATTR_SEL_UNDERSCORE = 0002H;
  399. 337
  400. 338 CONST FATTR_SEL_OUTLINE = 0008H;
  401. 339 (*Hollow Outline Font *)
  402. 340 CONST FATTR_SEL_STRIKEOUT = 0010H;
  403. 341
  404. 342 CONST FATTR_SEL_BOLD = 0020H;
  405. 343
  406. 344
  407. 345 (*values of fsType field of FATTRS structure *)
  408. 346 CONST FATTR_TYPE_KERNING = 0004H;
  409. 347
  410. 348 CONST FATTR_TYPE_MBCS = 0008H;
  411. 349
  412. 350 CONST FATTR_TYPE_DBCS = 0010H;
  413. 351
  414. 352 CONST FATTR_TYPE_ANTIALIASED = 0020H;
  415. 353
  416. 354
  417. 355 (*values of fsFontUse field of FATTRS structure *)
  418. 356 CONST FATTR_FONTUSE_NOMIX = 0002H;
  419. 357
  420. 358 CONST FATTR_FONTUSE_OUTLINE = 0004H;
  421. 359
  422. 360 CONST FATTR_FONTUSE_TRANSFORMABLE = 0008H;
  423. 361
  424. 362
  425. 363 (*size for fields in the font structures *)
  426. 364 CONST FACESIZE = 32;
  427. 365
  428. 366
  429. 367 (*font struct for Vio/GpiCreateLogFont *)
  430. 368 TYPE _FATTRS = RECORD(*fat *)
  431. 369 usRecordLength: USHORT;
  432. 370 fsSelection: USHORT;
  433. 371 lMatch: LONGINT;
  434. 372 szFacename: ARRAY [0 .. ((FACESIZE) - 1)] OF CHAR;
  435. ***** ^ not supported yet
  436. ***** ^ not supported yet
  437. 373 idRegistry: USHORT;
  438. 374 usCodePage: USHORT;
  439. 375 lMaxBaselineExt: LONGINT;
  440. 376 lAveCharWidth: LONGINT;
  441. 377 fsType: USHORT;
  442. 378 fsFontUse: USHORT;
  443. 379 END;
  444. ***** ^ not supported yet
  445. 380 TYPE FATTRS = _FATTRS;
  446. 381
  447. 382 TYPE
  448. 383 PFATTRS = POINTER TO FATTRS;
  449. ***** ^ not supported yet
  450. 384
  451. 385
  452. 386 (*values of fsType field of FONTMETRICS structure *)
  453. 387 CONST FM_TYPE_FIXED = 0001H;
  454. 388
  455. 389 CONST FM_TYPE_LICENSED = 0002H;
  456. 390
  457. 391 CONST FM_TYPE_KERNING = 0004H;
  458. 392
  459. 393 CONST FM_TYPE_DBCS = 0010H;
  460. 394
  461. 395 CONST FM_TYPE_MBCS = 0018H;
  462. 396
  463. 397 CONST FM_TYPE_64K = 8000H;
  464. 398
  465. 399
  466. 400 (*values of fsDefn field of FONTMETRICS structure *)
  467. 401 CONST FM_DEFN_OUTLINE = 0001H;
  468. 402
  469. 403 CONST FM_DEFN_GENERIC = 8000H;
  470. 404
  471. 405
  472. 406 (*values of fsSelection field of FONTMETRICS structure *)
  473. 407 CONST FM_SEL_ITALIC = 0001H;
  474. 408
  475. 409 CONST FM_SEL_UNDERSCORE = 0002H;
  476. 410
  477. 411 CONST FM_SEL_NEGATIVE = 0004H;
  478. 412
  479. 413 CONST FM_SEL_OUTLINE = 0008H;
  480. 414 (*Hollow Outline Font *)
  481. 415 CONST FM_SEL_STRIKEOUT = 0010H;
  482. 416
  483. 417 CONST FM_SEL_BOLD = 0020H;
  484. 418
  485. 419
  486. 420 (*values of fsCapabilities field of FONTMETRICS structure *)
  487. 421 CONST FM_CAP_NOMIX = 0001H;
  488. 422
  489. 423
  490. 424 (*font metrics returned by GpiQueryFonts and others *)
  491. 425 TYPE _FONTMETRICS = RECORD(*fm *)
  492. 426 szFamilyname: ARRAY [0 .. ((FACESIZE) - 1)] OF CHAR;
  493. ***** ^ not supported yet
  494. ***** ^ not supported yet
  495. 427 szFacename: ARRAY [0 .. ((FACESIZE) - 1)] OF CHAR;
  496. ***** ^ not supported yet
  497. ***** ^ not supported yet
  498. 428 idRegistry: USHORT;
  499. 429 usCodePage: USHORT;
  500. 430 lEmHeight: LONGINT;
  501. 431 lXHeight: LONGINT;
  502. 432 lMaxAscender: LONGINT;
  503. 433 lMaxDescender: LONGINT;
  504. 434 lLowerCaseAscent: LONGINT;
  505. 435 lLowerCaseDescent: LONGINT;
  506. 436 lInternalLeading: LONGINT;
  507. 437 lExternalLeading: LONGINT;
  508. 438 lAveCharWidth: LONGINT;
  509. 439 lMaxCharInc: LONGINT;
  510. 440 lEmInc: LONGINT;
  511. 441 lMaxBaselineExt: LONGINT;
  512. 442 sCharSlope: INTEGER;
  513. 443 sInlineDir: INTEGER;
  514. 444 sCharRot: INTEGER;
  515. 445 usWeightClass: USHORT;
  516. 446 usWidthClass: USHORT;
  517. 447 sXDeviceRes: INTEGER;
  518. 448 sYDeviceRes: INTEGER;
  519. 449 sFirstChar: INTEGER;
  520. 450 sLastChar: INTEGER;
  521. 451 sDefaultChar: INTEGER;
  522. 452 sBreakChar: INTEGER;
  523. 453 sNominalPointSize: INTEGER;
  524. 454 sMinimumPointSize: INTEGER;
  525. 455 sMaximumPointSize: INTEGER;
  526. 456 fsType: USHORT;
  527. 457 fsDefn: USHORT;
  528. 458 fsSelection: USHORT;
  529. 459 fsCapabilities: USHORT;
  530. 460 lSubscriptXSize: LONGINT;
  531. 461 lSubscriptYSize: LONGINT;
  532. 462 lSubscriptXOffset: LONGINT;
  533. 463 lSubscriptYOffset: LONGINT;
  534. 464 lSuperscriptXSize: LONGINT;
  535. 465 lSuperscriptYSize: LONGINT;
  536. 466 lSuperscriptXOffset: LONGINT;
  537. 467 lSuperscriptYOffset: LONGINT;
  538. 468 lUnderscoreSize: LONGINT;
  539. 469 lUnderscorePosition: LONGINT;
  540. 470 lStrikeoutSize: LONGINT;
  541. 471 lStrikeoutPosition: LONGINT;
  542. 472 sKerningPairs: INTEGER;
  543. 473 sFamilyClass: INTEGER;
  544. 474 lMatch: LONGINT;
  545. 475 END;
  546. ***** ^ not supported yet
  547. 476 TYPE FONTMETRICS = _FONTMETRICS;
  548. 477
  549. 478 TYPE
  550. 479 PFONTMETRICS = POINTER TO FONTMETRICS;
  551. ***** ^ not supported yet
  552. 480
  553. 481
  554. 482 (** Common WIN types *)
  555. 483 TYPE
  556. 484 HWND = LHANDLE;
  557. 485 (*hwnd *)
  558. 486 TYPE
  559. 487 PHWND = POINTER TO HWND;
  560. ***** ^ not supported yet
  561. 488
  562. 489 TYPE _WRECT = RECORD(*wrc *)
  563. 490 xLeft: INTEGER;
  564. 491 dummy1: INTEGER;
  565. 492 yBottom: INTEGER;
  566. 493 dummy2: INTEGER;
  567. 494 xRight: INTEGER;
  568. 495 dummy3: INTEGER;
  569. 496 yTop: INTEGER;
  570. 497 dummy4: INTEGER;
  571. 498 END;
  572. ***** ^ not supported yet
  573. 499 TYPE WRECT = _WRECT;
  574. 500
  575. 501 TYPE
  576. 502 PWRECT = POINTER TO WRECT;
  577. ***** ^ not supported yet
  578. 503
  579. 504 TYPE
  580. 505 NPWRECT = POINTER TO WRECT;
  581. ***** ^ not supported yet
  582. 506
  583. 507 TYPE _WPOINT = RECORD(*wpt *)
  584. 508 x: INTEGER;
  585. 509 dummy1: INTEGER;
  586. 510 y: INTEGER;
  587. 511 dummy2: INTEGER;
  588. 512 END;
  589. ***** ^ not supported yet
  590. 513 TYPE WPOINT = _WPOINT;
  591. 514
  592. 515 TYPE
  593. 516 PWPOINT = POINTER TO WPOINT;
  594. ***** ^ not supported yet
  595. 517
  596. 518 TYPE
  597. 519 NPWPOINT = POINTER TO WPOINT;
  598. ***** ^ not supported yet
  599. 520
  600. 521
  601. 522 (** General services *)
  602. 523 PROCEDURE DOSBEEP (
  603. 524 usFrequency: USHORT;
  604. 525 usDuration: USHORT): USHORT;
  605. 526
  606. 527
  607. 528 (** Process and Thread support *)
  608. 529 PROCEDURE DOSEXIT (
  609. 530 fTerminate: USHORT;
  610. 531 usExitCode: USHORT);
  611. 532
  612. 533
  613. 534 (*DosExit fTerminate *)
  614. 535 CONST EXIT_THREAD = 0;
  615. 536
  616. 537 CONST EXIT_PROCESS = 1;
  617. 538
  618. 539 TYPE _PIDINFO = RECORD(*pidi *)
  619. 540 pid: PID;
  620. 541 tid: TID;
  621. 542 pidParent: PID;
  622. 543 END;
  623. ***** ^ not supported yet
  624. 544 TYPE PIDINFO = _PIDINFO;
  625. 545
  626. 546 TYPE
  627. 547 PPIDINFO = POINTER TO PIDINFO;
  628. ***** ^ not supported yet
  629. 548
  630. 549 PROCEDURE DOSSLEEP (
  631. 550 ulTime: ULONG): USHORT;
  632. 551
  633. 552
  634. 553 (*codeTerminate values (also passed to ExitList routines) *)
  635. 554 CONST TC_EXIT = 0;
  636. 555
  637. 556 CONST TC_HARDERROR = 1;
  638. 557
  639. 558 CONST TC_TRAP = 2;
  640. 559
  641. 560 CONST TC_KILLPROCESS = 3;
  642. 561
  643. 562 TYPE _RESULTCODES = RECORD
  644. 563 codeTerminate: USHORT;
  645. 564 codeResult: USHORT;
  646. 565 END;
  647. ***** ^ not supported yet
  648. 566
  649. 567 TYPE RESULTCODES = _RESULTCODES;
  650. 568
  651. 569 TYPE PRESULTCODES = POINTER TO RESULTCODES;
  652. ***** ^ not supported yet
  653. 570
  654. 571 PROCEDURE DOSEXECPGM (
  655. 572 pchFailName: PCHAR;
  656. 573 cbFailName: INTEGER;
  657. 574 fExecFlags: USHORT;
  658. 575 pszArgs: PSZ;
  659. 576 pszEnv: PSZ;
  660. 577 prescResults: PRESULTCODES;
  661. 578 pszPgmName: PSZ): USHORT;
  662. 579
  663. 580
  664. 581 (*DosExecPgm fExecFlags *)
  665. 582 CONST EXEC_SYNC = 0;
  666. 583
  667. 584 CONST EXEC_ASYNC = 1;
  668. 585
  669. 586 CONST EXEC_ASYNCRESULT = 2;
  670. 587
  671. 588 CONST EXEC_TRACE = 3;
  672. 589
  673. 590 CONST EXEC_BACKGROUND = 4;
  674. 591
  675. 592 PROCEDURE DOSGETPID (
  676. 593 ppidInfo: PPIDINFO): USHORT;
  677. 594
  678. 595
  679. 596
  680. 597 (** InfoSeg support *)
  681. 598
  682. 599 (*Global Information Segment *)
  683. 600 TYPE _GINFOSEG = RECORD(*gis *)
  684. 601 time: ULONG;
  685. 602 msecs: ULONG;
  686. 603 hour: UCHAR;
  687. 604 minutes: UCHAR;
  688. 605 seconds: UCHAR;
  689. 606 hundredths: UCHAR;
  690. 607 timezone: USHORT;
  691. 608 cusecTimerInterval: USHORT;
  692. 609 day: UCHAR;
  693. 610 month: UCHAR;
  694. 611 year: USHORT;
  695. 612 weekday: UCHAR;
  696. 613 uchMajorVersion: UCHAR;
  697. 614 uchMinorVersion: UCHAR;
  698. 615 chRevisionLetter: UCHAR;
  699. 616 sgCurrent: UCHAR;
  700. 617 sgMax: UCHAR;
  701. 618 cHugeShift: UCHAR;
  702. 619 fProtectModeOnly: UCHAR;
  703. 620 pidForeground: USHORT;
  704. 621 fDynamicSched: UCHAR;
  705. 622 csecMaxWait: UCHAR;
  706. 623 cmsecMinSlice: USHORT;
  707. 624 cmsecMaxSlice: USHORT;
  708. 625 bootdrive: USHORT;
  709. 626 amecRAS: ARRAY [0 .. ((32) - 1)] OF UCHAR;
  710. ***** ^ not supported yet
  711. ***** ^ not supported yet
  712. 627 csgWindowableVioMax: UCHAR;
  713. 628 csgPMMax: UCHAR;
  714. 629 END;
  715. ***** ^ not supported yet
  716. 630 TYPE GINFOSEG = _GINFOSEG;
  717. 631
  718. 632 TYPE
  719. 633 PGINFOSEG = POINTER TO GINFOSEG;
  720. ***** ^ not supported yet
  721. 634
  722. 635
  723. 636 (*Local Information Segment *)
  724. 637 TYPE _LINFOSEG = RECORD(*lis *)
  725. 638 pidCurrent: PID;
  726. 639 pidParent: PID;
  727. 640 prtyCurrent: USHORT;
  728. 641 tidCurrent: TID;
  729. 642 sgCurrent: USHORT;
  730. 643 rfProcStatus: UCHAR;
  731. 644 dummy1: UCHAR;
  732. 645 fForeground: BOOL;
  733. 646 typeProcess: UCHAR;
  734. 647 dummy2: UCHAR;
  735. 648 selEnvironment: SEL;
  736. 649 offCmdLine: USHORT;
  737. 650 cbDataSegment: USHORT;
  738. 651 cbStack: USHORT;
  739. 652 cbHeap: USHORT;
  740. 653 hmod: HMODULE;
  741. 654 selDS: SEL;
  742. 655 END;
  743. ***** ^ not supported yet
  744. 656 TYPE LINFOSEG = _LINFOSEG;
  745. 657
  746. 658 TYPE
  747. 659 PLINFOSEG = POINTER TO LINFOSEG;
  748. ***** ^ not supported yet
  749. 660
  750. 661
  751. 662 (*Process Type codes (local information segment typeProcess field) *)
  752. 663 CONST PT_FULLSCREEN = 0;
  753. 664 (*Full screen application *)
  754. 665 CONST PT_REALMODE = 1;
  755. 666 (*Real mode process *)
  756. 667 CONST PT_WINDOWABLEVIO = 2;
  757. 668 (*VIO windowable application *)
  758. 669 CONST PT_PM = 3;
  759. 670 (*Presentation Manager application *)
  760. 671 CONST PT_DETACHED = 4;
  761. 672 (*Detached application *)
  762. 673
  763. 674 (*Process Status Flag definitions (local info seg rfProcStatus field) *)
  764. 675 CONST PS_EXITLIST = 1;
  765. 676 (*Thread is in exitlist routine *)
  766. 677
  767. 678
  768. 679 (*
  769. 680 * CCHMAXPATH is the maximum fully qualified path name length including
  770. 681 * the drive letter, colon, backslashes and terminating NULL.
  771. 682 *)
  772. 683 CONST CCHMAXPATH = 260;
  773. 684
  774. 685
  775. 686 (*
  776. 687 * CCHMAXPATHCOMP is the maximum individual path component name length
  777. 688 * including a terminating NULL.
  778. 689 *)
  779. 690 CONST CCHMAXPATHCOMP = 256;
  780. 691
  781. 692
  782. 693 (** File manager *)
  783. 694
  784. 695 (*DosChgFilePtr() file position codes *)
  785. 696 CONST FILE_BEGIN = 0000H;
  786. 697 (*relative to beginning of file *)
  787. 698 CONST FILE_CURRENT = 0001H;
  788. 699 (*relative to current fptr position*)
  789. 700 CONST FILE_END = 0002H;
  790. 701 (*relative to end of file *)
  791. 702
  792. 703 (*DosFindFirst/Next Directory handle types *)
  793. 704 CONST HDIR_SYSTEM = 0001H;
  794. 705 (*Use system handle (1) *)
  795. 706 CONST HDIR_CREATE = 0FFFFH;
  796. 707 (*Allocate a new, unused handle *)
  797. 708
  798. 709 (*Append to existing file, don't replace*)
  799. 710
  800. 711 (*DosOpen/DosQFHandState/DosQueryFileInfo et al file attributes; also*)
  801. 712 (*known as Dos File Mode bits... *)
  802. 713 CONST FILE_NORMAL = 0000H;
  803. 714 CONST FILE_READONLY = 0001H;
  804. 715 CONST FILE_HIDDEN = 0002H;
  805. 716 CONST FILE_SYSTEM = 0004H;
  806. 717 CONST FILE_DIRECTORY = 0010H;
  807. 718 CONST FILE_ARCHIVED = 0020H;
  808. 719
  809. 720
  810. 721 (*DosOpen() actions *)
  811. 722 CONST FILE_EXISTED = 0001H;
  812. 723
  813. 724 CONST FILE_CREATED = 0002H;
  814. 725
  815. 726 CONST FILE_TRUNCATED = 0003H;
  816. 727
  817. 728
  818. 729 (*DosOpen() open flags *)
  819. 730 CONST FILE_OPEN = 0001H;
  820. 731
  821. 732 CONST FILE_TRUNCATE = 0002H;
  822. 733
  823. 734 CONST FILE_CREATE = 0010H;
  824. 735
  825. 736
  826. 737 (*applies if file already exists *)
  827. 738 CONST OPEN_ACTION_FAIL_IF_EXISTS = 0000H;
  828. 739 (*---- ---- ---- 0000 *)
  829. 740 CONST OPEN_ACTION_OPEN_IF_EXISTS = 0001H;
  830. 741 (*---- ---- ---- 0001 *)
  831. 742 CONST OPEN_ACTION_REPLACE_IF_EXISTS = 0002H;
  832. 743 (*---- ---- ---- 0010 *)
  833. 744
  834. 745 (*applies if file does not exist *)
  835. 746 CONST OPEN_ACTION_FAIL_IF_NEW = 0000H;
  836. 747 (*---- ---- 0000 ---- *)
  837. 748 CONST OPEN_ACTION_CREATE_IF_NEW = 0010H;
  838. 749 (*---- ---- 0001 ---- *)
  839. 750
  840. 751 (*DosOpen/DosSetFHandState flags *)
  841. 752 CONST OPEN_ACCESS_READONLY = 0000H;
  842. 753 (*---- ---- ---- -000 *)
  843. 754 CONST OPEN_ACCESS_WRITEONLY = 0001H;
  844. 755 (*---- ---- ---- -001 *)
  845. 756 CONST OPEN_ACCESS_READWRITE = 0002H;
  846. 757 (*---- ---- ---- -010 *)
  847. 758 CONST OPEN_SHARE_DENYREADWRITE = 0010H;
  848. 759 (*---- ---- -001 ---- *)
  849. 760 CONST OPEN_SHARE_DENYWRITE = 0020H;
  850. 761 (*---- ---- -010 ---- *)
  851. 762 CONST OPEN_SHARE_DENYREAD = 0030H;
  852. 763 (*---- ---- -011 ---- *)
  853. 764 CONST OPEN_SHARE_DENYNONE = 0040H;
  854. 765 (*---- ---- -100 ---- *)
  855. 766 CONST OPEN_FLAGS_NOINHERIT = 0080H;
  856. 767 (*---- ---- 1--- ---- *)
  857. 768 CONST OPEN_FLAGS_NO_LOCALITY = 0000H;
  858. 769 (*---- -000 ---- ---- *)
  859. 770 CONST OPEN_FLAGS_SEQUENTIAL = 0100H;
  860. 771 (*---- -001 ---- ---- *)
  861. 772 CONST OPEN_FLAGS_RANDOM = 0200H;
  862. 773 (*---- -010 ---- ---- *)
  863. 774 CONST OPEN_FLAGS_RANDOMSEQUENTIAL = 0300H;
  864. 775 (*---- -011 ---- ---- *)
  865. 776 CONST OPEN_FLAGS_NO_CACHE = 1000H;
  866. 777 (*---1 ---- ---- ---- *)
  867. 778 CONST OPEN_FLAGS_FAIL_ON_ERROR = 2000H;
  868. 779 (*--1- ---- ---- ---- *)
  869. 780 CONST OPEN_FLAGS_WRITE_THROUGH = 4000H;
  870. 781 (*-1-- ---- ---- ---- *)
  871. 782 CONST OPEN_FLAGS_DASD = 8000H;
  872. 783 (*1--- ---- ---- ---- *)
  873. 784
  874. 785 CONST SEARCH_PATH = 0000H;
  875. 786
  876. 787 CONST SEARCH_CUR_DIRECTORY = 0001H;
  877. 788
  878. 789 CONST SEARCH_ENVIRONMENT = 0002H;
  879. 790
  880. 791 CONST SEARCH_IGNORENETERRS = 0004H;
  881. 792
  882. 793
  883. 794 (*
  884. 795 * DosFileIO
  885. 796 *)
  886. 797
  887. 798 (*File IO command words *)
  888. 799 CONST FIO_LOCK = 0;
  889. 800 (*Lock Files *)
  890. 801 CONST FIO_UNLOCK = 1;
  891. 802 (*Unlock Files *)
  892. 803 CONST FIO_SEEK = 2;
  893. 804 (*Seek (set file ptr) *)
  894. 805 CONST FIO_READ = 3;
  895. 806 (*File Read *)
  896. 807 CONST FIO_WRITE = 4;
  897. 808 (*File Write *)
  898. 809
  899. 810 (*Lock Sharing Modes *)
  900. 811 CONST FIO_NOSHARE = 0;
  901. 812 (*None *)
  902. 813 CONST FIO_SHAREREAD = 1;
  903. 814 (*Read-Only *)
  904. 815 TYPE _FIOLOCKCMD = RECORD(*FLC FileLockCmd prefix *)
  905. 816 usCmd: USHORT;(*Cmd = FIO_LOCK *)
  906. 817 cLockCnt: USHORT;(*Lock records that follow *)
  907. 818 cTimeOut: ULONG;(*in Msec *)
  908. 819 END;
  909. ***** ^ not supported yet
  910. 820 TYPE FIOLOCKCMD = _FIOLOCKCMD;
  911. 821
  912. 822 TYPE
  913. 823 PFIOLOCKCMD = POINTER TO FIOLOCKCMD;
  914. ***** ^ not supported yet
  915. 824
  916. 825 TYPE _FIOLOCKREC = RECORD(*FLR FileLockRecord *)
  917. 826 fShare: USHORT;(*FIO_NOSHARE or FIO_SHAREREAD *)
  918. 827 cbStart: ULONG;(*Starting offset for lock region *)
  919. 828 cbLength: ULONG;(*Length of lock region *)
  920. 829 END;
  921. ***** ^ not supported yet
  922. 830 TYPE FIOLOCKREC = _FIOLOCKREC;
  923. 831
  924. 832 TYPE
  925. 833 PFIOLOCKREC = POINTER TO FIOLOCKREC;
  926. ***** ^ not supported yet
  927. 834
  928. 835 TYPE _FIOUNLOCKCMD = RECORD(*FUC FileUnlockCmd prefix *)
  929. 836 usCmd: USHORT;(*Cmd = FIO_UNLOCK *)
  930. 837 cUnlockCnt: USHORT;(*Unlock records that follow *)
  931. 838 END;
  932. ***** ^ not supported yet
  933. 839 TYPE FIOUNLOCKCMD = _FIOUNLOCKCMD;
  934. 840
  935. 841 TYPE
  936. 842 PFIOUNLOCKCMD = POINTER TO FIOUNLOCKCMD;
  937. ***** ^ not supported yet
  938. 843
  939. 844 TYPE _FIOUNLOCKREC = RECORD(*FUR FileUnlockRecord *)
  940. 845 cbStart: ULONG;(*Starting offset for unlock region *)
  941. 846 cbLength: ULONG;(*Length of unlock region *)
  942. 847 END;
  943. ***** ^ not supported yet
  944. 848 TYPE FIOUNLOCKREC = _FIOUNLOCKREC;
  945. 849
  946. 850 TYPE
  947. 851 PFIOUNLOCKREC = POINTER TO FIOUNLOCKREC;
  948. ***** ^ not supported yet
  949. 852
  950. 853 TYPE _FIOSEEKCMD = RECORD(*FSC Seek command structure *)
  951. 854 usCmd: USHORT;(*Cmd = FIO_SEEK *)
  952. 855 fsMethod: USHORT;(*One of&gml FPM_BEGINNING, FPM_CURRENT, *)
  953. 856 (*or FPM_END *)
  954. 857 cbDistance: ULONG;(*Byte offset for seek *)
  955. 858 cbNewPosition: ULONG;(*Bytes from start of file after seek *)
  956. 859 END;
  957. ***** ^ not supported yet
  958. 860 TYPE FIOSEEKCMD = _FIOSEEKCMD;
  959. 861
  960. 862 TYPE
  961. 863 PFIOSEEKCMD = POINTER TO FIOSEEKCMD;
  962. ***** ^ not supported yet
  963. 864
  964. 865 TYPE _FIOREADWRITE = RECORD(*FRWC Read&Write command structure *)
  965. 866 usCmd: USHORT;(*Cmd = FIO_READ or FIO_WRITE *)
  966. 867 pbBuffer: PVOID;(*Pointer to data buffer *)
  967. 868 cbBufferLen: USHORT;(*Bytes in buffer or max size *)
  968. 869 cbActualLen: USHORT;(*Bytes actually read/written *)
  969. 870 END;
  970. ***** ^ not supported yet
  971. 871 TYPE FIOREADWRITE = _FIOREADWRITE;
  972. 872
  973. 873 TYPE
  974. 874 PFIOREADWRITE = POINTER TO FIOREADWRITE;
  975. ***** ^ not supported yet
  976. 875
  977. 876
  978. 877 (**
  979. 878 * EA Info Levels & Find First/Next
  980. 879 * API's: DosFindFirst, DosQueryFileInfo, DosQueryPathInfo, DosSetFileInfo
  981. 880 *)
  982. 881
  983. 882 (*File info levels : All listed API's *)
  984. 883 CONST FIL_STANDARD = 1;
  985. 884 (*Info level 1, standard file info *)
  986. 885 CONST FIL_QUERYEASIZE = 2;
  987. 886 (*Level 2, return Full EA size *)
  988. 887 CONST FIL_QUERYEASFROMLIST = 3;
  989. 888 (*Level 3, return requested EA's *)
  990. 889
  991. 890 (*File info levels: Dos...PathInfo only *)
  992. 891 CONST FIL_QUERYFULLNAME = 5;
  993. 892 (*Level 5, return fully qualified *)
  994. 893 (* name of file *)
  995. 894 CONST FIL_NAMEISVALID = 6;
  996. 895 (*Level 6, check validity of *)
  997. 896 (*file/path name for this FSD *)
  998. 897
  999. 898 (*DosFindNotifyFirst() *)
  1000. 899 CONST FNOTIL_STANDARD = 1;
  1001. 900 (*Find-Notify Info level 1&gml Return *)
  1002. 901 (*standard directory change info *)
  1003. 902
  1004. 903 (*DosQueryFSAttach() *)
  1005. 904
  1006. 905 (*Information level types (defines method of query) *)
  1007. 906 CONST FSAIL_QUERYNAME = 1;
  1008. 907 (*Return data for a Drive or Device *)
  1009. 908 CONST FSAIL_DEVNUMBER = 2;
  1010. 909 (*Return data for Ordinal Device # *)
  1011. 910 CONST FSAIL_DRVNUMBER = 3;
  1012. 911 (*Return data for Ordinal Drive # *)
  1013. 912
  1014. 913 (*Item types (from data structure item "iType") *)
  1015. 914 CONST FSAT_CHARDEV = 1;
  1016. 915 (*Resident character device *)
  1017. 916 CONST FSAT_PSEUDODEV = 2;
  1018. 917 (*Pusedu-character device *)
  1019. 918 CONST FSAT_LOCALDRV = 3;
  1020. 919 (*Local drive *)
  1021. 920 CONST FSAT_REMOTEDRV = 4;
  1022. 921 (*Remote drive attached to FSD *)
  1023. 922
  1024. 923 (*Data structure for QFSAttach *)
  1025. 924 TYPE _FSQBUFFER = RECORD(*fsqbf *)
  1026. 925 iType: USHORT;(*Item type *)
  1027. 926 cbName: USHORT;(*Length of item name, sans NULL *)
  1028. 927 szName: ARRAY [0 .. ((1) - 1)] OF UCHAR;(*ASCIIZ item name *)
  1029. ***** ^ not supported yet
  1030. ***** ^ not supported yet
  1031. 928 cbFSDName: USHORT;(*Length of FSD name, sans NULL *)
  1032. 929 szFSDName: ARRAY [0 .. ((1) - 1)] OF UCHAR;(*ASCIIZ FSD name *)
  1033. ***** ^ not supported yet
  1034. ***** ^ not supported yet
  1035. 930 cbFSAData: USHORT;(*Length of FSD Attach data returned *)
  1036. 931 rgFSAData: ARRAY [0 .. ((1) - 1)] OF UCHAR;(*FSD Attach data from FSD *)
  1037. ***** ^ not supported yet
  1038. ***** ^ not supported yet
  1039. 932 END;
  1040. ***** ^ not supported yet
  1041. 933 TYPE FSQBUFFER = _FSQBUFFER;
  1042. 934
  1043. 935 TYPE
  1044. 936 PFSQBUFFER = POINTER TO FSQBUFFER;
  1045. ***** ^ not supported yet
  1046. 937
  1047. 938
  1048. 939 (*
  1049. 940 * File System Drive Information&gml DosQFSInfo DosSetFSInfo
  1050. 941 *)
  1051. 942
  1052. 943 (*FS Drive Info Levels *)
  1053. 944 CONST FSIL_ALLOC = 1;
  1054. 945 (*Drive allocation info (Query only) *)
  1055. 946 CONST FSIL_VOLSER = 2;
  1056. 947 (*Drive Volume/Serial information *)
  1057. 948
  1058. 949 (*HANDTYPE values *)
  1059. 950 CONST HANDTYPE_FILE = 0000H;
  1060. 951
  1061. 952 CONST HANDTYPE_DEVICE = 0001H;
  1062. 953
  1063. 954 CONST HANDTYPE_PIPE = 0002H;
  1064. 955
  1065. 956 CONST HANDTYPE_NETWORK = 8000H;
  1066. 957
  1067. 958
  1068. 959 (*DosQHandType() *)
  1069. 960
  1070. 961 (*Handle classes (low 8 bits of Handle Type) *)
  1071. 962 CONST FHT_DISKFILE = 0000H;
  1072. 963 (*Disk file handle *)
  1073. 964 CONST FHT_CHRDEV = 0001H;
  1074. 965 (*Character device handle *)
  1075. 966 CONST FHT_PIPE = 0002H;
  1076. 967 (*Pipe handle *)
  1077. 968
  1078. 969 (*Handle bits (high 8 bits of Handle Type) *)
  1079. 970 CONST FHB_DSKREMOTE = 8000H;
  1080. 971 (*Remote disk *)
  1081. 972 CONST FHB_CHRDEVREMOTE = 8001H;
  1082. 973 (*Remote character device *)
  1083. 974 CONST FHB_PIPEREMOTE = 8002H;
  1084. 975 (*Remote pipe *)
  1085. 976
  1086. 977 (*File time and date types *)
  1087. 978 TYPE FTIME = CARDINAL;
  1088. 979 TYPE FDATE = CARDINAL;
  1089. 980
  1090. 981 TYPE
  1091. 982 PFDATE = POINTER TO FDATE;
  1092. ***** ^ not supported yet
  1093. 983
  1094. 984 TYPE _FILEFINDBUF = RECORD(*findbuf *)
  1095. 985 fdateCreation: FDATE;
  1096. 986 ftimeCreation: FTIME;
  1097. 987 fdateLastAccess: FDATE;
  1098. 988 ftimeLastAccess: FTIME;
  1099. 989 fdateLastWrite: FDATE;
  1100. 990 ftimeLastWrite: FTIME;
  1101. 991 cbFile: ULONG;
  1102. 992 cbFileAlloc: ULONG;
  1103. 993 attrFile: USHORT;
  1104. 994 cchName: UCHAR;
  1105. 995 achName: ARRAY [0 .. ((CCHMAXPATHCOMP) - 1)] OF CHAR;
  1106. ***** ^ not supported yet
  1107. ***** ^ not supported yet
  1108. 996 END;
  1109. ***** ^ not supported yet
  1110. 997 TYPE FILEFINDBUF = _FILEFINDBUF;
  1111. 998
  1112. 999 TYPE
  1113. 1000 PFILEFINDBUF = POINTER TO FILEFINDBUF;
  1114. ***** ^ not supported yet
  1115. 1001
  1116. 1002 TYPE _FILEFINDBUF2 = RECORD(*findbuf2 *)
  1117. 1003 fdateCreation: FDATE;
  1118. 1004 ftimeCreation: FTIME;
  1119. 1005 fdateLastAccess: FDATE;
  1120. 1006 ftimeLastAccess: FTIME;
  1121. 1007 fdateLastWrite: FDATE;
  1122. 1008 ftimeLastWrite: FTIME;
  1123. 1009 cbFile: ULONG;
  1124. 1010 cbFileAlloc: ULONG;
  1125. 1011 attrFile: USHORT;
  1126. 1012 cbList: ULONG;
  1127. 1013 cchName: UCHAR;
  1128. 1014 achName: ARRAY [0 .. ((CCHMAXPATHCOMP) - 1)] OF CHAR;
  1129. ***** ^ not supported yet
  1130. ***** ^ not supported yet
  1131. 1015 END;
  1132. ***** ^ not supported yet
  1133. 1016 TYPE FILEFINDBUF2 = _FILEFINDBUF2;
  1134. 1017
  1135. 1018 TYPE
  1136. 1019 PFILEFINDBUF2 = POINTER TO FILEFINDBUF2;
  1137. ***** ^ not supported yet
  1138. 1020
  1139. 1021
  1140. 1022 (*extended attribute structures *)
  1141. 1023 TYPE _GEA = RECORD(*gea *)
  1142. 1024 cbName: BYTE;(*name length not including NULL *)
  1143. 1025 szName: ARRAY [0 .. ((1) - 1)] OF CHAR;(*attribute name *)
  1144. ***** ^ not supported yet
  1145. ***** ^ not supported yet
  1146. 1026 END;
  1147. ***** ^ not supported yet
  1148. 1027 TYPE GEA = _GEA;
  1149. 1028
  1150. 1029 TYPE
  1151. 1030 PGEA = POINTER TO GEA;
  1152. ***** ^ not supported yet
  1153. 1031
  1154. 1032 TYPE _GEALIST = RECORD(*geal *)
  1155. 1033 cbList: ULONG;(*total bytes of structure inc full list *)
  1156. 1034 list: ARRAY [0 .. ((1) - 1)] OF GEA;(*variable length GEA structures *)
  1157. ***** ^ not supported yet
  1158. ***** ^ not supported yet
  1159. 1035 END;
  1160. ***** ^ not supported yet
  1161. 1036 TYPE GEALIST = _GEALIST;
  1162. 1037
  1163. 1038 TYPE
  1164. 1039 PGEALIST = POINTER TO GEALIST;
  1165. ***** ^ not supported yet
  1166. 1040
  1167. 1041 TYPE _FEA = RECORD(*fea *)
  1168. 1042 fEA: BYTE;(*flags *)
  1169. 1043 cbName: BYTE;(*name length not including NULL *)
  1170. 1044 cbValue: USHORT;(*value length *)
  1171. 1045 END;
  1172. ***** ^ not supported yet
  1173. 1046 TYPE FEA = _FEA;
  1174. 1047
  1175. 1048 TYPE
  1176. 1049 PFEA = POINTER TO FEA;
  1177. ***** ^ not supported yet
  1178. 1050
  1179. 1051
  1180. 1052 (*flags for _FEA.fEA *)
  1181. 1053 CONST FEA_NEEDEA = 80H;
  1182. 1054 (*need EA bit *)
  1183. 1055 TYPE _FEALIST = RECORD(*feal *)
  1184. 1056 cbList: ULONG;(*total bytes of structure inc full list *)
  1185. 1057 list: ARRAY [0 .. ((1) - 1)] OF FEA;(*variable length FEA structures *)
  1186. ***** ^ not supported yet
  1187. ***** ^ not supported yet
  1188. 1058 END;
  1189. ***** ^ not supported yet
  1190. 1059 TYPE FEALIST = _FEALIST;
  1191. 1060
  1192. 1061 TYPE
  1193. 1062 PFEALIST = POINTER TO FEALIST;
  1194. ***** ^ not supported yet
  1195. 1063
  1196. 1064 TYPE _EAOP = RECORD(*eaop *)
  1197. 1065 fpGEAList: PGEALIST;(*general EA list *)
  1198. 1066 fpFEAList: PFEALIST;(*full EA list *)
  1199. 1067 oError: ULONG;
  1200. 1068 END;
  1201. ***** ^ not supported yet
  1202. 1069 TYPE EAOP = _EAOP;
  1203. 1070
  1204. 1071 TYPE
  1205. 1072 PEAOP = POINTER TO EAOP;
  1206. ***** ^ not supported yet
  1207. 1073
  1208. 1074
  1209. 1075 (*
  1210. 1076 * Equates for EA types
  1211. 1077 *
  1212. 1078 * Values 0xFFFE thru 0x8000 are reserved.
  1213. 1079 * Values 0x0000 thru 0x7fff are user definable.
  1214. 1080 * Value 0xFFFC is not used
  1215. 1081 *)
  1216. 1082 CONST EAT_BINARY = 0FFFEH;
  1217. 1083 (*length preceeded binary *)
  1218. 1084 CONST EAT_ASCII = 0FFFDH;
  1219. 1085 (*length preceeded ASCII *)
  1220. 1086 CONST EAT_BITMAP = 0FFFBH;
  1221. 1087 (*length preceeded bitmap *)
  1222. 1088 CONST EAT_METAFILE = 0FFFAH;
  1223. 1089 (*length preceeded metafile *)
  1224. 1090 CONST EAT_ICON = 0FFF9H;
  1225. 1091 (*length preceeded icon *)
  1226. 1092 CONST EAT_EA = 0FFEEH;
  1227. 1093 (*length preceeded ASCII extended attribute *)
  1228. 1094 (*name of associated data (#include)*)
  1229. 1095 CONST EAT_MVMT = 0FFDFH;
  1230. 1096 (*multi-valued, multi-typed field *)
  1231. 1097 CONST EAT_MVST = 0FFDEH;
  1232. 1098 (*multi-valued, single-typed field *)
  1233. 1099 CONST EAT_ASN1 = 0FFDDH;
  1234. 1100 (*ASN.1 field *)
  1235. 1101
  1236. 1102 PROCEDURE DOSOPEN (
  1237. 1103 pszFname: PSZ;
  1238. 1104 phfOpen: PHFILE;
  1239. 1105 pusAction: PUSHORT;
  1240. 1106 ulFSize: ULONG;
  1241. 1107 usAttr: USHORT;
  1242. 1108 fsOpenFlags: USHORT;
  1243. 1109 fsOpenMode: USHORT;
  1244. 1110 ulReserved: ULONG): USHORT;
  1245. 1111
  1246. 1112 PROCEDURE DOSCLOSE (
  1247. 1113 hf: HFILE): USHORT;
  1248. 1114
  1249. 1115 PROCEDURE DOSREAD (
  1250. 1116 hf: HFILE;
  1251. 1117 pBuf: PVOID;
  1252. 1118 cbBuf: USHORT;
  1253. 1119 pcbBytesRead: PUSHORT): USHORT;
  1254. 1120
  1255. 1121 PROCEDURE DOSWRITE (
  1256. 1122 hf: HFILE;
  1257. 1123 bBuf: PVOID;
  1258. 1124 cbBuf: USHORT;
  1259. 1125 pcbBytesWritten: PUSHORT): USHORT;
  1260. 1126
  1261. 1127
  1262. 1128 (*File time and date types *)
  1263. 1129 TYPE _FILESTATUS = RECORD(*fsts *)
  1264. 1130 fdateCreation: FDATE;
  1265. 1131 ftimeCreation: FTIME;
  1266. 1132 fdateLastAccess: FDATE;
  1267. 1133 ftimeLastAccess: FTIME;
  1268. 1134 fdateLastWrite: FDATE;
  1269. 1135 ftimeLastWrite: FTIME;
  1270. 1136 cbFile: ULONG;
  1271. 1137 cbFileAlloc: ULONG;
  1272. 1138 attrFile: USHORT;
  1273. 1139 END;
  1274. ***** ^ not supported yet
  1275. 1140 TYPE FILESTATUS = _FILESTATUS;
  1276. 1141
  1277. 1142 TYPE
  1278. 1143 PFILESTATUS = POINTER TO FILESTATUS;
  1279. ***** ^ not supported yet
  1280. 1144
  1281. 1145 TYPE _FILESTATUS2 = RECORD(*fsts2 *)
  1282. 1146 fdateCreation: FDATE;
  1283. 1147 ftimeCreation: FTIME;
  1284. 1148 fdateLastAccess: FDATE;
  1285. 1149 ftimeLastAccess: FTIME;
  1286. 1150 fdateLastWrite: FDATE;
  1287. 1151 ftimeLastWrite: FTIME;
  1288. 1152 cbFile: ULONG;
  1289. 1153 cbFileAlloc: ULONG;
  1290. 1154 attrFile: USHORT;
  1291. 1155 cbList: ULONG;
  1292. 1156 END;
  1293. ***** ^ not supported yet
  1294. 1157 TYPE FILESTATUS2 = _FILESTATUS2;
  1295. 1158
  1296. 1159 TYPE
  1297. 1160 PFILESTATUS2 = POINTER TO FILESTATUS2;
  1298. ***** ^ not supported yet
  1299. 1161
  1300. 1162 TYPE _FSALLOCATE = RECORD(*fsalloc *)
  1301. 1163 ulReserved: ULONG;
  1302. 1164 cSectorUnit: ULONG;
  1303. 1165 cUnit: ULONG;
  1304. 1166 cUnitAvail: ULONG;
  1305. 1167 cbSector: USHORT;
  1306. 1168 END;
  1307. ***** ^ not supported yet
  1308. 1169 TYPE FSALLOCATE = _FSALLOCATE;
  1309. 1170
  1310. 1171 TYPE
  1311. 1172 PFSALLOCATE = POINTER TO FSALLOCATE;
  1312. ***** ^ not supported yet
  1313. 1173
  1314. 1174 TYPE _VOLUMELABEL = RECORD(*vol *)
  1315. 1175 cch: BYTE;
  1316. 1176 szVolLabel: ARRAY [0 .. ((12) - 1)] OF CHAR;
  1317. ***** ^ not supported yet
  1318. ***** ^ not supported yet
  1319. 1177 END;
  1320. ***** ^ not supported yet
  1321. 1178 TYPE VOLUMELABEL = _VOLUMELABEL;
  1322. 1179
  1323. 1180 TYPE
  1324. 1181 PVOLUMELABEL = POINTER TO VOLUMELABEL;
  1325. ***** ^ not supported yet
  1326. 1182
  1327. 1183 TYPE _FSINFO = RECORD(*fsinf *)
  1328. 1184 ulVSN: ULONG;
  1329. 1185 vol: VOLUMELABEL;
  1330. 1186 END;
  1331. ***** ^ not supported yet
  1332. 1187 TYPE FSINFO = _FSINFO;
  1333. 1188
  1334. 1189 TYPE
  1335. 1190 PFSINFO = POINTER TO FSINFO;
  1336. ***** ^ not supported yet
  1337. 1191
  1338. 1192 TYPE _FILELOCK = RECORD(*flock *)
  1339. 1193 lOffset: LONGINT;
  1340. 1194 lRange: LONGINT;
  1341. 1195 END;
  1342. ***** ^ not supported yet
  1343. 1196 TYPE FILELOCK = _FILELOCK;
  1344. 1197
  1345. 1198 TYPE
  1346. 1199 PFILELOCK = POINTER TO FILELOCK;
  1347. ***** ^ not supported yet
  1348. 1200
  1349. 1201 TYPE
  1350. 1202 HDIR = SHANDLE;
  1351. 1203 (*hdir *)
  1352. 1204 TYPE
  1353. 1205 PHDIR = POINTER TO HDIR;
  1354. ***** ^ not supported yet
  1355. 1206
  1356. 1207 PROCEDURE DOSDELETE (
  1357. 1208 pszFName: PSZ;
  1358. 1209 ulReserverd: ULONG): USHORT;
  1359. 1210
  1360. 1211 PROCEDURE DOSDUPHANDLE (
  1361. 1212 hfOld: HFILE;
  1362. 1213 phfNew: PHFILE): USHORT;
  1363. 1214
  1364. 1215 PROCEDURE DOSQFHANDSTATE (
  1365. 1216 hf: HFILE;
  1366. 1217 pfsOpenMode: PUSHORT): USHORT;
  1367. 1218
  1368. 1219 PROCEDURE DOSSETFHANDSTATE (
  1369. 1220 hf: HFILE;
  1370. 1221 fsState: USHORT): USHORT;
  1371. 1222
  1372. 1223 PROCEDURE DOSQHANDTYPE (
  1373. 1224 hf: HFILE;
  1374. 1225 pfsType: PUSHORT;
  1375. 1226 pusDevAttr: PUSHORT): USHORT;
  1376. 1227
  1377. 1228 PROCEDURE DOSFINDFIRST (
  1378. 1229 pszFSpec: PSZ;
  1379. 1230 phdir: PHDIR;
  1380. 1231 usAttr: USHORT;
  1381. 1232 pffb: PFILEFINDBUF;
  1382. 1233 cbBuf: USHORT;
  1383. 1234 pcSearch: PUSHORT;
  1384. 1235 ulReserved: ULONG): USHORT;
  1385. 1236
  1386. 1237 PROCEDURE DOSFINDNEXT (
  1387. 1238 hdir: HDIR;
  1388. 1239 pffb: PFILEFINDBUF;
  1389. 1240 cbBuf: USHORT;
  1390. 1241 pcSearch: PUSHORT): USHORT;
  1391. 1242
  1392. 1243 PROCEDURE DOSFINDCLOSE (
  1393. 1244 hdir: HDIR): USHORT;
  1394. 1245
  1395. 1246 PROCEDURE DOSNEWSIZE (
  1396. 1247 hf: HFILE;
  1397. 1248 ulNewSize: ULONG): USHORT;
  1398. 1249
  1399. 1250 PROCEDURE DOSBUFRESET (
  1400. 1251 hf: HFILE): USHORT;
  1401. 1252
  1402. 1253 PROCEDURE DOSCHGFILEPTR (
  1403. 1254 hf: HFILE;
  1404. 1255 lOffset: LONGINT;
  1405. 1256 fsMethod: USHORT;
  1406. 1257 pulNewOffset: PULONG): USHORT;
  1407. 1258
  1408. 1259 PROCEDURE DOSFILELOCKS (
  1409. 1260 hf: HFILE;
  1410. 1261 pUnlock: PLONG;
  1411. 1262 pLock: PLONG): USHORT;
  1412. 1263
  1413. 1264 PROCEDURE DOSMOVE (
  1414. 1265 pszOld: PSZ;
  1415. 1266 pszNew: PSZ;
  1416. 1267 ulReserved: ULONG): USHORT;
  1417. 1268
  1418. 1269 PROCEDURE DOSMKDIR (
  1419. 1270 pszDirName: PSZ;
  1420. 1271 usReserved: ULONG): USHORT;
  1421. 1272
  1422. 1273 PROCEDURE DOSRMDIR (
  1423. 1274 pszDir: PSZ;
  1424. 1275 ulReserved: ULONG): USHORT;
  1425. 1276
  1426. 1277 PROCEDURE DOSSELECTDISK (
  1427. 1278 usDrvNum: USHORT): USHORT;
  1428. 1279
  1429. 1280 PROCEDURE DOSQCURDISK (
  1430. 1281 pusDrvNum: PUSHORT;
  1431. 1282 pulLogDrvMap: PULONG): USHORT;
  1432. 1283
  1433. 1284 PROCEDURE DOSCHDIR (
  1434. 1285 pszDir: PSZ;
  1435. 1286 ulReserved: ULONG): USHORT;
  1436. 1287
  1437. 1288 PROCEDURE DOSQCURDIR (
  1438. 1289 usDrvNum: USHORT;
  1439. 1290 pszPathBuf: PBYTE;
  1440. 1291 pcbPathBuf: PUSHORT): USHORT;
  1441. 1292
  1442. 1293 PROCEDURE DOSQFSINFO (
  1443. 1294 usDrvNum: USHORT;
  1444. 1295 usInfoLevel: USHORT;
  1445. 1296 pbInfo: PBYTE;
  1446. 1297 cbInfo: USHORT): USHORT;
  1447. 1298
  1448. 1299 PROCEDURE DOSSETFSINFO (
  1449. 1300 usDrvNum: USHORT;
  1450. 1301 usInfoLevel: USHORT;
  1451. 1302 pBuf: PBYTE;
  1452. 1303 cbBuf: USHORT): USHORT;
  1453. 1304
  1454. 1305 PROCEDURE DOSQVERIFY (
  1455. 1306 pfVerifyOn: PBOOL): USHORT;
  1456. 1307
  1457. 1308 PROCEDURE DOSSETVERIFY (
  1458. 1309 fVerify: USHORT): USHORT;
  1459. 1310
  1460. 1311 PROCEDURE DOSQFILEINFO (
  1461. 1312 hf: HFILE;
  1462. 1313 usInfoLevel: USHORT;
  1463. 1314 pInfoBuf: PVOID;
  1464. 1315 cbInfoBuf: USHORT): USHORT;
  1465. 1316
  1466. 1317 PROCEDURE DOSSETFILEINFO (
  1467. 1318 hf: HFILE;
  1468. 1319 usInfoLevel: USHORT;
  1469. 1320 pInfoBuf: PBYTE;
  1470. 1321 cbInfoBuf: USHORT): USHORT;
  1471. 1322
  1472. 1323
  1473. 1324 PROCEDURE DOSQFILEMODE (
  1474. 1325 pszFName: PSZ;
  1475. 1326 pusAttr: PUSHORT;
  1476. 1327 ulReserved: ULONG): USHORT;
  1477. 1328
  1478. 1329 PROCEDURE DOSSETFILEMODE (
  1479. 1330 pszFName: PSZ;
  1480. 1331 usAttr: USHORT;
  1481. 1332 ulReserved: ULONG): USHORT;
  1482. 1333
  1483. 1334
  1484. 1335 (*constants for DosEnumAttribute() *)
  1485. 1336 CONST ENUMEA_REFTYPE_FHANDLE = 0;
  1486. 1337
  1487. 1338 CONST ENUMEA_REFTYPE_PATH = 1;
  1488. 1339
  1489. 1340 CONST ENUMEA_LEVEL_NO_VALUE = VAL(LONGINT, 1);
  1490. ***** ^ undeclared identifier
  1491. ***** ^ not supported yet
  1492. 1341
  1493. 1342 PROCEDURE DOSENUMATTRIBUTE (): USHORT;
  1494. 1343
  1495. 1344
  1496. 1345 (*ENUMEA_LEVEL_NO_VALUE info returned from DosEnumAttribute *)
  1497. 1346 TYPE _DENA1 = RECORD(*dena *)
  1498. 1347 reserved: UCHAR;(*0 *)
  1499. 1348 cbName: UCHAR;(*length of name exculding NULL *)
  1500. 1349 cbValue: USHORT;(*length of value *)
  1501. 1350 szName: ARRAY [0 .. ((1) - 1)] OF UCHAR;(*variable length asciiz name *)
  1502. ***** ^ not supported yet
  1503. ***** ^ not supported yet
  1504. 1351 END;
  1505. ***** ^ not supported yet
  1506. 1352 TYPE DENA1 = _DENA1;
  1507. 1353
  1508. 1354 TYPE
  1509. 1355 PDENA1 = POINTER TO DENA1;
  1510. ***** ^ not supported yet
  1511. 1356
  1512. 1357
  1513. 1358 (** Memory management *)
  1514. 1359 PROCEDURE DOSALLOCSEG (
  1515. 1360 cbSize: USHORT;
  1516. 1361 pSel: PSEL;
  1517. 1362 fsAlloc: USHORT): USHORT;
  1518. 1363
  1519. 1364 PROCEDURE DOSREALLOCSEG (
  1520. 1365 cbNewSize: USHORT;
  1521. 1366 sel: SEL): USHORT;
  1522. 1367
  1523. 1368 PROCEDURE DOSFREESEG (
  1524. 1369 sel: SEL): USHORT;
  1525. 1370
  1526. 1371 PROCEDURE DOSSIZESEG (
  1527. 1372 sel: SEL;
  1528. 1373 pcbSize: PULONG): USHORT;
  1529. 1374
  1530. 1375
  1531. 1376 (*Segment attribute flags (used with DosAllocSeg) *)
  1532. 1377 CONST SEG_NONSHARED = 0000H;
  1533. 1378
  1534. 1379 CONST SEG_GIVEABLE = 0001H;
  1535. 1380
  1536. 1381 CONST SEG_GETTABLE = 0002H;
  1537. 1382
  1538. 1383 CONST SEG_DISCARDABLE = 0004H;
  1539. 1384
  1540. 1385 CONST SEG_SIZEABLE = 0008H;
  1541. 1386
  1542. 1387 PROCEDURE DOSALLOCHUGE (
  1543. 1388 cSegs: USHORT;
  1544. 1389 cbPartialSeg: USHORT;
  1545. 1390 psel: PSEL;
  1546. 1391 cMaxSegs: USHORT;
  1547. 1392 fsAlloc: USHORT): USHORT;
  1548. 1393
  1549. 1394 PROCEDURE DOSREALLOCHUGE (
  1550. 1395 cSegs: USHORT;
  1551. 1396 cbPartialSeg: USHORT;
  1552. 1397 sel: SEL): USHORT;
  1553. 1398
  1554. 1399 PROCEDURE DOSGETHUGESHIFT (
  1555. 1400 pusShiftCount: PUSHORT): USHORT;
  1556. 1401
  1557. 1402 PROCEDURE DOSCREATECSALIAS (
  1558. 1403 selDS: SEL;
  1559. 1404 pselCS: PSEL): USHORT;
  1560. 1405
  1561. 1406 PROCEDURE DOSSUBALLOC (
  1562. 1407 sel: SEL;
  1563. 1408 pusOffset: PUSHORT;
  1564. 1409 cb: USHORT): USHORT;
  1565. 1410
  1566. 1411 PROCEDURE DOSSUBFREE (
  1567. 1412 sel: SEL;
  1568. 1413 offBlock: USHORT;
  1569. 1414 cb: USHORT): USHORT;
  1570. 1415
  1571. 1416 PROCEDURE DOSSUBSET (
  1572. 1417 sel: SEL;
  1573. 1418 fFlags: USHORT;
  1574. 1419 cbNew: USHORT): USHORT;
  1575. 1420
  1576. 1421
  1577. 1422 (** Time support *)
  1578. 1423 TYPE _DATETIME = RECORD(*date *)
  1579. 1424 hours: UCHAR;
  1580. 1425 minutes: UCHAR;
  1581. 1426 seconds: UCHAR;
  1582. 1427 hundredths: UCHAR;
  1583. 1428 day: UCHAR;
  1584. 1429 month: UCHAR;
  1585. 1430 year: USHORT;
  1586. 1431 timezone: INTEGER;
  1587. 1432 weekday: UCHAR;
  1588. 1433 END;
  1589. ***** ^ not supported yet
  1590. 1434 TYPE DATETIME = _DATETIME;
  1591. 1435
  1592. 1436 TYPE
  1593. 1437 PDATETIME = POINTER TO DATETIME;
  1594. ***** ^ not supported yet
  1595. 1438
  1596. 1439 PROCEDURE DOSGETDATETIME (
  1597. 1440 pdatetime: PDATETIME): USHORT;
  1598. 1441
  1599. 1442 PROCEDURE DOSSETDATETIME (
  1600. 1443 pdatetime: PDATETIME): USHORT;
  1601. 1444
  1602. 1445
  1603. 1446 (** Resource support *)
  1604. 1447
  1605. 1448 (*Predefined resource types *)
  1606. 1449 CONST RT_POINTER = 1;
  1607. 1450 (*mouse pointer shape *)
  1608. 1451 CONST RT_BITMAP = 2;
  1609. 1452 (*bitmap *)
  1610. 1453 CONST RT_MENU = 3;
  1611. 1454 (*menu template *)
  1612. 1455 CONST RT_DIALOG = 4;
  1613. 1456 (*dialog template *)
  1614. 1457 CONST RT_STRING = 5;
  1615. 1458 (*string tables *)
  1616. 1459 CONST RT_FONTDIR = 6;
  1617. 1460 (*font directory *)
  1618. 1461 CONST RT_FONT = 7;
  1619. 1462 (*font *)
  1620. 1463 CONST RT_ACCELTABLE = 8;
  1621. 1464 (*accelerator tables *)
  1622. 1465 CONST RT_RCDATA = 9;
  1623. 1466 (*binary data *)
  1624. 1467 CONST RT_MESSAGE = 10;
  1625. 1468 (*error mesage tables *)
  1626. 1469 CONST RT_DLGINCLUDE = 11;
  1627. 1470 (*dialog include file name *)
  1628. 1471 CONST RT_VKEYTBL = 12;
  1629. 1472 (*key to vkey tables *)
  1630. 1473 CONST RT_KEYTBL = 13;
  1631. 1474 (*key to UGL tables *)
  1632. 1475 CONST RT_CHARTBL = 14;
  1633. 1476
  1634. 1477 CONST RT_DISPLAYINFO = 15;
  1635. 1478 (*screen display information *)
  1636. 1479 CONST RT_FKASHORT = 16;
  1637. 1480 (*function key area short form *)
  1638. 1481 CONST RT_FKALONG = 17;
  1639. 1482 (*function key area long form *)
  1640. 1483 CONST RT_HELPTABLE = 18;
  1641. 1484
  1642. 1485 CONST RT_HELPSUBTABLE = 19;
  1643. 1486
  1644. 1487 CONST RT_FDDIR = 20;
  1645. 1488
  1646. 1489 CONST RT_FD = 21;
  1647. 1490
  1648. 1491 CONST RT_MAX = 22;
  1649. 1492 (*1st unused Resource Type *)
  1650. 1493
  1651. 1494 (** NLS Support *)
  1652. 1495 TYPE _COUNTRYCODE = RECORD(*ctryc *)
  1653. 1496 country: USHORT;
  1654. 1497 codepage: USHORT;
  1655. 1498 END;
  1656. ***** ^ not supported yet
  1657. 1499 TYPE COUNTRYCODE = _COUNTRYCODE;
  1658. 1500
  1659. 1501 TYPE
  1660. 1502 PCOUNTRYCODE = POINTER TO COUNTRYCODE;
  1661. ***** ^ not supported yet
  1662. 1503
  1663. 1504
  1664. 1505 (*fsDateFmt *)
  1665. 1506 CONST DATEFMT_MM_DD_YY = 0000H;
  1666. 1507
  1667. 1508 CONST DATEFMT_DD_MM_YY = 0001H;
  1668. 1509
  1669. 1510 CONST DATEFMT_YY_MM_DD = 0002H;
  1670. 1511
  1671. 1512
  1672. 1513 (*fsCurrencyFmt *)
  1673. 1514 CONST CURRENCY_FOLLOW = 0001H;
  1674. 1515
  1675. 1516 CONST CURRENCY_SPACE = 0002H;
  1676. 1517
  1677. 1518 CONST CURRENCY_DECIMAL = 0004H;
  1678. 1519
  1679. 1520 TYPE _COUNTRYINFO = RECORD(*ctryi *)
  1680. 1521 country: USHORT;
  1681. 1522 codepage: USHORT;
  1682. 1523 fsDateFmt: USHORT;
  1683. 1524 szCurrency: ARRAY [0 .. ((5) - 1)] OF CHAR;
  1684. ***** ^ not supported yet
  1685. ***** ^ not supported yet
  1686. 1525 szThousandsSeparator: ARRAY [0 .. ((2) - 1)] OF CHAR;
  1687. ***** ^ not supported yet
  1688. ***** ^ not supported yet
  1689. 1526 szDecimal: ARRAY [0 .. ((2) - 1)] OF CHAR;
  1690. ***** ^ not supported yet
  1691. ***** ^ not supported yet
  1692. 1527 szDateSeparator: ARRAY [0 .. ((2) - 1)] OF CHAR;
  1693. ***** ^ not supported yet
  1694. ***** ^ not supported yet
  1695. 1528 szTimeSeparator: ARRAY [0 .. ((2) - 1)] OF CHAR;
  1696. ***** ^ not supported yet
  1697. ***** ^ not supported yet
  1698. 1529 fsCurrencyFmt: UCHAR;
  1699. 1530 cDecimalPlace: UCHAR;
  1700. 1531 fsTimeFmt: UCHAR;
  1701. 1532 abReserved1: ARRAY [0 .. ((2) - 1)] OF USHORT;
  1702. ***** ^ not supported yet
  1703. ***** ^ not supported yet
  1704. 1533 szDataSeparator: ARRAY [0 .. ((2) - 1)] OF CHAR;
  1705. ***** ^ not supported yet
  1706. ***** ^ not supported yet
  1707. 1534 abReserved2: ARRAY [0 .. ((5) - 1)] OF USHORT;
  1708. ***** ^ not supported yet
  1709. ***** ^ not supported yet
  1710. 1535 END;
  1711. ***** ^ not supported yet
  1712. 1536 TYPE COUNTRYINFO = _COUNTRYINFO;
  1713. 1537
  1714. 1538 TYPE
  1715. 1539 PCOUNTRYINFO = POINTER TO COUNTRYINFO;
  1716. ***** ^ not supported yet
  1717. 1540
  1718. 1541 PROCEDURE DOSGETCTRYINFO (
  1719. 1542 cbBuf: USHORT;
  1720. 1543 pctryc: PCOUNTRYCODE;
  1721. 1544 pctryi: PCOUNTRYINFO;
  1722. 1545 pcbCtryInfo: PUSHORT): USHORT;
  1723. 1546
  1724. 1547 PROCEDURE DOSGETDBCSEV (
  1725. 1548 cbBuf: USHORT;
  1726. 1549 pctryc: PCOUNTRYCODE;
  1727. 1550 pchBuf: PCHAR): USHORT;
  1728. 1551
  1729. 1552 PROCEDURE DOSCASEMAP (
  1730. 1553 usLen: USHORT;
  1731. 1554 pctryc: PCOUNTRYCODE;
  1732. 1555 pchStr: PCHAR): USHORT;
  1733. 1556
  1734. 1557 PROCEDURE DOSGETCOLLATE (
  1735. 1558 cbBuf: USHORT;
  1736. 1559 pctryc: PCOUNTRYCODE;
  1737. 1560 pchBuf: PCHAR;
  1738. 1561 pcbTable: PUSHORT): USHORT;
  1739. 1562
  1740. 1563 PROCEDURE DOSGETCP (
  1741. 1564 cbBuf: USHORT;
  1742. 1565 pBuf: PUSHORT;
  1743. 1566 pcbCodePgLst: PUSHORT): USHORT;
  1744. 1567
  1745. 1568 PROCEDURE DOSSETCP (
  1746. 1569 usCodePage: USHORT;
  1747. 1570 usReserved: USHORT): USHORT;
  1748. 1571
  1749. 1572
  1750. 1573 (** Signal support *)
  1751. 1574
  1752. 1575 (*Signal Numbers for DosSetSigHandler *)
  1753. 1576 CONST SIG_CTRLC = 1;
  1754. 1577 (*Control C *)
  1755. 1578
  1756. 1579 (* (UNDEFINED) 2 reserved for future use *)
  1757. 1580 CONST SIG_KILLPROCESS = 3;
  1758. 1581 (*Program Termination *)
  1759. 1582 CONST SIG_CTRLBREAK = 4;
  1760. 1583 (*Control Break *)
  1761. 1584 CONST SIG_PFLG_A = 5;
  1762. 1585 (*Process Flag A *)
  1763. 1586 CONST SIG_PFLG_B = 6;
  1764. 1587 (*Process Flag B *)
  1765. 1588 CONST SIG_PFLG_C = 7;
  1766. 1589 (*Process Flag C *)
  1767. 1590 CONST SIG_CSIGNALS = 8;
  1768. 1591 (*number of signals plus one *)
  1769. 1592
  1770. 1593 (*Signal actions *)
  1771. 1594 CONST SIGA_KILL = 0;
  1772. 1595
  1773. 1596 CONST SIGA_IGNORE = 1;
  1774. 1597
  1775. 1598 CONST SIGA_ACCEPT = 2;
  1776. 1599
  1777. 1600 CONST SIGA_ERROR = 3;
  1778. 1601
  1779. 1602 CONST SIGA_ACKNOWLEDGE = 4;
  1780. 1603
  1781. 1604
  1782. 1605 (*DosHoldSignal constants *)
  1783. 1606 CONST HLDSIG_ENABLE = 0;
  1784. 1607
  1785. 1608 CONST HLDSIG_DISABLE = 1;
  1786. 1609
  1787. 1610
  1788. 1611 TYPE
  1789. 1612 PFNSIGHANDLER = PROCEDURE();
  1790. ***** ^ not supported yet
  1791. 1613 PPFNSIGHANDLER = POINTER TO PFNSIGHANDLER;
  1792. ***** ^ not supported yet
  1793. 1614
  1794. 1615 PROCEDURE DOSSETSIGHANDLER (
  1795. 1616 pfnSigHandler: PFNSIGHANDLER;
  1796. 1617 ppfnPrev: PPFNSIGHANDLER;
  1797. 1618 pfAction: PUSHORT;
  1798. 1619 fAction: USHORT;
  1799. 1620 usSigNum: USHORT): USHORT;
  1800. 1621
  1801. 1622 PROCEDURE DOSHOLDSIGNAL (
  1802. 1623 fDisable: USHORT): USHORT;
  1803. 1624
  1804. 1625 (*DosQSysInfo index *)
  1805. 1626 CONST Q_MAX_PATH_LENGTH = 0;
  1806. 1627 (*index for query max path length *)
  1807. 1628
  1808. 1629 (*DosError() error-handling types *)
  1809. 1630 CONST HARDERROR_ENABLE = 0001H;
  1810. 1631
  1811. 1632 CONST HARDERROR_DISABLE = 0000H;
  1812. 1633
  1813. 1634 CONST EXCEPTION_ENABLE = 0000H;
  1814. 1635
  1815. 1636 CONST EXCEPTION_DISABLE = 0002H;
  1816. 1637
  1817. 1638
  1818. 1639 (*DosSetVec vectors *)
  1819. 1640 CONST VECTOR_DIVIDE_BY_ZERO = 0000H;
  1820. 1641
  1821. 1642 CONST VECTOR_OVERFLOW = 0004H;
  1822. 1643
  1823. 1644 CONST VECTOR_OUTOFBOUNDS = 0005H;
  1824. 1645
  1825. 1646 CONST VECTOR_INVALIDOPCODE = 0006H;
  1826. 1647
  1827. 1648 CONST VECTOR_NO_EXTENSION = 0007H;
  1828. 1649
  1829. 1650 CONST VECTOR_EXTENSION_ERROR = 0010H;
  1830. 1651
  1831. 1652
  1832. 1653 (*DosGetMachineMode() machine modes *)
  1833. 1654 CONST MODE_REAL = 0000H;
  1834. 1655
  1835. 1656 CONST MODE_PROTECTED = 0001H;
  1836. 1657
  1837. 1658 PROCEDURE DOSERROR (
  1838. 1659 fEnable: USHORT): USHORT;
  1839. 1660
  1840. 1661 PROCEDURE DOSSETVEC (
  1841. 1662 usVecNum: USHORT;
  1842. 1663 pfnFun: PFN;
  1843. 1664 ppfnPrev: PPFN): USHORT;
  1844. 1665
  1845. 1666 PROCEDURE DOSERRCLASS (
  1846. 1667 usErrCode: USHORT;
  1847. 1668 pusClass: PUSHORT;
  1848. 1669 pfsAction: PUSHORT;
  1849. 1670 pusLocus: PUSHORT): USHORT;
  1850. 1671
  1851. 1672 PROCEDURE DOSINSMESSAGE (
  1852. 1673 ppchVTable: PPCHAR;
  1853. 1674 usVCount: USHORT;
  1854. 1675 pszMsg: PSZ;
  1855. 1676 cbMsg: USHORT;
  1856. 1677 pchBuf: PCHAR;
  1857. 1678 cbBuf: USHORT;
  1858. 1679 pcbMsg: PUSHORT): USHORT;
  1859. 1680
  1860. 1681 PROCEDURE DOSPUTMESSAGE (
  1861. 1682 hf: HFILE;
  1862. 1683 cbMsg: USHORT;
  1863. 1684 pchMsg: PCHAR): USHORT;
  1864. 1685
  1865. 1686 PROCEDURE DOSGETENV (
  1866. 1687 pselEnv: PUSHORT;
  1867. 1688 pOffsetCmd: PUSHORT): USHORT;
  1868. 1689
  1869. 1690 PROCEDURE DOSGETVERSION (
  1870. 1691 pVer: PUSHORT);
  1871. 1692
  1872. 1693 PROCEDURE DOSGETMACHINEMODE (
  1873. 1694 pMachMode: PBYTE): USHORT;
  1874. 1695
  1875. 1696
  1876. 1697 (** Session manager support *)
  1877. 1698
  1878. 1699
  1879. 1700 TYPE
  1880. 1701 HKBD = SHANDLE;
  1881. 1702
  1882. 1703 TYPE
  1883. 1704 PHKBD = POINTER TO HKBD;
  1884. ***** ^ not supported yet
  1885. 1705
  1886. 1706 CONST KR_KBDCHARIN = 00000001H;
  1887. 1707
  1888. 1708 CONST KR_KBDPEEK = 00000002H;
  1889. 1709
  1890. 1710 CONST KR_KBDFLUSHBUFFER = 00000004H;
  1891. 1711
  1892. 1712 CONST KR_KBDGETSTATUS = 00000008H;
  1893. 1713
  1894. 1714 CONST KR_KBDSETSTATUS = 00000010H;
  1895. 1715
  1896. 1716 CONST KR_KBDSTRINGIN = 00000020H;
  1897. 1717
  1898. 1718 CONST KR_KBDOPEN = 00000040H;
  1899. 1719
  1900. 1720 CONST KR_KBDCLOSE = 00000080H;
  1901. 1721
  1902. 1722 CONST KR_KBDGETFOCUS = 00000100H;
  1903. 1723
  1904. 1724 CONST KR_KBDFREEFOCUS = 00000200H;
  1905. 1725
  1906. 1726 CONST KR_KBDGETCP = 00000400H;
  1907. 1727
  1908. 1728 CONST KR_KBDSETCP = 00000800H;
  1909. 1729
  1910. 1730 CONST KR_KBDXLATE = 00001000H;
  1911. 1731
  1912. 1732 CONST KR_KBDSETCUSTXT = 00002000H;
  1913. 1733
  1914. 1734 CONST IO_WAIT = 0;
  1915. 1735
  1916. 1736 CONST IO_NOWAIT = 1;
  1917. 1737
  1918. 1738
  1919. 1739 (*KBDKEYINFO structure, for KbdCharIn and KbdPeek *)
  1920. 1740 TYPE _KBDKEYINFO = RECORD(*kbci *)
  1921. 1741 chChar: UCHAR;
  1922. 1742 chScan: UCHAR;
  1923. 1743 fbStatus: UCHAR;
  1924. 1744 bNlsShift: UCHAR;
  1925. 1745 fsState: USHORT;
  1926. 1746 time: ULONG;
  1927. 1747 END;
  1928. ***** ^ not supported yet
  1929. 1748 TYPE KBDKEYINFO = _KBDKEYINFO;
  1930. 1749
  1931. 1750 TYPE
  1932. 1751 PKBDKEYINFO = POINTER TO KBDKEYINFO;
  1933. ***** ^ not supported yet
  1934. 1752
  1935. 1753 PROCEDURE KBDCHARIN (
  1936. 1754 pkbci: PKBDKEYINFO;
  1937. 1755 fWait: USHORT;
  1938. 1756 hkbd: HKBD): USHORT;
  1939. 1757
  1940. 1758 PROCEDURE KBDPEEK (
  1941. 1759 pkbci: PKBDKEYINFO;
  1942. 1760 hkbd: HKBD): USHORT;
  1943. 1761
  1944. 1762
  1945. 1763 (*structure for KbdStringIn() *)
  1946. 1764 TYPE _STRINGINBUF = RECORD(*kbsi *)
  1947. 1765 cb: USHORT;
  1948. 1766 cchIn: USHORT;
  1949. 1767 END;
  1950. ***** ^ not supported yet
  1951. 1768 TYPE STRINGINBUF = _STRINGINBUF;
  1952. 1769
  1953. 1770 TYPE
  1954. 1771 PSTRINGINBUF = POINTER TO STRINGINBUF;
  1955. ***** ^ not supported yet
  1956. 1772
  1957. 1773 PROCEDURE KBDSTRINGIN (
  1958. 1774 pch: PCH;
  1959. 1775 pchIn: PSTRINGINBUF;
  1960. 1776 fsWait: USHORT;
  1961. 1777 hkbd: HKBD): USHORT;
  1962. 1778
  1963. 1779 PROCEDURE KBDFLUSHBUFFER (
  1964. 1780 hkbd: HKBD): USHORT;
  1965. 1781
  1966. 1782
  1967. 1783 (*KBDINFO.fsMask *)
  1968. 1784 CONST KEYBOARD_ECHO_ON = 0001H;
  1969. 1785
  1970. 1786 CONST KEYBOARD_ECHO_OFF = 0002H;
  1971. 1787
  1972. 1788 CONST KEYBOARD_BINARY_MODE = 0004H;
  1973. 1789
  1974. 1790 CONST KEYBOARD_ASCII_MODE = 0008H;
  1975. 1791
  1976. 1792 CONST KEYBOARD_MODIFY_STATE = 0010H;
  1977. 1793
  1978. 1794 CONST KEYBOARD_MODIFY_INTERIM = 0020H;
  1979. 1795
  1980. 1796 CONST KEYBOARD_MODIFY_TURNAROUND = 0040H;
  1981. 1797
  1982. 1798 CONST KEYBOARD_2B_TURNAROUND = 0080H;
  1983. 1799
  1984. 1800 CONST KEYBOARD_SHIFT_REPORT = 0100H;
  1985. 1801
  1986. 1802
  1987. 1803 (*KBDINFO.fsState/KBDKEYINFO.fsState/KBDTRANS.fsState *)
  1988. 1804 CONST RIGHTSHIFT = 0001H;
  1989. 1805
  1990. 1806 CONST LEFTSHIFT = 0002H;
  1991. 1807
  1992. 1808 CONST CONTROL = 0004H;
  1993. 1809
  1994. 1810 CONST ALT = 0008H;
  1995. 1811
  1996. 1812 CONST SCROLLLOCK_ON = 0010H;
  1997. 1813
  1998. 1814 CONST NUMLOCK_ON = 0020H;
  1999. 1815
  2000. 1816 CONST CAPSLOCK_ON = 0040H;
  2001. 1817
  2002. 1818 CONST INSERT_ON = 0080H;
  2003. 1819
  2004. 1820 CONST LEFTCONTROL = 0100H;
  2005. 1821
  2006. 1822 CONST LEFTALT = 0200H;
  2007. 1823
  2008. 1824 CONST RIGHTCONTROL = 0400H;
  2009. 1825
  2010. 1826 CONST RIGHTALT = 0800H;
  2011. 1827
  2012. 1828 CONST SCROLLLOCK = 1000H;
  2013. 1829
  2014. 1830 CONST NUMLOCK = 2000H;
  2015. 1831
  2016. 1832 CONST CAPSLOCK = 4000H;
  2017. 1833
  2018. 1834 CONST SYSREQ = 8000H;
  2019. 1835
  2020. 1836
  2021. 1837 (*KBDINFO structure, for KbdSet/GetStatus *)
  2022. 1838 TYPE _KBDINFO = RECORD(*kbst *)
  2023. 1839 cb: USHORT;
  2024. 1840 fsMask: USHORT;
  2025. 1841 chTurnAround: USHORT;
  2026. 1842 fsInterim: USHORT;
  2027. 1843 fsState: USHORT;
  2028. 1844 END;
  2029. ***** ^ not supported yet
  2030. 1845 TYPE KBDINFO = _KBDINFO;
  2031. 1846
  2032. 1847 TYPE
  2033. 1848 PKBDINFO = POINTER TO KBDINFO;
  2034. ***** ^ not supported yet
  2035. 1849
  2036. 1850 PROCEDURE KBDSETSTATUS (
  2037. 1851 pkbdinfo: PKBDINFO;
  2038. 1852 hkbd: HKBD): USHORT;
  2039. 1853
  2040. 1854 PROCEDURE KBDGETSTATUS (
  2041. 1855 pkbdinfo: PKBDINFO;
  2042. 1856 hdbd: HKBD): USHORT;
  2043. 1857
  2044. 1858
  2045. 1859 (*KBDTRANS.fbStatus *)
  2046. 1860 CONST SHIFT_KEY_IN = 01H;
  2047. 1861
  2048. 1862 CONST CONVERSION_REQUEST = 20H;
  2049. 1863
  2050. 1864 CONST FINAL_CHAR_IN = 40H;
  2051. 1865
  2052. 1866 CONST INTERIM_CHAR_IN = 80H;
  2053. 1867
  2054. 1868 CONST KEYBOARD_AT_COMPATABLE = 0001H;
  2055. 1869
  2056. 1870 CONST KEYBOARD_ENHANCED_101 = 0AB41H;
  2057. 1871
  2058. 1872 CONST KEYBOARD_ENHANCED_102 = 0AB41H;
  2059. 1873
  2060. 1874 CONST KEYBOARD_ENHANCED_122 = 0AB85H;
  2061. 1875
  2062. 1876 CONST KEYBOARD_SPACESAVER = 0AB54H;
  2063. 1877
  2064. 1878
  2065. 1879 TYPE
  2066. 1880 HVIO = SHANDLE;
  2067. 1881
  2068. 1882 TYPE
  2069. 1883 PHVIO = POINTER TO HVIO;
  2070. ***** ^ not supported yet
  2071. 1884
  2072. 1885
  2073. 1886 (*first parameter registration constants *)
  2074. 1887 CONST VR_VIOGETCURPOS = 00000001H;
  2075. 1888
  2076. 1889 CONST VR_VIOGETCURTYPE = 00000002H;
  2077. 1890
  2078. 1891 CONST VR_VIOGETMODE = 00000004H;
  2079. 1892
  2080. 1893 CONST VR_VIOGETBUF = 00000008H;
  2081. 1894
  2082. 1895 CONST VR_VIOGETPHYSBUF = 00000010H;
  2083. 1896
  2084. 1897 CONST VR_VIOSETCURPOS = 00000020H;
  2085. 1898
  2086. 1899 CONST VR_VIOSETCURTYPE = 00000040H;
  2087. 1900
  2088. 1901 CONST VR_VIOSETMODE = 00000080H;
  2089. 1902
  2090. 1903 CONST VR_VIOSHOWBUF = 00000100H;
  2091. 1904
  2092. 1905 CONST VR_VIOREADCHARSTR = 00000200H;
  2093. 1906
  2094. 1907 CONST VR_VIOREADCELLSTR = 00000400H;
  2095. 1908
  2096. 1909 CONST VR_VIOWRTNCHAR = 00000800H;
  2097. 1910
  2098. 1911 CONST VR_VIOWRTNATTR = 00001000H;
  2099. 1912
  2100. 1913 CONST VR_VIOWRTNCELL = 00002000H;
  2101. 1914
  2102. 1915 CONST VR_VIOWRTTTY = 00004000H;
  2103. 1916
  2104. 1917 CONST VR_VIOWRTCHARSTR = 00008000H;
  2105. 1918
  2106. 1919 CONST VR_VIOWRTCHARSTRATT = 00010000H;
  2107. 1920
  2108. 1921 CONST VR_VIOWRTCELLSTR = 00020000H;
  2109. 1922
  2110. 1923 CONST VR_VIOSCROLLUP = 00040000H;
  2111. 1924
  2112. 1925 CONST VR_VIOSCROLLDN = 00080000H;
  2113. 1926
  2114. 1927 CONST VR_VIOSCROLLLF = 00100000H;
  2115. 1928
  2116. 1929 CONST VR_VIOSCROLLRT = 00200000H;
  2117. 1930
  2118. 1931 CONST VR_VIOSETANSI = 00400000H;
  2119. 1932
  2120. 1933 CONST VR_VIOGETANSI = 00800000H;
  2121. 1934
  2122. 1935 CONST VR_VIOPRTSC = 01000000H;
  2123. 1936
  2124. 1937 CONST VR_VIOSCRLOCK = 02000000H;
  2125. 1938
  2126. 1939 CONST VR_VIOSCRUNLOCK = 04000000H;
  2127. 1940
  2128. 1941 CONST VR_VIOSAVREDRAWWAIT = 08000000H;
  2129. 1942
  2130. 1943 CONST VR_VIOSAVREDRAWUNDO = 10000000H;
  2131. 1944
  2132. 1945 CONST VR_VIOPOPUP = 20000000H;
  2133. 1946
  2134. 1947 CONST VR_VIOENDPOPUP = 40000000H;
  2135. 1948
  2136. 1949 CONST VR_VIOPRTSCTOGGLE = 80000000H;
  2137. 1950
  2138. 1951
  2139. 1952 (*second parameter registration constants *)
  2140. 1953 CONST VR_VIOMODEWAIT = 00000001H;
  2141. 1954
  2142. 1955 CONST VR_VIOMODEUNDO = 00000002H;
  2143. 1956
  2144. 1957 CONST VR_VIOGETFONT = 00000004H;
  2145. 1958
  2146. 1959 CONST VR_VIOGETCONFIG = 00000008H;
  2147. 1960
  2148. 1961 CONST VR_VIOSETCP = 00000010H;
  2149. 1962
  2150. 1963 CONST VR_VIOGETCP = 00000020H;
  2151. 1964
  2152. 1965 CONST VR_VIOSETFONT = 00000040H;
  2153. 1966
  2154. 1967 CONST VR_VIOGETSTATE = 00000080H;
  2155. 1968
  2156. 1969 CONST VR_VIOSETSTATE = 00000100H;
  2157. 1970
  2158. 1971 PROCEDURE VIOGETCURPOS (
  2159. 1972 pusRow: PUSHORT;
  2160. 1973 pusColumn: PUSHORT;
  2161. 1974 hvio: HVIO): USHORT;
  2162. 1975
  2163. 1976 PROCEDURE VIOSETCURPOS (
  2164. 1977 usRow: USHORT;
  2165. 1978 usColumn: USHORT;
  2166. 1979 hvio: HVIO): USHORT;
  2167. 1980
  2168. 1981
  2169. 1982 (*structure for VioSet/GetCurType() *)
  2170. 1983 TYPE _VIOCURSORINFO = RECORD(*vioci *)
  2171. 1984 yStart: USHORT;
  2172. 1985 cEnd: USHORT;
  2173. 1986 cx: USHORT;
  2174. 1987 attr: USHORT;
  2175. 1988 END;
  2176. ***** ^ not supported yet
  2177. 1989 TYPE VIOCURSORINFO = _VIOCURSORINFO;
  2178. 1990
  2179. 1991 TYPE
  2180. 1992 PVIOCURSORINFO = POINTER TO VIOCURSORINFO;
  2181. ***** ^ not supported yet
  2182. 1993
  2183. 1994 PROCEDURE VIOGETCURTYPE (
  2184. 1995 pvioCursorInfo: PVIOCURSORINFO;
  2185. 1996 hvio: HVIO): USHORT;
  2186. 1997
  2187. 1998 PROCEDURE VIOSETCURTYPE (
  2188. 1999 pvioCursorInfo: PVIOCURSORINFO;
  2189. 2000 hvio: HVIO): USHORT;
  2190. 2001
  2191. 2002
  2192. 2003 (*VIOMODEINFO.color constants *)
  2193. 2004 CONST COLORS_2 = 0001H;
  2194. 2005
  2195. 2006 CONST COLORS_4 = 0002H;
  2196. 2007
  2197. 2008 CONST COLORS_16 = 0004H;
  2198. 2009
  2199. 2010
  2200. 2011 (*structure for VioSet/GetMode() *)
  2201. 2012 TYPE _VIOMODEINFO = RECORD(*viomi *)
  2202. 2013 cb: USHORT;
  2203. 2014 fbType: UCHAR;
  2204. 2015 color: UCHAR;
  2205. 2016 col: USHORT;
  2206. 2017 row: USHORT;
  2207. 2018 hres: USHORT;
  2208. 2019 vres: USHORT;
  2209. 2020 fmt_ID: UCHAR;
  2210. 2021 attrib: UCHAR;
  2211. 2022 buf_addr: ULONG;
  2212. 2023 buf_length: ULONG;
  2213. 2024 full_length: ULONG;
  2214. 2025 partial_length: ULONG;
  2215. 2026 ext_data_addr: PCH;
  2216. 2027 END;
  2217. ***** ^ not supported yet
  2218. 2028 TYPE VIOMODEINFO = _VIOMODEINFO;
  2219. 2029
  2220. 2030 TYPE
  2221. 2031 PVIOMODEINFO = POINTER TO VIOMODEINFO;
  2222. ***** ^ not supported yet
  2223. 2032
  2224. 2033 CONST VGMT_OTHER = 01H;
  2225. 2034
  2226. 2035 CONST VGMT_GRAPHICS = 02H;
  2227. 2036
  2228. 2037 CONST VGMT_DISABLEBURST = 04H;
  2229. 2038
  2230. 2039 PROCEDURE VIOGETMODE (
  2231. 2040 pvioModeInfo: PVIOMODEINFO;
  2232. 2041 hvio: HVIO): USHORT;
  2233. 2042
  2234. 2043 PROCEDURE VIOSETMODE (
  2235. 2044 pvioModeInfo: PVIOMODEINFO;
  2236. 2045 hvio: HVIO): USHORT;
  2237. 2046
  2238. 2047
  2239. 2048 (*structure for VioGetPhysBuf() *)
  2240. 2049 TYPE _VIOPHYSBUF = RECORD(*viopb *)
  2241. 2050 pBuf: PBYTE;
  2242. 2051 cb: ULONG;
  2243. 2052 asel: ARRAY [0 .. ((1) - 1)] OF SEL;
  2244. ***** ^ not supported yet
  2245. ***** ^ not supported yet
  2246. 2053 END;
  2247. ***** ^ not supported yet
  2248. 2054 TYPE VIOPHYSBUF = _VIOPHYSBUF;
  2249. 2055
  2250. 2056 TYPE
  2251. 2057 PVIOPHYSBUF = POINTER TO VIOPHYSBUF;
  2252. ***** ^ not supported yet
  2253. 2058
  2254. 2059 PROCEDURE VIOGETPHYSBUF (
  2255. 2060 pvioPhysBuf: PVIOPHYSBUF;
  2256. 2061 usReserved: USHORT): USHORT;
  2257. 2062
  2258. 2063 PROCEDURE VIOREADCELLSTR (
  2259. 2064 pchCellStr: PCH;
  2260. 2065 pcb: PUSHORT;
  2261. 2066 usRow: USHORT;
  2262. 2067 usColumn: USHORT;
  2263. 2068 hvio: HVIO): USHORT;
  2264. 2069
  2265. 2070 PROCEDURE VIOREADCHARSTR (
  2266. 2071 pchCellStr: PCH;
  2267. 2072 pcb: PUSHORT;
  2268. 2073 usRow: USHORT;
  2269. 2074 usColumn: USHORT;
  2270. 2075 hvio: HVIO): USHORT;
  2271. 2076
  2272. 2077 PROCEDURE VIOWRTCELLSTR (
  2273. 2078 pchCellStr: PCH;
  2274. 2079 cb: USHORT;
  2275. 2080 usRow: USHORT;
  2276. 2081 usColumn: USHORT;
  2277. 2082 hvio: HVIO): USHORT;
  2278. 2083
  2279. 2084 PROCEDURE VIOWRTCHARSTR (
  2280. 2085 pchStr: PCH;
  2281. 2086 cb: USHORT;
  2282. 2087 usRow: USHORT;
  2283. 2088 usColumn: USHORT;
  2284. 2089 hvio: HVIO): USHORT;
  2285. 2090
  2286. 2091 PROCEDURE VIOSCROLLDN (
  2287. 2092 usTopRow: USHORT;
  2288. 2093 usLeftCol: USHORT;
  2289. 2094 usBotRow: USHORT;
  2290. 2095 usRightCol: USHORT;
  2291. 2096 cbLines: USHORT;
  2292. 2097 pCell: PBYTE;
  2293. 2098 hvio: HVIO): USHORT;
  2294. 2099
  2295. 2100 PROCEDURE VIOSCROLLUP (
  2296. 2101 usTopRow: USHORT;
  2297. 2102 usLeftCol: USHORT;
  2298. 2103 usBotRow: USHORT;
  2299. 2104 usRightCol: USHORT;
  2300. 2105 cbLines: USHORT;
  2301. 2106 pCell: PBYTE;
  2302. 2107 hvio: HVIO): USHORT;
  2303. 2108
  2304. 2109 PROCEDURE VIOSCROLLLF (
  2305. 2110 usTopRow: USHORT;
  2306. 2111 usLeftCol: USHORT;
  2307. 2112 usBotRow: USHORT;
  2308. 2113 usRightCol: USHORT;
  2309. 2114 cbCol: USHORT;
  2310. 2115 pCell: PBYTE;
  2311. 2116 hvio: HVIO): USHORT;
  2312. 2117
  2313. 2118 PROCEDURE VIOSCROLLRT (
  2314. 2119 usTopRow: USHORT;
  2315. 2120 usLeftCol: USHORT;
  2316. 2121 usBotRow: USHORT;
  2317. 2122 usRightCol: USHORT;
  2318. 2123 cbCol: USHORT;
  2319. 2124 pCell: PBYTE;
  2320. 2125 hvio: HVIO): USHORT;
  2321. 2126
  2322. 2127 PROCEDURE VIOWRTNATTR (
  2323. 2128 pAttr: PBYTE;
  2324. 2129 cb: USHORT;
  2325. 2130 usRow: USHORT;
  2326. 2131 usColumn: USHORT;
  2327. 2132 hvio: HVIO): USHORT;
  2328. 2133
  2329. 2134 PROCEDURE VIOWRTNCELL (
  2330. 2135 pCell: PBYTE;
  2331. 2136 cb: USHORT;
  2332. 2137 usRow: USHORT;
  2333. 2138 usColumn: USHORT;
  2334. 2139 hvio: HVIO): USHORT;
  2335. 2140
  2336. 2141 PROCEDURE VIOWRTNCHAR (
  2337. 2142 pchChar: PCH;
  2338. 2143 cb: USHORT;
  2339. 2144 usRow: USHORT;
  2340. 2145 usColumn: USHORT;
  2341. 2146 hvio: HVIO): USHORT;
  2342. 2147
  2343. 2148 PROCEDURE VIOWRTTTY (
  2344. 2149 pch: PCH;
  2345. 2150 cb: USHORT;
  2346. 2151 hvio: HVIO): USHORT;
  2347. 2152
  2348. 2153 PROCEDURE VIOWRTCHARSTRATT (
  2349. 2154 pch: PCH;
  2350. 2155 cb: USHORT;
  2351. 2156 usRow: USHORT;
  2352. 2157 usColumn: USHORT;
  2353. 2158 pAttr: PBYTE;
  2354. 2159 hvio: HVIO): USHORT;
  2355. 2160
  2356. 2161 CONST ANSI_ON = 1;
  2357. 2162
  2358. 2163 CONST ANSI_OFF = 0;
  2359. 2164
  2360. 2165 CONST VSRWI_SAVEANDREDRAW = 0;
  2361. 2166
  2362. 2167 CONST VSRWI_REDRAW = 1;
  2363. 2168
  2364. 2169 CONST VSRWN_SAVE = 0;
  2365. 2170
  2366. 2171 CONST VSRWN_REDRAW = 1;
  2367. 2172
  2368. 2173 CONST UNDOI_GETOWNER = 0;
  2369. 2174
  2370. 2175 CONST UNDOI_RELEASEOWNER = 1;
  2371. 2176
  2372. 2177 CONST UNDOK_ERRORCODE = 0;
  2373. 2178
  2374. 2179 CONST UNDOK_TERMINATE = 1;
  2375. 2180
  2376. 2181 CONST VMWR_POPUP = 0;
  2377. 2182
  2378. 2183 CONST VMWN_POPUP = 0;
  2379. 2184
  2380. 2185 CONST LOCKIO_NOWAIT = 0;
  2381. 2186
  2382. 2187 CONST LOCKIO_WAIT = 1;
  2383. 2188
  2384. 2189 CONST LOCK_SUCCESS = 0;
  2385. 2190
  2386. 2191 CONST LOCK_FAIL = 1;
  2387. 2192
  2388. 2193 PROCEDURE VIOSCRLOCK (
  2389. 2194 fWait: USHORT;
  2390. 2195 pfNotLocked: PUCHAR;
  2391. 2196 hvio: HVIO): USHORT;
  2392. 2197
  2393. 2198 PROCEDURE VIOSCRUNLOCK (
  2394. 2199 hvio: HVIO): USHORT;
  2395. 2200
  2396. 2201 CONST VP_NOWAIT = 0000H;
  2397. 2202
  2398. 2203 CONST VP_WAIT = 0001H;
  2399. 2204
  2400. 2205 CONST VP_OPAQUE = 0000H;
  2401. 2206
  2402. 2207 CONST VP_TRANSPARENT = 0002H;
  2403. 2208
  2404. 2209
  2405. 2210 (*structure for VioGetConfig() *)
  2406. 2211
  2407. 2212 (*VIOCONFIGINFO.adapter constants *)
  2408. 2213 CONST DISPLAY_MONOCHROME = 0000H;
  2409. 2214
  2410. 2215 CONST DISPLAY_CGA = 0001H;
  2411. 2216
  2412. 2217 CONST DISPLAY_EGA = 0002H;
  2413. 2218
  2414. 2219 CONST DISPLAY_VGA = 0003H;
  2415. 2220
  2416. 2221 CONST DISPLAY_8514A = 0007H;
  2417. 2222
  2418. 2223
  2419. 2224 (*VIOCONFIGINFO.display constants *)
  2420. 2225 CONST MONITOR_MONOCHROME = 0000H;
  2421. 2226
  2422. 2227 CONST MONITOR_COLOR = 0001H;
  2423. 2228
  2424. 2229 CONST MONITOR_ENHANCED = 0002H;
  2425. 2230
  2426. 2231 CONST MONITOR_8503 = 0003H;
  2427. 2232
  2428. 2233 CONST MONITOR_851X_COLOR = 0004H;
  2429. 2234
  2430. 2235 CONST MONITOR_8514 = 0009H;
  2431. 2236
  2432. 2237 TYPE _VIOCONFIGINFO = RECORD(*vioin *)
  2433. 2238 cb: USHORT;
  2434. 2239 adapter: USHORT;
  2435. 2240 display: USHORT;
  2436. 2241 cbMemory: ULONG;
  2437. 2242 Configuration: USHORT;
  2438. 2243 VDHVersion: USHORT;
  2439. 2244 Flags: USHORT;
  2440. 2245 HWBufferSize: ULONG;
  2441. 2246 FullSaveSize: ULONG;
  2442. 2247 PartSaveSize: ULONG;
  2443. 2248 EMAdaptersOFF: USHORT;
  2444. 2249 EMDisplaysOFF: USHORT;
  2445. 2250 END;
  2446. ***** ^ not supported yet
  2447. 2251 TYPE VIOCONFIGINFO = _VIOCONFIGINFO;
  2448. 2252
  2449. 2253 TYPE
  2450. 2254 PVIOCONFIGINFO = POINTER TO VIOCONFIGINFO;
  2451. ***** ^ not supported yet
  2452. 2255
  2453. 2256 PROCEDURE VIOGETCONFIG (
  2454. 2257 usConfigId: USHORT;
  2455. 2258 pvioin: PVIOCONFIGINFO;
  2456. 2259 hvio: HVIO): USHORT;
  2457. 2260
  2458. 2261
  2459. 2262 (*structure for VioGet/SetFont() *)
  2460. 2263 TYPE _VIOFONTINFO = RECORD(*viofi *)
  2461. 2264 cb: USHORT;
  2462. 2265 type: USHORT;
  2463. 2266 cxCell: USHORT;
  2464. 2267 cyCell: USHORT;
  2465. 2268 pbData: PVOID;
  2466. 2269 cbData: USHORT;
  2467. 2270 END;
  2468. ***** ^ not supported yet
  2469. 2271 TYPE VIOFONTINFO = _VIOFONTINFO;
  2470. 2272
  2471. 2273 TYPE
  2472. 2274 PVIOFONTINFO = POINTER TO VIOFONTINFO;
  2473. ***** ^ not supported yet
  2474. 2275
  2475. 2276 CONST VGFI_GETCURFONT = 0;
  2476. 2277
  2477. 2278 CONST VGFI_GETROMFONT = 1;
  2478. 2279
  2479. 2280 PROCEDURE VIOGETFONT (
  2480. 2281 pviofi: PVIOFONTINFO;
  2481. 2282 hvio: HVIO): USHORT;
  2482. 2283
  2483. 2284 PROCEDURE VIOSETFONT (
  2484. 2285 pviofi: PVIOFONTINFO;
  2485. 2286 hvio: HVIO): USHORT;
  2486. 2287
  2487. 2288 TYPE _VIOPALSTATE = RECORD(*viopal *)
  2488. 2289 cb: USHORT;
  2489. 2290 type: USHORT;
  2490. 2291 iFirst: USHORT;
  2491. 2292 acolor: ARRAY [0 .. ((1) - 1)] OF USHORT;
  2492. ***** ^ not supported yet
  2493. ***** ^ not supported yet
  2494. 2293 END;
  2495. ***** ^ not supported yet
  2496. 2294 TYPE VIOPALSTATE = _VIOPALSTATE;
  2497. 2295
  2498. 2296 TYPE
  2499. 2297 PVIOPALSTATE = POINTER TO VIOPALSTATE;
  2500. ***** ^ not supported yet
  2501. 2298
  2502. 2299 TYPE _VIOOVERSCAN = RECORD(*vioos *)
  2503. 2300 cb: USHORT;
  2504. 2301 type: USHORT;
  2505. 2302 color: USHORT;
  2506. 2303 END;
  2507. ***** ^ not supported yet
  2508. 2304 TYPE VIOOVERSCAN = _VIOOVERSCAN;
  2509. 2305
  2510. 2306 TYPE
  2511. 2307 PVIOOVERSCAN = POINTER TO VIOOVERSCAN;
  2512. ***** ^ not supported yet
  2513. 2308
  2514. 2309 TYPE _VIOINTENSITY = RECORD(*vioint *)
  2515. 2310 cb: USHORT;
  2516. 2311 type: USHORT;
  2517. 2312 fs: USHORT;
  2518. 2313 END;
  2519. ***** ^ not supported yet
  2520. 2314 TYPE VIOINTENSITY = _VIOINTENSITY;
  2521. 2315
  2522. 2316 TYPE
  2523. 2317 PVIOINTENSITY = POINTER TO VIOINTENSITY;
  2524. ***** ^ not supported yet
  2525. 2318
  2526. 2319 TYPE _VIOCOLORREG = RECORD(*viocreg *)
  2527. 2320 cb: USHORT;
  2528. 2321 type: USHORT;
  2529. 2322 firstcolorreg: USHORT;
  2530. 2323 numcolorregs: USHORT;
  2531. 2324 colorregaddr: PCH;
  2532. 2325 END;
  2533. ***** ^ not supported yet
  2534. 2326 TYPE VIOCOLORREG = _VIOCOLORREG;
  2535. 2327
  2536. 2328 TYPE
  2537. 2329 PVIOCOLORREG = POINTER TO VIOCOLORREG;
  2538. ***** ^ not supported yet
  2539. 2330
  2540. 2331 TYPE _VIOSETULINELOC = RECORD(*viouline *)
  2541. 2332 cb: USHORT;
  2542. 2333 type: USHORT;
  2543. 2334 scanline: USHORT;
  2544. 2335 END;
  2545. ***** ^ not supported yet
  2546. 2336 TYPE VIOSETULINELOC = _VIOSETULINELOC;
  2547. 2337
  2548. 2338 TYPE
  2549. 2339 PVIOSETULINELOC = POINTER TO VIOSETULINELOC;
  2550. ***** ^ not supported yet
  2551. 2340
  2552. 2341 TYPE _VIOSETTARGET = RECORD(*viosett *)
  2553. 2342 cb: USHORT;
  2554. 2343 type: USHORT;
  2555. 2344 defaultalgorithm: USHORT;
  2556. 2345 END;
  2557. ***** ^ not supported yet
  2558. 2346 TYPE VIOSETTARGET = _VIOSETTARGET;
  2559. 2347
  2560. 2348 TYPE
  2561. 2349 PVIOSETTARGET = POINTER TO VIOSETTARGET;
  2562. ***** ^ not supported yet
  2563. 2350
  2564. 2351 PROCEDURE VIOGETSTATE (
  2565. 2352 pState: PVOID;
  2566. 2353 hvio: HVIO): USHORT;
  2567. 2354
  2568. 2355 PROCEDURE VIOSETSTATE (
  2569. 2356 pState: PVOID;
  2570. 2357 hvio: HVIO): USHORT;
  2571. 2358
  2572. 2359
  2573. 2360 (** Device support *)
  2574. 2361
  2575. 2362 (*************************************************************************\
  2576. 2363 *
  2577. 2364 * OS/2 Structures and constants for use with DosDevIOCtl
  2578. 2365 *
  2579. 2366 \**************************************************************************)
  2580. 2367
  2581. 2368
  2582. 2369 (*Input and Output Control Categories *)
  2583. 2370 CONST IOCTL_ASYNC = 0001H;
  2584. 2371
  2585. 2372 CONST IOCTL_SCR_AND_PTRDRAW = 0003H;
  2586. 2373
  2587. 2374 CONST IOCTL_KEYBOARD = 0004H;
  2588. 2375
  2589. 2376 CONST IOCTL_PRINTER = 0005H;
  2590. 2377
  2591. 2378 CONST IOCTL_LIGHTPEN = 0006H;
  2592. 2379
  2593. 2380 CONST IOCTL_POINTINGDEVICE = 0007H;
  2594. 2381
  2595. 2382 CONST IOCTL_DISK = 0008H;
  2596. 2383
  2597. 2384 CONST IOCTL_PHYSICALDISK = 0009H;
  2598. 2385
  2599. 2386 CONST IOCTL_MONITOR = 000AH;
  2600. 2387
  2601. 2388 CONST IOCTL_GENERAL = 000BH;
  2602. 2389
  2603. 2390
  2604. 2391 (*Serial-Device Control *)
  2605. 2392 CONST ASYNC_SETBAUDRATE = 0041H;
  2606. 2393
  2607. 2394 CONST ASYNC_SETLINECTRL = 0042H;
  2608. 2395
  2609. 2396 CONST ASYNC_TRANSMITIMM = 0044H;
  2610. 2397
  2611. 2398 CONST ASYNC_SETBREAKOFF = 0045H;
  2612. 2399
  2613. 2400 CONST ASYNC_SETMODEMCTRL = 0046H;
  2614. 2401
  2615. 2402 CONST ASYNC_SETBREAKON = 004BH;
  2616. 2403
  2617. 2404 CONST ASYNC_STOPTRANSMIT = 0047H;
  2618. 2405
  2619. 2406 CONST ASYNC_STARTTRANSMIT = 0048H;
  2620. 2407
  2621. 2408 CONST ASYNC_SETDCBINFO = 0053H;
  2622. 2409
  2623. 2410 CONST ASYNC_GETBAUDRATE = 0061H;
  2624. 2411
  2625. 2412 CONST ASYNC_GETLINECTRL = 0062H;
  2626. 2413
  2627. 2414 CONST ASYNC_GETCOMMSTATUS = 0064H;
  2628. 2415
  2629. 2416 CONST ASYNC_GETLINESTATUS = 0065H;
  2630. 2417
  2631. 2418 CONST ASYNC_GETMODEMOUTPUT = 0066H;
  2632. 2419
  2633. 2420 CONST ASYNC_GETMODEMINPUT = 0067H;
  2634. 2421
  2635. 2422 CONST ASYNC_GETINQUECOUNT = 0068H;
  2636. 2423
  2637. 2424 CONST ASYNC_GETOUTQUECOUNT = 0069H;
  2638. 2425
  2639. 2426 CONST ASYNC_GETCOMMERROR = 006DH;
  2640. 2427
  2641. 2428 CONST ASYNC_GETCOMMEVENT = 0072H;
  2642. 2429
  2643. 2430 CONST ASYNC_GETDCBINFO = 0073H;
  2644. 2431
  2645. 2432
  2646. 2433 (*Screen/Pointer-Draw Control *)
  2647. 2434 CONST SCR_ALLOCLDT = 0070H;
  2648. 2435
  2649. 2436 CONST SCR_DEALLOCLDT = 0071H;
  2650. 2437
  2651. 2438 CONST PTR_GETPTRDRAWADDRESS = 0072H;
  2652. 2439
  2653. 2440 CONST SCR_ALLOCLDTOFF = 0075H;
  2654. 2441
  2655. 2442
  2656. 2443 (*Keyboard Control *)
  2657. 2444 CONST KBD_SETTRANSTABLE = 0050H;
  2658. 2445
  2659. 2446 CONST KBD_SETINPUTMODE = 0051H;
  2660. 2447
  2661. 2448 CONST KBD_SETINTERIMFLAG = 0052H;
  2662. 2449
  2663. 2450 CONST KBD_SETSHIFTSTATE = 0053H;
  2664. 2451
  2665. 2452 CONST KBD_SETTYPAMATICRATE = 0054H;
  2666. 2453
  2667. 2454 CONST KBD_SETFGNDSCREENGRP = 0055H;
  2668. 2455
  2669. 2456 CONST KBD_SETSESMGRHOTKEY = 0056H;
  2670. 2457
  2671. 2458 CONST KBD_SETFOCUS = 0057H;
  2672. 2459
  2673. 2460 CONST KBD_SETKCB = 0058H;
  2674. 2461
  2675. 2462 CONST KBD_SETNLS = 005CH;
  2676. 2463
  2677. 2464 CONST KBD_CREATE = 005DH;
  2678. 2465
  2679. 2466 CONST KBD_DESTROY = 005EH;
  2680. 2467
  2681. 2468 CONST KBD_GETINPUTMODE = 0071H;
  2682. 2469
  2683. 2470 CONST KBD_GETINTERIMFLAG = 0072H;
  2684. 2471
  2685. 2472 CONST KBD_GETSHIFTSTATE = 0073H;
  2686. 2473
  2687. 2474 CONST KBD_READCHAR = 0074H;
  2688. 2475
  2689. 2476 CONST KBD_PEEKCHAR = 0075H;
  2690. 2477
  2691. 2478 CONST KBD_GETSESMGRHOTKEY = 0076H;
  2692. 2479
  2693. 2480 CONST KBD_GETKEYBDTYPE = 0077H;
  2694. 2481
  2695. 2482 CONST KBD_GETCODEPAGEID = 0078H;
  2696. 2483
  2697. 2484 CONST KBD_XLATESCAN = 0079H;
  2698. 2485
  2699. 2486
  2700. 2487 (*Printer Control *)
  2701. 2488 CONST PRT_SETFRAMECTL = 0042H;
  2702. 2489
  2703. 2490 CONST PRT_SETINFINITERETRY = 0044H;
  2704. 2491
  2705. 2492 CONST PRT_INITPRINTER = 0046H;
  2706. 2493
  2707. 2494 CONST PRT_ACTIVATEFONT = 0048H;
  2708. 2495
  2709. 2496 CONST PRT_GETFRAMECTL = 0062H;
  2710. 2497
  2711. 2498 CONST PRT_GETINFINITERETRY = 0064H;
  2712. 2499
  2713. 2500 CONST PRT_GETPRINTERSTATUS = 0066H;
  2714. 2501
  2715. 2502 CONST PRT_QUERYACTIVEFONT = 0069H;
  2716. 2503
  2717. 2504 CONST PRT_VERIFYFONT = 006AH;
  2718. 2505
  2719. 2506
  2720. 2507 (*Disk/Diskette Control *)
  2721. 2508 CONST DSK_LOCKDRIVE = 0000H;
  2722. 2509
  2723. 2510 CONST DSK_UNLOCKDRIVE = 0001H;
  2724. 2511
  2725. 2512 CONST DSK_REDETERMINEMEDIA = 0002H;
  2726. 2513
  2727. 2514 CONST DSK_SETLOGICALMAP = 0003H;
  2728. 2515
  2729. 2516 CONST DSK_BLOCKREMOVABLE = 0020H;
  2730. 2517
  2731. 2518 CONST DSK_GETLOGICALMAP = 0021H;
  2732. 2519
  2733. 2520 CONST DSK_SETDEVICEPARAMS = 0043H;
  2734. 2521
  2735. 2522 CONST DSK_WRITETRACK = 0044H;
  2736. 2523
  2737. 2524 CONST DSK_FORMATVERIFY = 0045H;
  2738. 2525
  2739. 2526 CONST DSK_GETDEVICEPARAMS = 0063H;
  2740. 2527
  2741. 2528 CONST DSK_READTRACK = 0064H;
  2742. 2529
  2743. 2530 CONST DSK_VERIFYTRACK = 0065H;
  2744. 2531
  2745. 2532
  2746. 2533 (*Physical-Disk Control *)
  2747. 2534 CONST PDSK_LOCKPHYSDRIVE = 0000H;
  2748. 2535
  2749. 2536 CONST PDSK_UNLOCKPHYSDRIVE = 0001H;
  2750. 2537
  2751. 2538 CONST PDSK_WRITEPHYSTRACK = 0044H;
  2752. 2539
  2753. 2540 CONST PDSK_GETPHYSDEVICEPARAMS = 0063H;
  2754. 2541
  2755. 2542 CONST PDSK_READPHYSTRACK = 0064H;
  2756. 2543
  2757. 2544 CONST PDSK_VERIFYPHYSTRACK = 0065H;
  2758. 2545
  2759. 2546
  2760. 2547 (*Character-Monitor Control *)
  2761. 2548 CONST MON_REGISTERMONITOR = 0040H;
  2762. 2549
  2763. 2550
  2764. 2551 (*General Device Control *)
  2765. 2552 CONST DEV_FLUSHINPUT = 0001H;
  2766. 2553
  2767. 2554 CONST DEV_FLUSHOUTPUT = 0002H;
  2768. 2555
  2769. 2556 CONST DEV_QUERYMONSUPPORT = 0060H;
  2770. 2557
  2771. 2558
  2772. 2559 (*ASYNC_GETCOMMERROR, ASYNC_SETBREAKOFF, ASYNC_SETBREAKON,
  2773. 2560 * ASYNC_SETMODEMCTRL
  2774. 2561 *)
  2775. 2562 CONST RX_QUE_OVERRUN = 0001H;
  2776. 2563
  2777. 2564 CONST RX_HARDWARE_OVERRUN = 0002H;
  2778. 2565
  2779. 2566 CONST PARITY_ERROR = 0004H;
  2780. 2567
  2781. 2568 CONST FRAMING_ERROR = 0008H;
  2782. 2569
  2783. 2570
  2784. 2571 (*ASYNC_GETCOMMEVENT *)
  2785. 2572 CONST CHAR_RECEIVED = 0001H;
  2786. 2573
  2787. 2574 CONST LAST_CHAR_SENT = 0004H;
  2788. 2575
  2789. 2576 CONST CTS_CHANGED = 0008H;
  2790. 2577
  2791. 2578 CONST DSR_CHANGED = 0010H;
  2792. 2579
  2793. 2580 CONST DCD_CHANGED = 0020H;
  2794. 2581
  2795. 2582 CONST BREAK_DETECTED = 0040H;
  2796. 2583
  2797. 2584 CONST ERROR_OCCURRED = 0080H;
  2798. 2585
  2799. 2586 CONST RI_DETECTED = 0100H;
  2800. 2587
  2801. 2588
  2802. 2589 (*ASYNC_GETCOMMSTATUS *)
  2803. 2590 CONST TX_WAITING_FOR_CTS = 0001H;
  2804. 2591
  2805. 2592 CONST TX_WAITING_FOR_DSR = 0002H;
  2806. 2593
  2807. 2594 CONST TX_WAITING_FOR_DCD = 0004H;
  2808. 2595
  2809. 2596 CONST TX_WAITING_FOR_XON = 0008H;
  2810. 2597
  2811. 2598 CONST TX_WAITING_TO_SEND_XON = 0010H;
  2812. 2599
  2813. 2600 CONST TX_WAITING_WHILE_BREAK_ON = 0020H;
  2814. 2601
  2815. 2602 CONST TX_WAITING_TO_SEND_IMM = 0040H;
  2816. 2603
  2817. 2604 CONST RX_WAITING_FOR_DSR = 0080H;
  2818. 2605
  2819. 2606
  2820. 2607 (*ASYNC_GETLINESTATUS *)
  2821. 2608 CONST WRITE_REQUEST_QUEUED = 0001H;
  2822. 2609
  2823. 2610 CONST DATA_IN_TX_QUE = 0002H;
  2824. 2611
  2825. 2612 CONST HARDWARE_TRANSMITTING = 0004H;
  2826. 2613
  2827. 2614 CONST CHAR_READY_TO_SEND_IMM = 0008H;
  2828. 2615
  2829. 2616 CONST WAITING_TO_SEND_XON = 0010H;
  2830. 2617
  2831. 2618 CONST WAITING_TO_SEND_XOFF = 0020H;
  2832. 2619
  2833. 2620
  2834. 2621 (*ASYNC_GETMODEMINPUT *)
  2835. 2622 CONST CTS_ON = 10H;
  2836. 2623
  2837. 2624 CONST DSR_ON = 20H;
  2838. 2625
  2839. 2626 CONST RI_ON = 40H;
  2840. 2627
  2841. 2628 CONST DCD_ON = 80H;
  2842. 2629
  2843. 2630
  2844. 2631 (*DSK_SETDEVICEPARAMS *)
  2845. 2632 CONST BUILD_BPB_FROM_MEDIUM = 00H;
  2846. 2633
  2847. 2634 CONST REPLACE_BPB_FOR_DEVICE = 01H;
  2848. 2635
  2849. 2636 CONST REPLACE_BPB_FOR_MEDIUM = 02H;
  2850. 2637
  2851. 2638
  2852. 2639 (*KBD_GETINPUTMODE, KBD_PEEKCHAR, KBD_SETINPUTMODE*)
  2853. 2640 CONST ASCII_MODE = 00H;
  2854. 2641
  2855. 2642 CONST BINARY_MODE = 80H;
  2856. 2643
  2857. 2644
  2858. 2645 (*KBD_GETINTERIMFLAG *)
  2859. 2646
  2860. 2647 CONST INTERIM_CHAR = 80H;
  2861. 2648
  2862. 2649
  2863. 2650 (*KBD_GETSESMGRHOTKEY *)
  2864. 2651 CONST HOTKEY_MAX_COUNT = 0000H;
  2865. 2652
  2866. 2653 CONST HOTKEY_CURRENT_COUNT = 0001H;
  2867. 2654
  2868. 2655
  2869. 2656 (*KBD_PEEKCHAR *)
  2870. 2657 CONST KBD_DATA_RECEIVED = 0001H;
  2871. 2658
  2872. 2659 CONST KBD_DATA_BINARY = 8000H;
  2873. 2660
  2874. 2661
  2875. 2662 (*KBD_READCHAR *)
  2876. 2663 CONST KBD_READ_WAIT = 0000H;
  2877. 2664
  2878. 2665 CONST KBD_READ_NOWAIT = 8000H;
  2879. 2666
  2880. 2667
  2881. 2668 (*KBD_SETINPUTMODE *)
  2882. 2669 CONST SHIFT_REPORT_MODE = 01H;
  2883. 2670
  2884. 2671
  2885. 2672
  2886. 2673 (*PRT_GETPRINTERSTATUS *)
  2887. 2674 CONST PRINTER_TIMEOUT = 0001H;
  2888. 2675
  2889. 2676 CONST PRINTER_IO_ERROR = 0008H;
  2890. 2677
  2891. 2678 CONST PRINTER_SELECTED = 0010H;
  2892. 2679
  2893. 2680 CONST PRINTER_OUT_OF_PAPER = 0020H;
  2894. 2681
  2895. 2682 CONST PRINTER_ACKNOWLEDGED = 0040H;
  2896. 2683
  2897. 2684 CONST PRINTER_NOT_BUSY = 0080H;
  2898. 2685
  2899. 2686
  2900. 2687 (*fbCtlHndShake *)
  2901. 2688 CONST MODE_DTR_CONTROL = 01H;
  2902. 2689
  2903. 2690 CONST MODE_DTR_HANDSHAKE = 02H;
  2904. 2691
  2905. 2692 CONST MODE_CTS_HANDSHAKE = 08H;
  2906. 2693
  2907. 2694 CONST MODE_DSR_HANDSHAKE = 10H;
  2908. 2695
  2909. 2696 CONST MODE_DCD_HANDSHAKE = 20H;
  2910. 2697
  2911. 2698 CONST MODE_DSR_SENSITIVITY = 40H;
  2912. 2699
  2913. 2700
  2914. 2701 (*fbFlowReplace *)
  2915. 2702 CONST MODE_AUTO_TRANSMIT = 01H;
  2916. 2703
  2917. 2704 CONST MODE_AUTO_RECEIVE = 02H;
  2918. 2705
  2919. 2706 CONST MODE_ERROR_CHAR = 04H;
  2920. 2707
  2921. 2708 CONST MODE_NULL_STRIPPING = 08H;
  2922. 2709
  2923. 2710 CONST MODE_BREAK_CHAR = 10H;
  2924. 2711
  2925. 2712 CONST MODE_RTS_CONTROL = 40H;
  2926. 2713
  2927. 2714 CONST MODE_RTS_HANDSHAKE = 80H;
  2928. 2715
  2929. 2716 CONST MODE_TRANSMIT_TOGGLE = 0C0H;
  2930. 2717
  2931. 2718
  2932. 2719 (*fbTimeout *)
  2933. 2720 CONST MODE_NO_WRITE_TIMEOUT = 01H;
  2934. 2721
  2935. 2722 CONST MODE_READ_TIMEOUT = 02H;
  2936. 2723
  2937. 2724 CONST MODE_WAIT_READ_TIMEOUT = 04H;
  2938. 2725
  2939. 2726 CONST MODE_NOWAIT_READ_TIMEOUT = 06H;
  2940. 2727
  2941. 2728 TYPE _DCBINFO = RECORD(*dcbinf *)
  2942. 2729 usWriteTimeout: USHORT;
  2943. 2730 usReadTimeout: USHORT;
  2944. 2731 fbCtlHndShake: BYTE;
  2945. 2732 fbFlowReplace: BYTE;
  2946. 2733 fbTimeout: BYTE;
  2947. 2734 bErrorReplacementChar: BYTE;
  2948. 2735 bBreakReplacementChar: BYTE;
  2949. 2736 bXONChar: BYTE;
  2950. 2737 bXOFFChar: BYTE;
  2951. 2738 END;
  2952. ***** ^ not supported yet
  2953. 2739 TYPE DCBINFO = _DCBINFO;
  2954. 2740
  2955. 2741 TYPE
  2956. 2742 PDCBINFO = POINTER TO DCBINFO;
  2957. ***** ^ not supported yet
  2958. 2743
  2959. 2744 CONST DEVTYPE_48TPI = 0000H;
  2960. 2745
  2961. 2746 CONST DEVTYPE_96TPI = 0001H;
  2962. 2747
  2963. 2748 CONST DEVTYPE_35 = 0002H;
  2964. 2749
  2965. 2750 CONST DEVTYPE_8SD = 0003H;
  2966. 2751
  2967. 2752 CONST DEVTYPE_8DD = 0004H;
  2968. 2753
  2969. 2754 CONST DEVTYPE_FIXED = 0005H;
  2970. 2755
  2971. 2756 CONST DEVTYPE_TAPE = 0006H;
  2972. 2757
  2973. 2758 CONST DEVTYPE_UNKNOWN = 0007H;
  2974. 2759
  2975. 2760 TYPE _BIOSPARAMETERBLOCK = RECORD(*bspblk *)
  2976. 2761 usBytesPerSector: USHORT;
  2977. 2762 bSectorsPerCluster: BYTE;
  2978. 2763 usReservedSectors: USHORT;
  2979. 2764 cFATs: BYTE;
  2980. 2765 cRootEntries: USHORT;
  2981. 2766 cSectors: USHORT;
  2982. 2767 bMedia: BYTE;
  2983. 2768 usSectorsPerFAT: USHORT;
  2984. 2769 usSectorsPerTrack: USHORT;
  2985. 2770 cHeads: USHORT;
  2986. 2771 cHiddenSectors: ULONG;
  2987. 2772 cLargeSectors: ULONG;
  2988. 2773 abReserved: ARRAY [0 .. ((6) - 1)] OF BYTE;
  2989. ***** ^ not supported yet
  2990. ***** ^ not supported yet
  2991. 2774 cCylinders: USHORT;
  2992. 2775 bDeviceType: BYTE;
  2993. 2776 fsDeviceAttr: USHORT;
  2994. 2777 END;
  2995. ***** ^ not supported yet
  2996. 2778 TYPE BIOSPARAMETERBLOCK = _BIOSPARAMETERBLOCK;
  2997. 2779
  2998. 2780 TYPE
  2999. 2781 PBIOSPARAMETERBLOCK = POINTER TO BIOSPARAMETERBLOCK;
  3000. ***** ^ not supported yet
  3001. 2782
  3002. 2783 TYPE _SCREENGROUP = RECORD(*scrgrp *)
  3003. 2784 idScreenGrp: USHORT;
  3004. 2785 fTerminate: USHORT;
  3005. 2786 END;
  3006. ***** ^ not supported yet
  3007. 2787 TYPE SCREENGROUP = _SCREENGROUP;
  3008. 2788
  3009. 2789 TYPE
  3010. 2790 PSCREENGROUP = POINTER TO SCREENGROUP;
  3011. ***** ^ not supported yet
  3012. 2791
  3013. 2792 TYPE _FRAME = RECORD(*frm *)
  3014. 2793 bCharsPerLine: BYTE;
  3015. 2794 bLinesPerInch: BYTE;
  3016. 2795 END;
  3017. ***** ^ not supported yet
  3018. 2796 TYPE FRAME = _FRAME;
  3019. 2797
  3020. 2798 TYPE
  3021. 2799 PFRAME = POINTER TO FRAME;
  3022. ***** ^ not supported yet
  3023. 2800
  3024. 2801 TYPE _KBDTYPE = RECORD(*kbdtyp *)
  3025. 2802 usType: USHORT;
  3026. 2803 reserved1: USHORT;
  3027. 2804 reserved2: USHORT;
  3028. 2805 END;
  3029. ***** ^ not supported yet
  3030. 2806 TYPE KBDTYPE = _KBDTYPE;
  3031. 2807
  3032. 2808 TYPE
  3033. 2809 PKBDTYPE = POINTER TO KBDTYPE;
  3034. ***** ^ not supported yet
  3035. 2810
  3036. 2811 TYPE _LINECONTROL = RECORD(*lnctl *)
  3037. 2812 bDataBits: BYTE;
  3038. 2813 bParity: BYTE;
  3039. 2814 bStopBits: BYTE;
  3040. 2815 fTransBreak: BYTE;
  3041. 2816 END;
  3042. ***** ^ not supported yet
  3043. 2817 TYPE LINECONTROL = _LINECONTROL;
  3044. 2818
  3045. 2819 TYPE
  3046. 2820 PLINECONTROL = POINTER TO LINECONTROL;
  3047. ***** ^ not supported yet
  3048. 2821
  3049. 2822
  3050. 2823 (*MODEMSTATUS.fbModemOn, ASYNC_GETMODEMOUTPUT *)
  3051. 2824 CONST DTR_ON = 01H;
  3052. 2825
  3053. 2826 CONST RTS_ON = 02H;
  3054. 2827
  3055. 2828
  3056. 2829 (*MODEMSTATUS.fbModemOff *)
  3057. 2830 CONST DTR_OFF = 0FEH;
  3058. 2831
  3059. 2832 CONST RTS_OFF = 0FDH;
  3060. 2833
  3061. 2834 TYPE _MODEMSTATUS = RECORD(*mdmst *)
  3062. 2835 fbModemOn: BYTE;
  3063. 2836 fbModemOff: BYTE;
  3064. 2837 END;
  3065. ***** ^ not supported yet
  3066. 2838 TYPE MODEMSTATUS = _MODEMSTATUS;
  3067. 2839
  3068. 2840 TYPE
  3069. 2841 PMODEMSTATUS = POINTER TO MODEMSTATUS;
  3070. ***** ^ not supported yet
  3071. 2842
  3072. 2843 TYPE _RXQUEUE = RECORD(*rxq *)
  3073. 2844 cch: USHORT;
  3074. 2845 cb: USHORT;
  3075. 2846 END;
  3076. ***** ^ not supported yet
  3077. 2847 TYPE RXQUEUE = _RXQUEUE;
  3078. 2848
  3079. 2849 TYPE
  3080. 2850 PRXQUEUE = POINTER TO RXQUEUE;
  3081. ***** ^ not supported yet
  3082. 2851
  3083. 2852 TYPE _DEVICEPARAMETERBLOCK = RECORD(*dvpblck *)
  3084. 2853 reserved1: USHORT;
  3085. 2854 cCylinders: USHORT;
  3086. 2855 cHeads: USHORT;
  3087. 2856 cSectorsPerTrack: USHORT;
  3088. 2857 reserved2: USHORT;
  3089. 2858 reserved3: USHORT;
  3090. 2859 reserved4: USHORT;
  3091. 2860 reserved5: USHORT;
  3092. 2861 END;
  3093. ***** ^ not supported yet
  3094. 2862 TYPE DEVICEPARAMETERBLOCK = _DEVICEPARAMETERBLOCK;
  3095. 2863
  3096. 2864 TYPE
  3097. 2865 PDEVICEPARAMETERBLOCK = POINTER TO DEVICEPARAMETERBLOCK;
  3098. ***** ^ not supported yet
  3099. 2866
  3100. 2867 TYPE _PTRDRAWFUNCTION = RECORD(*ptrdfnc *)
  3101. 2868 usReturnCode: USHORT;
  3102. 2869 pfnDraw: PFN;
  3103. 2870 pchDataSeg: PCH;
  3104. 2871 END;
  3105. ***** ^ not supported yet
  3106. 2872 TYPE PTRDRAWFUNCTION = _PTRDRAWFUNCTION;
  3107. 2873
  3108. 2874 TYPE
  3109. 2875 PPTRDRAWFUNCTION = POINTER TO PTRDRAWFUNCTION;
  3110. ***** ^ not supported yet
  3111. 2876
  3112. 2877 TYPE _PTRDRAWADDRESS = RECORD(*ptrdaddr *)
  3113. 2878 reserved: USHORT;
  3114. 2879 ptrdfnc: PTRDRAWFUNCTION;
  3115. 2880 END;
  3116. ***** ^ not supported yet
  3117. 2881 TYPE PTRDRAWADDRESS = _PTRDRAWADDRESS;
  3118. 2882
  3119. 2883 TYPE
  3120. 2884 PPTRDRAWADDRESS = POINTER TO PTRDRAWADDRESS;
  3121. ***** ^ not supported yet
  3122. 2885
  3123. 2886 TYPE _SHIFTSTATE = RECORD(*shftst *)
  3124. 2887 fsState: USHORT;
  3125. 2888 fNLS: BYTE;
  3126. 2889 END;
  3127. ***** ^ not supported yet
  3128. 2890 TYPE SHIFTSTATE = _SHIFTSTATE;
  3129. 2891
  3130. 2892 TYPE
  3131. 2893 PSHIFTSTATE = POINTER TO SHIFTSTATE;
  3132. ***** ^ not supported yet
  3133. 2894
  3134. 2895
  3135. 2896 TYPE _HOTKEY = RECORD(*htky *)
  3136. 2897 fsHotKey: USHORT;
  3137. 2898 uchScancodeMake: UCHAR;
  3138. 2899 uchScancodeBreak: UCHAR;
  3139. 2900 idHotKey: USHORT;
  3140. 2901 END;
  3141. ***** ^ not supported yet
  3142. 2902 TYPE HOTKEY = _HOTKEY;
  3143. 2903
  3144. 2904 TYPE
  3145. 2905 PHOTKEY = POINTER TO HOTKEY;
  3146. ***** ^ not supported yet
  3147. 2906
  3148. 2907 TYPE _MONITORPOSITION = RECORD(*mnpos *)
  3149. 2908 fPosition: USHORT;
  3150. 2909 index: USHORT;
  3151. 2910 pbInBuf: ULONG;
  3152. 2911 offOutBuf: USHORT;
  3153. 2912 END;
  3154. ***** ^ not supported yet
  3155. 2913 TYPE MONITORPOSITION = _MONITORPOSITION;
  3156. 2914
  3157. 2915 TYPE
  3158. 2916 PMONITORPOSITION = POINTER TO MONITORPOSITION;
  3159. ***** ^ not supported yet
  3160. 2917
  3161. 2918 TYPE _RATEDELAY = RECORD(*rtdly *)
  3162. 2919 usDelay: USHORT;
  3163. 2920 usRate: USHORT;
  3164. 2921 END;
  3165. ***** ^ not supported yet
  3166. 2922 TYPE RATEDELAY = _RATEDELAY;
  3167. 2923
  3168. 2924 TYPE
  3169. 2925 PRATEDELAY = POINTER TO RATEDELAY;
  3170. ***** ^ not supported yet
  3171. 2926
  3172. 2927 TYPE _CODEPAGEINFO = RECORD(*cpi *)
  3173. 2928 pbTransTable: PBYTE;
  3174. 2929 idCodePage: USHORT;
  3175. 2930 idTable: USHORT;
  3176. 2931 END;
  3177. ***** ^ not supported yet
  3178. 2932 TYPE CODEPAGEINFO = _CODEPAGEINFO;
  3179. 2933
  3180. 2934 TYPE
  3181. 2935 PCODEPAGEINFO = SYSTEM.ADDRESS;
  3182. ***** ^ not supported yet
  3183. 2936
  3184. 2937 TYPE _CPID = RECORD(*cpid *)
  3185. 2938 idCodePage: USHORT;
  3186. 2939 Reserved: USHORT;
  3187. 2940 END;
  3188. ***** ^ not supported yet
  3189. 2941 TYPE CPID = _CPID;
  3190. 2942
  3191. 2943 TYPE
  3192. 2944 PCPID = SYSTEM.ADDRESS;
  3193. ***** ^ not supported yet
  3194. 2945
  3195. 2946 TYPE _LDTADDRINFO = RECORD(*ldtaddr *)
  3196. 2947 pulPhysAddr: PULONG;
  3197. 2948 cb: USHORT;
  3198. 2949 END;
  3199. ***** ^ not supported yet
  3200. 2950 TYPE LDTADDRINFO = _LDTADDRINFO;
  3201. 2951
  3202. 2952 TYPE
  3203. 2953 PLDTADDRINFO = SYSTEM.ADDRESS;
  3204. ***** ^ not supported yet
  3205. 2954
  3206. 2955 TYPE _PTRDRAWDATA = RECORD(*ptrdd *)
  3207. 2956 cb: USHORT;
  3208. 2957 usConfig: USHORT;
  3209. 2958 usFlag: USHORT;
  3210. 2959 END;
  3211. ***** ^ not supported yet
  3212. 2960 TYPE PTRDRAWDATA = _PTRDRAWDATA;
  3213. 2961
  3214. 2962 TYPE
  3215. 2963 PPTRDRAWDATA = SYSTEM.ADDRESS;
  3216. ***** ^ not supported yet
  3217. 2964
  3218. 2965
  3219. 2966 (*DosPhysicalDisk() physical disk information *)
  3220. 2967 CONST INFO_COUNT_PARTITIONABLE_DISKS = 0001H;
  3221. 2968
  3222. 2969 CONST INFO_GETIOCTLHANDLE = 0002H;
  3223. 2970
  3224. 2971 CONST INFO_FREEIOCTLHANDLE = 0003H;
  3225. 2972
  3226. 2973
  3227. 2974 (*DosDevConfig information requests *)
  3228. 2975 CONST DEVINFO_PRINTER = 0000H;
  3229. 2976
  3230. 2977 CONST DEVINFO_RS232 = 0001H;
  3231. 2978
  3232. 2979 CONST DEVINFO_FLOPPY = 0002H;
  3233. 2980
  3234. 2981 CONST DEVINFO_COPROCESSOR = 0003H;
  3235. 2982
  3236. 2983 CONST DEVINFO_SUBMODEL = 0004H;
  3237. 2984
  3238. 2985 CONST DEVINFO_MODEL = 0005H;
  3239. 2986
  3240. 2987 CONST DEVINFO_ADAPTER = 0006H;
  3241. 2988
  3242. 2989 PROCEDURE DOSDEVCONFIG (
  3243. 2990 pDevInfo: PVOID;
  3244. 2991 usItem: USHORT;
  3245. 2992 usReserved: USHORT): USHORT;
  3246. 2993
  3247. 2994 PROCEDURE DOSDEVIOCTL (
  3248. 2995 pData: PVOID;
  3249. 2996 pParms: PVOID;
  3250. 2997 usFun: USHORT;
  3251. 2998 usCategory: USHORT;
  3252. 2999 hDev: HFILE): USHORT;
  3253. 3000
  3254. 3001 CONST NO_ERROR = 0;
  3255. 3002
  3256. 3003 CONST ERROR_INVALID_FUNCTION = 1;
  3257. 3004
  3258. 3005 CONST ERROR_FILE_NOT_FOUND = 2;
  3259. 3006
  3260. 3007 CONST ERROR_PATH_NOT_FOUND = 3;
  3261. 3008
  3262. 3009 CONST ERROR_TOO_MANY_OPEN_FILES = 4;
  3263. 3010
  3264. 3011 CONST ERROR_ACCESS_DENIED = 5;
  3265. 3012
  3266. 3013 CONST ERROR_INVALID_HANDLE = 6;
  3267. 3014
  3268. 3015 CONST ERROR_ARENA_TRASHED = 7;
  3269. 3016
  3270. 3017 CONST ERROR_NOT_ENOUGH_MEMORY = 8;
  3271. 3018
  3272. 3019 CONST ERROR_INVALID_BLOCK = 9;
  3273. 3020
  3274. 3021 CONST ERROR_BAD_ENVIRONMENT = 10;
  3275. 3022
  3276. 3023 CONST ERROR_BAD_FORMAT = 11;
  3277. 3024
  3278. 3025 CONST ERROR_INVALID_ACCESS = 12;
  3279. 3026
  3280. 3027 CONST ERROR_INVALID_DATA = 13;
  3281. 3028
  3282. 3029
  3283. 3030 (*14 is reserved *)
  3284. 3031 CONST ERROR_INVALID_DRIVE = 15;
  3285. 3032
  3286. 3033 CONST ERROR_CURRENT_DIRECTORY = 16;
  3287. 3034
  3288. 3035 CONST ERROR_NOT_SAME_DEVICE = 17;
  3289. 3036
  3290. 3037 CONST ERROR_NO_MORE_FILES = 18;
  3291. 3038
  3292. 3039 CONST ERROR_WRITE_PROTECT = 19;
  3293. 3040
  3294. 3041 CONST ERROR_BAD_UNIT = 20;
  3295. 3042
  3296. 3043 CONST ERROR_NOT_READY = 21;
  3297. 3044
  3298. 3045 CONST ERROR_BAD_COMMAND = 22;
  3299. 3046
  3300. 3047 CONST ERROR_CRC = 23;
  3301. 3048
  3302. 3049 CONST ERROR_BAD_LENGTH = 24;
  3303. 3050
  3304. 3051 CONST ERROR_SEEK = 25;
  3305. 3052
  3306. 3053 CONST ERROR_NOT_DOS_DISK = 26;
  3307. 3054
  3308. 3055 CONST ERROR_SECTOR_NOT_FOUND = 27;
  3309. 3056
  3310. 3057 CONST ERROR_OUT_OF_PAPER = 28;
  3311. 3058
  3312. 3059 CONST ERROR_WRITE_FAULT = 29;
  3313. 3060
  3314. 3061 CONST ERROR_READ_FAULT = 30;
  3315. 3062
  3316. 3063 CONST ERROR_GEN_FAILURE = 31;
  3317. 3064
  3318. 3065 CONST ERROR_SHARING_VIOLATION = 32;
  3319. 3066
  3320. 3067 CONST ERROR_LOCK_VIOLATION = 33;
  3321. 3068
  3322. 3069 CONST ERROR_WRONG_DISK = 34;
  3323. 3070
  3324. 3071 CONST ERROR_FCB_UNAVAILABLE = 35;
  3325. 3072
  3326. 3073 CONST ERROR_SHARING_BUFFER_EXCEEDED = 36;
  3327. 3074
  3328. 3075 CONST ERROR_NOT_SUPPORTED = 50;
  3329. 3076
  3330. 3077 CONST ERROR_REM_NOT_LIST = 51;
  3331. 3078 (*Remote computer not listening *)
  3332. 3079 CONST ERROR_DUP_NAME = 52;
  3333. 3080 (*Duplicate name on network *)
  3334. 3081 CONST ERROR_BAD_NETPATH = 53;
  3335. 3082 (*Network path not found *)
  3336. 3083 CONST ERROR_NETWORK_BUSY = 54;
  3337. 3084 (*Network busy *)
  3338. 3085 CONST ERROR_DEV_NOT_EXIST = 55;
  3339. 3086 (*Network device no longer exists *)
  3340. 3087 CONST ERROR_TOO_MANY_CMDS = 56;
  3341. 3088 (*Net BIOS command limit exceeded *)
  3342. 3089 CONST ERROR_ADAP_HDW_ERR = 57;
  3343. 3090 (*Network adapter hardware error *)
  3344. 3091 CONST ERROR_BAD_NET_RESP = 58;
  3345. 3092 (*Incorrect response from network *)
  3346. 3093 CONST ERROR_UNEXP_NET_ERR = 59;
  3347. 3094 (*Unexpected network error *)
  3348. 3095 CONST ERROR_BAD_REM_ADAP = 60;
  3349. 3096 (*Incompatible remote adapter *)
  3350. 3097 CONST ERROR_PRINTQ_FULL = 61;
  3351. 3098 (*Print queue full *)
  3352. 3099 CONST ERROR_NO_SPOOL_SPACE = 62;
  3353. 3100 (*Not enough space for print file *)
  3354. 3101 CONST ERROR_PRINT_CANCELLED = 63;
  3355. 3102 (*Print file was cancelled *)
  3356. 3103 CONST ERROR_NETNAME_DELETED = 64;
  3357. 3104 (*Network name was deleted *)
  3358. 3105 CONST ERROR_NETWORK_ACCESS_DENIED = 65;
  3359. 3106 (*Access denied *)
  3360. 3107 CONST ERROR_BAD_DEV_TYPE = 66;
  3361. 3108 (*Network device type incorrect *)
  3362. 3109 CONST ERROR_BAD_NET_NAME = 67;
  3363. 3110 (*Network name not found *)
  3364. 3111 CONST ERROR_TOO_MANY_NAMES = 68;
  3365. 3112 (*Network name limit exceeded *)
  3366. 3113 CONST ERROR_TOO_MANY_SESS = 69;
  3367. 3114 (*Net BIOS session limit exceeded *)
  3368. 3115 CONST ERROR_SHARING_PAUSED = 70;
  3369. 3116 (*Sharing temporarily paused *)
  3370. 3117 CONST ERROR_REQ_NOT_ACCEP = 71;
  3371. 3118 (*Network request not accepted *)
  3372. 3119 CONST ERROR_REDIR_PAUSED = 72;
  3373. 3120 (*Print|disk redirection is paused*)
  3374. 3121 CONST ERROR_FILE_EXISTS = 80;
  3375. 3122
  3376. 3123 CONST ERROR_DUP_FCB = 81;
  3377. 3124
  3378. 3125 CONST ERROR_CANNOT_MAKE = 82;
  3379. 3126
  3380. 3127 CONST ERROR_FAIL_I24 = 83;
  3381. 3128
  3382. 3129 CONST ERROR_OUT_OF_STRUCTURES = 84;
  3383. 3130
  3384. 3131 CONST ERROR_ALREADY_ASSIGNED = 85;
  3385. 3132
  3386. 3133 CONST ERROR_INVALID_PASSWORD = 86;
  3387. 3134
  3388. 3135 CONST ERROR_INVALID_PARAMETER = 87;
  3389. 3136
  3390. 3137 CONST ERROR_NET_WRITE_FAULT = 88;
  3391. 3138
  3392. 3139 CONST ERROR_NO_PROC_SLOTS = 89;
  3393. 3140 (*no process slots available *)
  3394. 3141 CONST ERROR_NOT_FROZEN = 90;
  3395. 3142
  3396. 3143 CONST ERR_TSTOVFL = 91;
  3397. 3144 (*timer service table overflow *)
  3398. 3145 CONST ERR_TSTDUP = 92;
  3399. 3146 (*timer service table duplicate *)
  3400. 3147 CONST ERROR_NO_ITEMS = 93;
  3401. 3148 (*no items to operate upon *)
  3402. 3149 CONST ERROR_INTERRUPT = 95;
  3403. 3150 (*interrupted system call *)
  3404. 3151 CONST ERROR_DEVICE_IN_USE = 99;
  3405. 3152 (*Device in use by another thread *)
  3406. 3153 CONST ERROR_TOO_MANY_SEMAPHORES = 100;
  3407. 3154
  3408. 3155 CONST ERROR_EXCL_SEM_ALREADY_OWNED = 101;
  3409. 3156
  3410. 3157 CONST ERROR_SEM_IS_SET = 102;
  3411. 3158
  3412. 3159 CONST ERROR_TOO_MANY_SEM_REQUESTS = 103;
  3413. 3160
  3414. 3161 CONST ERROR_INVALID_AT_INTERRUPT_TIME = 104;
  3415. 3162
  3416. 3163 CONST ERROR_SEM_OWNER_DIED = 105;
  3417. 3164 (*waitsem found owner died *)
  3418. 3165 CONST ERROR_SEM_USER_LIMIT = 106;
  3419. 3166 (*too many procs have this sem *)
  3420. 3167 CONST ERROR_DISK_CHANGE = 107;
  3421. 3168
  3422. 3169 CONST ERROR_DRIVE_LOCKED = 108;
  3423. 3170 (*drive locked by another process*)
  3424. 3171 CONST ERROR_BROKEN_PIPE = 109;
  3425. 3172 (*write on pipe with no reader *)
  3426. 3173 CONST ERROR_OPEN_FAILED = 110;
  3427. 3174 (*open/created failed due to *)
  3428. 3175 (*explicit fail command *)
  3429. 3176 CONST ERROR_BUFFER_OVERFLOW = 111;
  3430. 3177 (*buffer passed to system call *)
  3431. 3178 (*is too small to hold return *)
  3432. 3179 (*data. *)
  3433. 3180 CONST ERROR_DISK_FULL = 112;
  3434. 3181 (*not enough space on the disk *)
  3435. 3182 (*(DOSNEWSIZE/w_NewSize) *)
  3436. 3183 CONST ERROR_NO_MORE_SEARCH_HANDLES = 113;
  3437. 3184 (*can't allocate another search *)
  3438. 3185 (*structure and handle. *)
  3439. 3186 (*(DOSFINDFIRST/w_FindFirst) *)
  3440. 3187 CONST ERROR_INVALID_TARGET_HANDLE = 114;
  3441. 3188 (*Target handle in DOSDUPHANDLE *)
  3442. 3189 (*is invalid *)
  3443. 3190 CONST ERROR_PROTECTION_VIOLATION = 115;
  3444. 3191 (*Bad user virtual address *)
  3445. 3192 CONST ERROR_VIOKBD_REQUEST = 116;
  3446. 3193
  3447. 3194 CONST ERROR_INVALID_CATEGORY = 117;
  3448. 3195 (*Category for DEVIOCTL in not *)
  3449. 3196 (*defined *)
  3450. 3197 CONST ERROR_INVALID_VERIFY_SWITCH = 118;
  3451. 3198 (*invalid value passed for *)
  3452. 3199 (*verify flag *)
  3453. 3200 CONST ERROR_BAD_DRIVER_LEVEL = 119;
  3454. 3201 (*DosDevIOCTL looks for a level *)
  3455. 3202 (*four driver. If the driver *)
  3456. 3203 (*is not level four we return *)
  3457. 3204 (*this code *)
  3458. 3205 CONST ERROR_CALL_NOT_IMPLEMENTED = 120;
  3459. 3206 (*returned from stub api calls. *)
  3460. 3207 (*This call will disappear when *)
  3461. 3208 (*all the api's are implemented. *)
  3462. 3209 CONST ERROR_SEM_TIMEOUT = 121;
  3463. 3210 (*Time out happened from the *)
  3464. 3211 (*semaphore api functions. *)
  3465. 3212 CONST ERROR_INSUFFICIENT_BUFFER = 122;
  3466. 3213 (*Some calls require the *)
  3467. 3214 (*application to pass in a buffer *)
  3468. 3215 (*filled with data. This error is *)
  3469. 3216 (*returned if the data buffer is too *)
  3470. 3217 (*small. For example: DosSetFileInfo *)
  3471. 3218 (*requires 4 bytes of data. If a *)
  3472. 3219 (*two byte buffer is passed in then *)
  3473. 3220 (* this error is returned. *)
  3474. 3221 (* error_buffer_overflow is used when *)
  3475. 3222 (* the output buffer is not big enough.*)
  3476. 3223 CONST ERROR_INVALID_NAME = 123;
  3477. 3224 (*illegal character or malformed *)
  3478. 3225 (*file system name *)
  3479. 3226 CONST ERROR_INVALID_LEVEL = 124;
  3480. 3227 (*unimplemented level for info *)
  3481. 3228 (*retrieval or setting *)
  3482. 3229 CONST ERROR_NO_VOLUME_LABEL = 125;
  3483. 3230 (*no volume label found with *)
  3484. 3231 (*DosQFSInfo command *)
  3485. 3232 CONST ERROR_MOD_NOT_FOUND = 126;
  3486. 3233 (*w_getprocaddr,w_getmodhandle *)
  3487. 3234 CONST ERROR_PROC_NOT_FOUND = 127;
  3488. 3235 (*w_getprocaddr *)
  3489. 3236 CONST ERROR_WAIT_NO_CHILDREN = 128;
  3490. 3237 (*CWait finds to children *)
  3491. 3238 CONST ERROR_CHILD_NOT_COMPLETE = 129;
  3492. 3239 (*CWait children not dead yet *)
  3493. 3240 CONST ERROR_DIRECT_ACCESS_HANDLE = 130;
  3494. 3241 (*handle operation is invalid *)
  3495. 3242 (*for direct disk access *)
  3496. 3243 (*handles *)
  3497. 3244 CONST ERROR_NEGATIVE_SEEK = 131;
  3498. 3245 (*application tried to seek *)
  3499. 3246 (*with negitive offset *)
  3500. 3247 CONST ERROR_SEEK_ON_DEVICE = 132;
  3501. 3248 (*application tried to seek *)
  3502. 3249 (*on device or pipe *)
  3503. 3250 CONST ERROR_IS_JOIN_TARGET = 133;
  3504. 3251
  3505. 3252 CONST ERROR_IS_JOINED = 134;
  3506. 3253
  3507. 3254 CONST ERROR_IS_SUBSTED = 135;
  3508. 3255
  3509. 3256 CONST ERROR_NOT_JOINED = 136;
  3510. 3257
  3511. 3258 CONST ERROR_NOT_SUBSTED = 137;
  3512. 3259
  3513. 3260 CONST ERROR_JOIN_TO_JOIN = 138;
  3514. 3261
  3515. 3262 CONST ERROR_SUBST_TO_SUBST = 139;
  3516. 3263
  3517. 3264 CONST ERROR_JOIN_TO_SUBST = 140;
  3518. 3265
  3519. 3266 CONST ERROR_SUBST_TO_JOIN = 141;
  3520. 3267
  3521. 3268 CONST ERROR_BUSY_DRIVE = 142;
  3522. 3269
  3523. 3270 CONST ERROR_SAME_DRIVE = 143;
  3524. 3271
  3525. 3272 CONST ERROR_DIR_NOT_ROOT = 144;
  3526. 3273
  3527. 3274 CONST ERROR_DIR_NOT_EMPTY = 145;
  3528. 3275
  3529. 3276 CONST ERROR_IS_SUBST_PATH = 146;
  3530. 3277
  3531. 3278 CONST ERROR_IS_JOIN_PATH = 147;
  3532. 3279
  3533. 3280 CONST ERROR_PATH_BUSY = 148;
  3534. 3281
  3535. 3282 CONST ERROR_IS_SUBST_TARGET = 149;
  3536. 3283
  3537. 3284 CONST ERROR_SYSTEM_TRACE = 150;
  3538. 3285 (*system trace error *)
  3539. 3286 CONST ERROR_INVALID_EVENT_COUNT = 151;
  3540. 3287 (*DosMuxSemWait errors *)
  3541. 3288 CONST ERROR_TOO_MANY_MUXWAITERS = 152;
  3542. 3289
  3543. 3290 CONST ERROR_INVALID_LIST_FORMAT = 153;
  3544. 3291
  3545. 3292 CONST ERROR_LABEL_TOO_LONG = 154;
  3546. 3293
  3547. 3294 CONST ERROR_TOO_MANY_TCBS = 155;
  3548. 3295
  3549. 3296 CONST ERROR_SIGNAL_REFUSED = 156;
  3550. 3297
  3551. 3298 CONST ERROR_DISCARDED = 157;
  3552. 3299
  3553. 3300 CONST ERROR_NOT_LOCKED = 158;
  3554. 3301
  3555. 3302 CONST ERROR_BAD_THREADID_ADDR = 159;
  3556. 3303
  3557. 3304 CONST ERROR_BAD_ARGUMENTS = 160;
  3558. 3305
  3559. 3306 CONST ERROR_BAD_PATHNAME = 161;
  3560. 3307
  3561. 3308 CONST ERROR_SIGNAL_PENDING = 162;
  3562. 3309
  3563. 3310 CONST ERROR_UNCERTAIN_MEDIA = 163;
  3564. 3311
  3565. 3312 CONST ERROR_MAX_THRDS_REACHED = 164;
  3566. 3313
  3567. 3314 CONST ERROR_MONITORS_NOT_SUPPORTED = 165;
  3568. 3315
  3569. 3316 CONST ERROR_UNC_DRIVER_NOT_INSTALLED = 166;
  3570. 3317
  3571. 3318
  3572. 3319 (* The following error codes refer to demand loading segments *)
  3573. 3320 CONST ERROR_LOCK_FAILED = 167;
  3574. 3321
  3575. 3322 CONST ERROR_SWAPIO_FAILED = 168;
  3576. 3323
  3577. 3324 CONST ERROR_SWAPIN_FAILED = 169;
  3578. 3325
  3579. 3326 CONST ERROR_BUSY = 170;
  3580. 3327
  3581. 3328 CONST ERROR_INVALID_SEGMENT_NUMBER = 180;
  3582. 3329
  3583. 3330 CONST ERROR_INVALID_CALLGATE = 181;
  3584. 3331
  3585. 3332 CONST ERROR_INVALID_ORDINAL = 182;
  3586. 3333
  3587. 3334 CONST ERROR_ALREADY_EXISTS = 183;
  3588. 3335
  3589. 3336 CONST ERROR_NO_CHILD_PROCESS = 184;
  3590. 3337
  3591. 3338 CONST ERROR_CHILD_ALIVE_NOWAIT = 185;
  3592. 3339
  3593. 3340 CONST ERROR_INVALID_FLAG_NUMBER = 186;
  3594. 3341
  3595. 3342 CONST ERROR_SEM_NOT_FOUND = 187;
  3596. 3343
  3597. 3344
  3598. 3345 (*following error codes make loader error messages distinct *)
  3599. 3346 CONST ERROR_INVALID_STARTING_CODESEG = 188;
  3600. 3347
  3601. 3348 CONST ERROR_INVALID_STACKSEG = 189;
  3602. 3349
  3603. 3350 CONST ERROR_INVALID_MODULETYPE = 190;
  3604. 3351
  3605. 3352 CONST ERROR_INVALID_EXE_SIGNATURE = 191;
  3606. 3353
  3607. 3354 CONST ERROR_EXE_MARKED_INVALID = 192;
  3608. 3355
  3609. 3356 CONST ERROR_BAD_EXE_FORMAT = 193;
  3610. 3357
  3611. 3358 CONST ERROR_ITERATED_DATA_EXCEEDS_64K = 194;
  3612. 3359
  3613. 3360 CONST ERROR_INVALID_MINALLOCSIZE = 195;
  3614. 3361
  3615. 3362 CONST ERROR_DYNLINK_FROM_INVALID_RING = 196;
  3616. 3363
  3617. 3364 CONST ERROR_IOPL_NOT_ENABLED = 197;
  3618. 3365
  3619. 3366 CONST ERROR_INVALID_SEGDPL = 198;
  3620. 3367
  3621. 3368 CONST ERROR_AUTODATASEG_EXCEEDS_64k = 199;
  3622. 3369
  3623. 3370 CONST ERROR_RING2SEG_MUST_BE_MOVABLE = 200;
  3624. 3371
  3625. 3372 CONST ERROR_RELOC_CHAIN_XEEDS_SEGLIM = 201;
  3626. 3373
  3627. 3374 CONST ERROR_INFLOOP_IN_RELOC_CHAIN = 202;
  3628. 3375
  3629. 3376 CONST ERROR_ENVVAR_NOT_FOUND = 203;
  3630. 3377
  3631. 3378 CONST ERROR_NOT_CURRENT_CTRY = 204;
  3632. 3379
  3633. 3380 CONST ERROR_NO_SIGNAL_SENT = 205;
  3634. 3381
  3635. 3382 CONST ERROR_FILENAME_EXCED_RANGE = 206;
  3636. 3383 (*if filename > 8.3 *)
  3637. 3384 CONST ERROR_RING2_STACK_IN_USE = 207;
  3638. 3385 (*for FAPI *)
  3639. 3386 CONST ERROR_META_EXPANSION_TOO_LONG = 208;
  3640. 3387 (*if "*a" > 8.3 *)
  3641. 3388 CONST ERROR_INVALID_SIGNAL_NUMBER = 209;
  3642. 3389
  3643. 3390 CONST ERROR_THREAD_1_INACTIVE = 210;
  3644. 3391
  3645. 3392 CONST ERROR_INFO_NOT_AVAIL = 211;
  3646. 3393
  3647. 3394 CONST ERROR_LOCKED = 212;
  3648. 3395
  3649. 3396 CONST ERROR_BAD_DYNALINK = 213;
  3650. 3397
  3651. 3398 CONST ERROR_TOO_MANY_MODULES = 214;
  3652. 3399
  3653. 3400 CONST ERROR_NESTING_NOT_ALLOWED = 215;
  3654. 3401
  3655. 3402 CONST ERROR_CANNOT_SHRINK = 216;
  3656. 3403 (*attempt to shrink ring 2 stack *)
  3657. 3404 CONST ERROR_ZOMBIE_PROCESS = 217;
  3658. 3405
  3659. 3406 CONST ERROR_STACK_IN_HIGH_MEMORY = 218;
  3660. 3407
  3661. 3408 CONST ERROR_INVALID_EXITROUTINE_RING = 219;
  3662. 3409
  3663. 3410 CONST ERROR_GETBUF_FAILED = 220;
  3664. 3411
  3665. 3412 CONST ERROR_FLUSHBUF_FAILED = 221;
  3666. 3413
  3667. 3414 CONST ERROR_TRANSFER_TOO_LONG = 222;
  3668. 3415
  3669. 3416 CONST ERROR_NO_CHILDREN = 228;
  3670. 3417
  3671. 3418 CONST ERROR_INVALID_SCREEN_GROUP = 229;
  3672. 3419
  3673. 3420
  3674. 3421 (*
  3675. 3422 * Error codes 230 - 249 are reserved
  3676. 3423 *)
  3677. 3424 CONST ERROR_BAD_PIPE = 230;
  3678. 3425 (*Non-existant pipe or bad operation *)
  3679. 3426 CONST ERROR_PIPE_BUSY = 231;
  3680. 3427 (*Pipe is busy *)
  3681. 3428 CONST ERROR_NO_DATA = 232;
  3682. 3429 (*No data on non-blocking read *)
  3683. 3430 CONST ERROR_PIPE_NOT_CONNECTED = 233;
  3684. 3431 (*Pipe was disconnected by server*)
  3685. 3432 CONST ERROR_MORE_DATA = 234;
  3686. 3433 (*More data is available *)
  3687. 3434 CONST ERROR_VC_DISCONNECTED = 240;
  3688. 3435
  3689. 3436 CONST ERROR_CIRCULARITY_REQUESTED = 250;
  3690. 3437 (*When renaming a dir which *)
  3691. 3438 (*would cause a circularity *)
  3692. 3439 CONST ERROR_DIRECTORY_IN_CDS = 251;
  3693. 3440 (*When renaming a dir *)
  3694. 3441 (*which is "in use" *)
  3695. 3442 CONST ERROR_INVALID_FSD_NAME = 252;
  3696. 3443 (*when trying to access *)
  3697. 3444 (*nonexistent FSD *)
  3698. 3445 CONST ERROR_INVALID_PATH = 253;
  3699. 3446 (*bad pseudo device *)
  3700. 3447 CONST ERROR_INVALID_EA_NAME = 254;
  3701. 3448 (*Illegal chars in name *)
  3702. 3449 CONST ERROR_EA_LIST_INCONSISTENT = 255;
  3703. 3450 (*Size or some field bad *)
  3704. 3451 CONST ERROR_EA_LIST_TOO_LONG = 256;
  3705. 3452 (*FEAlist > 64K-1 bytes *)
  3706. 3453 CONST ERROR_NO_META_MATCH = 257;
  3707. 3454 (*string doesn't match expression*)
  3708. 3455 CONST ERROR_FINDNOTIFY_TIMEOUT = 258;
  3709. 3456 (*FindNotify request timeout *)
  3710. 3457 CONST ERROR_NO_MORE_ITEMS = 259;
  3711. 3458 (*QFSAttach ordinal query *)
  3712. 3459 CONST ERROR_SEARCH_STRUC_REUSED = 260;
  3713. 3460 (*3xbox findfirst/next search structure reused *)
  3714. 3461 CONST ERROR_CHAR_NOT_FOUND = 261;
  3715. 3462 (*can not find character *)
  3716. 3463 CONST ERROR_TOO_MUCH_STACK = 262;
  3717. 3464 (*Stack request exceeds sys limit*)
  3718. 3465 CONST ERROR_INVALID_ATTR = 263;
  3719. 3466 (*invalid FS_ATTRIBUTE *)
  3720. 3467 CONST ERROR_INVALID_STARTING_RING = 264;
  3721. 3468
  3722. 3469 CONST ERROR_INVALID_DLL_INIT_RING = 265;
  3723. 3470
  3724. 3471 CONST ERROR_CANNOT_COPY = 266;
  3725. 3472 (*doscopy *)
  3726. 3473 CONST ERROR_DIRECTORY = 267;
  3727. 3474 (*doscopy *)
  3728. 3475 CONST ERROR_OPLOCKED_FILE = 268;
  3729. 3476
  3730. 3477 CONST ERROR_OPLOCK_THREAD_EXISTS = 269;
  3731. 3478
  3732. 3479
  3733. 3480 (*error codes for DosFindNotify *)
  3734. 3481 CONST ERROR_VOLUME_CHANGED = 270;
  3735. 3482
  3736. 3483 CONST ERROR_FINDNOTIFY_HANDLE_IN_USE = 271;
  3737. 3484
  3738. 3485 CONST ERROR_FINDNOTIFY_HANDLE_CLOSED = 272;
  3739. 3486
  3740. 3487 CONST ERROR_NOTIFY_OBJECT_REMOVED = 273;
  3741. 3488
  3742. 3489
  3743. 3490 (*Error to indicate that ShutDown already done *)
  3744. 3491 CONST ERROR_ALREADY_SHUTDOWN = 274;
  3745. 3492
  3746. 3493
  3747. 3494 (*error code for DOSFINDFIRST2/NEXT *)
  3748. 3495 CONST ERROR_EAS_DIDNT_FIT = 275;
  3749. 3496
  3750. 3497
  3751. 3498 (*error codes for EA file format change *)
  3752. 3499 CONST ERROR_EA_FILE_CORRUPT = 276;
  3753. 3500
  3754. 3501 CONST ERROR_EA_TABLE_FULL = 277;
  3755. 3502
  3756. 3503 CONST ERROR_INVALID_EA_HANDLE = 278;
  3757. 3504
  3758. 3505 CONST ERROR_NO_CLUSTER = 279;
  3759. 3506
  3760. 3507 CONST ERROR_CREATE_EA_FILE = 280;
  3761. 3508
  3762. 3509 CONST ERROR_CANNOT_OPEN_EA_FILE = 281;
  3763. 3510
  3764. 3511 CONST ERROR_INVALID_PROCID = 303;
  3765. 3512
  3766. 3513 CONST ERROR_INVALID_PDELTA = 304;
  3767. 3514
  3768. 3515 CONST ERROR_NOT_DESCENDANT = 305;
  3769. 3516
  3770. 3517 CONST ERROR_NOT_SESSION_MANAGER = 306;
  3771. 3518
  3772. 3519 CONST ERROR_INVALID_PCLASS = 307;
  3773. 3520
  3774. 3521 CONST ERROR_INVALID_SCOPE = 308;
  3775. 3522
  3776. 3523 CONST ERROR_INVALID_THREADID = 309;
  3777. 3524
  3778. 3525 CONST ERROR_DOSSUB_SHRINK = 310;
  3779. 3526
  3780. 3527 CONST ERROR_DOSSUB_NOMEM = 311;
  3781. 3528
  3782. 3529 CONST ERROR_DOSSUB_OVERLAP = 312;
  3783. 3530
  3784. 3531 CONST ERROR_DOSSUB_BADSIZE = 313;
  3785. 3532
  3786. 3533 CONST ERROR_DOSSUB_BADFLAG = 314;
  3787. 3534
  3788. 3535 CONST ERROR_DOSSUB_BADSELECTOR = 315;
  3789. 3536
  3790. 3537 CONST ERROR_MR_MSG_TOO_LONG = 316;
  3791. 3538
  3792. 3539 CONST ERROR_MR_MID_NOT_FOUND = 317;
  3793. 3540
  3794. 3541 CONST ERROR_MR_UN_ACC_MSGF = 318;
  3795. 3542
  3796. 3543 CONST ERROR_MR_INV_MSGF_FORMAT = 319;
  3797. 3544
  3798. 3545 CONST ERROR_MR_INV_IVCOUNT = 320;
  3799. 3546
  3800. 3547 CONST ERROR_MR_UN_PERFORM = 321;
  3801. 3548
  3802. 3549 CONST ERROR_TS_WAKEUP = 322;
  3803. 3550
  3804. 3551 CONST ERROR_TS_SEMHANDLE = 323;
  3805. 3552
  3806. 3553 CONST ERROR_TS_NOTIMER = 324;
  3807. 3554
  3808. 3555 CONST ERROR_TS_HANDLE = 326;
  3809. 3556
  3810. 3557 CONST ERROR_TS_DATETIME = 327;
  3811. 3558
  3812. 3559 CONST ERROR_SYS_INTERNAL = 328;
  3813. 3560
  3814. 3561 CONST ERROR_QUE_CURRENT_NAME = 329;
  3815. 3562
  3816. 3563 CONST ERROR_QUE_PROC_NOT_OWNED = 330;
  3817. 3564
  3818. 3565 CONST ERROR_QUE_PROC_OWNED = 331;
  3819. 3566
  3820. 3567 CONST ERROR_QUE_DUPLICATE = 332;
  3821. 3568
  3822. 3569 CONST ERROR_QUE_ELEMENT_NOT_EXIST = 333;
  3823. 3570
  3824. 3571 CONST ERROR_QUE_NO_MEMORY = 334;
  3825. 3572
  3826. 3573 CONST ERROR_QUE_INVALID_NAME = 335;
  3827. 3574
  3828. 3575 CONST ERROR_QUE_INVALID_PRIORITY = 336;
  3829. 3576
  3830. 3577 CONST ERROR_QUE_INVALID_HANDLE = 337;
  3831. 3578
  3832. 3579 CONST ERROR_QUE_LINK_NOT_FOUND = 338;
  3833. 3580
  3834. 3581 CONST ERROR_QUE_MEMORY_ERROR = 339;
  3835. 3582
  3836. 3583 CONST ERROR_QUE_PREV_AT_END = 340;
  3837. 3584
  3838. 3585 CONST ERROR_QUE_PROC_NO_ACCESS = 341;
  3839. 3586
  3840. 3587 CONST ERROR_QUE_EMPTY = 342;
  3841. 3588
  3842. 3589 CONST ERROR_QUE_NAME_NOT_EXIST = 343;
  3843. 3590
  3844. 3591 CONST ERROR_QUE_NOT_INITIALIZED = 344;
  3845. 3592
  3846. 3593 CONST ERROR_QUE_UNABLE_TO_ACCESS = 345;
  3847. 3594
  3848. 3595 CONST ERROR_QUE_UNABLE_TO_ADD = 346;
  3849. 3596
  3850. 3597 CONST ERROR_QUE_UNABLE_TO_INIT = 347;
  3851. 3598
  3852. 3599 CONST ERROR_VIO_INVALID_MASK = 349;
  3853. 3600
  3854. 3601 CONST ERROR_VIO_PTR = 350;
  3855. 3602
  3856. 3603 CONST ERROR_VIO_APTR = 351;
  3857. 3604
  3858. 3605 CONST ERROR_VIO_RPTR = 352;
  3859. 3606
  3860. 3607 CONST ERROR_VIO_CPTR = 353;
  3861. 3608
  3862. 3609 CONST ERROR_VIO_LPTR = 354;
  3863. 3610
  3864. 3611 CONST ERROR_VIO_MODE = 355;
  3865. 3612
  3866. 3613 CONST ERROR_VIO_WIDTH = 356;
  3867. 3614
  3868. 3615 CONST ERROR_VIO_ATTR = 357;
  3869. 3616
  3870. 3617 CONST ERROR_VIO_ROW = 358;
  3871. 3618
  3872. 3619 CONST ERROR_VIO_COL = 359;
  3873. 3620
  3874. 3621 CONST ERROR_VIO_TOPROW = 360;
  3875. 3622
  3876. 3623 CONST ERROR_VIO_BOTROW = 361;
  3877. 3624
  3878. 3625 CONST ERROR_VIO_RIGHTCOL = 362;
  3879. 3626
  3880. 3627 CONST ERROR_VIO_LEFTCOL = 363;
  3881. 3628
  3882. 3629 CONST ERROR_SCS_CALL = 364;
  3883. 3630
  3884. 3631 CONST ERROR_SCS_VALUE = 365;
  3885. 3632
  3886. 3633 CONST ERROR_VIO_WAIT_FLAG = 366;
  3887. 3634
  3888. 3635 CONST ERROR_VIO_UNLOCK = 367;
  3889. 3636
  3890. 3637 CONST ERROR_SGS_NOT_SESSION_MGR = 368;
  3891. 3638
  3892. 3639 CONST ERROR_SMG_INVALID_SGID = 369;
  3893. 3640
  3894. 3641 CONST ERROR_SMG_INVALID_SESSION_ID = 369;
  3895. 3642
  3896. 3643 CONST ERROR_SMG_NOSG = 370;
  3897. 3644
  3898. 3645 CONST ERROR_SMG_NO_SESSIONS = 370;
  3899. 3646
  3900. 3647 CONST ERROR_SMG_GRP_NOT_FOUND = 371;
  3901. 3648
  3902. 3649 CONST ERROR_SMG_SESSION_NOT_FOUND = 371;
  3903. 3650
  3904. 3651 CONST ERROR_SMG_SET_TITLE = 372;
  3905. 3652
  3906. 3653 CONST ERROR_KBD_PARAMETER = 373;
  3907. 3654
  3908. 3655 CONST ERROR_KBD_NO_DEVICE = 374;
  3909. 3656
  3910. 3657 CONST ERROR_KBD_INVALID_IOWAIT = 375;
  3911. 3658
  3912. 3659 CONST ERROR_KBD_INVALID_LENGTH = 376;
  3913. 3660
  3914. 3661 CONST ERROR_KBD_INVALID_ECHO_MASK = 377;
  3915. 3662
  3916. 3663 CONST ERROR_KBD_INVALID_INPUT_MASK = 378;
  3917. 3664
  3918. 3665 CONST ERROR_MON_INVALID_PARMS = 379;
  3919. 3666
  3920. 3667 CONST ERROR_MON_INVALID_DEVNAME = 380;
  3921. 3668
  3922. 3669 CONST ERROR_MON_INVALID_HANDLE = 381;
  3923. 3670
  3924. 3671 CONST ERROR_MON_BUFFER_TOO_SMALL = 382;
  3925. 3672
  3926. 3673 CONST ERROR_MON_BUFFER_EMPTY = 383;
  3927. 3674
  3928. 3675 CONST ERROR_MON_DATA_TOO_LARGE = 384;
  3929. 3676
  3930. 3677 CONST ERROR_MOUSE_NO_DEVICE = 385;
  3931. 3678
  3932. 3679 CONST ERROR_MOUSE_INV_HANDLE = 386;
  3933. 3680
  3934. 3681 CONST ERROR_MOUSE_INV_PARMS = 387;
  3935. 3682
  3936. 3683 CONST ERROR_MOUSE_CANT_RESET = 388;
  3937. 3684
  3938. 3685 CONST ERROR_MOUSE_DISPLAY_PARMS = 389;
  3939. 3686
  3940. 3687 CONST ERROR_MOUSE_INV_MODULE = 390;
  3941. 3688
  3942. 3689 CONST ERROR_MOUSE_INV_ENTRY_PT = 391;
  3943. 3690
  3944. 3691 CONST ERROR_MOUSE_INV_MASK = 392;
  3945. 3692
  3946. 3693 CONST NO_ERROR_MOUSE_NO_DATA = 393;
  3947. 3694
  3948. 3695 CONST NO_ERROR_MOUSE_PTR_DRAWN = 394;
  3949. 3696
  3950. 3697 CONST ERROR_INVALID_FREQUENCY = 395;
  3951. 3698
  3952. 3699 CONST ERROR_NLS_NO_COUNTRY_FILE = 396;
  3953. 3700
  3954. 3701 CONST ERROR_NLS_OPEN_FAILED = 397;
  3955. 3702
  3956. 3703 CONST ERROR_NLS_NO_CTRY_CODE = 398;
  3957. 3704
  3958. 3705 CONST ERROR_NO_COUNTRY_OR_CODEPAGE = 398;
  3959. 3706
  3960. 3707 CONST ERROR_NLS_TABLE_TRUNCATED = 399;
  3961. 3708
  3962. 3709 CONST ERROR_NLS_BAD_TYPE = 400;
  3963. 3710
  3964. 3711 CONST ERROR_NLS_TYPE_NOT_FOUND = 401;
  3965. 3712
  3966. 3713 CONST ERROR_VIO_SMG_ONLY = 402;
  3967. 3714
  3968. 3715 CONST ERROR_VIO_INVALID_ASCIIZ = 403;
  3969. 3716
  3970. 3717 CONST ERROR_VIO_DEREGISTER = 404;
  3971. 3718
  3972. 3719 CONST ERROR_VIO_NO_POPUP = 405;
  3973. 3720
  3974. 3721 CONST ERROR_VIO_EXISTING_POPUP = 406;
  3975. 3722
  3976. 3723 CONST ERROR_KBD_SMG_ONLY = 407;
  3977. 3724
  3978. 3725 CONST ERROR_KBD_INVALID_ASCIIZ = 408;
  3979. 3726
  3980. 3727 CONST ERROR_KBD_INVALID_MASK = 409;
  3981. 3728
  3982. 3729 CONST ERROR_KBD_REGISTER = 410;
  3983. 3730
  3984. 3731 CONST ERROR_KBD_DEREGISTER = 411;
  3985. 3732
  3986. 3733 CONST ERROR_MOUSE_SMG_ONLY = 412;
  3987. 3734
  3988. 3735 CONST ERROR_MOUSE_INVALID_ASCIIZ = 413;
  3989. 3736
  3990. 3737 CONST ERROR_MOUSE_INVALID_MASK = 414;
  3991. 3738
  3992. 3739 CONST ERROR_MOUSE_REGISTER = 415;
  3993. 3740
  3994. 3741 CONST ERROR_MOUSE_DEREGISTER = 416;
  3995. 3742
  3996. 3743 CONST ERROR_SMG_BAD_ACTION = 417;
  3997. 3744
  3998. 3745 CONST ERROR_SMG_INVALID_CALL = 418;
  3999. 3746
  4000. 3747 CONST ERROR_SCS_SG_NOTFOUND = 419;
  4001. 3748
  4002. 3749 CONST ERROR_SCS_NOT_SHELL = 420;
  4003. 3750
  4004. 3751 CONST ERROR_VIO_INVALID_PARMS = 421;
  4005. 3752
  4006. 3753 CONST ERROR_VIO_FUNCTION_OWNED = 422;
  4007. 3754
  4008. 3755 CONST ERROR_VIO_RETURN = 423;
  4009. 3756
  4010. 3757 CONST ERROR_SCS_INVALID_FUNCTION = 424;
  4011. 3758
  4012. 3759 CONST ERROR_SCS_NOT_SESSION_MGR = 425;
  4013. 3760
  4014. 3761 CONST ERROR_VIO_REGISTER = 426;
  4015. 3762
  4016. 3763 CONST ERROR_VIO_NO_MODE_THREAD = 427;
  4017. 3764
  4018. 3765 CONST ERROR_VIO_NO_SAVE_RESTORE_THD = 428;
  4019. 3766
  4020. 3767 CONST ERROR_VIO_IN_BG = 429;
  4021. 3768
  4022. 3769 CONST ERROR_VIO_ILLEGAL_DURING_POPUP = 430;
  4023. 3770
  4024. 3771 CONST ERROR_SMG_NOT_BASESHELL = 431;
  4025. 3772
  4026. 3773 CONST ERROR_SMG_BAD_STATUSREQ = 432;
  4027. 3774
  4028. 3775 CONST ERROR_QUE_INVALID_WAIT = 433;
  4029. 3776
  4030. 3777 CONST ERROR_VIO_LOCK = 434;
  4031. 3778
  4032. 3779 CONST ERROR_MOUSE_INVALID_IOWAIT = 435;
  4033. 3780
  4034. 3781 CONST ERROR_VIO_INVALID_HANDLE = 436;
  4035. 3782
  4036. 3783 CONST ERROR_VIO_ILLEGAL_DURING_LOCK = 437;
  4037. 3784
  4038. 3785 CONST ERROR_VIO_INVALID_LENGTH = 438;
  4039. 3786
  4040. 3787 CONST ERROR_KBD_INVALID_HANDLE = 439;
  4041. 3788
  4042. 3789 CONST ERROR_KBD_NO_MORE_HANDLE = 440;
  4043. 3790
  4044. 3791 CONST ERROR_KBD_CANNOT_CREATE_KCB = 441;
  4045. 3792
  4046. 3793 CONST ERROR_KBD_CODEPAGE_LOAD_INCOMPL = 442;
  4047. 3794
  4048. 3795 CONST ERROR_KBD_INVALID_CODEPAGE_ID = 443;
  4049. 3796
  4050. 3797 CONST ERROR_KBD_NO_CODEPAGE_SUPPORT = 444;
  4051. 3798
  4052. 3799 CONST ERROR_KBD_FOCUS_REQUIRED = 445;
  4053. 3800
  4054. 3801 CONST ERROR_KBD_FOCUS_ALREADY_ACTIVE = 446;
  4055. 3802
  4056. 3803 CONST ERROR_KBD_KEYBOARD_BUSY = 447;
  4057. 3804
  4058. 3805 CONST ERROR_KBD_INVALID_CODEPAGE = 448;
  4059. 3806
  4060. 3807 CONST ERROR_KBD_UNABLE_TO_FOCUS = 449;
  4061. 3808
  4062. 3809 CONST ERROR_SMG_SESSION_NON_SELECT = 450;
  4063. 3810
  4064. 3811 CONST ERROR_SMG_SESSION_NOT_FOREGRND = 451;
  4065. 3812
  4066. 3813 CONST ERROR_SMG_SESSION_NOT_PARENT = 452;
  4067. 3814
  4068. 3815 CONST ERROR_SMG_INVALID_START_MODE = 453;
  4069. 3816
  4070. 3817 CONST ERROR_SMG_INVALID_RELATED_OPT = 454;
  4071. 3818
  4072. 3819 CONST ERROR_SMG_INVALID_BOND_OPTION = 455;
  4073. 3820
  4074. 3821 CONST ERROR_SMG_INVALID_SELECT_OPT = 456;
  4075. 3822
  4076. 3823 CONST ERROR_SMG_START_IN_BACKGROUND = 457;
  4077. 3824
  4078. 3825 CONST ERROR_SMG_INVALID_STOP_OPTION = 458;
  4079. 3826
  4080. 3827 CONST ERROR_SMG_BAD_RESERVE = 459;
  4081. 3828
  4082. 3829 CONST ERROR_SMG_PROCESS_NOT_PARENT = 460;
  4083. 3830
  4084. 3831 CONST ERROR_SMG_INVALID_DATA_LENGTH = 461;
  4085. 3832
  4086. 3833 CONST ERROR_SMG_NOT_BOUND = 462;
  4087. 3834
  4088. 3835 CONST ERROR_SMG_RETRY_SUB_ALLOC = 463;
  4089. 3836
  4090. 3837 CONST ERROR_KBD_DETACHED = 464;
  4091. 3838
  4092. 3839 CONST ERROR_VIO_DETACHED = 465;
  4093. 3840
  4094. 3841 CONST ERROR_MOU_DETACHED = 466;
  4095. 3842
  4096. 3843 CONST ERROR_VIO_FONT = 467;
  4097. 3844
  4098. 3845 CONST ERROR_VIO_USER_FONT = 468;
  4099. 3846
  4100. 3847 CONST ERROR_VIO_BAD_CP = 469;
  4101. 3848
  4102. 3849 CONST ERROR_VIO_NO_CP = 470;
  4103. 3850
  4104. 3851 CONST ERROR_VIO_NA_CP = 471;
  4105. 3852
  4106. 3853 CONST ERROR_INVALID_CODE_PAGE = 472;
  4107. 3854
  4108. 3855 CONST ERROR_CPLIST_TOO_SMALL = 473;
  4109. 3856
  4110. 3857 CONST ERROR_CP_NOT_MOVED = 474;
  4111. 3858
  4112. 3859 CONST ERROR_MODE_SWITCH_INIT = 475;
  4113. 3860
  4114. 3861 CONST ERROR_CODE_PAGE_NOT_FOUND = 476;
  4115. 3862
  4116. 3863 CONST ERROR_UNEXPECTED_SLOT_RETURNED = 477;
  4117. 3864
  4118. 3865 CONST ERROR_SMG_INVALID_TRACE_OPTION = 478;
  4119. 3866
  4120. 3867 CONST ERROR_VIO_INTERNAL_RESOURCE = 479;
  4121. 3868
  4122. 3869 CONST ERROR_VIO_SHELL_INIT = 480;
  4123. 3870
  4124. 3871 CONST ERROR_SMG_NO_HARD_ERRORS = 481;
  4125. 3872
  4126. 3873 CONST ERROR_CP_SWITCH_INCOMPLETE = 482;
  4127. 3874
  4128. 3875 CONST ERROR_VIO_TRANSPARENT_POPUP = 483;
  4129. 3876
  4130. 3877 CONST ERROR_CRITSEC_OVERFLOW = 484;
  4131. 3878
  4132. 3879 CONST ERROR_CRITSEC_UNDERFLOW = 485;
  4133. 3880
  4134. 3881 CONST ERROR_VIO_BAD_RESERVE = 486;
  4135. 3882
  4136. 3883 CONST ERROR_INVALID_ADDRESS = 487;
  4137. 3884
  4138. 3885 CONST ERROR_ZERO_SELECTORS_REQUESTED = 488;
  4139. 3886
  4140. 3887 CONST ERROR_NOT_ENOUGH_SELECTORS_AVA = 489;
  4141. 3888
  4142. 3889 CONST ERROR_INVALID_SELECTOR = 490;
  4143. 3890
  4144. 3891 CONST ERROR_SMG_INVALID_PROGRAM_TYPE = 491;
  4145. 3892
  4146. 3893 CONST ERROR_SMG_INVALID_PGM_CONTROL = 492;
  4147. 3894
  4148. 3895 CONST ERROR_SMG_INVALID_INHERIT_OPT = 493;
  4149. 3896
  4150. 3897 CONST ERROR_VIO_EXTENDED_SG = 494;
  4151. 3898
  4152. 3899 CONST ERROR_VIO_NOT_PRES_MGR_SG = 495;
  4153. 3900
  4154. 3901 CONST ERROR_VIO_SHIELD_OWNED = 496;
  4155. 3902
  4156. 3903 CONST ERROR_VIO_NO_MORE_HANDLES = 497;
  4157. 3904
  4158. 3905 CONST ERROR_VIO_SEE_ERROR_LOG = 498;
  4159. 3906
  4160. 3907 CONST ERROR_VIO_ASSOCIATED_DC = 499;
  4161. 3908
  4162. 3909 CONST ERROR_KBD_NO_CONSOLE = 500;
  4163. 3910
  4164. 3911 CONST ERROR_MOUSE_NO_CONSOLE = 501;
  4165. 3912
  4166. 3913 CONST ERROR_MOUSE_INVALID_HANDLE = 502;
  4167. 3914
  4168. 3915 CONST ERROR_SMG_INVALID_DEBUG_PARMS = 503;
  4169. 3916
  4170. 3917 CONST ERROR_KBD_EXTENDED_SG = 504;
  4171. 3918
  4172. 3919 CONST ERROR_MOU_EXTENDED_SG = 505;
  4173. 3920
  4174. 3921 CONST ERROR_SMG_INVALID_ICON_FILE = 506;
  4175. 3922
  4176. 3923 CONST ERROR_USER_DEFINED_BASE = 0FF00H;
  4177. 3924
  4178. 3925 CONST ERROR_I24_WRITE_PROTECT = 0;
  4179. 3926
  4180. 3927 CONST ERROR_I24_BAD_UNIT = 1;
  4181. 3928
  4182. 3929 CONST ERROR_I24_NOT_READY = 2;
  4183. 3930
  4184. 3931 CONST ERROR_I24_BAD_COMMAND = 3;
  4185. 3932
  4186. 3933 CONST ERROR_I24_CRC = 4;
  4187. 3934
  4188. 3935 CONST ERROR_I24_BAD_LENGTH = 5;
  4189. 3936
  4190. 3937 CONST ERROR_I24_SEEK = 6;
  4191. 3938
  4192. 3939 CONST ERROR_I24_NOT_DOS_DISK = 7;
  4193. 3940
  4194. 3941 CONST ERROR_I24_SECTOR_NOT_FOUND = 8;
  4195. 3942
  4196. 3943 CONST ERROR_I24_OUT_OF_PAPER = 9;
  4197. 3944
  4198. 3945 CONST ERROR_I24_WRITE_FAULT = 10;
  4199. 3946
  4200. 3947 CONST ERROR_I24_READ_FAULT = 11;
  4201. 3948
  4202. 3949 CONST ERROR_I24_GEN_FAILURE = 12;
  4203. 3950
  4204. 3951 CONST ERROR_I24_DISK_CHANGE = 13;
  4205. 3952
  4206. 3953 CONST ERROR_I24_WRONG_DISK = 15;
  4207. 3954
  4208. 3955 CONST ERROR_I24_UNCERTAIN_MEDIA = 16;
  4209. 3956
  4210. 3957 CONST ERROR_I24_CHAR_CALL_INTERRUPTED = 17;
  4211. 3958
  4212. 3959 CONST ERROR_I24_NO_MONITOR_SUPPORT = 18;
  4213. 3960
  4214. 3961 CONST ERROR_I24_INVALID_PARAMETER = 19;
  4215. 3962
  4216. 3963 CONST ERROR_I24_DEVICE_IN_USE = 20;
  4217. 3964
  4218. 3965 CONST ALLOWED_FAIL = 0001H;
  4219. 3966
  4220. 3967 CONST ALLOWED_ABORT = 0002H;
  4221. 3968
  4222. 3969 CONST ALLOWED_RETRY = 0004H;
  4223. 3970
  4224. 3971 CONST ALLOWED_IGNORE = 0008H;
  4225. 3972
  4226. 3973 CONST ALLOWED_ACKNOWLEDGE = 0010H;
  4227. 3974
  4228. 3975 CONST ALLOWED_DISPATCH = 8000H;
  4229. 3976
  4230. 3977 CONST I24_OPERATION = 01H;
  4231. 3978
  4232. 3979 CONST I24_AREA = 06H;
  4233. 3980
  4234. 3981 CONST I24_CLASS = 80H;
  4235. 3982
  4236. 3983
  4237. 3984 (*Values for error CLASS *)
  4238. 3985 CONST ERRCLASS_OUTRES = 1;
  4239. 3986 (*Out of Resource *)
  4240. 3987 CONST ERRCLASS_TEMPSIT = 2;
  4241. 3988 (*Temporary Situation *)
  4242. 3989 CONST ERRCLASS_AUTH = 3;
  4243. 3990 (*Permission problem *)
  4244. 3991 CONST ERRCLASS_INTRN = 4;
  4245. 3992 (*Internal System Error *)
  4246. 3993 CONST ERRCLASS_HRDFAIL = 5;
  4247. 3994 (*Hardware Failure *)
  4248. 3995 CONST ERRCLASS_SYSFAIL = 6;
  4249. 3996 (*System Failure *)
  4250. 3997 CONST ERRCLASS_APPERR = 7;
  4251. 3998 (*Application Error *)
  4252. 3999 CONST ERRCLASS_NOTFND = 8;
  4253. 4000 (*Not Found *)
  4254. 4001 CONST ERRCLASS_BADFMT = 9;
  4255. 4002 (*Bad Format *)
  4256. 4003 CONST ERRCLASS_LOCKED = 10;
  4257. 4004 (*Locked *)
  4258. 4005 CONST ERRCLASS_MEDIA = 11;
  4259. 4006 (*Media Failure *)
  4260. 4007 CONST ERRCLASS_ALREADY = 12;
  4261. 4008 (*Collision with Existing Item *)
  4262. 4009 CONST ERRCLASS_UNK = 13;
  4263. 4010 (*Unknown/other *)
  4264. 4011 CONST ERRCLASS_CANT = 14;
  4265. 4012
  4266. 4013 CONST ERRCLASS_TIME = 15;
  4267. 4014
  4268. 4015
  4269. 4016 (*Values for error ACTION *)
  4270. 4017 CONST ERRACT_RETRY = 1;
  4271. 4018 (*Retry *)
  4272. 4019 CONST ERRACT_DLYRET = 2;
  4273. 4020 (*Delay Retry, retry after pause *)
  4274. 4021 CONST ERRACT_USER = 3;
  4275. 4022 (*Ask user to regive information *)
  4276. 4023 CONST ERRACT_ABORT = 4;
  4277. 4024 (*abort with clean up *)
  4278. 4025 CONST ERRACT_PANIC = 5;
  4279. 4026 (*abort immediately *)
  4280. 4027 CONST ERRACT_IGNORE = 6;
  4281. 4028 (*ignore *)
  4282. 4029 CONST ERRACT_INTRET = 7;
  4283. 4030 (*Retry after User Intervention *)
  4284. 4031
  4285. 4032 (*Values for error LOCUS *)
  4286. 4033 CONST ERRLOC_UNK = 1;
  4287. 4034 (*No appropriate value *)
  4288. 4035 CONST ERRLOC_DISK = 2;
  4289. 4036 (*Random Access Mass Storage *)
  4290. 4037 CONST ERRLOC_NET = 3;
  4291. 4038 (*Network *)
  4292. 4039 CONST ERRLOC_SERDEV = 4;
  4293. 4040 (*Serial Device *)
  4294. 4041 CONST ERRLOC_MEM = 5;
  4295. 4042 (*Memory *)
  4296. 4043
  4297. 4044 (*Abnormal termination codes *)
  4298. 4045 CONST TC_NORMAL = 0;
  4299. 4046
  4300. 4047 CONST TC_HARDERR = 1;
  4301. 4048
  4302. 4049 CONST TC_GP_TRAP = 2;
  4303. 4050
  4304. 4051 CONST TC_SIGNAL = 3;
  4305. 4052
  4306. 4053 CONST ERROR_SWAPPER_NOT_ACTIVE = 32768;
  4307. 4054
  4308. 4055 CONST ERROR_INVALID_SWAPID = 32769;
  4309. 4056
  4310. 4057 CONST ERROR_IOERR_SWAP_FILE = 32770;
  4311. 4058
  4312. 4059 CONST ERROR_SWAP_TABLE_FULL = 32771;
  4313. 4060
  4314. 4061 CONST ERROR_SWAP_FILE_FULL = 32772;
  4315. 4062
  4316. 4063 CONST ERROR_CANT_INIT_SWAPPER = 32773;
  4317. 4064
  4318. 4065 CONST ERROR_SWAPPER_ALREADY_INIT = 32774;
  4319. 4066
  4320. 4067 CONST ERROR_PMM_INSUFFICIENT_MEMORY = 32775;
  4321. 4068
  4322. 4069 CONST ERROR_PMM_INVALID_FLAGS = 32776;
  4323. 4070
  4324. 4071 CONST ERROR_PMM_INVALID_ADDRESS = 32777;
  4325. 4072
  4326. 4073 CONST ERROR_PMM_LOCK_FAILED = 32778;
  4327. 4074
  4328. 4075 CONST ERROR_PMM_UNLOCK_FAILED = 32779;
  4329. 4076
  4330. 4077 CONST ERROR_PMM_MOVE_INCOMPLETE = 32780;
  4331. 4078
  4332. 4079 CONST ERROR_UCOM_DRIVE_RENAMED = 32781;
  4333. 4080
  4334. 4081 CONST ERROR_UCOM_FILENAME_TRUNCATED = 32782;
  4335. 4082
  4336. 4083 CONST ERROR_UCOM_BUFFER_LENGTH = 32783;
  4337. 4084
  4338. 4085 CONST ERROR_MON_CHAIN_HANDLE = 32784;
  4339. 4086
  4340. 4087 CONST ERROR_MON_NOT_REGISTERED = 32785;
  4341. 4088
  4342. 4089 CONST ERROR_SMG_ALREADY_TOP = 32786;
  4343. 4090
  4344. 4091 CONST ERROR_PMM_ARENA_MODIFIED = 32787;
  4345. 4092
  4346. 4093 CONST ERROR_SMG_PRINTER_OPEN = 32788;
  4347. 4094
  4348. 4095 CONST ERROR_PMM_SET_FLAGS_FAILED = 32789;
  4349. 4096
  4350. 4097 CONST ERROR_INVALID_DOS_DD = 32790;
  4351. 4098
  4352. 4099 CONST ERROR_CPSIO_CODE_PAGE_INVALID = 65026;
  4353. 4100
  4354. 4101 CONST ERROR_CPSIO_NO_SPOOLER = 65027;
  4355. 4102
  4356. 4103 CONST ERROR_CPSIO_FONT_ID_INVALID = 65028;
  4357. 4104
  4358. 4105 CONST ERROR_CPSIO_INTERNAL_ERROR = 65033;
  4359. 4106
  4360. 4107 CONST ERROR_CPSIO_INVALID_PTR_NAME = 65034;
  4361. 4108
  4362. 4109 CONST ERROR_CPSIO_NOT_ACTIVE = 65037;
  4363. 4110
  4364. 4111 CONST ERROR_CPSIO_PID_FULL = 65039;
  4365. 4112
  4366. 4113 CONST ERROR_CPSIO_PID_NOT_FOUND = 65040;
  4367. 4114
  4368. 4115 CONST ERROR_CPSIO_READ_CTL_SEQ = 65043;
  4369. 4116
  4370. 4117 CONST ERROR_CPSIO_READ_FNT_DEF = 65045;
  4371. 4118
  4372. 4119 CONST ERROR_CPSIO_WRITE_ERROR = 65047;
  4373. 4120
  4374. 4121 CONST ERROR_CPSIO_WRITE_FULL_ERROR = 65048;
  4375. 4122
  4376. 4123 CONST ERROR_CPSIO_WRITE_HANDLE_BAD = 65049;
  4377. 4124
  4378. 4125 CONST ERROR_CPSIO_SWIT_LOAD = 65074;
  4379. 4126
  4380. 4127 CONST ERROR_CPSIO_INV_COMMAND = 65077;
  4381. 4128
  4382. 4129 CONST ERROR_CPSIO_NO_FONT_SWIT = 65078;
  4383. 4130
  4384. 4131 (*
  4385. 4132 * _api_init must be called to initialize the DOS implementations
  4386. 4133 * of the family api routines.
  4387. 4134 *)
  4388. 4135 PROCEDURE _api_init ();
  4389. 4136
  4390. 4137 END FAPI.
  4391. ***** ^ not supported yet
  4392. 253 errors