/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1992 by Xerox Corporation. All rights reserved. */
/* time: April 21, 1992 12:42:11 pm PDT */
/* C2C version: October 16, 1990 (native) */
/* ref-counting: off */
/* file: XTkNotificationImpl, module: XTkNotificationImpl */
/* switches: bcfhklnouw */
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [76824825,735568498] XTkNotificationImpl";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef word (*fPt)();
typedef struct {word f0, f1;} W2;
#define SOURCE(p, l) /* source p, l */
static void NoName←Q432();
static void XTkNotificationImpl←P0();
static void RegisterGlobal←P60();
static void CallNotifierList←P120();
static void CallAll←P180();
static struct {unsigned f; char r[44];} string1 = {2752556, "\260\006\005\146\151\162\163\164\257\300\004\224\100\371\300\053\327\342\162\100\214\005\004\162\145\163\164\214\257\300\004\224\100\371\300\053\327\342\162\100\214\261\000"};
static struct {unsigned f; char r[4];} string2 = {131074, "\004\006\000"};
static struct {unsigned f; char r[16];} string3 = {851984, "\257\300\004\224\100\371\300\053\327\342\162\100\164\000\000"};
static struct {unsigned f; char r[4];} string4 = {131074, "\003\010\000"};
static struct {unsigned f; char r[16];} string5 = {851984, "\257\300\242\221\264\046\300\105\142\142\023\100\150\000\000"};
static struct {unsigned f; char r[16];} string6 = {851984, "\257\300\242\021\151\152\300\254\342\070\173\100\150\000\000"};
static struct {
word f0[12]; word f12; word f13; word f14;
word f15; word f16; word f17; word f18;
word f19[3];
} globalframe = {
{0}, (word) CallAll←P180, 0, (word) CallNotifierList←P120,
0, (word) RegisterGlobal←P60, 0, (word) XTkNotificationImpl←P0,
{0}
};
static void NoName←Q432()
{
register ptr gf←c036 = (ptr) &globalframe;
word var←c5508;
(* (( (ptr) gf←c036)+10) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2);
(void) XR←DeclareGlobalFrame((word) "XTkNotificationImpl", &globalframe, (word) XR←GetTypeIndex((word) &string3, 0, (word) &string4)
, (word) (( (bPt) gf←c036)+72)/* var←c5284 */ );
var←c5508 = (word) XR←ImportInterface((word) "RefTab", (word) XR←GetTypeIndexS((word) (&string5)), 16);
(* (( (ptr) gf←c036)+20)/* var←c5316 */ ) = var←c5508;
(void) XR←ImportProcS(var←c5508, 67896579);
(void) XR←ImportProcS(var←c5508, 134742786);
(void) XR←ImportProcS(var←c5508, 67895555);
var←c5508 = (word) XR←ExportInterface((word) "XTkNotification", (word) XR←GetTypeIndexS((word) (&string6)), 2);
(* (( (ptr) gf←c036)+21)/* var←c5540 */ ) = var←c5508;
(void) XR←ExportProcS(var←c5508, (word) (( (bPt) gf←c036)+64)/* var←c5252 */ , 1048580);
(void) XR←ExportProcS(var←c5508, (word) (( (bPt) gf←c036)+48)/* var←c5188 */ , 1048836);
}
static void XTkNotificationImpl←P0(formal←c012, formal←c011)
word formal←c012;
word formal←c011;
{
register ptr gf←c5572 = (ptr) &globalframe;
/* XTkNotificationImpl: */
SOURCE(42, 1156)
SOURCE(248, 38)
{
word pd7;
pd7 = (* (( (ptr) (* (( (ptr) gf←c5572)+20)/* var←c5316 */ ))+5) );
(* (( (ptr) gf←c5572)+8)/* registry←v2580 */ ) = (word) ( *( (fPt) ((* (ptr) pd7 ))))(17, 0, 0, pd7);
};
}
static void RegisterGlobal←P60(key←v2916, proc←v2944, registerData←v2972, front←v3000)
word key←v2916;
word proc←v2944;
word registerData←v2972;
word front←v3000;
{
register ptr gf←c5604 = (ptr) &globalframe;
word new←v3376;
/* RegisterGlobal: */
SOURCE(289, 413)
(void) (XR←MonitorEntry((word) (( (bPt) gf←c5604)+16)/* LOCK←v2496 */ ));
SOURCE(404, 46)
{
word var←c5380;
new←v3376 = XR←NewObject(12, (* (( (ptr) gf←c5604)+10) ));
var←c5380 = new←v3376;
(* (ptr) var←c5380 ) = XR←CheckProc(proc←v2944);
(* (( (ptr) var←c5380)+1) ) = registerData←v2972;
};
SOURCE(452, 181)
{
word var←c5412;
W2 var←c020;
{
word pd8;
pd8 = (* (( (ptr) (* (( (ptr) gf←c5604)+20)/* var←c5316 */ ))+7) );
(void) ( *( (fPt) ((* (ptr) pd8 ))))((word) &var←c020, (* (( (ptr) gf←c5604)+8)/* registry←v2580 */ ), key←v2916, pd8);
};
var←c5412 = var←c020.f1;
if ((var←c5412 == 0)) {
goto lab←L100000;
};
if (((* (( (ptr) gf←c5604)+10) ) == XR←GetReferentType(var←c5412))) {
{
word nl←v3420;
nl←v3420 = var←c5412;
SOURCE(523, 110)
if ((0 != front←v3000)) {
SOURCE(538, 19)
(* (( (ptr) new←v3376)+2) ) = nl←v3420;
}
else {
SOURCE(559, 74)
{
register word l←v3464;
l←v3464 = nl←v3420;
lab←L100004: ;
SOURCE(595, 38)
if (((* (( (ptr) l←v3464)+2) ) == 0)) {
SOURCE(615, 10)
(* (( (ptr) l←v3464)+2) ) = new←v3376;
SOURCE(627, 6)
(void) (XR←MonitorExit((word) (( (bPt) gf←c5604)+16)/* LOCK←v2496 */ ));
return;
};
l←v3464 = (* (( (ptr) l←v3464)+2) );
goto lab←L100004;
};
};
};
}
else {
lab←L100000: ;
};
};
SOURCE(665, 37)
{
word var←c5444;
word pd9;
pd9 = (* (( (ptr) (* (( (ptr) gf←c5604)+20)/* var←c5316 */ ))+9) );
var←c5444 = (word) ( *( (fPt) ((* (ptr) pd9 ))))((* (( (ptr) gf←c5604)+8)/* registry←v2580 */ ), key←v2916, new←v3376, pd9)
;
};
SOURCE(289, 413)
(void) (XR←MonitorExit((word) (( (bPt) gf←c5604)+16)/* LOCK←v2496 */ ));
return;
}
static void CallNotifierList←P120(list←v3084, widget←v3112, callData←v3140, event←v3168)
word list←v3084;
word widget←v3112;
word callData←v3140;
word event←v3168;
{
/* CallNotifierList: */
SOURCE(708, 261)
SOURCE(821, 148)
{
register word l←v3508;
l←v3508 = list←v3084;
lab←L100008: ;
if ((l←v3508 != 0)) {
}
else {
goto lab←L100005;
};
SOURCE(871, 98)
{
word pd10;
pd10 = (* (ptr) l←v3508 );
(void) ( *( (fPt) ((* (ptr) pd10 ))))(widget←v3112, (* (( (ptr) l←v3508)+1) ), callData←v3140, event←v3168, pd10);
};
l←v3508 = (* (( (ptr) l←v3508)+2) );
goto lab←L100008;
lab←L100005: ;
};
}
static void CallAll←P180(key←v3240, widget←v3268, callData←v3296, event←v3324)
word key←v3240;
word widget←v3268;
word callData←v3296;
word event←v3324;
{
register ptr gf←c5636 = (ptr) &globalframe;
/* CallAll: */
SOURCE(983, 215)
SOURCE(1084, 114)
{
word var←c5476;
W2 var←c034;
{
word pd11;
pd11 = (* (( (ptr) (* (( (ptr) gf←c5636)+20)/* var←c5316 */ ))+7) );
(void) ( *( (fPt) ((* (ptr) pd11 ))))((word) &var←c034, (* (( (ptr) gf←c5636)+8)/* registry←v2580 */ ), key←v3240, pd11)
;
};
var←c5476 = var←c034.f1;
if ((var←c5476 == 0)) {
goto lab←L100009;
};
if (((* (( (ptr) gf←c5636)+10) ) == XR←GetReferentType(var←c5476))) {
{
word nl←v3552;
nl←v3552 = var←c5476;
SOURCE(1153, 45)
(void) CallNotifierList←P120(nl←v3552, widget←v3268, callData←v3296, event←v3324);
};
}
else {
lab←L100009: ;
};
};
}
/* file: XTkNotificationImpl, module: XTkNotificationImpl, compiled at: April 21, 1992 12:42:11 pm PDT */
extern void XR←install←XTkNotificationImpl() {
NoName←Q432();
}
extern void XR←run←XTkNotificationImpl() { XR←Start(&globalframe); }