/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1992 by Xerox Corporation.  All rights reserved. */
/* time: February 21, 1992 9:36:47 pm PST */
/* C2C version: October 16, 1990 (native) */
/* ref-counting: off */
/* file: ProcessPropsImpl, module: ProcessPropsImpl */ 
/* switches: bcfhklnouw */ 
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [3427216296,3856474784] ProcessPropsImpl";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef struct {word f0, f1, f2, f3, f4, f5;} W6;
typedef word (*fPt)();
#define SOURCE(p, l) /* source p, l */
static void NoName←Q444();
static void ProcessPropsImpl←P0();
static void AddPropList←P60();
static word NoName←Q504();
static void PushPropList←P120();
static word NoName←Q564();
static word GetPropList←P180();
static word GetProp←P240();
static void NoName←Q624();
static void NoName←Q684();
static struct {unsigned f; char r[48];} string1 = {2883632, "\260\006\005\146\151\162\163\164\216\257\300\055\153\222\376\300\327\164\352\142\100\200\005\004\162\145\163\164\214\216\257\300\055\153\222\376\300\327\164\352\142\100\200\261\000\000\000"};
static struct {unsigned f; char r[4];} string2 = {131074, "\004\003\000"};
static struct {unsigned f; char r[16];} string3 = {851984, "\257\300\314\107\053\250\300\345\335\042\240\100\150\000\000"};
static struct {unsigned f; char r[16];} string4 = {851984, "\257\300\314\116\377\204\300\167\024\373\125\100\150\000\000"};
static struct {
   word f0[9]; word f9; word f10; word f11; 
   word f12; word f13; word f14; word f15; 
   word f16; word f17; word f18[2]; 
   } globalframe = {
   {0}, (word) GetProp←P240, 0, (word) GetPropList←P180, 
   0, (word) PushPropList←P120, 0, (word) AddPropList←P60, 
   0, (word) ProcessPropsImpl←P0, {0}
   };

static void NoName←Q444()
   {
   register ptr gf←c036 =  (ptr) &globalframe;
   word var←c4176;
   (* (( (ptr) gf←c036)+8) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2);
   (void) XR←DeclareGlobalFrame((word) "ProcessPropsImpl", &globalframe, (word) XR←GetTypeIndexS((word) (&string3)), (word) (
         ( (bPt) gf←c036)+68)/* var←c4048 */ );
   var←c4176 = (word) XR←ExportInterface((word) "ProcessProps", (word) XR←GetTypeIndexS((word) (&string4)), 6);
   (* (( (ptr) gf←c036)+19)/* var←c4144 */  ) = var←c4176;
   (void) XR←ExportProcS(var←c4176, (word) (( (bPt) gf←c036)+60)/* var←c4016 */ , 524290);
   (void) XR←ExportProcS(var←c4176, (word) (( (bPt) gf←c036)+52)/* var←c3984 */ , 524546);
   (void) XR←ExportProcS(var←c4176, (word) (( (bPt) gf←c036)+44)/* var←c3952 */ , 67109376);
   (void) XR←ExportProcS(var←c4176, (word) (( (bPt) gf←c036)+36)/* var←c3920 */ , 67371777);
   }

static void ProcessPropsImpl←P0(formal←c011, formal←c010)
   word formal←c011;
   word formal←c010;
   {
   /* ProcessPropsImpl: */ 
   }

static void AddPropList←P60(propList←v2684, formal←c049)
   word propList←v2684;
   word formal←c049;
   {
   W6 var←c4208;
   /* declaration of inner←v2712 skipped */ 
   register ptr gf←c4240 =  (ptr) &globalframe;
   /* declaration of old←v3196 skipped */ 
   var←c4208.f4/* inner←v2712 */  = formal←c049;
   /* AddPropList: */ 
SOURCE(128, 472)
SOURCE(196, 41)
   var←c4208.f5/* old←v3196 */  = XR←Narrow((word) XR←GetThreadProperty(), (* (( (ptr) gf←c4240)+8) ));
SOURCE(239, 259)
   if ((var←c4208.f5/* old←v3196 */  != 0)) {
SOURCE(257, 243)
      {
         word tail←v3240 = 0;
SOURCE(278, 155)
         {
            register word each←v3284;
            each←v3284 = propList←v2684;
            lab←L100003: ;
            if ((each←v3284 != 0)) {
               }
            else {
               goto lab←L100000;
               };
            {
               word new←v3328;
SOURCE(336, 29)
               new←v3328 = XR←NewObject(8, (* (( (ptr) gf←c4240)+8) ));
               {
                  word var←c4112;
                  var←c4112 = new←v3328;
                  (*  (ptr) var←c4112 ) = (*  (ptr) each←v3284 );
                  };
SOURCE(367, 54)
               if ((tail←v3240 == 0)) {
SOURCE(386, 20)
                  propList←v2684 = new←v3328;
                  }
               else {
SOURCE(406, 15)
                  (* (( (ptr) tail←v3240)+1) ) = new←v3328;
                  };
SOURCE(423, 10)
               tail←v3240 = new←v3328;
               };
            each←v3284 = (* (( (ptr) each←v3284)+1) );
            goto lab←L100003;
            lab←L100000: ;
            };
SOURCE(444, 54)
         if ((tail←v3240 == 0)) {
SOURCE(463, 20)
            propList←v2684 = var←c4208.f5/* old←v3196 */ ;
            }
         else {
SOURCE(483, 15)
            (* (( (ptr) tail←v3240)+1) ) = var←c4208.f5/* old←v3196 */ ;
            };
         };
      };
SOURCE(503, 28)
   (void) XR←SetThreadProperty(propList←v2684);
SOURCE(533, 42)
   {
      word var←c043;
      var←c043 = (word) &var←c4208;
       (void) (word) XR←Enable(( ((word)  (fPt) NoName←Q504) ), ( ((word)  (fPt) NoName←Q684) ), var←c043);
      };
SOURCE(577, 23)
   (void) XR←SetThreadProperty(var←c4208.f5/* old←v3196 */ );
   }

