/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1993 by Xerox Corporation.  All rights reserved. */
/* time: September 14, 1993 4:25:34 pm PDT */
/* C2C version: April 20, 1993 (sun4) */
/* ref-counting: off */
/* file: XlShmPixmapsImpl, module: XlShmPixmapsImpl */ 
/* switches: bcfhklnouw */ 
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
#include <xr/ThreadsTermination.h>
#include <xr/UIO.h>
#include <xr/ThreadsSharedMem.h>
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/shm.h>
static char versionStamp[] = "@(#)mob←version [1534080382,671882230] XlShmPixmapsImpl";
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 struct {word f0, f1;} W2;
typedef struct {W8 f; W2 r;} W10;
typedef struct {word f0, f1, f2, f3;} W4;
typedef W4 *W4Pt;
typedef struct {word f0, f1, f2, f3, f4, f5, f6;} W7;
typedef W7 *W7Pt;
typedef struct {word f0, f1, f2;} W3;
typedef struct {W8 f; W4 r;} W12;
typedef W3 *W3Pt;
typedef struct {W8 f; W7 r;} W15;
typedef W2 *W2Pt;
typedef struct {W8 f; word r;} W9;
typedef struct {word f0, f1, f2, f3, f4, f5;} W6;
typedef struct {W8 f; W3 r;} W11;
#define SOURCE(p, l) /* source p, l */
#define IOP2(op, x, y)  ( (word) ((x) op (y)) )
#define SGNCK(i) ((int) (word) (i) < 0 ? XR←RaiseArithmeticFault(): i )
#define MAX(cast, x, y)  ( ( cast x) > ( cast y) ? (x) : (y) )
#define MIN(cast, x, y)  ( ( cast x) < ( cast y) ? (x) : (y) )
#define BCK(idx, lim) ( ((unsigned) idx) >= ((unsigned) lim) ? (XR←RaiseBoundsFault()) : (idx) )
static void NoName←Q3660();
static void XlShmPixmapsImpl←P0();
static void DebugSetNeverUseThis←P60();
static word InitShmExtension←P180();
static word NoName←Q3720();
static word GetShmConnectionDataAndTest←P240();
static word SHMAttach←P300();
static void action←P1908();
static word SHMCreatePixmap←P360();
static void action←P1968();
static void SHMDetach←P420();
static void action←P2028();
static void UncachedSHMQueryVersion←P480();
static void action←P2088();
static void SHMQueryVersion←P540();
static word ShmAllocSegmentateSystemId←P600();
static void ShmAllocSegmentateNew←P660();
static void SignalUnixError←P720();
static word Next←P780();
static void Info←P840();
static void PreAllocate←P900();
static word AllocateSegment←P960();
static void Link←P2196();
static word Alloc←P2256();
static word NoName←Q3780();
static word AllocateBlock←P1020();
static void UNTHREADEDBeforeQuitWorld←P1080();
static word NewSharedSampleMap←P1140();
static word Disabled1←P1200();
static word ServerHostFromConvention←P1260();
static word NoName←Q3840();
static word Disabled2←P1320();
static word TestWorking←P1380();
static word NoName←Q3900();
static word ConnectionSupportsThis←P1440();
static word ConnectionSupportsPixmaps←P1500();
static word SampleMapSupportsThis←P1560();
static word SampleMapPiece←P1620();
static word GetXShmId←P1680();
static word GetXShmInit←P2796();
static word NoName←Q3960();
static word UnsafeCreatePixmap←P1740();
static word ProcessExtension←P1800();
static void NoName←Q4020();
static void NoName←Q4080();
static void NoName←Q4140();
static void NoName←Q4200();
static void NoName←Q4260();
static struct {unsigned f; char r[4];} string1 = {65540, "\251\000\000"};
static struct {unsigned f; char r[4];} string2 = {131076, "\216\251\000"};
static struct {unsigned f; char r[4];} string3 = {65537, "\001\000\000"};
static struct {unsigned f; char r[16];} string4 = {851984, "\257\300\133\160\065\176\300\050\014\033\366\101\364\000\000"};
static struct {unsigned f; char r[4];} string5 = {131074, "\004\003\000"};
static struct {unsigned f; char r[16];} string6 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\104\304\000\000"};
static struct {unsigned f; char r[24];} string7 = {1376277, "\007\000\001\002\007\020\001\002\000\007\036\002\004\003\002\004\014\016\015\003\001\000\000"};
static struct {unsigned f; char r[16];} string8 = {917520, "\216\257\300\363\223\326\161\300\017\164\046\072\104\350\000"};
static struct {unsigned f; char r[16];} string9 = {851984, "\257\300\133\160\065\176\300\050\014\033\366\101\224\000\000"};
static struct {unsigned f; char r[4];} string10 = {196611, "\004@a"};
static struct {unsigned f; char r[4];} string11 = {65540, "\242\000\000"};
static struct {unsigned f; char r[16];} string12 = {851984, "\257\300\351\276\264\273\300\115\104\320\264\126\304\000\000"};
static struct {unsigned f; char r[60];} string13 = {3735609, "\006\023\040\001\070\001\100\100\001\100\104\001\100\110\001\100\140\001\100\144\001\100\150\001\100\154\001\100\160\001\100\164\001\100\170\001\100\174\001\100\200\001\100\224\001\100\234\001\100\240\001\100\244\001\100\250\001\000\000"};
static struct {unsigned f; char r[4];} string14 = {65540, "\241\000\000"};
static struct {unsigned f; char r[16];} string15 = {851984, "\257\300\133\160\065\176\300\050\014\033\366\101\004\000\000"};
static struct {unsigned f; char r[16];} string16 = {851984, "\257\300\351\276\264\273\300\115\104\320\264\123\320\000\000"};
static struct {unsigned f; char r[60];} string17 = {3801146, "\007\100\200\040\047\004\100\354\004\200\140\054\004\014\015\015\015\015\015\015\015\015\004\140\014\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\013\004\100\114\004\102\354\004\100\314\000"};
static struct {unsigned f; char r[20];} string18 = {1048596, "widthOfShmPixmap\000\000\000"};
static struct {unsigned f; char r[8];} string19 = {458760, "MIT-SHM"};
static struct {unsigned f; char r[4];} string20 = {65540, "x\000\000"};
static struct {unsigned f; char r[20];} string21 = {1245204, "PreventSharedMemory"};
static struct {unsigned f; char r[16];} string22 = {983056, "PARC←ServerHost"};
static struct {unsigned f; char r[16];} string23 = {851984, "\257\300\133\160\065\176\300\050\014\033\366\100\200\000\000"};
static struct {unsigned f; char r[16];} string24 = {917518, "\006\005\020\001\030\001\034\001\044\001\100\240\004\037\000"};
static struct {unsigned f; char r[16];} string25 = {851984, "\257\300\055\153\222\376\300\327\164\352\142\100\150\000\000"};
static struct {unsigned f; char r[16];} string26 = {851984, "\257\300\213\226\301\143\300\072\355\320\373\100\150\000\000"};
static struct {unsigned f; char r[16];} string27 = {851984, "\257\300\240\236\274\315\300\111\163\325\023\100\150\000\000"};
static struct {unsigned f; char r[16];} string28 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\100\150\000\000"};
static struct {unsigned f; char r[16];} string29 = {851984, "\257\300\277\374\326\303\300\302\136\022\175\100\150\000\000"};
static struct {unsigned f; char r[16];} string30 = {851984, "\257\300\243\162\130\311\300\344\000\142\023\100\150\000\000"};
static struct {unsigned f; char r[16];} string31 = {851984, "\257\300\246\171\266\212\300\131\156\315\206\100\150\000\000"};
static struct {unsigned f; char r[16];} string32 = {851984, "\257\300\351\276\264\273\300\115\104\320\264\100\164\000\000"};
static struct {unsigned f; char r[16];} string33 = {851984, "\257\300\156\124\232\133\300\236\077\321\110\100\150\000\000"};
static struct {unsigned f; char r[16];} string34 = {851984, "\257\300\337\070\153\303\300\227\216\321\214\100\150\000\000"};
static struct {unsigned f; char r[16];} string35 = {851984, "\257\300\305\130\130\253\300\227\246\357\266\100\150\000\000"};
static struct {unsigned f; char r[16];} string36 = {851984, "\257\300\304\042\023\266\300\315\144\243\337\100\150\000\000"};
static struct {unsigned f; char r[16];} string37 = {851984, "\257\300\212\247\207\172\300\123\222\237\073\100\150\000\000"};
static struct {unsigned f; char r[16];} string38 = {851984, "\257\300\044\126\136\322\300\125\273\233\107\100\150\000\000"};
static struct {unsigned f; char r[16];} string39 = {851984, "\257\300\313\043\035\351\300\322\261\377\170\100\150\000\000"};
static struct {unsigned f; char r[16];} string40 = {851984, "\257\300\361\330\262\307\300\017\351\022\161\100\150\000\000"};
static struct {unsigned f; char r[16];} string41 = {851984, "\257\300\145\070\316\243\300\025\254\213\206\100\150\000\000"};
static struct {
   word f0[46]; word f46; word f47; word f48; 
   word f49; word f50; word f51; word f52; 
   word f53; word f54; word f55; word f56; 
   word f57; word f58; word f59; word f60; 
   word f61; word f62; word f63; word f64; 
   word f65; word f66; word f67; word f68; 
   word f69; word f70; word f71; word f72; 
   word f73; word f74; word f75; word f76; 
   word f77; word f78; word f79; word f80; 
   word f81; word f82; word f83; word f84; 
   word f85; word f86; word f87; word f88; 
   word f89; word f90; word f91; word f92; 
   word f93; word f94; word f95; word f96; 
   word f97; word f98; word f99; word f100; 
   word f101; word f102; word f103; word f104; 
   word f105[16]; 
   } globalframe = {
   {0}, (word) ProcessExtension←P1800, 0, (word) UnsafeCreatePixmap←P1740, 
   0, (word) GetXShmId←P1680, 0, (word) SampleMapPiece←P1620, 
   0, (word) SampleMapSupportsThis←P1560, 0, (word) ConnectionSupportsPixmaps←P1500, 
   0, (word) ConnectionSupportsThis←P1440, 0, (word) TestWorking←P1380, 
   0, (word) Disabled2←P1320, 0, (word) ServerHostFromConvention←P1260, 
   0, (word) Disabled1←P1200, 0, (word) NewSharedSampleMap←P1140, 
   0, (word) UNTHREADEDBeforeQuitWorld←P1080, 0, (word) AllocateBlock←P1020, 
   0, (word) AllocateSegment←P960, 0, (word) PreAllocate←P900, 
   0, (word) Info←P840, 0, (word) Next←P780, 
   0, (word) SignalUnixError←P720, 0, (word) ShmAllocSegmentateNew←P660, 
   0, (word) ShmAllocSegmentateSystemId←P600, 0, (word) SHMQueryVersion←P540, 
   0, (word) UncachedSHMQueryVersion←P480, 0, (word) SHMDetach←P420, 
   0, (word) SHMCreatePixmap←P360, 0, (word) SHMAttach←P300, 
   0, (word) GetShmConnectionDataAndTest←P240, 0, (word) InitShmExtension←P180, 
   0, (word) DebugSetNeverUseThis←P60, 0, (word) XlShmPixmapsImpl←P0, 
   {0}
   };

