/* 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); }