static word NoName←Q504(formal←c038)
   word formal←c038;
   {
SOURCE(533, 42)
   {
      word pd5;
      pd5 = (* (( (ptr) formal←c038)+4) );
      (void) ( *( (fPt) ((*  (ptr) pd5 ))))(pd5);
      };
   return(0);
   }

static void PushPropList←P120(propList←v2788, formal←c050)
   word propList←v2788;
   word formal←c050;
   {
   W6 var←c4272;
   /* declaration of inner←v2816 skipped */ 
   register ptr gf←c4304 =  (ptr) &globalframe;
   /* declaration of old←v3372 skipped */ 
   var←c4272.f4/* inner←v2816 */  = formal←c050;
   /* PushPropList: */ 
SOURCE(606, 201)
SOURCE(667, 41)
   var←c4272.f5/* old←v3372 */  = XR←Narrow((word) XR←GetThreadProperty(), (* (( (ptr) gf←c4304)+8) ));
SOURCE(710, 28)
   (void) XR←SetThreadProperty(propList←v2788);
SOURCE(740, 42)
   {
      word var←c044;
      var←c044 = (word) &var←c4272;
       (void) (word) XR←Enable(( ((word)  (fPt) NoName←Q564) ), ( ((word)  (fPt) NoName←Q624) ), var←c044);
      };
SOURCE(784, 23)
   (void) XR←SetThreadProperty(var←c4272.f5/* old←v3372 */ );
   }

static word NoName←Q564(formal←c040)
   word formal←c040;
   {
SOURCE(740, 42)
   {
      word pd6;
      pd6 = (* (( (ptr) formal←c040)+4) );
      (void) ( *( (fPt) ((*  (ptr) pd6 ))))(pd6);
      };
   return(0);
   }

static word GetPropList←P180()
   {
   register ptr gf←c4336 =  (ptr) &globalframe;
   word propList←v2892;
   /* GetPropList: */ 
SOURCE(812, 108)
SOURCE(812, 108)
   propList←v2892 = 0;
SOURCE(881, 39)
   propList←v2892 = XR←Narrow((word) XR←GetThreadProperty(), (* (( (ptr) gf←c4336)+8) ));
SOURCE(812, 108)
   return(propList←v2892);
   }

static word GetProp←P240(key←v2952)
   word key←v2952;
   {
   register ptr gf←c4368 =  (ptr) &globalframe;
   word prop←v3012;
   word propList←v3416;
   /* GetProp: */ 
SOURCE(926, 228)
SOURCE(926, 228)
   prop←v3012 = 0;
SOURCE(996, 46)
   propList←v3416 = XR←Narrow((word) XR←GetThreadProperty(), (* (( (ptr) gf←c4368)+8) ));
SOURCE(1044, 110)
   lab←L100010: ;
   if ((propList←v3416 != 0)) {
      }
   else {
      goto lab←L100008;
      };
SOURCE(1068, 60)
   if (((*  (ptr) (*  (ptr) propList←v3416 ) ) == key←v2952)) {
SOURCE(1101, 27)
      return((* (( (ptr) (*  (ptr) propList←v3416 ))+1) ));
      };
SOURCE(1130, 24)
   propList←v3416 = (* (( (ptr) propList←v3416)+1) );
   goto lab←L100010;
   lab←L100008: ;
SOURCE(926, 228)
   return(prop←v3012);
   }

static void NoName←Q624(formal←c030, formal←c200004, formal←c200005, formal←c200006, formal←c200007)
   word formal←c030;
   word formal←c200004;
   word formal←c200005;
   word formal←c200006;
   word formal←c200007;
   {
   if ((formal←c200005 == XR←Unwind)) {
SOURCE(758, 24)
      (void) XR←SetThreadProperty((* ((( (ptr) formal←c200004)+5)) ));
      };
   (*  (ptr) formal←c030 ) = 0;
   (* (( (ptr) formal←c030)+1) ) = 0;
   return;
   }

static void NoName←Q684(formal←c035, formal←c200000, formal←c200001, formal←c200002, formal←c200003)
   word formal←c035;
   word formal←c200000;
   word formal←c200001;
   word formal←c200002;
   word formal←c200003;
   {
   if ((formal←c200001 == XR←Unwind)) {
SOURCE(551, 24)
      (void) XR←SetThreadProperty((* ((( (ptr) formal←c200000)+5)) ));
      };
   (*  (ptr) formal←c035 ) = 0;
   (* (( (ptr) formal←c035)+1) ) = 0;
   return;
   }

/* file: ProcessPropsImpl, module: ProcessPropsImpl, compiled at: February 21, 1992 9:36:46 pm PST */ 
extern void XR←install←ProcessPropsImpl() {
   NoName←Q444();
   }
extern void XR←run←ProcessPropsImpl() { XR←Start(&globalframe); }