static void NoName←Q3660()
   {
   register ptr gf←c0267 =  (ptr) &globalframe;
   word var←c42856;
   (* (( (ptr) gf←c0267)+10) ) = (word) XR←GetTypeIndexS((word) (&string1));
   (* (( (ptr) gf←c0267)+11) ) = (word) XR←GetTypeIndex((word) &string2, 0, (word) &string3);
   (* (( (ptr) gf←c0267)+12) ) = (word) XR←GetTypeIndex((word) &string4, 0, (word) &string5);
   (* (( (ptr) gf←c0267)+13) ) = (word) XR←GetTypeIndex((word) &string6, 0, (word) &string7);
   (* (( (ptr) gf←c0267)+14) ) = (word) XR←GetTypeIndex((word) &string8, 0, (word) &string3);
   (* (( (ptr) gf←c0267)+15) ) = (word) XR←GetTypeIndex((word) &string9, 0, (word) &string10);
   (* (( (ptr) gf←c0267)+16) ) = (word) XR←GetTypeIndexS((word) (&string11));
   (* (( (ptr) gf←c0267)+17) ) = (word) XR←GetTypeIndex((word) &string12, 0, (word) &string13);
   (* (( (ptr) gf←c0267)+18) ) = (word) XR←GetTypeIndexS((word) (&string14));
   (* (( (ptr) gf←c0267)+34) ) = (word) XR←GetTypeIndex((word) &string15, 0, (word) &string3);
   (* (( (ptr) gf←c0267)+35) ) = (word) XR←GetTypeIndex((word) &string16, 0, (word) &string17);
   (*  (ptr) (( (bPt) gf←c0267)+160) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0267)+11) ), (word) &string18);
   (*  (ptr) (( (bPt) gf←c0267)+164) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0267)+14) ), (word) &string19);
   (*  (ptr) (( (bPt) gf←c0267)+168) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0267)+11) ), (word) &string20);
   (*  (ptr) (( (bPt) gf←c0267)+172) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0267)+11) ), (word) &string21);
   (*  (ptr) (( (bPt) gf←c0267)+176) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0267)+14) ), (word) &string22);
   (void) XR←DeclareGlobalFrame((word) "XlShmPixmapsImpl", &globalframe, (word) XR←GetTypeIndex((word) &string23, 0, (word) &string24)
      , (word) (( (bPt) gf←c0267)+416)/* var←c40936 */ );
   var←c42856 = (word) XR←ImportInterface((word) "Atom", (word) XR←GetTypeIndexS((word) (&string25)), 16);
   (* (( (ptr) gf←c0267)+106)/* var←c40968 */  ) = var←c42856;
   (void) XR←ImportProcS(var←c42856, 67895555);
   var←c42856 = (word) XR←ImportInterface((word) "ImagerSample", (word) XR←GetTypeIndexS((word) (&string26)), 60);
   (* (( (ptr) gf←c0267)+116)/* var←c42184 */  ) = var←c42856;
   (void) XR←ImportProcS(var←c42856, 69995271);
   var←c42856 = (word) XR←ImportInterface((word) "Process", (word) XR←GetTypeIndexS((word) (&string27)), 22);
   (* (( (ptr) gf←c0267)+114)/* var←c41896 */  ) = var←c42856;
   (void) XR←ImportProcS(var←c42856, 4864);
   var←c42856 = (word) XR←ImportInterface((word) "Rope", (word) XR←GetTypeIndexS((word) (&string28)), 43);
   (* (( (ptr) gf←c0267)+118)/* var←c42344 */  ) = var←c42856;
   (void) XR←ImportProcS(var←c42856, 67373313);
   var←c42856 = (word) XR←ImportInterface((word) "SafeStorage", (word) XR←GetTypeIndexS((word) (&string29)), 27);
   (* (( (ptr) gf←c0267)+113)/* var←c41864 */  ) = var←c42856;
   (void) XR←ImportProcS(var←c42856, 526082);
   var←c42856 = (word) XR←ImportInterface((word) "SF", (word) XR←GetTypeIndexS((word) (&string30)), 19);
   (* (( (ptr) gf←c0267)+115)/* var←c42088 */  ) = var←c42856;
   (void) XR←ImportProcS(var←c42856, 68161025);
   (void) XR←ImportProcS(var←c42856, 68160769);
   var←c42856 = (word) XR←ImportInterface((word) "VMChunks", (word) XR←GetTypeIndexS((word) (&string31)), 9);
   (* (( (ptr) gf←c0267)+112)/* var←c41768 */  ) = var←c42856;
   (void) XR←ImportProcS(var←c42856, 67372545);
   (void) XR←ImportProcS(var←c42856, 67634434);
   (void) XR←ImportProcS(var←c42856, 67633666);
   var←c42856 = (word) XR←ImportInterface((word) "Xl", (word) XR←GetTypeIndexS((word) (&string32)), 218);
   (* (( (ptr) gf←c0267)+108)/* var←c41160 */  ) = var←c42856;
   (void) XR←ImportProcS(var←c42856, 792323);
   (void) XR←ImportProcS(var←c42856, 67375105);
   (void) XR←ImportProcS(var←c42856, 270545672);
   (void) XR←ImportProcS(var←c42856, 67644930);
   (void) XR←ImportProcS(var←c42856, 67639298);
   (void) XR←ImportProcS(var←c42856, 67901699);
   var←c42856 = (word) XR←ImportInterface((word) "XlAccess", (word) XR←GetTypeIndexS((word) (&string33)), 4);
   (* (( (ptr) gf←c0267)+117)/* var←c42312 */  ) = var←c42856;
   (void) XR←ImportProcS(var←c42856, 67371265);
   var←c42856 = (word) XR←ImportInterface((word) "XlDetails", (word) XR←GetTypeIndexS((word) (&string34)), 4);
   (* (( (ptr) gf←c0267)+119)/* var←c42664 */  ) = var←c42856;
   var←c42856 = (word) XR←ImportInterface((word) "XlExtensions", (word) XR←GetTypeIndexS((word) (&string35)), 3);
   (* (( (ptr) gf←c0267)+107)/* var←c41032 */  ) = var←c42856;
   (void) XR←ImportProcS(var←c42856, 67633666);
   (void) XR←ImportProcS(var←c42856, 786691);
   var←c42856 = (word) XR←ImportInterface((word) "XlPrivate", (word) XR←GetTypeIndexS((word) (&string36)), 77);
   (* (( (ptr) gf←c0267)+109)/* var←c41256 */  ) = var←c42856;
   (void) XR←ImportProcS(var←c42856, 67385857);
   (void) XR←ImportProcS(var←c42856, 67389953);
   (void) XR←ImportProcS(var←c42856, 67389697);
   (void) XR←ImportProcS(var←c42856, 278529);
   (void) XR←ImportProcS(var←c42856, 792834);
   (void) XR←ImportProcS(var←c42856, 530178);
   (void) XR←ImportProcS(var←c42856, 531202);
   (void) XR←ImportProcS(var←c42856, 539650);
   (void) XR←ImportProcS(var←c42856, 528130);
   (void) XR←ImportProcS(var←c42856, 528642);
   (void) XR←ImportProcS(var←c42856, 1051908);
   (void) XR←ImportProcS(var←c42856, 786947);
   var←c42856 = (word) XR←ImportInterface((word) "XlPrivateErrorHandling", (word) XR←GetTypeIndexS((word) (&string37)), 10);
   (* (( (ptr) gf←c0267)+111)/* var←c41352 */  ) = var←c42856;
   (void) XR←ImportProcS(var←c42856, 526082);
   var←c42856 = (word) XR←ImportInterface((word) "XlPrivateResources", (word) XR←GetTypeIndexS((word) (&string38)), 9);
   (* (( (ptr) gf←c0267)+110)/* var←c41288 */  ) = var←c42856;
   (void) XR←ImportProcS(var←c42856, 67371521);
   var←c42856 = (word) XR←ExportInterface((word) "XlShmPixmaps", (word) XR←GetTypeIndexS((word) (&string39)), 5);
   (* (( (ptr) gf←c0267)+120)/* var←c42888 */  ) = var←c42856;
   (void) XR←ExportProcS(var←c42856, (word) (( (bPt) gf←c0267)+272)/* var←c40360 */ , 68419586, (word) "NewSharedSampleMap")
   ;
   (void) XR←ExportProcS(var←c42856, (word) (( (bPt) gf←c0267)+216)/* var←c40136 */ , 67371265, (word) "SampleMapSupportsThis")
   ;
   (void) XR←ExportProcS(var←c42856, (word) (( (bPt) gf←c0267)+192)/* var←c40040 */ , 67895811, (word) "UnsafeCreatePixmap")
   ;
   (void) XR←ExportProcS(var←c42856, (word) (( (bPt) gf←c0267)+232)/* var←c40200 */ , 67371777, (word) "ConnectionSupportsThis")
   ;
   (void) XR←ExportProcS(var←c42856, (word) (( (bPt) gf←c0267)+224)/* var←c40168 */ , 67372033, (word) "ConnectionSupportsPixmaps")
   ;
   var←c42856 = (word) XR←ExportInterface((word) "XlShmMonitor", (word) XR←GetTypeIndexS((word) (&string40)), 2);
   (* (( (ptr) gf←c0267)+120)/* var←c42888 */  ) = var←c42856;
   (void) XR←ExportProcS(var←c42856, (word) (( (bPt) gf←c0267)+320)/* var←c40552 */ , 67371009, (word) "Next");
   (void) XR←ExportProcS(var←c42856, (word) (( (bPt) gf←c0267)+312)/* var←c40520 */ , 201588993, (word) "Info");
   var←c42856 = (word) XR←ExportInterface((word) "XlShmPixmapsExtras", (word) XR←GetTypeIndexS((word) (&string41)), 1);
   (* (( (ptr) gf←c0267)+120)/* var←c42888 */  ) = var←c42856;
   (void) XR←ExportProcS(var←c42856, (word) (( (bPt) gf←c0267)+304)/* var←c40488 */ , 262145, (word) "PreAllocate");
   }

static void XlShmPixmapsImpl←P0(formal←c070, formal←c067)
   word formal←c070;
   word formal←c067;
   {
   register ptr gf←c42920 =  (ptr) &globalframe;
   /* XlShmPixmapsImpl: */ 
SOURCE(247, 13495)
SOURCE(629, 48)
   {
      word pd42;
      pd42 = (* (( (ptr) (* (( (ptr) gf←c42920)+106)/* var←c40968 */  ))+5) );
      (* (( (ptr) gf←c42920)+4)/* shmExtensionKey←v3448 */  ) = (word) ( *( (fPt) ((*  (ptr) pd42 ))))((* (( (ptr) gf←c42920)+41)
          ), 0, 2147483647, pd42);
      };
SOURCE(1137, 30)
   (* (( (ptr) gf←c42920)+6)/* privateKey←v3728 */  ) = XR←NewObject(4, (* (( (ptr) gf←c42920)+16) ));
SOURCE(6328, 53)
   {
      word var←c41000;
      var←c41000 = XR←NewObject(172, (* (( (ptr) gf←c42920)+17) ));
      (* (( (ptr) var←c41000)+33) ) = XR←CheckProc(0);
      (* (( (ptr) var←c41000)+34) ) = XR←CheckProc(0);
      (* (( (ptr) gf←c42920)+9)/* fakeConnection←v4316 */  ) = var←c41000;
      };
SOURCE(13525, 31)
   (void) PreAllocate←P900(1048576);
SOURCE(13558, 88)
   {
      word pd43;
      pd43 = (* (( (ptr) (* (( (ptr) gf←c42920)+107)/* var←c41032 */  ))+5) );
      (void) ( *( (fPt) ((*  (ptr) pd43 ))))((* (( (ptr) gf←c42920)+4)/* shmExtensionKey←v3448 */  ), (word) (( (bPt) gf←c42920)+184)
         /* var←c40008 */ , 1, pd43);
      };
SOURCE(13656, 86)
SOURCE(13659, 81)
   {
      word var←c41064;
      var←c41064 = (word) XR←RegisterTerminationCleanupProc((word) (( (bPt) gf←c42920)+280)/* var←c40392 */ , 0);
      };
   }

static void DebugSetNeverUseThis←P60(b←v4928)
   word b←v4928;
   {
   register ptr gf←c42952 =  (ptr) &globalframe;
   /* DebugSetNeverUseThis: */ 
SOURCE(907, 56)
SOURCE(947, 16)
   (* (( (ptr) gf←c42952)+5)/* neverUseThis←v3644 */  ) = b←v4928;
   }

