/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1993 by Xerox Corporation. All rights reserved. */
/* time: September 30, 1993 10:52:59 am PDT */
/* C2C version: April 20, 1993 (sun4) */
/* ref-counting: off */
/* file: X11SerialDevicesImpl, module: X11SerialDevicesImpl */
/* switches: bcfhklnouw */
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [3309719945,1682690933] X11SerialDevicesImpl";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef word (*fPt)();
typedef struct {word f0, f1;} W2;
typedef struct {word f0, f1, f2, f3, f4, f5, f6;} W7;
typedef W2 *W2Pt;
typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8;
typedef struct {word f0, f1, f2;} W3;
typedef struct {W8 f; W3 r;} W11;
typedef struct {word f0, f1, f2, f3, f4, f5;} W6;
typedef struct {word f0, f1, f2, f3;} W4;
typedef W4 *W4Pt;
typedef struct {word f0, f1, f2, f3, f4;} W5;
typedef struct {W8 f; W5 r;} W13;
#define SOURCE(p, l) /* source p, l */
#define BCK(idx, lim) ( ((unsigned) idx) >= ((unsigned) lim) ? (XR←RaiseBoundsFault()) : (idx) )
#define SGNCK(i) ((int) (word) (i) < 0 ? XR←RaiseArithmeticFault(): i )
static void NoName←Q2004();
static void X11SerialDevicesImpl←P0();
static void Reopen←P60();
static void OpenHandle←P120();
static void Close←P180();
static void CloseDeviceInternal←P240();
static void GrabInputProcess←P300();
static word NoName←Q2064();
static void Register←P360();
static word NoName←Q2124();
static void UnRegister←P420();
static word GetClientData←P480();
static void InputProcess←P540();
static word NoName←Q2184();
static word CheckBufferSpace←P600();
static word NoName←Q2244();
static void NewEvents←P660();
static word NoName←Q2304();
static word InOrder←P720();
static void Read←P780();
static word More←P840();
static word NoName←Q2364();
static void TimeoutEvent←P900();
static void ThreadRead←P960();
static word NoName←Q2424();
static word GetEvent←P1848();
static void ProcessInput←P1020();
static word NoName←Q2484();
static void DoProcessInput←P1080();
static void SetHToNIL←P1140();
static void WaitForRegistration←P1200();
static void StartSerialDevices←P1260();
static void NoName←Q2544();
static void NoName←Q2604();
static void NoName←Q2664();
static void NoName←Q2724();
static void NoName←Q2784();
static void NoName←Q2844();
static void NoName←Q2904();
static void NoName←Q2964();
static word NoName←Q3024();
static word NoName←Q3084();
static word NoName←Q3144();
static struct {unsigned f; char r[16];} string1 = {851984, "\257\300\326\205\271\265\300\242\132\343\272\100\164\000\000"};
static struct {unsigned f; char r[8];} string2 = {393222, "\006\0014\004C\377\000"};
static struct {unsigned f; char r[16];} string3 = {851984, "\257\300\326\205\271\265\300\242\132\343\272\100\200\000\000"};
static struct {unsigned f; char r[4];} string4 = {196611, "\004@B"};
static struct {unsigned f; char r[4];} string5 = {131076, "\216\251\000"};
static struct {unsigned f; char r[4];} string6 = {65537, "\001\000\000"};
static struct {unsigned f; char r[8];} string7 = {458760, "Timeout"};
static struct {unsigned f; char r[8];} string8 = {393224, "Closed\000"};
static struct {unsigned f; char r[16];} string9 = {851984, "\257\300\305\106\121\211\300\144\113\323\165\100\164\000\000"};
static struct {unsigned f; char r[12];} string10 = {524296, "\006\002\040\001\100\134\004\003\000\000\000"};
static struct {unsigned f; char r[16];} string11 = {851984, "\257\300\240\236\274\315\300\111\163\325\023\100\150\000\000"};
static struct {unsigned f; char r[16];} string12 = {851984, "\257\300\211\056\077\074\300\127\047\310\242\100\150\000\000"};
static struct {unsigned f; char r[16];} string13 = {851984, "\257\300\271\306\277\300\300\056\100\244\210\100\150\000\000"};
static struct {unsigned f; char r[16];} string14 = {851984, "\257\300\006\114\211\170\300\041\050\350\270\100\150\000\000"};
static struct {unsigned f; char r[16];} string15 = {851984, "\257\300\237\037\145\112\300\016\200\115\054\100\150\000\000"};
static struct {unsigned f; char r[16];} string16 = {851984, "\257\300\362\254\236\122\300\034\373\210\247\100\150\000\000"};
static struct {unsigned f; char r[32];} string17 = {1835040, "\211\020\017\126\151\145\167\145\162\163\127\157\162\154\144\117\142\152\300\362\254\236\122\300\034\373\210\247\000\000\000"};
static struct {unsigned f; char r[16];} string18 = {851984, "\257\300\142\333\162\163\300\240\356\210\327\100\200\000\000"};
static struct {unsigned f; char r[28];} string19 = {1638425, "\006\011\000\001\004\001\020\001\034\001\040\001\054\004\100\377\100\154\001\100\160\001\100\164\001\000\000"};
static struct {
word f0[25]; word f25; word f26; word f27;
word f28; word f29; word f30; word f31;
word f32; word f33; word f34; word f35;
word f36; word f37; word f38; word f39;
word f40; word f41; word f42; word f43;
word f44; word f45; word f46; word f47;
word f48; word f49; word f50; word f51;
word f52; word f53; word f54; word f55;
word f56; word f57; word f58; word f59;
word f60; word f61; word f62; word f63;
word f64; word f65; word f66; word f67;
word f68[7];
} globalframe = {
{0}, (word) StartSerialDevices←P1260, 0, (word) WaitForRegistration←P1200,
0, (word) SetHToNIL←P1140, 0, (word) DoProcessInput←P1080,
0, (word) ProcessInput←P1020, 0, (word) ThreadRead←P960,
0, (word) TimeoutEvent←P900, 0, (word) More←P840,
0, (word) Read←P780, 0, (word) InOrder←P720,
0, (word) NewEvents←P660, 0, (word) CheckBufferSpace←P600,
0, (word) InputProcess←P540, 0, (word) GetClientData←P480,
0, (word) UnRegister←P420, 0, (word) Register←P360,
0, (word) GrabInputProcess←P300, 0, (word) CloseDeviceInternal←P240,
0, (word) Close←P180, 0, (word) OpenHandle←P120,
0, (word) Reopen←P60, 0, (word) X11SerialDevicesImpl←P0,
{0}
};
static void NoName←Q2004()
{
register ptr gf←c0207 = (ptr) &globalframe;
word var←c16200;
(* (( (ptr) gf←c0207)+18) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2);
(* (( (ptr) gf←c0207)+20) ) = (word) XR←GetTypeIndex((word) &string3, 0, (word) &string4);
(* (( (ptr) gf←c0207)+21) ) = (word) XR←GetTypeIndex((word) &string5, 0, (word) &string6);
(* (ptr) (( (bPt) gf←c0207)+92) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0207)+21) ), (word) &string7);
(* (ptr) (( (bPt) gf←c0207)+96) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0207)+21) ), (word) &string8);
(void) XR←DeclareGlobalFrame((word) "X11SerialDevicesImpl", &globalframe, (word) XR←GetTypeIndex((word) &string9, 0, (word) &string10)
, (word) (( (bPt) gf←c0207)+268)/* var←c15048 */ );
var←c16200 = (word) XR←ImportInterface((word) "Process", (word) XR←GetTypeIndexS((word) (&string11)), 22);
(* (( (ptr) gf←c0207)+69)/* var←c15176 */ ) = var←c16200;
(void) XR←ImportProcS(var←c16200, 526081);
(void) XR←ImportProcS(var←c16200, 263681);
(void) XR←ImportProcS(var←c16200, 264449);
(void) XR←ImportProcS(var←c16200, 527105);
(void) XR←ImportProcS(var←c16200, 266241);
(void) XR←ImportProcS(var←c16200, 67371521);
(void) XR←ImportProcS(var←c16200, 525570);
var←c16200 = (word) XR←ImportInterface((word) "UnixSysCalls", (word) XR←GetTypeIndexS((word) (&string12)), 77);
(* (( (ptr) gf←c0207)+70)/* var←c15720 */ ) = var←c16200;
(void) XR←ImportProcS(var←c16200, 67640066);
var←c16200 = (word) XR←ImportInterface((word) "ViewersWorld", (word) XR←GetTypeIndexS((word) (&string13)), 26);
(* (( (ptr) gf←c0207)+71)/* var←c16008 */ ) = var←c16200;
(void) XR←ImportProcS(var←c16200, 67371009);
var←c16200 = (word) XR←ImportInterface((word) "ViewersWorldInstance", (word) XR←GetTypeIndexS((word) (&string14)), 2);
(* (( (ptr) gf←c0207)+72)/* var←c16104 */ ) = var←c16200;
(void) XR←ImportProcS(var←c16200, 67108864);
var←c16200 = (word) XR←ExportInterface((word) "InputDevice", (word) XR←GetTypeIndexS((word) (&string15)), 7);
(* (( (ptr) gf←c0207)+73)/* var←c16232 */ ) = var←c16200;
(void) XR←ExportProcS(var←c16200, (word) (( (bPt) gf←c0207)+220)/* var←c14856 */ , 1835015, (word) "Register");
(void) XR←ExportProcS(var←c16200, (word) (( (bPt) gf←c0207)+212)/* var←c14824 */ , 262401, (word) "UnRegister");
(void) XR←ExportProcS(var←c16200, (word) (( (bPt) gf←c0207)+260)/* var←c15016 */ , 512, (word) "Reopen");
(void) XR←ExportProcS(var←c16200, (word) (( (bPt) gf←c0207)+244)/* var←c14952 */ , 768, (word) "Close");
(void) XR←ExportProcS(var←c16200, (word) (( (bPt) gf←c0207)+132)/* var←c14504 */ , 1049604, (word) "ProcessInput");
(void) XR←ExportProcS(var←c16200, (word) (( (bPt) gf←c0207)+204)/* var←c14792 */ , 67372289, (word) "GetClientData");
(void) XR←ExportProcS(var←c16200, (word) (( (bPt) gf←c0207)+156)/* var←c14600 */ , 67372545, (word) "More");
var←c16200 = (word) XR←ExportInterface((word) "ViewersWorldRefType", (word) XR←GetTypeIndexS((word) (&string16)), 1);
(* (( (ptr) gf←c0207)+74)/* var←c16264 */ ) = var←c16200;
(void) XR←ExportType((word) "ViewersWorldObj", (word) XR←GetTypeIndexS((word) (&string17)), (word) XR←GetTypeIndex((word) &string18, 0, (word) &string19)
);
}
static void X11SerialDevicesImpl←P0(formal←c044, formal←c043)
word formal←c044;
word formal←c043;
{
register ptr gf←c16296 = (ptr) &globalframe;
/* X11SerialDevicesImpl: */
SOURCE(186, 8791)
SOURCE(5352, 20)
(* (( (ptr) gf←c16296)+15)/* activeReader←v3476 */ ) = (word) (( (bPt) gf←c16296)+140)/* var←c14536 */ ;
SOURCE(8957, 20)
(void) StartSerialDevices←P1260();
}
static void Reopen←P60()
{
register ptr gf←c16328 = (ptr) &globalframe;
word eventBuffer←v5844 = 0;
/* Reopen: */
SOURCE(820, 492)
SOURCE(870, 80)
if (((* (( (ptr) gf←c16328)+8)/* h←v3084 */ ) == 0)) {
SOURCE(884, 59)
(void) OpenHandle←P120();
}
else {
SOURCE(943, 7)
(void) Close←P180();
};
SOURCE(1007, 305)
{
register word i←v5888 = 0;
register word noName←c15080;
noName←c15080 = (* (( (ptr) (* (( (ptr) gf←c16328)+8)/* h←v3084 */ ))+12) );
if ((i←v5888 >= noName←c15080)) {
goto lab←L100000;
};
lab←L100003: ;
SOURCE(1040, 272)
eventBuffer←v5844 = (* ((( (ptr) (* (( (ptr) gf←c16328)+8)/* h←v3084 */ ))+13)+BCK(i←v5888, 10)) );
if ((eventBuffer←v5844 != 0)) {
SOURCE(1080, 232)
(void) Register←P360((* (( (ptr) eventBuffer←v5844)+1) ), (* (( (ptr) eventBuffer←v5844)+17) ), (* (( (ptr) eventBuffer←v5844)+2)
), (* (( (ptr) eventBuffer←v5844)+3) ), (* (( (ptr) eventBuffer←v5844)+4) ), (* (( (ptr) eventBuffer←v5844)+5) )
, (* (( (ptr) eventBuffer←v5844)+6) ));
};
i←v5888 = (i←v5888 + 1);
if ((i←v5888 < noName←c15080)) {
goto lab←L100003;
};
lab←L100000: ;
};
}
static void OpenHandle←P120()
{
register ptr gf←c16360 = (ptr) &globalframe;
/* OpenHandle: */
SOURCE(1327, 159)
SOURCE(1361, 18)
(* (( (ptr) gf←c16360)+8)/* h←v3084 */ ) = XR←NewObject(92, (* (( (ptr) gf←c16360)+18) ));
SOURCE(1381, 64)
{
word var←c15144;
{
word pd20;
pd20 = (* (( (ptr) (* (( (ptr) gf←c16360)+69)/* var←c15176 */ ))+6) );
var←c15144 = (word) ( *( (fPt) ((* (ptr) pd20 ))))(1000, pd20);
};
{
word pd21;
pd21 = (* (( (ptr) (* (( (ptr) gf←c16360)+69)/* var←c15176 */ ))+9) );
(void) ( *( (fPt) ((* (ptr) pd21 ))))((word) (( (bPt) (* (( (ptr) gf←c16360)+8)/* h←v3084 */ ))+24), var←c15144, pd21);
};
};
SOURCE(1447, 39)
{
word pd22;
pd22 = (* (( (ptr) (* (( (ptr) gf←c16360)+69)/* var←c15176 */ ))+20) );
(void) ( *( (fPt) ((* (ptr) pd22 ))))((word) ((( (bPt) (* (( (ptr) gf←c16360)+8)/* h←v3084 */ ))+24)), pd22);
};
}
static void Close←P180()
{
register ptr gf←c16392 = (ptr) &globalframe;
word eventBuffer←v5932 = 0;
/* Close: */
SOURCE(1492, 193)
(void) (XR←MonitorEntry((word) (( (bPt) gf←c16392)+16)/* LOCK←v2860 */ ));
SOURCE(1556, 20)
if (((* (( (ptr) gf←c16392)+8)/* h←v3084 */ ) == 0)) {
SOURCE(1570, 6)
(void) (XR←MonitorExit((word) (( (bPt) gf←c16392)+16)/* LOCK←v2860 */ ));
return;
};
SOURCE(1578, 107)
{
register word i←v5976 = 0;
register word noName←c15208;
noName←c15208 = (* (( (ptr) (* (( (ptr) gf←c16392)+8)/* h←v3084 */ ))+12) );
if ((i←v5976 >= noName←c15208)) {
goto lab←L100004;
};
lab←L100007: ;
SOURCE(1611, 74)
eventBuffer←v5932 = (* ((( (ptr) (* (( (ptr) gf←c16392)+8)/* h←v3084 */ ))+13)+BCK(i←v5976, 10)) );
if ((eventBuffer←v5932 != 0)) {
SOURCE(1653, 32)
(void) CloseDeviceInternal←P240(eventBuffer←v5932);
};
i←v5976 = (i←v5976 + 1);
if ((i←v5976 < noName←c15208)) {
goto lab←L100007;
};
lab←L100004: ;
};
SOURCE(1492, 193)
(void) (XR←MonitorExit((word) (( (bPt) gf←c16392)+16)/* LOCK←v2860 */ ));
return;
}
static void CloseDeviceInternal←P240(b←v3856)
word b←v3856;
{
register ptr gf←c16424 = (ptr) &globalframe;
W2 inputProcess←v6020;
/* CloseDeviceInternal: */
SOURCE(1703, 355)
SOURCE(1760, 32)
(* (ptr) (word) &inputProcess←v6020 ) = 0;
(* (( (ptr) (word) &inputProcess←v6020) + 1) ) = 0;
SOURCE(1794, 264)
if ((0 != (* (ptr) b←v3856 ))) {
SOURCE(1853, 16)
(* (ptr) b←v3856 ) = 0;
SOURCE(1871, 187)
{
W2 temp23;
(void) GrabInputProcess←P300((word) &inputProcess←v6020, b←v3856);
(* (ptr) &temp23 ) = 0;
(* (( (ptr) &temp23) + 1) ) = 0;
if ( ! XR←EqualWords(&inputProcess←v6020, &temp23, 2)) {
SOURCE(1930, 128)
SOURCE(1932, 27)
{
word pd24;
pd24 = (* (( (ptr) (* (( (ptr) gf←c16424)+69)/* var←c15176 */ ))+15) );
(void) ( *( (fPt) ((* (ptr) pd24 ))))(inputProcess←v6020, pd24);
};
SOURCE(1961, 17)
(void) XR←Join(inputProcess←v6020);
SOURCE(1980, 41)
if (((* (( (ptr) b←v3856)+5) ) != 0)) {
SOURCE(2000, 21)
{
word pd25;
pd25 = (* (( (ptr) b←v3856)+5) );
(void) ( *( (fPt) ((* (ptr) pd25 ))))((* ((( (ptr) b←v3856)+6)) ), pd25);
};
};
};
};
};
}
static void GrabInputProcess←P300(formal←c057, formal←c0271)
word formal←c057;
word formal←c0271;
{
W7 var←c16456;
/* declaration of b←v3916 skipped */
/* declaration of var←c3960 skipped */
var←c16456.f4/* b←v3916 */ = formal←c0271;
/* GrabInputProcess: */
SOURCE(2068, 223)
SOURCE(2145, 146)
{
word var←c01;
{
word var←c0247;
var←c0247 = (word) &var←c16456;
var←c01 = (word) XR←Enable(( ((word) (fPt) NoName←Q2064) ), ( ((word) (fPt) NoName←Q2964) ), var←c0247);
};
/* removed trivial cond node */
};
(* (W2Pt) formal←c057 ) = (* (W2Pt) (( (ptr) &var←c16456)+5)/* var←c3960 */ );
return;
}
static word NoName←Q2064(formal←c0213)
word formal←c0213;
{
SOURCE(2168, 107)
if (((* (( (ptr) formal←c0213)+4) ) != 0)) {
SOURCE(2184, 91)
{
W2 inputProcess←v6080;
SOURCE(2186, 43)
inputProcess←v6080 = (* (W2Pt) (( (ptr) (* (( (ptr) formal←c0213)+4) ))+13) );
SOURCE(2231, 20)
{
word tmpAddr26;
tmpAddr26 = (word) (( (ptr) (* (( (ptr) formal←c0213)+4) ))+13);
(* (ptr) tmpAddr26 ) = 0;
(* (( (ptr) tmpAddr26) + 1) ) = 0;
};
SOURCE(2253, 22)
(* (W2Pt) (( (ptr) formal←c0213)+5) ) = inputProcess←v6080;
return(2);
};
};
SOURCE(2278, 13)
{
W2 var←c15240;
(* (ptr) (word) &var←c15240 ) = 0;
(* (( (ptr) (word) &var←c15240) + 1) ) = 0;
(* (W2Pt) (( (ptr) formal←c0213)+5) ) = var←c15240;
return(2);
};
/* c2c skipped dead code */
}
static void Register←P360(formal←c0272, formal←c0273, formal←c0274, formal←c0275, formal←c0276, formal←c0277, formal←c0278)
word formal←c0272;
word formal←c0273;
word formal←c0274;
word formal←c0275;
word formal←c0276;
word formal←c0277;
word formal←c0278;
{
W11 var←c16488;
/* declaration of deviceName←v4036 skipped */
/* declaration of bufferLength←v4064 skipped */
/* declaration of open←v4092 skipped */
/* declaration of eventReader←v4120 skipped */
/* declaration of eventDispatch←v4148 skipped */
/* declaration of close←v4176 skipped */
/* declaration of clientData←v4204 skipped */
register ptr gf←c16520 = (ptr) &globalframe;
(* (( (ptr) &var←c16488)+4)/* deviceName←v4036 */ ) = formal←c0272;
(* (( (ptr) &var←c16488)+5)/* bufferLength←v4064 */ ) = formal←c0273;
(* (( (ptr) &var←c16488)+6)/* open←v4092 */ ) = formal←c0274;
(* (( (ptr) &var←c16488)+7)/* eventReader←v4120 */ ) = formal←c0275;
(* (( (ptr) &var←c16488)+8)/* eventDispatch←v4148 */ ) = formal←c0276;
(* (( (ptr) &var←c16488)+9)/* close←v4176 */ ) = formal←c0277;
(* (( (ptr) &var←c16488)+10)/* clientData←v4204 */ ) = formal←c0278;
/* Register: */
SOURCE(2295, 1430)
(void) (XR←MonitorEntry((word) (( (bPt) gf←c16520)+16)/* LOCK←v2860 */ ));
SOURCE(2505, 1220)
{
word var←c0248;
var←c0248 = (word) &var←c16488;
(void) (word) XR←Enable(( ((word) (fPt) NoName←Q2124) ), ( ((word) (fPt) NoName←Q2904) ), var←c0248);
};
SOURCE(2295, 1430)
(void) (XR←MonitorExit((word) (( (bPt) gf←c16520)+16)/* LOCK←v2860 */ ));
return;
}
static word NoName←Q2124(formal←c0216)
word formal←c0216;
{
register ptr gf←c0215 = (ptr) &globalframe;
SOURCE(2528, 24)
{
word eventBuffer←v6140 = 0;
word notifyRegister←v6168 = 0;
SOURCE(2584, 92)
if (((* (( (ptr) gf←c0215)+8)/* h←v3084 */ ) == 0)) {
SOURCE(2640, 12)
(void) OpenHandle←P120();
SOURCE(2655, 21)
notifyRegister←v6168 = 1;
};
SOURCE(2681, 421)
{
register word i←v6212 = 0;
if (( (int)i←v6212 > (int)9)) {
goto lab←L100013;
};
lab←L100016: ;
SOURCE(2731, 177)
if (((* ((( (ptr) (* (( (ptr) gf←c0215)+8)/* h←v3084 */ ))+13)+BCK(i←v6212, 10)) ) == 0)) {
SOURCE(2797, 61)
{
word var←c15272;
{
word var←c15304;
word var←c15336;
word var←c15368;
{
word idx27;
var←c15304 = (
idx27 = (* (( (ptr) formal←c0216)+5) ),
BCK(idx27, 16777215)
);
};
var←c15336 = ((word) var←c15304 << 4);
var←c15368 = XR←NewObject((72 + var←c15336), (* (( (ptr) gf←c0215)+20) ));
(* (( (ptr) var←c15368)+17) ) = var←c15304;
var←c15272 = var←c15368;
};
(* ((( (ptr) (* (( (ptr) gf←c0215)+8)/* h←v3084 */ ))+13)+BCK(i←v6212, 10)) ) = var←c15272;
eventBuffer←v6140 = var←c15272;
};
SOURCE(2860, 48)
if (( (int)i←v6212 == (int)(* (( (ptr) (* (( (ptr) gf←c0215)+8)/* h←v3084 */ ))+12) ))) {
SOURCE(2881, 27)
(* (( (ptr) (* (( (ptr) gf←c0215)+8)/* h←v3084 */ ))+12) ) = ((* (( (ptr) (* (( (ptr) gf←c0215)+8)/* h←v3084 */ ))+12) ) +
1);
};
SOURCE(2954, 4)
goto lab←L100014;
};
SOURCE(2963, 139)
if (((* (( (ptr) (* ((( (ptr) (* (( (ptr) gf←c0215)+8)/* h←v3084 */ ))+13)+BCK(i←v6212, 10)) ))+1) ) == (* (( (ptr) formal←c0216)+4)
))) {
SOURCE(3043, 25)
eventBuffer←v6140 = (* ((( (ptr) (* (( (ptr) gf←c0215)+8)/* h←v3084 */ ))+13)+BCK(i←v6212, 10)) );
SOURCE(3070, 32)
(void) CloseDeviceInternal←P240(eventBuffer←v6140);
SOURCE(3137, 4)
goto lab←L100014;
};
if (( (int)i←v6212 >= (int)9)) {
goto lab←L100013;
};
i←v6212 = (i←v6212 + 1);
goto lab←L100016;
lab←L100013: ;
lab←L100014: ;
};
SOURCE(3156, 24)
if ((eventBuffer←v6140 == 0)) {
SOURCE(3180, 5)
(void) XR←RaiseUnnamedError();
};
SOURCE(3203, 25)
(* (ptr) eventBuffer←v6140 ) = 1;
SOURCE(3230, 23)
(* (( (ptr) eventBuffer←v6140)+2) ) = (* (( (ptr) formal←c0216)+6) );
SOURCE(3255, 35)
(* (( (ptr) eventBuffer←v6140)+1) ) = (* (( (ptr) formal←c0216)+4) );
SOURCE(3292, 30)
(* (( (ptr) eventBuffer←v6140)+3) ) = (* (( (ptr) formal←c0216)+7) );
SOURCE(3324, 36)
(* (( (ptr) eventBuffer←v6140)+4) ) = (* (( (ptr) formal←c0216)+8) );
SOURCE(3362, 25)
(* (( (ptr) eventBuffer←v6140)+5) ) = (* (( (ptr) formal←c0216)+9) );
SOURCE(3389, 35)
(* (( (ptr) eventBuffer←v6140)+6) ) = (* (( (ptr) formal←c0216)+10) );
SOURCE(3426, 39)
(* (( (ptr) eventBuffer←v6140)+16) ) = 0;
(* (( (ptr) eventBuffer←v6140)+15) ) = 0;
SOURCE(3467, 58)
if (((* (( (ptr) formal←c0216)+6) ) != 0)) {
SOURCE(3484, 41)
{
word pd28;
pd28 = (* (( (ptr) formal←c0216)+6) );
(* (( (ptr) eventBuffer←v6140)+6) ) = (word) ( *( (fPt) ((* (ptr) pd28 ))))((* ((( (ptr) formal←c0216)+10)) ), pd28);
};
};
SOURCE(3565, 46)
{
word pd29;
pd29 = (* (( (ptr) (* (( (ptr) gf←c0215)+69)/* var←c15176 */ ))+20) );
(void) ( *( (fPt) ((* (ptr) pd29 ))))((word) ((( (bPt) eventBuffer←v6140)+28)), pd29);
};
SOURCE(3613, 70)
{
W2 var←c15400;
{
W2 var←c076;
word var←c075;
var←c075 = XR←ExtensionAlloc(6);
{
word tmpAddr30;
tmpAddr30 = (word) var←c075;
(* (ptr) tmpAddr30 ) = ( ((word) (fPt) NoName←Q3024) );
(* (( (ptr) tmpAddr30) + 1) ) = 0;
(* (( (ptr) tmpAddr30) + 2) ) = (word) (( (bPt) gf←c0215)+196)/* var←c14760 */ ;
(* (( (ptr) tmpAddr30) + 3) ) = 0;
(* (( (ptr) tmpAddr30) + 4) ) = eventBuffer←v6140;
(* (( (ptr) tmpAddr30) + 5) ) = (* (( (ptr) formal←c0216)+7) );
};
(void) XR←Fork((word) &var←c076, var←c075);
var←c15400 = var←c076;
};
(* (W2Pt) (( (ptr) eventBuffer←v6140)+13) ) = var←c15400;
};
SOURCE(3685, 40)
if ((0 != notifyRegister←v6168)) {
SOURCE(3708, 17)
(void) (XR←Notify((word) (( (bPt) gf←c0215)+36)/* registerCV←v3112 */ ));
};
};
return(0);
}
static void UnRegister←P420(deviceName←v4280)
word deviceName←v4280;
{
register ptr gf←c16552 = (ptr) &globalframe;
word eventBuffer←v6256 = 0;
/* UnRegister: */
SOURCE(3731, 265)
(void) (XR←MonitorEntry((word) (( (bPt) gf←c16552)+16)/* LOCK←v2860 */ ));
SOURCE(3810, 20)
if (((* (( (ptr) gf←c16552)+8)/* h←v3084 */ ) == 0)) {
SOURCE(3824, 6)
(void) (XR←MonitorExit((word) (( (bPt) gf←c16552)+16)/* LOCK←v2860 */ ));
return;
};
SOURCE(3832, 164)
{
register word i←v6300 = 0;
register word noName←c15432;
noName←c15432 = (* (( (ptr) (* (( (ptr) gf←c16552)+8)/* h←v3084 */ ))+12) );
if ((i←v6300 >= noName←c15432)) {
goto lab←L100017;
};
lab←L100020: ;
SOURCE(3865, 131)
{
word tc31;
eventBuffer←v6256 = (* ((( (ptr) (* (( (ptr) gf←c16552)+8)/* h←v3084 */ ))+13)+BCK(i←v6300, 10)) );
if ((eventBuffer←v6256 != 0)) {
tc31 = (word) ((* (( (ptr) eventBuffer←v6256)+1) ) == deviceName←v4280);
}
else {
tc31 = (word) 0;
};
if (tc31) {
SOURCE(3945, 32)
(void) CloseDeviceInternal←P240(eventBuffer←v6256);
SOURCE(3979, 17)
(* ((( (ptr) (* (( (ptr) gf←c16552)+8)/* h←v3084 */ ))+13)+BCK(i←v6300, 10)) ) = 0;
};
};
i←v6300 = (i←v6300 + 1);
if ((i←v6300 < noName←c15432)) {
goto lab←L100020;
};
lab←L100017: ;
};
SOURCE(3731, 265)
(void) (XR←MonitorExit((word) (( (bPt) gf←c16552)+16)/* LOCK←v2860 */ ));
return;
}
static word GetClientData←P480(deviceName←v4340)
word deviceName←v4340;
{
register ptr gf←c16584 = (ptr) &globalframe;
word var←c4384;
word eventBuffer←v6344 = 0;
/* GetClientData: */
SOURCE(4065, 259)
(void) (XR←MonitorEntry((word) (( (bPt) gf←c16584)+16)/* LOCK←v2860 */ ));
SOURCE(4161, 141)
{
register word i←v6388 = 0;
register word noName←c15464;
noName←c15464 = (* (( (ptr) (* (( (ptr) gf←c16584)+8)/* h←v3084 */ ))+12) );
if ((i←v6388 >= noName←c15464)) {
goto lab←L100021;
};
lab←L100024: ;
SOURCE(4194, 108)
{
word tc32;
eventBuffer←v6344 = (* ((( (ptr) (* (( (ptr) gf←c16584)+8)/* h←v3084 */ ))+13)+BCK(i←v6388, 10)) );
if ((eventBuffer←v6344 != 0)) {
tc32 = (word) ((* (( (ptr) eventBuffer←v6344)+1) ) == deviceName←v4340);
}
else {
tc32 = (word) 0;
};
if (tc32) {
SOURCE(4272, 30)
{
word var←c15496;
var←c15496 = (* (( (ptr) eventBuffer←v6344)+6) );
(void) (XR←MonitorExit((word) (( (bPt) gf←c16584)+16)/* LOCK←v2860 */ ));
return(var←c15496);
};
};
};
i←v6388 = (i←v6388 + 1);
if ((i←v6388 < noName←c15464)) {
goto lab←L100024;
};
lab←L100021: ;
};
SOURCE(4313, 11)
(void) (XR←MonitorExit((word) (( (bPt) gf←c16584)+16)/* LOCK←v2860 */ ));
return(0);
}
static void InputProcess←P540(formal←c0279, formal←c0280)
word formal←c0279;
word formal←c0280;
{
W6 var←c16616;
/* declaration of b←v4456 skipped */
/* declaration of eventReader←v4484 skipped */
var←c16616.f4/* b←v4456 */ = formal←c0279;
var←c16616.f5/* eventReader←v4484 */ = formal←c0280;
/* InputProcess: */
SOURCE(4330, 239)
SOURCE(4413, 156)
SOURCE(4413, 156)
{
word var←c02;
{
word var←c0249;
var←c0249 = (word) &var←c16616;
var←c02 = (word) XR←Enable(( ((word) (fPt) NoName←Q2184) ), ( ((word) (fPt) NoName←Q2844) ), var←c0249);
};
/* removed trivial cond node */
};
}
static word NoName←Q2184(formal←c0220)
word formal←c0220;
{
register ptr gf←c0219 = (ptr) &globalframe;
SOURCE(4441, 45)
{
word pd33;
pd33 = (* (( (ptr) (* (( (ptr) gf←c0219)+69)/* var←c15176 */ ))+13) );
(void) ( *( (fPt) ((* (ptr) pd33 ))))(6, pd33);
};
SOURCE(4488, 81)
lab←L100031: ;
if ((* (ptr) (* (( (ptr) formal←c0220)+4) ) )) {
}
else {
goto lab←L100029;
};
SOURCE(4506, 63)
{
word var←c15528;
{
word var←c15560;
var←c15560 = (word) CheckBufferSpace←P600((* ((( (ptr) formal←c0220)+4)) ));
{
word pd34;
pd34 = (* (( (ptr) formal←c0220)+5) );
var←c15528 = (word) ( *( (fPt) ((* (ptr) pd34 ))))((* (( (ptr) formal←c0220)+4) ), var←c15560, (* (( (ptr) (* (( (ptr) formal←c0220)+4)
))+6) ), pd34);
};
};
(void) NewEvents←P660((* (( (ptr) formal←c0220)+4) ), var←c15528);
};
goto lab←L100031;
lab←L100029: ;
return(0);
}
static word CheckBufferSpace←P600(formal←c0281)
word formal←c0281;
{
W6 var←c16648;
/* declaration of b←v4544 skipped */
register ptr gf←c16680 = (ptr) &globalframe;
/* declaration of var←c03 skipped */
word var←c4588;
var←c16648.f4/* b←v4544 */ = formal←c0281;
/* CheckBufferSpace: */
SOURCE(4584, 501)
(void) (XR←MonitorEntry((word) (( (bPt) gf←c16680)+16)/* LOCK←v2860 */ ));
SOURCE(4656, 429)
{
word var←c04;
{
word var←c0250;
var←c0250 = (word) &var←c16648;
var←c04 = (word) XR←Enable(( ((word) (fPt) NoName←Q2244) ), ( ((word) (fPt) NoName←Q2784) ), var←c0250);
};
/* removed trivial cond node */
};
return(var←c16648.f5/* var←c03 */ );
}
static word NoName←Q2244(formal←c0223)
word formal←c0223;
{
register ptr gf←c0222 = (ptr) &globalframe;
SOURCE(4679, 364)
lab←L100036: ;
if ((* (ptr) (* (( (ptr) formal←c0223)+4) ) )) {
}
else {
goto lab←L100034;
};
{
word n←v6432;
SOURCE(4697, 24)
n←v6432 = ((* (( (ptr) (* (( (ptr) formal←c0223)+4) ))+16) ) - (* (( (ptr) (* (( (ptr) formal←c0223)+4) ))+15) ));
SOURCE(4723, 53)
if ((n←v6432 == 0)) {
SOURCE(4738, 19)
(* (( (ptr) (* (( (ptr) formal←c0223)+4) ))+16) ) = 0;
(* (( (ptr) (* (( (ptr) formal←c0223)+4) ))+15) ) = 0;
SOURCE(4759, 17)
{
word var←c15592;
var←c15592 = (* (( (ptr) (* (( (ptr) formal←c0223)+4) ))+17) );
(void) (XR←MonitorExit((word) (( (bPt) gf←c0222)+16)/* LOCK←v2860 */ ));
(* (( (ptr) formal←c0223)+5) ) = var←c15592;
return(1);
};
};
SOURCE(4779, 191)
if (((* (( (ptr) (* (( (ptr) formal←c0223)+4) ))+15) ) > n←v6432) || ( ((* (( (ptr) (* (( (ptr) formal←c0223)+4) ))+15) ) > 0) ? ( (int)((* (
( (ptr) (* (( (ptr) formal←c0223)+4) ))+17) ) - (* (( (ptr) (* (( (ptr) formal←c0223)+4) ))+16) )) < (int)2) : 0 ) ) {
SOURCE(4853, 93)
{
word limit35;
word idx36;
word limit37;
(void) Basics←MoveWords((word) (( (W4Pt) (( (bPt) (* (( (ptr) formal←c0223)+4) ))+72))+(
limit35 = (* (( (ptr) (* (( (ptr) formal←c0223)+4) ))+17) ),
BCK(0, limit35)
)), (word) (( (W4Pt) (( (bPt) (* (( (ptr) formal←c0223)+4) ))+72))+(
idx36 = (* (( (ptr) (* (( (ptr) formal←c0223)+4) ))+15) ),
limit37 = (* (( (ptr) (* (( (ptr) formal←c0223)+4) ))+17) ),
BCK(idx36, limit37)
)), ((word) n←v6432 << 2));
};
SOURCE(4948, 11)
(* (( (ptr) (* (( (ptr) formal←c0223)+4) ))+15) ) = 0;
SOURCE(4961, 9)
(* (( (ptr) (* (( (ptr) formal←c0223)+4) ))+16) ) = n←v6432;
};
SOURCE(4975, 48)
if (((* (( (ptr) (* (( (ptr) formal←c0223)+4) ))+16) ) < (* (( (ptr) (* (( (ptr) formal←c0223)+4) ))+17) ))) {
SOURCE(5000, 23)
{
word var←c15624;
var←c15624 = ((* (( (ptr) (* (( (ptr) formal←c0223)+4) ))+17) ) - (* (( (ptr) (* (( (ptr) formal←c0223)+4) ))+16) ));
(void) (XR←MonitorExit((word) (( (bPt) gf←c0222)+16)/* LOCK←v2860 */ ));
(* (( (ptr) formal←c0223)+5) ) = var←c15624;
return(1);
};
};
SOURCE(5025, 18)
(void) (XR←Wait((word) (( (bPt) gf←c0222)+16)/* LOCK←v2860 */ , (word) (( (bPt) (* (( (ptr) formal←c0223)+4) ))+28)));
};
goto lab←L100036;
lab←L100034: ;
SOURCE(5054, 19)
(* (( (ptr) (* (( (ptr) formal←c0223)+4) ))+16) ) = 0;
(* (( (ptr) (* (( (ptr) formal←c0223)+4) ))+15) ) = 0;
SOURCE(5075, 10)
(void) (XR←MonitorExit((word) (( (bPt) gf←c0222)+16)/* LOCK←v2860 */ ));
(* (( (ptr) formal←c0223)+5) ) = 0;
return(1);
/* c2c skipped dead code */
}
static void NewEvents←P660(formal←c0282, formal←c0283)
word formal←c0282;
word formal←c0283;
{
W6 var←c16712;
/* declaration of b←v4648 skipped */
/* declaration of n←v4676 skipped */
register ptr gf←c16744 = (ptr) &globalframe;
var←c16712.f4/* b←v4648 */ = formal←c0282;
var←c16712.f5/* n←v4676 */ = formal←c0283;
/* NewEvents: */
SOURCE(5091, 119)
(void) (XR←MonitorEntry((word) (( (bPt) gf←c16744)+16)/* LOCK←v2860 */ ));
SOURCE(5142, 68)
{
word var←c0251;
var←c0251 = (word) &var←c16712;
(void) (word) XR←Enable(( ((word) (fPt) NoName←Q2304) ), ( ((word) (fPt) NoName←Q2724) ), var←c0251);
};
SOURCE(5091, 119)
(void) (XR←MonitorExit((word) (( (bPt) gf←c16744)+16)/* LOCK←v2860 */ ));
return;
}
static word NoName←Q2304(formal←c0226)
word formal←c0226;
{
register ptr gf←c0225 = (ptr) &globalframe;
SOURCE(5165, 17)
{
word idx38;
(* (( (ptr) (* (( (ptr) formal←c0226)+4) ))+16) ) = (
idx38 = (word) ((* (( (ptr) (* (( (ptr) formal←c0226)+4) ))+16) ) + (* (( (ptr) formal←c0226)+5) )),
SGNCK(idx38)
);
};
SOURCE(5184, 26)
(void) (XR←Broadcast((word) (( (bPt) (* (( (ptr) gf←c0225)+8)/* h←v3084 */ ))+24)));
return(0);
}
static word InOrder←P720(t1←v4736, t2←v4764)
W2 t1←v4736;
W2 t2←v4764;
{
word var←c4808;
/* InOrder: */
SOURCE(5216, 132)
SOURCE(5277, 71)
{
word tc39;
if ((t1←v4736.f0 < t2←v4764.f0)) {
tc39 = (word) (unsigned) 1;
}
else {
if ((t1←v4736.f0 == t2←v4764.f0)) {
tc39 = (word) (unsigned) (t1←v4736.f1 <= t2←v4764.f1);
}
else {
tc39 = (word) (unsigned) 0;
};
};
return(tc39);
};
}
static void Read←P780(formal←c0110, timeout←v5028)
word formal←c0110;
word timeout←v5028;
{
register ptr gf←c16776 = (ptr) &globalframe;
W4 e←v5072;
word deviceName←v5100;
word dispatch←v5128;
/* Read: */
SOURCE(5503, 186)
SOURCE(5503, 186)
deviceName←v5100 = 0;
SOURCE(5503, 186)
dispatch←v5128 = 0;
SOURCE(5640, 49)
{
W6 var←c15656;
{
word pd40;
pd40 = (* (( (ptr) gf←c16776)+15)/* activeReader←v3476 */ );
(void) ( *( (fPt) ((* (ptr) pd40 ))))((word) &var←c15656, timeout←v5028, pd40);
};
dispatch←v5128 = XR←CheckProc(var←c15656.f5);
deviceName←v5100 = var←c15656.f4;
e←v5072 = (* (W4Pt) &var←c15656 );
};
/* removed tail goto */
(* (W4Pt) formal←c0110 ) = e←v5072;
(* (( (ptr) formal←c0110)+4) ) = deviceName←v5100;
(* (( (ptr) formal←c0110)+5) ) = dispatch←v5128;
return;
}
static word More←P840(formal←c0284)
word formal←c0284;
{
W6 var←c16808;
/* declaration of deviceName←v5188 skipped */
register ptr gf←c16840 = (ptr) &globalframe;
/* declaration of var←c05 skipped */
word var←c5232;
var←c16808.f4/* deviceName←v5188 */ = formal←c0284;
/* More: */
SOURCE(5695, 386)
(void) (XR←MonitorEntry((word) (( (bPt) gf←c16840)+16)/* LOCK←v2860 */ ));
SOURCE(5762, 319)
{
word var←c06;
{
word var←c0252;
var←c0252 = (word) &var←c16808;
var←c06 = (word) XR←Enable(( ((word) (fPt) NoName←Q2364) ), ( ((word) (fPt) NoName←Q2664) ), var←c0252);
};
/* removed trivial cond node */
};
return(var←c16808.f5/* var←c05 */ );
}
static word NoName←Q2364(formal←c0230)
word formal←c0230;
{
register ptr gf←c0229 = (ptr) &globalframe;
SOURCE(5785, 271)
{
register word i←v6476 = 0;
register word noName←c15688;
noName←c15688 = (* (( (ptr) (* (( (ptr) gf←c0229)+8)/* h←v3084 */ ))+12) );
if ((i←v6476 >= noName←c15688)) {
goto lab←L100042;
};
lab←L100045: ;
{
word b←v6520;
SOURCE(5818, 28)
b←v6520 = (* ((( (ptr) (* (( (ptr) gf←c0229)+8)/* h←v3084 */ ))+13)+BCK(i←v6476, 10)) );
SOURCE(5848, 14)
if ((b←v6520 == 0)) {
SOURCE(5862, 4)
goto lab←L100044;
};
SOURCE(5925, 131)
if (((* (( (ptr) formal←c0230)+4) ) == 0) || ((* (( (ptr) b←v6520)+1) ) == (* (( (ptr) formal←c0230)+4) ))) {
SOURCE(5977, 79)
{
word tc41;
word idx42;
word limit43;
if (((* (( (ptr) b←v6520)+15) ) < (* (( (ptr) b←v6520)+16) ))) {
tc41 = (word) XR←EqualWords((( (ptr) (( (W4Pt) (( (ptr) b←v6520)+18))+(
/*1*/ idx42 = (* (( (ptr) b←v6520)+15) ),
/*1*/ limit43 = (* (( (ptr) b←v6520)+17) ),
/*1*/ BCK(idx42, limit43)
/*1*/ )))+2), (( (ptr) (* (( (ptr) gf←c0229)+8)/* h←v3084 */ ))+4), 2);
}
else {
tc41 = (word) 0;
};
if (tc41) {
SOURCE(6043, 13)
(void) (XR←MonitorExit((word) (( (bPt) gf←c0229)+16)/* LOCK←v2860 */ ));
(* (( (ptr) formal←c0230)+5) ) = 1;
return(1);
};
};
};
};
lab←L100044: ;
i←v6476 = (i←v6476 + 1);
if ((i←v6476 < noName←c15688)) {
goto lab←L100045;
};
lab←L100042: ;
};
SOURCE(6067, 14)
(void) (XR←MonitorExit((word) (( (bPt) gf←c0229)+16)/* LOCK←v2860 */ ));
(* (( (ptr) formal←c0230)+5) ) = 0;
return(1);
/* c2c skipped dead code */
}
static void TimeoutEvent←P900(formal←c0122)
word formal←c0122;
{
register ptr gf←c16872 = (ptr) &globalframe;
W4 var←c5292;
word var←c5320;
W2 now←v6564;
W2 tz←v6592;
/* TimeoutEvent: */
SOURCE(6087, 224)
SOURCE(6188, 41)
{
word var←c15752;
word pd44;
pd44 = (* (( (ptr) (* (( (ptr) gf←c16872)+70)/* var←c15720 */ ))+31) );
var←c15752 = (word) ( *( (fPt) ((* (ptr) pd44 ))))((word) &now←v6564, (word) &tz←v6592, pd44);
};
SOURCE(6231, 80)
{
word var←c15816;
var←c15816 = (* (( (ptr) gf←c16872)+23) );
var←c5292.f0 = 4294901760;
var←c5292.f1 = 0;
(* (W2Pt) (( (ptr) &var←c5292)+2) ) = now←v6564;
var←c5320 = var←c15816;
/* removed tail goto */
};
(* (W4Pt) formal←c0122 ) = var←c5292;
(* (( (ptr) formal←c0122)+4) ) = var←c5320;
return;
}
static void ThreadRead←P960(formal←c0128, formal←c0285)
word formal←c0128;
word formal←c0285;
{
W13 var←c16904;
/* declaration of timeout←v5380 skipped */
register ptr gf←c16936 = (ptr) &globalframe;
/* declaration of e←v5424 skipped */
/* declaration of deviceName←v5452 skipped */
/* declaration of dispatch←v5480 skipped */
/* declaration of var←c15848 skipped */
(* (( (ptr) &var←c16904)+4)/* timeout←v5380 */ ) = formal←c0285;
/* ThreadRead: */
SOURCE(6317, 1270)
{
word tmpAddr45;
tmpAddr45 = (word) (( (ptr) &var←c16904)+11)/* var←c15848 */ ;
(* (ptr) tmpAddr45 ) = ( ((word) (fPt) GetEvent←P1848) );
(* (( (ptr) tmpAddr45) + 1) ) = 1;
};
(void) (XR←MonitorEntry((word) (( (bPt) gf←c16936)+16)/* LOCK←v2860 */ ));
SOURCE(6317, 1270)
(* (( (ptr) &var←c16904)+9)/* deviceName←v5452 */ ) = 0;
SOURCE(6317, 1270)
(* (( (ptr) &var←c16904)+10)/* dispatch←v5480 */ ) = 0;
SOURCE(6461, 1126)
{
word var←c0253;
var←c0253 = (word) &var←c16904;
(void) (word) XR←Enable(( ((word) (fPt) NoName←Q2424) ), ( ((word) (fPt) NoName←Q2604) ), var←c0253);
};
/* removed tail goto */
(void) (XR←MonitorExit((word) (( (bPt) gf←c16936)+16)/* LOCK←v2860 */ ));
(* (W4Pt) formal←c0128 ) = (* (W4Pt) (( (ptr) &var←c16904)+5)/* e←v5424 */ );
(* (( (ptr) formal←c0128)+4) ) = (* (( (ptr) &var←c16904)+9)/* deviceName←v5452 */ );
(* (( (ptr) formal←c0128)+5) ) = (* (( (ptr) &var←c16904)+10)/* dispatch←v5480 */ );
return;
}
static word NoName←Q2424(formal←c0234)
word formal←c0234;
{
register ptr gf←c0233 = (ptr) &globalframe;
SOURCE(6484, 33)
SOURCE(7165, 388)
if ((0 == (word) GetEvent←P1848((word) ((( (bPt) formal←c0234)+44))))) {
SOURCE(7190, 363)
if (( (int)(* (( (ptr) formal←c0234)+4) ) == (int)0)) {
SOURCE(7210, 46)
{
W5 var←c15880;
(void) TimeoutEvent←P900((word) (&var←c15880));
(* (( (ptr) formal←c0234)+9) ) = var←c15880.f4;
(* (W4Pt) (( (ptr) formal←c0234)+5) ) = (* (W4Pt) &var←c15880 );
};
}
else {
SOURCE(7256, 297)
SOURCE(7258, 151)
if (( (int)(* (( (ptr) formal←c0234)+4) ) == (int)2147483647)) {
SOURCE(7295, 47)
{
word pd46;
pd46 = (* (( (ptr) (* (( (ptr) gf←c0233)+69)/* var←c15176 */ ))+10) );
(void) ( *( (fPt) ((* (ptr) pd46 ))))((word) ((( (bPt) (* (( (ptr) gf←c0233)+8)/* h←v3084 */ ))+24)), pd46);
};
}
else {
SOURCE(7342, 67)
{
word var←c15912;
{
word pd47;
word idx48;
pd47 = (* (( (ptr) (* (( (ptr) gf←c0233)+69)/* var←c15176 */ ))+6) );
var←c15912 = (word) ( *( (fPt) ((* (ptr) pd47 ))))((
idx48 = (* (( (ptr) formal←c0234)+4) ),
SGNCK(idx48)
), pd47);
};
{
word pd49;
pd49 = (* (( (ptr) (* (( (ptr) gf←c0233)+69)/* var←c15176 */ ))+9) );
(void) ( *( (fPt) ((* (ptr) pd49 ))))((word) (( (bPt) (* (( (ptr) gf←c0233)+8)/* h←v3084 */ ))+24), var←c15912, pd49);
};
};
};
SOURCE(7411, 122)
lab←L100053: ;
SOURCE(7414, 21)
(void) (XR←Wait((word) (( (bPt) gf←c0233)+16)/* LOCK←v2860 */ , (word) (( (bPt) (* (( (ptr) gf←c0233)+8)/* h←v3084 */ ))+24)
));
SOURCE(7437, 19)
if ((0 != (word) GetEvent←P1848((word) ((( (bPt) formal←c0234)+44))))) {
SOURCE(7456, 4)
goto lab←L100052;
};
SOURCE(7462, 71)
if (( (int)(* (( (ptr) formal←c0234)+4) ) != (int)2147483647)) {
SOURCE(7501, 32)
{
W5 var←c15944;
(void) TimeoutEvent←P900((word) (&var←c15944));
(* (( (ptr) formal←c0234)+9) ) = var←c15944.f4;
(* (W4Pt) (( (ptr) formal←c0234)+5) ) = (* (W4Pt) &var←c15944 );
};
SOURCE(7535, 4)
goto lab←L100052;
};
goto lab←L100053;
lab←L100052: ;
};
};
SOURCE(7559, 28)
(* (W2Pt) (( (ptr) (* (( (ptr) gf←c0233)+8)/* h←v3084 */ ))+4) ) = (* (W2Pt) (( (ptr) formal←c0234)+7) );
return(0);
}
static word GetEvent←P1848(formal←c17000)
word formal←c17000;
{
register ptr gf←c16968 = (ptr) &globalframe;
word var←c6712;
word best←v6740 = 0;
word anyActive←v6768 = 0;
formal←c17000 = (formal←c17000 - 44);
/* GetEvent: */
SOURCE(6484, 33)
SOURCE(6577, 288)
{
register word i←v6812 = 0;
register word noName←c15976;
noName←c15976 = (* (( (ptr) (* (( (ptr) gf←c16968)+8)/* h←v3084 */ ))+12) );
if ((i←v6812 >= noName←c15976)) {
goto lab←L100054;
};
lab←L100057: ;
{
word b←v6856;
SOURCE(6610, 28)
b←v6856 = (* ((( (ptr) (* (( (ptr) gf←c16968)+8)/* h←v3084 */ ))+13)+BCK(i←v6812, 10)) );
SOURCE(6640, 14)
if ((b←v6856 == 0)) {
SOURCE(6654, 4)
goto lab←L100056;
};
SOURCE(6660, 33)
if ((0 != anyActive←v6768)) {
anyActive←v6768 = (unsigned) 1;
}
else {
anyActive←v6768 = (unsigned) (0 != (* (ptr) b←v6856 ));
};
SOURCE(6695, 170)
if ( ( (0 != (* (ptr) b←v6856 )) ? ((* (( (ptr) b←v6856)+15) ) < (* (( (ptr) b←v6856)+16) )) : 0 ) ) {
SOURCE(6734, 131)
{
word idx51;
word limit52;
if ((best←v6740 == 0)) { goto then050;};
if ((0 != (word) InOrder←P720((* (W2Pt) (( (ptr) (( (W4Pt) (( (ptr) b←v6856)+18))+(
idx51 = (* (( (ptr) b←v6856)+15) ),
limit52 = (* (( (ptr) b←v6856)+17) ),
BCK(idx51, limit52)
)))+2) ), (* (W2Pt) (( (ptr) formal←c17000)+7) )))) {
then050: ;
SOURCE(6791, 8)
best←v6740 = b←v6856;
SOURCE(6801, 14)
{
word idx53;
word limit54;
(* (W4Pt) (( (ptr) formal←c17000)+5) ) = (* (( (W4Pt) (( (ptr) b←v6856)+18))+(
idx53 = (* (( (ptr) b←v6856)+15) ),
limit54 = (* (( (ptr) b←v6856)+17) ),
BCK(idx53, limit54)
)) );
};
SOURCE(6817, 25)
(* (( (ptr) formal←c17000)+9) ) = (* (( (ptr) b←v6856)+1) );
SOURCE(6844, 21)
(* (( (ptr) formal←c17000)+10) ) = XR←CheckProc(* (( (ptr) b←v6856)+4) );
};
};
};
};
lab←L100056: ;
i←v6812 = (i←v6812 + 1);
if ((i←v6812 < noName←c15976)) {
goto lab←L100057;
};
lab←L100054: ;
};
SOURCE(6882, 142)
if ((0 == anyActive←v6768)) {
SOURCE(6906, 81)
(* (( (ptr) formal←c17000)+5) ) = 4294901760;
(* (( (ptr) formal←c17000)+6) ) = 0;
(* (W2Pt) (( (ptr) formal←c17000)+7) ) = (* (W2Pt) (( (ptr) (* (( (ptr) gf←c16968)+8)/* h←v3084 */ ))+4) );
SOURCE(6989, 20)
(* (( (ptr) formal←c17000)+9) ) = (* (( (ptr) gf←c16968)+24) );
SOURCE(7011, 13)
return(1);
};
SOURCE(7029, 33)
if ((best←v6740 == 0)) {
SOURCE(7048, 14)
return(0);
};
SOURCE(7064, 27)
(* (( (ptr) best←v6740)+15) ) = ((* (( (ptr) best←v6740)+15) ) + 1);
SOURCE(7093, 53)
if (((* (( (ptr) best←v6740)+15) ) == (* (( (ptr) best←v6740)+16) ))) {
SOURCE(7123, 23)
(void) (XR←Notify((word) (( (bPt) best←v6740)+28)));
};
SOURCE(7148, 14)
return(1);
}
static void ProcessInput←P1020(formal←c0286, formal←c0287, formal←c0288, formal←c0289)
word formal←c0286;
word formal←c0287;
word formal←c0288;
word formal←c0289;
{
W8 var←c17032;
/* declaration of viewersWorld←v5540 skipped */
/* declaration of goAway←v5568 skipped */
/* declaration of updateMouse←v5596 skipped */
/* declaration of updatePen←v5624 skipped */
var←c17032.f4/* viewersWorld←v5540 */ = formal←c0286;
var←c17032.f5/* goAway←v5568 */ = formal←c0287;
var←c17032.f6/* updateMouse←v5596 */ = formal←c0288;
var←c17032.f7/* updatePen←v5624 */ = formal←c0289;
/* ProcessInput: */
SOURCE(7593, 265)
SOURCE(7756, 88)
SOURCE(7756, 88)
{
word var←c07;
{
word var←c0254;
var←c0254 = (word) &var←c17032;
var←c07 = (word) XR←Enable(( ((word) (fPt) NoName←Q2484) ), ( ((word) (fPt) NoName←Q2544) ), var←c0254);
};
/* removed trivial cond node */
};
SOURCE(7851, 7)
(void) Close←P180();
}
static word NoName←Q2484(formal←c0237)
word formal←c0237;
{
SOURCE(7784, 60)
(void) DoProcessInput←P1080((* (( (ptr) formal←c0237)+4) ), (* (( (ptr) formal←c0237)+5) ), (* (( (ptr) formal←c0237)+6) ), (* (
( (ptr) formal←c0237)+7) ));
return(0);
}
static void DoProcessInput←P1080(viewersWorld←v5684, goAway←v5712, updateMouse←v5740, updatePen←v5768)
word viewersWorld←v5684;
word goAway←v5712;
word updateMouse←v5740;
word updatePen←v5768;
{
register ptr gf←c17064 = (ptr) &globalframe;
W4 e←v6928;
word deviceName←v6956 = 0;
word dispatch←v6984 = 0;
word userInput←v7012;
/* DoProcessInput: */
SOURCE(7864, 798)
SOURCE(8306, 71)
{
word pd55;
pd55 = (* (( (ptr) (* (( (ptr) gf←c17064)+71)/* var←c16008 */ ))+4) );
userInput←v7012 = (word) ( *( (fPt) ((* (ptr) pd55 ))))(viewersWorld←v5684, pd55);
};
SOURCE(8380, 44)
{
word pd56;
pd56 = (* (( (ptr) (* (( (ptr) gf←c17064)+69)/* var←c15176 */ ))+13) );
(void) ( *( (fPt) ((* (ptr) pd56 ))))(4, pd56);
};
SOURCE(8426, 179)
lab←L100064: ;
SOURCE(8429, 36)
{
W6 var←c16040;
(void) Read←P780((word) &var←c16040, 50);
dispatch←v6984 = XR←CheckProc(var←c16040.f5);
deviceName←v6956 = var←c16040.f4;
e←v6928 = (* (W4Pt) &var←c16040 );
};
SOURCE(8467, 27)
if ((deviceName←v6956 == (* (( (ptr) gf←c17064)+24) ))) {
SOURCE(8494, 4)
goto lab←L100063;
};
SOURCE(8521, 84)
if ((dispatch←v6984 != 0)) {
SOURCE(8544, 61)
{
word var←c16072;
var←c16072 = (word) GetClientData←P480(deviceName←v6956);
(void) ( *( (fPt) ((* (ptr) dispatch←v6984 ))))(e←v6928, deviceName←v6956, 0, var←c16072, dispatch←v6984);
};
};
goto lab←L100064;
lab←L100063: ;
SOURCE(8629, 11)
(void) SetHToNIL←P1140();
SOURCE(8642, 20)
(void) StartSerialDevices←P1260();
}
static void SetHToNIL←P1140()
{
register ptr gf←c17096 = (ptr) &globalframe;
/* SetHToNIL: */
SOURCE(8669, 33)
(void) (XR←MonitorEntry((word) (( (bPt) gf←c17096)+16)/* LOCK←v2860 */ ));
SOURCE(8696, 6)
(* (( (ptr) gf←c17096)+8)/* h←v3084 */ ) = 0;
SOURCE(8669, 33)
(void) (XR←MonitorExit((word) (( (bPt) gf←c17096)+16)/* LOCK←v2860 */ ));
return;
}
static void WaitForRegistration←P1200()
{
register ptr gf←c17128 = (ptr) &globalframe;
word vw←v7056;
/* WaitForRegistration: */
SOURCE(8708, 165)
(void) (XR←MonitorEntry((word) (( (bPt) gf←c17128)+16)/* LOCK←v2860 */ ));
SOURCE(8745, 57)
{
word pd57;
pd57 = (* (( (ptr) (* (( (ptr) gf←c17128)+72)/* var←c16104 */ ))+4) );
vw←v7056 = (word) ( *( (fPt) ((* (ptr) pd57 ))))(pd57);
};
SOURCE(8804, 15)
(void) (XR←Wait((word) (( (bPt) gf←c17128)+16)/* LOCK←v2860 */ , (word) (( (bPt) gf←c17128)+36)/* registerCV←v3112 */ ));
SOURCE(8821, 52)
{
W2 var←c16136;
{
W2 var←c0158;
word var←c0157;
var←c0157 = XR←ExtensionAlloc(8);
{
word tmpAddr58;
tmpAddr58 = (word) var←c0157;
(* (ptr) tmpAddr58 ) = ( ((word) (fPt) NoName←Q3084) );
(* (( (ptr) tmpAddr58) + 1) ) = 0;
(* (( (ptr) tmpAddr58) + 2) ) = (word) (( (bPt) gf←c17128)+132)/* var←c14504 */ ;
(* (( (ptr) tmpAddr58) + 3) ) = 0;
(* (( (ptr) tmpAddr58) + 4) ) = vw←v7056;
(* (( (ptr) tmpAddr58) + 5) ) = 0;
(* (( (ptr) tmpAddr58) + 6) ) = 0;
(* (( (ptr) tmpAddr58) + 7) ) = 0;
};
(void) XR←Fork((word) &var←c0158, var←c0157);
var←c16136 = var←c0158;
};
{
word pd59;
pd59 = (* (( (ptr) (* (( (ptr) gf←c17128)+69)/* var←c15176 */ ))+11) );
(void) ( *( (fPt) ((* (ptr) pd59 ))))(var←c16136, pd59);
};
};
SOURCE(8708, 165)
(void) (XR←MonitorExit((word) (( (bPt) gf←c17128)+16)/* LOCK←v2860 */ ));
return;
}
static void StartSerialDevices←P1260()
{
register ptr gf←c17160 = (ptr) &globalframe;
/* StartSerialDevices: */
SOURCE(8879, 72)
SOURCE(8909, 42)
{
W2 var←c16168;
{
W2 var←c0164;
word var←c0163;
var←c0163 = XR←ExtensionAlloc(4);
{
word tmpAddr60;
tmpAddr60 = (word) var←c0163;
(* (ptr) tmpAddr60 ) = ( ((word) (fPt) NoName←Q3144) );
(* (( (ptr) tmpAddr60) + 1) ) = 0;
(* (( (ptr) tmpAddr60) + 2) ) = (word) (( (bPt) gf←c17160)+108)/* var←c14408 */ ;
(* (( (ptr) tmpAddr60) + 3) ) = 0;
};
(void) XR←Fork((word) &var←c0164, var←c0163);
var←c16168 = var←c0164;
};
{
word pd61;
pd61 = (* (( (ptr) (* (( (ptr) gf←c17160)+69)/* var←c15176 */ ))+11) );
(void) ( *( (fPt) ((* (ptr) pd61 ))))(var←c16168, pd61);
};
};
}
static void NoName←Q2544(formal←c0171, formal←c200028, formal←c200029, formal←c200030, formal←c200031)
word formal←c0171;
word formal←c200028;
word formal←c200029;
word formal←c200030;
word formal←c200031;
{
if ((formal←c200029 == XR←Aborted)) {
SOURCE(7774, 8)
(* (ptr) formal←c0171 ) = 2;
(* (( (ptr) formal←c0171)+1) ) = 4;
return;
};
(* (ptr) formal←c0171 ) = 0;
(* (( (ptr) formal←c0171)+1) ) = 0;
return;
}
static void NoName←Q2604(formal←c0176, formal←c200024, formal←c200025, formal←c200026, formal←c200027)
word formal←c0176;
word formal←c200024;
word formal←c200025;
word formal←c200026;
word formal←c200027;
{
register ptr gf←c0242 = (ptr) &globalframe;
if ((formal←c200025 == XR←Unwind)) {
(void) (XR←MonitorExit((word) (( (bPt) gf←c0242)+16)/* LOCK←v2860 */ ));
};
(* (ptr) formal←c0176 ) = 0;
(* (( (ptr) formal←c0176)+1) ) = 0;
return;
}
static void NoName←Q2664(formal←c0181, formal←c200020, formal←c200021, formal←c200022, formal←c200023)
word formal←c0181;
word formal←c200020;
word formal←c200021;
word formal←c200022;
word formal←c200023;
{
register ptr gf←c0243 = (ptr) &globalframe;
if ((formal←c200021 == XR←Unwind)) {
(void) (XR←MonitorExit((word) (( (bPt) gf←c0243)+16)/* LOCK←v2860 */ ));
};
(* (ptr) formal←c0181 ) = 0;
(* (( (ptr) formal←c0181)+1) ) = 0;
return;
}
static void NoName←Q2724(formal←c0186, formal←c200016, formal←c200017, formal←c200018, formal←c200019)
word formal←c0186;
word formal←c200016;
word formal←c200017;
word formal←c200018;
word formal←c200019;
{
register ptr gf←c0244 = (ptr) &globalframe;
if ((formal←c200017 == XR←Unwind)) {
(void) (XR←MonitorExit((word) (( (bPt) gf←c0244)+16)/* LOCK←v2860 */ ));
};
(* (ptr) formal←c0186 ) = 0;
(* (( (ptr) formal←c0186)+1) ) = 0;
return;
}
static void NoName←Q2784(formal←c0191, formal←c200012, formal←c200013, formal←c200014, formal←c200015)
word formal←c0191;
word formal←c200012;
word formal←c200013;
word formal←c200014;
word formal←c200015;
{
register ptr gf←c0245 = (ptr) &globalframe;
if ((formal←c200013 == XR←Unwind)) {
(void) (XR←MonitorExit((word) (( (bPt) gf←c0245)+16)/* LOCK←v2860 */ ));
};
(* (ptr) formal←c0191 ) = 0;
(* (( (ptr) formal←c0191)+1) ) = 0;
return;
}
static void NoName←Q2844(formal←c0196, formal←c200008, formal←c200009, formal←c200010, formal←c200011)
word formal←c0196;
word formal←c200008;
word formal←c200009;
word formal←c200010;
word formal←c200011;
{
if ((formal←c200009 == XR←Aborted)) {
SOURCE(4431, 8)
(* (ptr) formal←c0196 ) = 2;
(* (( (ptr) formal←c0196)+1) ) = 3;
return;
};
(* (ptr) formal←c0196 ) = 0;
(* (( (ptr) formal←c0196)+1) ) = 0;
return;
}
static void NoName←Q2904(formal←c0201, formal←c200004, formal←c200005, formal←c200006, formal←c200007)
word formal←c0201;
word formal←c200004;
word formal←c200005;
word formal←c200006;
word formal←c200007;
{
register ptr gf←c0246 = (ptr) &globalframe;
if ((formal←c200005 == XR←Unwind)) {
(void) (XR←MonitorExit((word) (( (bPt) gf←c0246)+16)/* LOCK←v2860 */ ));
};
(* (ptr) formal←c0201 ) = 0;
(* (( (ptr) formal←c0201)+1) ) = 0;
return;
}
static void NoName←Q2964(formal←c0206, formal←c200000, formal←c200001, formal←c200002, formal←c200003)
word formal←c0206;
word formal←c200000;
word formal←c200001;
word formal←c200002;
word formal←c200003;
{
if ((formal←c200001 == XR←Unwind)) {
};
(* (ptr) formal←c0206 ) = 0;
(* (( (ptr) formal←c0206)+1) ) = 0;
return;
}
static word NoName←Q3024(formal←c077)
word formal←c077;
{
W2 var←c079;
word var←c078;
/* intermediary proc for a FORK, nArgs: 2, nRets: 0 */
var←c079 = (* (W2Pt) (( (ptr) formal←c077)+4) );
var←c078 = (* (( (ptr) formal←c077)+2) );
formal←c077 = XR←ExtensionFree(formal←c077);
(void) ( *( (fPt) ((* (ptr) var←c078 ))))(var←c079.f0, var←c079.f1, var←c078);
return(0);
}
static word NoName←Q3084(formal←c0159)
word formal←c0159;
{
W4 var←c0161;
word var←c0160;
/* intermediary proc for a FORK, nArgs: 4, nRets: 0 */
var←c0161 = (* (W4Pt) (( (ptr) formal←c0159)+4) );
var←c0160 = (* (( (ptr) formal←c0159)+2) );
formal←c0159 = XR←ExtensionFree(formal←c0159);
(void) ( *( (fPt) ((* (ptr) var←c0160 ))))(var←c0161.f0, var←c0161.f1, var←c0161.f2, var←c0161.f3, var←c0160);
return(0);
}
static word NoName←Q3144(formal←c0165)
word formal←c0165;
{
word var←c0166;
/* intermediary proc for a FORK, nArgs: 0, nRets: 0 */
var←c0166 = (* (( (ptr) formal←c0165)+2) );
formal←c0165 = XR←ExtensionFree(formal←c0165);
(void) ( *( (fPt) ((* (ptr) var←c0166 ))))(var←c0166);
return(0);
}
/* file: X11SerialDevicesImpl, module: X11SerialDevicesImpl, compiled at: September 30, 1993 10:52:59 am PDT */
extern void XR←install←X11SerialDevicesImpl() {
NoName←Q2004();
}
extern void XR←run←X11SerialDevicesImpl() { XR←Start(&globalframe); }