/* Generated with C2C (Cedar To C)*/ /* Copyright (C) 1993 by Xerox Corporation. All rights reserved. */ /* time: February 3, 1993 12:09:36 pm PST */ /* C2C version: January 29, 1993 (sun4) */ /* ref-counting: off */ /* file: XlFinalizePrivateImpl, module: XlFinalizePrivateImpl */ /* switches: bcfhklnouw */ #include <cedar/InstallationSupport.h> #include <cedar/CedarExtra.h> static char versionStamp[] = "@(#)mob←version [3297806125,2302362170] XlFinalizePrivateImpl"; typedef unsigned word, *ptr; typedef unsigned char byte, *bPt; typedef unsigned short half, *hPt; typedef word (*fPt)(); #define SOURCE(p, l) /* source p, l */ static void NoName←Q696(); static void XlFinalizePrivateImpl←P0(); static void Init←P60(); static word FinalizationStuff←P120(); static void IncRefCount←P180(); static void DecRefCount←P240(); static void TryCloseConnection←P300(); static struct {unsigned f; char r[16];} string1 = {851984, "\257\300\304\220\207\055\300\211\073\102\072\100\200\000\000"}; static struct {unsigned f; char r[4];} string2 = {131074, "\004\007\000"}; static struct {unsigned f; char r[4];} string3 = {65540, "\241\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\351\276\264\273\300\115\104\320\264\123\320\000\000"}; static struct {unsigned f; char r[60];} string7 = {3801146, "\007\100\200\040\047\004\100\354\004\200\140\054\004\014\015\015\015\015\015\015\015\015\004\140\014\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\013\004\100\114\004\102\354\004\100\314\000"}; static struct {unsigned f; char r[16];} string8 = {851984, "\257\300\304\220\207\055\300\211\073\102\072\100\164\000\000"}; static struct {unsigned f; char r[16];} string9 = {851984, "\257\300\055\153\222\376\300\327\164\352\142\100\150\000\000"}; static unsigned string10 = 1483472896; static struct {unsigned f; char r[16];} string11 = {851984, "\257\300\351\276\264\273\300\115\104\320\264\100\164\000\000"}; static struct {unsigned f; char r[32];} string12 = {1966112, "\211\022\021\103\157\156\156\145\143\164\151\157\156\120\162\151\166\141\164\145\300\351\276\264\273\300\115\104\320\264\000"}; static struct {unsigned f; char r[16];} string13 = {851984, "\257\300\012\063\155\016\300\130\140\234\375\100\164\000\000"}; static struct {unsigned f; char r[40];} string14 = {2424869, "\006\016\000\001\004\001\010\001\014\001\020\001\024\001\030\001\034\001\040\001\044\001\060\001\070\010\000\004\100\100\001\101\070\001\101\074\001\000\000"}; static struct {unsigned f; char r[16];} string15 = {851984, "\257\300\012\063\155\016\300\130\140\234\375\100\150\000\000"}; static struct {unsigned f; char r[32];} string16 = {1835040, "\211\020\017\106\151\156\141\154\151\172\141\164\151\157\156\122\145\160\300\012\063\155\016\300\130\140\234\375\000\000\000"}; static struct {unsigned f; char r[16];} string17 = {851984, "\257\300\156\242\124\004\300\131\031\215\125\100\150\000\000"}; static struct { word f0[17]; word f17; word f18; word f19; word f20; word f21; word f22; word f23; word f24; word f25; word f26; word f27; word f28[5]; } globalframe = { {0}, (word) TryCloseConnection←P300, 0, (word) DecRefCount←P240, 0, (word) IncRefCount←P180, 0, (word) FinalizationStuff←P120, 0, (word) Init←P60, 0, (word) XlFinalizePrivateImpl←P0, {0} }; static void NoName←Q696() { register ptr gf←c048 = (ptr) &globalframe; word var←c21296; (* (( (ptr) gf←c048)+9) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2); (* (( (ptr) gf←c048)+10) ) = (word) XR←GetTypeIndexS((word) (&string3)); (* (( (ptr) gf←c048)+11) ) = (word) XR←GetTypeIndex((word) &string4, 0, (word) &string5); (* (( (ptr) gf←c048)+12) ) = (word) XR←GetTypeIndex((word) &string6, 0, (word) &string7); (void) XR←DeclareGlobalFrame((word) "XlFinalizePrivateImpl", &globalframe, (word) XR←GetTypeIndexS((word) (&string8)), (word) ( ( (bPt) gf←c048)+108)/* var←c20912 */ ); var←c21296 = (word) XR←ImportInterface((word) "Atom", (word) XR←GetTypeIndexS((word) (&string9)), 16); (* (( (ptr) gf←c048)+30)/* var←c21136 */ ) = var←c21296; (void) XR←ImportProcS(var←c21296, 67636226); (void) XR←ImportProcS(var←c21296, 67635202); (void) XR←ImportProcS(var←c21296, 67897859); var←c21296 = (word) XR←ImportInterface((word) &string10, (word) XR←GetTypeIndexS((word) (&string11)), 218); (* (( (ptr) gf←c048)+29)/* var←c21008 */ ) = var←c21296; (void) XR←ImportProcS(var←c21296, 271873); (void) XR←ImportProcS(var←c21296, 1063940); (void) XR←ImportProcS(var←c21296, 67910403); var←c21296 = (word) XR←ExportInterface((word) &string10, (word) XR←GetTypeIndexS((word) (&string11)), 218); (* (( (ptr) gf←c048)+31)/* var←c21328 */ ) = var←c21296; (void) XR←ExportProcS(var←c21296, (word) (( (bPt) gf←c048)+84)/* var←c20816 */ , 533506); (void) XR←ExportProcS(var←c21296, (word) (( (bPt) gf←c048)+76)/* var←c20784 */ , 533762); (void) XR←ExportType((word) "ConnectionPrivate", (word) XR←GetTypeIndexS((word) (&string12)), (word) XR←GetTypeIndex((word) &string13, 0, (word) &string14) ); var←c21296 = (word) XR←ExportInterface((word) "XlPrivateTypes", (word) XR←GetTypeIndexS((word) (&string15)), 7); (* (( (ptr) gf←c048)+32)/* var←c21360 */ ) = var←c21296; (void) XR←ExportType((word) "FinalizationRep", (word) XR←GetTypeIndexS((word) (&string16)), (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2) ); var←c21296 = (word) XR←ExportInterface((word) "XlFinalizePrivate", (word) XR←GetTypeIndexS((word) (&string17)), 1); (* (( (ptr) gf←c048)+31)/* var←c21328 */ ) = var←c21296; (void) XR←ExportProcS(var←c21296, (word) (( (bPt) gf←c048)+100)/* var←c20880 */ , 524290); } static void XlFinalizePrivateImpl←P0(formal←c015, formal←c014) word formal←c015; word formal←c014; { /* XlFinalizePrivateImpl: */ } static void Init←P60(c←v2956, finalMatch←v2984) word c←v2956; word finalMatch←v2984; { register ptr gf←c21392 = (ptr) &globalframe; word cPriv←v3332; /* Init: */ SOURCE(443, 293) SOURCE(512, 60) cPriv←v3332 = (* (( (ptr) c←v2956)+24) ); SOURCE(574, 162) { word var←c20944; { word var←c20976; word var←c21040; word var←c21168; { word pd18; pd18 = (* (( (ptr) (* (( (ptr) gf←c21392)+29)/* var←c21008 */ ))+63) ); var←c20976 = (word) ( *( (fPt) ((* (ptr) pd18 ))))(0, 0, 0, pd18); }; { word var←c21072; { word var←c21104; var←c21104 = XR←NewObject(4, (* (( (ptr) gf←c21392)+10) )); (* (ptr) var←c21104 ) = 1; var←c21072 = var←c21104; }; { word pd19; pd19 = (* (( (ptr) (* (( (ptr) gf←c21392)+30)/* var←c21136 */ ))+14) ); var←c21040 = (word) ( *( (fPt) ((* (ptr) pd19 ))))(0, 0, var←c21072, pd19); }; }; var←c21168 = XR←NewObject(12, (* (( (ptr) gf←c21392)+9) )); (* (ptr) var←c21168 ) = finalMatch←v2984; (* (( (ptr) var←c21168)+1) ) = var←c20976; (* (( (ptr) var←c21168)+2) ) = var←c21040; var←c20944 = var←c21168; }; (* (( (ptr) cPriv←v3332)+7) ) = var←c20944; }; } static word FinalizationStuff←P120(c←v3044) word c←v3044; { word var←c3088; /* FinalizationStuff: */ SOURCE(741, 211) SOURCE(741, 211) var←c3088 = 0; SOURCE(824, 128) if ((c←v3044 != 0)) { SOURCE(838, 116) { word cPriv←v3388; SOURCE(840, 60) cPriv←v3388 = (* (( (ptr) c←v3044)+24) ); SOURCE(902, 50) if ((cPriv←v3388 != 0)) { SOURCE(920, 32) return((* (( (ptr) cPriv←v3388)+7) )); }; }; }; SOURCE(741, 211) return(var←c3088); } static void IncRefCount←P180(c←v3160, object←v3188) word c←v3160; word object←v3188; { register ptr gf←c21424 = (ptr) &globalframe; word finalizationStuff←v3444; /* IncRefCount: */ SOURCE(961, 395) (void) (XR←MonitorEntry((word) (( (bPt) gf←c21424)+16)/* LOCK←v2552 */ )); SOURCE(1034, 61) finalizationStuff←v3444 = (word) FinalizationStuff←P120(c←v3160); SOURCE(1097, 259) if ((finalizationStuff←v3444 != 0)) { SOURCE(1127, 231) { word count←v3500; SOURCE(1129, 83) { word pd20; pd20 = (* (( (ptr) (* (( (ptr) gf←c21424)+30)/* var←c21136 */ ))+12) ); count←v3500 = XR←Narrow((word) ( *( (fPt) ((* (ptr) pd20 ))))((* (( (ptr) finalizationStuff←v3444)+2) ), object←v3188, pd20) , (* (( (ptr) gf←c21424)+10) )); }; SOURCE(1214, 142) if ((count←v3500 != 0)) { SOURCE(1233, 23) (* (ptr) count←v3500 ) = ((* (ptr) count←v3500 ) + 1); } else { SOURCE(1256, 100) { word var←c21200; { word var←c21232; var←c21232 = XR←NewObject(4, (* (( (ptr) gf←c21424)+10) )); (* (ptr) var←c21232 ) = 1; var←c21200 = var←c21232; }; { word pd21; pd21 = (* (( (ptr) (* (( (ptr) gf←c21424)+30)/* var←c21136 */ ))+14) ); (* (( (ptr) finalizationStuff←v3444)+2) ) = (word) ( *( (fPt) ((* (ptr) pd21 ))))((* (( (ptr) finalizationStuff←v3444)+2) ), object←v3188, var←c21200, pd21); }; }; }; }; }; SOURCE(961, 395) (void) (XR←MonitorExit((word) (( (bPt) gf←c21424)+16)/* LOCK←v2552 */ )); return; } static void DecRefCount←P240(c←v3264, object←v3292) word c←v3264; word object←v3292; { register ptr gf←c21456 = (ptr) &globalframe; word finalizationStuff←v3556; /* DecRefCount: */ SOURCE(1364, 668) (void) (XR←MonitorEntry((word) (( (bPt) gf←c21456)+16)/* LOCK←v2552 */ )); SOURCE(1437, 61) finalizationStuff←v3556 = (word) FinalizationStuff←P120(c←v3264); SOURCE(1500, 532) if ((finalizationStuff←v3556 != 0)) { SOURCE(1530, 507) { word count←v3612; SOURCE(1532, 83) { word pd22; pd22 = (* (( (ptr) (* (( (ptr) gf←c21456)+30)/* var←c21136 */ ))+12) ); count←v3612 = XR←Narrow((word) ( *( (fPt) ((* (ptr) pd22 ))))((* (( (ptr) finalizationStuff←v3556)+2) ), object←v3292, pd22) , (* (( (ptr) gf←c21456)+10) )); }; SOURCE(1617, 150) if ((count←v3612 != 0)) { SOURCE(1637, 130) if (((* (ptr) count←v3612 ) != 1)) { SOURCE(1655, 25) (* (ptr) count←v3612 ) = ((* (ptr) count←v3612 ) - 1); } else { SOURCE(1680, 87) { word pd23; pd23 = (* (( (ptr) (* (( (ptr) gf←c21456)+30)/* var←c21136 */ ))+16) ); (* (( (ptr) finalizationStuff←v3556)+2) ) = (word) ( *( (fPt) ((* (ptr) pd23 ))))((* (( (ptr) finalizationStuff←v3556)+2) ), object←v3292, pd23); }; }; }; SOURCE(1773, 259) if (((* (( (ptr) finalizationStuff←v3556)+2) ) == 0)) { SOURCE(1813, 221) { word tq←v3668 = 0; word finalMatch←v3696; SOURCE(1827, 51) finalMatch←v3696 = (* (ptr) finalizationStuff←v3556 ); SOURCE(1880, 41) if ((finalMatch←v3696 != 0)) { SOURCE(1903, 18) tq←v3668 = (* (( (ptr) finalMatch←v3696)+2) ); }; SOURCE(1924, 52) if ((tq←v3668 == 0)) { SOURCE(1939, 37) tq←v3668 = (* (( (ptr) finalizationStuff←v3556)+1) ); }; SOURCE(1979, 53) { word pd24; pd24 = (* (( (ptr) (* (( (ptr) gf←c21456)+29)/* var←c21008 */ ))+64) ); (void) ( *( (fPt) ((* (ptr) pd24 ))))(tq←v3668, (word) (( (bPt) gf←c21456)+68)/* var←c20752 */ , c←v3264, 0, pd24); }; }; }; }; }; SOURCE(1364, 668) (void) (XR←MonitorExit((word) (( (bPt) gf←c21456)+16)/* LOCK←v2552 */ )); return; } static void TryCloseConnection←P300(event←v6380, clientData←v6408, tq←v6436) word event←v6380; word clientData←v6408; word tq←v6436; { register ptr gf←c21488 = (ptr) &globalframe; word c←v3740; word finalizationStuff←v3768; /* TryCloseConnection: */ SOURCE(2044, 546) SOURCE(2085, 37) c←v3740 = XR←Narrow(clientData←v6408, (* (( (ptr) gf←c21488)+11) )); SOURCE(2124, 61) finalizationStuff←v3768 = (word) FinalizationStuff←P120(c←v3740); SOURCE(2187, 403) if (((* (( (ptr) finalizationStuff←v3768)+2) ) == 0)) { SOURCE(2227, 365) { word finalMatch←v3824; SOURCE(2230, 51) finalMatch←v3824 = (* (ptr) finalizationStuff←v3768 ); SOURCE(2283, 238) if ((finalMatch←v3824 != 0)) { SOURCE(2306, 220) { word proc←v3868; SOURCE(2308, 40) proc←v3868 = (* (ptr) finalMatch←v3824 ); SOURCE(2350, 171) if ((proc←v3868 != 0)) { SOURCE(2367, 156) { word event←v3912; SOURCE(2369, 63) event←v3912 = XR←NewObject(28, (* (( (ptr) gf←c21488)+12) )); (* (( (ptr) event←v3912)+4) ) = 36; SOURCE(2434, 20) (* (( (ptr) event←v3912)+2) ) = c←v3740; SOURCE(2456, 31) (* (( (ptr) event←v3912)+5) ) = 1; SOURCE(2489, 32) (void) ( *( (fPt) ((* (ptr) proc←v3868 ))))(event←v3912, (* (( (ptr) finalMatch←v3824)+3) ), tq←v6436, proc←v3868); }; }; }; }; SOURCE(2529, 61) if (((* (( (ptr) finalizationStuff←v3768)+2) ) == 0)) { SOURCE(2569, 21) { word pd25; pd25 = (* (( (ptr) (* (( (ptr) gf←c21488)+29)/* var←c21008 */ ))+42) ); (void) ( *( (fPt) ((* (ptr) pd25 ))))(c←v3740, pd25); }; }; }; }; } /* file: XlFinalizePrivateImpl, module: XlFinalizePrivateImpl, compiled at: February 3, 1993 12:09:35 pm PST */ extern void XR←install←XlFinalizePrivateImpl() { NoName←Q696(); } extern void XR←run←XlFinalizePrivateImpl() { XR←Start(&globalframe); }