static word InitShmExtension←P180(formal←c0343, key←v16476)
   word formal←c0343;
   word key←v16476;
   {
   W10 var←c42984;
   /* declaration of c←v16448 skipped */ 
   register ptr gf←c43016 =  (ptr) &globalframe;
   word val←v16520;
   /* declaration of shmd←v8920 skipped */ 
   (* (( (ptr) &var←c42984)+4)/* c←v16448 */  ) = formal←c0343;
   /* InitShmExtension: */ 
SOURCE(1169, 11458)
SOURCE(1169, 11458)
   val←v16520 = (* (( (ptr) gf←c43016)+42) );
SOURCE(1213, 52)
   (* (( (ptr) &var←c42984)+5)/* shmd←v8920 */  ) = XR←NewObject(28, (* (( (ptr) gf←c43016)+34) ));
SOURCE(1267, 11360)
   if ((0 == (word) Disabled1←P1200((* ((( (ptr) &var←c42984)+4)/* c←v16448 */ ) )))) {
SOURCE(1291, 11336)
      {
         word pd44;
         pd44 = (* (( (ptr) (* (( (ptr) gf←c43016)+107)/* var←c41032 */  ))+6) );
         (*  (ptr) (* (( (ptr) &var←c42984)+5)/* shmd←v8920 */  ) ) = (word) ( *( (fPt) ((*  (ptr) pd44 ))))((* (( (ptr) &var←c42984)+4)
            /* c←v16448 */  ), (* (( (ptr) gf←c43016)+4)/* shmExtensionKey←v3448 */  ), pd44);
         };
SOURCE(1350, 11277)
      if ( ( ((*  (ptr) (* (( (ptr) &var←c42984)+5)/* shmd←v8920 */  ) ) != 0) ? (0 == (word) Disabled2←P1320((* ((( (ptr) &var←c42984)+4)
         /* c←v16448 */ ) ))) : 0 ) ) {
SOURCE(1390, 27)
         (* (( (ptr) (* (( (ptr) &var←c42984)+5)/* shmd←v8920 */  ))+5) ) = 1;
SOURCE(1419, 11208)
SOURCE(1419, 11208)
         {
            /* declaration of var←c01 skipped */ 
            {
               word var←c02;
               {
                  word var←c0316;
                  var←c0316 = (word) &var←c42984;
                  var←c02 = (word) XR←Enable(( ((word)  (fPt) NoName←Q3720) ), ( ((word)  (fPt) NoName←Q4260) ), var←c0316);
                  };
               if ((var←c02 == 2)) {
                  goto lab←L100001;
                  };
               };
            (*  (W4Pt) (( (ptr) (* (( (ptr) &var←c42984)+5)/* shmd←v8920 */  ))+1) ) = (*  (W4Pt) (( (ptr) &var←c42984)+6)/* var←c01 */  );
            };
         lab←L100001: ;
SOURCE(1513, 70)
         if ((0 != (* (( (ptr) (* (( (ptr) &var←c42984)+5)/* shmd←v8920 */  ))+5) ))) {
            (* (( (ptr) (* (( (ptr) &var←c42984)+5)/* shmd←v8920 */  ))+6) ) =  (unsigned) (0 != (* (( (ptr) (* (( (ptr) &var←c42984)+5)
               /* shmd←v8920 */  ))+4) ));
            }
         else {
            (* (( (ptr) (* (( (ptr) &var←c42984)+5)/* shmd←v8920 */  ))+6) ) =  (unsigned) 0;
            };
SOURCE(1585, 11042)
         if ((0 == (* (( (ptr) (* (( (ptr) &var←c42984)+5)/* shmd←v8920 */  ))+1) ))) {
SOURCE(1616, 11011)
            XR←FillWords(&(* (W7Pt) ((* (( (ptr) &var←c42984)+5)/* shmd←v8920 */  ))), 7, 0);
            };
         };
      };
SOURCE(1650, 14)
   return((* (( (ptr) &var←c42984)+5)/* shmd←v8920 */  ));
   }

static word NoName←Q3720(formal←c0271)
   word formal←c0271;
   {
SOURCE(1419, 11208)
   (void) UncachedSHMQueryVersion←P480((word) (( (bPt) formal←c0271)+24), (* (( (ptr) formal←c0271)+4) ), (* (( (ptr) formal←c0271)+5)
       ));
   return(0);
   }

static word GetShmConnectionDataAndTest←P240(c←v5116)
   word c←v5116;
   {
   register ptr gf←c43048 =  (ptr) &globalframe;
   word shmd←v5160;
   /* GetShmConnectionDataAndTest: */ 
SOURCE(1668, 10959)
SOURCE(1668, 10959)
   shmd←v5160 = 0;
SOURCE(1763, 10864)
   {
      word var←c41128;
      word d←v39832;
SOURCE(967, 11660)
      d←v39832 = 0;
SOURCE(1059, 11568)
      {
         word pd45;
         pd45 = (* (( (ptr) (* (( (ptr) gf←c43048)+108)/* var←c41160 */  ))+29) );
         d←v39832 = XR←Narrow((word) ( *( (fPt) ((*  (ptr) pd45 ))))(c←v5116, (* (( (ptr) gf←c43048)+6)/* privateKey←v3728 */  ), (word) (
                  ( (bPt) gf←c43048)+400)/* var←c40872 */ , pd45), (* (( (ptr) gf←c43048)+34) ));
         };
SOURCE(967, 11660)
      var←c41128 = d←v39832;
      shmd←v5160 = var←c41128;
      };
SOURCE(1795, 10832)
   if (((*  (ptr) shmd←v5160 ) == 0)) {
SOURCE(1815, 138)
      {
         word err←v8976;
SOURCE(1846, 63)
         err←v8976 = XR←NewObject(60, (* (( (ptr) gf←c43048)+35) ));
         (* (( (ptr) err←v8976)+4) ) = 1;
SOURCE(1911, 18)
         (* (( (ptr) err←v8976)+2) ) = c←v5116;
SOURCE(1931, 10696)
         {
            word var←c082;
            var←c082 = err←v8976;
            (void) XR←RaiseError((* (( (ptr) (* (( (ptr) gf←c43048)+108)/* var←c41160 */  ))+4) ), (word) &var←c082);
            };
         };
      };
SOURCE(1668, 10959)
   return(shmd←v5160);
   }

static word SHMAttach←P300(c←v5232, formal←c0344, formal←c0345)
   word c←v5232;
   W3 formal←c0344;
   word formal←c0345;
   {
   W12 var←c43080;
   /* declaration of shmInfo←v5260 skipped */ 
   /* declaration of details←v5288 skipped */ 
   register ptr gf←c43112 =  (ptr) &globalframe;
   /* declaration of xShmID←v5332 skipped */ 
   /* declaration of var←c41224 skipped */ 
   /* declaration of shmd←v9032 skipped */ 
   (*  (W3Pt) (( (ptr) &var←c43080)+4)/* shmInfo←v5260 */  ) = formal←c0344;
   (* (( (ptr) &var←c43080)+7)/* details←v5288 */  ) = formal←c0345;
   /* SHMAttach: */ 
SOURCE(1986, 10641)
   {
      word tmpAddr46;
      tmpAddr46 = (word) (( (ptr) &var←c43080)+9)/* var←c41224 */ ;
      (*  (ptr) tmpAddr46 ) = ( ((word)  (fPt) action←P1908) );
      (* (( (ptr) tmpAddr46) + 1) ) = 1;
      };
SOURCE(1986, 10641)
   (* (( (ptr) &var←c43080)+8)/* xShmID←v5332 */  ) = 0;
SOURCE(2109, 60)
   (* (( (ptr) &var←c43080)+11)/* shmd←v9032 */  ) = (word) GetShmConnectionDataAndTest←P240(c←v5232);
SOURCE(2506, 41)
   {
      word pd47;
      pd47 = (* (( (ptr) (* (( (ptr) gf←c43112)+109)/* var←c41256 */  ))+6) );
      (void) ( *( (fPt) ((*  (ptr) pd47 ))))(c←v5232, (word) (( (bPt) &var←c43080)+36)/* var←c41224 */ , (* (( (ptr) &var←c43080)+7)
         /* details←v5288 */  ), pd47);
      };
SOURCE(1986, 10641)
   return((* (( (ptr) &var←c43080)+8)/* xShmID←v5332 */  ));
   }

static void action←P1908(c←v9148, formal←c43176)
   word c←v9148;
   word formal←c43176;
   {
   register ptr gf←c43144 =  (ptr) &globalframe;
   formal←c43176 = (formal←c43176 - 36);
   /* action: */ 
SOURCE(2171, 10456)
SOURCE(2207, 10420)
   {
      word pd48;
      pd48 = (* (( (ptr) (* (( (ptr) gf←c43144)+110)/* var←c41288 */  ))+6) );
      (* (( (ptr) formal←c43176)+8) ) = (word) ( *( (fPt) ((*  (ptr) pd48 ))))(c←v9148, pd48);
      };
SOURCE(2253, 63)
   {
      word pd49;
      pd49 = (* (( (ptr) (* (( (ptr) gf←c43144)+109)/* var←c41256 */  ))+17) );
      (void) ( *( (fPt) ((*  (ptr) pd49 ))))(c←v9148, (* (( (ptr) (*  (ptr) (* (( (ptr) formal←c43176)+11) ) ))+1) ), 1, 4, pd49)
      ;
      };
SOURCE(2318, 27)
   {
      word pd50;
      pd50 = (* (( (ptr) (* (( (ptr) gf←c43144)+109)/* var←c41256 */  ))+21) );
      (void) ( *( (fPt) ((*  (ptr) pd50 ))))(c←v9148, (* (( (ptr) formal←c43176)+8) ), pd50);
      };
SOURCE(2354, 38)
   {
      word pd51;
      pd51 = (* (( (ptr) (* (( (ptr) gf←c43144)+109)/* var←c41256 */  ))+21) );
      (void) ( *( (fPt) ((*  (ptr) pd51 ))))(c←v9148, (* (( (ptr) formal←c43176)+4) ), pd51);
      };
SOURCE(2394, 41)
   {
      word pd52;
      pd52 = (* (( (ptr) (* (( (ptr) gf←c43144)+109)/* var←c41256 */  ))+19) );
      (void) ( *( (fPt) ((*  (ptr) pd52 ))))(c←v9148, (* (( (ptr) formal←c43176)+6) ), pd52);
      };
SOURCE(2438, 21)
   (* (( (ptr) c←v9148)+4) ) = ((* (( (ptr) c←v9148)+4) ) + 3);
SOURCE(2462, 39)
   {
      word pd53;
      pd53 = (* (( (ptr) (* (( (ptr) gf←c43144)+109)/* var←c41256 */  ))+64) );
      (void) ( *( (fPt) ((*  (ptr) pd53 ))))(c←v9148, (* (( (ptr) formal←c43176)+7) ), pd53);
      };
   }

static word SHMCreatePixmap←P360(c←v5392, formal←c0346, formal←c0347, formal←c0348, formal←c0349, formal←c0350, formal←c0351)
   word c←v5392;
   word formal←c0346;
   word formal←c0347;
   word formal←c0348;
   W2 formal←c0349;
   word formal←c0350;
   word formal←c0351;
   {
   W15 var←c43208;
   /* declaration of drawable←v5420 skipped */ 
   /* declaration of xShmID←v5448 skipped */ 
   /* declaration of offset←v5476 skipped */ 
   /* declaration of size←v5504 skipped */ 
   /* declaration of depth←v5532 skipped */ 
   /* declaration of details←v5560 skipped */ 
   register ptr gf←c43240 =  (ptr) &globalframe;
   /* declaration of p←v5604 skipped */ 
   /* declaration of var←c41320 skipped */ 
   /* declaration of shmd←v9176 skipped */ 
   (* (( (ptr) &var←c43208)+4)/* drawable←v5420 */  ) = formal←c0346;
   (* (( (ptr) &var←c43208)+5)/* xShmID←v5448 */  ) = formal←c0347;
   (* (( (ptr) &var←c43208)+6)/* offset←v5476 */  ) = formal←c0348;
   (*  (W2Pt) (( (ptr) &var←c43208)+7)/* size←v5504 */  ) = formal←c0349;
   (* (( (ptr) &var←c43208)+9)/* depth←v5532 */  ) = formal←c0350;
   (* (( (ptr) &var←c43208)+10)/* details←v5560 */  ) = formal←c0351;
   /* SHMCreatePixmap: */ 
SOURCE(2554, 10073)
   {
      word tmpAddr54;
      tmpAddr54 = (word) (( (ptr) &var←c43208)+12)/* var←c41320 */ ;
      (*  (ptr) tmpAddr54 ) = ( ((word)  (fPt) action←P1968) );
      (* (( (ptr) tmpAddr54) + 1) ) = 1;
      };
SOURCE(2554, 10073)
   (* (( (ptr) &var←c43208)+11)/* p←v5604 */  ) = 0;
SOURCE(2749, 60)
   (* (( (ptr) &var←c43208)+14)/* shmd←v9176 */  ) = (word) GetShmConnectionDataAndTest←P240(c←v5392);
SOURCE(3217, 147)
   if (( (int)IOP2( % ,  (int)(* (( (ptr) &var←c43208)+7) ),  (int)(32 / (* (( (ptr) &var←c43208)+9)/* depth←v5532 */  ))) !=  (int)0)) {
SOURCE(3303, 61)
      {
         word pd55;
         pd55 = (* (( (ptr) (* (( (ptr) gf←c43240)+111)/* var←c41352 */  ))+11) );
         (void) ( *( (fPt) ((*  (ptr) pd55 ))))(c←v5392, (* (( (ptr) gf←c43240)+40) ), pd55);
         };
      };
SOURCE(3388, 41)
   {
      word pd56;
      pd56 = (* (( (ptr) (* (( (ptr) gf←c43240)+109)/* var←c41256 */  ))+6) );
      (void) ( *( (fPt) ((*  (ptr) pd56 ))))(c←v5392, (word) (( (bPt) &var←c43208)+48)/* var←c41320 */ , (* (( (ptr) &var←c43208)+10)
         /* details←v5560 */  ), pd56);
      };
SOURCE(2554, 10073)
   return((* (( (ptr) &var←c43208)+11)/* p←v5604 */  ));
   }

