From: CRDGW2::CRDGW2::MRGATE::"SMTP::CRVAX.SRI.COM::RELAY-INFO-VAX" 8-DEC-1989 04:17 To: MRGATE::"ARISIA::EVERHART" Subj: RE: UUencode and UUdecode for VMS (compilation problem) Received: From YMIR.CLAREMONT.EDU by CRVAX.SRI.COM with TCP; Fri, 8 DEC 89 00:32:35 PDT Received: from FRIDAY.A-T.COM by YMIR.BITNET; Fri, 8 Dec 89 00:14 PST Date: Thu, 7 Dec 89 18:25 PST From: "Kevin V. Carosso" <@YMIR.CLAREMONT.EDU:KVC@FRIDAY.A-T.COM> Subject: RE: UUencode and UUdecode for VMS (compilation problem) To: info-vax@sri.com Message-Id: <112762FA485F8028AD@YMIR.BITNET> X-Vms-To: in%"info-vax@sri.com" > I have a program called CODE.PAS written by Kevin Carosso that I cannot get > to compile. It is a Pascal program that will UUencode and UUdecode VMS files. > The problem is in the variable declaration section with the following > variables: > LIB_proto_FAB : [external, readonly] FAB$TYPE; { Initialized FAB } > LIB_proto_RAB : [external, readonly] RAB$TYPE; { Initialized RAB } Those are references to prototypes for RMS structures I used to initialize such structures in Pascal. MACRO provides $FAB and $RAB macros and C provides "cc$rms_fab" and "cc$rms_rab". I created a little macro module that looked like this: .Title RMS_PROTOTYPES LIB_proto_FAB:: $FAB LIB_proto_RAB:: $RAB ... .End and so on for all RMS structures. This was assembled and stuck into a library of locally created facilities, hence the "LIB_" facility code ("$" is reserved to Digital, "_" is for customers). You'll have to recreate the module, assemble, and link to it. Alternately, you could just zero out all FABs and RABs initially and then initialize all the fields. I did the above 'cause I didn't want to worry about what had to be initialized. Finally, I must point out that CODE isn't compatible in any way with UUENCODE and UUDECODE. It does convert a VMS file (of any type, with any attributes) into a text file for transmission over "unfriendly" media. You then run the text file through CODE again and get back the original file with type and attribute information preserved. CODE is also not terribly efficient. It converts the file into an FDL description followed by ASCII HEX, so a file of N bytes is guaranteed to be (2N+header) in CODified form. Hey, it was a quick hack to solve a problem... I'm not proud! It does the job. /Kevin Carosso kvc@friday.a-t.com Innosoft kvc@ymir.bitnet