/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1992 by Xerox Corporation. All rights reserved. */
/* time: April 21, 1992 1:09:49 pm PDT */
/* C2C version: October 16, 1990 (native) */
/* ref-counting: off */
/* file: XlCutBuffersImpl, module: XlCutBuffersImpl */
/* switches: bcfhklnouw */
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [1198714572,1874738201] XlCutBuffersImpl";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef word (*fPt)();
typedef struct {word f0, f1, f2, f3, f4, f5;} W6;
typedef struct {word f0, f1;} W2;
#define SOURCE(p, l) /* source p, l */
static void NoName←Q696();
static void XlCutBuffersImpl←P0();
static void RegisterGetProc←P60();
static void RegisterPutProc←P120();
static word Get←P180();
static word GetGet←P480();
static void Put←P240();
static word GetPut←P588();
static void OldCutBufferPut←P300();
static word OldCutBufferGet←P360();
static void Init←P420();
static struct {unsigned f; char r[52];} string1 = {3342388, "\262\260\002\001\143\216\257\300\351\276\264\273\300\115\104\320\264\126\304\013\012\143\157\156\166\145\156\164\151\157\156\216\251\261\260\000\216\257\300\363\223\326\161\300\017\164\046\072\104\350\261"};
static struct {unsigned f; char r[60];} string2 = {3670076, "\262\260\002\001\143\216\257\300\351\276\264\273\300\115\104\320\264\126\304\005\004\144\141\164\141\216\257\300\363\223\326\161\300\017\164\046\072\104\350\013\012\143\157\156\166\145\156\164\151\157\156\216\251\261\260\261\000\000\000"};
static struct {unsigned f; char r[4];} string3 = {131076, "\216\251\000"};
static struct {unsigned f; char r[4];} string4 = {65537, "\001\000\000"};
static struct {unsigned f; char r[12];} string5 = {655372, "CutBuffer0\000"};
static struct {unsigned f; char r[16];} string6 = {851984, "\257\300\107\162\356\314\300\157\276\074\031\100\164\000\000"};
static struct {unsigned f; char r[8];} string7 = {262148, "\004\200\203\000\000\000\000"};
static struct {unsigned f; char r[16];} string8 = {851984, "\257\300\055\153\222\376\300\327\164\352\142\100\150\000\000"};
static struct {unsigned f; char r[16];} string9 = {851984, "\257\300\247\161\001\072\300\014\124\006\340\100\150\000\000"};
static struct {unsigned f; char r[16];} string10 = {851984, "\257\300\130\354\167\377\300\226\325\031\150\100\150\000\000"};
static struct {unsigned f; char r[16];} string11 = {851984, "\257\300\220\371\032\047\300\235\243\341\006\100\150\000\000"};
static struct {
word f0[16]; 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[4];
} globalframe = {
{0}, (word) Init←P420, 0, (word) OldCutBufferGet←P360,
0, (word) OldCutBufferPut←P300, 0, (word) Put←P240,
0, (word) Get←P180, 0, (word) RegisterPutProc←P120,
0, (word) RegisterGetProc←P60, 0, (word) XlCutBuffersImpl←P0,
{0}
};
static void NoName←Q696()
{
register ptr gf←c052 = (ptr) &globalframe;
word var←c6548;
(* (( (ptr) gf←c052)+11) ) = (word) XR←GetTypeIndexS((word) (&string1));
(* (( (ptr) gf←c052)+12) ) = (word) XR←GetTypeIndexS((word) (&string2));
(* (( (ptr) gf←c052)+13) ) = (word) XR←GetTypeIndex((word) &string3, 0, (word) &string4);
(* (ptr) (( (bPt) gf←c052)+60) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c052)+13) ), (word) &string5);
(void) XR←DeclareGlobalFrame((word) "XlCutBuffersImpl", &globalframe, (word) XR←GetTypeIndex((word) &string6, 0, (word) &string7)
, (word) (( (bPt) gf←c052)+120)/* var←c6132 */ );
var←c6548 = (word) XR←ImportInterface((word) "Atom", (word) XR←GetTypeIndexS((word) (&string8)), 16);
(* (( (ptr) gf←c052)+32)/* var←c6228 */ ) = var←c6548;
(void) XR←ImportProcS(var←c6548, 67635202);
(void) XR←ImportProcS(var←c6548, 67897859);
var←c6548 = (word) XR←ImportInterface((word) "XlConventions", (word) XR←GetTypeIndexS((word) (&string9)), 12);
(* (( (ptr) gf←c052)+33)/* var←c6484 */ ) = var←c6548;
(void) XR←ImportProcS(var←c6548, 67373313);
(void) XR←ImportProcS(var←c6548, 788995);
var←c6548 = (word) XR←ExportInterface((word) "XlCutBuffers", (word) XR←GetTypeIndexS((word) (&string10)), 2);
(* (( (ptr) gf←c052)+34)/* var←c6580 */ ) = var←c6548;
(void) XR←ExportProcS(var←c6548, (word) (( (bPt) gf←c052)+96)/* var←c6036 */ , 67633154);
(void) XR←ExportProcS(var←c6548, (word) (( (bPt) gf←c052)+88)/* var←c6004 */ , 786691);
var←c6548 = (word) XR←ExportInterface((word) "XlCutBuffersBackdoor", (word) XR←GetTypeIndexS((word) (&string11)), 2);
(* (( (ptr) gf←c052)+34)/* var←c6580 */ ) = var←c6548;
(void) XR←ExportProcS(var←c6548, (word) (( (bPt) gf←c052)+104)/* var←c6068 */ , 524290);
(void) XR←ExportProcS(var←c6548, (word) (( (bPt) gf←c052)+112)/* var←c6100 */ , 524546);
}
static void XlCutBuffersImpl←P0(formal←c019, formal←c018)
word formal←c019;
word formal←c018;
{
/* XlCutBuffersImpl: */
SOURCE(80, 1580)
SOURCE(1654, 6)
(void) Init←P420();
}
static void RegisterGetProc←P60(convention←v2940, get←v2968)
word convention←v2940;
word get←v2968;
{
register ptr gf←c6612 = (ptr) &globalframe;
/* RegisterGetProc: */
SOURCE(277, 146)
SOURCE(343, 80)
if ((get←v2968 != 0)) {
SOURCE(360, 63)
{
word var←c6164;
{
word var←c6196;
var←c6196 = XR←NewObject(4, (* (( (ptr) gf←c6612)+11) ));
(* (ptr) var←c6196 ) = XR←CheckProc(get←v2968);
var←c6164 = var←c6196;
};
{
word pd12;
pd12 = (* (( (ptr) (* (( (ptr) gf←c6612)+32)/* var←c6228 */ ))+14) );
(* (( (ptr) gf←c6612)+9)/* gets←v2664 */ ) = (word) ( *( (fPt) ((* (ptr) pd12 ))))((* (( (ptr) gf←c6612)+9)/* gets←v2664 */ ), convention←v2940, var←c6164, pd12)
;
};
};
};
}
static void RegisterPutProc←P120(convention←v3028, put←v3056)
word convention←v3028;
word put←v3056;
{
register ptr gf←c6644 = (ptr) &globalframe;
/* RegisterPutProc: */
SOURCE(429, 146)
SOURCE(495, 80)
if ((put←v3056 != 0)) {
SOURCE(512, 63)
{
word var←c6260;
{
word var←c6292;
var←c6292 = XR←NewObject(4, (* (( (ptr) gf←c6644)+12) ));
(* (ptr) var←c6292 ) = XR←CheckProc(put←v3056);
var←c6260 = var←c6292;
};
{
word pd13;
pd13 = (* (( (ptr) (* (( (ptr) gf←c6644)+32)/* var←c6228 */ ))+14) );
(* (( (ptr) gf←c6644)+8)/* puts←v2636 */ ) = (word) ( *( (fPt) ((* (ptr) pd13 ))))((* (( (ptr) gf←c6644)+8)/* puts←v2636 */ ), convention←v3028, var←c6260, pd13)
;
};
};
};
}
static word Get←P180(c←v3116, convention←v3144)
word c←v3116;
word convention←v3144;
{
W6 var←c6676;
word var←c3188;
/* declaration of var←c6324 skipped */
word get←v3376;
/* Get: */
SOURCE(581, 367)
{
word tmpAddr14;
tmpAddr14 = (word) (( (ptr) &var←c6676)+4)/* var←c6324 */ ;
(* (ptr) tmpAddr14 ) = ( ((word) (fPt) GetGet←P480) );
(* (( (ptr) tmpAddr14) + 1) ) = 1;
};
SOURCE(581, 367)
var←c3188 = 0;
SOURCE(835, 33)
get←v3376 = (word) GetGet←P480(convention←v3144, (word) (( (bPt) &var←c6676)+16)/* var←c6324 */ );
SOURCE(870, 33)
if ((get←v3376 == 0)) {
SOURCE(886, 17)
get←v3376 = XR←CheckProc((word) GetGet←P480(0, (word) (( (bPt) &var←c6676)+16)/* var←c6324 */ ));
};
SOURCE(905, 43)
if ((get←v3376 != 0)) {
SOURCE(921, 27)
return((word) ( *( (fPt) ((* (ptr) get←v3376 ))))(c←v3116, convention←v3144, get←v3376));
};
SOURCE(581, 367)
return(var←c3188);
}
static word GetGet←P480(convention←v3452, formal←c6740)
word convention←v3452;
word formal←c6740;
{
register ptr gf←c6708 = (ptr) &globalframe;
word var←c3496;
formal←c6740 = (formal←c6740 - 16);
/* GetGet: */
SOURCE(661, 155)
SOURCE(661, 155)
var←c3496 = 0;
SOURCE(721, 95)
{
word var←c6388;
{
word pd15;
pd15 = (* (( (ptr) (* (( (ptr) gf←c6708)+32)/* var←c6228 */ ))+12) );
var←c6388 = (word) ( *( (fPt) ((* (ptr) pd15 ))))((* (( (ptr) gf←c6708)+9)/* gets←v2664 */ ), convention←v3452, pd15);
};
if ((var←c6388 == 0)) {
goto lab←L100000;
};
if (((* (( (ptr) gf←c6708)+11) ) == XR←GetReferentType(var←c6388))) {
{
word refGet←v3524;
refGet←v3524 = var←c6388;
SOURCE(800, 16)
return(XR←CheckProc(* (ptr) refGet←v3524 ));
};
}
else {
lab←L100000: ;
};
};
SOURCE(661, 155)
return(var←c3496);
}
static void Put←P240(c←v3248, data←v3276, convention←v3304)
word c←v3248;
word data←v3276;
word convention←v3304;
{
W6 var←c6772;
/* declaration of var←c6420 skipped */
word put←v3608;
/* Put: */
SOURCE(954, 357)
{
word tmpAddr16;
tmpAddr16 = (word) (( (ptr) &var←c6772)+4)/* var←c6420 */ ;
(* (ptr) tmpAddr16 ) = ( ((word) (fPt) GetPut←P588) );
(* (( (ptr) tmpAddr16) + 1) ) = 1;
};
SOURCE(1201, 33)
put←v3608 = (word) GetPut←P588(convention←v3304, (word) (( (bPt) &var←c6772)+16)/* var←c6420 */ );
SOURCE(1236, 33)
if ((put←v3608 == 0)) {
SOURCE(1252, 17)
put←v3608 = XR←CheckProc((word) GetPut←P588(0, (word) (( (bPt) &var←c6772)+16)/* var←c6420 */ ));
};
SOURCE(1271, 40)
if ((put←v3608 != 0)) {
SOURCE(1287, 24)
(void) ( *( (fPt) ((* (ptr) put←v3608 ))))(c←v3248, data←v3276, convention←v3304, put←v3608);
};
}
static word GetPut←P588(convention←v3684, formal←c6836)
word convention←v3684;
word formal←c6836;
{
register ptr gf←c6804 = (ptr) &globalframe;
word var←c3728;
formal←c6836 = (formal←c6836 - 16);
/* GetPut: */
SOURCE(1027, 155)
SOURCE(1027, 155)
var←c3728 = 0;
SOURCE(1087, 95)
{
word var←c6452;
{
word pd17;
pd17 = (* (( (ptr) (* (( (ptr) gf←c6804)+32)/* var←c6228 */ ))+12) );
var←c6452 = (word) ( *( (fPt) ((* (ptr) pd17 ))))((* (( (ptr) gf←c6804)+8)/* puts←v2636 */ ), convention←v3684, pd17);
};
if ((var←c6452 == 0)) {
goto lab←L100001;
};
if (((* (( (ptr) gf←c6804)+12) ) == XR←GetReferentType(var←c6452))) {
{
word refPut←v3756;
refPut←v3756 = var←c6452;
SOURCE(1166, 16)
return(XR←CheckProc(* (ptr) refPut←v3756 ));
};
}
else {
lab←L100001: ;
};
};
SOURCE(1027, 155)
return(var←c3728);
}
static void OldCutBufferPut←P300(c←v4760, data←v4788, convention←v4816)
word c←v4760;
word data←v4788;
word convention←v4816;
{
register ptr gf←c6868 = (ptr) &globalframe;
/* OldCutBufferPut: */
SOURCE(1316, 65)
SOURCE(1345, 36)
{
word pd18;
pd18 = (* (( (ptr) (* (( (ptr) gf←c6868)+33)/* var←c6484 */ ))+14) );
(void) ( *( (fPt) ((* (ptr) pd18 ))))(c←v4760, data←v4788, 0, pd18);
};
}
static word OldCutBufferGet←P360(c←v4876, convention←v4904)
word c←v4876;
word convention←v4904;
{
register ptr gf←c6900 = (ptr) &globalframe;
word var←c4948;
/* OldCutBufferGet: */
SOURCE(1387, 67)
SOURCE(1416, 38)
{
word pd19;
pd19 = (* (( (ptr) (* (( (ptr) gf←c6900)+33)/* var←c6484 */ ))+13) );
return((word) ( *( (fPt) ((* (ptr) pd19 ))))(c←v4876, pd19));
};
}
static void Init←P420()
{
register ptr gf←c6932 = (ptr) &globalframe;
/* Init: */
SOURCE(1460, 188)
SOURCE(1478, 37)
(void) RegisterPutProc←P120(0, (word) (( (bPt) gf←c6932)+80)/* var←c5972 */ );
SOURCE(1517, 45)
(void) RegisterPutProc←P120((* (( (ptr) gf←c6932)+15) ), (word) (( (bPt) gf←c6932)+80)/* var←c5972 */ );
SOURCE(1564, 37)
(void) RegisterGetProc←P60(0, (word) (( (bPt) gf←c6932)+72)/* var←c5940 */ );
SOURCE(1603, 45)
(void) RegisterGetProc←P60((* (( (ptr) gf←c6932)+15) ), (word) (( (bPt) gf←c6932)+72)/* var←c5940 */ );
}
/* file: XlCutBuffersImpl, module: XlCutBuffersImpl, compiled at: April 21, 1992 1:09:48 pm PDT */
extern void XR←install←XlCutBuffersImpl() {
NoName←Q696();
}
extern void XR←run←XlCutBuffersImpl() { XR←Start(&globalframe); }