static void action←P1968(c←v9292, formal←c43304)
   word c←v9292;
   word formal←c43304;
   {
   register ptr gf←c43272 =  (ptr) &globalframe;
   formal←c43304 = (formal←c43304 - 48);
   /* action: */ 
SOURCE(2811, 9816)
SOURCE(2847, 9780)
   {
      word pd57;
      pd57 = (* (( (ptr) (* (( (ptr) gf←c43272)+110)/* var←c41288 */  ))+6) );
      (* (( (ptr) formal←c43304)+11) ) = (word) ( *( (fPt) ((*  (ptr) pd57 ))))(c←v9292, pd57);
      };
SOURCE(2892, 69)
   {
      word pd58;
      pd58 = (* (( (ptr) (* (( (ptr) gf←c43272)+109)/* var←c41256 */  ))+17) );
      (void) ( *( (fPt) ((*  (ptr) pd58 ))))(c←v9292, (* (( (ptr) (*  (ptr) (* (( (ptr) formal←c43304)+14) ) ))+1) ), 5, 7, pd58)
      ;
      };
SOURCE(2963, 26)
   {
      word pd59;
      pd59 = (* (( (ptr) (* (( (ptr) gf←c43272)+109)/* var←c41256 */  ))+31) );
      (void) ( *( (fPt) ((*  (ptr) pd59 ))))(c←v9292, (* (( (ptr) formal←c43304)+11) ), pd59);
      };
SOURCE(2992, 35)
   {
      word pd60;
      pd60 = (* (( (ptr) (* (( (ptr) gf←c43272)+109)/* var←c41256 */  ))+27) );
      (void) ( *( (fPt) ((*  (ptr) pd60 ))))(c←v9292, (* (( (ptr) formal←c43304)+4) ), pd60);
      };
SOURCE(3030, 27)
   {
      word pd61;
      pd61 = (* (( (ptr) (* (( (ptr) gf←c43272)+109)/* var←c41256 */  ))+29) );
      (void) ( *( (fPt) ((*  (ptr) pd61 ))))(c←v9292, (*  (W2Pt) (( (ptr) formal←c43304)+7) ), pd61);
      };
SOURCE(3060, 25)
   {
      word pd62;
      pd62 = (* (( (ptr) (* (( (ptr) gf←c43272)+109)/* var←c41256 */  ))+19) );
      (void) ( *( (fPt) ((*  (ptr) pd62 ))))(c←v9292, (* (( (ptr) formal←c43304)+9) ), pd62);
      };
SOURCE(3089, 21)
   (* (( (ptr) c←v9292)+4) ) = ((* (( (ptr) c←v9292)+4) ) + 3);
SOURCE(3113, 27)
   {
      word pd63;
      pd63 = (* (( (ptr) (* (( (ptr) gf←c43272)+109)/* var←c41256 */  ))+21) );
      (void) ( *( (fPt) ((*  (ptr) pd63 ))))(c←v9292, (* (( (ptr) formal←c43304)+5) ), pd63);
      };
SOURCE(3143, 27)
   {
      word pd64;
      pd64 = (* (( (ptr) (* (( (ptr) gf←c43272)+109)/* var←c41256 */  ))+21) );
      (void) ( *( (fPt) ((*  (ptr) pd64 ))))(c←v9292, (* (( (ptr) formal←c43304)+6) ), pd64);
      };
SOURCE(3173, 39)
   {
      word pd65;
      pd65 = (* (( (ptr) (* (( (ptr) gf←c43272)+109)/* var←c41256 */  ))+64) );
      (void) ( *( (fPt) ((*  (ptr) pd65 ))))(c←v9292, (* (( (ptr) formal←c43304)+10) ), pd65);
      };
   }

static void SHMDetach←P420(c←v5664, formal←c0352, formal←c0353)
   word c←v5664;
   word formal←c0352;
   word formal←c0353;
   {
   W9 var←c43336;
   /* declaration of xShmID←v5692 skipped */ 
   /* declaration of details←v5720 skipped */ 
   register ptr gf←c43368 =  (ptr) &globalframe;
   /* declaration of var←c41384 skipped */ 
   /* declaration of shmd←v9348 skipped */ 
   (* (( (ptr) &var←c43336)+4)/* xShmID←v5692 */  ) = formal←c0352;
   (* (( (ptr) &var←c43336)+5)/* details←v5720 */  ) = formal←c0353;
   /* SHMDetach: */ 
SOURCE(3435, 9192)
   {
      word tmpAddr66;
      tmpAddr66 = (word) (( (ptr) &var←c43336)+6)/* var←c41384 */ ;
      (*  (ptr) tmpAddr66 ) = ( ((word)  (fPt) action←P2028) );
      (* (( (ptr) tmpAddr66) + 1) ) = 1;
      };
SOURCE(3692, 60)
   (* (( (ptr) &var←c43336)+8)/* shmd←v9348 */  ) = (word) GetShmConnectionDataAndTest←P240(c←v5664);
SOURCE(3754, 41)
   {
      word pd67;
      pd67 = (* (( (ptr) (* (( (ptr) gf←c43368)+109)/* var←c41256 */  ))+6) );
      (void) ( *( (fPt) ((*  (ptr) pd67 ))))(c←v5664, (word) (( (bPt) &var←c43336)+24)/* var←c41384 */ , (* (( (ptr) &var←c43336)+5)
         /* details←v5720 */  ), pd67);
      };
   }

static void action←P2028(c←v9424, formal←c43432)
   word c←v9424;
   word formal←c43432;
   {
   register ptr gf←c43400 =  (ptr) &globalframe;
   formal←c43432 = (formal←c43432 - 24);
   /* action: */ 
SOURCE(3518, 169)
SOURCE(3554, 63)
   {
      word pd68;
      pd68 = (* (( (ptr) (* (( (ptr) gf←c43400)+109)/* var←c41256 */  ))+17) );
      (void) ( *( (fPt) ((*  (ptr) pd68 ))))(c←v9424, (* (( (ptr) (*  (ptr) (* (( (ptr) formal←c43432)+8) ) ))+1) ), 2, 2, pd68)
      ;
      };
SOURCE(3619, 27)
   {
      word pd69;
      pd69 = (* (( (ptr) (* (( (ptr) gf←c43400)+109)/* var←c41256 */  ))+21) );
      (void) ( *( (fPt) ((*  (ptr) pd69 ))))(c←v9424, (* (( (ptr) formal←c43432)+4) ), pd69);
      };
SOURCE(3648, 39)
   {
      word pd70;
      pd70 = (* (( (ptr) (* (( (ptr) gf←c43400)+109)/* var←c41256 */  ))+64) );
      (void) ( *( (fPt) ((*  (ptr) pd70 ))))(c←v9424, (* (( (ptr) formal←c43432)+5) ), pd70);
      };
   }

static void UncachedSHMQueryVersion←P480(formal←c0112, c←v5908, formal←c0354)
   word formal←c0112;
   word c←v5908;
   word formal←c0354;
   {
   W8 var←c43464;
   /* declaration of shmd←v5936 skipped */ 
   register ptr gf←c43496 =  (ptr) &globalframe;
   W4 sv←v5992;
   /* declaration of var←c41416 skipped */ 
   /* declaration of reply←v9464 skipped */ 
   var←c43464.f4/* shmd←v5936 */  = formal←c0354;
   /* UncachedSHMQueryVersion: */ 
SOURCE(4053, 8574)
   {
      word tmpAddr71;
      tmpAddr71 = (word) (( (ptr) &var←c43464)+5)/* var←c41416 */ ;
      (*  (ptr) tmpAddr71 ) = ( ((word)  (fPt) action←P2088) );
      (* (( (ptr) tmpAddr71) + 1) ) = 1;
      };
SOURCE(4053, 8574)
   sv←v5992.f0 = 0;
   sv←v5992.f1 = 0;
   sv←v5992.f2 = 0;
   sv←v5992.f3 = 0;
SOURCE(4220, 22)
   var←c43464.f7/* reply←v9464 */  = 0;
SOURCE(4387, 8240)
   if (((*  (ptr) var←c43464.f4/* shmd←v5936 */  ) != 0)) {
SOURCE(4409, 37)
      {
         word pd72;
         pd72 = (* (( (ptr) (* (( (ptr) gf←c43496)+109)/* var←c41256 */  ))+6) );
         (void) ( *( (fPt) ((*  (ptr) pd72 ))))(c←v5908, (word) (( (bPt) &var←c43464)+20)/* var←c41416 */ , 0, pd72);
         };
SOURCE(4448, 27)
      {
         word pd73;
         pd73 = (* (( (ptr) (* (( (ptr) gf←c43496)+109)/* var←c41256 */  ))+68) );
         (void) ( *( (fPt) ((*  (ptr) pd73 ))))(var←c43464.f7/* reply←v9464 */ , pd73);
         };
SOURCE(4477, 8150)
      {
         word pd74;
         pd74 = (* (( (ptr) (* (( (ptr) gf←c43496)+109)/* var←c41256 */  ))+77) );
         sv←v5992.f3 =  (unsigned) ((word) ( *( (fPt) ((*  (ptr) pd74 ))))(var←c43464.f7/* reply←v9464 */ , pd74) != 0);
         };
SOURCE(4517, 24)
      (* (( (ptr) var←c43464.f7/* reply←v9464 */ )+10) ) = ((* (( (ptr) var←c43464.f7/* reply←v9464 */ )+10) ) + 6);
SOURCE(4543, 8084)
      {
         word pd75;
         pd75 = (* (( (ptr) (* (( (ptr) gf←c43496)+109)/* var←c41256 */  ))+78) );
         sv←v5992.f1 = (word) ( *( (fPt) ((*  (ptr) pd75 ))))(var←c43464.f7/* reply←v9464 */ , pd75);
         };
SOURCE(4580, 8047)
      {
         word pd76;
         pd76 = (* (( (ptr) (* (( (ptr) gf←c43496)+109)/* var←c41256 */  ))+78) );
         sv←v5992.f2 = (word) ( *( (fPt) ((*  (ptr) pd76 ))))(var←c43464.f7/* reply←v9464 */ , pd76);
         };
SOURCE(4617, 22)
      sv←v5992.f0 = 1;
      };
   /* removed tail goto */ 
   (*  (W4Pt) formal←c0112 ) = sv←v5992;
   return;
   }

static void action←P2088(c←v9568, formal←c43560)
   word c←v9568;
   word formal←c43560;
   {
   register ptr gf←c43528 =  (ptr) &globalframe;
   formal←c43560 = (formal←c43560 - 20);
   /* action: */ 
SOURCE(4244, 8383)
SOURCE(4280, 64)
   {
      word pd77;
      pd77 = (* (( (ptr) (* (( (ptr) gf←c43528)+109)/* var←c41256 */  ))+17) );
      (void) ( *( (fPt) ((*  (ptr) pd77 ))))(c←v9568, (* (( (ptr) (*  (ptr) (* (( (ptr) formal←c43560)+4) ) ))+1) ), 0, 1, pd77)
      ;
      };
SOURCE(4346, 8281)
   {
      word pd78;
      pd78 = (* (( (ptr) (* (( (ptr) gf←c43528)+109)/* var←c41256 */  ))+62) );
      (* (( (ptr) formal←c43560)+7) ) = (word) ( *( (fPt) ((*  (ptr) pd78 ))))(c←v9568, pd78);
      };
   }

