/* Generated with C2C (Cedar To C)*/ /* Copyright (C) 1992 by Xerox Corporation. All rights reserved. */ /* time: June 15, 1992 10:05:18 pm PDT */ /* C2C version: October 16, 1990 (native) */ /* ref-counting: off */ /* file: XTkFastAccessPrivateImpl, module: XTkFastAccessPrivateImpl */ /* switches: bcfhklnouw */ #include <cedar/InstallationSupport.h> #include <cedar/CedarExtra.h> static char versionStamp[] = "@(#)mob←version [2280355483,466151353] XTkFastAccessPrivateImpl"; typedef unsigned word, *ptr; typedef unsigned char byte, *bPt; typedef unsigned short half, *hPt; typedef word (*fPt)(); typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8; typedef W8 *W8Pt; typedef struct {word f0, f1;} W2; #define SOURCE(p, l) /* source p, l */ static void NoName←Q756(); static void XTkFastAccessPrivateImpl←P0(); static word New←P60(); static void Free←P120(); static word Include←P180(); static void Synchronize←P240(); static void Init←P348(); static word Check←P408(); static struct {unsigned f; char r[16];} string1 = {851984, "\257\300\207\353\166\233\300\033\310\347\271\100\200\000\000"}; static struct {unsigned f; char r[12];} string2 = {720907, "\006\003\000\004\100\377\040\013\100\104\001"}; static struct {unsigned f; char r[16];} string3 = {851984, "\257\300\207\353\166\233\300\033\310\347\271\100\164\000\000"}; static struct {unsigned f; char r[4];} string4 = {131074, "\003\010\000"}; static struct {unsigned f; char r[16];} string5 = {851984, "\257\300\212\174\364\337\300\361\376\000\156\100\150\000\000"}; static struct {unsigned f; char r[16];} string6 = {851984, "\257\300\240\236\274\315\300\111\163\325\023\100\150\000\000"}; static struct {unsigned f; char r[16];} string7 = {851984, "\257\300\351\276\264\273\300\115\104\320\264\100\164\000\000"}; static struct {unsigned f; char r[20];} string8 = {1179668, "\211\006\005\124\121\122\145\160\300\351\276\264\273\300\115\104\320\264\000"}; static struct {unsigned f; char r[16];} string9 = {851984, "\257\300\276\357\323\042\300\311\135\170\244\100\164\000\000"}; static struct {unsigned f; char r[20];} string10 = {1179666, "\006\006\060\001\064\001\100\160\001\100\164\001\100\214\001\100\224\001\000"}; static struct {unsigned f; char r[16];} string11 = {851984, "\257\300\314\010\357\126\300\054\306\061\322\100\150\000\000"}; static struct {unsigned f; char r[24];} string12 = {1376280, "\211\011\010\124\121\123\145\164\122\145\160\300\314\010\357\126\300\054\306\061\322\000\000"}; static struct { word f0[15]; word f15; word f16; word f17; word f18; word f19; word f20; word f21; word f22; word f23; word f24[4]; } globalframe = { {0}, (word) Synchronize←P240, 0, (word) Include←P180, 0, (word) Free←P120, 0, (word) New←P60, 0, (word) XTkFastAccessPrivateImpl←P0, {0} }; static void NoName←Q756() { register ptr gf←c035 = (ptr) &globalframe; word var←c6092; (* (( (ptr) gf←c035)+11) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2); (void) XR←DeclareGlobalFrame((word) "XTkFastAccessPrivateImpl", &globalframe, (word) XR←GetTypeIndex((word) &string3, 0, (word) &string4) , (word) (( (bPt) gf←c035)+92)/* var←c5900 */ ); var←c6092 = (word) XR←ImportInterface((word) "BasicTime", (word) XR←GetTypeIndexS((word) (&string5)), 24); (* (( (ptr) gf←c035)+25)/* var←c5932 */ ) = var←c6092; (void) XR←ImportProcS(var←c6092, 67109632); (void) XR←ImportProcS(var←c6092, 67372545); var←c6092 = (word) XR←ImportInterface((word) "Process", (word) XR←GetTypeIndexS((word) (&string6)), 22); (* (( (ptr) gf←c035)+26)/* var←c6060 */ ) = var←c6092; (void) XR←ImportProcS(var←c6092, 266497); (void) XR←ImportProcS(var←c6092, 4864); var←c6092 = (word) XR←ExportInterface((word) "Xl", (word) XR←GetTypeIndexS((word) (&string7)), 218); (* (( (ptr) gf←c035)+27)/* var←c6124 */ ) = var←c6092; (void) XR←ExportType((word) "TQRep", (word) XR←GetTypeIndexS((word) (&string8)), (word) XR←GetTypeIndex((word) &string9, 0, (word) &string10) ); var←c6092 = (word) XR←ExportInterface((word) "XTkFastAccessPrivate", (word) XR←GetTypeIndexS((word) (&string11)), 3); (* (( (ptr) gf←c035)+27)/* var←c6124 */ ) = var←c6092; (void) XR←ExportType((word) "TQSetRep", (word) XR←GetTypeIndexS((word) (&string12)), (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2) ); (void) XR←ExportProcS(var←c6092, (word) (( (bPt) gf←c035)+68)/* var←c5804 */ , 67633410); (void) XR←ExportProcS(var←c6092, (word) (( (bPt) gf←c035)+60)/* var←c5772 */ , 262657); } static void XTkFastAccessPrivateImpl←P0(formal←c015, formal←c014) word formal←c015; word formal←c014; { register ptr gf←c6156 = (ptr) &globalframe; /* XTkFastAccessPrivateImpl: */ SOURCE(176, 2478) SOURCE(1401, 65) { word pd13; pd13 = (* (( (ptr) (* (( (ptr) gf←c6156)+25)/* var←c5932 */ ))+10) ); (* (( (ptr) gf←c6156)+9)/* limit←v2860 */ ) = (word) ( *( (fPt) ((* (ptr) pd13 ))))(5000000, pd13); }; } static word New←P60(link←v3192) word link←v3192; { register ptr gf←c6188 = (ptr) &globalframe; word s←v3236; /* New: */ SOURCE(758, 177) (void) (XR←MonitorEntry((word) (( (bPt) gf←c6188)+16)/* LOCK←v2580 */ )); SOURCE(758, 177) s←v3236 = 0; SOURCE(817, 12) s←v3236 = (* (( (ptr) gf←c6188)+8)/* freeList←v2748 */ ); SOURCE(831, 58) if ((s←v3236 != 0)) { SOURCE(846, 26) (* (( (ptr) gf←c6188)+8)/* freeList←v2748 */ ) = (* (( (ptr) s←v3236)+17) ); } else { SOURCE(872, 17) s←v3236 = XR←NewObject(72, (* (( (ptr) gf←c6188)+11) )); }; SOURCE(891, 25) (* (( (ptr) s←v3236)+16) ) = 1; SOURCE(918, 17) (* (( (ptr) s←v3236)+17) ) = link←v3192; SOURCE(758, 177) (void) (XR←MonitorExit((word) (( (bPt) gf←c6188)+16)/* LOCK←v2580 */ )); return(s←v3236); } static void Free←P120(s←v3296) word s←v3296; { register ptr gf←c6220 = (ptr) &globalframe; /* Free: */ SOURCE(939, 108) (void) (XR←MonitorEntry((word) (( (bPt) gf←c6220)+16)/* LOCK←v2580 */ )); SOURCE(971, 19) XR←FillWords(&(* (W8Pt) (s←v3296)), 8, 0); SOURCE(992, 18) XR←FillWords(&(* (W8Pt) ((( (ptr) s←v3296)+8))), 8, 0); SOURCE(1012, 20) (* (( (ptr) s←v3296)+17) ) = (* (( (ptr) gf←c6220)+8)/* freeList←v2748 */ ); SOURCE(1034, 13) (* (( (ptr) gf←c6220)+8)/* freeList←v2748 */ ) = s←v3296; SOURCE(939, 108) (void) (XR←MonitorExit((word) (( (bPt) gf←c6220)+16)/* LOCK←v2580 */ )); return; } static word Include←P180(set←v3356, tq←v3384) word set←v3356; word tq←v3384; { word s←v3428; /* Include: */ SOURCE(1051, 336) SOURCE(1051, 336) s←v3428 = 0; SOURCE(1119, 27) if ((set←v3356 == 0)) { SOURCE(1135, 11) set←v3356 = (word) New←P60(0); }; SOURCE(1148, 7) s←v3428 = set←v3356; SOURCE(1157, 28) if ((0 == (* (( (ptr) s←v3428)+16) ))) { SOURCE(1185, 5) (void) XR←RaiseUnnamedError(); }; SOURCE(1230, 157) lab←L100002: ; SOURCE(1233, 132) { register word idx←v3516 = 0; lab←L100006: ; SOURCE(1278, 31) if (((* (( (ptr) s←v3428)+idx←v3516) ) == tq←v3384)) { SOURCE(1303, 6) return(s←v3428); }; SOURCE(1312, 53) if (((* (( (ptr) s←v3428)+idx←v3516) ) == 0)) { SOURCE(1339, 18) (* (( (ptr) s←v3428)+idx←v3516) ) = tq←v3384; SOURCE(1359, 6) return(s←v3428); }; if ((idx←v3516 >= 7)) { goto lab←L100003; }; idx←v3516 = (idx←v3516 + 1); goto lab←L100006; lab←L100003: ; }; SOURCE(1377, 10) s←v3428 = (word) New←P60(s←v3428); goto lab←L100002; } static void Synchronize←P240(set←v3488) word set←v3488; { W8 var←c6252; register ptr gf←c6284 = (ptr) &globalframe; /* declaration of var←c5996 skipped */ /* declaration of var←c6028 skipped */ /* Synchronize: */ SOURCE(1469, 1185) { word tmpAddr14; tmpAddr14 = (word) (( (ptr) &var←c6252)+4)/* var←c5996 */ ; (* (ptr) tmpAddr14 ) = ( ((word) (fPt) Check←P408) ); (* (( (ptr) tmpAddr14) + 1) ) = 1; }; { word tmpAddr15; tmpAddr15 = (word) (( (ptr) &var←c6252)+6)/* var←c6028 */ ; (* (ptr) tmpAddr15 ) = ( ((word) (fPt) Init←P348) ); (* (( (ptr) tmpAddr15) + 1) ) = 1; }; SOURCE(2291, 363) if ((set←v3488 != 0)) { SOURCE(2307, 420) { word pulses←v3816; SOURCE(2335, 9) (void) Init←P348(set←v3488, (word) (( (bPt) &var←c6252)+24)/* var←c6028 */ ); SOURCE(2346, 15) { word pd16; pd16 = (* (( (ptr) (* (( (ptr) gf←c6284)+26)/* var←c6060 */ ))+23) ); (void) ( *( (fPt) ((* (ptr) pd16 ))))(pd16); }; SOURCE(2363, 253) if ((0 != (word) Check←P408(set←v3488, (word) (( (bPt) &var←c6252)+16)/* var←c5996 */ ))) { SOURCE(2391, 251) { word start←v3860; SOURCE(2393, 52) { word pd17; pd17 = (* (( (ptr) (* (( (ptr) gf←c6284)+25)/* var←c5932 */ ))+7) ); start←v3860 = (word) ( *( (fPt) ((* (ptr) pd17 ))))(pd17); }; SOURCE(2447, 169) lab←L100009: ; SOURCE(2450, 16) { word pd18; pd18 = (* (( (ptr) (* (( (ptr) gf←c6284)+26)/* var←c6060 */ ))+21) ); (void) ( *( (fPt) ((* (ptr) pd18 ))))(5, pd18); }; SOURCE(2468, 16) { word pd19; pd19 = (* (( (ptr) (* (( (ptr) gf←c6284)+26)/* var←c6060 */ ))+21) ); (void) ( *( (fPt) ((* (ptr) pd19 ))))(5, pd19); }; SOURCE(2486, 35) if ((0 == (word) Check←P408(set←v3488, (word) (( (bPt) &var←c6252)+16)/* var←c5996 */ ))) { SOURCE(2515, 6) return; }; SOURCE(2525, 35) { word pd20; pd20 = (* (( (ptr) (* (( (ptr) gf←c6284)+25)/* var←c5932 */ ))+7) ); pulses←v3816 = (word) ( *( (fPt) ((* (ptr) pd20 ))))(pd20); }; SOURCE(2562, 54) if (((pulses←v3816 - start←v3860) > (* (( (ptr) gf←c6284)+9)/* limit←v2860 */ ))) { SOURCE(2616, 4) goto lab←L100008; }; goto lab←L100009; lab←L100008: ; }; }; SOURCE(2645, 9) (void) Free←P120(set←v3488); }; }; } static void Init←P348(set←v3684, formal←c6316) word set←v3684; word formal←c6316; { formal←c6316 = (formal←c6316 - 24); /* Init: */ SOURCE(1511, 345) SOURCE(1539, 317) lab←L100012: ; if ((set←v3684 != 0)) { } else { goto lab←L100010; }; SOURCE(1556, 28) (* (( (ptr) set←v3684)+16) ) = 0; SOURCE(1586, 239) { register word i←v3904 = 0; lab←L100016: ; { word t←v3968; SOURCE(1629, 21) t←v3968 = (* (( (ptr) set←v3684)+i←v3904) ); SOURCE(1652, 173) if ((t←v3968 != 0)) { SOURCE(1668, 157) if ( ( ((* (( (ptr) t←v3968)+28) ) == 0) ? ((* (( (ptr) t←v3968)+10) ) == 0) : 0 ) ) { SOURCE(1778, 26) (* (( (ptr) set←v3684)+i←v3904) ) = 0; } else { SOURCE(1804, 21) (* ((( (ptr) set←v3684)+8)+i←v3904) ) = (* (( (ptr) t←v3968)+28) ); }; }; }; if ((i←v3904 >= 7)) { goto lab←L100013; }; i←v3904 = (i←v3904 + 1); goto lab←L100016; lab←L100013: ; }; SOURCE(1839, 17) set←v3684 = (* (( (ptr) set←v3684)+17) ); goto lab←L100012; lab←L100010: ; } static word Check←P408(set←v3744, formal←c6348) word set←v3744; word formal←c6348; { word mustWait←v3788; formal←c6348 = (formal←c6348 - 16); /* Check: */ SOURCE(1870, 407) SOURCE(1870, 407) mustWait←v3788 = 0; SOURCE(1932, 345) lab←L100019: ; if ((set←v3744 != 0)) { } else { goto lab←L100017; }; SOURCE(1949, 293) { register word i←v4012 = 0; lab←L100023: ; { word t←v4076; SOURCE(1992, 21) t←v4076 = (* (( (ptr) set←v3744)+i←v4012) ); SOURCE(2015, 227) if ((t←v4076 != 0)) { SOURCE(2031, 211) if ( ( ((* (( (ptr) t←v4076)+28) ) == 0) ? ((* (( (ptr) t←v4076)+10) ) == 0) : 0 ) ) { SOURCE(2134, 26) (* (( (ptr) set←v3744)+i←v4012) ) = 0; } else { SOURCE(2162, 80) if (((* ((( (ptr) set←v3744)+8)+i←v4012) ) != (* (( (ptr) t←v4076)+28) ))) { SOURCE(2192, 26) (* (( (ptr) set←v3744)+i←v4012) ) = 0; } else { SOURCE(2219, 15) mustWait←v3788 = 1; SOURCE(2236, 6) return(mustWait←v3788); }; }; }; }; if ((i←v4012 >= 7)) { goto lab←L100020; }; i←v4012 = (i←v4012 + 1); goto lab←L100023; lab←L100020: ; }; SOURCE(2260, 17) set←v3744 = (* (( (ptr) set←v3744)+17) ); goto lab←L100019; lab←L100017: ; SOURCE(1870, 407) return(mustWait←v3788); } /* file: XTkFastAccessPrivateImpl, module: XTkFastAccessPrivateImpl, compiled at: June 15, 1992 10:05:18 pm PDT */ extern void XR←install←XTkFastAccessPrivateImpl() { NoName←Q756(); } extern void XR←run←XTkFastAccessPrivateImpl() { XR←Start(&globalframe); }