/* Generated with C2C (Cedar To C)*/ /* Copyright (C) 1992 by Xerox Corporation. All rights reserved. */ /* time: April 9, 1992 11:43:32 pm PDT */ /* C2C version: October 16, 1990 (native) */ /* ref-counting: off */ /* file: GGStoragePoolsImpl, module: GGStoragePoolsImpl */ /* switches: bcfhklnouw */ #include <cedar/InstallationSupport.h> #include <cedar/CedarExtra.h> static char versionStamp[] = "@(#)mob←version [4047108235,966966463] GGStoragePoolsImpl"; 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←Q300(); static void GGStoragePoolsImpl←P0(); static word CreateClass←P60(); static word CreatePool←P120(); static word Allocate←P180(); static void Free←P240(); static struct {unsigned f; char r[16];} string1 = {851984, "\257\300\066\171\236\174\300\023\130\350\134\100\244\000\000"}; static struct {unsigned f; char r[4];} string2 = {65537, "\001\000\000"}; static struct {unsigned f; char r[16];} string3 = {851984, "\257\300\066\171\236\174\300\023\130\350\134\100\260\000\000"}; static struct {unsigned f; char r[4];} string4 = {131074, "\0040\000"}; static struct {unsigned f; char r[16];} string5 = {851984, "\257\300\361\071\370\213\300\071\242\274\277\100\164\000\000"}; static struct {unsigned f; char r[16];} string6 = {851984, "\257\300\066\171\236\174\300\023\130\350\134\100\150\000\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[2]; } globalframe = { {0}, (word) Free←P240, 0, (word) Allocate←P180, 0, (word) CreatePool←P120, 0, (word) CreateClass←P60, 0, (word) GGStoragePoolsImpl←P0, {0} }; static void NoName←Q300() { register ptr gf←c024 = (ptr) &globalframe; word var←c4408; (* (( (ptr) gf←c024)+4) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2); (* (( (ptr) gf←c024)+5) ) = (word) XR←GetTypeIndex((word) &string3, 0, (word) &string4); (void) XR←DeclareGlobalFrame((word) "GGStoragePoolsImpl", &globalframe, (word) XR←GetTypeIndexS((word) (&string5)), (word) ( ( (bPt) gf←c024)+56)/* var←c4280 */ ); var←c4408 = (word) XR←ExportInterface((word) "GGStoragePools", (word) XR←GetTypeIndexS((word) (&string6)), 4); (* (( (ptr) gf←c024)+16)/* var←c4376 */ ) = var←c4408; (void) XR←ExportProcS(var←c4408, (word) (( (bPt) gf←c024)+48)/* var←c4248 */ , 67895299); (void) XR←ExportProcS(var←c4408, (word) (( (bPt) gf←c024)+40)/* var←c4216 */ , 67633410); (void) XR←ExportProcS(var←c4408, (word) (( (bPt) gf←c024)+32)/* var←c4184 */ , 67371521); (void) XR←ExportProcS(var←c4408, (word) (( (bPt) gf←c024)+24)/* var←c4152 */ , 525058); } static void GGStoragePoolsImpl←P0(formal←c010, formal←c09) word formal←c010; word formal←c09; { /* GGStoragePoolsImpl: */ } static word CreateClass←P60(name←v2820, allocate←v2848, free←v2876) word name←v2820; word allocate←v2848; word free←v2876; { register ptr gf←c4440 = (ptr) &globalframe; word class←v2920; /* CreateClass: */ SOURCE(487, 173) SOURCE(487, 173) class←v2920 = 0; SOURCE(603, 57) { word var←c4312; var←c4312 = XR←NewObject(12, (* (( (ptr) gf←c4440)+4) )); (* (ptr) var←c4312 ) = name←v2820; (* (( (ptr) var←c4312)+1) ) = XR←CheckProc(allocate←v2848); (* (( (ptr) var←c4312)+2) ) = XR←CheckProc(free←v2876); class←v2920 = var←c4312; }; SOURCE(487, 173) return(class←v2920); } static word CreatePool←P120(class←v2980, makeStorage←v3008) word class←v2980; word makeStorage←v3008; { register ptr gf←c4472 = (ptr) &globalframe; word pool←v3052; /* CreatePool: */ SOURCE(666, 185) SOURCE(666, 185) pool←v3052 = 0; SOURCE(778, 54) { word var←c4344; var←c4344 = XR←NewObject(24, (* (( (ptr) gf←c4472)+5) )); (* (( (ptr) var←c4344)+4) ) = class←v2980; pool←v3052 = var←c4344; }; SOURCE(834, 17) (void) ( *( (fPt) ((* (ptr) makeStorage←v3008 ))))(pool←v3052, makeStorage←v3008); SOURCE(666, 185) return(pool←v3052); } static word Allocate←P180(pool←v3112) word pool←v3112; { word item←v3156; /* Allocate: */ SOURCE(856, 108) (void) (XR←MonitorEntry(pool←v3112)); SOURCE(856, 108) item←v3156 = 0; SOURCE(932, 32) { word pd7; pd7 = (* (( (ptr) (* (( (ptr) pool←v3112)+4) ))+1) ); item←v3156 = (word) ( *( (fPt) ((* (ptr) pd7 ))))(pool←v3112, pd7); }; SOURCE(856, 108) (void) (XR←MonitorExit(pool←v3112)); return(item←v3156); } static void Free←P240(pool←v3232, item←v3260) word pool←v3232; word item←v3260; { /* Free: */ SOURCE(969, 90) (void) (XR←MonitorEntry(pool←v3232)); SOURCE(1032, 27) { word pd8; pd8 = (* (( (ptr) (* (( (ptr) pool←v3232)+4) ))+2) ); (void) ( *( (fPt) ((* (ptr) pd8 ))))(pool←v3232, item←v3260, pd8); }; SOURCE(969, 90) (void) (XR←MonitorExit(pool←v3232)); return; } /* file: GGStoragePoolsImpl, module: GGStoragePoolsImpl, compiled at: April 9, 1992 11:43:32 pm PDT */ extern void XR←install←GGStoragePoolsImpl() { NoName←Q300(); } extern void XR←run←GGStoragePoolsImpl() { XR←Start(&globalframe); }