/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1993 by Xerox Corporation. All rights reserved. */
/* time: September 30, 1993 4:18:18 pm PDT */
/* C2C version: April 20, 1993 (sun4) */
/* ref-counting: off */
/* file: XlDebug, module: XlDebug */
/* switches: bcfhklnouw */
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [455508239,2471946222] XlDebug";
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, f6, f7;} W8;
typedef W8 *W8Pt;
typedef struct {word f0, f1;} W2;
#define SOURCE(p, l) /* source p, l */
#define IOP2(op, x, y) ( (word) ((x) op (y)) )
#define BCK(idx, lim) ( ((unsigned) idx) >= ((unsigned) lim) ? (XR←RaiseBoundsFault()) : (idx) )
#define NCK(p) ( (void) p)
static void NoName←Q672();
static void XlDebug←P0();
static void WriteDebugInfo←P60();
static void XlDebugBlock←P120();
static struct {unsigned f; char r[16];} string1 = {917520, "\216\257\300\363\223\326\161\300\017\164\046\072\104\350\000"};
static struct {unsigned f; char r[4];} string2 = {65537, "\001\000\000"};
static struct {unsigned f; char r[12];} string3 = {720908, "\205\210\242\000\117\237\210\241\000\100\377"};
static struct {unsigned f; char r[12];} string4 = {720908, "\254\205\210\242\000\037\210\241\000\100\377"};
static struct {unsigned f; char r[4];} string5 = {65540, "\242\000\000"};
static struct {unsigned f; char r[4];} string6 = {131076, "\216\251\000"};
static struct {unsigned f; char r[8];} string7 = {458760, "XlDebug"};
static struct {unsigned f; char r[12];} string8 = {524300, "XlDebug1\000\000\000"};
static struct {unsigned f; char r[32];} string9 = {1835040, "Block if famous error occurs\000\000\000"};
static struct {unsigned f; char r[12];} string10 = {524300, "XlDebug2\000\000\000"};
static struct {unsigned f; char r[16];} string11 = {786448, "XlDebugBlock\000\000\000"};
static struct {unsigned f; char r[12];} string12 = {524300, "XlDebug3\000\000\000"};
static struct {unsigned f; char r[36];} string13 = {2162724, "Write debug data for famous error\000\000"};
static struct {unsigned f; char r[32];} string14 = {1900576, "no unexpected replies so far\012\000\000"};
static struct {unsigned f; char r[24];} string15 = {1507352, "un-expected reply\012text:"};
static struct {unsigned f; char r[4];} string16 = {196612, " %g"};
static struct {unsigned f; char r[24];} string17 = {1310744, "\012sequencenumber %g \012\000\000\000"};
static struct {unsigned f; char r[28];} string18 = {1638428, "request codes: %g %g %g\012\000\000"};
static struct {unsigned f; char r[12];} string19 = {589836, "XlDebugSP\000\000"};
static struct {unsigned f; char r[40];} string20 = {2359336, "Count of double replies so far: %g \012\000\000\000"};
static struct {unsigned f; char r[24];} string21 = {1441816, "SignalReplyNotExpected\000"};
static struct {unsigned f; char r[8];} string22 = {262152, "TRUE\000\000\000"};
static struct {unsigned f; char r[16];} string23 = {786448, "XlDebugWrite\000\000\000"};
static struct {unsigned f; char r[16];} string24 = {851984, "\257\300\033\046\201\017\300\223\126\347\356\100\164\000\000"};
static struct {unsigned f; char r[12];} string25 = {524296, "\006\001\064\010\000\004\021\001\000\000\000"};
static struct {unsigned f; char r[16];} string26 = {851984, "\257\300\055\153\222\376\300\327\164\352\142\100\150\000\000"};
static struct {unsigned f; char r[16];} string27 = {851984, "\257\300\373\225\000\071\300\362\156\307\320\100\150\000\000"};
static struct {unsigned f; char r[16];} string28 = {851984, "\257\300\015\277\004\146\300\034\367\146\045\100\164\000\000"};
static struct {
word f0[30]; word f30; word f31; word f32;
word f33; word f34; word f35[4];
} globalframe = {
{0}, (word) XlDebugBlock←P120, 0, (word) WriteDebugInfo←P60,
0, (word) XlDebug←P0, {0}
};
static void NoName←Q672()
{
register ptr gf←c049 = (ptr) &globalframe;
word var←c9576;
(* (( (ptr) gf←c049)+5) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2);
(* (( (ptr) gf←c049)+7) ) = (word) XR←GetTypeIndexS((word) (&string3));
(* (( (ptr) gf←c049)+8) ) = (word) XR←GetTypeIndexS((word) (&string4));
(* (( (ptr) gf←c049)+9) ) = (word) XR←GetTypeIndexS((word) (&string5));
(* (( (ptr) gf←c049)+11) ) = (word) XR←GetTypeIndex((word) &string6, 0, (word) &string2);
(* (ptr) (( (bPt) gf←c049)+52) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c049)+11) ), (word) &string7);
(* (ptr) (( (bPt) gf←c049)+56) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c049)+11) ), (word) &string8);
(* (ptr) (( (bPt) gf←c049)+60) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c049)+5) ), (word) &string9);
(* (ptr) (( (bPt) gf←c049)+64) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c049)+11) ), (word) &string10);
(* (ptr) (( (bPt) gf←c049)+68) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c049)+5) ), (word) &string11);
(* (ptr) (( (bPt) gf←c049)+72) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c049)+11) ), (word) &string12);
(* (ptr) (( (bPt) gf←c049)+76) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c049)+5) ), (word) &string13);
(* (ptr) (( (bPt) gf←c049)+80) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c049)+5) ), (word) &string14);
(* (ptr) (( (bPt) gf←c049)+84) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c049)+5) ), (word) &string15);
(* (ptr) (( (bPt) gf←c049)+88) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c049)+5) ), (word) &string16);
(* (ptr) (( (bPt) gf←c049)+92) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c049)+5) ), (word) &string17);
(* (ptr) (( (bPt) gf←c049)+96) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c049)+5) ), (word) &string18);
(* (ptr) (( (bPt) gf←c049)+100) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c049)+11) ), (word) &string19);
(* (ptr) (( (bPt) gf←c049)+104) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c049)+5) ), (word) &string20);
(* (ptr) (( (bPt) gf←c049)+108) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c049)+11) ), (word) &string21);
(* (ptr) (( (bPt) gf←c049)+112) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c049)+11) ), (word) &string22);
(* (ptr) (( (bPt) gf←c049)+116) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c049)+5) ), (word) &string23);
(void) XR←DeclareGlobalFrame((word) "XlDebug", &globalframe, (word) XR←GetTypeIndex((word) &string24, 0, (word) &string25)
, (word) (( (bPt) gf←c049)+136)/* var←c8840 */ );
var←c9576 = (word) XR←ImportInterface((word) "Atom", (word) XR←GetTypeIndexS((word) (&string26)), 16);
(* (( (ptr) gf←c049)+37)/* var←c8936 */ ) = var←c9576;
(void) XR←ImportProcS(var←c9576, 788739);
(void) XR←ImportProcS(var←c9576, 67634946);
var←c9576 = (word) XR←ImportInterface((word) "Commander", (word) XR←GetTypeIndexS((word) (&string27)), 3);
(* (( (ptr) gf←c049)+36)/* var←c8872 */ ) = var←c9576;
(void) XR←ImportProcS(var←c9576, 1310725);
var←c9576 = (word) XR←ImportInterface((word) "IO", (word) XR←GetTypeIndexS((word) (&string28)), 103);
(* (( (ptr) gf←c049)+38)/* var←c9064 */ ) = var←c9576;
(void) XR←ImportProcS(var←c9576, 2111493);
(void) XR←ImportProcS(var←c9576, 1063171);
(void) XR←ImportProcS(var←c9576, 1071364);
}
static void XlDebug←P0(formal←c011, formal←c010)
word formal←c011;
word formal←c010;
{
register ptr gf←c9608 = (ptr) &globalframe;
/* XlDebug: */
SOURCE(33, 1681)
SOURCE(1545, 87)
{
word pd29;
pd29 = (* (( (ptr) (* (( (ptr) gf←c9608)+36)/* var←c8872 */ ))+4) );
(void) ( *( (fPt) ((* (ptr) pd29 ))))((* (( (ptr) gf←c9608)+29) ), (word) (( (bPt) gf←c9608)+128)/* var←c8808 */ , (* (( (ptr) gf←c9608)+19)
), 0, 1, pd29);
};
SOURCE(1634, 80)
{
word pd30;
pd30 = (* (( (ptr) (* (( (ptr) gf←c9608)+36)/* var←c8872 */ ))+4) );
(void) ( *( (fPt) ((* (ptr) pd30 ))))((* (( (ptr) gf←c9608)+17) ), (word) (( (bPt) gf←c9608)+120)/* var←c8776 */ , (* (( (ptr) gf←c9608)+15)
), 0, 1, pd30);
};
}
static void WriteDebugInfo←P60(formal←c044, cmd←v3848)
word formal←c044;
word cmd←v3848;
{
register ptr gf←c9640 = (ptr) &globalframe;
word result←v3892;
word msg←v3920;
word s←v2720;
word cnt←v2748 = 0;
word idx←v2776 = 0;
word sequenceNumber←v2804 = 0;
word fix←v2832;
word da←v2860 = 0;
/* WriteDebugInfo: */
SOURCE(213, 1226)
SOURCE(213, 1226)
result←v3892 = 0;
SOURCE(213, 1226)
msg←v3920 = 0;
SOURCE(255, 22)
s←v2720 = (* (( (ptr) cmd←v3848)+1) );
SOURCE(314, 82)
fix←v2832 = XR←NewObject(32, (* (( (ptr) gf←c9640)+8) ));
SOURCE(451, 86)
{
word var←c8968;
{
word pd31;
pd31 = (* (( (ptr) (* (( (ptr) gf←c9640)+37)/* var←c8936 */ ))+11) );
var←c8968 = (word) ( *( (fPt) ((* (ptr) pd31 ))))((* (( (ptr) gf←c9640)+13) ), (* (( (ptr) gf←c9640)+14) ), pd31);
};
if ((var←c8968 == 0)) {
goto lab←L100001;
};
if (((* (( (ptr) gf←c9640)+9) ) == XR←GetReferentType(var←c8968))) {
{
word ri←v3000;
ri←v3000 = var←c8968;
SOURCE(517, 20)
sequenceNumber←v2804 = (* (ptr) ri←v3000 );
};
}
else {
lab←L100001: ;
};
};
SOURCE(554, 99)
{
word var←c9000;
{
word pd32;
pd32 = (* (( (ptr) (* (( (ptr) gf←c9640)+37)/* var←c8936 */ ))+11) );
var←c9000 = (word) ( *( (fPt) ((* (ptr) pd32 ))))((* (( (ptr) gf←c9640)+13) ), (* (( (ptr) gf←c9640)+16) ), pd32);
};
if ((var←c9000 == 0)) {
goto lab←L100002;
};
if (((* (( (ptr) gf←c9640)+8) ) == XR←GetReferentType(var←c9000))) {
{
word x←v3056;
x←v3056 = var←c9000;
SOURCE(644, 9)
(* (W8Pt) fix←v2832 ) = (* (W8Pt) x←v3056 );
};
}
else {
lab←L100002: ;
};
};
SOURCE(670, 78)
{
word var←c9032;
{
word pd33;
pd33 = (* (( (ptr) (* (( (ptr) gf←c9640)+37)/* var←c8936 */ ))+11) );
var←c9032 = (word) ( *( (fPt) ((* (ptr) pd33 ))))((* (( (ptr) gf←c9640)+13) ), (* (( (ptr) gf←c9640)+18) ), pd33);
};
if ((var←c9032 == 0)) {
goto lab←L100003;
};
if (((* (( (ptr) gf←c9640)+7) ) == XR←GetReferentType(var←c9032))) {
{
word x←v3148;
x←v3148 = var←c9032;
SOURCE(742, 6)
da←v2860 = x←v3148;
};
}
else {
lab←L100003: ;
};
};
SOURCE(765, 58)
idx←v2776 = (IOP2( % , (int)sequenceNumber←v2804, (int)4000) + 8000);
SOURCE(877, 401)
if ((da←v2860 == 0)) {
SOURCE(893, 53)
{
word pd34;
pd34 = (* (( (ptr) (* (( (ptr) gf←c9640)+38)/* var←c9064 */ ))+93) );
(void) ( *( (fPt) ((* (ptr) pd34 ))))(s←v2720, (* (( (ptr) gf←c9640)+20) ), 0, 2147483647, pd34);
};
}
else {
SOURCE(949, 41)
{
word pd35;
pd35 = (* (( (ptr) (* (( (ptr) gf←c9640)+38)/* var←c9064 */ ))+93) );
(void) ( *( (fPt) ((* (ptr) pd35 ))))(s←v2720, (* (( (ptr) gf←c9640)+21) ), 0, 2147483647, pd35);
};
SOURCE(992, 67)
{
register word i←v3204 = 0;
if (( (int)i←v3204 > (int)31)) {
goto lab←L100004;
};
lab←L100007: ;
SOURCE(1017, 42)
{
W2 var←c9096;
{
W2 var←c9128;
word v←v8728;
v←v8728 = (unsigned) (word) (* (( (bPt) fix←v2832)+BCK(i←v3204, 32)) );
var←c9128.f0 = 5;
var←c9128.f1 = v←v8728;
var←c9096 = var←c9128;
};
{
word pd36;
pd36 = (* (( (ptr) (* (( (ptr) gf←c9640)+38)/* var←c9064 */ ))+61) );
(void) ( *( (fPt) ((* (ptr) pd36 ))))(s←v2720, (* (( (ptr) gf←c9640)+22) ), var←c9096, pd36);
};
};
if (( (int)i←v3204 >= (int)31)) {
goto lab←L100004;
};
i←v3204 = (i←v3204 + 1);
goto lab←L100007;
lab←L100004: ;
};
SOURCE(1061, 61)
{
W2 var←c9192;
var←c9192.f0 = 5;
var←c9192.f1 = sequenceNumber←v2804;
{
word pd37;
pd37 = (* (( (ptr) (* (( (ptr) gf←c9640)+38)/* var←c9064 */ ))+61) );
(void) ( *( (fPt) ((* (ptr) pd37 ))))(s←v2720, (* (( (ptr) gf←c9640)+23) ), var←c9192, pd37);
};
};
SOURCE(1124, 154)
{
W2 var←c9224;
W2 var←c9320;
W2 var←c9416;
{
W2 var←c9256;
word v←v8680;
{
word idx38;
v←v8680 = (* (( (ptr) (
NCK((* (bPt) da←v2860 )),
da←v2860
))+(
idx38 = (word) IOP2( % , (int)(idx←v2776 - 1), (int)4000),
BCK(idx38, 4000)
)) );
};
var←c9256.f0 = 5;
var←c9256.f1 = v←v8680;
var←c9224 = var←c9256;
};
{
W2 var←c9352;
word v←v8632;
{
word idx39;
v←v8632 = (* (( (ptr) (
NCK((* (bPt) da←v2860 )),
da←v2860
))+(
idx39 = (word) IOP2( % , (int)idx←v2776, (int)4000),
BCK(idx39, 4000)
)) );
};
var←c9352.f0 = 5;
var←c9352.f1 = v←v8632;
var←c9320 = var←c9352;
};
{
W2 var←c9448;
word v←v8584;
{
word idx40;
v←v8584 = (* (( (ptr) (
NCK((* (bPt) da←v2860 )),
da←v2860
))+(
idx40 = (word) IOP2( % , (int)(idx←v2776 + 1), (int)4000),
BCK(idx40, 4000)
)) );
};
var←c9448.f0 = 5;
var←c9448.f1 = v←v8584;
var←c9416 = var←c9448;
};
{
word pd41;
pd41 = (* (( (ptr) (* (( (ptr) gf←c9640)+38)/* var←c9064 */ ))+60) );
(void) ( *( (fPt) ((* (ptr) pd41 ))))(s←v2720, (* (( (ptr) gf←c9640)+24) ), var←c9224, var←c9320, var←c9416, pd41);
};
};
};
SOURCE(1281, 76)
{
word var←c9512;
{
word pd42;
pd42 = (* (( (ptr) (* (( (ptr) gf←c9640)+37)/* var←c8936 */ ))+11) );
var←c9512 = (word) ( *( (fPt) ((* (ptr) pd42 ))))((* (( (ptr) gf←c9640)+13) ), (* (( (ptr) gf←c9640)+25) ), pd42);
};
if ((var←c9512 == 0)) {
goto lab←L100012;
};
if (((* (( (ptr) gf←c9640)+9) ) == XR←GetReferentType(var←c9512))) {
{
word ri←v3248;
ri←v3248 = var←c9512;
SOURCE(1348, 9)
cnt←v2748 = (* (ptr) ri←v3248 );
};
}
else {
lab←L100012: ;
};
};
SOURCE(1374, 65)
{
W2 var←c9544;
var←c9544.f0 = 5;
var←c9544.f1 = cnt←v2748;
{
word pd43;
pd43 = (* (( (ptr) (* (( (ptr) gf←c9640)+38)/* var←c9064 */ ))+61) );
(void) ( *( (fPt) ((* (ptr) pd43 ))))(s←v2720, (* (( (ptr) gf←c9640)+26) ), var←c9544, pd43);
};
};
/* removed tail goto */
(* (ptr) formal←c044 ) = result←v3892;
(* (( (ptr) formal←c044)+1) ) = msg←v3920;
return;
}
static void XlDebugBlock←P120(formal←c048, cmd←v3980)
word formal←c048;
word cmd←v3980;
{
register ptr gf←c9672 = (ptr) &globalframe;
word result←v4024;
word msg←v4052;
/* XlDebugBlock: */
SOURCE(1445, 94)
SOURCE(1445, 94)
result←v4024 = 0;
SOURCE(1445, 94)
msg←v4052 = 0;
SOURCE(1485, 54)
{
word pd44;
pd44 = (* (( (ptr) (* (( (ptr) gf←c9672)+37)/* var←c8936 */ ))+13) );
(void) ( *( (fPt) ((* (ptr) pd44 ))))((* (( (ptr) gf←c9672)+13) ), (* (( (ptr) gf←c9672)+27) ), (* (( (ptr) gf←c9672)+28)
), pd44);
};
/* removed tail goto */
(* (ptr) formal←c048 ) = result←v4024;
(* (( (ptr) formal←c048)+1) ) = msg←v4052;
return;
}
/* file: XlDebug, module: XlDebug, compiled at: September 30, 1993 4:18:18 pm PDT */
extern void XR←install←XlDebug() {
NoName←Q672();
}
extern void XR←run←XlDebug() { XR←Start(&globalframe); }