/* Generated with C2C (Cedar To C)*/ /* Copyright (C) 1992 by Xerox Corporation. All rights reserved. */ /* time: February 21, 1992 11:09:26 pm PST */ /* C2C version: October 16, 1990 (native) */ /* ref-counting: off */ /* file: RopeFileStreamImpl, module: RopeFileStreamImpl */ /* switches: bcfhklnouw */ #include #include static char versionStamp[] = "@(#)mob_version [1564014747,399322368] RopeFileStreamImpl"; typedef unsigned word, *ptr; typedef unsigned char byte, *bPt; typedef unsigned short half, *hPt; typedef word (*fPt)(); typedef struct {word f0, f1, f2;} W3; 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 W3 *W3Pt; #define SOURCE(p, l) /* source p, l */ #define SGNCK(i) ((int) (word) (i) < 0 ? XR_RaiseArithmeticFault(): i ) static void NoName_Q516(); static void RopeFileStreamImpl_P0(); static word StreamDeactivate_P60(); static word StreamEqual_P120(); static void StreamDescribe_P180(); static word StreamMove_P240(); static word NoName_Q576(); static word ByteSequenceObjectFromStream_P300(); static word FromStream_P360(); static void NoName_Q636(); static struct {unsigned f; char r[16];} string1 = {851984, "\257\300\135\070\370\233\300\027\315\055\000\100\214\000\000"}; static struct {unsigned f; char r[4];} string2 = {131074, "\004\007\000"}; static struct {unsigned f; char r[16];} string3 = {917520, "\216\257\300\363\223\326\161\300\017\164\046\072\104\350\000"}; static struct {unsigned f; char r[4];} string4 = {65537, "\001\000\000"}; static struct {unsigned f; char r[8];} string5 = {458760, "\000\000"}; static struct {unsigned f; char r[4];} string7 = {131076, "??\000"}; static struct {unsigned f; char r[16];} string8 = {851984, "\257\300\135\070\370\233\300\027\315\055\000\100\200\000\000"}; static struct {unsigned f; char r[4];} string9 = {196611, "\004G\000"}; static struct {unsigned f; char r[16];} string10 = {851984, "\257\300\255\053\300\023\300\142\135\315\105\100\150\000\000"}; static struct {unsigned f; char r[16];} string11 = {851984, "\257\300\015\277\004\146\300\034\367\146\045\100\164\000\000"}; static struct {unsigned f; char r[16];} string12 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\100\150\000\000"}; static struct {unsigned f; char r[8];} string13 = {1383034981, "File"}; static struct {unsigned f; char r[16];} string14 = {851984, "\257\300\262\334\125\203\300\272\176\356\230\100\150\000\000"}; static struct { word f0[11]; word f11; word f12; word f13; word f14; word f15; word f16; word f17; word f18; word f19; word f20; word f21; word f22; word f23; word f24[6]; } globalframe = { {0}, (word) FromStream_P360, 0, (word) ByteSequenceObjectFromStream_P300, 0, (word) StreamMove_P240, 0, (word) StreamDescribe_P180, 0, (word) StreamEqual_P120, 0, (word) StreamDeactivate_P60, 0, (word) RopeFileStreamImpl_P0, {0} }; static void NoName_Q516() { register ptr gf_c057 = (ptr) &globalframe; word var_c10628; (* (( (ptr) gf_c057)+4) ) = (word) XR_GetTypeIndex((word) &string1, 0, (word) &string2); (* (( (ptr) gf_c057)+6) ) = (word) XR_GetTypeIndex((word) &string3, 0, (word) &string4); (* (ptr) (( (bPt) gf_c057)+32) ) = (word) XR_GetRefLiteral((* (( (ptr) gf_c057)+6) ), (word) &string5); (* (ptr) (( (bPt) gf_c057)+36) ) = (word) XR_GetRefLiteral((* (( (ptr) gf_c057)+6) ), (word) &string6); (* (ptr) (( (bPt) gf_c057)+40) ) = (word) XR_GetRefLiteral((* (( (ptr) gf_c057)+6) ), (word) &string7); (void) XR_DeclareGlobalFrame((word) "RopeFileStreamImpl", &globalframe, (word) XR_GetTypeIndex((word) &string8, 0, (word) &string9) , (word) (( (bPt) gf_c057)+92)/* var_c10244 */ ); var_c10628 = (word) XR_ImportInterface((word) "Convert", (word) XR_GetTypeIndexS((word) (&string10)), 73); (* (( (ptr) gf_c057)+26)/* var_c10500 */ ) = var_c10628; (void) XR_ImportProcS(var_c10628, 67641858); var_c10628 = (word) XR_ImportInterface((word) "IO", (word) XR_GetTypeIndexS((word) (&string11)), 103); (* (( (ptr) gf_c057)+25)/* var_c10276 */ ) = var_c10628; (void) XR_ImportProcS(var_c10628, 67917827); (void) XR_ImportProcS(var_c10628, 67377921); (void) XR_ImportProcS(var_c10628, 68160002); (void) XR_ImportProcS(var_c10628, 530946); (void) XR_ImportProcS(var_c10628, 530434); var_c10628 = (word) XR_ImportInterface((word) "Rope", (word) XR_GetTypeIndexS((word) (&string12)), 43); (* (( (ptr) gf_c057)+27)/* var_c10532 */ ) = var_c10628; (void) XR_ImportProcS(var_c10628, 68419845); var_c10628 = (word) XR_ImportInterface((word) &string13, (word) XR_GetTypeIndexS((word) (&string14)), 7); (* (( (ptr) gf_c057)+28)/* var_c10596 */ ) = var_c10628; (void) XR_ImportProcS(var_c10628, 67633666); (void) XR_ImportProcS(var_c10628, 68681734); var_c10628 = (word) XR_ExportInterface((word) &string13, (word) XR_GetTypeIndexS((word) (&string14)), 7); (* (( (ptr) gf_c057)+29)/* var_c10660 */ ) = var_c10628; (void) XR_ExportProcS(var_c10628, (word) (( (bPt) gf_c057)+44)/* var_c10052 */ , 68158212); (void) XR_ExportProcS(var_c10628, (word) (( (bPt) gf_c057)+52)/* var_c10084 */ , 67372033); } static void RopeFileStreamImpl_P0(formal_c017, formal_c016) word formal_c017; word formal_c016; { /* RopeFileStreamImpl: */ } static word StreamDeactivate_P60(self_v3136, final_v3164) word self_v3136; word final_v3164; { register ptr gf_c10692 = (ptr) &globalframe; word var_c3208; word data_v3980; /* StreamDeactivate: */ SOURCE(424, 271) (void) (XR_MonitorEntry(self_v3136)); SOURCE(524, 30) data_v3980 = XR_Narrow((* (( (ptr) self_v3136)+5) ), (* (( (ptr) gf_c10692)+4) )); SOURCE(556, 50) if (((* (ptr) data_v3980 ) == 0)) { SOURCE(582, 24) (void) (XR_MonitorExit(self_v3136)); return(2); }; SOURCE(608, 70) if ((0 != final_v3164)) { SOURCE(624, 21) { word pd15; pd15 = (* (( (ptr) (* (( (ptr) gf_c10692)+25)/* var_c10276 */ ))+28) ); (void) ( *( (fPt) ((* (ptr) pd15 ))))((* (ptr) data_v3980 ), 0, pd15); }; SOURCE(647, 17) (* (ptr) data_v3980 ) = 0; SOURCE(666, 12) (void) (XR_MonitorExit(self_v3136)); return(0); }; SOURCE(681, 14) (void) (XR_MonitorExit(self_v3136)); return(1); } static word StreamEqual_P120(self_v3268, other_v3296) word self_v3268; word other_v3296; { register ptr gf_c10724 = (ptr) &globalframe; word var_c3340; word data_v4024; /* StreamEqual: */ SOURCE(699, 124) (void) (XR_MonitorEntry(self_v3268)); SOURCE(776, 30) data_v4024 = XR_Narrow((* (( (ptr) self_v3268)+5) ), (* (( (ptr) gf_c10724)+4) )); SOURCE(808, 15) (void) (XR_MonitorExit(self_v3268)); return(0); } static void StreamDescribe_P180(formal_c034, self_v3400) word formal_c034; word self_v3400; { register ptr gf_c10756 = (ptr) &globalframe; word fileName_v3444; word created_v3472; word open_v3500; word data_v4068; /* StreamDescribe: */ SOURCE(827, 221) (void) (XR_MonitorEntry(self_v3400)); SOURCE(827, 221) fileName_v3444 = 0; SOURCE(827, 221) created_v3472 = 0; SOURCE(937, 30) data_v4068 = XR_Narrow((* (( (ptr) self_v3400)+5) ), (* (( (ptr) gf_c10756)+4) )); SOURCE(969, 79) fileName_v3444 = (* (( (ptr) data_v4068)+1) ); created_v3472 = (* (( (ptr) data_v4068)+2) ); open_v3500 = ((* (ptr) data_v4068 ) != 0); /* removed tail goto */ (void) (XR_MonitorExit(self_v3400)); (* (ptr) formal_c034 ) = fileName_v3444; (* (( (ptr) formal_c034)+1) ) = created_v3472; (* (( (ptr) formal_c034)+2) ) = open_v3500; return; } static word StreamMove_P240(formal_c068, formal_c069, formal_c070) word formal_c068; W3 formal_c069; word formal_c070; { W10 var_c10788; /* declaration of self_v3560 skipped */ /* declaration of block_v3588 skipped */ /* declaration of start_v3616 skipped */ /* declaration of charsMoved_v3660 skipped */ (* (( (ptr) &var_c10788)+4)/* self_v3560 */ ) = formal_c068; (* (W3Pt) (( (ptr) &var_c10788)+5)/* block_v3588 */ ) = formal_c069; (* (( (ptr) &var_c10788)+8)/* start_v3616 */ ) = formal_c070; /* StreamMove: */ SOURCE(1052, 306) (void) (XR_MonitorEntry(* (( (ptr) &var_c10788)+4)/* self_v3560 */ )); SOURCE(1052, 306) (* (( (ptr) &var_c10788)+9)/* charsMoved_v3660 */ ) = 0; SOURCE(1192, 166) { word var_c065; var_c065 = (word) &var_c10788; (void) (word) XR_Enable(( ((word) (fPt) NoName_Q576) ), ( ((word) (fPt) NoName_Q636) ), var_c065); }; SOURCE(1052, 306) (void) (XR_MonitorExit(* (( (ptr) &var_c10788)+4)/* self_v3560 */ )); return((* (( (ptr) &var_c10788)+9)/* charsMoved_v3660 */ )); } static word NoName_Q576(formal_c062) word formal_c062; { register ptr gf_c061 = (ptr) &globalframe; SOURCE(1215, 30) { word data_v4112; SOURCE(1215, 30) data_v4112 = XR_Narrow((* (( (ptr) (* (( (ptr) formal_c062)+4) ))+5) ), (* (( (ptr) gf_c061)+4) )); SOURCE(1247, 111) if (((* (ptr) data_v4112 ) != 0)) { SOURCE(1275, 31) { word pd16; pd16 = (* (( (ptr) (* (( (ptr) gf_c061)+25)/* var_c10276 */ ))+30) ); (void) ( *( (fPt) ((* (ptr) pd16 ))))((* (ptr) data_v4112 ), (* (( (ptr) formal_c062)+8) ), pd16); }; SOURCE(1308, 50) { word pd17; pd17 = (* (( (ptr) (* (( (ptr) gf_c061)+25)/* var_c10276 */ ))+14) ); (* (( (ptr) formal_c062)+9) ) = (word) ( *( (fPt) ((* (ptr) pd17 ))))((* (ptr) data_v4112 ), (* (W3Pt) (( (ptr) formal_c062)+5) ), pd17); }; }; }; return(0); } static word ByteSequenceObjectFromStream_P300(stream_v3720) word stream_v3720; { register ptr gf_c10820 = (ptr) &globalframe; word var_c3764; word length_v4156; word data_v4184; /* ByteSequenceObjectFromStream: */ SOURCE(1367, 547) SOURCE(1462, 34) { word pd18; pd18 = (* (( (ptr) (* (( (ptr) gf_c10820)+25)/* var_c10276 */ ))+31) ); length_v4156 = (word) ( *( (fPt) ((* (ptr) pd18 ))))(stream_v3720, pd18); }; SOURCE(1498, 74) data_v4184 = XR_NewObject(12, (* (( (ptr) gf_c10820)+4) )); (* (ptr) data_v4184 ) = stream_v3720; (* (( (ptr) data_v4184)+2) ) = (* (( (ptr) gf_c10820)+10) ); SOURCE(1574, 22) { word pd19; pd19 = (* (( (ptr) (* (( (ptr) gf_c10820)+25)/* var_c10276 */ ))+30) ); (void) ( *( (fPt) ((* (ptr) pd19 ))))(stream_v3720, 0, pd19); }; SOURCE(1648, 100) { word var_c10436; { word var_c10468; { word pd20; pd20 = (* (( (ptr) (* (( (ptr) gf_c10820)+25)/* var_c10276 */ ))+92) ); var_c10468 = (word) ( *( (fPt) ((* (ptr) pd20 ))))(stream_v3720, 30, 0, pd20); }; { word pd21; pd21 = (* (( (ptr) (* (( (ptr) gf_c10820)+26)/* var_c10500 */ ))+38) ); var_c10436 = (word) ( *( (fPt) ((* (ptr) pd21 ))))(var_c10468, 0, pd21); }; }; { word pd22; pd22 = (* (( (ptr) (* (( (ptr) gf_c10820)+27)/* var_c10532 */ ))+5) ); (* (( (ptr) data_v4184)+1) ) = (word) ( *( (fPt) ((* (ptr) pd22 ))))((* (( (ptr) gf_c10820)+8) ), var_c10436, (* (( (ptr) gf_c10820)+9) ), 0, 0, pd22); }; }; SOURCE(1750, 164) { word pd23; pd23 = (* (( (ptr) (* (( (ptr) gf_c10820)+28)/* var_c10596 */ ))+4) ); return((word) ( *( (fPt) ((* (ptr) pd23 ))))(SGNCK(length_v4156), data_v4184, (word) (( (bPt) gf_c10820)+76)/* var_c10180 */ , (word) ( ( (bPt) gf_c10820)+84)/* var_c10212 */ , (word) (( (bPt) gf_c10820)+68)/* var_c10148 */ , (word) (( (bPt) gf_c10820)+60)/* var_c10116 */ , pd23) ); }; } static word FromStream_P360(stream_v3824, start_v3852, len_v3880, flatten_v3908) word stream_v3824; word start_v3852; word len_v3880; word flatten_v3908; { register ptr gf_c10852 = (ptr) &globalframe; word rope_v3952; /* FromStream: */ SOURCE(1920, 379) SOURCE(1920, 379) rope_v3952 = 0; SOURCE(2050, 249) if ((0 != flatten_v3908)) { SOURCE(2068, 26) { word pd24; pd24 = (* (( (ptr) (* (( (ptr) gf_c10852)+25)/* var_c10276 */ ))+30) ); (void) ( *( (fPt) ((* (ptr) pd24 ))))(stream_v3824, start_v3852, pd24); }; SOURCE(2096, 37) { word pd25; pd25 = (* (( (ptr) (* (( (ptr) gf_c10852)+25)/* var_c10276 */ ))+92) ); rope_v3952 = (word) ( *( (fPt) ((* (ptr) pd25 ))))(stream_v3824, len_v3880, 0, pd25); }; SOURCE(2135, 16) { word pd26; pd26 = (* (( (ptr) (* (( (ptr) gf_c10852)+25)/* var_c10276 */ ))+28) ); (void) ( *( (fPt) ((* (ptr) pd26 ))))(stream_v3824, 0, pd26); }; } else { SOURCE(2160, 141) { word byteSequenceObject_v4228; SOURCE(2162, 77) byteSequenceObject_v4228 = (word) ByteSequenceObjectFromStream_P300(stream_v3824); SOURCE(2241, 58) { word pd27; pd27 = (* (( (ptr) (* (( (ptr) gf_c10852)+28)/* var_c10596 */ ))+6) ); rope_v3952 = (word) ( *( (fPt) ((* (ptr) pd27 ))))(byteSequenceObject_v4228, 0, pd27); }; }; }; SOURCE(1920, 379) return(rope_v3952); } static void NoName_Q636(formal_c056, formal_c200000, formal_c200001, formal_c200002, formal_c200003) word formal_c056; word formal_c200000; word formal_c200001; word formal_c200002; word formal_c200003; { if ((formal_c200001 == XR_Unwind)) { (void) (XR_MonitorExit(* (( (ptr) formal_c200000)+4) )); }; (* (ptr) formal_c056 ) = 0; (* (( (ptr) formal_c056)+1) ) = 0; return; } /* file: RopeFileStreamImpl, module: RopeFileStreamImpl, compiled at: February 21, 1992 11:09:26 pm PST */ extern void XR_install_RopeFileStreamImpl() { NoName_Q516(); } extern void XR_run_RopeFileStreamImpl() { XR_Start(&globalframe); }