static void SHMQueryVersion←P540(formal←c0119, c←v6052)
   word formal←c0119;
   word c←v6052;
   {
   register ptr gf←c43592 =  (ptr) &globalframe;
   W4 var←c6096;
   word shmd←v9596;
   /* SHMQueryVersion: */ 
SOURCE(4648, 7979)
SOURCE(4721, 53)
   {
      word d←v39784;
SOURCE(967, 11660)
      d←v39784 = 0;
SOURCE(1059, 11568)
      {
         word pd79;
         pd79 = (* (( (ptr) (* (( (ptr) gf←c43592)+108)/* var←c41160 */  ))+29) );
         d←v39784 = XR←Narrow((word) ( *( (fPt) ((*  (ptr) pd79 ))))(c←v6052, (* (( (ptr) gf←c43592)+6)/* privateKey←v3728 */  ), (word) (
                  ( (bPt) gf←c43592)+400)/* var←c40872 */ , pd79), (* (( (ptr) gf←c43592)+34) ));
         };
SOURCE(967, 11660)
      shmd←v9596 = d←v39784;
      };
SOURCE(4776, 16)
   var←c6096 = (*  (W4Pt) (( (ptr) shmd←v9596)+1) );
   /* removed tail goto */ 
   (*  (W4Pt) formal←c0119 ) = var←c6096;
   return;
   }

static word ShmAllocSegmentateSystemId←P600(nbytes←v6396, permissions←v6424)
   word nbytes←v6396;
   word permissions←v6424;
   {
   word shmId←v6488;
   /* ShmAllocSegmentateSystemId: */ 
SOURCE(5034, 7593)
SOURCE(5181, 7446)
   shmId←v6488 = (word) XR←ShmGet(0, nbytes←v6396, (permissions←v6424 + 512));
SOURCE(5291, 51)
   if (( (int)shmId←v6488 ==  (int) (word) -1)) {
SOURCE(5325, 17)
      (void) SignalUnixError←P720();
      };
SOURCE(5034, 7593)
   return(shmId←v6488);
   }

static void ShmAllocSegmentateNew←P660(formal←c0127, nbytes←v6548)
   word formal←c0127;
   word nbytes←v6548;
   {
   W3 info←v6592;
   word vmAddr←v9652;
   word i←v9680;
   /* ShmAllocSegmentateNew: */ 
SOURCE(5348, 7279)
SOURCE(5348, 7279)
   info←v6592.f0 = 0;
   info←v6592.f1 = 0;
   info←v6592.f2 = 0;
SOURCE(5446, 7181)
   info←v6592.f0 = (word) ShmAllocSegmentateSystemId←P600(nbytes←v6548, 511);
SOURCE(5495, 7132)
   vmAddr←v9652 = (word) XR←VMReserve(SGNCK(nbytes←v6548));
SOURCE(5543, 21)
   if ((vmAddr←v9652 == 0)) {
SOURCE(5564, 5)
      (void) XR←RaiseUnnamedError();
      };
SOURCE(5571, 7056)
   i←v9680 = (word) XR←ShmAt(info←v6592.f0, vmAddr←v9652, 0);
SOURCE(5646, 32)
   if (( (int)i←v9680 ==  (int) (word) -1)) {
SOURCE(5661, 17)
      (void) SignalUnixError←P720();
      };
SOURCE(5680, 23)
   info←v6592.f1 = i←v9680;
SOURCE(5705, 27)
   if ((info←v6592.f1 != vmAddr←v9652)) {
SOURCE(5732, 5)
      (void) XR←RaiseUnnamedError();
      };
   /* removed tail goto */ 
   (*  (W3Pt) formal←c0127 ) = info←v6592;
   return;
   }

static void SignalUnixError←P720()
   {
   register ptr gf←c43624 =  (ptr) &globalframe;
   word errno←v9736;
   /* SignalUnixError: */ 
SOURCE(5744, 6883)
SOURCE(5773, 45)
   errno←v9736 = (word) XR←GetErrno();
SOURCE(5821, 16)
   {
      word var←c0129;
      var←c0129 = errno←v9736;
      (void) XR←RaiseError((word) (( (bPt) gf←c43624)+180)/* var←c39976 */ , (word) &var←c0129);
      };
   }

static word Next←P780(segment←v6924)
   word segment←v6924;
   {
   register ptr gf←c43656 =  (ptr) &globalframe;
   word var←c6980;
   /* Next: */ 
SOURCE(6405, 180)
SOURCE(6486, 99)
   {
      word var←c41512;
      var←c41512 = segment←v6924;
      if ((var←c41512 == 0)) {
         goto lab←L100009;
         };
      if (((* (( (ptr) gf←c43656)+15) ) == XR←GetReferentType(var←c41512))) {
         {
            word ls←v9780;
            ls←v9780 = var←c41512;
SOURCE(6536, 16)
            return((* (( (ptr) ls←v9780)+6) ));
            };
         }
      else {
         lab←L100009: ;
SOURCE(6565, 20)
         return((* (( (ptr) gf←c43656)+7)/* rootSegment←v4204 */  ));
         };
      };
   }

static void Info←P840(formal←c0142, segment←v7052)
   word formal←c0142;
   word segment←v7052;
   {
   register ptr gf←c43688 =  (ptr) &globalframe;
   word addr←v7108;
   word bytes←v7136;
   word id←v7164;
   word ls←v9836;
   /* Info: */ 
SOURCE(6590, 218)
SOURCE(6695, 39)
   ls←v9836 = XR←Narrow(segment←v7052, (* (( (ptr) gf←c43688)+15) ));
SOURCE(6736, 72)
   addr←v7108 = (* (( (ptr) ls←v9836)+2) );
   bytes←v7136 = (* (( (ptr) ls←v9836)+4) );
   id←v7164 = (* (( (ptr) ls←v9836)+1) );
   /* removed tail goto */ 
   (*  (ptr) formal←c0142 ) = addr←v7108;
   (* (( (ptr) formal←c0142)+1) ) = bytes←v7136;
   (* (( (ptr) formal←c0142)+2) ) = id←v7164;
   return;
   }

static void PreAllocate←P900(nbytes←v7224)
   word nbytes←v7224;
   {
   /* PreAllocate: */ 
SOURCE(6813, 5814)
SOURCE(6857, 40)
   nbytes←v7224 = (MAX( (unsigned) , nbytes←v7224, 1048576));
SOURCE(6899, 36)
   nbytes←v7224 = (MIN( (unsigned) , nbytes←v7224, 4194304));
SOURCE(6937, 5690)
   {
      word var←c41640;
      var←c41640 = (word) AllocateSegment←P960(nbytes←v7224);
      };
   }

static word AllocateSegment←P960(nbytes←v7284)
   word nbytes←v7284;
   {
   W8 var←c43720;
   register ptr gf←c43752 =  (ptr) &globalframe;
   word ls←v7328;
   /* declaration of var←c41672 skipped */ 
   /* declaration of var←c41704 skipped */ 
   /* AllocateSegment: */ 
SOURCE(6971, 5656)
   {
      word tmpAddr80;
      tmpAddr80 = (word) (( (ptr) &var←c43720)+4)/* var←c41672 */ ;
      (*  (ptr) tmpAddr80 ) = ( ((word)  (fPt) Alloc←P2256) );
      (* (( (ptr) tmpAddr80) + 1) ) = 1;
      };
   {
      word tmpAddr81;
      tmpAddr81 = (word) (( (ptr) &var←c43720)+6)/* var←c41704 */ ;
      (*  (ptr) tmpAddr81 ) = ( ((word)  (fPt) Link←P2196) );
      (* (( (ptr) tmpAddr81) + 1) ) = 1;
      };
SOURCE(6971, 5656)
   ls←v7328 = 0;
SOURCE(7577, 42)
   if ((nbytes←v7284 > 4194304)) {
SOURCE(7607, 12)
      return(0);
      };
SOURCE(7621, 5006)
   ls←v7328 = (word) Alloc←P2256(nbytes←v7284, (word) (( (bPt) &var←c43720)+16)/* var←c41672 */ );
SOURCE(7641, 39)
   if ((ls←v7328 != 0)) {
SOURCE(7656, 24)
      (void) Link←P2196((* (( (ptr) gf←c43752)+9)/* fakeConnection←v4316 */  ), ls←v7328, (word) (( (bPt) &var←c43720)+24)/* var←c41704 */ )
      ;
      };
SOURCE(6971, 5656)
   return(ls←v7328);
   }

static void Link←P2196(c←v9996, ls←v10024, formal←c43816)
   word c←v9996;
   word ls←v10024;
   word formal←c43816;
   {
   register ptr gf←c43784 =  (ptr) &globalframe;
   formal←c43816 = (formal←c43816 - 24);
   /* Link: */ 
SOURCE(7071, 138)
   (void) (XR←MonitorEntry(c←v9996));
SOURCE(7169, 21)
   (* (( (ptr) ls←v10024)+6) ) = (* (( (ptr) gf←c43784)+7)/* rootSegment←v4204 */  );
SOURCE(7192, 17)
   (* (( (ptr) gf←c43784)+7)/* rootSegment←v4204 */  ) = ls←v10024;
SOURCE(7071, 138)
   (void) (XR←MonitorExit(c←v9996));
   return;
   }

static word Alloc←P2256(formal←c0355, formal←c43880)
   word formal←c0355;
   word formal←c43880;
   {
   W6 var←c43848;
   /* declaration of nbytes←v10096 skipped */ 
   /* declaration of ls←v10140 skipped */ 
   formal←c43880 = (formal←c43880 - 16);
   var←c43848.f4/* nbytes←v10096 */  = formal←c0355;
   var←c43848.f0 = formal←c43880;
   /* Alloc: */ 
SOURCE(7212, 5415)
SOURCE(7212, 5415)
   var←c43848.f5/* ls←v10140 */  = 0;
SOURCE(7273, 5354)
SOURCE(7275, 5352)
   {
      word var←c03;
      {
         word var←c0317;
         var←c0317 = (word) &var←c43848;
         var←c03 = (word) XR←Enable(( ((word)  (fPt) NoName←Q3780) ), ( ((word)  (fPt) NoName←Q4200) ), var←c0317);
         };
      if ((var←c03 == 3)) {
         goto lab←L100011;
         };
      };
   goto lab←L100014;
   lab←L100011: ;
SOURCE(7560, 12)
   return(0);
   lab←L100014: ;
SOURCE(7212, 5415)
   return(var←c43848.f5/* ls←v10140 */ );
   }

static word NoName←Q3780(formal←c0294)
   word formal←c0294;
   {
   register ptr gf←c0293 =  (ptr) &globalframe;
SOURCE(7369, 23)
   (* (( (ptr) formal←c0294)+5) ) = XR←NewObject(28, (* (( (ptr) gf←c0293)+15) ));
SOURCE(7394, 5233)
   {
      word idx82;
      (void) ShmAllocSegmentateNew←P660((word) (( (bPt) (* (( (ptr) formal←c0294)+5) ))+4), (
            idx82 = (* (( (ptr) formal←c0294)+4) ),
            SGNCK(idx82)
            ));
      };
SOURCE(7438, 5189)
   {
      word pd83;
      pd83 = (* (( (ptr) (* (( (ptr) gf←c0293)+112)/* var←c41768 */  ))+6) );
      (*  (ptr) (* (( (ptr) formal←c0294)+5) ) ) = (word) ( *( (fPt) ((*  (ptr) pd83 ))))((* (( (ptr) (* (( (ptr) formal←c0294)+5)
             ))+2) ), (* (( (ptr) formal←c0294)+4) ), pd83);
      };
SOURCE(7508, 17)
   (* (( (ptr) (* (( (ptr) formal←c0294)+5) ))+4) ) = (* (( (ptr) formal←c0294)+4) );
SOURCE(7527, 17)
   (* (( (ptr) (* (( (ptr) formal←c0294)+5) ))+5) ) = XR←NewObject(4, (* (( (ptr) gf←c0293)+16) ));
   return(0);
   }

