/* Generated with C2C (Cedar To C)*/ /* Copyright (C) 1993 by Xerox Corporation. All rights reserved. */ /* time: September 14, 1993 4:28:38 pm PDT */ /* C2C version: April 20, 1993 (sun4) */ /* ref-counting: off */ /* file: XlServiceImpl, module: XlServiceImpl */ /* switches: bcfhklnouw */ #include #include static char versionStamp[] = "@(#)mob_version [1772547236,2611638505] XlServiceImpl"; 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;} W4; typedef W2 *W2Pt; typedef struct {word f0, f1, f2, f3, f4, f5, f6;} W7; typedef struct {word f0, f1, f2, f3, f4;} W5; #define SOURCE(p, l) /* source p, l */ #define IOP2(op, x, y) ( (word) ((x) op (y)) ) #define MAX(cast, x, y) ( ( cast x) > ( cast y) ? (x) : (y) ) static void NoName_Q1224(); static void XlServiceImpl_P0(); static void InitServiceStuff_P60(); static word EntryDefineService_P120(); static word NoName_Q1284(); static void ReleaseService_P180(); static word NoName_Q1344(); static word GetService_P240(); static void PutProp_P300(); static word GetProp_P360(); static void PutServiceProp_P420(); static word GetServiceProp_P480(); static word GetServicePropAndInit_P540(); static word WrapInit_P792(); static void NoName_Q1404(); static void NoName_Q1464(); static struct {unsigned f; char r[4];} string1 = {65540, "\251\000\000"}; static struct {unsigned f; char r[4];} string2 = {131076, "\216\251\000"}; static struct {unsigned f; char r[4];} string3 = {65537, "\001\000\000"}; static struct {unsigned f; char r[16];} string4 = {851984, "\257\300\351\276\264\273\300\115\104\320\264\126\304\000\000"}; static struct {unsigned f; char r[60];} string5 = {3735609, "\006\023\040\001\070\001\100\100\001\100\104\001\100\110\001\100\140\001\100\144\001\100\150\001\100\154\001\100\160\001\100\164\001\100\170\001\100\174\001\100\200\001\100\224\001\100\234\001\100\240\001\100\244\001\100\250\001\000\000"}; static struct {unsigned f; char r[16];} string6 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\104\304\000\000"}; static struct {unsigned f; char r[24];} string7 = {1376277, "\007\000\001\002\007\020\001\002\000\007\036\002\004\003\002\004\014\016\015\003\001\000\000"}; static struct {unsigned f; char r[16];} string8 = {917520, "\216\257\300\363\223\326\161\300\017\164\046\072\104\350\000"}; static struct {unsigned f; char r[16];} string9 = {851984, "\257\300\151\246\354\244\300\233\252\160\351\100\200\000\000"}; static struct {unsigned f; char r[4];} string10 = {131074, "\004\006\000"}; static struct {unsigned f; char r[44];} string11 = {2752556, "\260\006\005\146\151\162\163\164\257\300\015\277\004\146\300\034\367\146\045\112\114\005\004\162\145\163\164\214\257\300\015\277\004\146\300\034\367\146\045\112\114\261\000"}; static struct {unsigned f; char r[28];} string12 = {1572888, "\006\002\000\007\000\040\016\000\003\001\000\000\000\000\014\014\000\014\014\014\014\000\010\001\000\000\000"}; static struct {unsigned f; char r[12];} string13 = {524300, "%g %g %g\000\000\000"}; static struct {unsigned f; char r[20];} string14 = {1179668, "hack serviceKey %g\000"}; static struct {unsigned f; char r[24];} string15 = {1376280, "_Cedar_ServiceVersion\000\000"}; static struct {unsigned f; char r[4];} string16 = {65540, " \000\000"}; static struct {unsigned f; char r[20];} string17 = {1179668, "trustedServiceProp\000"}; static struct {unsigned f; char r[4];} string18 = {65540, "x\000\000"}; static struct {unsigned f; char r[16];} string19 = {851984, "\257\300\151\246\354\244\300\233\252\160\351\100\164\000\000"}; static struct {unsigned f; char r[16];} string20 = {786444, "\006\004\040\001\044\001\050\001\100\124\004\077\000\000\000"}; static struct {unsigned f; char r[16];} string21 = {851984, "\257\300\015\277\004\146\300\034\367\146\045\100\164\000\000"}; static struct {unsigned f; char r[16];} string22 = {851984, "\257\300\256\042\060\232\300\060\151\325\207\100\150\000\000"}; static struct {unsigned f; char r[16];} string23 = {851984, "\257\300\242\215\274\036\300\123\155\142\023\100\150\000\000"}; static struct {unsigned f; char r[16];} string24 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\100\150\000\000"}; static struct {unsigned f; char r[16];} string25 = {851984, "\257\300\072\337\114\355\300\232\070\352\142\100\150\000\000"}; static struct {unsigned f; char r[12];} string26 = {720908, "\257\300kte\023\205\204\320@h"}; static unsigned string27 = 1483472896; static struct {unsigned f; char r[16];} string28 = {851984, "\257\300\351\276\264\273\300\115\104\320\264\100\164\000\000"}; static struct {unsigned f; char r[16];} string29 = {851984, "\257\300\212\174\364\337\300\361\376\000\156\100\150\000\000"}; static struct {unsigned f; char r[24];} string30 = {1507352, "\211\013\012\123\145\162\166\151\143\145\122\145\160\300\351\276\264\273\300\115\104\320\264"}; static struct {unsigned f; char r[16];} string31 = {851984, "\257\300\234\252\236\205\300\126\010\241\274\100\150\000\000"}; static struct {unsigned f; char r[16];} string32 = {851984, "\257\300\126\372\175\303\300\214\014\321\126\100\150\000\000"}; static struct { word f0[28]; 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[11]; } globalframe = { {0}, (word) GetServicePropAndInit_P540, 0, (word) GetServiceProp_P480, 0, (word) PutServiceProp_P420, 0, (word) GetProp_P360, 0, (word) PutProp_P300, 0, (word) GetService_P240, 0, (word) ReleaseService_P180, 0, (word) EntryDefineService_P120, 0, (word) InitServiceStuff_P60, 0, (word) XlServiceImpl_P0, {0} }; static void NoName_Q1224() { register ptr gf_c0108 = (ptr) &globalframe; word var_c20732; (* (( (ptr) gf_c0108)+11) ) = (word) XR_GetTypeIndexS((word) (&string1)); (* (( (ptr) gf_c0108)+12) ) = (word) XR_GetTypeIndex((word) &string2, 0, (word) &string3); (* (( (ptr) gf_c0108)+13) ) = (word) XR_GetTypeIndex((word) &string4, 0, (word) &string5); (* (( (ptr) gf_c0108)+15) ) = (word) XR_GetTypeIndex((word) &string6, 0, (word) &string7); (* (( (ptr) gf_c0108)+16) ) = (word) XR_GetTypeIndex((word) &string8, 0, (word) &string3); (* (( (ptr) gf_c0108)+18) ) = (word) XR_GetTypeIndex((word) &string9, 0, (word) &string10); (* (( (ptr) gf_c0108)+19) ) = (word) XR_GetTypeIndex((word) &string11, 0, (word) &string12); (* (ptr) (( (bPt) gf_c0108)+84) ) = (word) XR_GetRefLiteral((* (( (ptr) gf_c0108)+16) ), (word) &string13); (* (ptr) (( (bPt) gf_c0108)+88) ) = (word) XR_GetRefLiteral((* (( (ptr) gf_c0108)+16) ), (word) &string14); (* (ptr) (( (bPt) gf_c0108)+92) ) = (word) XR_GetRefLiteral((* (( (ptr) gf_c0108)+16) ), (word) &string15); (* (ptr) (( (bPt) gf_c0108)+96) ) = (word) XR_GetRefLiteral((* (( (ptr) gf_c0108)+16) ), (word) &string16); (* (ptr) (( (bPt) gf_c0108)+100) ) = (word) XR_GetRefLiteral((* (( (ptr) gf_c0108)+12) ), (word) &string17); (* (ptr) (( (bPt) gf_c0108)+104) ) = (word) XR_GetRefLiteral((* (( (ptr) gf_c0108)+12) ), (word) &string18); (void) XR_DeclareGlobalFrame((word) "XlServiceImpl", &globalframe, (word) XR_GetTypeIndex((word) &string19, 0, (word) &string20) , (word) (( (bPt) gf_c0108)+184)/* var_c19388 */ ); var_c20732 = (word) XR_ImportInterface((word) "IO", (word) XR_GetTypeIndexS((word) (&string21)), 103); (* (( (ptr) gf_c0108)+50)/* var_c19612 */ ) = var_c20732; (void) XR_ImportProcS(var_c20732, 67648770); (void) XR_ImportProcS(var_c20732, 67910402); var_c20732 = (word) XR_ImportInterface((word) "PropList", (word) XR_GetTypeIndexS((word) (&string22)), 13); (* (( (ptr) gf_c0108)+55)/* var_c20348 */ ) = var_c20732; (void) XR_ImportProcS(var_c20732, 135268612); (void) XR_ImportProcS(var_c20732, 67634434); (void) XR_ImportProcS(var_c20732, 67896835); (void) XR_ImportProcS(var_c20732, 67109632); var_c20732 = (word) XR_ImportInterface((word) "Random", (word) XR_GetTypeIndexS((word) (&string23)), 4); (* (( (ptr) gf_c0108)+53)/* var_c20092 */ ) = var_c20732; (void) XR_ImportProcS(var_c20732, 67371265); var_c20732 = (word) XR_ImportInterface((word) "Rope", (word) XR_GetTypeIndexS((word) (&string24)), 43); (* (( (ptr) gf_c0108)+54)/* var_c20156 */ ) = var_c20732; (void) XR_ImportProcS(var_c20732, 67633666); (void) XR_ImportProcS(var_c20732, 67373569); var_c20732 = (word) XR_ImportInterface((word) "SymTab", (word) XR_GetTypeIndexS((word) (&string25)), 13); (* (( (ptr) gf_c0108)+48)/* var_c19452 */ ) = var_c20732; (void) XR_ImportProcS(var_c20732, 67635202); (void) XR_ImportProcS(var_c20732, 134742786); (void) XR_ImportProcS(var_c20732, 67897091); (void) XR_ImportProcS(var_c20732, 67633410); var_c20732 = (word) XR_ImportInterface((word) "SystemNames", (word) XR_GetTypeIndexS((word) (&string26)), 9); (* (( (ptr) gf_c0108)+52)/* var_c19964 */ ) = var_c20732; (void) XR_ImportProcS(var_c20732, 67109120); var_c20732 = (word) XR_ImportInterface((word) &string27, (word) XR_GetTypeIndexS((word) (&string28)), 218); (* (( (ptr) gf_c0108)+51)/* var_c19644 */ ) = var_c20732; (void) XR_ImportProcS(var_c20732, 67639298); (void) XR_ImportProcS(var_c20732, 792323); (void) XR_ImportProcS(var_c20732, 535042); (void) XR_ImportProcS(var_c20732, 2371849); (void) XR_ImportProcS(var_c20732, 534786); (void) XR_ImportProcS(var_c20732, 270545672); (void) XR_ImportProcS(var_c20732, 67375105); (void) XR_ImportProcS(var_c20732, 67644930); var_c20732 = (word) XR_ImportInterface((word) "BasicTime", (word) XR_GetTypeIndexS((word) (&string29)), 24); (* (( (ptr) gf_c0108)+49)/* var_c19548 */ ) = var_c20732; (void) XR_ImportProcS(var_c20732, 67111424); var_c20732 = (word) XR_ExportInterface((word) &string27, (word) XR_GetTypeIndexS((word) (&string28)), 218); (* (( (ptr) gf_c0108)+56)/* var_c20764 */ ) = var_c20732; (void) XR_ExportType((word) "ServiceRep", (word) XR_GetTypeIndexS((word) (&string30)), (word) XR_GetTypeIndex((word) &string9, 0, (word) &string10) ); var_c20732 = (word) XR_ExportInterface((word) "XlPrivateSplit", (word) XR_GetTypeIndexS((word) (&string31)), 7); (* (( (ptr) gf_c0108)+57)/* var_c20796 */ ) = var_c20732; (void) XR_ExportProcS(var_c20732, (word) (( (bPt) gf_c0108)+176)/* var_c19356 */ , 262145, (word) "InitServiceStuff"); (void) XR_ExportProcS(var_c20732, (word) (( (bPt) gf_c0108)+160)/* var_c19292 */ , 263169, (word) "ReleaseService"); var_c20732 = (word) XR_ExportInterface((word) "XlService", (word) XR_GetTypeIndexS((word) (&string32)), 6); (* (( (ptr) gf_c0108)+57)/* var_c20796 */ ) = var_c20732; (void) XR_ExportProcS(var_c20732, (word) (( (bPt) gf_c0108)+152)/* var_c19260 */ , 67371009, (word) "GetService"); (void) XR_ExportProcS(var_c20732, (word) (( (bPt) gf_c0108)+144)/* var_c19228 */ , 786691, (word) "PutProp"); (void) XR_ExportProcS(var_c20732, (word) (( (bPt) gf_c0108)+136)/* var_c19196 */ , 67633666, (word) "GetProp"); (void) XR_ExportProcS(var_c20732, (word) (( (bPt) gf_c0108)+128)/* var_c19164 */ , 787203, (word) "PutServiceProp"); (void) XR_ExportProcS(var_c20732, (word) (( (bPt) gf_c0108)+120)/* var_c19132 */ , 67634178, (word) "GetServiceProp"); (void) XR_ExportProcS(var_c20732, (word) (( (bPt) gf_c0108)+112)/* var_c19100 */ , 67896579, (word) "GetServicePropAndInit") ; } static void XlServiceImpl_P0(formal_c034, formal_c029) word formal_c034; word formal_c029; { register ptr gf_c20828 = (ptr) &globalframe; /* XlServiceImpl: */ SOURCE(104, 3878) SOURCE(311, 62) { word var_c19420; var_c19420 = XR_NewObject(4, (* (( (ptr) gf_c20828)+12) )); (* (ptr) var_c19420 ) = (* (( (ptr) gf_c20828)+25) ); (* (( (ptr) gf_c20828)+8)/* trustedServiceProp_v2944 */ ) = var_c19420; }; SOURCE(464, 41) { word pd33; pd33 = (* (( (ptr) (* (( (ptr) gf_c20828)+48)/* var_c19452 */ ))+5) ); (* (( (ptr) gf_c20828)+9)/* serviceTab_v3000 */ ) = (word) ( *( (fPt) ((* (ptr) pd33 ))))(3, 1, pd33); }; SOURCE(916, 67) { W2 var_c19484; { W2 var_c19516; word v_v19020; { word pd34; pd34 = (* (( (ptr) (* (( (ptr) gf_c20828)+49)/* var_c19548 */ ))+14) ); v_v19020 = (word) ( *( (fPt) ((* (ptr) pd34 ))))(pd34); }; var_c19516.f0 = 13; var_c19516.f1 = v_v19020; var_c19484 = var_c19516; }; { word pd35; pd35 = (* (( (ptr) (* (( (ptr) gf_c20828)+50)/* var_c19612 */ ))+63) ); (* (( (ptr) gf_c20828)+10)/* debuggingHackKey_v3140 */ ) = (word) ( *( (fPt) ((* (ptr) pd35 ))))((* (( (ptr) gf_c20828)+22) ), var_c19484, pd35); }; }; } static void InitServiceStuff_P60(c_v3612) word c_v3612; { register ptr gf_c20860 = (ptr) &globalframe; word serviceKey_v4752 = 0; word atom_v4780; word rootWindow_v4808; W4 ret_v4836; /* InitServiceStuff: */ SOURCE(986, 985) SOURCE(1055, 41) { word pd36; pd36 = (* (( (ptr) (* (( (ptr) gf_c20860)+51)/* var_c19644 */ ))+50) ); atom_v4780 = (word) ( *( (fPt) ((* (ptr) pd36 ))))(c_v3612, (* (( (ptr) gf_c20860)+23) ), pd36); }; SOURCE(1098, 33) { word pd37; pd37 = (* (( (ptr) (* (( (ptr) gf_c20860)+51)/* var_c19644 */ ))+20) ); rootWindow_v4808 = (word) ( *( (fPt) ((* (ptr) pd37 ))))(c_v3612, pd37); }; SOURCE(1133, 22) ret_v4836.f0 = 0; ret_v4836.f1 = 0; ret_v4836.f2 = 0; ret_v4836.f3 = 0; SOURCE(1243, 73) { word pd38; pd38 = (* (( (ptr) (* (( (ptr) gf_c20860)+51)/* var_c19644 */ ))+55) ); (void) ( *( (fPt) ((* (ptr) pd38 ))))((word) &ret_v4836, c_v3612, rootWindow_v4808, atom_v4780, 0, 0 , 0, 2147483647, 8, pd38); }; SOURCE(1318, 575) if (((ret_v4836.f1 != 8) || (ret_v4836.f0 != atom_v4780)) || (ret_v4836.f2 == 0)) { SOURCE(1373, 522) { word tentativeKey_v4880; SOURCE(1376, 122) { word var_c19708; { word var_c19740; word var_c19772; var_c19740 = XR_NewObject(12, (* (( (ptr) gf_c20860)+19) )); var_c19772 = var_c19740; { W2 var_c19836; word v_v18972; { word pd39; pd39 = (* (( (ptr) (* (( (ptr) gf_c20860)+49)/* var_c19548 */ ))+14) ); v_v18972 = (word) ( *( (fPt) ((* (ptr) pd39 ))))(pd39); }; var_c19836.f0 = 13; var_c19836.f1 = v_v18972; (* (W2Pt) var_c19772 ) = var_c19836; }; (* (( (ptr) var_c19772)+2) ) = XR_NewObject(12, (* (( (ptr) gf_c20860)+19) )); var_c19772 = (* (( (ptr) var_c19772)+2) ); { W2 var_c19932; word v_v18876; { word pd40; pd40 = (* (( (ptr) (* (( (ptr) gf_c20860)+52)/* var_c19964 */ ))+5) ); v_v18876 = (word) ( *( (fPt) ((* (ptr) pd40 ))))(pd40); }; var_c19932.f0 = 11; var_c19932.f1 = v_v18876; (* (W2Pt) var_c19772 ) = var_c19932; }; (* (( (ptr) var_c19772)+2) ) = XR_NewObject(12, (* (( (ptr) gf_c20860)+19) )); var_c19772 = (* (( (ptr) var_c19772)+2) ); { W2 var_c20060; word v_v18924; { word pd41; pd41 = (* (( (ptr) (* (( (ptr) gf_c20860)+53)/* var_c20092 */ ))+5) ); v_v18924 = (word) ( *( (fPt) ((* (ptr) pd41 ))))(0, pd41); }; var_c20060.f0 = 5; var_c20060.f1 = v_v18924; (* (W2Pt) var_c19772 ) = var_c20060; }; var_c19708 = var_c19740; }; { word pd42; pd42 = (* (( (ptr) (* (( (ptr) gf_c20860)+50)/* var_c19612 */ ))+65) ); tentativeKey_v4880 = (word) ( *( (fPt) ((* (ptr) pd42 ))))((* (( (ptr) gf_c20860)+21) ), var_c19708, pd42); }; }; SOURCE(1543, 90) lab_L100006: ; { word pd43; pd43 = (* (( (ptr) (* (( (ptr) gf_c20860)+54)/* var_c20156 */ ))+14) ); if (( (int)IOP2( % , (int)(word) ( *( (fPt) ((* (ptr) pd43 ))))(tentativeKey_v4880, pd43), (int)4) != (int)0)) { } else { goto lab_L100004; }; }; SOURCE(1588, 45) { word pd44; pd44 = (* (( (ptr) (* (( (ptr) gf_c20860)+54)/* var_c20156 */ ))+6) ); tentativeKey_v4880 = (word) ( *( (fPt) ((* (ptr) pd44 ))))(tentativeKey_v4880, (* (( (ptr) gf_c20860)+24) ), pd44); }; goto lab_L100006; lab_L100004: ; SOURCE(1649, 13) { word pd45; pd45 = (* (( (ptr) (* (( (ptr) gf_c20860)+51)/* var_c19644 */ ))+45) ); (void) ( *( (fPt) ((* (ptr) pd45 ))))(c_v3612, 0, pd45); }; SOURCE(1664, 73) { word pd46; pd46 = (* (( (ptr) (* (( (ptr) gf_c20860)+51)/* var_c19644 */ ))+55) ); (void) ( *( (fPt) ((* (ptr) pd46 ))))((word) &ret_v4836, c_v3612, rootWindow_v4808, atom_v4780, 0, 0 , 0, 2147483647, 8, pd46); }; SOURCE(1739, 134) if (((ret_v4836.f1 != 8) || (ret_v4836.f0 != atom_v4780)) || (ret_v4836.f2 == 0)) { SOURCE(1796, 77) { word var_c20188; var_c20188 = tentativeKey_v4880; serviceKey_v4752 = tentativeKey_v4880; { word pd47; pd47 = (* (( (ptr) (* (( (ptr) gf_c20860)+51)/* var_c19644 */ ))+53) ); (void) ( *( (fPt) ((* (ptr) pd47 ))))(c_v3612, rootWindow_v4808, atom_v4780, atom_v4780, 0, var_c20188 , 0, 2147483647, 0, pd47); }; }; }; SOURCE(1878, 15) { word pd48; pd48 = (* (( (ptr) (* (( (ptr) gf_c20860)+51)/* var_c19644 */ ))+46) ); (void) ( *( (fPt) ((* (ptr) pd48 ))))(c_v3612, 0, pd48); }; }; }; SOURCE(1898, 30) { word var_c20252; var_c20252 = XR_Narrow(ret_v4836.f2, (* (( (ptr) gf_c20860)+15) )); if ((var_c20252 == 0)) { goto lab_L100007; }; if (( (unsigned) (*(int*)var_c20252<0) == 0)) { goto lab_L100007; }; (void) XR_RaiseError(XR_NarrowFault, 0); lab_L100007: ; serviceKey_v4752 = var_c20252; }; SOURCE(1933, 38) { word var_c20284; var_c20284 = (word) EntryDefineService_P120(c_v3612, serviceKey_v4752); }; } static word EntryDefineService_P120(formal_c0135, formal_c0136) word formal_c0135; word formal_c0136; { W7 var_c20892; /* declaration of c_v3672 skipped */ /* declaration of serviceKey_v3700 skipped */ register ptr gf_c20924 = (ptr) &globalframe; /* declaration of service_v3744 skipped */ var_c20892.f4/* c_v3672 */ = formal_c0135; var_c20892.f5/* serviceKey_v3700 */ = formal_c0136; /* EntryDefineService: */ SOURCE(1977, 513) (void) (XR_MonitorEntry((word) (( (bPt) gf_c20924)+16)/* LOCK_v2860 */ )); SOURCE(1977, 513) var_c20892.f6/* service_v3744 */ = 0; SOURCE(2073, 417) { word var_c0126; var_c0126 = (word) &var_c20892; (void) (word) XR_Enable(( ((word) (fPt) NoName_Q1284) ), ( ((word) (fPt) NoName_Q1464) ), var_c0126); }; SOURCE(1977, 513) (void) (XR_MonitorExit((word) (( (bPt) gf_c20924)+16)/* LOCK_v2860 */ )); return(var_c20892.f6/* service_v3744 */ ); } static word NoName_Q1284(formal_c0113) word formal_c0113; { register ptr gf_c0112 = (ptr) &globalframe; SOURCE(2096, 110) { word var_c20316; word var_c20380; { word pd49; pd49 = (* (( (ptr) (* (( (ptr) gf_c0112)+55)/* var_c20348 */ ))+7) ); var_c20316 = (word) ( *( (fPt) ((* (ptr) pd49 ))))(pd49); }; var_c20380 = XR_NewObject(12, (* (( (ptr) gf_c0112)+18) )); (* (( (ptr) var_c20380)+1) ) = var_c20316; (* (( (ptr) var_c20380)+2) ) = (* (( (ptr) formal_c0113)+5) ); (* (( (ptr) formal_c0113)+6) ) = var_c20380; }; SOURCE(2208, 115) { word pd50; pd50 = (* (( (ptr) (* (( (ptr) gf_c0112)+48)/* var_c19452 */ ))+11) ); if ((0 == (word) ( *( (fPt) ((* (ptr) pd50 ))))((* (( (ptr) gf_c0112)+9)/* serviceTab_v3000 */ ), (* (( (ptr) formal_c0113)+5) ), (* (( (ptr) formal_c0113)+6) ), pd50))) { SOURCE(2265, 58) { W2 var_c061; word var_c0127; { word pd51; pd51 = (* (( (ptr) (* (( (ptr) gf_c0112)+48)/* var_c19452 */ ))+7) ); (void) ( *( (fPt) ((* (ptr) pd51 ))))((word) &var_c061, (* (( (ptr) gf_c0112)+9)/* serviceTab_v3000 */ ), (* (( (ptr) formal_c0113)+5) ), pd51); }; var_c0127 = var_c061.f1; (* (( (ptr) formal_c0113)+6) ) = XR_Narrow(var_c0127, (* (( (ptr) gf_c0112)+18) )); }; }; }; SOURCE(2325, 53) (* (ptr) (* (( (ptr) formal_c0113)+6) ) ) = ((* (ptr) (* (( (ptr) formal_c0113)+6) ) ) + 1); SOURCE(2380, 19) (* (( (ptr) (* (( (ptr) formal_c0113)+4) ))+28) ) = (* (( (ptr) formal_c0113)+6) ); SOURCE(2401, 38) (* (( (ptr) (* (( (ptr) formal_c0113)+4) ))+30) ) = (* (( (ptr) (* (( (ptr) formal_c0113)+6) ))+1) ); SOURCE(2441, 49) { word pd52; pd52 = (* (( (ptr) (* (( (ptr) gf_c0112)+51)/* var_c19644 */ ))+27) ); (void) ( *( (fPt) ((* (ptr) pd52 ))))((* (( (ptr) formal_c0113)+4) ), (* (( (ptr) gf_c0112)+8)/* trustedServiceProp_v2944 */ ), (* ( ( (ptr) formal_c0113)+6) ), pd52); }; return(0); } static void ReleaseService_P180(formal_c0137) word formal_c0137; { W5 var_c20956; /* declaration of c_v3804 skipped */ register ptr gf_c20988 = (ptr) &globalframe; var_c20956.f4/* c_v3804 */ = formal_c0137; /* ReleaseService: */ SOURCE(2496, 431) (void) (XR_MonitorEntry((word) (( (bPt) gf_c20988)+16)/* LOCK_v2860 */ )); SOURCE(2550, 377) { word var_c0128; var_c0128 = (word) &var_c20956; (void) (word) XR_Enable(( ((word) (fPt) NoName_Q1344) ), ( ((word) (fPt) NoName_Q1404) ), var_c0128); }; SOURCE(2496, 431) (void) (XR_MonitorExit((word) (( (bPt) gf_c20988)+16)/* LOCK_v2860 */ )); return; } static word NoName_Q1344(formal_c0116) word formal_c0116; { register ptr gf_c0115 = (ptr) &globalframe; SOURCE(2573, 354) if (((* (( (ptr) formal_c0116)+4) ) != 0)) { SOURCE(2587, 345) { word service_v4924; SOURCE(2589, 28) service_v4924 = (* (( (ptr) (* (( (ptr) formal_c0116)+4) ))+28) ); SOURCE(2619, 308) { word tc53; word pd54; if ((service_v4924 != 0)) { pd54 = (* (( (ptr) (* (( (ptr) gf_c0115)+51)/* var_c19644 */ ))+28) ); tc53 = (word) ((word) ( *( (fPt) ((* (ptr) pd54 ))))((* (( (ptr) formal_c0116)+4) ), (* (( (ptr) gf_c0115)+8)/* trustedServiceProp_v2944 */ ), pd54) == service_v4924); } else { tc53 = (word) 0; }; if (tc53) { SOURCE(2694, 45) { word pd55; pd55 = (* (( (ptr) (* (( (ptr) gf_c0115)+51)/* var_c19644 */ ))+27) ); (void) ( *( (fPt) ((* (ptr) pd55 ))))((* (( (ptr) formal_c0116)+4) ), (* (( (ptr) gf_c0115)+8)/* trustedServiceProp_v2944 */ ), 0, pd55) ; }; SOURCE(2780, 61) { word x56; (* (ptr) service_v4924 ) = (x56 = ((* (ptr) service_v4924 ) - 1), MAX((int)(word), x56, 0)); }; SOURCE(2843, 84) if (( (int)(* (ptr) service_v4924 ) == (int)0)) { SOURCE(2877, 50) { word var_c20412; word pd57; pd57 = (* (( (ptr) (* (( (ptr) gf_c0115)+48)/* var_c19452 */ ))+12) ); var_c20412 = (word) ( *( (fPt) ((* (ptr) pd57 ))))((* (( (ptr) gf_c0115)+9)/* serviceTab_v3000 */ ), (* (( (ptr) service_v4924)+2) ), pd57); }; }; }; }; }; }; return(0); } static word GetService_P240(c_v3864) word c_v3864; { word service_v3908; /* GetService: */ SOURCE(2939, 87) SOURCE(2939, 87) service_v3908 = 0; SOURCE(3006, 20) service_v3908 = (* (( (ptr) c_v3864)+28) ); SOURCE(2939, 87) return(service_v3908); } static void PutProp_P300(service_v3984, key_v4012, val_v4040) word service_v3984; word key_v4012; word val_v4040; { register ptr gf_c21020 = (ptr) &globalframe; word var_c20508; /* PutProp: */ SOURCE(3030, 209) (void) (XR_MonitorEntry((word) (( (bPt) gf_c21020)+16)/* LOCK_v2860 */ )); SOURCE(3102, 137) { word var_c20444; var_c20444 = service_v3984; if ((var_c20444 == 0)) { goto lab_L100012; }; if (((* (( (ptr) gf_c21020)+18) ) == XR_GetReferentType(var_c20444))) { { word sr_v4968; sr_v4968 = var_c20444; SOURCE(3153, 44) { word var_c20476; word pd58; pd58 = (* (( (ptr) (* (( (ptr) gf_c21020)+55)/* var_c20348 */ ))+10) ); var_c20476 = (word) ( *( (fPt) ((* (ptr) pd58 ))))((* (( (ptr) sr_v4968)+1) ), key_v4012, val_v4040, pd58); }; }; } else { lab_L100012: ; SOURCE(3210, 29) var_c20508 = (word) (( (bPt) gf_c21020)+108)/* var_c19068 */ ; (void) (XR_MonitorExit((word) (( (bPt) gf_c21020)+16)/* LOCK_v2860 */ )); goto lab_L100013; }; }; SOURCE(3030, 209) (void) (XR_MonitorExit((word) (( (bPt) gf_c21020)+16)/* LOCK_v2860 */ )); return; /* c2c skipped dead code */ lab_L100013: ; SOURCE(3210, 29) (void) XR_RaiseError(var_c20508, 0); } static word GetProp_P360(service_v4136, key_v4164) word service_v4136; word key_v4164; { register ptr gf_c21052 = (ptr) &globalframe; word var_c20604; word val_v4232; /* GetProp: */ SOURCE(3243, 219) (void) (XR_MonitorEntry((word) (( (bPt) gf_c21052)+16)/* LOCK_v2860 */ )); SOURCE(3243, 219) val_v4232 = 0; SOURCE(3324, 138) { word var_c20540; var_c20540 = service_v4136; if ((var_c20540 == 0)) { goto lab_L100015; }; if (((* (( (ptr) gf_c21052)+18) ) == XR_GetReferentType(var_c20540))) { { word sr_v5024; sr_v5024 = var_c20540; SOURCE(3375, 45) { word var_c20572; { word pd59; pd59 = (* (( (ptr) (* (( (ptr) gf_c21052)+55)/* var_c20348 */ ))+9) ); var_c20572 = (word) ( *( (fPt) ((* (ptr) pd59 ))))((* (( (ptr) sr_v5024)+1) ), key_v4164, pd59); }; (void) (XR_MonitorExit((word) (( (bPt) gf_c21052)+16)/* LOCK_v2860 */ )); return(var_c20572); }; }; } else { lab_L100015: ; SOURCE(3433, 29) var_c20604 = (word) (( (bPt) gf_c21052)+108)/* var_c19068 */ ; (void) (XR_MonitorExit((word) (( (bPt) gf_c21052)+16)/* LOCK_v2860 */ )); goto lab_L100016; }; }; /* c2c skipped dead code */ lab_L100016: ; SOURCE(3433, 29) (void) XR_RaiseError(var_c20604, 0); } static void PutServiceProp_P420(c_v4304, key_v4332, val_v4360) word c_v4304; word key_v4332; word val_v4360; { register ptr gf_c21084 = (ptr) &globalframe; /* PutServiceProp: */ SOURCE(3466, 127) SOURCE(3540, 53) { word var_c20636; word pd60; pd60 = (* (( (ptr) (* (( (ptr) gf_c21084)+55)/* var_c20348 */ ))+10) ); var_c20636 = (word) ( *( (fPt) ((* (ptr) pd60 ))))((* (( (ptr) c_v4304)+30) ), key_v4332, val_v4360, pd60); }; } static word GetServiceProp_P480(c_v4444, key_v4472) word c_v4444; word key_v4472; { register ptr gf_c21116 = (ptr) &globalframe; word val_v4528; /* GetServiceProp: */ SOURCE(3597, 126) SOURCE(3597, 126) val_v4528 = 0; SOURCE(3674, 49) { word pd61; pd61 = (* (( (ptr) (* (( (ptr) gf_c21116)+55)/* var_c20348 */ ))+9) ); val_v4528 = (word) ( *( (fPt) ((* (ptr) pd61 ))))((* (( (ptr) c_v4444)+30) ), key_v4472, pd61); }; SOURCE(3597, 126) return(val_v4528); } static word GetServicePropAndInit_P540(c_v4600, key_v4628, formal_c0138) word c_v4600; word key_v4628; word formal_c0138; { W7 var_c21148; /* declaration of init_v4656 skipped */ register ptr gf_c21180 = (ptr) &globalframe; word val_v4712; /* declaration of var_c20668 skipped */ W2 var_c093; var_c21148.f4/* init_v4656 */ = formal_c0138; /* GetServicePropAndInit: */ SOURCE(3727, 255) { word tmpAddr62; tmpAddr62 = (word) (( (ptr) &var_c21148)+5)/* var_c20668 */ ; (* (ptr) tmpAddr62 ) = ( ((word) (fPt) WrapInit_P792) ); (* (( (ptr) tmpAddr62) + 1) ) = 1; }; SOURCE(3727, 255) val_v4712 = 0; SOURCE(3910, 72) { word pd63; pd63 = (* (( (ptr) (* (( (ptr) gf_c21180)+55)/* var_c20348 */ ))+13) ); (void) ( *( (fPt) ((* (ptr) pd63 ))))((word) &var_c093, (* (( (ptr) c_v4600)+30) ), key_v4628, (word) (( (bPt) &var_c21148)+20) /* var_c20668 */ , c_v4600, pd63); }; val_v4712 = var_c093.f0; SOURCE(3727, 255) return(val_v4712); } static word WrapInit_P792(data_v15908, key_v15936, formal_c21244) word data_v15908; word key_v15936; word formal_c21244; { register ptr gf_c21212 = (ptr) &globalframe; word val_v15980; formal_c21244 = (formal_c21244 - 20); /* WrapInit: */ SOURCE(3837, 70) SOURCE(3837, 70) val_v15980 = (* (( (ptr) gf_c21212)+26) ); SOURCE(3878, 29) { word var_c20700; var_c20700 = XR_Narrow(data_v15908, (* (( (ptr) gf_c21212)+13) )); { word pd64; pd64 = (* (( (ptr) formal_c21244)+4) ); val_v15980 = (word) ( *( (fPt) ((* (ptr) pd64 ))))(var_c20700, key_v15936, pd64); }; }; SOURCE(3837, 70) return(val_v15980); } static void NoName_Q1404(formal_c0102, formal_c200004, formal_c200005, formal_c200006, formal_c200007) word formal_c0102; word formal_c200004; word formal_c200005; word formal_c200006; word formal_c200007; { register ptr gf_c0124 = (ptr) &globalframe; if ((formal_c200005 == XR_Unwind)) { (void) (XR_MonitorExit((word) (( (bPt) gf_c0124)+16)/* LOCK_v2860 */ )); }; (* (ptr) formal_c0102 ) = 0; (* (( (ptr) formal_c0102)+1) ) = 0; return; } static void NoName_Q1464(formal_c0107, formal_c200000, formal_c200001, formal_c200002, formal_c200003) word formal_c0107; word formal_c200000; word formal_c200001; word formal_c200002; word formal_c200003; { register ptr gf_c0125 = (ptr) &globalframe; if ((formal_c200001 == XR_Unwind)) { (void) (XR_MonitorExit((word) (( (bPt) gf_c0125)+16)/* LOCK_v2860 */ )); }; (* (ptr) formal_c0107 ) = 0; (* (( (ptr) formal_c0107)+1) ) = 0; return; } /* file: XlServiceImpl, module: XlServiceImpl, compiled at: September 14, 1993 4:28:38 pm PDT */ extern void XR_install_XlServiceImpl() { NoName_Q1224(); } extern void XR_run_XlServiceImpl() { XR_Start(&globalframe); }