/* Generated with C2C (Cedar To C)*/ /* Copyright (C) 1992 by Xerox Corporation. All rights reserved. */ /* time: February 27, 1992 5:32:31 pm PST */ /* C2C version: October 16, 1990 (native) */ /* ref-counting: off */ /* file: MonitoredQueueImpl, module: MonitoredQueueImpl */ /* switches: bcfhklnouw */ #include #include static char versionStamp[] = "@(#)mob_version [4270235943,2854451115] MonitoredQueueImpl"; typedef unsigned word, *ptr; typedef unsigned char byte, *bPt; typedef unsigned short half, *hPt; typedef struct {word f0, f1, f2, f3, f4, f5, f6;} W7; typedef word (*fPt)(); typedef struct {word f0, f1, f2, f3, f4, f5;} W6; typedef struct {word f0, f1, f2, f3, f4;} W5; #define SOURCE(p, l) /* source p, l */ static void NoName_Q624(); static void MonitoredQueueImpl_P0(); static word Create_P60(); static void Add_P120(); static void AddToSet_P180(); static void AddIt_P240(); static word NoName_Q684(); static word Remove_P300(); static word NoName_Q744(); static void Close_P360(); static word NoName_Q804(); static void Reset_P420(); static word NoName_Q864(); static void NoName_Q924(); static void NoName_Q984(); static void NoName_Q1044(); static void NoName_Q1104(); static struct {unsigned f; char r[16];} string1 = {851984, "\257\300\376\206\241\047\300\252\043\167\253\100\200\000\000"}; static struct {unsigned f; char r[4];} string2 = {196611, "\004@p"}; static struct {unsigned f; char r[20];} string3 = {1179668, "\260\006\005\146\151\162\163\164\217\005\004\162\145\163\164\214\217\261\000"}; static struct {unsigned f; char r[4];} string4 = {131074, "\004\003\000"}; static struct {unsigned f; char r[16];} string5 = {851984, "\257\300\376\206\241\047\300\252\043\167\253\100\164\000\000"}; static struct {unsigned f; char r[16];} string6 = {851984, "\257\300\237\211\044\154\300\046\105\033\126\100\150\000\000"}; static struct {unsigned f; char r[24];} string7 = {1441816, "\211\012\011\121\165\145\165\145\102\157\144\171\300\237\211\044\154\300\046\105\033\126\000"}; static struct { word f0[8]; word f8; word f9; word f10; word f11; word f12; word f13; word f14; word f15; word f16; word f17; word f18; word f19; word f20; word f21; word f22; word f23[2]; } globalframe = { {0}, (word) Reset_P420, 0, (word) Close_P360, 0, (word) Remove_P300, 0, (word) AddIt_P240, 0, (word) AddToSet_P180, 0, (word) Add_P120, 0, (word) Create_P60, 0, (word) MonitoredQueueImpl_P0, {0} }; static void NoName_Q624() { register ptr gf_c053 = (ptr) &globalframe; word var_c4736; (* (( (ptr) gf_c053)+4) ) = (word) XR_GetTypeIndex((word) &string1, 0, (word) &string2); (* (( (ptr) gf_c053)+5) ) = (word) XR_GetTypeIndex((word) &string3, 0, (word) &string4); (void) XR_DeclareGlobalFrame((word) "MonitoredQueueImpl", &globalframe, (word) XR_GetTypeIndexS((word) (&string5)), (word) ( ( (bPt) gf_c053)+88)/* var_c4544 */ ); var_c4736 = (word) XR_ExportInterface((word) "MonitoredQueue", (word) XR_GetTypeIndexS((word) (&string6)), 9); (* (( (ptr) gf_c053)+24)/* var_c4704 */ ) = var_c4736; (void) XR_ExportType((word) "QueueBody", (word) XR_GetTypeIndexS((word) (&string7)), (word) XR_GetTypeIndex((word) &string1, 0, (word) &string2) ); (void) XR_ExportProcS(var_c4736, (word) (( (bPt) gf_c053)+80)/* var_c4512 */ , 67109120); (void) XR_ExportProcS(var_c4736, (word) (( (bPt) gf_c053)+72)/* var_c4480 */ , 524802); (void) XR_ExportProcS(var_c4736, (word) (( (bPt) gf_c053)+64)/* var_c4448 */ , 525058); (void) XR_ExportVar(var_c4736, 4, (word) (( (bPt) gf_c053)+24)); (void) XR_ExportVar(var_c4736, 5, (word) (( (bPt) gf_c053)+28)); (void) XR_ExportProcS(var_c4736, (word) (( (bPt) gf_c053)+48)/* var_c4384 */ , 67372545); (void) XR_ExportProcS(var_c4736, (word) (( (bPt) gf_c053)+40)/* var_c4352 */ , 263937); (void) XR_ExportProcS(var_c4736, (word) (( (bPt) gf_c053)+32)/* var_c4320 */ , 264193); } static void MonitoredQueueImpl_P0(formal_c015, formal_c014) word formal_c015; word formal_c014; { /* MonitoredQueueImpl: */ } static word Create_P60() { register ptr gf_c4768 = (ptr) &globalframe; word queue_v3124; /* Create: */ SOURCE(345, 71) SOURCE(345, 71) queue_v3124 = 0; SOURCE(389, 27) return(XR_NewObject(56, (* (( (ptr) gf_c4768)+4) ))); } static void Add_P120(item_v3184, queue_v3212) word item_v3184; word queue_v3212; { /* Add: */ SOURCE(422, 74) SOURCE(470, 26) (void) AddIt_P240(item_v3184, queue_v3212, 0); } static void AddToSet_P180(item_v3284, queue_v3312) word item_v3284; word queue_v3312; { /* AddToSet: */ SOURCE(500, 78) SOURCE(553, 25) (void) AddIt_P240(item_v3284, queue_v3312, 1); } static void AddIt_P240(formal_c073, formal_c074, formal_c075) word formal_c073; word formal_c074; word formal_c075; { W7 var_c4800; /* declaration of item_v3384 skipped */ /* declaration of queue_v3412 skipped */ /* declaration of toSet_v3440 skipped */ var_c4800.f4/* item_v3384 */ = formal_c073; var_c4800.f5/* queue_v3412 */ = formal_c074; var_c4800.f6/* toSet_v3440 */ = formal_c075; /* AddIt: */ SOURCE(582, 511) (void) (XR_MonitorEntry(var_c4800.f5/* queue_v3412 */ )); SOURCE(656, 437) { word var_c01; { word var_c061; var_c061 = (word) &var_c4800; var_c01 = (word) XR_Enable(( ((word) (fPt) NoName_Q684) ), ( ((word) (fPt) NoName_Q1104) ), var_c061); }; if ((var_c01 == 1)) { goto lab_L02; }; }; SOURCE(582, 511) (void) (XR_MonitorExit(var_c4800.f5/* queue_v3412 */ )); return; lab_L02: ; return; } static word NoName_Q684(formal_c056) word formal_c056; { register ptr gf_c055 = (ptr) &globalframe; SOURCE(679, 5) { word new_v3716 = 0; SOURCE(701, 32) if ((0 != (* (( (ptr) (* (( (ptr) formal_c056)+5) ))+7) ))) { SOURCE(716, 17) (void) XR_RaiseError((word) (( (bPt) gf_c055)+24), 0); }; SOURCE(735, 145) if ((0 != (* (( (ptr) formal_c056)+6) ))) { SOURCE(785, 95) { register word list_v3856; list_v3856 = (* (( (ptr) (* (( (ptr) formal_c056)+5) ))+4) ); lab_L100005: ; if ((list_v3856 != 0)) { } else { goto lab_L100002; }; SOURCE(848, 32) if (((* (ptr) list_v3856 ) == (* (( (ptr) formal_c056)+4) ))) { SOURCE(874, 6) (void) (XR_MonitorExit(* (( (ptr) formal_c056)+5) )); return(1); }; list_v3856 = (* (( (ptr) list_v3856)+1) ); goto lab_L100005; lab_L100002: ; }; }; SOURCE(911, 107) if (((* (( (ptr) (* (( (ptr) formal_c056)+5) ))+6) ) != 0)) { SOURCE(932, 10) new_v3716 = (* (( (ptr) (* (( (ptr) formal_c056)+5) ))+6) ); SOURCE(944, 16) (* (( (ptr) (* (( (ptr) formal_c056)+5) ))+6) ) = (* (( (ptr) (* (( (ptr) (* (( (ptr) formal_c056)+5) ))+6) ))+1) ); SOURCE(962, 14) (* (( (ptr) new_v3716)+1) ) = 0; SOURCE(978, 17) (* (ptr) new_v3716 ) = (* (( (ptr) formal_c056)+4) ); } else { SOURCE(1002, 16) { word var_c4640; word var_c4672; var_c4640 = XR_NewObject(8, (* (( (ptr) gf_c055)+5) )); var_c4672 = var_c4640; (* (ptr) var_c4672 ) = (* (( (ptr) formal_c056)+4) ); new_v3716 = var_c4640; }; }; SOURCE(1020, 47) if (((* (( (ptr) (* (( (ptr) formal_c056)+5) ))+5) ) == 0)) { SOURCE(1036, 17) (* (( (ptr) (* (( (ptr) formal_c056)+5) ))+4) ) = new_v3716; } else { SOURCE(1053, 14) (* (( (ptr) (* (( (ptr) (* (( (ptr) formal_c056)+5) ))+5) ))+1) ) = new_v3716; }; SOURCE(1069, 9) (* (( (ptr) (* (( (ptr) formal_c056)+5) ))+5) ) = new_v3716; SOURCE(1080, 13) (void) (XR_Notify((word) (( (bPt) (* (( (ptr) formal_c056)+5) ))+32))); }; return(0); } static word Remove_P300(formal_c076) word formal_c076; { W6 var_c4832; /* declaration of queue_v3512 skipped */ /* declaration of item_v3556 skipped */ var_c4832.f4/* queue_v3512 */ = formal_c076; /* Remove: */ SOURCE(1099, 447) (void) (XR_MonitorEntry(var_c4832.f4/* queue_v3512 */ )); SOURCE(1099, 447) var_c4832.f5/* item_v3556 */ = 0; SOURCE(1177, 369) { word var_c062; var_c062 = (word) &var_c4832; (void) (word) XR_Enable(( ((word) (fPt) NoName_Q744) ), ( ((word) (fPt) NoName_Q1044) ), var_c062); }; SOURCE(1099, 447) (void) (XR_MonitorExit(var_c4832.f4/* queue_v3512 */ )); return(var_c4832.f5/* item_v3556 */ ); } static word NoName_Q744(formal_c058) word formal_c058; { register ptr gf_c057 = (ptr) &globalframe; SOURCE(1200, 9) { word current_v3996 = 0; SOURCE(1226, 42) lab_L100010: ; if ( ( (0 == (* (( (ptr) (* (( (ptr) formal_c058)+4) ))+7) )) ? ((* (( (ptr) (* (( (ptr) formal_c058)+4) ))+4) ) == 0) : 0 ) ) { } else { goto lab_L100008; }; SOURCE(1257, 11) (void) (XR_Wait((* (( (ptr) formal_c058)+4) ), (word) (( (bPt) (* (( (ptr) formal_c058)+4) ))+32))); goto lab_L100010; lab_L100008: ; SOURCE(1279, 48) current_v3996 = (* (( (ptr) (* (( (ptr) formal_c058)+4) ))+4) ); if ((current_v3996 == 0)) { SOURCE(1311, 16) (void) XR_RaiseError((word) (( (bPt) gf_c057)+28), 0); }; SOURCE(1329, 20) (* (( (ptr) formal_c058)+5) ) = (* (ptr) current_v3996 ); SOURCE(1351, 19) (* (ptr) current_v3996 ) = 0; SOURCE(1372, 20) (* (( (ptr) (* (( (ptr) formal_c058)+4) ))+4) ) = (* (( (ptr) current_v3996)+1) ); SOURCE(1394, 19) (* (( (ptr) current_v3996)+1) ) = (* (( (ptr) (* (( (ptr) formal_c058)+4) ))+6) ); SOURCE(1415, 14) (* (( (ptr) (* (( (ptr) formal_c058)+4) ))+6) ) = current_v3996; SOURCE(1431, 115) if (((* (( (ptr) (* (( (ptr) formal_c058)+4) ))+4) ) == 0)) { SOURCE(1453, 9) (* (( (ptr) (* (( (ptr) formal_c058)+4) ))+5) ) = 0; SOURCE(1491, 55) if ((0 != (* (( (ptr) (* (( (ptr) formal_c058)+4) ))+7) ))) { SOURCE(1506, 40) (void) (XR_Broadcast((word) (( (bPt) (* (( (ptr) formal_c058)+4) ))+32))); }; }; }; return(0); } static void Close_P360(formal_c077) word formal_c077; { W5 var_c4864; /* declaration of queue_v3628 skipped */ var_c4864.f4/* queue_v3628 */ = formal_c077; /* Close: */ SOURCE(1551, 146) (void) (XR_MonitorEntry(var_c4864.f4/* queue_v3628 */ )); SOURCE(1604, 93) { word var_c063; var_c063 = (word) &var_c4864; (void) (word) XR_Enable(( ((word) (fPt) NoName_Q804) ), ( ((word) (fPt) NoName_Q984) ), var_c063); }; SOURCE(1551, 146) (void) (XR_MonitorExit(var_c4864.f4/* queue_v3628 */ )); return; } static word NoName_Q804(formal_c059) word formal_c059; { SOURCE(1627, 13) (* (( (ptr) (* (( (ptr) formal_c059)+4) ))+7) ) = 1; SOURCE(1642, 55) (void) (XR_Broadcast((word) (( (bPt) (* (( (ptr) formal_c059)+4) ))+32))); return(0); } static void Reset_P420(formal_c078) word formal_c078; { W5 var_c4896; /* declaration of queue_v3688 skipped */ var_c4896.f4/* queue_v3688 */ = formal_c078; /* Reset: */ SOURCE(1701, 145) (void) (XR_MonitorEntry(var_c4896.f4/* queue_v3688 */ )); SOURCE(1754, 92) { word var_c064; var_c064 = (word) &var_c4896; (void) (word) XR_Enable(( ((word) (fPt) NoName_Q864) ), ( ((word) (fPt) NoName_Q924) ), var_c064); }; SOURCE(1701, 145) (void) (XR_MonitorExit(var_c4896.f4/* queue_v3688 */ )); return; } static word NoName_Q864(formal_c060) word formal_c060; { SOURCE(1777, 43) lab_L100017: ; if ((0 == (* (( (ptr) (* (( (ptr) formal_c060)+4) ))+7) )) || ((* (( (ptr) (* (( (ptr) formal_c060)+4) ))+4) ) != 0)) { } else { goto lab_L100015; }; SOURCE(1809, 11) (void) (XR_Wait((* (( (ptr) formal_c060)+4) ), (word) (( (bPt) (* (( (ptr) formal_c060)+4) ))+32))); goto lab_L100017; lab_L100015: ; SOURCE(1831, 15) (* (( (ptr) (* (( (ptr) formal_c060)+4) ))+7) ) = 0; return(0); } static void NoName_Q924(formal_c037, formal_c200012, formal_c200013, formal_c200014, formal_c200015) word formal_c037; word formal_c200012; word formal_c200013; word formal_c200014; word formal_c200015; { if ((formal_c200013 == XR_Unwind)) { (void) (XR_MonitorExit(* (( (ptr) formal_c200012)+4) )); }; (* (ptr) formal_c037 ) = 0; (* (( (ptr) formal_c037)+1) ) = 0; return; } static void NoName_Q984(formal_c042, formal_c200008, formal_c200009, formal_c200010, formal_c200011) word formal_c042; word formal_c200008; word formal_c200009; word formal_c200010; word formal_c200011; { if ((formal_c200009 == XR_Unwind)) { (void) (XR_MonitorExit(* (( (ptr) formal_c200008)+4) )); }; (* (ptr) formal_c042 ) = 0; (* (( (ptr) formal_c042)+1) ) = 0; return; } static void NoName_Q1044(formal_c047, formal_c200004, formal_c200005, formal_c200006, formal_c200007) word formal_c047; word formal_c200004; word formal_c200005; word formal_c200006; word formal_c200007; { if ((formal_c200005 == XR_Unwind)) { (void) (XR_MonitorExit(* (( (ptr) formal_c200004)+4) )); }; (* (ptr) formal_c047 ) = 0; (* (( (ptr) formal_c047)+1) ) = 0; return; } static void NoName_Q1104(formal_c052, formal_c200000, formal_c200001, formal_c200002, formal_c200003) word formal_c052; word formal_c200000; word formal_c200001; word formal_c200002; word formal_c200003; { if ((formal_c200001 == XR_Unwind)) { (void) (XR_MonitorExit(* (( (ptr) formal_c200000)+5) )); }; (* (ptr) formal_c052 ) = 0; (* (( (ptr) formal_c052)+1) ) = 0; return; } /* file: MonitoredQueueImpl, module: MonitoredQueueImpl, compiled at: February 27, 1992 5:32:31 pm PST */ extern void XR_install_MonitoredQueueImpl() { NoName_Q624(); } extern void XR_run_MonitoredQueueImpl() { XR_Start(&globalframe); }