static word AllocateBlock←P1020(nbytes←v7484)
   word nbytes←v7484;
   {
   register ptr gf←c43912 =  (ptr) &globalframe;
   word var←c7528;
   word ls←v10180;
   /* AllocateBlock: */ 
SOURCE(7757, 4870)
SOURCE(7757, 4870)
   var←c7528 = 0;
SOURCE(7822, 35)
   ls←v10180 = (* (( (ptr) gf←c43912)+7)/* rootSegment←v4204 */  );
SOURCE(7859, 24)
   nbytes←v7484 = nbytes←v7484;
SOURCE(7921, 4706)
   lab←L100017: ;
   if ((ls←v10180 != 0)) {
      }
   else {
      goto lab←L100015;
      };
   {
      word c←v10236;
SOURCE(7937, 61)
      {
         word pd84;
         pd84 = (* (( (ptr) (* (( (ptr) gf←c43912)+112)/* var←c41768 */  ))+9) );
         c←v10236 = (word) ( *( (fPt) ((*  (ptr) pd84 ))))((*  (ptr) ls←v10180 ), nbytes←v7484, pd84);
         };
SOURCE(8000, 4627)
      if ((c←v10236 != 0)) {
SOURCE(8014, 4613)
         {
            word var←c41832;
            var←c41832 = XR←NewObject(8, (* (( (ptr) gf←c43912)+12) ));
            (*  (ptr) var←c41832 ) = ls←v10180;
            (* (( (ptr) var←c41832)+1) ) = c←v10236;
            return(var←c41832);
            };
         };
SOURCE(8047, 20)
      ls←v10180 = (* (( (ptr) ls←v10180)+6) );
      };
   goto lab←L100017;
   lab←L100015: ;
SOURCE(8069, 16)
   ls←v10180 = (* (( (ptr) gf←c43912)+7)/* rootSegment←v4204 */  );
SOURCE(8087, 4540)
   if ((ls←v10180 != 0)) {
SOURCE(8104, 39)
      {
         word pd85;
         pd85 = (* (( (ptr) (* (( (ptr) gf←c43912)+113)/* var←c41864 */  ))+11) );
         (void) ( *( (fPt) ((*  (ptr) pd85 ))))(1, 0, pd85);
         };
SOURCE(8145, 15)
      {
         word pd86;
         pd86 = (* (( (ptr) (* (( (ptr) gf←c43912)+114)/* var←c41896 */  ))+23) );
         (void) ( *( (fPt) ((*  (ptr) pd86 ))))(pd86);
         };
SOURCE(8196, 4431)
      lab←L100020: ;
      if ((ls←v10180 != 0)) {
         }
      else {
         goto lab←L100018;
         };
      {
         word c←v10280;
SOURCE(8212, 61)
         {
            word pd87;
            pd87 = (* (( (ptr) (* (( (ptr) gf←c43912)+112)/* var←c41768 */  ))+9) );
            c←v10280 = (word) ( *( (fPt) ((*  (ptr) pd87 ))))((*  (ptr) ls←v10180 ), nbytes←v7484, pd87);
            };
SOURCE(8275, 4352)
         if ((c←v10280 != 0)) {
SOURCE(8289, 4338)
            {
               word var←c41960;
               var←c41960 = XR←NewObject(8, (* (( (ptr) gf←c43912)+12) ));
               (*  (ptr) var←c41960 ) = ls←v10180;
               (* (( (ptr) var←c41960)+1) ) = c←v10280;
               return(var←c41960);
               };
            };
SOURCE(8322, 20)
         ls←v10180 = (* (( (ptr) ls←v10180)+6) );
         };
      goto lab←L100020;
      lab←L100018: ;
      };
SOURCE(8347, 62)
   if ((nbytes←v7484 < 1048576)) {
SOURCE(8382, 27)
      nbytes←v7484 = 1048576;
      };
SOURCE(8478, 4149)
   ls←v10180 = (word) AllocateSegment←P960(nbytes←v7484);
SOURCE(8508, 4119)
   if ((ls←v10180 != 0)) {
SOURCE(8523, 112)
      {
         word c←v10324;
SOURCE(8525, 61)
         {
            word pd88;
            pd88 = (* (( (ptr) (* (( (ptr) gf←c43912)+112)/* var←c41768 */  ))+9) );
            c←v10324 = (word) ( *( (fPt) ((*  (ptr) pd88 ))))((*  (ptr) ls←v10180 ), nbytes←v7484, pd88);
            };
SOURCE(8588, 4039)
         if ((c←v10324 != 0)) {
SOURCE(8602, 4025)
            {
               word var←c42024;
               var←c42024 = XR←NewObject(8, (* (( (ptr) gf←c43912)+12) ));
               (*  (ptr) var←c42024 ) = ls←v10180;
               (* (( (ptr) var←c42024)+1) ) = c←v10324;
               return(var←c42024);
               };
            };
         };
      };
SOURCE(7757, 4870)
   return(var←c7528);
   }

static void UNTHREADEDBeforeQuitWorld←P1080(x←v7600)
   word x←v7600;
   {
   register ptr gf←c43944 =  (ptr) &globalframe;
   /* UNTHREADEDBeforeQuitWorld: */ 
SOURCE(8643, 3984)
SOURCE(8688, 19)
   (* (( (ptr) gf←c43944)+5)/* neverUseThis←v3644 */  ) = 1;
SOURCE(8709, 3918)
   {
      register word ls←v10368;
      ls←v10368 = (* (( (ptr) gf←c43944)+7)/* rootSegment←v4204 */  );
      lab←L100024: ;
      if ((ls←v10368 != 0)) {
         }
      else {
         goto lab←L100021;
         };
      {
         word shmId←v10424;
SOURCE(8774, 57)
         shmId←v10424 = (* (( (ptr) ls←v10368)+1) );
SOURCE(8833, 3794)
         if (( (int)shmId←v10424 !=  (int) (word) -1)) {
SOURCE(8875, 3752)
SOURCE(8877, 3750)
            {
               word var←c42056;
               var←c42056 = (word) shmctl(shmId←v10424, 0, 0);
               };
            };
         };
      ls←v10368 = (* (( (ptr) ls←v10368)+6) );
      goto lab←L100024;
      lab←L100021: ;
      };
   }

static word NewSharedSampleMap←P1140(box←v7672, bitsPerSample←v7700)
   W4 box←v7672;
   word bitsPerSample←v7700;
   {
   register ptr gf←c43976 =  (ptr) &globalframe;
   word sm←v7744;
   word block←v10468 = 0;
   word chunk←v10496 = 0;
   word addr←v10524;
   word w←v10552;
   word h←v10580;
   word nbytes←v10608;
   /* NewSharedSampleMap: */ 
SOURCE(8955, 3672)
SOURCE(8955, 3672)
   sm←v7744 = 0;
SOURCE(9148, 23)
   {
      word pd89;
      pd89 = (* (( (ptr) (* (( (ptr) gf←c43976)+115)/* var←c42088 */  ))+17) );
      w←v10552 = (word) ( *( (fPt) ((*  (ptr) pd89 ))))(box←v7672, pd89);
      };
SOURCE(9174, 23)
   {
      word pd90;
      pd90 = (* (( (ptr) (* (( (ptr) gf←c43976)+115)/* var←c42088 */  ))+18) );
      h←v10580 = (word) ( *( (fPt) ((*  (ptr) pd90 ))))(box←v7672, pd90);
      };
SOURCE(9213, 19)
   if ((w←v10552 == 0) || (h←v10580 == 0)) {
SOURCE(9232, 5)
      (void) XR←RaiseUnnamedError();
      };
SOURCE(9245, 287)
   {
      word var←c42120;
      var←c42120 = bitsPerSample←v7700;
      switch (var←c42120) {
         case 1: 
SOURCE(9277, 20)
            w←v10552 = ((word) ((word) (w←v10552 + 63) >> 6) << 6);
            break;
         case 8: 
SOURCE(9309, 20)
            w←v10552 = ((word) ((word) (w←v10552 + 7) >> 3) << 3);
            break;
         case 4: 
SOURCE(9341, 20)
            w←v10552 = ((word) ((word) (w←v10552 + 15) >> 4) << 4);
            break;
         case 2: 
SOURCE(9373, 20)
            w←v10552 = ((word) ((word) (w←v10552 + 31) >> 5) << 5);
            break;
         case 24: 
SOURCE(9405, 20)
            w←v10552 = ((word) ((word) (w←v10552 + 3) >> 2) << 2);
            break;
         case 32: 
SOURCE(9451, 20)
            w←v10552 = ((word) ((word) (w←v10552 + 1) >> 1) << 1);
            break;
         case 16: 
SOURCE(9483, 20)
            w←v10552 = ((word) ((word) (w←v10552 + 3) >> 2) << 2);
            break;
         default: 
SOURCE(9520, 12)
            return(0);
         };
      };
SOURCE(9570, 3057)
   box←v7672.f3 = (box←v7672.f1 + w←v10552);
SOURCE(9622, 30)
   nbytes←v10608 = (((word) (w←v10552 * bitsPerSample←v7700) >> 3) * h←v10580);
SOURCE(9654, 2973)
   if ((nbytes←v10608 <= 4194304)) {
SOURCE(9685, 2942)
      block←v10468 = (word) AllocateBlock←P1020(nbytes←v10608);
      };
SOURCE(9716, 30)
   if ((block←v10468 == 0)) {
SOURCE(9734, 12)
      return(0);
      };
SOURCE(9767, 2860)
   {
      word pd91;
      pd91 = (* (( (ptr) (* (( (ptr) gf←c43976)+112)/* var←c41768 */  ))+10) );
      addr←v10524 = (word) ( *( (fPt) ((*  (ptr) pd91 ))))((* ((( (ptr) block←v10468)+1)) ), pd91);
      };
SOURCE(9820, 2807)
SOURCE(9822, 2805)
   {
      W2 var←c42152;
      var←c42152.f0 = addr←v10524;
      var←c42152.f1 = 0;
      {
         word pd92;
         word idx93;
         pd92 = (* (( (ptr) (* (( (ptr) gf←c43976)+116)/* var←c42184 */  ))+15) );
         sm←v7744 = (word) ( *( (fPt) ((*  (ptr) pd92 ))))(box←v7672, bitsPerSample←v7700, (
               idx93 = (word) (w←v10552 * bitsPerSample←v7700),
               SGNCK(idx93)
               ), var←c42152, block←v10468, ((word) nbytes←v10608 >> 2)
            , 0, pd92);
         };
      };
SOURCE(8955, 3672)
   return(sm←v7744);
   }

static word Disabled1←P1200(c←v7804)
   word c←v7804;
   {
   register ptr gf←c44008 =  (ptr) &globalframe;
   word var←c7848;
   /* Disabled1: */ 
SOURCE(10016, 2611)
SOURCE(10070, 27)
   if ((c←v7804 == 0)) {
SOURCE(10084, 13)
      return(1);
      };
SOURCE(10099, 2528)
   {
      word pd94;
      pd94 = (* (( (ptr) (* (( (ptr) gf←c44008)+108)/* var←c41160 */  ))+28) );
      return( (unsigned) ((word) ( *( (fPt) ((*  (ptr) pd94 ))))(c←v7804, (* (( (ptr) gf←c44008)+43) ), pd94) != 0));
      };
   }

static word ServerHostFromConvention←P1260(formal←c0356)
   word formal←c0356;
   {
   W6 var←c44040;
   /* declaration of c←v7908 skipped */ 
   /* declaration of var←c04 skipped */ 
   word var←c7952;
   var←c44040.f4/* c←v7908 */  = formal←c0356;
   /* ServerHostFromConvention: */ 
SOURCE(10164, 2463)
SOURCE(10164, 2463)
   var←c7952 = 0;
SOURCE(10242, 2385)
SOURCE(10244, 2383)
   {
      word var←c05;
      {
         word var←c0318;
         var←c0318 = (word) &var←c44040;
         var←c05 = (word) XR←Enable(( ((word)  (fPt) NoName←Q3840) ), ( ((word)  (fPt) NoName←Q4140) ), var←c0318);
         };
      if ((var←c05 == 4)) {
         goto lab←L100025;
         }
      else {
         if ((var←c05 == 1)) {
            goto lab←L04;
            };
         };
      };
   goto lab←L100029;
   lab←L100025: ;
   lab←L100029: ;
SOURCE(10164, 2463)
   return(var←c7952);
   lab←L04: ;
   return(var←c44040.f5/* var←c04 */ );
   }

