/* Generated with C2C (Cedar To C)*/ /* Copyright (C) 1992 by Xerox Corporation. All rights reserved. */ /* time: July 21, 1992 2:26:28 pm PDT */ /* C2C version: October 16, 1990 (native) */ /* ref-counting: off */ /* file: FinalizeImpl, module: FinalizeImpl */ /* switches: bcfhklnouw */ #include <cedar/InstallationSupport.h> #include <cedar/CedarExtra.h> static char versionStamp[] = "@(#)mob←version [3676287681,1793344293] FinalizeImpl"; typedef unsigned word, *ptr; typedef unsigned char byte, *bPt; typedef unsigned short half, *hPt; #define SOURCE(p, l) /* source p, l */ static void NoName←Q780(); static void FinalizeImpl←P0(); static word IsHandle←P60(); static word NarrowHandle←P120(); static word NewFQ←P180(); static word FQEmpty←P240(); static word FQNextNoAbort←P300(); static word FQNext←P360(); static word EnableFinalization←P420(); static word DisableFinalization←P480(); static word ReenableFinalization←P540(); static word GetFinalizationState←P600(); static word HandleToObject←P660(); static word GetClientData←P720(); static struct {unsigned f; char r[16];} string1 = {851984, "\257\300\333\037\262\301\300\152\344\103\045\100\164\000\000"}; static struct {unsigned f; char r[4];} string2 = {131074, "\004\034\000"}; static struct {unsigned f; char r[16];} string3 = {851984, "\257\300\333\037\262\301\300\152\344\103\045\100\150\000\000"}; static struct {unsigned f; char r[16];} string4 = {851984, "\257\300\250\013\333\033\300\120\151\334\170\100\150\000\000"}; static struct {unsigned f; char r[32];} string5 = {1966112, "\211\022\021\106\151\156\141\154\151\172\141\142\154\145\117\142\152\145\143\164\300\250\013\333\033\300\120\151\334\170\000"}; static struct {unsigned f; char r[36];} string6 = {2162724, "\211\025\024\106\151\156\141\154\151\172\141\164\151\157\156\121\165\145\165\145\122\145\160\300\250\013\333\033\300\120\151\334\170\000\000"}; static struct {unsigned f; char r[16];} string7 = {851984, "\257\300\333\037\262\301\300\152\344\103\045\100\200\000\000"}; static struct {unsigned f; char r[4];} string8 = {131074, "\004\003\000"}; static struct { word f0[6]; word f6; word f7; 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; word f24; word f25; word f26; word f27; word f28; word f29; word f30; word f31[2]; } globalframe = { {0}, (word) GetClientData←P720, 0, (word) HandleToObject←P660, 0, (word) GetFinalizationState←P600, 0, (word) ReenableFinalization←P540, 0, (word) DisableFinalization←P480, 0, (word) EnableFinalization←P420, 0, (word) FQNext←P360, 0, (word) FQNextNoAbort←P300, 0, (word) FQEmpty←P240, 0, (word) NewFQ←P180, 0, (word) NarrowHandle←P120, 0, (word) IsHandle←P60, 0, (word) FinalizeImpl←P0, {0} }; static void NoName←Q780() { register ptr gf←c046 = (ptr) &globalframe; word var←c6644; (* (( (ptr) gf←c046)+4) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2); (void) XR←DeclareGlobalFrame((word) "FinalizeImpl", &globalframe, (word) XR←GetTypeIndexS((word) (&string3)), (word) (( (bPt) gf←c046)+120) /* var←c6292 */ ); var←c6644 = (word) XR←ExportInterface((word) "Finalize", (word) XR←GetTypeIndexS((word) (&string4)), 14); (* (( (ptr) gf←c046)+32)/* var←c6612 */ ) = var←c6644; (void) XR←ExportType((word) "FinalizableObject", (word) XR←GetTypeIndexS((word) (&string5)), (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2) ); (void) XR←ExportType((word) "FinalizationQueueRep", (word) XR←GetTypeIndexS((word) (&string6)), (word) XR←GetTypeIndex((word) &string7, 0, (word) &string8) ); (void) XR←ExportProcS(var←c6644, (word) (( (bPt) gf←c046)+112)/* var←c6260 */ , 67371521); (void) XR←ExportProcS(var←c6644, (word) (( (bPt) gf←c046)+104)/* var←c6228 */ , 67371777); (void) XR←ExportProcS(var←c6644, (word) (( (bPt) gf←c046)+64)/* var←c6068 */ , 67896323); (void) XR←ExportProcS(var←c6644, (word) (( (bPt) gf←c046)+56)/* var←c6036 */ , 67372289); (void) XR←ExportProcS(var←c6644, (word) (( (bPt) gf←c046)+48)/* var←c6004 */ , 67634690); (void) XR←ExportProcS(var←c6644, (word) (( (bPt) gf←c046)+40)/* var←c5972 */ , 67372801); (void) XR←ExportProcS(var←c6644, (word) (( (bPt) gf←c046)+32)/* var←c5940 */ , 67373057); (void) XR←ExportProcS(var←c6644, (word) (( (bPt) gf←c046)+24)/* var←c5908 */ , 67373313); (void) XR←ExportProcS(var←c6644, (word) (( (bPt) gf←c046)+96)/* var←c6196 */ , 67111424); (void) XR←ExportProcS(var←c6644, (word) (( (bPt) gf←c046)+72)/* var←c6100 */ , 67373825); (void) XR←ExportProcS(var←c6644, (word) (( (bPt) gf←c046)+80)/* var←c6132 */ , 67374081); (void) XR←ExportProcS(var←c6644, (word) (( (bPt) gf←c046)+88)/* var←c6164 */ , 67374337); } static void FinalizeImpl←P0(formal←c018, formal←c017) word formal←c018; word formal←c017; { /* FinalizeImpl: */ } static word IsHandle←P60(x←v3260) word x←v3260; { register ptr gf←c6676 = (ptr) &globalframe; word var←c3316; /* IsHandle: */ SOURCE(531, 93) SOURCE(581, 43) { word tc9; if ((x←v3260 == 0)) { tc9 = (word) 1; } else { tc9 = (word) ((* (( (ptr) gf←c6676)+4) ) == XR←GetReferentType(x←v3260)); }; return(tc9); }; } static word NarrowHandle←P120(x←v3376) word x←v3376; { register ptr gf←c6708 = (ptr) &globalframe; word var←c3432; /* NarrowHandle: */ SOURCE(628, 99) SOURCE(684, 43) return(XR←Narrow(x←v3376, (* (( (ptr) gf←c6708)+4) ))); } static word NewFQ←P180() { word var←c3492; /* NewFQ: */ SOURCE(731, 151) SOURCE(863, 19) return((word) XR←NewFQ()); } static word FQEmpty←P240(fq←v3552) word fq←v3552; { word var←c3596; /* FQEmpty: */ SOURCE(888, 182) SOURCE(1046, 24) return((word) XR←FQEmpty(fq←v3552)); } static word FQNextNoAbort←P300(fq←v3760) word fq←v3760; { word handle←v3804; /* FQNextNoAbort: */ SOURCE(1194, 109) SOURCE(1194, 109) handle←v3804 = 0; SOURCE(1273, 30) return((word) XR←FQNextNoAbort(fq←v3760)); } static word FQNext←P360(fq←v3864) word fq←v3864; { word handle←v3908; /* FQNext: */ SOURCE(1309, 142) SOURCE(1309, 142) handle←v3908 = 0; SOURCE(1387, 28) handle←v3908 = (word) XR←FQNextNoAbort(fq←v3864); SOURCE(1417, 34) if ((handle←v3908 == 0)) { SOURCE(1438, 13) (void) XR←RaiseError(XR←Aborted, 0); }; SOURCE(1309, 142) return(handle←v3908); } static word EnableFinalization←P420(object←v3968, fq←v3996, clientData←v4024) word object←v3968; word fq←v3996; word clientData←v4024; { register ptr gf←c6740 = (ptr) &globalframe; word handle←v4092; /* EnableFinalization: */ SOURCE(1456, 357) SOURCE(1456, 357) handle←v4092 = 0; SOURCE(1709, 62) { word var←c6452; var←c6452 = XR←NewObject(20, (* (( (ptr) gf←c6740)+4) )); (* (( (ptr) var←c6452)+2) ) = fq←v3996; (* (( (ptr) var←c6452)+4) ) = clientData←v4024; handle←v4092 = var←c6452; }; SOURCE(1773, 40) (void) XR←EnableFinalization(object←v3968, fq←v3996, handle←v4092); SOURCE(1456, 357) return(handle←v4092); } static word DisableFinalization←P480(handle←v4152) word handle←v4152; { word oldState←v4196; /* DisableFinalization: */ SOURCE(1819, 267) SOURCE(2047, 39) return((word) XR←DisableFinalization(handle←v4152)); } static word ReenableFinalization←P540(handle←v4256, fq←v4284) word handle←v4256; word fq←v4284; { word oldState←v4328; /* ReenableFinalization: */ SOURCE(2092, 321) SOURCE(2369, 44) return((word) XR←ReenableFinalization(handle←v4256, fq←v4284)); } static word GetFinalizationState←P600(handle←v4388) word handle←v4388; { word state←v4432; /* GetFinalizationState: */ SOURCE(2419, 265) SOURCE(2644, 40) return((word) XR←GetFinalizationState(handle←v4388)); } static word HandleToObject←P660(handle←v4492) word handle←v4492; { word object←v4536; /* HandleToObject: */ SOURCE(2690, 215) SOURCE(2690, 215) object←v4536 = 0; SOURCE(2871, 34) return((word) XR←HandleToObject(handle←v4492)); } static word GetClientData←P720(handle←v4608) word handle←v4608; { word var←c4652; /* GetClientData: */ SOURCE(2911, 89) SOURCE(2973, 27) return((* (( (ptr) handle←v4608)+4) )); } /* file: FinalizeImpl, module: FinalizeImpl, compiled at: July 21, 1992 2:26:28 pm PDT */ extern void XR←install←FinalizeImpl() { NoName←Q780(); } extern void XR←run←FinalizeImpl() { XR←Start(&globalframe); }