static word NoName←Q3840(formal←c0300)
   word formal←c0300;
   {
   register ptr gf←c0299 =  (ptr) &globalframe;
SOURCE(10269, 60)
   {
      word serverHostAtom←v10664;
      W4 prr←v10692;
SOURCE(10269, 60)
      {
         word pd95;
         pd95 = (* (( (ptr) (* (( (ptr) gf←c0299)+108)/* var←c41160 */  ))+50) );
         serverHostAtom←v10664 = (word) ( *( (fPt) ((*  (ptr) pd95 ))))((* (( (ptr) formal←c0300)+4) ), (* (( (ptr) gf←c0299)+44) ), pd95)
         ;
         };
SOURCE(10331, 113)
      {
         word var←c42248;
         {
            word pd96;
            pd96 = (* (( (ptr) (* (( (ptr) gf←c0299)+108)/* var←c41160 */  ))+20) );
            var←c42248 = (word) ( *( (fPt) ((*  (ptr) pd96 ))))((* ((( (ptr) formal←c0300)+4)) ), pd96);
            };
         {
            word pd97;
            pd97 = (* (( (ptr) (* (( (ptr) gf←c0299)+108)/* var←c41160 */  ))+55) );
            (void) ( *( (fPt) ((*  (ptr) pd97 ))))((word) &prr←v10692, (* (( (ptr) formal←c0300)+4) ), var←c42248, serverHostAtom←v10664, 0, 0
               , 0, 2147483647, 8, pd97);
            };
         };
SOURCE(10446, 53)
      {
         word var←c42280;
         var←c42280 = prr←v10692.f2;
         if ((var←c42280 == 0)) {
            goto lab←L100028;
            };
         {
            word tc98;
            if (((* (( (ptr) gf←c0299)+13) ) == XR←GetReferentType(var←c42280))) {
               tc98 =  (word) ( (unsigned) (*(int*)var←c42280<0) == 0);
               }
            else {
               tc98 =  (word) 0;
               };
            if (tc98) {
               {
                  word r←v10736;
                  r←v10736 = var←c42280;
SOURCE(10489, 10)
                  (* (( (ptr) formal←c0300)+5) ) = r←v10736;
                  return(1);
                  };
               }
            else {
               lab←L100028: ;
               };
            };
         };
      };
   return(0);
   }

static word Disabled2←P1320(c←v8012)
   word c←v8012;
   {
   register ptr gf←c44072 =  (ptr) &globalframe;
   word var←c8056;
   word name←v10780 = 0;
   word isLocalhost←v10808;
   /* Disabled2: */ 
SOURCE(10536, 2091)
SOURCE(10536, 2091)
   var←c8056 = 0;
SOURCE(10634, 1993)
   if ((0 != (word) Disabled1←P1200(c←v8012))) {
SOURCE(10655, 13)
      return(1);
      };
SOURCE(10670, 1957)
   name←v10780 = (* (( (ptr) c←v8012)+18) );
SOURCE(10695, 1932)
   {
      word pd99;
      pd99 = (* (( (ptr) (* (( (ptr) gf←c44072)+117)/* var←c42312 */  ))+5) );
      isLocalhost←v10808 = (word) ( *( (fPt) ((*  (ptr) pd99 ))))((* ((( (ptr) c←v8012)+18)) ), pd99);
      };
SOURCE(10749, 34)
   if ((0 == isLocalhost←v10808)) {
SOURCE(10770, 13)
      return(1);
      };
SOURCE(10785, 1842)
   name←v10780 = (word) ServerHostFromConvention←P1260(c←v8012);
SOURCE(10821, 1806)
   {
      word pd100;
      word pd101;
      pd100 = (* (( (ptr) (* (( (ptr) gf←c44072)+118)/* var←c42344 */  ))+13) );
      if ((0 != (word) ( *( (fPt) ((*  (ptr) pd100 ))))(name←v10780, pd100))) {
         isLocalhost←v10808 =  (unsigned) 1;
         }
      else {
         pd101 = (* (( (ptr) (* (( (ptr) gf←c44072)+117)/* var←c42312 */  ))+5) );
         isLocalhost←v10808 =  (unsigned) (0 != (word) ( *( (fPt) ((*  (ptr) pd101 ))))(name←v10780, pd101));
         };
      };
SOURCE(10885, 34)
   if ((0 == isLocalhost←v10808)) {
SOURCE(10906, 13)
      return(1);
      };
SOURCE(10536, 2091)
   return(var←c8056);
   }

static word TestWorking←P1380(formal←c0357)
   word formal←c0357;
   {
   W8 var←c44104;
   /* declaration of c←v8116 skipped */ 
   register ptr gf←c44136 =  (ptr) &globalframe;
   word ok←v8160;
   /* declaration of someXSR←v10852 skipped */ 
   /* declaration of shmd←v10880 skipped */ 
   var←c44104.f4/* c←v8116 */  = formal←c0357;
   /* TestWorking: */ 
SOURCE(10925, 1702)
SOURCE(10985, 40)
   var←c44104.f5/* someXSR←v10852 */  = (* (( (ptr) gf←c44136)+7)/* rootSegment←v4204 */  );
SOURCE(11027, 53)
   {
      word d←v39736;
SOURCE(967, 11660)
      d←v39736 = 0;
SOURCE(1059, 11568)
      {
         word pd102;
         pd102 = (* (( (ptr) (* (( (ptr) gf←c44136)+108)/* var←c41160 */  ))+29) );
         d←v39736 = XR←Narrow((word) ( *( (fPt) ((*  (ptr) pd102 ))))(var←c44104.f4/* c←v8116 */ , (* (( (ptr) gf←c44136)+6)/* privateKey←v3728 */  ), (word) (
                  ( (bPt) gf←c44136)+400)/* var←c40872 */ , pd102), (* (( (ptr) gf←c44136)+34) ));
         };
SOURCE(967, 11660)
      var←c44104.f6/* shmd←v10880 */  = d←v39736;
      };
SOURCE(11082, 71)
   if (((var←c44104.f6/* shmd←v10880 */  == 0) || (0 == (* (( (ptr) var←c44104.f6/* shmd←v10880 */ )+5) ))) || (var←c44104.f5/* someXSR←v10852 */  == 0)) {
SOURCE(11139, 14)
      return(0);
      };
SOURCE(11155, 1472)
SOURCE(11155, 1472)
   {
      word var←c42408;
      {
         /* declaration of var←c06 skipped */ 
         {
            word var←c07;
            {
               word var←c0319;
               var←c0319 = (word) &var←c44104;
               var←c07 = (word) XR←Enable(( ((word)  (fPt) NoName←Q3900) ), ( ((word)  (fPt) NoName←Q4080) ), var←c0319);
               };
            if ((var←c07 == 5)) {
               goto lab←L100032;
               };
            };
         var←c42408 = var←c44104.f7/* var←c06 */ ;
         };
      };
   lab←L100032: ;
SOURCE(11239, 100)
   if ((0 == (* (( (ptr) var←c44104.f6/* shmd←v10880 */ )+5) ))) {
SOURCE(11271, 68)
      {
         word pd103;
         pd103 = (* (( (ptr) (* (( (ptr) gf←c44136)+108)/* var←c41160 */  ))+27) );
         (void) ( *( (fPt) ((*  (ptr) pd103 ))))(var←c44104.f4/* c←v8116 */ , (* (( (ptr) gf←c44136)+43) ), (* (( (ptr) gf←c44136)+43)
             ), pd103);
         };
      };
SOURCE(11342, 29)
   return((* (( (ptr) var←c44104.f6/* shmd←v10880 */ )+5) ));
   }

static word NoName←Q3900(formal←c0303)
   word formal←c0303;
   {
SOURCE(11155, 1472)
   (* (( (ptr) formal←c0303)+7) ) = (word) GetXShmId←P1680((* (( (ptr) formal←c0303)+4) ), (* (( (ptr) formal←c0303)+5) ));
   return(0);
   }

static word ConnectionSupportsThis←P1440(c←v8220)
   word c←v8220;
   {
   register ptr gf←c44168 =  (ptr) &globalframe;
   word var←c8264;
   /* ConnectionSupportsThis: */ 
SOURCE(11377, 1250)
SOURCE(11451, 35)
   if ((0 != (* (( (ptr) gf←c44168)+5)/* neverUseThis←v3644 */  ))) {
SOURCE(11472, 14)
      return(0);
      };
SOURCE(11488, 36)
   if ((c←v8220 == 0)) {
SOURCE(11502, 22)
      return( (unsigned) (0 == (* (( (ptr) gf←c44168)+5)/* neverUseThis←v3644 */  )));
      };
SOURCE(11526, 1101)
   if ((0 != (word) Disabled1←P1200(c←v8220))) {
SOURCE(11547, 14)
      return(0);
      };
SOURCE(11563, 1064)
   return((word) TestWorking←P1380(c←v8220));
   }

static word ConnectionSupportsPixmaps←P1500(c←v8324)
   word c←v8324;
   {
   register ptr gf←c44200 =  (ptr) &globalframe;
   word var←c8368;
   /* ConnectionSupportsPixmaps: */ 
SOURCE(11592, 1035)
SOURCE(11592, 1035)
   var←c8368 = 0;
SOURCE(11677, 950)
   if ((0 == (* (( (ptr) gf←c44200)+5)/* neverUseThis←v3644 */  ))) {
SOURCE(11699, 118)
      {
         word shmd←v10948;
SOURCE(11701, 53)
         {
            word d←v39688;
SOURCE(967, 11660)
            d←v39688 = 0;
SOURCE(1059, 11568)
            {
               word pd104;
               pd104 = (* (( (ptr) (* (( (ptr) gf←c44200)+108)/* var←c41160 */  ))+29) );
               d←v39688 = XR←Narrow((word) ( *( (fPt) ((*  (ptr) pd104 ))))(c←v8324, (* (( (ptr) gf←c44200)+6)/* privateKey←v3728 */  ), (word) (
                        ( (bPt) gf←c44200)+400)/* var←c40872 */ , pd104), (* (( (ptr) gf←c44200)+34) ));
               };
SOURCE(967, 11660)
            shmd←v10948 = d←v39688;
            };
SOURCE(11756, 871)
         if ((0 != (* (( (ptr) shmd←v10948)+6) ))) {
SOURCE(11792, 835)
            return((word) TestWorking←P1380(c←v8324));
            };
         };
      };
SOURCE(11592, 1035)
   return(var←c8368);
   }

static word SampleMapSupportsThis←P1560(sm←v8428)
   word sm←v8428;
   {
   register ptr gf←c44232 =  (ptr) &globalframe;
   word var←c8472;
   /* SampleMapSupportsThis: */ 
SOURCE(11824, 803)
SOURCE(11907, 35)
   if ((0 != (* (( (ptr) gf←c44232)+5)/* neverUseThis←v3644 */  ))) {
SOURCE(11928, 14)
      return(0);
      };
SOURCE(11944, 683)
   return( (unsigned) ((word) SampleMapPiece←P1620(sm←v8428) != 0));
   }

static word SampleMapPiece←P1620(sm←v8532)
   word sm←v8532;
   {
   register ptr gf←c44264 =  (ptr) &globalframe;
   word var←c8576;
   /* SampleMapPiece: */ 
SOURCE(11980, 647)
SOURCE(11980, 647)
   var←c8576 = 0;
SOURCE(12060, 567)
   {
      word var←c42568;
      var←c42568 = sm←v8532;
      if ((var←c42568 == 0)) {
         goto lab←L100036;
         };
      if (((* (( (ptr) var←c42568)+6) ) == 0)) {
         {
            word rsm←v11004;
            rsm←v11004 = var←c42568;
SOURCE(12118, 509)
            {
               word var←c42600;
               var←c42600 = (* (( (ptr) rsm←v11004)+10) );
               if ((var←c42600 == 0)) {
                  goto lab←L100037;
                  };
               if (((* (( (ptr) gf←c44264)+12) ) == XR←GetReferentType(var←c42600))) {
                  {
                     word p←v11048;
                     p←v11048 = var←c42600;
SOURCE(12176, 10)
                     return(p←v11048);
                     };
                  }
               else {
                  lab←L100037: ;
SOURCE(12199, 12)
                  return(0);
                  };
               };
            };
         }
      else {
         lab←L100036: ;
         };
      };
SOURCE(11980, 647)
   return(var←c8576);
   }

static word GetXShmId←P1680(c←v8648, formal←c0358)
   word c←v8648;
   word formal←c0358;
   {
   W7 var←c44296;
   /* declaration of ls←v8676 skipped */ 
   register ptr gf←c44328 =  (ptr) &globalframe;
   word xshmid←v8732;
   /* declaration of var←c42632 skipped */ 
   word refXId←v11132;
   var←c44296.f4/* ls←v8676 */  = formal←c0358;
   /* GetXShmId: */ 
SOURCE(12232, 528)
   {
      word tmpAddr105;
      tmpAddr105 = (word) (( (ptr) &var←c44296)+5)/* var←c42632 */ ;
      (*  (ptr) tmpAddr105 ) = ( ((word)  (fPt) GetXShmInit←P2796) );
      (* (( (ptr) tmpAddr105) + 1) ) = 1;
      };
SOURCE(12661, 80)
   {
      word pd106;
      pd106 = (* (( (ptr) (* (( (ptr) gf←c44328)+108)/* var←c41160 */  ))+29) );
      refXId←v11132 = XR←Narrow((word) ( *( (fPt) ((*  (ptr) pd106 ))))(c←v8648, (* (( (ptr) var←c44296.f4/* ls←v8676 */ )+5) ), (word) (
               ( (bPt) &var←c44296)+20)/* var←c42632 */ , pd106), (* (( (ptr) gf←c44328)+18) ));
      };
SOURCE(12743, 17)
   return((*  (ptr) refXId←v11132 ));
   }

static word GetXShmInit←P2796(formal←c0359, key←v38388, formal←c44424)
   word formal←c0359;
   word key←v38388;
   word formal←c44424;
   {
   W11 var←c44360;
   /* declaration of c←v38360 skipped */ 
   register ptr gf←c44392 =  (ptr) &globalframe;
   word val←v38432;
   /* declaration of refXId←v11188 skipped */ 
   formal←c44424 = (formal←c44424 - 20);
   (* (( (ptr) &var←c44360)+4)/* c←v38360 */  ) = formal←c0359;
   (*  (ptr) &var←c44360 ) = formal←c44424;
   /* GetXShmInit: */ 
SOURCE(12319, 339)
SOURCE(12319, 339)
   val←v38432 = (* (( (ptr) gf←c44392)+42) );
SOURCE(12358, 32)
   (* (( (ptr) &var←c44360)+5)/* refXId←v11188 */  ) = XR←NewObject(4, (* (( (ptr) gf←c44392)+18) ));
SOURCE(12392, 235)
SOURCE(12392, 235)
   {
      /* declaration of var←c08 skipped */ 
      /* declaration of var←c09 skipped */ 
      (*  (W3Pt) (( (ptr) &var←c44360)+6)/* var←c08 */  ) = (*  (W3Pt) (( (ptr) (* (( (ptr) formal←c44424)+4) ))+1) );
      (* (( (ptr) &var←c44360)+9)/* var←c09 */  ) = (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c44392)+119)/* var←c42664 */  ))+4) ) );
      {
         /* declaration of var←c010 skipped */ 
         {
            word var←c011;
            {
               word var←c0320;
               var←c0320 = (word) &var←c44360;
               var←c011 = (word) XR←Enable(( ((word)  (fPt) NoName←Q3960) ), ( ((word)  (fPt) NoName←Q4020) ), var←c0320);
               };
            if ((var←c011 == 6)) {
               goto lab←L100039;
               };
            };
         (*  (ptr) (* (( (ptr) &var←c44360)+5)/* refXId←v11188 */  ) ) = (* (( (ptr) &var←c44360)+10)/* var←c010 */  );
         };
      };
   lab←L100039: ;
SOURCE(12642, 16)
   return((* (( (ptr) &var←c44360)+5)/* refXId←v11188 */  ));
   }

static word NoName←Q3960(formal←c0311)
   word formal←c0311;
   {
SOURCE(12392, 235)
   (* (( (ptr) formal←c0311)+10) ) = (word) SHMAttach←P300((* (( (ptr) formal←c0311)+4) ), (*  (W3Pt) (( (ptr) formal←c0311)+6)
       ), (* (( (ptr) formal←c0311)+9) ));
   return(0);
   }

static word UnsafeCreatePixmap←P1740(c←v8792, drawable←v8820, sm←v8848)
   word c←v8792;
   word drawable←v8820;
   word sm←v8848;
   {
   register ptr gf←c44456 =  (ptr) &globalframe;
   word p←v8892;
   word block←v11300;
   W2 sz←v11328;
   word bps←v11356;
   word xshmid←v11384;
   word offset←v11412;
   /* UnsafeCreatePixmap: */ 
SOURCE(12764, 692)
SOURCE(12917, 37)
   block←v11300 = (word) SampleMapPiece←P1620(sm←v8848);
SOURCE(12956, 37)
   {
      word map←v39928;
      map←v39928 = sm←v8848;
      {
         W4 b←v38852;
         b←v38852 = (*  (W4Pt) map←v39928 );
         sz←v11328.f0 = (b←v38852.f2 - b←v38852.f0);
         sz←v11328.f1 = (b←v38852.f3 - b←v38852.f1);
         };
      };
SOURCE(12995, 44)
   {
      word map←v39880;
      map←v39880 = sm←v8848;
      bps←v11356 = (* (( (ptr) map←v39880)+5) );
      };
SOURCE(13073, 35)
   if ((0 == (word) ConnectionSupportsThis←P1440(c←v8792))) {
SOURCE(13108, 5)
      (void) XR←RaiseUnnamedError();
      };
SOURCE(13116, 18)
   if ((block←v11300 == 0)) {
SOURCE(13134, 5)
      (void) XR←RaiseUnnamedError();
      };
SOURCE(13175, 98)
   offset←v11412 = ((* (( (ptr) sm←v8848)+8) ) - (* (( (ptr) (*  (ptr) block←v11300 ))+2) ));
SOURCE(13275, 31)
   xshmid←v11384 = (word) GetXShmId←P1680(c←v8792, (*  (ptr) block←v11300 ));
SOURCE(13308, 148)
   {
      W2 var←c42824;
      var←c42824.f0 = sz←v11328.f1;
      var←c42824.f1 = sz←v11328.f0;
      p←v8892 = (word) SHMCreatePixmap←P360(c←v8792, drawable←v8820, xshmid←v11384, offset←v11412, var←c42824, BCK(bps←v11356, 256)
         , (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c44456)+119)/* var←c42664 */  ))+4) ) ));
      };
SOURCE(12764, 692)
   return(p←v8892);
   }

static word ProcessExtension←P1800(self←v19432, xEvent←v19460)
   word self←v19432;
   word xEvent←v19460;
   {
   word continue←v19504;
   /* ProcessExtension: */ 
SOURCE(13460, 59)
SOURCE(13460, 59)
   continue←v19504 = 0;
SOURCE(13460, 59)
   return(continue←v19504);
   }

static void NoName←Q4020(formal←c0244, formal←c200016, formal←c200017, formal←c200018, formal←c200019)
   word formal←c0244;
   word formal←c200016;
   word formal←c200017;
   word formal←c200018;
   word formal←c200019;
   {
   register ptr gf←c0313 =  (ptr) &globalframe;
   if ((formal←c200017 == (* (( (ptr) (* (( (ptr) gf←c0313)+108)/* var←c41160 */  ))+4) ))) {
      {
         word err←v38536;
         err←v38536 = (*  (ptr) formal←c200019 );
SOURCE(12470, 168)
         {
            word shmd←v11244;
SOURCE(12472, 53)
            {
               word d←v39640;
SOURCE(967, 11660)
               d←v39640 = 0;
SOURCE(1059, 11568)
               {
                  word pd107;
                  pd107 = (* (( (ptr) (* (( (ptr) gf←c0313)+108)/* var←c41160 */  ))+29) );
                  d←v39640 = XR←Narrow((word) ( *( (fPt) ((*  (ptr) pd107 ))))((* (( (ptr) formal←c200016)+4) ), (* (( (ptr) gf←c0313)+6)/* privateKey←v3728 */  ), (word) (
                           ( (bPt) gf←c0313)+400)/* var←c40872 */ , pd107), (* (( (ptr) gf←c0313)+34) ));
                  };
SOURCE(967, 11660)
               shmd←v11244 = d←v39640;
               };
SOURCE(12527, 84)
            if ((shmd←v11244 != 0)) {
SOURCE(12546, 28)
               (* (( (ptr) shmd←v11244)+5) ) = 0;
SOURCE(12576, 35)
               (* (( (ptr) shmd←v11244)+6) ) = 0;
               };
SOURCE(12616, 11)
            (*  (ptr) (* (( (ptr) formal←c200016)+5) ) ) = 0;
SOURCE(12629, 9)
            (*  (ptr) formal←c0244 ) = 2;
            (* (( (ptr) formal←c0244)+1) ) = 6;
            return;
            };
         };
      };
   (*  (ptr) formal←c0244 ) = 0;
   (* (( (ptr) formal←c0244)+1) ) = 0;
   return;
   }

static void NoName←Q4080(formal←c0250, formal←c200012, formal←c200013, formal←c200014, formal←c200015)
   word formal←c0250;
   word formal←c200012;
   word formal←c200013;
   word formal←c200014;
   word formal←c200015;
   {
   register ptr gf←c0314 =  (ptr) &globalframe;
   if ((formal←c200013 == (* (( (ptr) (* (( (ptr) gf←c0314)+108)/* var←c41160 */  ))+4) ))) {
      {
         word err←v37680;
         err←v37680 = (*  (ptr) formal←c200015 );
SOURCE(11197, 28)
         (* (( (ptr) (* (( (ptr) formal←c200012)+6) ))+5) ) = 0;
SOURCE(11227, 8)
         (*  (ptr) formal←c0250 ) = 2;
         (* (( (ptr) formal←c0250)+1) ) = 5;
         return;
         };
      };
   (*  (ptr) formal←c0250 ) = 0;
   (* (( (ptr) formal←c0250)+1) ) = 0;
   return;
   }

static void NoName←Q4140(formal←c0255, formal←c200008, formal←c200009, formal←c200010, formal←c200011)
   word formal←c0255;
   word formal←c200008;
   word formal←c200009;
   word formal←c200010;
   word formal←c200011;
   {
SOURCE(10258, 9)
   (*  (ptr) formal←c0255 ) = 2;
   (* (( (ptr) formal←c0255)+1) ) = 4;
   return;
   /* c2c skipped dead code */ 
   }

static void NoName←Q4200(formal←c0261, formal←c200004, formal←c200005, formal←c200006, formal←c200007)
   word formal←c0261;
   word formal←c200004;
   word formal←c200005;
   word formal←c200006;
   word formal←c200007;
   {
   register ptr gf←c0315 =  (ptr) &globalframe;
   if ((formal←c200005 == (word) (( (bPt) gf←c0315)+180)/* var←c39976 */ )) {
      {
         word errno←v34076;
         errno←v34076 = (*  (ptr) formal←c200007 );
SOURCE(7299, 21)
         (* (( (ptr) gf←c0315)+8)/* lastUnixErrno←v4232 */  ) = errno←v34076;
SOURCE(7322, 9)
         (*  (ptr) formal←c0261 ) = 2;
         (* (( (ptr) formal←c0261)+1) ) = 3;
         return;
         };
      }
   else {
      if ((formal←c200005 == XR←Uncaught)) {
SOURCE(7351, 9)
         (*  (ptr) formal←c0261 ) = 2;
         (* (( (ptr) formal←c0261)+1) ) = 3;
         return;
         };
      };
   (*  (ptr) formal←c0261 ) = 0;
   (* (( (ptr) formal←c0261)+1) ) = 0;
   return;
   }

static void NoName←Q4260(formal←c0266, formal←c200000, formal←c200001, formal←c200002, formal←c200003)
   word formal←c0266;
   word formal←c200000;
   word formal←c200001;
   word formal←c200002;
   word formal←c200003;
   {
SOURCE(1471, 28)
   (* (( (ptr) (* (( (ptr) formal←c200000)+5) ))+5) ) = 0;
SOURCE(1501, 8)
   (*  (ptr) formal←c0266 ) = 2;
   (* (( (ptr) formal←c0266)+1) ) = 2;
   return;
   /* c2c skipped dead code */ 
   }

/* file: XlShmPixmapsImpl, module: XlShmPixmapsImpl, compiled at: September 14, 1993 4:25:33 pm PDT */ 
extern void XR←install←XlShmPixmapsImpl() {
   NoName←Q3660();
   }
extern void XR←run←XlShmPixmapsImpl() { XR←Start(&globalframe); }