1 INFO-VAX	Mon, 22 Apr 2002	Volume 2002 : Issue 222       Contents: Re: $QIO and SYSPRV  Re: $QIO and SYSPRV ! Re: Accessing CD-ROM over network  adapter for 4000 ?P Re: auto wiring - was learning how to use a computer (was: Re: Itanium troubles)P Re: auto wiring - was learning how to use a computer (was: Re: Itanium troubles)P Re: auto wiring - was learning how to use a computer (was: Re: Itanium troubles)P Re: auto wiring - was learning how to use a computer (was: Re: Itanium troubles)1 Re: Availability Manager not displaying all nodes  Re: Blade architectures  Re: Blade architectures D Broken link on Technical Days Pages (Was Re: Newbie meets OpenVMS ;)/ Re: C++ dev. prior VMS O/S ver. bin. generation  Re: Cache Performance  Cache Performance  Re: cluster 5 Re: Correct Syntax for htpasswd.exe_alpha w/CSWS 1.2? 5 Re: Correct Syntax for htpasswd.exe_alpha w/CSWS 1.2?  creat function hanging  Re: DEC 3000/400 VMS 6.2 problemE Re: Emacs and other Unix applications on VMS, was: Re: VMS versus IBM - Re: getting SIMH 2.9-6/VAX + VMS configured ? - Re: getting SIMH 2.9-6/VAX + VMS configured ? - Re: getting SIMH 2.9-6/VAX + VMS configured ? - Re: I was right!  Alpha will live in Itanium! - Re: I was right!  Alpha will live in Itanium! - Re: I was right!  Alpha will live in Itanium! - Re: I was right!  Alpha will live in Itanium! - Re: I was right!  Alpha will live in Itanium!  Re: Itanium troubles Re: Itanium troubles Re: Itanium troubles Re: Itanium troubles> Re: learning how to use a computer (was: Re: Itanium troubles)> Re: learning how to use a computer (was: Re: Itanium troubles)> Re: learning how to use a computer (was: Re: Itanium troubles)0 Re: linking with pthread library for C++ program0 Re: linking with pthread library for C++ program1 Re: Mails with long lines (> 255 bytes) truncated 1 Re: Mails with long lines (> 255 bytes) truncated  Re: Newbie meets OpenVMS ;)  Re: Newbie meets OpenVMS ;)  Re: Newbie meets OpenVMS ;)  Re: Newbie meets OpenVMS ;)  Re: Newbie meets OpenVMS ;)  Re: Newbie meets OpenVMS ;)  Re: Newbie meets OpenVMS ;)  Re: Newbie meets OpenVMS ;) ' Optical Jukebox operation under OpenVMS ) password history list: back to the future # Re: Pathworks 6.1 exhausting KNBCBs 
 Re: PC Worker 
 RE: PC Worker 
 Re: PC Worker 0 Re: Prediction:  VMS lives, merger or no merger!0 Re: Prediction:  VMS lives, merger or no merger!0 Re: Prediction:  VMS lives, merger or no merger!0 Re: Prediction:  VMS lives, merger or no merger! Problem: ODBC connect to RDB  Re: Problem: ODBC connect to RDB  Re: Problem: ODBC connect to RDB  Re: Problem: ODBC connect to RDB  Re: Problem: ODBC connect to RDB+ Re: Re Smart house wiring - Re: auto wiring  Save-set Format 8 Re: Stuck in licenseless Motif with OpenVMS 7.2 HobbyistP Re: The 'tone' of c.o.v. (was Re: Prediction:  VMS lives, merger or no  merger!)O Re: The 'tone' of c.o.v. (was Re: Prediction:  VMS lives, merger or no merger!) O Re: The 'tone' of c.o.v. (was Re: Prediction:  VMS lives, merger or no merger!) P Re: The 'tone' of c.o.v. (was Re: Prediction:  VMS lives, merger or no merger!) E Re: The Digital 7-year plan - from 1997 to 2004 - from Alpha to IA-64 , Re: Time to finally rename VMS back to VMS ? Update Info on KVM switches  Re: VAX/Alpha CI Re: VAX/Alpha CI Re: VAX/Alpha CI# VMS on http://www.windows-sucks.org ( Re: VMS Spammer, the lowest form of life( RE: VMS Spammer, the lowest form of life( Re: VMS Spammer, the lowest form of life( Re: VMS Spammer, the lowest form of life6 Re: XP1000 does not recognize Compaq memory in  Bank 16 Re: XP1000 does not recognize Compaq memory in  Bank 1  F ----------------------------------------------------------------------  % Date: Mon, 22 Apr 2002 15:57:51 +0930 / From: Mark Daniel <Mark.Daniel@wasd.vsm.com.au>  Subject: Re: $QIO and SYSPRV. Message-ID: <3CC3AD67.3040302@wasd.vsm.com.au>   David Froble wrote: 
 8< snip 8<K > Hell, it sounds reasonable to me.  Don't know how many times I've gotten  = > bitten after saying that, but the number is not small.  :-)    Me too.   E > You'll have to devise some test to insure that the priv is dropped  > > before the activity occurs, and see if the action completes.  L I am still hoping for a definitive answer before investing too much time in F bench-testing.  This *must* surely be part of the OS/subsystem design.  K > However, in reading your post, it seems that you're assuming that SYSPRV  C > will allow you to BYPASS all protections.  Have you considered a  J > directory where the SYSTEM protection mask does not allow access?  It's G > not something seen very often, but it is a valid situation.  You may  / > need to consider other temporary priviledges.   K No, SYSPRV is fine; there must be good reasons for an S protection so that   should be honoured.    Thanks Dave.   ------------------------------    Date: 22 Apr 2002 05:00:07 -0700- From: jodonnell@hrblock.com (Jason O'Donnell)  Subject: Re: $QIO and SYSPRV= Message-ID: <9059bf6b.0204220400.296c91b1@posting.google.com>    A couple of items:  A If you are writing the source, and thus control its actions, what 8 kinds of concerns are you having about it having SYSPRV?  @ The directory could have an ACL with a Rights Identifier and the4 process could be installed with with the Identifier.  : BTW: if you use SETAST, then I would recommend using QIOW.   JMOD   ------------------------------    Date: 22 Apr 2002 08:58:41 -0700$ From: issinoho@slayme.com (issinoho)* Subject: Re: Accessing CD-ROM over network= Message-ID: <d0141774.0204220758.138b3100@posting.google.com>    For all concerned,  F Keith's procedure outlined below worked like a charm and allowed me to? create a "virtual CD" on my VAX using an image file. Procedure:    1. Put VAX CD in Linux box. 0 2. Take image, dd if=/dev/cdrom of=/tmp/disk.img" 3. Binary FTP this file to the VAX" 4. Install LD from the Freeware CD- 5. Attach file, LD CONNECT/LOG disk.img LDA1: " 6. Mount disk, MOUNT LDA1: <label>   Lovely.   h "issinoho" <iain@issinoho.com> wrote in message news:<3cb75d2f$1_2@mk-nntp-1.news.uk.worldonline.com>... > Keith, > F > Ingenious! I'll give your comments some thought, it sounds feasible. >  > Many thanks for your input,  > issinoho.  >  >  > ? > "Keith A. Lewis" <sssslewis@mazda.mitre.org> wrote in message * > news:a977a3$2gk$1@newslocal.mitre.org...4 > > "issinoho" <iain@issinoho.com> writes in articleK > <1018616900.20485.0@iapetus.uk.clara.net> dated Fri, 12 Apr 2002 14:08:02  > +0100:/ > > >Anyone got any bright ideas on this one...  > > > L > > >I've recently acquired an old VAX 4000-200 which I've got running quiteM > > >sweetly on our network, however I want to upgrade VMS and have no access  >  to I > > >a CD-ROM. The VAX has an external SCSI connector but I don't have an M > > >external SCSI CD-ROM and wouldn't know which model to get which would be  > > >compatible. Any ideas?  > > > H > > >Alternatively, how can I access a CD-ROM served from either UNIX or
 >  WindowsI > > >across the LAN? I'm running 5.5A and have UCX 2.0b and Pathworks 4.1 J > > >running. I'd like to copy a CD-ROM across the LAN to a local disk and > > >install VMS from there. > > H > > Before I had CDRECORD on VMS, I used VDDRIVER (now called LDDRIVER I	 >  think) M > > to make a virtual disk which had an image file associated with it.  After N > > populating and dismounting the virtual disk, I could ftp the image file to  > > Unix and burn a Files-11 CD. > > M > > I think you could do the reverse for your upgrade.  Use a Unix utility to N > > grab the "image" of the CD, ftp that 640 Meg file to the VAX, and mount it > > with VDDRIVER. > > G > > You might have to use COPY/CONTIG if your transfer method creates a = > > non-contiguous file.  Too bad there's no COPY/FTP/CONTIG.  > > M > > If you're upgrading the OS, you will need to use BACKUP/IMAGE to move the M > > files to a bootable disk because you can't boot from a virtual disk.  And N > > possibly WRITEBOOT.EXE (that's what it's called on OpenVMS/Alpha, not sure' > > about VAX) to write the boot block.  > > / > > --Keith Lewis              klewis$mitre.org B > > The above may not (yet) represent the opinions of my employer.   ------------------------------  % Date: Mon, 22 Apr 2002 08:59:31 -0400 , From: David Michaels <michaedi@email.uc.edu> Subject: adapter for 4000 ? , Message-ID: <3CC40933.D8B6EB4A@email.uc.edu>   Hi  F Is there an adapter that will allow VAXstation 4000 computers to use a SVGA 15 pin monitor.         Thanks   David Michaels michaedi@email.uc.edu    ------------------------------  % Date: Mon, 22 Apr 2002 01:21:51 -0400 ( From: David Froble <davef@tsoft-inc.com>Y Subject: Re: auto wiring - was learning how to use a computer (was: Re: Itanium troubles) , Message-ID: <3CC39DEF.8000006@tsoft-inc.com>   Bill Todd wrote:  K > "Wolfgang Rupprecht" <wolfgang+gnus20020421T111339@dailyplanet.wsrcc.com> < > wrote in message news:x78z7g29pa.fsf@capsicum.wsrcc.com... >  > ...  >  > H >>The specific load that necessitated this change that I heard mentionedH >>in the MIT report was electrically operated valves.  It seems that theB >>designers want to do away with the overhead cams that run off ofB >>engine power via the timing belt/chain and put computer operatedB >>solenoids there instead.  The advantage is that you can not onlyC >>advance the valve timing, at high RPM but you can also change the C >>percentage of time the valve is open.  Very useful if you want to F >>squeeze more power out of the engine when operating in "hotrod" modeG >>at wide-open-throttle, yet still allow for high fuel mileage at other  >>times. >>F >>(I'm not sure I'm thrilled about this, since a computer screw-up can+ >>lead to bent valves, cracked blocks etc.)  >> > M > Wow.  At high RPM, each crankshaft revolution takes less than 10 ms.  Every M > other revolution, each valve wants to be open for a little more than half a M > rev.  So a solenoid must be strong enough to open the mass of a valve (plus G > whatever additional magnetic mass may be necessary), against a strong M > retaining spring (assuming that these are still used to ensure a tight seal : > while the valve is closed), in a couple of milliseconds. > N > I'm no mechanical engineer, but that seems to me as if it might not be easy. >  > - bill    Q I don't remember any details, but some time ago, more than a dozen years, I read  O a write-up about some development work done with this concept.  I think it was  P one of the companies that does the serious racing engine development.  They had M a working engine, and the expected benefits were being proved by their work.  - don't know what ever happened to the project.   P A camshaft is a compromise.  It must work from idle to full RPM.  If the people Q developing it get a practical design, you'll see efficiencies from engines you'd   never think possible.    Dave   ------------------------------  # Date: Mon, 22 Apr 2002 06:58:02 GMT * From: "Bill Todd" <billtodd@metrocast.net>Y Subject: Re: auto wiring - was learning how to use a computer (was: Re: Itanium troubles) C Message-ID: <ZvOw8.147842$%l3.11496375@bin8.nnrp.aus1.giganews.com>   5 "David Froble" <davef@tsoft-inc.com> wrote in message & news:3CC39DEF.8000006@tsoft-inc.com...   ...   J > A camshaft is a compromise.  It must work from idle to full RPM.  If the peopleL > developing it get a practical design, you'll see efficiencies from engines you'd  > never think possible.   J Variable valve timing already exists in (?) some Honda auto engines:  IIRCH they have a mechanical mechanism for moving the camshaft a tad (though IJ don't remember the details, having lobes contoured in three dimensions andK moving the shaft along its length axis to use different lobe profiles under A different conditions would likely be one way to accomplish this).    - bill   ------------------------------  % Date: Mon, 22 Apr 2002 11:56:10 -0400 - From: daytripper <day_trippr@REMOVEyahoo.com> Y Subject: Re: auto wiring - was learning how to use a computer (was: Re: Itanium troubles) 8 Message-ID: <0ec8cuc0hsqat6run2dfb9a9e41q8jfva2@4ax.com>  M On Mon, 22 Apr 2002 06:58:02 GMT, "Bill Todd" <billtodd@metrocast.net> wrote:    > 6 >"David Froble" <davef@tsoft-inc.com> wrote in message' >news:3CC39DEF.8000006@tsoft-inc.com...  >  >... > K >> A camshaft is a compromise.  It must work from idle to full RPM.  If the  >people M >> developing it get a practical design, you'll see efficiencies from engines  >you'd >> never think possible. > K >Variable valve timing already exists in (?) some Honda auto engines:  IIRC I >they have a mechanical mechanism for moving the camshaft a tad (though I K >don't remember the details, having lobes contoured in three dimensions and L >moving the shaft along its length axis to use different lobe profiles underB >different conditions would likely be one way to accomplish this).  H Electro-mechanically controlled VVT is incorporated in many Audi and BMWL engines today. I'm also unfamiliar with the details of operation, other thanH to note the actuators affect both timing and dwell of intake and exhaust valves (separately).   ------------------------------   Date: 22 Apr 2002 16:03:10 GMT/ From: cecchi@signa.rchland.ibm.com (Del Cecchi) Y Subject: Re: auto wiring - was learning how to use a computer (was: Re: Itanium troubles) / Message-ID: <aa1c7u$tli$1@news.rchland.ibm.com>   A In article <nMDw8.33584$ro5.3263492@bin6.nnrp.aus1.giganews.com>, -  "Bill Todd" <billtodd@metrocast.net> writes:  |> |> N |> Wow.  At high RPM, each crankshaft revolution takes less than 10 ms.  EveryN |> other revolution, each valve wants to be open for a little more than half aN |> rev.  So a solenoid must be strong enough to open the mass of a valve (plusH |> whatever additional magnetic mass may be necessary), against a strongN |> retaining spring (assuming that these are still used to ensure a tight seal; |> while the valve is closed), in a couple of milliseconds.  |>  O |> I'm no mechanical engineer, but that seems to me as if it might not be easy.  |>  	 |> - bill  |>  K This is getting off topic for comp.arch, so I will be deleting said group.    P Anyway, if one considers the analogous problem of a 3000 LPM chain/train printerQ in which a character coming past a position on a page had to be hit with a hammer M to make it print and the whole character set had to pass by in 20 ms.  So you 4 only had about 0.5 ms or less to whack the letter.    L Or consider punching cards at 2000 cards per minute times 80 columns/card.          --     Del Cecchi   cecchi@us.ibm.com  Personal Opinions Only   ------------------------------    Date: 22 Apr 2002 09:15:23 -0700' From: sdk_joseph@msn.com (Shawn Joseph) : Subject: Re: Availability Manager not displaying all nodes= Message-ID: <f897700f.0204220815.20eb5961@posting.google.com>   = That did it for me Mark.  Thanks a million for all your help!   k "Mark D. Jilson" <jilly@clarityconnect.com> wrote in message news:<3CC06FD4.3C0A66A3@clarityconnect.com>... H > IE1 sounds like the TCPIP interface.  Do a $ MCR LANCP SHOW DEVICE andI > pick the LAN adapter to use in AMDS$LOGICALS.COM from this list.  After I > editing AMDS$LOGICALS.COM use @SYS$STARTUP:AMDS$STARTUP RESTART to move 1 > AMDS to the adapter you pointed AMDS$DEVICE to.  >  > > F > >  I think you hit the nail right on the head.  I do have 2 NIC's inH > > each of the servers that aren't showing up in AM.  I edited the fileG > > that you mentioned and restarted AM but it gave me an error stating J > > "%AMDS-W-UNKSTYLE, unknown LAN address style on line: IE1"  IE1 is theE > > adaptor I'm using but I suspect it may be a virtual rather than a D > > physical adaptor.  I am going through all the documentation, butH > > haven't been able to figure out how to tell what the real adaptor isD > > that I should use for this.  It is an ethernet internet adaptor.   ------------------------------   Date: 22 Apr 2002 14:57:36 GMT  From: hack@watson.ibm.com (hack)  Subject: Re: Blade architectures+ Message-ID: <aa18d0$f64$1@news.btv.ibm.com>   B In article <thvv-84CD94.17574819042002@news.comcast.giganews.com>,+ Tom Van Vleck  <thvv@multicians.org> wrote:   5 >The idea was that reading a bunch of records in with < >one I/O and no lost latencies is attractive.  For N records6 >you save N-1 latencies and N-1 pagefault round trips.; >But they discovered that the cost is that you have to frees7 >up and dedicate main memory space for all N records toe2 >be read into, and this increases memory pressure,7 >causing additional competition for main memory (showedt; >up as more paging for us) by a factor just about equal to i! >all the savings from swapping.  -  C This observation does indeed kill the idea of generic read-ahead in D a memory-constrained system (which late-70's Multics certainly was).C In the case of an executable file and a file system capable of goodgE sequential allocation, there is a difference however:  those N memorynC pages will be required anyway -- a substantial fraction thereof, at E least, in most cases.  (In those days programs didn't contain as much ( dead space as in today's monster blobs.)   Michel.a  C P.S.  I was at Project MAC at the time, and used Multics, but I wase4       not part of Corby's Multics development group.   ------------------------------  # Date: Mon, 22 Apr 2002 16:08:37 GMT + From: Anne & Lynn Wheeler <lynn@garlic.com>o  Subject: Re: Blade architectures( Message-ID: <bscbhg1y.fsf@earthlink.net>  " hack@watson.ibm.com (hack) writes:E > This observation does indeed kill the idea of generic read-ahead in F > a memory-constrained system (which late-70's Multics certainly was).E > In the case of an executable file and a file system capable of goodlG > sequential allocation, there is a difference however:  those N memorynE > pages will be required anyway -- a substantial fraction thereof, at G > least, in most cases.  (In those days programs didn't contain as much * > dead space as in today's monster blobs.) >w	 > Michel.o  C the stuff I did for cms & cp (originally in the early '70s) ... hadgF the CMS side of the API as advisotry and left CP to decide how best toD fulfill the request based on load and configuration .... aka in someC instances it would effectively do block read for all or some subsetaF ... and in other instances it would just go with individual page faultE from the binary image in the CMS filesystem (much more representative ) of xt/at/370 configuration), random refs:t. http://www.garlic.com/~lynn/subtopic.html#mmap   -- aH Anne & Lynn Wheeler   | lynn@garlic.com -  http://www.garlic.com/~lynn/    ------------------------------  % Date: Mon, 22 Apr 2002 14:33:33 +0100 % From: Alan Greig <a.greig@virgin.net>nM Subject: Broken link on Technical Days Pages (Was Re: Newbie meets OpenVMS ;)p8 Message-ID: <3048cu0c5fgo87l9p1ls73s64r1kvr6djr@4ax.com>  F On Mon, 22 Apr 2002 11:37:26 +0100, Nic Clews <sendspamhere@127.0.0.1> wrote:   >fG >As spoken about at the recent Technical Update days, fork() is planned-F >to make its way into the VMS operating system in one form or another,
 >sometime. >tE >With regard to porting, VMS will in the future be treated as anothera >flavour of UNIX.  >n5 >See the slides I referred to in a posting last week.b  E That would be fine if it worked.This is what I get if I click on "COEeC and Unix portability issues" at  http://www.openvms.compaq.com/tud/a  	 Not Foundo? The requested URL /tud/unixportablity.htm was not found on this  server. 6 Apache/1.3.20 Server at www.openvms.compaq.com Port 80  B If I correct the spelling to /tud/unixportability.htm then it does work   -- Alan   ------------------------------  # Date: Mon, 22 Apr 2002 16:30:58 GMTv3 From: "Duane Smith" <Duane.Smith@nospam.compaq.com>d8 Subject: Re: C++ dev. prior VMS O/S ver. bin. generation9 Message-ID: <6VWw8.26$Lp4.736302@cacnews.cac.cpqcorp.net>p  I Rodman, the C++ kit contains two different C++ libraries (one for OpenVMSiJ V6.2 systems and one for later systems).  The kit installation chooses theJ object library which corresponds to the system on which you are installingF the kit.  As you have discovered, this library for later systems makes= reference to symbols which are not available on OpenVMS V6.2.>  J If you can find the saveset for your Compaq C++ kit, you will find that itL has a library called LIBCXXSTD_V62.OLB in the saveset.  Extract that libraryL from the kit and link against that it instead of LIBCXXSTD.OLB by explicitlyI listing it on the cxxlink command line.  Assuming you have placed it in at5 directory to which a sys$library logical name points:e  =     $ cxxlink main,function,sys$library:libcxxstd_v62/librarya   Duanei  8 "Rodman S. Regier" <rsr@hfx.andara.com> wrote in messageI news:8CC096F3F8D8F234.65A4265A26B0EFC1.2B729BD3897E695B@lp.airnews.net... 4 > On Tue, 16 Apr 2002 07:00:11 -0400, norm lastovica& > <norman.lastovica@oracle.com> wrote: >a1 > >I'm not sure what problems you are seeing witht/ > >C++, but it would seem that if you save your 1 > >existing contents of SYS$LIBRARY and C*INCLUDEc. > >directories and use then when compiling and4 > >linking, you'll be ok.  This is, after a fashion,1 > >what Rdb engineering does as well.  We run ourd5 > >development clusters at VMS V7.3 (where practicle)-/ > >but compile and link with the libraries from  > >older versions. >c/ > Fails w/C++ - thus my posting saying it failsR >a* > Re: example program showing the problem: >  >         FUNCTION.CPP:s >            class myclass { >               public:   >                  myclass() { } >            };g >n  >            extern void fun() { >               myclass y[10]; >            } >R >         MAIN.CPP >            extern void fun();  >e >            int main() {c >               return 1;r >            } > 7 >         A:001029> cxx/model=arm/standard=arm main.cppp; >         A:001029> cxx/model=arm/standard=arm function.cpp 8 >         A:001029> cxxlink/map/cross/full main,function) >         A:001029> sea main.map MALLOC64eD >         DECC$_MALLOC64                  00007780-RX       DECC$SHR >                  NEW_P64( >         00007780     RX-DECC$_MALLOC64 >iH > Because of the MALLOC64 symbol, when linked against our saved versions/ > of the 6.2 libraries we get a missing symbol.. > = > Note that we also tried with the following, with no change:c >n > #undef __VMS_VER > #define __VMS_VER 60200000 >s > #undef __VMS_VERSION > #define __VMS_VERSION "V6.2" >i > #undef __vms_version > #define __vms_version "V6.2" >  > #undef __CRTL_VER0 > #define __CRTL_VER 60200000e >  >    ------------------------------  % Date: Mon, 22 Apr 2002 16:21:29 +0200 9 From: Jan-Erik =?iso-8859-1?Q?S=F6derholm?= <aaa@aaa.com>l Subject: Re: Cache Performance' Message-ID: <3CC41C69.94913DF2@aaa.com>1  6 What is "cache performance" ? How do yo messure that ? Just hit rate ?l) What is the "native product" ? The VIOC ?g What is VCC_MAXSIZE set to ?+ Maybe the new cache in 7.3 would be better. ' Any cache in the disk subsystem (HS*) ?e   Jan-Erik Sderholm."   Bill Clark wrote:t >  > greetingssM >     have been troubled by cache performance, and have tried two third-partyIB >     replacements. 1 - RAXCO Cacher was very fast but caused some > applicationsK >     to 'cease',  2 - IOXpress was not appreciably faster than the OPENVmsS > native >     product. > K >     any general opinions or suggestions on improving cache performance ontK >     an Alpha 4100 server, OpenvVMS 7.1-2, 2.5 G memory, running 'routine'hH >     data-processing applications (nothing fancy, no orbital mechanics, > graphics, etc).t >  >     thanks >  > bclark@lrgh.org    ------------------------------  # Date: Mon, 22 Apr 2002 14:14:20 GMT $ From: "Bill Clark" <bclark@lrgh.org> Subject: Cache PerformanceB Message-ID: <0VUw8.151859$K5.12832746@bin5.nnrp.aus1.giganews.com>  	 greetingsaK     have been troubled by cache performance, and have tried two third-partyI@     replacements. 1 - RAXCO Cacher was very fast but caused some applicationsI     to 'cease',  2 - IOXpress was not appreciably faster than the OPENVmsh native     product.  I     any general opinions or suggestions on improving cache performance on<I     an Alpha 4100 server, OpenvVMS 7.1-2, 2.5 G memory, running 'routine'vF     data-processing applications (nothing fancy, no orbital mechanics, graphics, etc).I  
     thanks   bclark@lrgh.orgc   ------------------------------  + Date: Mon, 22 Apr 2002 19:18:53 +0100 (MET)d9 From: Phillip Helbig <HELBPHI@sysdev.deutsche-boerse.com>e Subject: Re: cluster; Message-ID: <01KGVIOB25F68ZF8CR@sysdev.deutsche-boerse.com>a  G > Next you have some control over what kind of disks you want to share,tJ > system disk or not etc (try MC SYSGEN HELP SYS_PARA MSCP_LOAD) if you'reJ > on V7.3 or later. Before that you could turn serving disks (tapes) on or > off with (T)MSCP_SERVE_ALL.   G The output of MC SYSGEN HELP SYS_PARA MSCP_LOAD is the same on 7.3 and r- 7.2-1H1.  Has any functionality changed here?l   ------------------------------  # Date: Mon, 22 Apr 2002 09:02:28 GMT.$ From: TigerShark62 <reply@group.com>> Subject: Re: Correct Syntax for htpasswd.exe_alpha w/CSWS 1.2?8 Message-ID: <npj7cugl94ndb5nt36hg7rvshjpbbvji9r@4ax.com>  C On Sun, 21 Apr 2002 23:50:58 +0200, Dirk Munk <munk@home.nl> wrote:   : I tried "/-n" (w/o quotes), which seemed to be recognized.  . The following is some output from the command:   $ run htpasswd.exe_alpha Usage:/         htpasswd [-cmdps] passwordfile username 9         htpasswd -b[cmdps] passwordfile username passworda  "         htpasswd -n[mdps] username,         htpasswd -nb[mdps] username password  -c  Create a new file.h2  -n  Don't update file; display results on stdout.*  -m  Force MD5 encryption of the password.6  -d  Force CRYPT encryption of the password (default).-  -p  Do not encrypt the password (plaintext). *  -s  Force SHA encryption of the password.E  -b  Use the password from the command line rather than prompting forR it.aE On Windows, TPF and NetWare systems the '-m' flag is used by default.o; On all other systems, the '-p' flag will probably not work. ( %NONAME-E-NOMSG, Message number 00000002   $ run htpasswd.exe_alpha -n>@ %DCL-W-MAXPARM, too many parameters - reenter command with fewer
 parameters   $ run htpasswd.exe_alpha /-nA %DCL-W-NOKEYW, qualifier name is missing - append the name to them slashe  % $ run htpasswd.exe_alpha /-n passwordeA %DCL-W-NOKEYW, qualifier name is missing - append the name to thee slashO  E I tried to find source code for this program, but I was unsuccessful;s& I was hoping I would get some clues...  F >I am not familiar with htpasswd, but did you try "-n" instead of -n ? >d >TigerShark62 wrote: >r4 >>Does any one know the correct syntax for htpasswd? >>   ------------------------------  % Date: Mon, 22 Apr 2002 11:05:02 +0200V9 From: Jan-Erik =?iso-8859-1?Q?S=F6derholm?= <aaa@aaa.com>B> Subject: Re: Correct Syntax for htpasswd.exe_alpha w/CSWS 1.2?' Message-ID: <3CC3D23E.1C60A8DE@aaa.com>e  = You can *not* "run" an image and pass parametars in that way.u   Do like this :  ( Either manualy or in your LOGIN.COM do :  , $ htpasswd  :== $dev:[dir]htpasswd.exe_alpha  2 where dev and dir is where you have put the image.   Then, to run it, do :.  3 $ htpasswd <whatever switches you'd like to use...>e   Jan-Erik Sderholm.    ------------------------------    Date: 22 Apr 2002 10:50:26 -0700, From: bubbapig@hotmail.com (Jeffrey Cameron) Subject: creat function hanging = Message-ID: <b22333b7.0204220950.3b923913@posting.google.com>6  ! I have a rather bizarre problem. c  E I am writing a program which will read and write out certain files of ? aformat used by an internally designed program. I have recentlyMF re-written these in C++. To perform the I/O on the files I have to useF the creat() function to open the file descriptors with the appropriate RMS parameters.   B My problem is this. For certain files (and no rhyme or reason) theC program hangs (and enters an infinite loop by all inidications from-E the show process command) and will not go beyond the execution of the1C creat() function. I know this because I have placed cout statementsj? before and after it and only the ones immediately before it arec	 executed.a  F Has anyone else encountered this problem and found a solution? Is this a bug of some type?I   Thanks in advancen Jeff Cameron   ------------------------------  % Date: Mon, 22 Apr 2002 11:09:48 -0400v  From: "Dave" <nospam@nospam.com>) Subject: Re: DEC 3000/400 VMS 6.2 problemu/ Message-ID: <uc89u15v6tuj29@corp.supernews.com>l   Arne, and Robert,i  I Thanks for the heads up.  I though this might be a problem.  I was hopingeK otherwise though.  I've got a couple of machines to test on.  To be honest, F I've got the one machine I've got running, and three others for parts.  L As for the newer SROM, I'll have a hard time justifying "not expensive" evenG if it's as little as $10.  So far, this project has cost me nothing butiI time, and a few favors.  I"m shooting for totally free, or even showing aiI profit, if I can find buyers for some PMAG-D, and PMAG-F  video adaptors.i  
 Thanks again.u   -- DaveC "The day after tomorrow is the third day of the rest of your life."r    ? "Robert Deininger" <rdeininger@mindspring.com> wrote in message E news:rdeininger-1904020817420001@1cust237.tnt1.nashua.nh.da.uu.net...@6 : In article <3CBF73E7.9030109@dnv.com>, Arne Bergseth  : <Arne.Bergseth@dnv.com> wrote: : J : >Seems your machine is running happily now, but from the information youG : >gave, there may be a possible problem if you are going to update thec : >firmware. : >----w : >i : >>: >eK : >>: >I don't know what other information is needed, but here's what know:D) : >>: >    133 MHz, 128MB, PMAG-DA video. G : >>: >    CPU devstat = OK KN15-BA -V5.1-S749-I196-sV1.0-DECchip 21064: P3.0 : >>G : >The version number   sV1.0  indicates that your machine has not been.I : upgraded to accept firmware updates after 1995. On this newsgroup thereeK : was a message on 12 Jul 95 from dshort@nova.wright.edu reporting problemsa/ : with firmware update on a machine like yours:x : E : Um, this info is a little out of date.  Let me (hopefully) clarify.l :oD : CPU devstat = OK KN15-BA -V5.1-S749-I196-sV1.0-DECchip 21064  P3.0 :LL : The "V5.1" in this string is the firmware revision.  5.1 is very old.  7.0L : is current.  Firmware is contained in flash ROMs, and can be updated using  : the kits available on the web. :nJ : The "sV1.0" is the revision level of the serial ROM (SROM).  The SROM isF : not flashable.  It is a progammed part that's installed in a socket.J : sV1.0 is the "old" SROM.  I just opened up my 3000-400 and checked.  The : label on my SROM is "309E7"< :nJ : >"If you're upgrading the firmware of a DEC3000/400 with the update diskE : labeled may1995 ( or after ) check the rev #'s on your system PROM.t> : >The relevant PROM is on the system board, the bottom board.K : >It is near the front right of the board, below where the CD player is onwK : my units. If the PROM is at rev 309E7, do not upgrade your firmware!  TheX! : PROM needs to be at rev 333E7."  : >----aJ : >The part number is 23-333E7-00 and I got one from Compaq Service not so% : long ago, and it was not expensive.  : I : I have successfully upgraded my system from firmware V6.4 to V7.0 using H : this "old" SROM.  Since it certainly didn't ship from the factory with9 : V6.4, someone before me upgraded from Vancient to V6.4.c :sG : There was a bug in the sV1.0 SROM code, which caused certain firmwareoK : updates to scramble the flash ROMs and render the system unuseable.  As I I : understand it, later firmware updates work around the SROM bug, so theye, : can be used safely even with the old SROM. :sL : I've seen references to the SROM bug from old firmware release notes, withE : a warning not to upgrade firmware with the old SROM installed.  ThetJ : warning is NOT in the latest firmware release notes.  (Of course, anyone7 : doing the update WILL read the release notes, right?)s :OJ : Since the DEC 3000 systems don't have the floppy-based fail-safe loader,L : scrambling the flash ROMs leaves the system dead.  (The existing code fromH : the flash ROMs is needed to update the ROMs to a later revision.)  I'mK : pretty sure the flash ROMs can be repaired via the mini-console, but I'vehK : never found the documentation for the mini-console commands, or the specs L : for the mini-console serial port.  If anyone knows this stuff, I'd like to : hear from them.i : 
 :   -- Robert    ------------------------------  + Date: Mon, 22 Apr 2002 08:28:30 +0000 (UTC) 9 From: Roar =?iso-8859-1?Q?Thron=E6s?= <roart@nvg.ntnu.no>eN Subject: Re: Emacs and other Unix applications on VMS, was: Re: VMS versus IBM- Message-ID: <aa0hje$b8r$1@tyfon.itea.ntnu.no>m  * Fred Kleinsorge <nospam@please.com> wrote:  I : "Simon Clubley" <clubley@remove_me.eisner.decus.org-Earth.UFP> wrote ins7 : message news:Te0BkHtIol32@eisner.encompasserve.org...i6 :> In article <3CBE9006.23E2A56D@127.0.0.1>, Nic Clews" : <sendspamhere@127.0.0.1> writes: :>E :> What I am curious about is when will the level of compatibility betI :> sufficient for me to take the latest GNU Emacs kit (or another popularaH :> Unix application, but Emacs is the one I'm mainly interested in), and :> build it as is on VMS ?  L : The goal is the provide the interfaces and tools to make porting a typicalL : UNIX application no different than going between UNIX systems.  I say thatJ : with a half-smiley - since of course, that can be easier said than done.M : But take that to mean "user apps" rather than, say, system code - or a fileu	 : system.B  M : The plan is to provide things in a staged manner over the next few releasesoN : (couple years).  Think UNIX98 compliance, and full Posix compliant shell andJ : applications.  Fork and UNIX file IO are biggies, and will probably takeK : nearly the longest to complete.  Part of the reason it will take a couple G : releases is - 1) we want to get things out as soon as we can, without L : waiting for everything to be done and 2) we also have a couple other major : efforts underway ;-)   A fully working select, too?  = What kind of timeframes and milestones are you talking about?h  < You have looked at the emacs21 sources and it's VMS patches?   --  
 -Roar Thronsi   ------------------------------   Date: 22 Apr 2002 08:22:44 GMT' From: huw.davies@kerberos.davies.net.aut6 Subject: Re: getting SIMH 2.9-6/VAX + VMS configured ?O Message-ID: <E1F73441CC409FD2.D7B3B18795A42B54.50D65134C752B46F@lp.airnews.net>i  T I'm running SIMH 2.9-6/VAX on my Alpha PWS500a running Linux. I'm running RedHat 7.1. with a custom built kernel version 2.4.13-ac8.  Z I didn't seem to have a 7.2 OpenVMS/VAX distribution CD at home, the only one I could findK was 7.3. I used the following configuration file to attempt to install 7.3:       set cpu 64M#    load -r /root/simh/VAX/ka655.bing    set rq0 ra82n&    at rq0 /library/simh/VAX/vaxsys.dsk    set rq1 cdrom    at rq1 /dev/dvd   then      show conf   give      CPU, 65536KB6    TLB, 2 unitsn      TLB0, 8KW      TLB1, 8KW
    ROM, 128KBn    NVR, 1KB.    SYSD, 2 units
      SYSD0
      SYSD1    QBA    TTI    TTO    CSI    CSO, not attached    CLK/    PTR, address=20001F68-20001F6F, not attachedm/    PTP, address=20001F68-20001F6F, not attachedt/    LPT, address=20001F4C-20001F4F, not attacheda)    RQ, address=20001468-2000146B, 4 units Q      RQ0, 622932KB, attached to /library/simh/VAX/vaxsys.dsk, write enabled, RA82tE      RQ1, 681574KB, attached to /dev/dvd, read only, read only, RRD40.5      RQ2, 159334KB, not attached, write enabled, RD54R2      RQ3, 409KB, not attached, write enabled, RX50)    RL, address=20001900-20001909, 4 units.7      RL0, 2621KW, not attached, write enabled, autosizen7      RL1, 2621KW, not attached, write enabled, autosize-7      RL2, 2621KW, not attached, write enabled, autosize57      RL3, 2621KW, not attached, write enabled, autosizem=    TS, address=20001550-20001553, not attached, write enablede8    DZ, address=20000040-2000005F, lines=32, not attached      boot CPU+   givest      KA655-B V5.3, VMB 2.7"    Performing normal system tests.C    40..39..38..37..36..35..34..33..32..31..30..29..28..27..26..25..tC    24..23..22..21..20..19..18..17..16..15..14..13..12..11..10..09..     08..07..06..05..04..03..r    Tests completed.l   a quick sanity check      >>>show dev#    UQSSP Disk Controller 0 (772150)2    -DUA0 (RA82)f    -DUA1 (RRD40)    -DUA2 (RD54)     -DUA3 (RX50)d      RLV12 Controller 0 (774400)    -DLA0 (RL01)     -DLA1 (RL01)r    -DLA2 (RL01)     -DLA3 (RL01)l  D Now let's try booting off the CD (in the DVD drive). The CD spins up (it must do to read VMB)      >>>boot dua1e    (BOOT/R5:0 DUA1)e            2..    -DUA1      1..0..m    ; I worry about the failure to map the dump and pagefiles....6  @    %SYSBOOT-I-SYSBOOT Mapping the SYSDUMP.DMP on the System Disk@    %SYSBOOT-W-SYSBOOT Can not map SYSDUMP.DMP on the System DiskA    %SYSBOOT-W-SYSBOOT Can not map PAGEFILE.SYS on the System Diskl  O At this point, the simulator loops. Just in case it was slow, I left it running , all night but it was still at the same spot!  < As a quick sanity check I've installed netBSD without issue.  Q I guess the questions is, Has anyone got 7.3 to boot? I will pick up a 7.2CD fromkF work tomorrow to test this out. I would have thought 7.3 should work, / after all, it's supported according to the SPD!e -- a? Huw Davies          | e-mail: Huw.Davies@kerberos.davies.net.aud=                     | "If God had wanted soccer played in thel;                     | air, the sky would be painted green"     ------------------------------  + Date: Mon, 22 Apr 2002 13:46:07 +0000 (UTC) * From: bdwheele@indiana.edu (Brian Wheeler)6 Subject: Re: getting SIMH 2.9-6/VAX + VMS configured ?2 Message-ID: <aa146v$rd1$2@wilson.uits.indiana.edu>  O In article <E1F73441CC409FD2.D7B3B18795A42B54.50D65134C752B46F@lp.airnews.net>, * 	huw.davies@kerberos.davies.net.au writes:V > I'm running SIMH 2.9-6/VAX on my Alpha PWS500a running Linux. I'm running RedHat 7.10 > with a custom built kernel version 2.4.13-ac8. > \ > I didn't seem to have a 7.2 OpenVMS/VAX distribution CD at home, the only one I could findM > was 7.3. I used the following configuration file to attempt to install 7.3:  >  >    set cpu 64M% >    load -r /root/simh/VAX/ka655.binO >    set rq0 ra82n( >    at rq0 /library/simh/VAX/vaxsys.dsk >    set rq1 cdrom >    at rq1 /dev/dvd >  > then >  >    show conf >  > give >  >    CPU, 65536KBn >    TLB, 2 unitsR >      TLB0, 8KW >      TLB1, 8KW >    ROM, 128KBR
 >    NVR, 1KB  >    SYSD, 2 units >      SYSD0 >      SYSD1 >    QBA >    TTI >    TTO >    CSI >    CSO, not attached >    CLK1 >    PTR, address=20001F68-20001F6F, not attached-1 >    PTP, address=20001F68-20001F6F, not attachedr1 >    LPT, address=20001F4C-20001F4F, not attachedc+ >    RQ, address=20001468-2000146B, 4 units-S >      RQ0, 622932KB, attached to /library/simh/VAX/vaxsys.dsk, write enabled, RA82hG >      RQ1, 681574KB, attached to /dev/dvd, read only, read only, RRD40i7 >      RQ2, 159334KB, not attached, write enabled, RD54b4 >      RQ3, 409KB, not attached, write enabled, RX50+ >    RL, address=20001900-20001909, 4 units 9 >      RL0, 2621KW, not attached, write enabled, autosizea9 >      RL1, 2621KW, not attached, write enabled, autosize 9 >      RL2, 2621KW, not attached, write enabled, autosizes9 >      RL3, 2621KW, not attached, write enabled, autosizer? >    TS, address=20001550-20001553, not attached, write enableda: >    DZ, address=20000040-2000005F, lines=32, not attached > 
 >    boot CPU0 >  > givesn >  >    KA655-B V5.3, VMB 2.7$ >    Performing normal system tests.E >    40..39..38..37..36..35..34..33..32..31..30..29..28..27..26..25.. E >    24..23..22..21..20..19..18..17..16..15..14..13..12..11..10..09..- >    08..07..06..05..04..03..4 >    Tests completed.l >  > a quick sanity check >  >   >>>show deve% >    UQSSP Disk Controller 0 (772150)@ >    -DUA0 (RA82)n >    -DUA1 (RRD40) >    -DUA2 (RD54)r >    -DUA3 (RX50)f >   >    RLV12 Controller 0 (774400) >    -DLA0 (RL01)s >    -DLA1 (RL01)w >    -DLA2 (RL01)u >    -DLA3 (RL01)o > F > Now let's try booting off the CD (in the DVD drive). The CD spins up > (it must do to read VMB) >  >   >>>boot dua1 >    (BOOT/R5:0 DUA1)p >  >  > 
 >      2..
 >    -DUA1
 >      1..0..v >  > = > I worry about the failure to map the dump and pagefiles....n  F That's normal:  the CD is the System disk, and you can't page to it :)   > B >    %SYSBOOT-I-SYSBOOT Mapping the SYSDUMP.DMP on the System DiskB >    %SYSBOOT-W-SYSBOOT Can not map SYSDUMP.DMP on the System DiskC >    %SYSBOOT-W-SYSBOOT Can not map PAGEFILE.SYS on the System DiskK > Q > At this point, the simulator loops. Just in case it was slow, I left it runningk. > all night but it was still at the same spot! > > > As a quick sanity check I've installed netBSD without issue. > S > I guess the questions is, Has anyone got 7.3 to boot? I will pick up a 7.2CD fromSH > work tomorrow to test this out. I would have thought 7.3 should work, 1 > after all, it's supported according to the SPD!e  2 7.2 works ok for me...I don't have 7.3 to try out.   Brian    ------------------------------  % Date: Mon, 22 Apr 2002 11:38:07 -0400e# From: "Tom Cole" <tom.cole@sas.com>W6 Subject: Re: getting SIMH 2.9-6/VAX + VMS configured ?/ Message-ID: <aa1aov$l5p$1@license1.unx.sas.com>i  I Confusion... I am trying this on a Mac OS X system as well.  The build of H simh seemed to go pretty smoothly (only changed the Makefile to use "cc"G rather than "gcc").  However, attempting to run the VAX simulator isn'tm going so well.  : Following variations on the configuration files suggested,  I *  With a dd of a CD image, I get a "file system error" after the consolee booter hits "2..1.."    and a HALT instruction.  L *  Using a disk image from CHARON-VAX, I get "2..1..0..." and then a HALT at PC=00001401.  J Realizing this is skimpy info, any suggestions on how to further debug theI problem?  I have read previously in this (or similar) thread that anotheraJ Mac OS X user had gotten dd to create a valid disk image of the CD for useJ as an RRD40 drive on RQ1/DUA1... did you do anything special for blocking, etc., or just a straight dd?  I How would I identify if I have a usable CDROM... I have the "VAX HobbyistXJ CD" from Montagar circa 1999 that appears to be a bootable disc when I put in in an AXP box...n   -- Tom Cole, tom.cole@sas.com   ------------------------------  % Date: Mon, 22 Apr 2002 17:09:15 +0100pT From: Andrew Harrison SUNUK Consultancy <andrew_nospam.remove_this.harrison@sun.com>6 Subject: Re: I was right!  Alpha will live in Itanium!& Message-ID: <3CC435AB.5030803@sun.com>   Main, Kerry wrote:   > Bill,i >  > C >>>>I rather suspect Andrew was looking for something that actuallyr >>>>H > entailed a head-to-head comparison between GS systems and high-end SunE > systems - you know, one with actual performance *numbers* one coulda > compare.<< > F > Well, Andrew likes to stress real world stuff and asked for examplesG > where Alpha is used for commercial type workloads and that's what the  > links provided.  > G > While performance numbers are important for some Customers, there are G > also lots around that want to know "who else is using this solution?"  >     9 So what number would you ascribe to "Quantum Leap Faster"i8 1.5x 2x 3x 100x I don't know and neither do you. Its not$ even worth while marketing material.   Regards- Andrew Harrison      > Regards,   >  > Kerry Main > Senior Consultantc > Compaq Canada Corp.u > Professional Servicesg > Voice: 613-592-46603 > Fax  :  819-772-7036 > Email: Kerry.Main@Compaq.com >  >  > -----Original Message-----2 > From: Bill Todd [mailto:billtodd@metrocast.net]  > Sent: April 20, 2002 7:15 PM > To: Info-VAX@Mvb.Saic.Com 7 > Subject: Re: I was right! Alpha will live in Itanium!/ >  >  > 8 > "Main, Kerry" <Kerry.Main@Compaq.com> wrote in messageJ > news:BE56C50EA024184DAF48F0B9A47F5CF401AB1E98@kaoexc01.americas.cpqcorp. > net. > . 	 > Andrew,m >  > @ >>>>If you can come up with examples of where large Alpha server >>>>I > performance is better for commercial type workloads (Alpha Servers mainhF > market) then please do so. By Commercial type workloads I mean OLTP,: > DSS, Apps Servers etc. By large I mean 8 CPU's or above.> > GS80/GS160/GS320 or go back to GS140/8400 if you have to.<<< >  > If not put up or shut up.<<< >  > Ok, how about these ?d >  > 1 > < Alpha 'success story' style verbiage snipped>a > J > I rather suspect Andrew was looking for something that actually entailedI > a head-to-head comparison between GS systems and high-end Sun systems -eD > you know, one with actual performance *numbers* one could compare. >  > - bill >  >  >  >    ------------------------------  % Date: Mon, 22 Apr 2002 17:28:44 +0100bT From: Andrew Harrison SUNUK Consultancy <andrew_nospam.remove_this.harrison@sun.com>6 Subject: Re: I was right!  Alpha will live in Itanium!& Message-ID: <3CC43A3C.6050105@sun.com>   jlsue wrote:  G > On Mon, 15 Apr 2002 18:13:56 +0100, Andrew Harrison SUNUK Consultancyn5 > <andrew_nospam.remove_this.harrison@sun.com> wrote:n >  > = >>If you seriously think that resorting to ad-hominem attacksa: >>when you have lost the argument is "wacking" me then you9 >>have been doing a bit to much overtime and need to restg! >>in a dark quiet room for a bit.  >> > * > Oh Ho!  Even more pot and kettle awards.0 > You're racking them in pretty quick this year.    0 If you have something usefull to say then say it otherwise don't bother.   . Perhaps you time would be better spent helping. Kerry with his trawl to find benchmark results/ or even one benchmark result that supports your.8 AlphaServers provide "Industry Leading High Performance"	 tag line.n  1 And while you are at it trawl through deja/googlez2 and pull out those references to threads where you. claim to have "wacked" me technically. I asked- you for them over a week ago where are they ?c  # As I keep saying put up or shut up.    Regards  Andrew Harrisonp   ------------------------------  % Date: Mon, 22 Apr 2002 17:06:24 +0100oT From: Andrew Harrison SUNUK Consultancy <andrew_nospam.remove_this.harrison@sun.com>6 Subject: Re: I was right!  Alpha will live in Itanium!& Message-ID: <3CC43500.2070306@sun.com>   Main, Kerry wrote:  	 > Andrew,6 >  > @ >>>>If you can come up with examples of where large Alpha server >>>>I > performance is better for commercial type workloads (Alpha Servers main F > market) then please do so. By Commercial type workloads I mean OLTP,: > DSS, Apps Servers etc. By large I mean 8 CPU's or above.> > GS80/GS160/GS320 or go back to GS140/8400 if you have to.<<< >  > If not put up or shut up.<<< >  > Ok, how about these ?p >     A Published available benchmark results using standard bencmarks ??y  D None of these qualify. What is a "quantum leap faster". Quantum leapA was is a TV show but Quantum Leap Faster has no meaning outside a ? marketing brochure and precious little in one. What was Jupiter  running on ?  > Come up with some publically verifiable number where you have.  ? Benchmark, vendor, system, result where there are other vendors 1 except Compaq and other OS's appart from OpenVMS.   G  From the second reference it would appear that Jupiter was origionally C running on a older slower OpenVMS box so your wonderfull example isr= simply a customer benchmark which show that the newer OpenVMSS# servers are faster than older ones.f  < Come up with something that shows how fast the GS series are; when compared with Sun, HP or IBM and not results that showe6 how fast they are compared with older OpenVMS servers.  A And no I would not like more I would however like something whichi you havn't produced yet.  $ As I said earlier put up or shut up.   Regardsa Andrew Harrisone    J > http://www.openvms.compaq.com/openvms/brochures/Bank-Austria/ (GS Series > and VMS V7.3 testimonial) H > "Production system: Compaq AlphaServerTM GS160 system with 16 CPUs andH > 32 gigabytes of memory and AlphaServer GS140 system with 12 CPUs and 8= > gigabytes of memory as local standby running in a clustered0 > configuration  > H > Test system: AlphaServer GS160 system with 16 CPUs and 64 gigabytes ofF > memory plus AlphaServer GS160 system with 8 CPUs and 32 gigabytes of > memory > 9 > Software: Compaq OpenVMS operating system, version 7.3"n > : > http://www.openvms.compaq.com/openvms/brochures/kscl-gs/F > "Using Compaq's latest technology, KSCL has demonstrated performanceG > that is a quantum leap faster than the previous performance level forfC > Jupiter. This technology combines the bandwidth offered by CompaqaI > StorageWorks Fibre Channel technology, the increased CPU performance of=G > Alpha CPU EV67, the high-end Compaq AlphaServer GS160 system, and newsH > functionality of OpenVMS version 7.2-1H1. As a result, KSCL claims theD > lead in scalable telecom billing systems, and is able to offer itsF > customers scalability options that previously only mainframe vendors > could provide."i > 9 > http://www.compaq.com/alphaserver/gs/quotes/etrade.html7 > = > http://www.compaq.com/alphaserver/gs/quotes/se_freight.html  >  > Would you like more ?l >  > :-)  >  > Kerry Main > Senior Consultant  > Compaq Canada Corp.N > Professional Serviceso > Voice: 613-592-4660t > Fax  :  819-772-7036 > Email: Kerry.Main@Compaq.com >  >  > -----Original Message-----) > From: Andrew Harrison SUNUK Consultancys6 > [mailto:andrew_nospam.remove_this.harrison@sun.com]  > Sent: April 18, 2002 8:29 AM > To: Info-VAX@Mvb.Saic.Coml7 > Subject: Re: I was right! Alpha will live in Itanium!d >  >  >  >  > Bob Ceculski wrote:s >  > $ >>Andrew Harrison SUNUK Consultancy @ >><andrew_nospam.remove_this.harrison@sun.com> wrote in message $ >>news:<3CBBE7BC.6080404@sun.com>... >> >> >>>Bill Todd wrote:n >>>n >>>l >>>x? >>>>"JF Mezei" <jfmezei.spamnot@videotron.ca> wrote in message b* >>>>news:3CBB15E6.3F7B6799@videotron.ca... >>>> >>>> >>>>- >>>>>Andrew Harrison SUNUK Consultancy wrote:  >>>>>s >>>>>  >>>>>a; >>>>>>I have repeatedly given examples of how the GS seriesoA >>>>>>are not competitive based on Compaqs own public, published  & >>>>>>benchmark results for the boxes. >>>>>> >>>>>> >>>>>>G >>>>>Andrew, did Sun ever fix the problem with its memory going bezerk  C >>>>>under certain circumstances (aka: all those ebay problems for   >>>>>instance) ? >>>>>- >>>>>  >>>>> I >>>>Yes, IIRC they did - by disabling the cache in the affected series of: >>>> > E >>>>products, and by recently issuing a new series without the cache 3 >>>>problem. >>>> >>>> >>>>F >>>Sort of the ecache fix didn't involve disabling it instead we have 7 >>>introduced a new module which has a mirrored ecache.l >>>iE >>>Turning the L2 cache off on a Ultra II would have had dissaterous C >>>effects on performance. >>>i
 >>>Regards >>>Andrew Harrison >>>f >>>t >>>iG >>I don't think it would have mattered Andrew ... performance was poor A >>to begin with ...r >> >> >  > J > If you can come up with examples of where large Alpha server performanceJ > is better for commercial type workloads (Alpha Servers main market) thenD > please do so. By Commercial type workloads I mean OLTP, DSS, Apps G > Servers etc. By large I mean 8 CPU's or above. GS80/GS160/GS320 or goh$ > back to GS140/8400 if you have to. >  > If not put up or shut up.d > 	 > Regards2 > Andrew Harrisone >  >  >  >    ------------------------------  % Date: Mon, 22 Apr 2002 17:40:32 +0100nT From: Andrew Harrison SUNUK Consultancy <andrew_nospam.remove_this.harrison@sun.com>6 Subject: Re: I was right!  Alpha will live in Itanium!& Message-ID: <3CC43D00.2020708@sun.com>   Keith Parris wrote:b   > Andrew Harrison SUNUK Consultancy <andrew_nospam.remove_this.harrison@sun.com> wrote in message news:<3CBEBC0A.9000709@sun.com>... > J >>If you can come up with examples of where large Alpha server performanceJ >>is better for commercial type workloads (Alpha Servers main market) thenD >>please do so. By Commercial type workloads I mean OLTP, DSS, Apps D >>Servers etc. By large I mean 8 CPU's or above. GS80/GS160/GS320 or' >>go back to GS140/8400 if you have to.P >> > F > E*Trade is a good example -- GS160s (plus lots of GS-140s, thanks to; > good investment protection), doing heavy commercial OLTP.2 > H > As of a year ago, their Sun UE10K systems were so unreliable they wereE > trying to force Sun to take them all back in a 3-for-1 exchange fork > 4000-series boxes. > G > Alpha is so fast a lot of folks can get by with an ES40 or ES45 whereUH > they'd need an 8-CPU or larger Sun box.  GS-series boxes are needed ifC > folks need more I/O than the 10 PCI slots on an ES4x can provide.e0 > ----------------------------------------------0 > Keith Parris | parris at encompasserve dot org >     2 Provide actual numbers at the moment your response9 is reminiscant of one of Kerrys which you mush appreciaten is not a good thing.     RegardsY Andrew Harrison    ------------------------------  % Date: Mon, 22 Apr 2002 17:11:28 +0100MT From: Andrew Harrison SUNUK Consultancy <andrew_nospam.remove_this.harrison@sun.com>6 Subject: Re: I was right!  Alpha will live in Itanium!& Message-ID: <3CC43630.9050007@sun.com>   Main, Kerry wrote:  	 > Andrew,! >  > F >>>>Sort of the ecache fix didn't involve disabling it instead we have >>>>8 > introduced a new module which has a mirrored ecache.<< > B > Its good to hear that the ecc cache issue was finally resolved.  > E > Just curious, is this new module available for free to all existing ( > UE10K Customers that have the problem? >     	 Its free.   = Will you be charging for Marvel or giving it to the customers = who found that the WildFires didn't meet the performance hype- you generated ??  ; Mind you are pretty safe if you stick to using Quantum Leape
 as a measure.(   Regardse Andrew Harrisong       > Thx, >  > Kerry Main > Senior Consultant  > Compaq Canada Corp.t > Professional Servicesc > Voice: 613-592-4660B > Fax  :  819-772-7036 > Email: Kerry.Main@Compaq.com >  >  > -----Original Message-----) > From: Andrew Harrison SUNUK ConsultancyS6 > [mailto:andrew_nospam.remove_this.harrison@sun.com]  > Sent: April 16, 2002 4:59 AM > To: Info-VAX@Mvb.Saic.Comh7 > Subject: Re: I was right! Alpha will live in Itanium!n >  >  >  >  > Bill Todd wrote: >  > = >>"JF Mezei" <jfmezei.spamnot@videotron.ca> wrote in message t( >>news:3CBB15E6.3F7B6799@videotron.ca... >> >>+ >>>Andrew Harrison SUNUK Consultancy wrote:/ >>>a >>>d9 >>>>I have repeatedly given examples of how the GS series I >>>>are not competitive based on Compaqs own public, published benchmark   >>>>results for the boxes. >>>> >>>>E >>>Andrew, did Sun ever fix the problem with its memory going bezerk SA >>>under certain circumstances (aka: all those ebay problems for   >>>instance) ? >>>d >>>=H >>Yes, IIRC they did - by disabling the cache in the affected series of C >>products, and by recently issuing a new series without the cache R
 >>problem. >> >> >  > D > Sort of the ecache fix didn't involve disabling it instead we have6 > introduced a new module which has a mirrored ecache. > C > Turning the L2 cache off on a Ultra II would have had dissateroust > effects on performance.b > 	 > Regards0 > Andrew Harrisonw >  >  >  >> If so, is >> >>< >>>it still fair to say that Sun has very bad memory today ? >>>r >>>nC >>It would be if they were criticizing others for the same type of t/ >>problem, but AFAICT that's not the case here.n >> >> >>F >>>In the same vein, has Digital fixed some of the initial performance >>>d >>>2
 >>problems >> >> >>>in the wildfires ?e >>>  >>>,D >>Not to my knowledge:  I haven't seen any indication that Wildfire 0 >>memory access latencies have improved, anyway. >>9 >> If so, is it still fair to say that they don't perform. >> >>A >>>properly today ? And when you consider the upcoming EV7 based .A >>>wildfires (marvel), will the new wildfires really perform ????. >>>  >>>sF >>They won't be Wildfires, but Marvels.  And while they well may blow G >>everyone's socks off, they aren't yet available nor do they have any  > >>real bearing on the comments being made about the GS series. >> >> >>I >>>It is very easy to use older statistics to show a competitor is weak. L >>>But >>>o >>>' >>it >> >>H >>>will come back to hurt you because when the customer checks and gets H >>>the updated statistics from the other vendor, he will see through to 	 >>>tactic  >>>1 >>>v >>and  >> >>* >>>that gives you negative brownie points. >>>e >>>nF >>You appear to be confusing currently-available products with future D >>ones (Rob has this problem as well).  While I suspect Marvel will H >>indeed turn out to be everything that Wildfire was not, using Wildfire >> > F >>statistics is not 'using older statatistics' yet:  they're the most # >>up-to-date information available.t >> >> >>G >>>You can hammer Digital/Compaq/HP all you want about VMS's costs and o >>>lack  >>>q >>>s >>of >> >>I >>>marketing and lack of visible future. That is plenty to steer clear ofo >>>t > I >>>Digital/Compaq/HP/whatever. But on a performance basis, are you ready   >>>toa >>>o >>>7 >>state  >> >>C >>>that a bunch of separate Sun boxes, connected by wathever, will r
 >>>outperforma >>>3 >>>r >>a. >> >>, >>>wildfire with same number of processors ? >>>2 >>> @ >>Why do you want to compare a bunch of Sun boxes with a single A >>Wildfire? IIRC Sun sells single boxes with more than twice the o+ >>processors a single Wildfire can contain.. >>G >>A single Sun E10K box (with its cache turned off) may well not match oC >>the performance of a Wildfire with the same number of processors aH >>(though it might if the cache could be used, and some lesser Sun boxes >> > G >>that don't have the same cache problem might too).  My impression is dE >>that a single Sun E15K box may well outperform a Wildfire with the hG >>same number of processors, but it would be interesting to see actual A
 >>numbers. >> >>- bill >> >> >> >> >  >    ------------------------------  + Date: Mon, 22 Apr 2002 12:27:31 +0000 (UTC)b/ From: Sander Vesik <sander@haldjas.folklore.ee>( Subject: Re: Itanium troublesa3 Message-ID: <1019478447.483887@haldjas.folklore.ee>i  = In comp.arch David J. Dachtera <djesys.nospam@fsi.net> wrote:d > Sander Vesik wrote:b >> n >> tH >> Having a clue about how FreeBSD and similar projects happen should beD >> compulsory, so nobody would ever say something as stupid as that. > D > Nice attitude - if you want to stay #2 or lower behind Bill Gates. >   M Why does every project have to have the aspirations of conquering everybodies1- machine, having no 1 marketshare or similar? c   -- e 	Sanderr   +++ Out of cheese error +++u   ------------------------------  # Date: Mon, 22 Apr 2002 14:17:49 GMTA$ From: lindahl@pbm.com (Greg Lindahl) Subject: Re: Itanium troublesa& Message-ID: <3cc41b79$1@news.meer.net>  3 In article <1019478447.483887@haldjas.folklore.ee>,o1 Sander Vesik  <sander@haldjas.folklore.ee> wrote:t> >In comp.arch David J. Dachtera <djesys.nospam@fsi.net> wrote: >> Sander Vesik wrote: >>>  >>> I >>> Having a clue about how FreeBSD and similar projects happen should beeE >>> compulsory, so nobody would ever say something as stupid as that.  >>  E >> Nice attitude - if you want to stay #2 or lower behind Bill Gates.  >> l >lN >Why does every project have to have the aspirations of conquering everybodies. >machine, having no 1 marketshare or similar?   @ Why does every thread have to be cross-posted to comp.os.vms and comp.sys.intel?e   greg   ------------------------------    Date: 22 Apr 2002 16:19:42 +02005 From: Holger Bettag <hobold@informatik.uni-bremen.de>f Subject: Re: Itanium troubles3: Message-ID: <8x1yd7yfwh.fsf@olof.informatik.uni-bremen.de>  2 skipper@no-spam.calweb.com (Skipper Smith) writes:   > 0 > Timothy A. Seufert <tas@mindspring.com> wrote: > K > Thanks for following up on this.  I had deleted this entire message chainh, > by accident and forgot about it until now. > C > >In article <3cb984f1$0$3934$b45e6eb0@senator-bedfellow.mit.edu>,A   [...]7  * > >> Solaris ran little-endian on the PPC. > > F > >Either it was designed for PPC motherboards which had the relevant G > >hardware support, or there was some significant ugliness exposed to o > >device driver authors.  > I > I don't recall Solaris running in LE mode.  Since it never shipped, thep > point is somewhat moot.   G An "early availability" version did indeed run on ca. 20 IBM boxes herevE at the university of Bremen. I think it ran in little endian mode; at H least I remember that the person who ported the Oberon System complainedE a lot about some instructions (I think it was multiword loads/stores) 5 not working, making the compiler port more difficult.n  E I even remember that Sun's compiler happily accepted flags concerningoI 'x86 code generation. So they seem to have ported their 'x86 version over-  to PPC, not their SPARC version.  J BTW, after the first two updates Solaris ran very nicely on those systems.     Holger   ------------------------------   Date: 22 Apr 2002 16:08:49 GMT& From: peter@abbnm.com (Peter da Silva) Subject: Re: Itanium troubles0- Message-ID: <aa1cih$899@web.eng.baileynm.com>a  3 In article <1019409828.438268@haldjas.folklore.ee>,o1 Sander Vesik  <sander@haldjas.folklore.ee> wrote:nG > AFAIK, nobody is making a productised "FreeBSD desktop" - so no, thism4 > just doesn't happen (yes, it is imho unfortunate).   Don't you think MacOS X counts?    -- r+  `-_-'   In hoc signo hack, Peter da Silva. E   'U`    "A well-rounded geek should be able to geek about anything."fL                                                        -- nicolai@esperi.org          Disclaimer: WWFD?   ------------------------------   Date: 22 Apr 2002 07:50:52 GMT( From: nmm1@cus.cam.ac.uk (Nick Maclaren)G Subject: Re: learning how to use a computer (was: Re: Itanium troubles)n0 Message-ID: <aa0fcs$hfa$1@pegasus.csx.cam.ac.uk>  , In article <a9vohh$jo@web.eng.baileynm.com>,' Peter da Silva <peter@abbnm.com> wrote:i1 >In article <a9r8vb$ril$1@pegasus.csx.cam.ac.uk>,a* >Nick Maclaren <nmm1@cus.cam.ac.uk> wrote:F >> No, that is the pre-Sterne viewpoint.  He used the layout to CONVEYI >> information, and got liberally flamed for it (in 18th century English,l >> of course). >mB >I don't see any conflict between what I wrote and this statement. >iK >Layout is part of the presentation, rather than content. Both presentation L >and content are used to convey information. I am aware that there are casesK >where presentation is as critical as content, and cases where presentationSM >can be used to provide multiple views of the content. That doesn't mean thatOL >you should force everyone to deal with presentation and content at the same! >time the way WYSIAYG systems do.y  C No, layout is often part of the CONTENT - change the layout of much 0 of what I write and you change what I am saying.  C I am not sure what you mean by WYSIAYG, but I think I know what you"D mean, and am in large agreement.  My point is that WYSIWYG is provenC to be a good idea, and one of the reasons is that it DOES allow thetD user to control both layout and material together.  I loathe editors4 that rejustify after I have 'signed off' a document.     Regards, Nick Maclaren,* University of Cambridge Computing Service,> New Museums Site, Pembroke Street, Cambridge CB2 3QH, England. Email:  nmm1@cam.ac.uk/ Tel.:  +44 1223 334761    Fax:  +44 1223 334679n   ------------------------------   Date: 22 Apr 2002 16:27:00 GMT& From: peter@abbnm.com (Peter da Silva)G Subject: Re: learning how to use a computer (was: Re: Itanium troubles) - Message-ID: <aa1dkk$9ls@web.eng.baileynm.com>   0 In article <aa0fcs$hfa$1@pegasus.csx.cam.ac.uk>,) Nick Maclaren <nmm1@cus.cam.ac.uk> wrote: E > No, layout is often part of the CONTENT - change the layout of much 2 > of what I write and you change what I am saying.  D I've seen a lot of what you write, and I haven't seen any indicationC that the kind of layout changes that we're talking about here wouldo change what you're saying.  E > I am not sure what you mean by WYSIAYG, but I think I know what youe" > mean, and am in large agreement.  G What You See Is All You Get. Microsoft Word, for example, where you caneF define text as "1 inch indent, 16 point Hevetica Bold" but not "inside a quoted passage".  $ > My point is that WYSIWYG is provenE > to be a good idea, and one of the reasons is that it DOES allow thepF > user to control both layout and material together.  I loathe editors6 > that rejustify after I have 'signed off' a document.  J So what happens if someone corrects something in the document that changesF the length of a line? Or if the document has to be distributed via the+ web, or to someone who's visually impaired?    -- g+  `-_-'   In hoc signo hack, Peter da Silva.dE   'U`    "A well-rounded geek should be able to geek about anything." L                                                        -- nicolai@esperi.org          Disclaimer: WWFD?   ------------------------------   Date: 22 Apr 2002 17:39:59 GMT( From: nmm1@cus.cam.ac.uk (Nick Maclaren)G Subject: Re: learning how to use a computer (was: Re: Itanium troubles)l0 Message-ID: <aa1htf$o7h$1@pegasus.csx.cam.ac.uk>  - In article <aa1dkk$9ls@web.eng.baileynm.com>, ' Peter da Silva <peter@abbnm.com> wrote: 1 >In article <aa0fcs$hfa$1@pegasus.csx.cam.ac.uk>,C* >Nick Maclaren <nmm1@cus.cam.ac.uk> wrote:F >> No, layout is often part of the CONTENT - change the layout of much3 >> of what I write and you change what I am saying.r >HE >I've seen a lot of what you write, and I haven't seen any indicationnD >that the kind of layout changes that we're talking about here would >change what you're saying.t  A I tend not to do it much in postings, for the obvious reason thatsC quoting will render it meaningless.  But I do often use indentationv8 for paragraph bracketting - and it seems to help, a bit.  F >> I am not sure what you mean by WYSIAYG, but I think I know what you# >> mean, and am in large agreement.o >aH >What You See Is All You Get. Microsoft Word, for example, where you canG >define text as "1 inch indent, 16 point Hevetica Bold" but not "inside  >a quoted passage".r  B There is a lot of scope for getting that sort of things wrong ....  % >> My point is that WYSIWYG is provendF >> to be a good idea, and one of the reasons is that it DOES allow theG >> user to control both layout and material together.  I loathe editors>7 >> that rejustify after I have 'signed off' a document.s >rK >So what happens if someone corrects something in the document that changesaG >the length of a line? Or if the document has to be distributed via they, >web, or to someone who's visually impaired?  E Well, to the first, they shouldn't have done.  Signing off is signingvD off - if they edit it, they should do the whole job.  Theoretically,E and where I am using a markup language that is flexible enough, I tag C the paragraph with the appropriate properties.  Well, sometimes :-)gC Note that the separation of layout and content implies that someonehB else is at liberty to add or ignore such tags - and that is what I don't like.   C On the second, merely breaking layout is the smallest help.  TaggedoA text can be handled correctly, of course, but "poor man's layout"iF (just add spaces) can't.  I attempt to use such features in moderationF and so they don't break too badly when ignored, but I agree that there is a significant problem.S     Regards, Nick Maclaren,* University of Cambridge Computing Service,> New Museums Site, Pembroke Street, Cambridge CB2 3QH, England. Email:  nmm1@cam.ac.uk/ Tel.:  +44 1223 334761    Fax:  +44 1223 334679U   ------------------------------  % Date: Mon, 22 Apr 2002 10:24:07 +0200I- From: Jouk Jansen <joukj@hrem.stm.tudelft.nl>g9 Subject: Re: linking with pthread library for C++ program 3 Message-ID: <3CC3E4C6.2445C7FC@hrem.stm.tudelft.nl>m   Sammy wrote: >  > Hi:w > E >    I just ask our admin to install the library for me and i hope itpH > will work well.  However, i try your code and i got some problems when  > i compiled with the redefines. > $ > $ cxx /name=(as_is,short) test.cpp > + >         pthread_mutex_init(&mutex, NULL);  > ........^tA > %CXX-E-UNDECLARED, identifier "PTHREAD_MUTEX_INIT" is undefined  > at line number 26 in fileP5 > SYS$SYSDEVICE:[SCHEN.CORBRA.OPENVMS.TEST]TEST.CPP;9o > % >         pthread_mutex_lock(&mutex);  > ........^dA > %CXX-E-UNDECLARED, identifier "PTHREAD_MUTEX_LOCK" is undefined0 > at line number 28 in filet5 > SYS$SYSDEVICE:[SCHEN.CORBRA.OPENVMS.TEST]TEST.CPP;9n > ' >         pthread_mutex_unlock(&mutex);. > ........^ C > %CXX-E-UNDECLARED, identifier "PTHREAD_MUTEX_UNLOCK" is undefinedh > at line number 35 in fileS5 > SYS$SYSDEVICE:[SCHEN.CORBRA.OPENVMS.TEST]TEST.CPP;9r > ( >         pthread_mutex_destroy(&mutex); > ........^-D > %CXX-E-UNDECLARED, identifier "PTHREAD_MUTEX_DESTROY" is undefined > at line number 37 in file 5 > SYS$SYSDEVICE:[SCHEN.CORBRA.OPENVMS.TEST]TEST.CPP;9s > 9 > %CXX-I-MESSAGE, 4 errors detected in the compilation oft > "SYS$SYSDEVICE:[SCHEN.CO  > RBRA.OPENVMS.TEST]TEST.CPP;9".H Where did you place the redefines? before (as it should) or after (which; can cause the above messages) of the #include <pthread.h> ?o   > G > I compiled the code with as_is and just the deafult UPPERCASE option. C > I received exactly the same error. So, I extract the Comaq Jacket 4 > Porting Library and take a peek of the file calledH > "pthread_redefines.h".  It has bunches of redefines to upper case just) > like the one i have in my test program.c > H > I have not try to porting library yet, but the hand-craft redefines is3 > not bailing me out.  Anyone know what's going on?  >  > Thanks for the help  >  > Sammy    ------------------------------  % Date: Mon, 22 Apr 2002 10:28:22 +0200n- From: Jouk Jansen <joukj@hrem.stm.tudelft.nl>e9 Subject: Re: linking with pthread library for C++ program 3 Message-ID: <3CC3E5C6.5D8D1E85@hrem.stm.tudelft.nl>d   James Gessling wrote:  > N > Yes, you can use #defines to solve this problem, but what a pain.  EverytimeC > you use a new routine in your program you have to remember to addiM > the define?  Shared libraries that I maintain, and I seem to be doing a lotHL > of it, get upper and lowercase entry point names.  Keeps the C programmersI > and BASIC programmers all happy.  To achieve this, in the symbol vectorc+ > each routine gets two lines, for example:m >  > account_open=PROCEDURE, -r( > ACCOUNT_OPEN/account_open=PROCEDURE, - > $ > See the linker manual for details. > 2 > I wish Compaq would do this for there stuff too. > > Somewher (I forgot where) they promised better support for theH /name=(as_is) in this respect in future versions. When will this happen?               Jouk   ------------------------------  # Date: Mon, 22 Apr 2002 08:16:20 GMTd- From: goathunter@goatley.com (Hunter Goatley) : Subject: Re: Mails with long lines (> 255 bytes) truncated0 Message-ID: <3cc3c663.33806711@news.process.com>  J On Sun, 21 Apr 2002 20:09:38 GMT, "M. J. Jerabek" <multivac@jitterati.org> wrote:  K >I believe the fix in this source patch is concerned with the email subject  >lines beingM >longer that 255 characters. The fix we all want is for having the email textd >portion1 >having lines of text longer than 255 characters.o >oL No, the bit about subject lines was always there.  The other fix is in thereI too (unless I've forgotten the details).  The binary patch was released aaE while after V4.2, but the sources were lost.  When I put together thebF anti-spam kit, I stuck in the newly-rediscovered source files.  If theB source doesn't have it, the binary does (under [.MX.MX042.PATCH]).   Hunter ------9 Hunter Goatley, Process Software, http://www.process.com/>8 goathunter@goatley.com    http://www.goatley.com/hunter/< New Robert R. McCammon site: http://www.RobertRMcCammon.com/   ------------------------------  % Date: Mon, 22 Apr 2002 10:51:15 -0400 ; From: "Brian Tillman" <tillman_brian@notnoone.notnohow.com> : Subject: Re: Mails with long lines (> 255 bytes) truncated$ Message-ID: <3cc423ba$1@news.si.com>  G >Not true.  There was a patch released for V4.2 that would allow longere >lines.l  K Glad to hear it.  I went looking in the V4.2 distribution and couldn't findaA it.  I didn't find mention of it in the release notes until V5.1.. --A Brian Tillman                   Internet: tillman_brian at si.comeA Smiths Aerospace                          tillman at swdev.si.comc= 3290 Patterson Ave. SE, MS      Addresses modified to prevente< Grand Rapids, MI 49512-1991     SPAM.  Replace "at" with "@"8        This opinion doesn't represent that of my company   ------------------------------  % Date: Mon, 22 Apr 2002 01:47:53 -0400r( From: David Froble <davef@tsoft-inc.com>$ Subject: Re: Newbie meets OpenVMS ;), Message-ID: <3CC3A409.4030201@tsoft-inc.com>   vanja@vmsbox.cjb.net wrote:e  E  > If I assume that my program is called SOPHIE.EXE and I want to useiN  > sys$creprc - does it mean that I have to use SOPHIE.EXE as image name? DoesE  >  'input' and 'output' arguments refer to SYS$INPUT and SYS$OUTPUT?dJ  > Basically, if main SOPHIE.EXE process receives a connection over TCP/IPH  > (let's assume), how could I spawn another process and hand the socket  > descriptors to it?a  J SOPHIE would have a 'listener' socket open.  When a connection request is L received, the program would grant the connection request by opening another Q socket for communications, and setting the original socket back to listening for h connection requests.  Q If you specify that the communication socket can be shared, then another process mL can open the same socket, and tell the listener process that it now has the L socket, and the listener can close the socket.  Note that this will require N inter-process communications of some type, and there are many types, and some ? mechanism such as ASTs to allow the actions to be asynchronous.h  O  > While I'm talking about this, I would also appreciate if someone can tell melN  >  what is the best way to implement something like UNIX domain sockets underL  >  VMS. The way Sophie works is that daemon process is loaded (with all theF  > virus signature), and waits for connection UNIX domain socket. WhenM  > connection is established, it (well, child process :) reads input from theeM  > client (filenames and directories to be scanned for viruses), and respondslJ  > through the same socket. What could I use under VMS to achieve sim ilar  > functionality?e  Q I don't know what a 'domain socket' is, but the above is how sockets work on VMS.       > [4] Disassembling  >M  > I might be (very) wrong, but it seems that disassemblers for OpenVMS/AlphaoM  > don't exist. The only things I've found were UNMACRO and some DISASM32 (or L  > something similar), which I think were made for VAX. Now, if I would like?  > to disassemble SETP0.EXE or LOGINOUT.EXE, how do I do it? :)   P After the GEM compiler is done with the code, I'm not sure a disassembler would D be meaningful.  You don't really want to do much in Alpha Assembler.   Dave   ------------------------------  % Date: Mon, 22 Apr 2002 11:37:26 +0100 ( From: Nic Clews <sendspamhere@127.0.0.1>$ Subject: Re: Newbie meets OpenVMS ;)) Message-ID: <3CC3E7E6.611DD544@127.0.0.1>e   vanja@vmsbox.cjb.net wrote:  >  > Now, the questions :-) >  > [1] forking/spawning and IPC >  > It seems that everyone notices first that fork() is missing from OpenVMS, and that vfork() > doesn't do what UNIX people would expect it to. In many messages on newsgroups I have seen > various suggestions, but I am not sure which one is the right one.  F As spoken about at the recent Technical Update days, fork() is plannedE to make its way into the VMS operating system in one form or another,-	 sometime.-  D With regard to porting, VMS will in the future be treated as another flavour of UNIX.  4 See the slides I referred to in a posting last week. -- .( Regards, Nic Clews CSC Computer Sciences nclews at csc dot com(   ------------------------------    Date: 22 Apr 2002 05:11:47 -0700- From: jodonnell@hrblock.com (Jason O'Donnell).$ Subject: Re: Newbie meets OpenVMS ;)= Message-ID: <9059bf6b.0204220411.113feb0a@posting.google.com>r   > [1] forking/spawning and IPC >  > It seems that everyone notices first that fork() is missing from OpenVMS, and that vfork() doesn't do what UNIX people would expect it to. In many messages on newsgroups I have seen various suggestions, but I am not sure which one is the right one. >  > The way my program works is simple - it accepts connections on UNIX domain sockets (will come to this later), and when connection is accepted, if forks a child which handles the actual work. > r> As much as I understand, lib$spawn and sys$creprc require an image (executable) name to be specified, and can not 'inherit' file descriptors and other data from the process that invokes them. exec/system also execute only images. To use threads (which would, probably, be the best way on VMS), I would need to rewrite whole thing, which I don't want to do right now :) > s> If I assume that my program is called SOPHIE.EXE and I want to use sys$creprc - does it mean that I have to use SOPHIE.EXE as image name? Does 'input' and 'output' arguments refer to SYS$INPUT and SYS$OUTPUT? Basically, if main SOPHIE.EXE process receives a connection over TCP/IP (let's assume), how could I spawn another process and hand the socket descriptors to it?8 > F > While I'm talking about this, I would also appreciate if someone canD tell me what is the best way to implement something like UNIX domainA sockets under VMS. The way Sophie works is that daemon process is D loaded (with all the virus signature), and waits for connection UNIXF domain socket. When connection is established, it (well, child process? :) reads input from the client (filenames and directories to be F scanned for viruses), and responds through the same socket. What could I use under VMS to achieve sim > ilar functionality?r  F Creating new processes in VMS is "more expensive" than a UNIX system. F If performance may be a consideration, I would recommend splitting theB application into a listener process that then hands-off sockets toF pre-existing worker processes.  I have been involved with systems thatE have one listener process and a hundred worker processes, each workertF process has 20 threads (one for each socket) for a grand total of 2000( available connections at any given time.  A The hand-off methodology has been discussed several times in thisc
 newsgroup.   JMOD   ------------------------------  % Date: Mon, 22 Apr 2002 08:50:56 -0400n, From: "Frank Sapienza" <sapienza@noesys.com>$ Subject: Re: Newbie meets OpenVMS ;)+ Message-ID: <aa112p02su@enews3.newsguy.com>s  ' <vanja@vmsbox.cjb.net> wrote in messagee> news:3cc3278c$0$10246$afc38c87@sisyphus.news.be.easynet.net... > [1] forking/spawning and IPC >o( > [2] Listing functions in shared images >a > [3] "tracing" the executionh >a > [4] Disassemblingy >   1 Sounds like someone is trying to hack a VMS site.l   ------------------------------    Date: 22 Apr 2002 13:20:32 -0000= From: Doc.Cypher <Use-Author-Supplied-Address-Header@[127.1]>o$ Subject: Re: Newbie meets OpenVMS ;)5 Message-ID: <20020422132032.2501.qmail@gacracker.org>a  B On Mon, 22 Apr 2002, "Frank Sapienza" <sapienza@noesys.com> wrote:( ><vanja@vmsbox.cjb.net> wrote in message@ >news:3cc3278c$0$10246$afc38c87@sisyphus.news.be.easynet.net...  >> [1] forking/spawning and IPCi >>) >> [2] Listing functions in shared images  >> >> [3] "tracing" the execution >> >> [4] Disassembling >> >a2 >Sounds like someone is trying to hack a VMS site.   He has permission to try.-     Doc. --  6 The bigger the humbug, the better people will like it.K ~ Phineas Taylor Barnum.                             https://vmsbox.cjb.netl   ------------------------------  + Date: Mon, 22 Apr 2002 15:53:13 +0000 (UTC)p% From: John Forkosh <john@invalid.com>n$ Subject: Re: Newbie meets OpenVMS ;), Message-ID: <aa1bl9$o8m$1@reader1.panix.com>   vanja@vmsbox.cjb.net wrote:tI : Ok. Then I'll have to read much more about ASTs :) Programming conceptsd : manual talks about this. : F : btw: are you aware of some place with source code examples for this?  A Below is a _big_ file (sorry) of many small source code examples, A originally distributed by Digital a long time ago.  It came along @ with some printed training info which (sorry again) I don't haveB in machine readable form.  Note that the open= and close= comments, mark where you need to cut individual files. -- t= John Forkosh ( emailto: j@f.com  where j=john and f=forkosh )    /*$OPEN=ADJUST.C*/E /* adjust.c -	This program illustrates how a program can control its i- 		working set limit using the $ADJWSL system.'  */c   main() 	{ 	int adjust_amt, new_limit;t 	register status;d  > 	for (adjust_amt = -50 ; adjust_amt <= 70 ; adjust_amt += 10 ) 		{e@ 		if (((status = SYS$ADJWSL (adjust_amt, &new_limit)) & 1) != 1) 					LIB$STOP (status); 	 		printf  > 		  ("Modify working set by %d\tNew working set limit = %d\n", 				adjust_amt, new_limit);  		}  	} /*$CLOS=ADJUST.C*/ /*$OPEN=ALARM.C*/ E /* alarm.c -	This program illustrates the use of time conversion and - 		set timer routines  */r   #include descrip #include stdio   main() 	{& 	$DESCRIPTOR (delay_time, "0 0:0:30"); 	static char cur_time [24];n 	static short timer_id = 3;aF 	static struct dsc$descriptor_s  cur_time_desc = {23, 0, 0, cur_time}; 	register status;  	int delay_int[2];  9 	/* Convert the time interval from ASCII to binary formatu 	 */@ 	if (((status = SYS$BINTIM (&delay_time, &delay_int)) & 1) != 1) 						LIB$STOP (status);% 	/*Inform the use of the current timei 	 */: 	if (((status = LIB$DATE_TIME (&cur_time_desc)) & 1) != 1) 					LIB$STOP (status); $ 	cur_time [23] = 0;	   /*null byte*/ 	printf ("%s\n", cur_time);a  & 	/*Set a timer to expire in 30 seconds 	 */A 	if (((status = SYS$SETIMR (0, delay_int,0, timer_id)) & 1) != 1)n 					LIB$STOP (status);e' 	/*Cancel the timer using the id numbere 	 */3 	if (((status = SYS$CANTIM (timer_id,0)) & 1) != 1)  					LIB$STOP (status);e 	printf ("Timer cancelled\n"); 	} /*$CLOS=ALARM.C*/  /*$OPEN=ASCSTRM.DAT*/e AAAAAAAAAABBBBBBBBBBCCCCCCCCCCDDDDDDDDDDEEEEEEEEEEFFFFFFFFFFGGGGGGGGGGHHHHHHHHHHIIIIIIIIIIJJJJJJJJJJKKKKKKKKKKLLLLLLLLLLMMMMMMMMMMNNNNNNNNNNOOOOOOOOOOPPPPPPPPPPQQQQQQQQQQRRRRRRRRRRSSSSSSSSSSTTTTTTTTTTUUUUUUUUUUVVVVVVVVVVWWWWWWWWWWXXXXXXXXXXYYYYYYYYYYZZZ. ZZZZZM /*$CLOS=ASCSTRM.DAT*/  /*$OPEN=ASTPROC.C*/aI /* astproc.c -	This program sets a 10 second timer which requests an AST.n; 		The main program then performs arithmetic operations in a>= 		loop that is interrupted after 10 seconds by the timer AST.   */h   #include descrip   main()   	{   	static int j; 	static char cur_time[24];> 	struct dsc$descriptor_s cur_time_desc = {23, 0, 0, cur_time}; 	register status, i; 	int bin_delay[2], ast_proc();! 	$DESCRIPTOR (delay, "0 0:0:10");   ( 	/* Convert the delay interval to binary 	 */: 	if (((status = SYS$BINTIM (&delay, bin_delay)) & 1) != 1) 					LIB$STOP (status);t 	/* Set a 10 second timera 	 */C 	if (((status = SYS$SETIMR (0, bin_delay, ast_proc, &j)) & 1) != 1)o 					LIB$STOP (status);  	/* Print the current time 	 */: 	if (((status = LIB$DATE_TIME (&cur_time_desc)) & 1) != 1) 					LIB$STOP (status);e$ 	cur_time [23] = 0;	   /*null byte*// 	printf ("The start time is %s\n\n", cur_time);   B 	/* Waste time in a 12 pass loop - waiting for the timer to expire 	 */ 	for (j=0 ; j < 12; j++) 		{t+ 		printf ("In MAIN, loop count = %d\n", j);o 		for (i=0 ; i < 500000 ; i++) 			status = j; 		}g 	}    = 	/* AST function - This subprogram is called as an AST by theg3 			expiration of the timed interval.  It prints thee2 			current time and the loop count at the terminal 	 */ int ast_proc (ptr)  	 int *ptr;  	{ 	register status;-      	static char cur_time[23];o@      	struct dsc$descriptor_s cur_time_desc = {23,0,0,cur_time};4 	/* Print the current time and the main loop counter 	 */: 	if (((status = LIB$DATE_TIME (&cur_time_desc)) & 1) != 1) 					LIB$STOP (status); 1 	printf ("\nThe current time is %s\n", cur_time);t  . 	printf ("In AST, loop count = %d\n\n", *ptr); 	} /*$CLOS=ASTPROC.C*/d /*$OPEN=ASYNCH.C*/
 /*ASYNCH.CC This program illustrates various ways to determine $QIO completion.tB It also illustrates the use of an IOSB to obtain information about the I/O operation. */i   #include iodef #include ssdef #include descrip  7 char text_string[]  =  "This was written by the $QIO.";M   main() {P 	register status;  	short chan, iosb[4];e 	int AST_PROC();' 	$DESCRIPTOR (terminal, "SYS$COMMAND");D  = 	if (((status = SYS$ASSIGN (&terminal, &chan,0,0)) & 1) != 1)Y 					LIB$STOP (status);N  B 	if (((status = SYS$QIO (1, chan, IO$_WRITEVBLK, iosb, &AST_PROC, A 	   iosb, text_string, strlen(text_string),0, 32,0,0)) & 1) != 1)i 					LIB$STOP (status);u  * 	if (((status = SYS$WAITFR (1)) & 1) != 1) 					LIB$STOP (status);r  B 	if (iosb[0] != SS$_NORMAL) LIB$STOP (iosb[0]);  /*driver status*/  < 	printf ("\nThe I/O operation and AST procedure are done."); }l   /* AST Function  -  AST_PROC */V   AST_PROC (iosb)P   static short iosb[4];    {C9 	printf ("\nThis is the hex value in the iosb %x", iosb);S@ 	printf ("\nNumber of characters output is  %d\nI/O completion \"  status is %d", iosb[1], iosb[0]); 	return; }o /*$CLOS=ASYNCH.C*/ /*$OPEN=BASSUM.BAS*/ 10! BASSUM.BAS;   ! 	This BASIC function calculates the sum of two integersd   ! & 	FUNCTION INTEGER GETSUM (INTEGER A,B) 	GETSUM = A + Bs 	FUNCTIONEND /*$CLOS=BASSUM.BAS*/ /*$OPEN=BUFSCREEN.C*/rK /* bufscreen.c   This program uses the RTL screen package in buffered mode.s  */e   #include descrip #define LINES 3e #define STARTLIN 10t #define STARTCOL 25a #define INPDATSIZ 20 #define PROMPTSIZ 10 #define BUFSIZ 1024s  F static char buffer[BUFSIZ],prompts[LINES][PROMPTSIZ] = {	"Name:     ", 								"Address:  ",  								"Phone:    " 						       };e& static struct dsc$descriptor descr =	{ 					BUFSIZ,! 					DSC$K_DTYPE_T,DSC$K_CLASS_S,c 					&buffer 					};r   main() 	{" 	char userinput[LINES][INPDATSIZ]; 	int status,lcnt;.  $ 	/* Start by clearing the screen. */  A 	if (((status = SCR$ERASE_PAGE(1,1)) & 1) != 1) LIB$STOP(status);n   	/* Set buffering mode. */  D 	if (((status = SCR$SET_BUFFER(&descr)) & 1) != 1) LIB$STOP(status);  E 	/* Put three lines of prompt into the buffer.   The prompt lines aret 	   passed by descriptor.p 	 */    	descr.dsc$w_length = PROMPTSIZ;% 	for (lcnt = 0; lcnt < LINES; lcnt++)e 		{i' 		descr.dsc$a_pointer = &prompts[lcnt];gA 		if (((status = SCR$PUT_SCREEN(&descr,2*lcnt+STARTLIN,STARTCOL))C$ 		     & 1) != 1)  LIB$STOP(status); 		}   G 	/* Once the prompts have been displayed, we want the buffer positionedh 	   for the first input. 	 */  G 	if (((status = SCR$SET_CURSOR(STARTLIN,STARTCOL+PROMPTSIZ)) & 1) != 1)e 		LIB$STOP(status);o  2 	/* Output the screen format in a single write. */  > 	if (((status = SCR$PUT_BUFFER()) & 1) != 1) LIB$STOP(status);   	/* Read the three fields. */u    	descr.dsc$w_length = INPDATSIZ;! 	descr.dsc$a_pointer = userinput;t2 	if (((status = SCR$GET_SCREEN(&descr)) & 1) != 1) 		LIB$STOP(status);0% 	for (lcnt = 1; lcnt < LINES; lcnt++)a 		{t) 		descr.dsc$a_pointer = &userinput[lcnt];  		if (((status =; 		      SCR$SET_CURSOR(2*lcnt+STARTLIN,STARTCOL+PROMPTSIZ))h& 		       & 1) != 1)  LIB$STOP(status);3 		if (((status = SCR$GET_SCREEN(&descr)) & 1) != 1)  			LIB$STOP(status); 		}r    F 	/* Verification and processing of the input would normally come here.B 	   We simply re-output in in reverse video as a conformation and B 	   leave the cursor at the bottom left-hand corner of the screen. 	 */   	t% 	for (lcnt = 0; lcnt < LINES; lcnt++)i 		{ ) 		descr.dsc$a_pointer = &userinput[lcnt];o7 		if (((status = SCR$PUT_SCREEN(&descr,2*lcnt+STARTLIN,A, 					      STARTCOL+PROMPTSIZ,2)) & 1) != 1) 			LIB$STOP(status); 		}oB 	if (((status = SCR$SET_CURSOR(23,1)) & 1) != 1) LIB$STOP(status);> 	if (((status = SCR$PUT_BUFFER()) & 1) != 1) LIB$STOP(status); 	} /*$CLOS=BUFSCREEN.C*/- /*$OPEN=CALCULATE.C*/p@ /* calculate.c -This program will associate to common event flag: 		cluster INFO and set the third event flag in the cluster- 		which will allow program RECORD to continues  */o   #include descrip   main() 	{  $ 	$DESCRIPTOR (cluster_desc, "INFO"); 	register status;l  # 	/* Associate to cluster #2 as INFO4 	 */? 	if (((status = SYS$ASCEFC (64, &cluster_desc, 0,0)) & 1) != 1)  					LIB$STOP (status);5   	/* Set the third flag in INFO 	 */ 	printf ("Setting EFN 66\n");.  * 	if (((status = SYS$SETEF (66)) & 1) != 1) 					LIB$STOP (status);c 	printf ("Finished.\n"); 	} /*$CLOS=CALCULATE.C*/t /*$OPEN=COMMAND.C*/iB /*command.c -	This program will prompt for image-specific commands: 		from the terminal and use the command language interface- 		routines to parse and process the commands.5  */0   #include descrip #include stdio  7 /*Main routine - read the command from the terminal and "   dispatch to the action routines.  */@   main() 	{ 	globalref int TEST_TABLES;a 	register status;l& 	$DESCRIPTOR (prompt_string, "TEST>");. 	static struct dsc$descriptor_d command_line =' 			{0, DSC$K_DTYPE_T, DSC$K_CLASS_D,0};    	while (1)		/*forever*/  		{N0 		LIB$GET_INPUT (&command_line, &prompt_string);  . 		CLI$DCL_PARSE (&command_line, &TEST_TABLES);   		CLI$DISPATCH();c 		}I 	}  " /*Action routine to print the file  */d   report_command() 	{ 	register status;l$ 	$DESCRIPTOR (filespec, "FILESPEC"); 	$DESCRIPTOR (edit, "EDIT"); 	$DESCRIPTOR (print, "PRINT ");n* 	static struct dsc$descriptor_d file_name=' 			{0, DSC$K_DTYPE_T, DSC$K_CLASS_D,0};k* 	static struct dsc$descriptor_d print_cmd=' 			{0, DSC$K_DTYPE_T, DSC$K_CLASS_D,0};t  : 	/*Was the filespec parameter present on the command line? 	 */( 	if ((CLI$PRESENT (&filespec) & 1) == 1); 		CLI$GET_VALUE (&filespec, &file_name);  /*get its value*/e  6 	/*Was the edit qualifier present on the command line? 	 */$ 	if ((CLI$PRESENT (&edit) & 1) == 1). 		edit_qualifier (&file_name);   /*dispatch */  > 	/*Check for parameters and qualifier left on the command line 	 */, 	if (((status = CLI$END_PARSE ()) & 1) != 1)
 			return;   	/*Print the file  	 */8 	STR$APPEND (&print_cmd, &print);	/*form the PRINT cmd*/% 	STR$APPEND (&print_cmd, &file_name);d  ? 	LIB$SPAWN (&print_cmd,0,0,0,0,0,0,0,0,0); /*spawn a subprocessd 						    to print the file*/o 	}    " /*Action routine to exit the image  */s   exit_command() 	{
 	exit (1); 	}  , /*Routine to call the editor before printing  */o   edit_qualifier (file_name)  ! struct dsc$descriptor *file_name;i 	{ 	$DESCRIPTOR (edit, "EDIT "); * 	static struct dsc$descriptor_d edit_cmd =' 			{0, DSC$K_DTYPE_T, DSC$K_CLASS_D,0};      	/*Edit the file 	 */6 	STR$APPEND (&edit_cmd, &edit);		/*form the EDIT cmd*/# 	STR$APPEND (&edit_cmd, file_name);t  > 	LIB$SPAWN (&edit_cmd,0,0,0,0,0,0,0,0,0); /*spawn a subprocess 						    to edit the file*/ 	} /*$CLOS=COMMAND.C*/  /*$OPEN=CONTROLC.C*/O /* controlc.c - This program shows how the QIO system service is used to access @ 		the full range of terminal driver functions.   It uses timeout; 		on terminal reads and control-C ASTs.    Notice that onces> 		control-C has been typed, everything must be done in the AST? 		routine.  This is because the C library has its own control-C.@ 		handler which aborts execution of the program after control-C.  */5   #include descrip #include iodef #include ssdef #define BUFLEN 132   static char buffer[BUFLEN];g static short iosb[4];s   main() 	{, 	static $DESCRIPTOR(terminal,"SYS$COMMAND");E 	char *prompt = "You have 5 seconds to enter data or type CTRL/C: " ;. 	int status,ccast(); 	short channel;s  ' 	/* Assign a channel to the terminal */e  > 	if (((status = SYS$ASSIGN(&terminal,&channel,0,0)) & 1) != 1) 		LIB$STOP(status);r  # 	/* Request an AST on control-C. */e  C 	if (((status = SYS$QIOW(1,channel,IO$_SETMODE|IO$M_CTRLCAST,0,0,0,r! 				&ccast,0,0,0,0,0)) & 1) != 1)e 		LIB$STOP(status);r  F 	/* Request a read from the terminal, with a prompt but no echoing. */  I 	if (((status = SYS$QIOW(1,channel,IO$_READPROMPT|IO$M_NOECHO|IO$M_TIMED,-! 				&iosb,0,0,&buffer,BUFLEN,5,0,e& 				prompt,strlen(prompt))) & 1) != 1) 		LIB$STOP(status);s  A 	/* Check the status in the IOSB and give appropriate message. */5   	switch (iosb[0])e 		{o1 		case SS$_NORMAL : 	write(1,"\nYou typed: ",12);C 					write(1,buffer,iosb[1]);n 					break;t" 		case SS$_TIMEOUT :	if (iosb[1])  						{v$ 						write(1,"\nYou typed: \"",13); 						write(1,buffer,iosb[1]); 						write(1,"\" slowly.",9); 						}s$ 					else write(1,"\nToo slow.",10); 					break;. 		default :		write(1,"\n",1);s 					LIB$SIGNAL(iosb[0]);n 					break;I 		}a 	write(1,"\n",1);m 	}    J /* This function is called as a control-C AST routine. Note that the inputH    which is in progress is aborted by control-C, so there is no data. */     ccast()e 	{( 	write(1,"You typed a control-C.\n",23);  G 	/* Now cause an exit from this program, thus bypassing the C library'sh 	   control-C handler. 	 */  
 	exit(1);  	} /*$CLOS=CONTROLC.C*/ /*$OPEN=DOCOMMAND.C*/w
 /*DOCOMMAND.Co; This program calls the command language interpreter to exith, the image and execute a command procedure.*/   #include descrip   main() {u 	register status;s 	$DESCRIPTOR (com, "@LISTIT");  1 	if (((status = LIB$DO_COMMAND (&com)) & 1) != 1)e 				LIB$STOP (status);. 	printf ("\nThis line will not be printed\n"); }s /*$CLOS=DOCOMMAND.C*/o /*$OPEN=DYNAMIC.C*/uJ /*dynamic.c -	This program illustrates the use of dynamic character string0 		descriptors with VMS Run-Time Library routines  */p   #include descrip   main() 	{ 	register status;t* 	static struct dsc$descriptor_d dynamic = ' 		{0, DSC$K_DTYPE_T, DSC$K_CLASS_D, 0};a  # 	/*Obtain the current date and timet 	 */4 	if (((status = LIB$DATE_TIME (&dynamic)) & 1) != 1) 					LIB$STOP (status);   " 	/*Write that time to the terminal 	 */  C 	*(dynamic.dsc$a_pointer + dynamic.dsc$w_length) = 0; /*null byte*/   > 	printf ("The current time is:  %s\n", dynamic.dsc$a_pointer); 	} /*$CLOS=DYNAMIC.C*/  /*$OPEN=FAB.H*/i) /*	FAB - File Access Block Definitions	*/o   struct	FAB	{. 		char	fab$b_bid;			/* block identification */. #define			FAB$C_BID	3		/* block id constant */  ' 		char 	fab$b_bln;			/* block length */aA #define 		FAB$C_BLN	0x050		/* block length constant (80 bytes) */o #define 		FAB$K_BLN	0x050	  4 		short	fab$w_ifi;				/* internal file identifier */G #define			FAB$V_PPF_RAT	6			/* rat value for process-permanent files */l #define			FAB$S_PPF_RAT	8i0 #define			FAB$M_PPF_RAT	(0x0ff << FAB$V_PPF_RAT)L #define			FAB$V_PPF_IND	14			/* indirect access to process-permanent file */, #define			FAB$M_PPF_IND	(1 << FAB$V_PPF_IND)  - 	unsigned int	fab$l_fop;			/* file options */n4 #define			FAB$V_MXV	1		/* maximize version number */$ #define			FAB$M_MXV	(1 << FAB$V_MXV)4 #define			FAB$V_SUP	2		/* supersede existing file */$ #define			FAB$M_SUP	(1 << FAB$V_SUP)2 #define			FAB$V_TMP	3		/* create temporary file */$ #define			FAB$M_TMP	(1 << FAB$V_TMP)= #define			FAB$V_TMD	4		/* temporary file marked for delete */l$ #define			FAB$M_TMD	(1 << FAB$V_TMD)9 #define			FAB$V_DFW	5		/* deferred write (rel and idx) */ $ #define			FAB$M_DFW	(1 << FAB$V_DFW)3 #define			FAB$V_SQO	6		/* sequential access only */2$ #define			FAB$M_SQO	(1 << FAB$V_SQO)9 #define			FAB$V_RWO	7		/* rewind magnetic tape on open */g$ #define			FAB$M_RWO	(1 << FAB$V_RWO)< #define			FAB$V_POS	8		/* use next magnetic tape position */$ #define			FAB$M_POS	(1 << FAB$V_POS)+ #define			FAB$V_WCK	9		/* write checking */>$ #define			FAB$M_WCK	(1 << FAB$V_WCK)G #define			FAB$V_NEF	10		/* not end of file, inihibit eof positioning */i$ #define			FAB$M_NEF	(1 << FAB$V_NEF); #define			FAB$V_RWC	11		/* rewind magnetic tape on close */p$ #define			FAB$M_RWC	(1 << FAB$V_RWC)D #define			FAB$V_DMO	12		/* dismount mt on close (not implemented) */$ #define			FAB$M_DMO	(1 << FAB$V_DMO)1 #define			FAB$V_SPL	13		/* spool file on close */-$ #define			FAB$M_SPL	(1 << FAB$V_SPL): #define			FAB$V_SCF	14		/* submit command file on close */$ #define			FAB$M_SCF	(1 << FAB$V_SCF)) #define			FAB$V_DLT	15		/* delete file */ $ #define			FAB$M_DLT	(1 << FAB$V_DLT); #define			FAB$V_NFS	16		/* non-file-structured operation */e$ #define			FAB$M_NFS	(1 << FAB$V_NFS)? #define			FAB$V_UFO	17		/* user file open - no rms operation */t$ #define			FAB$M_UFO	(1 << FAB$V_UFO)B #define			FAB$V_PPF	18		/* process permanent file (pio segment) */$ #define			FAB$M_PPF	(1 << FAB$V_PPF)? #define			FAB$V_INP	19		/* process permanent file is 'input' */ $ #define			FAB$M_INP	(1 << FAB$V_INP)2 #define			FAB$V_CTG	20		/* contiguous extension */$ #define			FAB$M_CTG	(1 << FAB$V_CTG)1 #define			FAB$V_CBT	21		/* contiguous best try */ $ #define			FAB$M_CBT	(1 << FAB$V_CBT)@ #define			FAB$V_JNL	22		/* explicit logging (not implemented) */$ #define			FAB$M_JNL	(1 << FAB$V_JNL)+ #define			FAB$V_RCK	23		/* read checking */l$ #define			FAB$M_RCK	(1 << FAB$V_RCK)L #define			FAB$V_NAM	24		/* use NAM block device, file and/or directory id */$ #define			FAB$M_NAM	(1 << FAB$V_NAM)4 #define			FAB$V_CIF	25		/* create if non-existent */$ #define			FAB$M_CIF	(1 << FAB$V_CIF)G #define			FAB$V_UFM	26		/* user file open mode (user if 1, super if 0) U< 							   enable only if esc and (ufo or nfs) are also on */$ #define			FAB$M_UFM	(1 << FAB$V_UFM)J #define			FAB$V_ESC	27		/* 'escape' to non-standard functions ($modify) */$ #define			FAB$M_ESC	(1 << FAB$V_ESC)Q #define			FAB$V_TEF	28		/* truncate at end-of-file on close (write-accessed seq. d 							   disk file only) */$ #define			FAB$M_TEF	(1 << FAB$V_TEF)G #define			FAB$V_OFP	29		/* output file parse (only name type sticky) */a$ #define			FAB$M_OFP	(1 << FAB$V_OFP)N #define			FAB$V_KFO	30		/* known file open (image activator only release 1) */$ #define			FAB$M_KFO	(1 << FAB$V_KFO)   		int	fab$l_sts;			/* status */_% 		int	fab$l_stv;			/* status value */s, 		int	fab$l_alq;			/* allocation quantity */6 		short	fab$w_deq;			/* default allocation quantity */  3        unsigned	char	fab$b_fac;			/* file access */d' #define			FAB$V_PUT	0		/* put access */L$ #define			FAB$M_PUT	(1 << FAB$V_PUT)' #define			FAB$V_GET	1		/* get access */u$ #define			FAB$M_GET	(1 << FAB$V_GET)* #define			FAB$V_DEL	2		/* delete access */$ #define			FAB$M_DEL	(1 << FAB$V_DEL)* #define			FAB$V_UPD	3		/* update access */$ #define			FAB$M_UPD	(1 << FAB$V_UPD), #define			FAB$V_TRN	4		/* truncate access */$ #define			FAB$M_TRN	(1 << FAB$V_TRN)- #define			FAB$V_BIO	5		/* block i/o access */S$ #define			FAB$M_BIO	(1 << FAB$V_BIO)8 #define			FAB$V_BRO	6		/* block and record i/o access */$ #define			FAB$M_BRO	(1 << FAB$V_BRO)N #define			FAB$V_EXE	7		/* execute access (caller must be exec or kernel mode, " 							   ufo must also be set) */$ #define			FAB$M_EXE	(1 << FAB$V_EXE)  5        unsigned	char	fab$b_shr;				/* file sharing */s+ #define			FAB$V_SHRPUT	0			/* put access */i* #define			FAB$M_SHRPUT	(1 << FAB$V_SHRPUT)+ #define			FAB$V_SHRGET	1			/* get access */g* #define			FAB$M_SHRGET	(1 << FAB$V_SHRGET). #define			FAB$V_SHRDEL	2			/* delete access */* #define			FAB$M_SHRDEL	(1 << FAB$V_SHRDEL). #define			FAB$V_SHRUPD	3			/* update access */* #define			FAB$M_SHRUPD	(1 << FAB$V_SHRUPD); #define			FAB$V_MSE	4			/* multi-stream connects enabled */n$ #define			FAB$M_MSE	(1 << FAB$V_MSE)( #define			FAB$V_NIL	5			/* no sharing */$ #define			FAB$M_NIL	(1 << FAB$V_NIL)I #define			FAB$V_UPI	6			/* user provided interlocking (allows multiple */2$ 								/* writers to seq. files) */$ #define			FAB$M_UPI	(1 << FAB$V_UPI)  % 		int	fab$l_ctx;			/* user context */i/ 		char	fab$b_rtv;			/* retrieval window size */   , 		char	fab$b_org;				/* file organization *// #define			FAB$V_ORG	4			/* file organization */s #define			FAB$S_ORG	4 ( #define			FAB$C_SEQ	0			/* sequential */3 #define			FAB$C_REL	(1 << FAB$V_ORG)	/* relative */t2 #define			FAB$C_IDX	(2 << FAB$V_ORG)	/* indexed */1 #define			FAB$C_HSH	(3 << FAB$V_ORG)	/* hashed */   9        unsigned	char	fab$b_rat;			/* record attributes */e? #define			FAB$V_FTN	0		/* FORTRAN carriage control character */_$ #define			FAB$M_FTN	(1 << FAB$V_FTN)? #define			FAB$V_CR	1		/* line feed - record -carriage return */_" #define			FAB$M_CR	(1 << FAB$V_CR)8 #define			FAB$V_PRN	2		/* print-file carriage control */$ #define			FAB$M_PRN	(1 << FAB$V_PRN)A #define			FAB$V_BLK	3		/* records don't cross block boundaries */*$ #define			FAB$M_BLK	(1 << FAB$V_BLK)  ' 		char	fab$b_rfm;			/* record format */t< #define			FAB$C_RFM_DFLT	2		/* variable length is default */& #define			FAB$C_UDF	0		/* undefined */0 #define			FAB$C_FIX	1		/* fixed-length record */3 #define			FAB$C_VAR	2		/* variable-length record */aM #define			FAB$C_VFC	3		/* variable-length with fixed-length control record */IQ #define 		FAB$C_STM	4		/* RMS-11 stream record (valid only for sequential org) */0R #define			FAB$C_STMLF	5		/* stream record delimited by LF (sequential org only) */R #define 		FAB$C_STMCR	6		/* stream record delimited by CR (sequential org only) */5 #define			FAB$C_MAXRFM	6		/* maximum rfm supported */   $ 		int	fab$l_jnl;			/* lcb address */& 		char	*fab$l_xab;			/* XAB address */1 	struct	NAM	*fab$l_nam;			/* NAM block address */t3 		char	*fab$l_fna;			/* file name string address */;6 		char	*fab$l_dna;			/* default name string address *// 		char	fab$b_fns;			/* file name string size */n2 		char	fab$b_dns;			/* default name string size */. 		short	fab$w_mrs;			/* maximum record size */. 		int	fab$l_mrn;			/* maximum record number */. 		short	fab$w_bls;			/* block size for tape */% 		char	fab$b_bks;			/* bucket size */I+ 		char	fab$b_fsz;			/* fixed header size */d=        unsigned	int	fab$l_dev;			/* device characteristics */sF        unsigned	int	fab$l_sdc;			/* spooling device characteristics */. 		short	fab$w_gbc;			/* global buffer count */ 		char	fab$b_dsbmsk;   		unsigned : 8;				/* spare */' 		unsigned : 32;         			/* spare */R 		};    S globalref struct FAB cc$rms_fab;	/* Declare initialized prototype data structure */r /*$CLOS=FAB.H*/L /*$OPEN=FOREIGN.C*/" /*FOREIGN.C ? This program illustrates reading records from a magtape writtent; 80 byte records, 1 record per block.  The records are typedK to the terminal.*/   #include descrip #include stdio   char tape_name[] = "MTA0:";I short mnt_list[26];u   main() {/ 	register status;  	char buffer[80];iA 	static int read_only=0, flags, blocks=80, records=80, file_desc;  	struct dsc$descriptor_s tape;   	tape.dsc$w_length	=  5;! 	tape.dsc$a_pointer	=  tape_name;s  % 	flags = 1;			/* MNT$M_FOREIGN = 1 */t   	mnt_list[0]	=  5;% 	mnt_list[1]	=  1;		/* MNT$_DEVNAM */p 	mnt_list[2]	=  tape_name;   	mnt_list[6]	=  4;( 	mnt_list[7]	=  8;		/* MNT$_BLOCKSIZE */ 	mnt_list[8]	=  &blocks;   	mnt_list[12]	=  4;t+ 	mnt_list[13]	=  0x10;	/* MNT$_RECORDSIZ */S 	mnt_list[14]	=  &records;   	mnt_list[18]	=  4;	% 	mnt_list[19]	=  4;		/* MNT$_FLAGS */s 	mnt_list[20]	=  &flags;  0 	if (((status = SYS$MOUNT (mnt_list)) & 1) != 1) 					LIB$STOP (status);R  3 	if ((file_desc = open (tape_name, read_only)) < 0)s! 	{	printf ("\n\nOPEN ERROR\n\n");o 		goto end;g 	}9 	while ((status = read (file_desc, buffer, records)) > 0)B 	{ 		printf ("\n%s", buffer); 	} 	if (status != 0)s! 	{	printf ("\n\nREAD ERROR\n\n");r 		goto end;r 	} 	if (close (file_desc) != 0)! 		printf ("\n\nCLOSE ERROR\n\n");	 end:. 	if ((status = SYS$DISMOU (&tape,0)) & 1 != 1) 					LIB$STOP (status);_ }n /*$CLOS=FOREIGN.C*/] /*$OPEN=GETJPI.C*/F /*getjpi.c -	This program creates a subprocess which shares SYS$OUTPUT7 		with its parent process and then hibernates until theS 		subprocess wakes it.  */	   #include descrip   main() 	{ 	register status;o 	static char buf [63]; 	int term_len, process_id; 	$DESCRIPTOR (TT, "TT");- 	$DESCRIPTOR (image_name, "[]GETJPISUB.EXE"); % 	$DESCRIPTOR (process_name, "CHILD");e8 	static struct dsc$descriptor terminal = {63, 0,0, buf};  : 	/*Determine the terminal name associated with the logical
 	  name TT 	 */H 	if (((status = SYS$TRNLOG (&TT, &term_len, &terminal,0,0,0)) & 1) != 1) 					LIB$STOP (status);t  @ 	terminal.dsc$w_length = term_len;  /*set length in descriptor*/  E 	/*Create a subprocess with a priority of 4 which shares our terminals 	 */B 	if (((status = SYS$CREPRC (&process_id, &image_name,0, &terminal,/ 				0,0,0, &process_name, 4, 0,0,0)) & 1) != 1)	 					LIB$STOP (status);t> 	printf ("PID of the created subprocess is %X\n", process_id);  & 	/*Sleep until waked by the subprocess 	 */
 	SYS$HIBER();C  + 	printf ("Main process has been waked.\n");s 	} /*$CLOS=GETJPI.C*/ /*$OPEN=GETJPISUB.C*//F /*getjpisub.c -	This program is run in a subprocess created by GETJPI., 		It obtains its creator's PID and wakes it.  */N   #include descrip #include jpidef)   main() 	{ 	register status;6 	static int owner_pid; 	static struct 		{i 		short buf_length;  		short item_code; 		int buf_addr;O 		int ret_addr;m 		int terminator;m 		} , 		itmlst = {4, JPI$_OWNER, &owner_pid, 0,0};  $ 	/*Get the PID of the parent process 	 */> 	if (((status = SYS$GETJPI (8,0,0, &itmlst, 0,0,0)) & 1) != 1) 					LIB$STOP (status);d 	SYS$WAITFR (8);  > 	/*Wake the parent process; print a msg to the parent terminal 	 */4 	printf ("The subprocess is waking the creator.\n");  3 	if (((status = SYS$WAKE (&owner_pid,0)) & 1) != 1)" 					LIB$STOP (status);d 	} /*$CLOS=GETJPISUB.C*/e /*$OPEN=GETMSG.C*/
 /*GETMSG.C9 This program is an example using the 3 mechanisms to passN9 arguments to system services.  It also illustrates how too> test for specific status returns from a system service call.*/     #include stdio #include ssdef #include descrip   main() {g& 	struct dsc$descriptor_s message_text; 	register status;C 	int message_id, message_len;I 	char text[133];  " 	message_text.dsc$w_length	=  132;$ 	message_text.dsc$a_pointer	=  text;  
 	while (1)) 	{	printf ("\nENTER A MESSAGE NUMBER\t");m/ 		if (scanf ("%d", &message_id) == EOF) exit();/  0 		status = SYS$GETMSG (message_id, &message_len, 				&message_text,15,0);  2 		*(message_text.dsc$a_pointer + message_len) = 0;   		if (status == SS$_BUFFEROVF)" 			printf ("\nBUFFER OVERFLOW %s",! 					message_text.dsc$a_pointer);(% 		  else if (status == SS$_MSGNOTFND)q" 			printf ("\nMESSAGE NOT FOUND"); 	 3 		  else printf ("%s", message_text.dsc$a_pointer);o 	} }i /*$CLOS=GETMSG.C*/ /*$OPEN=GLOBAL1.C*/)H /* global1.c	This program creates and maps a global section.  It is then? 		used to pass messages to another program, GLOBAL2, which runsi 		in another process.N  */i   #include descrip #include secdefs #include stdio  I /* We are going to use common event flag cluster 2 to synchronise the two B    processes.   Define some names for the three flags we will use.  */r   #define finished 64t #define message  65) #define readit   66p  O /* This array will be used as the virtual address space for the global section._L    The external storage class causes the compiler to create a separate PSECTH    for it.   This will allow us to tell the linker to align it on a page%    boundary by the LINK options line:(4 		PSECT = SECTION,PIC,OVR,REL,GBL,SHR,NOEXE,WRT,PAGE  */    char section[512];   main() 	{+ 	int status,inadr[2] = {&section,&section};.* 	$DESCRIPTOR(cluster_name,"GLOBAL_FLAGS");, 	$DESCRIPTOR(section_name,"GLOBAL_SECTION");  ; 	/* Associate to common event flag cluster GLOBAL_FLAGS. */d  A 	if (((status = SYS$ASCEFC(message,&cluster_name,0,0)) & 1) != 1)d 		LIB$STOP(status);d  ! 	/* Create the global section. */e  % 	if (((status = SYS$CRMPSC(inadr,0,0,.2 				  SEC$M_GBL|SEC$M_WRT|SEC$M_DZRO|SEC$M_PAGFIL,- 				  &section_name,0,0,0,1,0,0,0)) &1) != 1)u 		LIB$STOP(status);d  E 	/* Now loop round, reading lines from the terminal, and transmitting[$ 	   them through the global section. 	 */  4 	while (write(1,"GLOBAL1>",8),gets(section) != NULL) 		{e  - 		/* Set an event flag to wake up GLOBAL2. */(  A 		if (((status = SYS$SETEF(message)) & 1) != 1) LIB$STOP(status);i  6 		/* Wait for GLOBAL2 to read it and clear the flag we 		   waited for. 		 */   A 		if (((status = SYS$WAITFR(readit)) & 1) != 1) LIB$STOP(status);c@ 		if (((status = SYS$CLREF(readit)) & 1) != 1) LIB$STOP(status); 		}=  8 	/* Come here when the operator types a CNTRL/Z to exit.. 	   Set an event flag to tell GLOBAL2 to exit. 	 */  A 	if (((status = SYS$SETEF(finished)) & 1) != 1) LIB$STOP(status);	 	} /*$CLOS=GLOBAL1.C*/5 /*$OPEN=GLOBAL2.C*/eK /* global2.c   This program maps the global section created by GLOBAL1.  ItO> 		then reads messages from it and writes them to the terminal.  */a   #include descrip #include secdef: #include ssdef  I /* We are going to use common event flag cluster 2 to synchronise the two	B    processes.   Define some names for the three flags we will use.  */]   #define finished 64l #define message  65  #define readit   66T  O /* This array will be used as the virtual address space for the global section.0L    The external storage class causes the compiler to create a separate PSECTH    for it.   This will allow us to tell the linker to align it on a page%    boundary by the LINK options line:n4 		PSECT = SECTION,PIC,OVR,REL,GBL,SHR,NOEXE,WRT,PAGE  */-   char section[512];   main() 	{+ 	int status,inadr[2] = {&section,&section};r* 	$DESCRIPTOR(cluster_name,"GLOBAL_FLAGS");, 	$DESCRIPTOR(section_name,"GLOBAL_SECTION");  ; 	/* Associate to common event flag cluster GLOBAL_FLAGS. */g  A 	if (((status = SYS$ASCEFC(message,&cluster_name,0,0)) & 1) != 1)  		LIB$STOP(status);   ! 	/* Map to the global section. */C  B 	if (((status = SYS$MGBLSC(inadr,0,0,SEC$M_WRT,&section_name,0,0))! 	    & 1) != 1) LIB$STOP(status);p  > 	/* Now loop round, reading lines from the section and writingG 	   them to the terminal.   If the finish flag is set, it means no moreu. 	   messages are coming and we should log out. 	 */  	 	for (;;)r 		{o  . 		/* Wait for a message or the finish flag. */  1 		if (((status = SYS$WFLOR(message,3)) & 1) != 1)a 			LIB$STOP(status);  ! 		/* Exit if it is not message */i  A 		if (((status = SYS$CLREF(message)) & 1) != 1) LIB$STOP(status);y" 		if (status != SS$_WASSET) break;  * 		/* Write the message to the terminal. */   		puts(section);  - 		/* Set an event flag to wake up GLOBAL1. */l  @ 		if (((status = SYS$SETEF(readit)) & 1) != 1) LIB$STOP(status); 		}; 	} /*$CLOS=GLOBAL2.C*/  /*$OPEN=GLOBALX.OPT*/F3 PSECT = SECTION ,PIC,OVR,REL,GBL,SHR,NOEXE,WRT,PAGE{ /*$CLOS=GLOBALX.OPT*/* /*$OPEN=HELPOUT.C*/  #include descrip #include stdio int	LIB$PUT_OUTPUT();h int	LIB$GET_INPUT();   main()      {      int status;!      static char key_word[] = ""; %      $DESCRIPTOR (helplib,"HELPLIB");   C      static $DESCRIPTOR(prompt,"WHAT WOULD YOU LIKE HELP WITH?  ");_  '      static struct dsc$descriptor key =e)      		{0,DSC$K_DTYPE_T,DSC$K_CLASS_D,0};d        A      _<      if (((status = SCR$GET_SCREEN(&key,&prompt)) & 1) != 1)      		LIB$STOP(status);  E      if (((status = LBR$OUTPUT_HELP(LIB$PUT_OUTPUT,0,&key,&helplib,0,g1      		LIB$GET_INPUT))&1) != 1) LIB$STOP(status);	      }     	   /*$CLOS=HELPOUT.C*/e /*$OPEN=INDEXED.C*/_J /* indexed.c -	This program illustrates random and sequential access of an> 		indexed sequential file.  It prompts for a department number= 		and then prints the name of each person in that department.   */n   #include rms #include stdio   main() 	{ 	struct FAB idx_fab; 	struct RAB idx_rab;$ 	static char filespec[] = "IDX.DAT"; 	char dept_key[3]; 	register status;A  0 	struct				/*define record fields as structure*/ 		{n 		char idnum[5]; 		char name[6];$ 		char dept[3];_ 		char skill[2]; 		char salary[4];d 		} record;e 		 	/*Initialize the FAB and RAB1 	 */ 	idx_fab = cc$rms_fab; 	idx_rab = cc$rms_rab;   	idx_fab.fab$l_fna	= filespec;' 	idx_fab.fab$b_fns	= sizeof (filespec);$ 	idx_fab.fab$b_org	= FAB$C_IDX;d 	idx_rab.rab$l_fab	= &idx_fab;4 	idx_rab.rab$l_kbf	= dept_key;	/*primary key field*/ 	idx_rab.rab$b_ksz	= 3;d/ 	idx_rab.rab$l_ubf	= &record;	/*record buffer*/$ 	idx_rab.rab$w_usz	= 20;( 	idx_rab.rab$b_krf	= 0;		/*primary key*/  , 	/*Open the file and connect a record stream 	 *// 	if (((status = SYS$OPEN (&idx_fab)) & 1) != 1)_ 					LIB$STOP (status);f2 	if (((status = SYS$CONNECT (&idx_rab)) & 1) != 1) 					LIB$STOP (status);$   	)9 	/*Obtain the desired department number from the terminal/ 	 */D 	while	(printf ("\nEnter department number (119,210,220): ") >= 0 &&  		scanf ("%s", dept_key) != EOF) 		{_, 		/*Read the first record in that department 		 */o1 		idx_rab.rab$b_rac	= RAB$C_KEY;	/*keyed access*/ 0 		if ((status = SYS$GET (&idx_rab)) == RMS$_RNF)+ 			printf ("Invalid department number.\n");$   		else< 		/*write the name of that employee to the terminal and read= 		  sequentially the records of other employees in that dept.9 		 */o  		idx_rab.rab$b_rac	= RAB$C_SEQ;5 		while 	(strncmp (dept_key, record.dept, 3) == 0  &&_ 			status != RMS$_EOF) 			{# 			printf ("%-.6s\n", record.name);_ 			status = SYS$GET (&idx_rab);c 			} 		}eF 	/*We are finished - disconnect the record stream anfd close the file. 	 */5 	if (((status = SYS$DISCONNECT (&idx_rab)) & 1) != 1)N 					LIB$STOP (status);n0 	if (((status = SYS$CLOSE (&idx_fab)) & 1) != 1) 					LIB$STOP (status);) 	} /*$CLOS=INDEXED.C*/	 /*$OPEN=LIBPUTOUT.C*/,
 /*LIBPUTOUT.CrB This program will call the run-time library routine LIB$PUT_OUTPUT* in order to type a message to SYS$OUTPUT*/   #include descrip;A   main() {f 	register status;	& 	$DESCRIPTOR (out_str, "Hello there");  5 	if (((status = LIB$PUT_OUTPUT (&out_str)) & 1) != 1)r 					LIB$STOP (status);A }_ /*$CLOS=LIBPUTOUT.C*/d /*$OPEN=LIBTIMER.C*/F /*libtimer.c -	This program illustrates the use of the RTL performance 		measurement routines.	  */$   main() 	{ 	register status, i, j;  	int array [100][100];   	/*Initialize the RTL timer  	 */, 	if (((status = LIB$INIT_TIMER()) & 1) != 1) 					LIB$STOP (status);i  9 	printf ("Usage values before initializing the array\n");<  , 	if (((status = LIB$SHOW_TIMER()) & 1) != 1) 					LIB$STOP (status);   8 	/*Initialize the array - array[i][j] is more efficient  		than array[j][i] 	 */ 	for (i = 0 ; i < 100 ; i++) 		for (j = 0 ; j < 100 ; j++)l 			array [j][i] = i*j;    > 	printf ("\n\n\nUsage values after initializing the array\n");  , 	if (((status = LIB$SHOW_TIMER()) & 1) != 1) 					LIB$STOP (status);	 	} /*$CLOS=LIBTIMER.C*/ /*$OPEN=LISTIT.COM*/ $!LISTIT.COM $!= $	WRITE SYS$OUTPUT "Control is passed to a command procedure"$5 $	WRITE SYS$OUTPUT "This is a test of LIB$DO_COMMAND"f /*$CLOS=LISTIT.COM*/ /*$OPEN=LOCKER.C*/B /* locker.c -	This program illustractes how the program region can= 		be expanded, and the new pages locked into the working set.A  */R   main() 	{ 	int lock_range[2];_ 	register status;   & 	/*Add two pages to the program region 	 */; 	if (((status = SYS$EXPREG (2, lock_range, 0,0)) & 1) != 1)d 					LIB$STOP (status);A  & 	/*Lock new pages into the working set 	 */8 	if (((status = SYS$LKWSET (lock_range, 0,0)) & 1) != 1) 					LIB$STOP (status);n  ; 	printf ("P0 expanded and locked into the working set.\n");r 	} /*$CLOS=LOCKER.C*/ /*$OPEN=LOGNAM.C*/I /*lognam.c -	This program illustrates the system services that create andf 		translate logical namese  */e   #include descrip   main() 	{ 	register status;d 	static char eqlbuf [64]; ? 	struct dsc$descriptor eqlnam = {sizeof (eqlbuf), 0,0, eqlbuf};f& 	static $DESCRIPTOR (devnam, "MTA1:");$ 	static $DESCRIPTOR (lognam, "OUT"); 	int length;  & 	/*Create the process logical name OUT 	 */? 	if (((status = SYS$CRELOG (2, &lognam, &devnam, 0)) & 1) != 1)I 					LIB$STOP (status);d  ! 	/*Translate the logical name OUTd 	 */I 	if (((status = SYS$TRNLOG (&lognam, &length, &eqlnam, 0,0,0)) & 1) != 1)	 					LIB$STOP (status);   ( 	/*Write the translation to the terminal 	 */  3 	eqlbuf [length] = 0;		/*null byte for terminator*/*  < 	printf ("Translation of logical name OUT is %s\n", eqlbuf); 	} /*$CLOS=LOGNAM.C*/ /*$OPEN=MACSUM.MAR*/ ;MACSUM.MARs8 ; This MACRO procedure calculates the sum of two numbers ;a" GETSUM::	.WORD				;Null entry mask 		CLRQ	R0			;Clear R0 and R1* 		ADDL3	@4(AP), @8(AP), R0	;Obtain the sum 		RETn 		.END /*$CLOS=MACSUM.MAR*/ /*$OPEN=MAILR.C*/ F /* mailr.c	Normally this program will read from the mailbox created by@ 		MAILS.  If it is run first then it will create the mailbox and@ 		wait for MAILS to write to it.   It displays whatever it reads 		fom the mailbox.  */d   #include descrip #include iodef   main() 	{ 	int status; 	short channel,iosb[4];/ 	char buffer[40];R0 	static $DESCRIPTOR(mailbox_name,"FOZZIE_BEAR");  < 	/* Create the mailbox and get back a channel number for it. 	 */  H 	if (((status = SYS$CREMBX(0,&channel,0,0,0,0,&mailbox_name)) & 1) != 1) 		LIB$STOP(status);i  E 	/* Read from the mailbox.  We supply an iosb so that we can find out	 	   how long the message is. 	 */  9 	if (((status = SYS$QIOW(1,channel,IO$_READVBLK,iosb,0,0,$. 				buffer,sizeof(buffer),0,0,0,0)) & 1) != 1) 		LIB$STOP(status);f  D 	/* Write the received message to SYS$OUTPUT.   UNIX I/O is easiest,$ 	   as we know how long the data is. 	 */   	write(1,buffer,iosb[1]);t 	} /*$CLOS=MAILR.C*/n /*$OPEN=MAILS.C*//L /* mails.c -	This program will create a mailbox called FOZZIE_BEAR and write@ 		a message to it.   Since the write QIOW is synchronous and the8 		IO$M_NOW function code modifier is not used, the write? 		operation will not be completed until the MAILR program reads/ 		the message.  */d   #include descrip #include iodef   main() 	{ 	int status; 	short channel;s/ 	static char *message = "This is a message.\n";s0 	static $DESCRIPTOR(mailbox_name,"FOZZIE_BEAR");    < 	/* Create the mailbox and get back a channel number for it. 	 */  H 	if (((status = SYS$CREMBX(0,&channel,0,0,0,0,&mailbox_name)) & 1) != 1) 		LIB$STOP(status);   # 	/* Write a message to the mailbox.e 	 */  7 	if (((status = SYS$QIOW(1,channel,IO$_WRITEVBLK,0,0,0,*0 				message,strlen(message),0,0,0,0)) & 1) != 1) 		LIB$STOP(status);   - 	/* Confirm that mailbox write has completed./ 	 */  0 	puts("MAILS has completed the mailbox write."); 	} /*$CLOS=MAILS.C*/  /*$OPEN=MAKSTRM.C*/;J /* makstrm.c -	This program will create the stream file ASCSTRM.DAT needed@ 		for a laboratory exercise of the course UTILIZING VMS FEATURES
 		IN VAX-11 Cm  */s   #include stdio   main() 	{ 	FILE *fcb;t 	register i, j;,( 	static char record [11] = "AAAAAAAAAA";  1 	if (( fcb = fopen ("ASCSTRM.DAT", "w")) == NULL)s# 			printf ("OPEN ERROR\n"), exit();    	  	for (i = 0 ; i < 26 ; i++)  		{s' 		if (fwrite (record, 10, 1, fcb) == 0) $ 			printf ("WRITE ERROR\n"), exit();+ 		for (j = 0 ; j < 10 ; record[j]++, j++) ;s 		};   	if (fclose (fcb) != 0); 		printf ("CLOSE ERROR\n");_ 	} /*$CLOS=MAKSTRM.C*/* /*$OPEN=MESPRG.C*/C /*mesprg.c -	This program illustrates the use of user defined errort8 		messages and the MESSAGE utility.  It uses the message 		file MESTXT.MSGC  */    #include descrip   main() 	{$ 	globalref int PRG_BEGIN, PRG_FATAL;# 	$DESCRIPTOR (proc_name, "MESPRG");[    " 	/*Signal an informational message 	 */  + 	LIB$SIGNAL (&PRG_BEGIN, 2, &proc_name, 0);0   	/*Signal a fatal message  	 */   	LIB$SIGNAL (&PRG_FATAL);   / 	printf ("The program never gets this far.\n");( 	} /*$CLOS=MESPRG.C*/ /*$OPEN=MESTXT.MSG*/ !MESTXT.MSGn 	.TITLE MESTXT ! 0 !This is the message file for the program MESPRG !s 	.FACILITY	PRG, 1n   	.SEVERITY	INFO;0 	BEGIN	<Beginning procedure !AS, at !%D.> /FAO=2+ 	END	<Ending procedure !AS, at !%D.> /FAO=2e   	.SEVERITY	SEVEREf 	FATAL	<This is a fatal error.>    	.ENDt /*$CLOS=MESTXT.MSG*/ /*$OPEN=NAM.H*/	" /*	NAM - Name Block Definitions	*/   struct	NAM	{- 		char	nam$b_bid;		/* block identification */a5 #define			NAM$C_BID	2	/* block identification code */r  % 		char	nam$b_bln;		/* block length */S: #define			NAM$C_BLN	0x060	/* block length constant - V3 */ #define			NAM$K_BLN	0x060s= #define			NAM$C_BLN_V2	0x038	/* block length constant - V2 */( #define			NAM$K_BLN_V2	0x038  3 		char	nam$b_rss;		/* resultant string area size */eM #define			NAM$C_MAXRSS	252	/* maximum resultant name string size (network) */tN #define			NAM$C_MAXRSSLCL	252	/* maximum resultant name string size (local) */  0 		char	nam$b_rsl;		/* resultant string length */7 		char	*nam$l_rsa;		/* resultant string area address */_  M        unsigned	char	nam$b_nop;			/* name options (currently undocumented) */ J #define			NAM$V_PWD	0		/* return password if present in nodespec string */$ #define 		NAM$M_PWD	(1 << NAM$V_PWD)O #define 		NAM$V_ROD	1		/* return optional data if present in taskspec string */i$ #define 		NAM$M_ROD	(1 << NAM$V_ROD)M #define 		NAM$V_SOD	2		/* send optional data if present in taskspec string */R$ #define 		NAM$M_SOD	(1 << NAM$V_SOD)  I 		char	nam$b_rfs;		/* remote file system type (currently undocumented) */ G #define			NAM$C_UFS	0	/* unknown file system for remote file access, ors1 						   not applicable for local file access, orr5 						   not applicable for task to task operation */ $ #define			NAM$C_RMS11	1	/* RMS-11 */$ #define			NAM$C_RMS20	2	/* RMS-20 */$ #define			NAM$C_RMS32	3	/* RMS-32 */$ #define			NAM$C_FCS11	4	/* FCS-11 */0 #define			NAM$C_RT11FS	5	/* RT-11 file system */4 #define			NAM$C_TOPS20FS	7	/* TOPS-20 file system */4 #define			NAM$C_TOPS10FS	8	/* TOPS-10 file system */  2 		char	nam$b_ess;		/* expanded string area size *// 		char	nam$b_esl;		/* expanded string length */l6 		char	*nam$l_esa;		/* expanded string area address */  > 	 struct	NAM	*nam$l_rlf;		/* related file NAM block address */0 #define			NAM$C_DVI	16	/* length of dvi field */  , 		char	nam$t_dvi[NAM$C_DVI];	/* device id */$ 		short	nam$w_fid[3];		/* file id */) 		short	nam$w_did[3];		/* directory id */o  7        unsigned	int	nam$l_wcc;		/* wild card context */ @ #define			NAM$V_SVCTX	31		/* save context across search calls */( #define			NAM$M_SVCTX	(1 << NAM$V_SVCTX)  =        unsigned	int	nam$l_fnb;				/* file name status bits */s< #define			NAM$V_EXP_VER	0			/* version number is explicit */, #define			NAM$M_EXP_VER	(1 << NAM$V_EXP_VER)8 #define			NAM$V_EXP_TYPE	1			/* file type is explicit */. #define			NAM$M_EXP_TYPE	(1 << NAM$V_EXP_TYPE)8 #define			NAM$V_EXP_NAME	2			/* file name is explicit */. #define			NAM$M_EXP_NAME	(1 << NAM$V_EXP_NAME)G #define			NAM$V_WILD_VER	3			/* version number containes a wild card */n. #define			NAM$M_WILD_VER	(1 << NAM$V_WILD_VER)C #define			NAM$V_WILD_TYPE	4			/* file type containes a wild card */G0 #define			NAM$M_WILD_TYPE	(1 << NAM$V_WILD_TYPE)C #define			NAM$V_WILD_NAME	5			/* file name containes a wild card */*0 #define			NAM$M_WILD_NAME	(1 << NAM$V_WILD_NAME)< #define			NAM$V_EXP_DIR	6			/* directory spec is explicit */, #define			NAM$M_EXP_DIR	(1 << NAM$V_EXP_DIR)9 #define			NAM$V_EXP_DEV	7			/* device name is explicit */u, #define			NAM$M_EXP_DEV	(1 << NAM$V_EXP_DEV)Q #define			NAM$V_WILDCARD	8			/* file name string includes a wild card (inclusive  ) 								   or of other wild card bits) */i/ #define			NAM$M_WILDCARD	(1 << NAM$V_WILDCARD)	 E #define			NAM$V_CNCL_DEV	12			/* device name is a concealed device */ . #define			NAM$M_CNCL_DEV	(1 << NAM$V_CNCL_DEV)M #define			NAM$V_ROOT_DIR	13			/* device name incorporates a root directory */ . #define			NAM$M_ROOT_DIR	(1 << NAM$V_ROOT_DIR)P #define			NAM$V_LOWVER	14			/* lower numbered version(s) of the file exist(s) */* #define			NAM$M_LOWVER	(1 << NAM$V_LOWVER)R #define			NAM$V_HIGHVER	15			/* higher numbered version(s) of the file exist(s) */, #define			NAM$M_HIGHVER	(1 << NAM$V_HIGHVER)I #define			NAM$V_PPF	16			/* indirectly accessed process permanent file */ $ #define			NAM$M_PPF	(1 << NAM$V_PPF)G #define			NAM$V_NODE	17			/* file specification includes a node name */a& #define			NAM$M_NODE	(1 << NAM$V_NODE)D #define			NAM$V_QUOTED	18			/* file spec includes a quoted string */* #define			NAM$M_QUOTED	(1 << NAM$V_QUOTED)R #define			NAM$V_GRP_MBR	19			/* directory spec is of group-member number format */, #define			NAM$M_GRP_MBR	(1 << NAM$V_GRP_MBR)G #define			NAM$V_WILD_DIR	20			/* directory spec includes a wild card */e. #define			NAM$M_WILD_DIR	(1 << NAM$V_WILD_DIR)Q #define			NAM$V_DIR_LVLS	21 			/* number of subdirectory levels (0 = ufd only) */i #define			NAM$S_DIR_LVLS	3. #define			NAM$M_DIR_LVLS	(7 << NAM$V_DIR_LVLS)  1 /* separate byte for wild card directory flags */TQ #define			NAM$V_WILD_UFD	24			/* user file directory spec includes a wild card */=. #define			NAM$M_WILD_UFD	(1 << NAM$V_WILD_UFD)R #define			NAM$V_WILD_SFD1	25			/* subfile directory 1 spec includes a wild card */0 #define			NAM$M_WILD_SFD1	(1 << NAM$V_WILD_SFD1)> #define			NAM$V_WILD_SFD2	26			/* sfd2 includes a wild card */0 #define			NAM$M_WILD_SFD2	(1 << NAM$V_WILD_SFD2)> #define			NAM$V_WILD_SFD3	27			/* sfd3 includes a wild card */0 #define			NAM$M_WILD_SFD3	(1 << NAM$V_WILD_SFD3)> #define			NAM$V_WILD_SFD4	28			/* sfd4 includes a wild card */0 #define			NAM$M_WILD_SFD4	(1 << NAM$V_WILD_SFD4)> #define			NAM$V_WILD_SFD5	29			/* sfd5 includes a wild card */0 #define			NAM$M_WILD_SFD5	(1 << NAM$V_WILD_SFD5)> #define			NAM$V_WILD_SFD6	30			/* sfd6 includes a wild card */0 #define			NAM$M_WILD_SFD6	(1 << NAM$V_WILD_SFD6)> #define			NAM$V_WILD_SFD7	31			/* sfd7 includes a wild card */0 #define			NAM$M_WILD_SFD7	(1 << NAM$V_WILD_SFD7)  6 /* alternate definitions for wild_ufd and wild_sfd1 */? #define			NAM$V_WILD_GRP	24			/* group containes a wild card */-. #define			NAM$M_WILD_GRP	(1 << NAM$V_WILD_GRP)@ #define			NAM$V_WILD_MBR	25			/* member containes a wild card */. #define			NAM$M_WILD_MBR	(1 << NAM$V_WILD_MBR)  ' /*  Extend the NAM Block by 40 bytes */   1 		char	nam$b_node;		/* node name string length */$. 		char 	nam$b_dev;		/* device string length */0 		char	nam$b_dir;		/* directory string length */1 		char	nam$b_name;		/* file name string length */C2 		char 	nam$b_type;		/* file type string length */4 		char 	nam$b_ver;		/* file version string length */  ( 		unsigned	: 16;		/* currently unused */  3 		char	*nam$l_node;		/* node name string address */ / 		char	*nam$l_dev;		/* device string address *//2 		char	*nam$l_dir;		/* directory string address */3 		char	*nam$l_name;		/* file name string address */a3 		char	*nam$l_type;		/* file type string address */ 5 		char	*nam$l_ver;		/* file version string address */m  ( 		unsigned	: 32;		/* currently unused */( 		unsigned	: 32;		/* currently unused */ 		};     struct { 	unsigned	: 32;  	unsigned	: 32;  	unsigned	: 32;n 	unsigned	: 32;  	unsigned	: 32;	 	unsigned	: 32;S 	unsigned	: 32;  	unsigned	: 32;( 	unsigned	: 32;}  0 	unsigned short	nam$w_fid_num;	/* file number */4 	unsigned short	nam$w_fid_seq;	/* sequence number */; 	unsigned short	nam$w_fid_rvn;	/* relative volume number */i0 	unsigned short	nam$w_did_num;	/* file number */4 	unsigned short	nam$w_did_seq;	/* sequence number */; 	unsigned short	nam$w_did_rvn;	/* relative volume number */B 	};     S globalref struct NAM cc$rms_nam;	/* Declare initialized prototype data structure */u /*$CLOS=NAM.H*/  /*$OPEN=NAME.C*/E /*name.c -  This program will obtain parameters and qualififers from  - 	a command line and print it to the terminal.	  */S   #include stdio #include descrip   main() 	{ 	register status;& 	int fd; 	$DESCRIPTOR (first, "FIRST");  	$DESCRIPTOR (middle, "MIDDLE"); 	$DESCRIPTOR (last, "LAST");- 	static struct dsc$descriptor_d first_name = g& 		{0, DSC$K_DTYPE_T, DSC$K_CLASS_D,0};. 	static struct dsc$descriptor_d middle_name = & 		{0, DSC$K_DTYPE_T, DSC$K_CLASS_D,0};, 	static struct dsc$descriptor_d last_name = & 		{0, DSC$K_DTYPE_T, DSC$K_CLASS_D,0};  9 	/*Get the value of the two parameters and the qualifier  8 	  from DCL.  No status checks since they may be absent. 	 */% 	CLI$GET_VALUE (&first, &first_name);o' 	CLI$GET_VALUE (&middle, &middle_name);n# 	CLI$GET_VALUE (&last, &last_name);[  9 	/*Write the name to the terminal using UNIX I/O since we : 	  know the size from the descriptor and the string is not 	  null terminated.a 	 */  ) 	if ((fd = open ("SYS$OUTPUT", 1)) == -1)b 		printf ("OPEN ERROR\n");   		putchar ('\n');F? 	write (fd, first_name.dsc$a_pointer, first_name.dsc$w_length);d 		putchar ('\n');kA 	write (fd, middle_name.dsc$a_pointer, middle_name.dsc$w_length);	 		putchar ('\n'); = 	write (fd, last_name.dsc$a_pointer, last_name.dsc$w_length);y 		putchar ('\n');i 	} /*$CLOS=NAME.C*/ /*$OPEN=NAME.CLD*/	 !NAME.CLD  DEFINE VERB name 	IMAGE my_directory:name# 	PARAMETER P1,	PROMPT="First name",O 			LABEL=first,  			VALUE(REQUIRED,LIST)  	PARAMETER P2,	LABEL=last, 			VALUE(DEFAULT="student") " 	QUALIFIER middle, VALUE(REQUIRED) /*$CLOS=NAME.CLD*/ /*$OPEN=NEWLOCK.C*/,C /* newlock.c -	SYS$ENQW is used in the program to place a lock on ae 		resource called DATABASE  */    #include descrip #define  LCK$K_PRMODE  0X3   main() 	{& 	$DESCRIPTOR (share_item, "DATABASE"); 	register status;" 	int statblk[2];   	printf ("Enqueuing lock..\n");   7 	if (((status = SYS$ENQW (0, LCK$K_PRMODE, statblk, 0, u( 				&share_item,0,0,0,0,0,0)) & 1) != 1) 					LIB$STOP (status);d  % 	printf ("Lock has been granted.\n");t  6 	if (((status = SYS$DEQ (statblk[1],0,0,0)) & 1) != 1) 					LIB$STOP (status);   & 	printf ("Lock has been dequeued.\n"); 	} /*$CLOS=NEWLOCK.C*/  /*$OPEN=OPT.OPT*/i0 PSECT=SECTION,PIC,OVR,REL,GBL,SHR,NOEXE,WRT,PAGE /*$CLOS=OPT.OPT*/( /*$OPEN=PRIVATE1.C*/E /*private1.c -	This program illustrates the use of a private section.Y: 		It creates a file and then maps it as a private section,2 		which is written to and printed to the terminal.  > 	This version uses the EXPREG flag to obtain virtual addresses1 	at the high end of the image's P0 address space.P  */    #include rms #include stdio #include secdeft   main() 	{ 	register status;l 	struct FAB fab;( 	static char filespec[] = "SECTION.DAT";$ 	static int i, inadr [2] = {0, 511}; 	static char *retadr [2];*  & 	/*Initialize the FAB - RAB not needed 	 */ 	fab = cc$rms_fab;   	fab.fab$l_fna	= filespec;# 	fab.fab$b_fns	= sizeof (filespec);{3 	fab.fab$l_fop	= FAB$M_UFO | FAB$M_CIF | FAB$M_CBT;  	fab.fab$l_alq	= 1;   = 	/*Open the file - connecting the record stream not necessaryL 	 */- 	if (((status = SYS$CREATE (&fab)) & 1) != 1)n 					LIB$STOP (status);<  > 	/*Create and map the writeable private section expanding into= 	the P0 address space and specifying the channel number from i 	the FAB 	 */F 	if (((status = SYS$CRMPSC (inadr, retadr ,0, SEC$M_WRT|SEC$M_EXPREG, . 				0,0,0, fab.fab$l_stv, 0,0,0,0)) & 1) != 1) 					LIB$STOP (status);i  ! 	/*Write into the private sectionu 	 */ 	for (i = 0 ; i <= 9 ; i++)	7 		*(retadr[0] + i) = i + 0x30;	/*Hex code for numbers*/=' 	*(retadr[0] + 10) = 0;			/*null byte*/Y  1 	/*Print from the private section to the terminal  	 */C 	printf ("The contents of the private section is %s\n", retadr[0]);/ 	} /*$CLOS=PRIVATE1.C*/ /*$OPEN=PRIVATE2.C*/E /*private2.c -	This program illustrates the use of a private section.g: 		It creates a file and then maps it as a private section,2 		which is written to and printed to the terminal.  : 	This version uses addresses within the image (an external 	array) to map to the section.  */L   #include rms #include stdio #include secdefw  H /* The external array  "section"  will be used as the virtual addresses I    for the private section.  These addresses must begin and end on a pagenK    boundary.  The following linker option will cause the linker to align itrK    on a page boundary and its size guarantees it to end on a page boundary.a5 		PSECT = SECTION, PIC,OVR,REL,GBL,SHR,NOEXE,WRT,PAGE   */s   char section [512];    main() 	{ 	register status, i; 	struct FAB fab;( 	static char filespec[] = "SECTION.DAT";5 	static int inadr [2] = {&section[0], &section[511]};   & 	/*Initialize the FAB - RAB not needed 	 */ 	fab = cc$rms_fab;   	fab.fab$l_fna	= filespec;# 	fab.fab$b_fns	= sizeof (filespec);B3 	fab.fab$l_fop	= FAB$M_UFO | FAB$M_CIF | FAB$M_CBT;d 	fab.fab$l_alq	= 1;   = 	/*Open the file - connecting the record stream not necessary	 	 */- 	if (((status = SYS$CREATE (&fab)) & 1) != 1)h 					LIB$STOP (status);u  : 	/*Create and map the writeable private section using the : 	addresses in the external array  "section" and specifying  	the channel number from the FAB 	 */9 	if (((status = SYS$CRMPSC (inadr, 0,0, SEC$M_WRT, 0,0,0,n' 				fab.fab$l_stv, 0,0,0,0)) & 1) != 1)  					LIB$STOP (status);R  ! 	/*Write into the private section; 	 */ 	for (i = 0 ; i <= 9 ; i++)C2 		section [i] = i + 0x30;	/*Hex code for numbers*/# 	section [10]  =  0;		/*null byte*/   1 	/*Print from the private section to the terminal  	 */A 	printf ("The contents of the private section is %s\n", section);p 	} /*$CLOS=PRIVATE2.C*/ /*$OPEN=PROC1.C*/*C /*proc1.c -	This program creates a detached process.  It associatess6 		to a common event flag cluster, creates the detached7 		process, then waits for a common event flag to be seti 		by the detached process.  */r   #include descrip   main() 	{ 	register status;e* 	$DESCRIPTOR (cluster_name, "MY_CLUSTER");G 	$DESCRIPTOR (image_name, "[OBRIEN.CCC.SUPP.CPROG.EXAMPLES]PROC2.EXE");e% 	$DESCRIPTOR (process_name, "CHILD");e 	static struct 		{s 		short member;1 		short group; 		}, 		uic = {4, 10};  . 	/*Associate to a common event flag cluster #2 	 */> 	if (((status = SYS$ASCEFC (64, &cluster_name,0,0)) & 1) != 1) 					LIB$STOP (status);    	/*Create a detached process 	 */5 	if (((status = SYS$CREPRC (0, &image_name,0,0,0,0,0,E& 				&process_name,4,0,0,0)) & 1) != 1) 					LIB$STOP (status);l  A 	/*Wait for a common event flag to be set by the detached processs 	 */  2 	printf ("Waiting for common EF 65 to be set.\n");   	SYS$WAITFR(65);  ) 	printf ("Common EF 65 has been set.\n");A 	} /*$CLOS=PROC1.C*/h /*$OPEN=PROC2.C*/ A /*proc2.c -	This program will run in a detached process; it will t4 		associate to a common event flag cluster and set a3 		event flag which will allow its parent process to" 		continue.r  */t   #include descrip   main() 	{ 	register status;/* 	$DESCRIPTOR (cluster_name, "MY_CLUSTER");  > 	if (((status = SYS$ASCEFC (64, &cluster_name,0,0)) & 1) != 1) 					LIB$STOP (status);x  * 	if (((status = SYS$SETEF (65)) & 1) != 1) 					LIB$STOP (status);	 	} /*$CLOS=PROC2.C*/e /*$OPEN=QIOW.C*/? /*qiow.c -	This program illustrates the use of the $QIOW systemc3 		service to perform synchronous I/O to a terminal.i  */w   #include iodef #include descrip   main() 	{ 	register status, i;4 	static char text_string[] = "This is from a $QIOW"; 	short term_chan;a' 	$DESCRIPTOR (terminal, "SYS$COMMAND");   * 	/*Assign a channel number to the terminal 	 */B 	if (((status = SYS$ASSIGN (&terminal, &term_chan,0,0)) & 1) != 1) 					LIB$STOP (status);(   	/*Output the message twice" 	 */ 	for (i = 0 ; i < 2 ; i++)7 		if (((status = SYS$QIOW (0, term_chan, IO$_WRITEVBLK,s. 				0,0,0, &text_string, sizeof (text_string), 				0, 32,0,0)) & 1) != 1) 					LIB$STOP (status);1 	} /*$CLOS=QIOW.C*/ /*$OPEN=RAB.H*/f+ /*	RAB - Record Access Block Definitions	*/)   struct	RAB	{- 		char	rab$b_bid;		/* block identification */T9 #define			RAB$C_BID	1	/* block identification constant */e  % 		char	rab$b_bln;		/* block length */t5 #define 		RAB$C_BLN	0x044	/* block length constant */p #define 		RAB$K_BLN	0x044i  6 		short	rab$w_isi;				/* internal stream identifier */G #define			RAB$V_PPF_RAT	6			/* rat value for process-permanent files */E #define			RAB$S_PPF_RAT	8 0 #define			RAB$M_PPF_RAT	(0x0ff << RAB$V_PPF_RAT)L #define			RAB$V_PPF_IND	14			/* indirect access to process-permanent file */, #define			RAB$M_PPF_IND	(1 << RAB$V_PPF_IND)  @        unsigned	int	rab$l_rop;			/* record processing options */4 #define			RAB$V_ASY	0		/* asynchronous operations */$ #define			RAB$M_ASY	(1 << RAB$V_ASY)R #define			RAB$V_TPT	1		/* truncate-on-put - allow sequential put not at eof, thus ; 							   truncating file (sequential organization only) */E$ #define			RAB$M_TPT	(1 << RAB$V_TPT)K #define 		RAB$V_REA	2		/* lock record for read only, allow other readers */f$ #define			RAB$M_REA	(1 << RAB$V_REA); #define			RAB$V_RRL	3		/* read record regardless of lock */n$ #define			RAB$M_RRL	(1 << RAB$V_RRL)/ #define			RAB$V_UIF	4		/* update if existent */n$ #define			RAB$M_UIF	(1 << RAB$V_UIF)- #define			RAB$V_MAS	5		/* mass-insert mode */8$ #define			RAB$M_MAS	(1 << RAB$V_MAS)1 #define			RAB$V_FDL	6		/* fast record deletion */a$ #define			RAB$M_FDL	(1 << RAB$V_FDL)1 #define			RAB$V_HSH	7		/* use hash code in bkt */r$ #define			RAB$M_HSH	(1 << RAB$V_HSH)3 #define			RAB$V_EOF	8		/* connect to end-of-file */	$ #define			RAB$M_EOF	(1 << RAB$V_EOF)' #define			RAB$V_RAH	9		/* read ahead */n$ #define			RAB$M_RAH	(1 << RAB$V_RAH)* #define			RAB$V_WBH	10		/* write behind */$ #define			RAB$M_WBH	(1 << RAB$V_WBH)8 #define			RAB$V_BIO	11		/* connect for block I/O only */$ #define			RAB$M_BIO	(1 << RAB$V_BIO)E #define			RAB$V_LOA	13		/* load buckets according to the file size */O$ #define			RAB$M_LOA	(1 << RAB$V_LOA)X #define			RAB$V_LIM	14		/* compare for key limit reached on $get/$find seq.(idx only) */$ #define			RAB$M_LIM	(1 << RAB$V_LIM)- #define			RAB$V_LOC	16		/* use locate mode */$$ #define			RAB$M_LOC	(1 << RAB$V_LOC): #define			RAB$V_WAT	17		/* wait if record not available */$ #define			RAB$M_WAT	(1 << RAB$V_WAT). #define			RAB$V_ULK	18		/* manual unlocking */$ #define			RAB$M_ULK	(1 << RAB$V_ULK)B #define			RAB$V_RLK	19		/* allow readers for this locked record */$ #define			RAB$M_RLK	(1 << RAB$V_RLK)0 #define			RAB$V_NLK	20		/* do not lock record */$ #define			RAB$M_NLK	(1 << RAB$V_NLK)= #define			RAB$V_KGE	21		/* key is greater than or equal to */ $ #define			RAB$M_KGE	(1 << RAB$V_KGE)1 #define			RAB$V_KGT	22		/* key is greater than */ $ #define			RAB$M_KGT	(1 << RAB$V_KGT)< #define			RAB$V_NXR	23		/* non-existent record processing */$ #define			RAB$M_NXR	(1 << RAB$V_NXR)* #define			RAB$V_RNE	24		/* read no echo */$ #define			RAB$M_RNE	(1 << RAB$V_RNE)1 #define			RAB$V_TMO	25		/* use time-out period */	$ #define			RAB$M_TMO	(1 << RAB$V_TMO)3 #define			RAB$V_CVT	26		/* convert to upper case */n$ #define			RAB$M_CVT	(1 << RAB$V_CVT), #define			RAB$V_RNF	27		/* read no filter */$ #define 		RAB$M_RNF	(1 << RAB$V_RNF). #define			RAB$V_PTA	29		/* purge type ahead */$ #define			RAB$M_PTA	(1 << RAB$V_PTA)/ #define			RAB$V_PMT	30		/* use prompt buffer */A$ #define			RAB$M_PMT	(1 << RAB$V_PMT)8 #define			RAB$V_CCO	31		/* cancel control O on output */$ #define			RAB$M_CCO	(1 << RAB$V_CCO)  . 		int	rab$l_sts;		/* completion status code */$ 		int	rab$l_stv;		/* status value */2 		short	rab$w_rfa[3];		/* record's file address */   		unsigned : 16;			/* spare */  $ 		int	rab$l_ctx;		/* user context */   		unsigned : 16;			/* spare */  . 		char   	rab$b_rac;		/* record access mode */- #define			RAB$C_SEQ	0	/* sequential access */D( #define			RAB$C_KEY	1	/* keyed access */& #define			RAB$C_RFA	2	/* rfa access */I #define			RAB$C_STM	3	/* stream access (valid only for sequential org) */*  ( 		char	rab$b_tmo;		/* time-out period *// 		short	rab$w_usz;		/* user record area size */_% 		short	rab$w_rsz;		/* record size */*2 		char	*rab$l_ubf;		/* user record area address *// 		char	*rab$l_rbf;		/* record buffer address */c6 		char	*rab$l_rhb;		/* record header buffer address */  & 		char	*rab$l_kbf;			/* key address */T #define 		rab$l_pbf	rab$l_kbf	/* prompt buffer address (same offset as rab$l_kbf) */  ) 		char	rab$b_ksz;			/* key buffer size */NQ #define			rab$b_psz	rab$b_ksz	/* prompt buffer size (same offset as rab$b_ksz) */r  ) 		char	rab$b_krf;		/* key of reference */M+ 		char	rab$b_mbf;		/* multi-buffer count */l* 		char	rab$b_mbc;		/* multi-block count */  6 		int	rab$l_bkt;			/* bucket hash code, vbn, or rrn */U #define			rab$l_dct	rab$l_bkt	/* duplicates count on key accessed on alternate key */A  ? 	 struct	FAB	*rab$l_fab;		/* related fab address for connect */e   		unsigned	: 32;		/* spare */i 		};     struct	{ 	unsigned	: 32;$ 	unsigned	: 32;	 	unsigned	: 32;*  7 	unsigned short	rab$w_stv0;	/* low order word of stv */$8 	unsigned short	rab$w_stv2;	/* high order word of stv */ 	unsigned int	rab$l_rfa0;s 	unsigned short	rab$w_rfa4;T 	};     S globalref struct RAB cc$rms_rab;	/* Declare initialized prototype data structure */r /*$CLOS=RAB.H*/n /*$OPEN=READ.C*/: /*read.c -	This program is used in Friday lab exercises in2 		the course UTILIZING VMS FEATURES IN VAX-11 C to, 		read a mailbox that was written by write.c  */_   #include descrip #include ssdef #include rms   main() 	{ 	short chan; 	char msgbuf [80]; 	register status;(  	$DESCRIPTOR (mbxnam, "MY_MBX"); 	struct FAB fab; 	struct RAB rab;   	fab = cc$rms_fab; 	rab = cc$rms_rab;& 	fab.fab$l_fna = mbxnam.dsc$a_pointer;% 	fab.fab$b_fns = mbxnam.dsc$w_length;N 	rab.rab$l_fab = &fab; 	rab.rab$l_ubf = msgbuf;! 	rab.rab$w_usz = sizeof (msgbuf);   C 	if (((status = SYS$CREMBX (0, &chan, 0,0,0,0, &mbxnam)) & 1) != 1)	 					LIB$STOP (status); + 	if (((status = SYS$OPEN (&fab)) & 1) != 1)_ 					LIB$STOP (status);D. 	if (((status = SYS$CONNECT (&rab)) & 1) != 1) 					LIB$STOP (status);dC 	while (((status = SYS$GET (&rab)) & 1) == 1 || status == RMS$_EOF)S 		{8 		if (status != RMS$_EOF)c 			{! 			msgbuf [rab.rab$w_rsz] = '\0';A 			printf ("%s\n", msgbuf);$ 			} 		}	= 	LIB$STOP (status);	/*Error on get - should loop infinitely*/	 	} /*$CLOS=READ.C*/ /*$OPEN=READLOCK.C*/K /* readlock.c - This program enqueues a null lock on the resource DATABASE.A7 		The lock is later converted to a protected read lock.c  */    #include descrip #define  LCK$K_NLMODE  0X0 #define  LCK$K_PRMODE  0X3 #define  LCK$M_CONVERT 0X2   main() 	{ 	register status;$& 	$DESCRIPTOR (share_item, "DATABASE"); 	int statblk[2];  < 	printf ("readlock - Placing a NL lock on the resource.\n");  6 	if (((status = SYS$ENQW (0, LCK$K_NLMODE, statblk, 0,( 			&share_item, 0,0,0,0,0,0)) & 1) != 1) 					LIB$STOP (status);b  ; 	/* Perform operations not requiring access to the resource  	 */  A 	printf ("readlock - Converting the lock from NL to PR mode.\n");t  C 	if (((status = SYS$ENQW (0, LCK$K_PRMODE, statblk, LCK$M_CONVERT, C( 			&share_item, 0,0,0,0,0,0)) & 1) != 1) 					LIB$STOP (status);_  < 	/* Perform operations which require reading of the resource 	 */  # 	printf ("readlock - Finished.\n");  	} /*$CLOS=READLOCK.C*/ /*$OPEN=RECORD.C*/D /* record.c -	This program illustrates interprocess synchronization.7 		It associates to a common event flag cluster INFO anda5 		then waits for the third event flag in that clusterd 		to be set.  */a   #include descrip   main() 	{$ 	$DESCRIPTOR (cluster_desc, "INFO"); 	register status;	  # 	/* Associate to cluster #2 as INFO  	 */? 	if (((status = SYS$ASCEFC (64, &cluster_desc, 0,0)) & 1) != 1)n 					LIB$STOP (status);g  + 	/* Wait for the third event flag to be set  	 */, 	printf ("Waiting for EFN 66 to be set.\n");  + 	if (((status = SYS$WAITFR (66)) & 1) != 1)h 					LIB$STOP (status);u  # 	printf ("EFN 66 has been set.\n");i 	} /*$CLOS=RECORD.C*/ /*$OPEN=RELATIVE.C*/L /*relative.c - 	This program illustrates accessing a relative file randomly.* 		It also performs some I/O status checks.  *//   #include rms #include stdio   main() 	{ 	struct FAB rel_fab; 	struct RAB rel_rab;$ 	static char filespec[] = "REL.DAT"; 	register status;O 	char record[21];e 	int record_num, record_size;p   	/*Initialize the FAB and RAB  	 */ 	rel_fab = cc$rms_fab; 	rel_rab = cc$rms_rab;   	rel_fab.fab$l_fna	= filespec;' 	rel_fab.fab$b_fns	= sizeof (filespec);f 	rel_fab.fab$b_org	= FAB$C_REL;; 	rel_rab.rab$l_fab	= &rel_fab; 	rel_rab.rab$b_rac	= RAB$C_KEY; = 	rel_rab.rab$l_kbf	= &record_num;  /*Relative record number*/P 	rel_rab.rab$b_ksz	= 4;s. 	rel_rab.rab$l_ubf	= record;	/*record buffer*/ 	rel_rab.rab$w_usz	= 20;  , 	/*Open the file and connect a record stream 	 *// 	if (((status = SYS$OPEN (&rel_fab)) & 1) != 1)G 					LIB$STOP (status);a2 	if (((status = SYS$CONNECT (&rel_rab)) & 1) != 1) 					LIB$STOP (status);e  < 	/*Read the records by record number from the relative file.@ 	  Begin by reading the desired record number from the terminal. 	 */  0 	while	(printf ("\nRecord number: ") >= 0    && # 		scanf ("%d", &record_num) != EOF)e 		{t> 		/* Read a record from the file by record number and write it/ 		   to the terminal if the read is successful.E 		 */\3 		if ((status = SYS$GET (&rel_rab)) == RMS$_NORMAL)c 			{# 			record_size = rel_rab.rab$w_rsz;u+ 			record [record_size] = 0;  /*null byte*/_ 			printf ("%s\n", record);n 			} 		/*Else perform error checksd 		 */n 		else if (status == RMS$_RNF)$ 			printf ("Nonexistent record.\n"); 		else if (status == RMS$_KEY), 			printf ("Record number out of range.\n"); 		else if (status == RMS$_MRN), 			printf ("Record number out of range.\n");   		else5 			LIB$SIGNAL (rel_rab.rab$l_sts, rel_rab.rab$l_stv);" 		}nE 	/*We are finished - disconnect the record stream and close the file.E 	 */5 	if (((status = SYS$DISCONNECT (&rel_rab)) & 1) != 1)  					LIB$STOP (status);o0 	if (((status = SYS$CLOSE (&rel_fab)) & 1) != 1) 					LIB$STOP (status);  	} /*$CLOS=RELATIVE.C*/ /*$OPEN=SECTION.DAT*/" /*$CLOS=SECTION.DAT*/  /*$OPEN=SEQ.DAT*/ , 12233344445555566666677777778888888899999999 /*$CLOS=SEQ.DAT*/L /*$OPEN=SEQRMS.C*/D /* seqrms.c -	This program will create a sequential file using RMS, 8 		write 9 records of varying length to that file, close : 		the file, reopen it, read the records from the file and  		print them to the terminal.   */  	  u
 #include rms     main() L 	{ * 	  * 		struct FAB seq_fab;  		struct RAB seq_rab; & 		static char filespec[] = "SEQ.DAT";  		char buffer[10];  / 		register status, record_number, record_size; f 	  i 		/*Initialize the FAB and RAB l 		 */  	  p 		seq_fab = cc$rms_fab;  		seq_rab = cc$rms_rab;  	  n  		seq_fab.fab$l_fna	= filespec; ) 		seq_fab.fab$b_fns	= sizeof (filespec); a3 		seq_fab.fab$b_fac	= FAB$M_PUT;		/*write access*/ s  		seq_rab.rab$l_fab	= &seq_fab; 0 		seq_rab.rab$l_rbf	= buffer;		/*write buffer*/  	  t2 		/*Create the file and connect the record stream  		 */ 3 		if (((status = SYS$CREATE (&seq_fab)) & 1) != 1)   						LIB$STOP (status); i4 		if (((status = SYS$CONNECT (&seq_rab)) & 1) != 1)  						LIB$STOP (status); l 	  ;/ 		/*Write 9 records to the newly created file. l 		 */ @ 		for (record_number = 1 ; record_number <= 9; record_number++)  			{ i= 			/*make the contents of record N be N bytes containing the s 			  char value for N  			 */ =8 			for (record_size = 0 ; record_size < record_number ;  							record_size++) 8 				buffer [record_size] = (char) record_number + 0x30; " 			/*write the record to the file  			 */ s$ 			seq_rab.rab$w_rsz = record_size; 1 			if (((status = SYS$PUT (&seq_rab)) & 1) != 1)   						LIB$STOP (status); L 			}  4 		/*Disconnect the record stream and close the file  		 */ 7 		if (((status = SYS$DISCONNECT (&seq_rab)) & 1) != 1) H 						LIB$STOP (status); r2 		if (((status = SYS$CLOSE (&seq_fab)) & 1) != 1)  						LIB$STOP (status); e 	  i? 		/*Modify the FAB and RAB for sequential reads; open the file "! 			and connect the record stream 1 		 */ ! 		seq_fab.fab$b_fac	= FAB$M_GET; T/ 		seq_rab.rab$l_ubf	= buffer;		/*read buffer*/ i 		seq_rab.rab$w_usz	= 9; n 	  n1 		if (((status = SYS$OPEN (&seq_fab)) & 1) != 1) t 						LIB$STOP (status); a4 		if (((status = SYS$CONNECT (&seq_rab)) & 1) != 1)  						LIB$STOP (status); t 	   C 		/*Read the records from the file and print them to the terminal. * 		 */  	   ) 		while (SYS$GET (&seq_rab) != RMS$_EOF) a 			{ s) 			buffer [(int) seq_rab.rab$w_rsz] = 0; d 			printf ("%s\n", buffer);  			}  4 		/*Disconnect the record stream and close the file  		 */  	  a7 		if (((status = SYS$DISCONNECT (&seq_rab)) & 1) != 1) t 						LIB$STOP (status); a2 		if (((status = SYS$CLOSE (&seq_fab)) & 1) != 1)  						LIB$STOP (status); [ 		}  /*$CLOS=SEQRMS.C*/ /*$OPEN=SEQSTD.C*/J /* seqstd.c -	This program will create a stream file using C standard I/O,; 		write 9 records of varying length to that file, close the ; 		file, reopen it, read the records from the file and print= 		them to the terminal.s  */z   #include stdio   main() 	{ 	FILE *file_ptr; 	char buffer[10];d 	int record_size, i;   	/*Create the file 	 */1 	if ((file_ptr = fopen ("STD.DAT", "w")) == NULL)(& 		printf ("CREATE ERROR\n"), exit (1);  C 	/*Write 9 records to the file - make the contents of record N be Ne( 		bytes containing the ASCII value for N 	 */9 	for (record_size = 1 ; record_size <= 9 ; record_size++)F 		{ % 		for (i = 0 ; i < record_size ; i++)0) 			buffer[i] = (char) record_size + 0x30;0* 		buffer [record_size] = 0;		/*null byte*/' 		if (fputs (buffer, file_ptr) == NULL) % 			printf ("WRITE ERROR\n"), exit(1);e 		} 0 	/*Close the file and re-open it for read access 	 */ 	if (fclose (file_ptr) == EOF)$ 		printf ("CLOSE ERROR\n"), exit(1);1 	if ((file_ptr = fopen ("STD.DAT", "r")) == NULL) # 		printf ("OPEN ERROR\n"), exit(1);CA 	/*Read the records from the file and print them to the terminal.t 	 */  9 	for (record_size = 1 ; record_size <= 9 ; record_size++)u 		{ 6 		if (fgets (buffer, record_size+1, file_ptr) == NULL)$ 			printf ("READ ERROR\n"), exit(1); 		printf ("%s\n", buffer); 		}s# 	/*We are finished - close the filee 	 */ 	if (fclose (file_ptr) == EOF) 		printf ("CLOSE ERROR\n");a 	} /*$CLOS=SEQSTD.C*/ /*$OPEN=SEQUNIX.C*/EG /* sequnix.c -	This program will create a stream file using C UNIX I/O,r; 		write 9 records of varying length to that file, close thec; 		file, reopen it, read the records from the file and print  		them to the terminal.n  */,   #include stdio   main() 	{ 	int file_desc, record_size, i;p 	char buffer [9];(   	/*Create the file 	 */A 	if((file_desc = creat ("UNIX", 0700, "deq=10", "dna=MYFILE.DAT",L 							"fop=ctg")) == -1)i% 		printf ("CREATE ERROR\n"), exit(1);t  D 	/*Write 9 records to the file - make the contents of record N be N ( 		bytes containing the ASCII value for N 	 */8 	for (record_size = 1 ; record_size <= 9; record_size++) 		{C% 		for (i = 0 ; i < record_size ; i++)u) 			buffer[i] = (char) record_size + 0x30;i5 		if ((write (file_desc, buffer, record_size)) == -1)l% 			printf ("WRITE ERROR\n"), exit(1);t 		}	0 	/*Close the file and re-open it for read access 	 */ 	if (close (file_desc) == -1)l$ 		printf ("CLOSE ERROR\n"), exit(1);. 	if ((file_desc = open ("UNIX.DAT", 0)) == -1)# 		printf ("OPEN ERROR\n"), exit(1);iA 	/*Read the records from the file and print them to the terminal.  	 */8 	for (record_size = 1 ; record_size <= 9; record_size++) 		{u1 		if (read (file_desc, buffer, record_size) <= 0)p$ 			printf ("READ ERROR\n"), exit(1);) 		buffer [record_size] = 0;	/*null byte*/  		printf ("%s\n", buffer); 		};# 	/*We are finished - close the filei 	 */ 	if (close (file_desc) == -1)  		printf ("CLOSE ERROR\N");C 	} /*$CLOS=SEQUNIX.C*/  /*$OPEN=SETDDIR.C*/  /*SETDDIR.C/; This program calls the RMS procedure $SETDDIR to change the)$ default directory for the process.*/   #include descrip main() {/ 	register status; ( 	$DESCRIPTOR (dir, "[COURSE.PROG.MAC]"); 	c2 	if (((status = SYS$SETDDIR (&dir,0,0)) & 1) != 1) 					LIB$STOP (status);3 }, /*$CLOS=SETDDIR.C*/L /*$OPEN=SHARDATA.C*/J /* shardata.c -	This a shared data area which is linked and installed as a< 		writeable shareable image.  It is shareed by shdata1.c and 		shdata2.cf  F 	The name of the global area is necessary in order to make the program/ 	 section shared rather than copy-on-reference.	  */o  & globaldef {"name"} int global [3][10]; /*$CLOS=SHARDATA.C*/ /*$OPEN=SHDATA1.C*/aM /* shdata1.c -	This program writes into the shared data area in the installedr? 		shareable image called SHARDATA.  The program must be linked _ 		with SHARDATA.  */_     main() 	{ 	globalref int global[3][10];a   	register i, j;r  C 	/*Populate the shared array with the product of the row and col #su 	 */   	for (i = 0 ; i < 3 ; i++) 		for (j = 0 ; j < 10 ; j++) 			global [i][j] = i * j;o  5 	printf ("The global section has been populated.\n");d 	}   /*$CLOS=SHDATA1.C*/n /*$OPEN=SHDATA2.C*/eL /* shdata2.c -	This program reads the data stored in the installed shareable= 		image SHARDATA.  It must be linked with the shareable image	 		SHARDATA./  */k   main() 	{ 	globalref int global [3][10]; 	register i;  9 	/*Print the contents of the shared array to the terminalr 	 */  E 	printf ("\tContents of global section\n  Row\t\t0\t1\t2\nColumn\n");_   	for (i = 0 ; i < 10 ; i++)n> 		printf ("%d\t\t%d\t%d\t%d\n", i, global[0][i], global[1][i], 							global[2][i]);  	} /*$CLOS=SHDATA2.C*/  /*$OPEN=SHOWSUM.C*/	L /* This program can call a function written in another native mode language.J The program requests 2 numbers, calls a function to calculate the sum, andM prints the result.  The program when 0 is typed for both of the variables. */	   main() {< 	int a, b, total;n  1 	printf ("\nENTER AN INTEGER, TYPE 0 TO EXIT\t");A 	scanf ("%d", &a);  1 	printf ("\nENTER AN INTEGER, TYPE 0 TO EXIT\t");	 	scanf ("%d", &b);  , 	if ((total = GETSUM (&a, &b)) == 0) exit();  # 	printf ("THE SUM IS %d\n", total);1 }  /*$CLOS=SHOWSUM.C*/	 /*$OPEN=SMGDEF.H*/ #define 	SMG$M_BLINK	0X00004 #define 	SMG$M_REVERSE	0X00002  #define 	SMG$M_UNDERLINE	0X00008     /*$CLOS=SMGDEF.H*/ /*$OPEN=SMGDEF.MAR*/ $smgdefs .end /*$CLOS=SMGDEF.MAR*/ /*$OPEN=SMGOUTPUT.C*/I4 /* This pgm calls Run-Time Library Screen Management(      routines to format screen output.*/     #include iodef #include ssdef #include descrip   main() {$ 	register status;A+      	static int row = 15,col = 30,two = 2;n)      	unsigned smg$m_blink,smg$m_reverse; " 	int stat, new_pid, display_id, i;%      	static $DESCRIPTOR(space,"  ");	1      	static $DESCRIPTOR(howdy,"Howdy, pardner");07      	static $DESCRIPTOR(dub,"Double spaced lines...");$5      	static $DESCRIPTOR(blink,"this line blinking");o;      	static $DESCRIPTOR(rev,"this line is reverse video");	:      	static $DESCRIPTOR(single,"Single spaced lines...");3      	static $DESCRIPTOR(msg,"THIS IS THE BORDER");e        D      if (((status = SMG$CREATE_PASTEBOARD(&new_pid,0,0,0)) &1) !=1)       					LIB$STOP(status);   L      if (((status = SMG$CREATE_VIRTUAL_DISPLAY(&row,&col,&display_id,0,0,0))#      			&1) != 1) LIB$STOP(status);<      			
      row = 5;A      col = 15;        if (((status = A      		SMG$PASTE_VIRTUAL_DISPLAY(&display_id,&new_pid,&row,&col))r#      			&1) != 1) LIB$STOP(status);	  J      if (((status = SMG$LABEL_BORDER(&display_id,&msg,0,0,0,0,0)) &1) !=1)      			LIB$STOP(status);d      ?      if (((status = SMG$PUT_LINE(&display_id,&space,0,0,0,0,0))<#      			&1) != 1) LIB$STOP(status);	    B      if (((status = SMG$PUT_LINE(&display_id,&howdy,&two,0,0,0,0))#      			&1) != 1) LIB$STOP(status);t  @      if (((status = SMG$PUT_LINE(&display_id,&dub,&two,0,0,0,0))#      			&1) != 1) LIB$STOP(status);	      smg$m_blink = 04;      smg$m_reverse = 02;  M      if (((status = SMG$PUT_LINE(&display_id,&blink,&two,&smg$m_blink,0,0,0))r#      			&1) != 1) LIB$STOP(status);_    M      if (((status = SMG$PUT_LINE(&display_id,&rev,&two,&smg$m_reverse,0,0,0))	#      			&1) != 1) LIB$STOP(status);	        T      for(i = 0; i < 5; i++)n      		{E           if (((status = SMG$PUT_LINE(&display_id,&single,0,0,0,0,0))a#      			&1) != 1) LIB$STOP(status);_      		}      } /*$CLOS=SMGOUTPUT.C*/  /*$OPEN=SSCOND.C*/F /* sscond.c	This program shows the use of the SETSFM system service to? 		enable signalling of errors in calls to system services and a 7 		condition handler to deal with the resulting signals._  */a   #include ssdef #include descrip   main() 	{ 	int chandle();	  9 	/* Establish function chandle as a condition handler. */	   	LIB$ESTABLISH(chandle);  ; 	/* Enable signalling of errors in system service calls. */    	SYS$SETSFM(1);	  E 	/* Make a bad call. This will cause an exception to be signalled. */l  % 	SYS$QIOW(0,0,0,0,0,0,0,0,0,0,0,0,0);k  > 	/* The condition handler will continue from the exception. */   	puts("\n\nEnd of program"); 	}  M /* This function will be called as a condition handler after the bad argumente$    list has been passed to SYS$QIOW.  */    chandle(signal,mechanism)    int signal[],mechanism[];  	{ 	static char buf [132];_B 	static struct dsc$descriptor msg_desc = {sizeof (buf),0,0, &buf}; 	int msglen;  @ 	/* Ignore this signal if it is not a system service failure. */   	if (signal[1] != SS$_SSFAIL)c 		return SS$_RESIGNAL; 	elsee 		{t= 		/* Provide a message for the user that describes the system*7 		   service error, but avoids aborting the user image.  		 */o  3 		SYS$GETMSG (signal[2], &msglen, &msg_desc, 15,0);i  ! 		msg_desc.dsc$w_length = msglen;_   		LIB$PUT_OUTPUT (&msg_desc);d  ? 		/* That reported the message to the user, so we can now claimr< 		   to have dealt with the condition.  In a real program it; 		   might be possible to take some corrective action here._ 		 */f   		return SS$_CONTINUE; 		}n 	} /*$CLOS=SSCOND.C*/ /*$OPEN=STD.DAT*/N, 12233344445555566666677777778888888899999999 /*$CLOS=STD.DAT*/z /*$OPEN=SUBPROC.C*/ > /*subproc.c -	Executed by the subprocess created by  termmbx.c  */	   main() {O 	int i, dummy; 	for (i = 0 ; i < 1000 ; i++)& 		dummy = 200; }B /*$CLOS=SUBPROC.C*/  /*$OPEN=TERMMBX.C*/CH /*termmbx.c -	This program illustrates the use of a termination mailbox.9 		When the created subprocess exits, the creating processt1 		reads the message from the termination mailbox.   */A   #include descrip #include stdio #include dvidef  #include iodef   main() 	{ 	register status;* 	int process_id, mbx_chan; 	static int mbx_unit_num;l* 	$DESCRIPTOR (sub_image, "[]SUBPROC.EXE"); 	static struct 		{E 		short buf_length;e 		short item_code; 		int *buf_addr; 		int *ret_addr; 		int terminator;L 		}N/ 		itmlst = {4, DVI$_UNIT, &mbx_unit_num, 0, 0};L 	structE 		{2 		short ACC$W_MSGTYP;e 		short not_used1; 		int ACC$L_FINALSTS;B 		int ACC$L_PID; 		int not_used2; 		int ACC$Q_TERMTIME[2]; 		char ACC$T_ACCOUNT[8]; 		char ACC$T_USERNAME[12]; 		int ACC$L_CPUTIM;a 		int ACC$L_PAGEFLTS;m 		int ACC$L_PGFLPEAK;  		int ACC$L_WSPEAK;a 		int ACC$L_BIOCNT;  		int ACC$L_DIOCNT;i 		int ACC$L_VOLUMES; 		int ACC$Q_LOGIN[2];" 		int ACC$L_OWNER; 		}  		term_mbx_msg;R  0 	/*Create the mailbox and obtain its unit number 	 */@ 	if (((status = SYS$CREMBX (0, &mbx_chan, 0,0,0,0,0)) & 1) != 1) 					LIB$STOP (status);)  I 	if (((status = SYS$GETDVI (20, mbx_chan,0, &itmlst, 0,0,0,0)) & 1) != 1)p 					LIB$STOP (status);e+ 	if (((status = SYS$WAITFR (20)) & 1) != 1)E 					LIB$STOP (status);h  : 	/*Create the subprocess and print its PID to the terminal 	 */E 	if (((status = SYS$CREPRC (&process_id, &sub_image, 0,0,0,0,0,0,0,0,e 			mbx_unit_num,0)) & 1) != 1) 					LIB$STOP (status);e: 	printf ("PID of created subprocess is %X\n", process_id);  = 	/*Read the termination message from the mailbox and print it/ 	   to the terminal$ 	 */; 	if (((status = SYS$QIOW (0, mbx_chan, IO$_READVBLK, 0,0,0,)+ 				&term_mbx_msg, 84, 0,0,0,0)) & 1) != 1)  					LIB$STOP (status);t	 	printf ( 2 	 "Subprocess terminated with exit status = %d\n",  			term_mbx_msg.ACC$L_FINALSTS);	 	printf (p5 	 "CPU time used:\t%d\n", term_mbx_msg.ACC$L_CPUTIM);C	 	printf (=> 	 "Page faults incurred:\t%d\n", term_mbx_msg.ACC$L_PAGEFLTS); 	} /*$CLOS=TERMMBX.C*/. /*$OPEN=TEST.CLD*/	 !TEST.CLDt MODULE TEST_TABLES DEFINE VERB report 	ROUTINE report_command  	PARAMETER P1, LABEL=filespecA 	QUALIFIER editi DEFINE VERB exit 	ROUTINE exit_command  /*$CLOS=TEST.CLD*/ /*$OPEN=TIMEOUT.C*/_F /* timeout.c -	This program will prompt for and read a string from the/ 		terminal with a timeout period of 10 seconds.b  */a   #include rms   main() 	{ 	struct FAB fab; 	struct RAB rab;& 	static char filespec[] = "SYS$INPUT";- 	static char prompt[] = "Enter an integer: ";  	char buffer[40];f 	register status;R   	/*Initialize the FAB and RABb 	 */ 	fab = cc$rms_fab; 	rab = cc$rms_rab;  2 	fab.fab$l_fna	= filespec;		/*SYS$INPUT=terminal*/# 	fab.fab$b_fns	= sizeof (filespec);m 	fab.fab$b_org	= FAB$C_SEQ;P' 	fab.fab$b_fac	= FAB$M_GET | FAB$M_PUT;  	rab.rab$l_fab	= &fab;* 	rab.rab$l_ubf	= buffer;		/*input buffer*/ 	rab.rab$w_usz	= 40;' 	rab.rab$l_rop	= RAB$M_TMO | RAB$M_PMT;o+ 	rab.rab$b_tmo	= 10;			/*timeout interval*/ + 	rab.rab$l_pbf	= prompt;		/*prompt buffer*//! 	rab.rab$b_psz	= sizeof (prompt);r  ' 	/*Form a record stream to the terminalm 	 */+ 	if (((status = SYS$OPEN (&fab)) & 1) != 1)b 					LIB$STOP (status); . 	if (((status = SYS$CONNECT (&rab)) & 1) != 1) 					LIB$STOP (status);u7 	/*Read the terminal and print the appropriate message._ 	 */. 	while ((status = SYS$GET (&rab)) != RMS$_EOF) 		{* 		if (status == RMS$_TMO)s- 			printf ("\nNo response in 10 seconds.\n");e 		else 			printf ("%s\n", buffer);S 		}) 	} /*$CLOS=TIMEOUT.C*/  /*$OPEN=UNIX.DAT*/, 12233344445555566666677777778888888899999999 /*$CLOS=UNIX.DAT*/ /*$OPEN=UNSOLICIT.C*/ H /* unsolicit.c - This program uses a channel assigned to a terminal with> 		associated mailbox to illustrate the interaction between the; 		terminal and the mailbox.  When something is typed on thee- 		terminal, a message is sent to the mailbox.r  */&   #include descrip #include iodef   #define BUFLEN 132   static char buffer[BUFLEN];	& static short termchan,mbxchan,iosb[4];" static $DESCRIPTOR(terminal,"TT");' static $DESCRIPTOR(mailbox,"TERM_MBX");    main() 	{ 	int status,mbxast();9  5 	/* Create the mailbox and assign a channel to it. */.  C 	if (((status = SYS$CREMBX(0,&mbxchan,0,0,0,0,&mailbox)) & 1) != 1)e 		LIB$STOP(status);t  H 	/* Assign a channel to the terminal and associate the mailbox to it. */  F 	if (((status = SYS$ASSIGN(&terminal,&termchan,0,&mailbox)) & 1) != 1) 		LIB$STOP(status);t  A 	/* Request an asynchronous read QIO from the mailbox with an AST= 	   on completion. 	 */  G 	if (((status = SYS$QIO(1,mbxchan,IO$_READVBLK|IO$M_NOW,&iosb,mbxast,0,a( 			  	buffer,BUFLEN,0,0,0,0)) & 1) != 1) 		LIB$STOP(status);   7 	/* Hibernate.   The rest will be done at AST level. */p  9 	if (((status = SYS$HIBER()) & 1) != 1) LIB$STOP(status);a 	}     mbxast() 	{ 	int status;  F 	/* Since the terminal we assigned a channel to is the login terminal,F 	   we can read from it with a C library fuction.   Tell the user whatD 	   he typed.  If it was a blank line, take that as a signal to exit0 	   the program by waking up the main-line code. 	 */   	gets(buffer); 	if (strlen(buffer)) 		{l# 		printf("You typed: %s\n",buffer);w  < 		/* Start another read from the mailbox to detect the next  		   input from the terminal.	 		 */	  9 		if (((status = SYS$QIO(1,mbxchan,IO$_READVBLK|IO$M_NOW,  					&iosb,mbxast,0,' 					buffer,BUFLEN,0,0,0,0)) & 1) != 1)o 			LIB$STOP(status); 		}  	elser< 		if (((status = SYS$WAKE(0,0)) & 1) != 1) LIB$STOP(status);   	}   /*$CLOS=UNSOLICIT.C*/r /*$OPEN=USEESCAPE.C*/sM /* useescape.c - This program uses escape sequences for VT100 class terminals ; 		to control the terminal directly.  This technique is moret@ 		efficient but less flexible than using the RTL screen package.  */S  = static char	blnkunder[] =	{27,'[','0',';','4',';','5','m',0},f 		dblwidth[] =	{27,'#','6',0}, 		reset[] = 	{27,'c','6',0};   main() 	{ 	char buffer[132];  A 	/* Set character attributes to blinking and underlined. Get somee 	   input before continuing. 	 */  8 	printf("%sPlease type RETURN to continue: ",blnkunder); 	gets(buffer);  * 	/* Do the same with double width text. */  7 	printf("%sPlease type RETURN to continue: ",dblwidth);t 	gets(buffer);  : 	/* Reset the terminal to its power-up characteristics. */   	printf("%s\n",reset); 	}   /*$CLOS=USEESCAPE.C*/d /*$OPEN=USESCREEN.C*/iL /* usescreen.c - This program illustrates the use of the RTL screen package.> 		We use the SCR$ routines rather than the LIB$ form because C: 		naturally passes arguments by immediate value.   It also4 		illustrates the use of dynamic string descriptors.  */_   #include descrip   main() 	{ 	int status;& 	static struct dsc$descriptor name =	{ 						0," 						DSC$K_DTYPE_T,DSC$K_CLASS_D, 						0E 						};  7 	static $DESCRIPTOR(prompt,"Please enter your name: ");a  @ 	/* Clear the whole screen by erasing from the home position. */  A 	if (((status = SCR$ERASE_PAGE(1,1)) & 1) != 1) LIB$STOP(status);m  ? 	/* Move the cursor half way down the screen, 20 columns in. */d  C 	if (((status = SCR$SET_CURSOR(12,20)) & 1) != 1) LIB$STOP(status);e  @ 	/* Ask the operator for their name.   The run-time library will? 	   allocate an input buffer of the correct size,because we arei* 	   supplying a dynamic string descriptor. 	 */  9 	if (((status = SCR$GET_SCREEN(&name,&prompt)) & 1) != 1)  		LIB$STOP(status);   E 	/* Redisplay the name further down and to the right in reverse videoe 	   (if available).] 	 */  9 	if (((status = SCR$PUT_SCREEN(&name,15,30,2)) & 1) != 1)  		LIB$STOP(status);b  C 	/* Reposition the cursor to the bottom left-hand corner, ready fot  	   the DCL prompt.n          */f  B 	if (((status = SCR$SET_CURSOR(24,1)) & 1) != 1) LIB$STOP(status);   	} /*$CLOS=USESCREEN.C*/i /*$OPEN=WRITE.C*/D; /*write.c -	This program is used in Friday lab exercises in 2 		the course UTILIZING VMS FEATURES IN VAX-11 C to0 		write to a mailbox that will be read by read.c  */s   #include descrip #include ssdef #include rms #include jpidef1   main() {= 	short chan; 	register i, status; 	char msgbuf[80];(0 	static char prcnam[15], msgnum[] = "Message #";= 	static int itmlst[4] = {JPI$_PRCNAM<<16 | 15, prcnam, 0, 0};O  	$DESCRIPTOR (mbxnam, "MY_MBX"); 	struct FAB fab; 	struct RAB rab;   	fab = cc$rms_fab; 	rab = cc$rms_rab;& 	fab.fab$l_fna = mbxnam.dsc$a_pointer;% 	fab.fab$b_fns = mbxnam.dsc$w_length;  	fab.fab$b_fac = FAB$M_PUT;  	rab.rab$l_fab = &fab; 	rab.rab$l_rbf = msgbuf;  > 	if (((status = SYS$GETJPI (5, 0,0, itmlst, 0,0,0)) & 1) != 1) 					LIB$STOP (status); C 	if (((status = SYS$CREMBX (0, &chan, 0,0,0,0, &mbxnam)) & 1) != 1)I 					LIB$STOP (status);M+ 	if (((status = SYS$OPEN (&fab)) & 1) != 1)r 					LIB$STOP (status);e. 	if (((status = SYS$CONNECT (&rab)) & 1) != 1) 					LIB$STOP (status);N 	for (i = 0 ; i < 5 ; i++) 		{C1 		rab.rab$w_rsz = sprintf (msgbuf, "%s  %s  %d", d 						prcnam, msgnum, i+1);	+ 		if (((status = SYS$PUT (&rab)) & 1) != 1)	 						LIB$STOP (status); 		}  	} /*$CLOS=WRITE.C*/( /*$OPEN=WRITELOCK.C*/rB /* writelock.c - This program uses the blocking AST feature of the 		 lock manager.  */e   #include descrip #define  LCK$K_PWMODE  0X4 #define  LCK$K_NLMODE  0X0 #define  LCK$M_CONVERT 0X2   main() 	{& 	$DESCRIPTOR (share_item, "DATABASE"); 	register status;( 	int statblk[2], blocking(); 	static short DONE = 0;t 	globaldef short HAVELOCK = 1;  9 	printf ("writelock - Placing a PW lock on DATABASE.\n");(  6 	if (((status = SYS$ENQW (0, LCK$K_PWMODE, statblk, 0,2 			&share_item, 0,0,0, &blocking, 0,0)) & 1) != 1) 					LIB$STOP (status);f   	while (HAVELOCK && ~DONE) 		{ 9 		/* Perform operations which require write access to the  			resourcef 		 */E 		printf (""); 		}C   	/* Convert the PW lock to NL. 	 */  B 	if (((status = SYS$ENQW (0, LCK$K_NLMODE, statblk, LCK$M_CONVERT,) 				&share_item, 0,0,0,0,0,0)) & 1) != 1)  					LIB$STOP (status);)  = 	printf ("writelock - Lock converted from PW to NL mode.\n");;  > 	/* Here we could test DONE.  If not true, we could call $ENQW? 	   to convert the lock mode to PW and go back to 'while' above  	 */  $ 	printf ("writelock - Finished.\n"); 	}  A /* blocking AST routine - tells the main function (via a flag) to 0 	release its lock which is blocking another lock  */a   int blocking() 	{ 	globalref short HAVELOCK;   	HAVELOCK = 0;  @ 	printf ("blocking AST - Our lock is blocking another lock.\n"); 	} /*$CLOS=WRITELOCK.C*/A   ------------------------------  + Date: Mon, 22 Apr 2002 16:04:26 +0000 (UTC)t% From: John Forkosh <john@invalid.com>m$ Subject: Re: Newbie meets OpenVMS ;), Message-ID: <aa1caa$oim$1@reader1.panix.com>  & John Forkosh <john@invalid.com> wrote: : vanja@vmsbox.cjb.net wrote: K : : Ok. Then I'll have to read much more about ASTs :) Programming concepts  : : manual talks about this. : :1H : : btw: are you aware of some place with source code examples for this?  C : Below is a _big_ file (sorry) of many small source code examples, C : originally distributed by Digital a long time ago.  It came alongaB : with some printed training info which (sorry again) I don't haveD : in machine readable form.  Note that the open= and close= comments. : mark where you need to cut individual files.  ; Oh, by the way, I guess I should also give you my small dclb: procedure uncat.com that automatically splits one big file? with lots of open='s and close='s into its many small componentgA files.  It's below (ignore my copyright for your personal use)...O -- H= John Forkosh ( emailto: j@f.com  where j=john and f=forkosh )h    O $!*****************************************************************************t $!* F $!* Copyright (c) 1989, John Forkosh Associates.  All rights reserved.O $!* ---------------------------------------------------------------------------R $!*E, $!* Procedure:	uncat.com  catfile  [getfile] $!*nJ $!* Purpose:	"Untars" a file containing multiple files embedded within it, $!*		in the form $!*			/*OPEN=file1.ext*/ $!*			line 1 of file1.ext  $!*			line 2 of file1.ext*	 $!*			etcF $!*			/*CLOSE=file1.ext*/0 $!*			/*OPEN=file2.ext*/ $!*			line 1 of file2.extM $!*			line 2 of file2.extC	 $!*			etcH $!*			/*CLOSE=file2.ext*/s	 $!*			etcd $!*C> $!* Parameters:	catfile		p1 = ascii text file containing lines $!*				in the form shown above6 $!*		[catfile]	p2 = optional filename to be extracted.- $!*				If given, only that file is "untarred")+ $!*				from catfile; otherwise all files inw $!*				catfile are untarred. $!*i
 $!* Notes: $!*sO $!* ---------------------------------------------------------------------------e $!* Revision History:$, $!* 08/12/89 J.Forkosh		Installation at CMB.< $!* 02/03/98 J.Forkosh		Limited usage license granted to BT. $!*CO $!*****************************************************************************r $ start_of_job:  $ goto startup
 $ uncat_file:,  $ read/end=eoj/err=eoj cat image# $ prefix = f$extract(0,cllen,image)ON $ if f$locate(clstr,prefix).eq.0.and.f$length(prefix).gt.0 then goto next_file $ write/err=eoj file image $ goto uncat_file  $!=== done with current file $ next_file: $ close file" $!=== determine next file to uncat
 $ find_opstr:   $ read/end=eoj/err=eoj cat image# $ prefix = f$extract(0,oplen,image)SN $ if f$locate(opstr,prefix).ne.0.or.f$length(prefix).eq.0 then goto find_opstr# $ fname = f$extract(oplen,99,image) 4 $ fname = f$extract(0,f$locate(postfix,fname),fname)> $ if getfile.nes."".and.getfile.nes.fname then goto find_opstr $ nfiles = nfiles + 1c $ say nfiles,": ",fname1! $ open/write/err=eoj file 'fname'  $ goto uncat_file$ $!=== initialization
 $ startup: $!--- parameters $ catfile = P1 $ getfile = P2 $ opstr = "/*$OPEN=" $ clstr = "/*$CLOS=" $ oplen = f$length(opstr)	 $ cllen = f$length(clstr)) $ postfix = "*/" $!--- initialization $ nfiles = 0! $ open/read/err=eoj cat 'catfile'& $ goto find_opstrt $!--- end-of-job $ eoj: $ close cat= $ exitO $!=========================== END-OF-FILE UNCAT.COM ===========================_   ------------------------------  % Date: Mon, 22 Apr 2002 13:52:33 -0400i5 From: "Fred Kleinsorge" <kleinsorge@star.zko.dec.com>S$ Subject: Re: Newbie meets OpenVMS ;), Message-ID: <aa1iuo$22t4$1@lead.zk3.dec.com>  # Frank Sapienza wrote in message ... ( ><vanja@vmsbox.cjb.net> wrote in message? >news:3cc3278c$0$10246$afc38c87@sisyphus.news.be.easynet.net...a >> [1] forking/spawning and IPCm >>) >> [2] Listing functions in shared imagesi >> >> [3] "tracing" the execution >> >> [4] Disassembling >> > 2 >Sounds like someone is trying to hack a VMS site. >n >a   Have at it.t  K A copy of the Alpha HW Architecture manual, and a day or so's study of what @ an executable image looks like can disassemble an image.  Or use SRM_CHECK.EXE in sys$system.   Use the dump switch.  " $ srm_check -verbose -dump foo.exe   _Fred    ------------------------------    Date: 22 Apr 2002 00:14:02 -07006 From: andrew.rycroft@intrinsitech.com (Andrew Rycroft)0 Subject: Optical Jukebox operation under OpenVMS= Message-ID: <58ba0101.0204212314.4eece962@posting.google.com>n   Hi,a  @ I have a system running OpenVMS v6.2 on an Alpha with an old DEC Jukebox attached.d  C Lately it we have started getting the following errors when we do ao% backup of it, or directory listing :-r   REORDERS_000298007.LIS;15                            5   9-NOV-2001 01:49:22.59  REORDERS_000298008.LIS;15                            4   9-NOV-2001 01:49:24.73e REORDERS_000298009.LIS;1= %DIRECT-E-OPENIN, error opening JBA40:[ARCHIVE]*.*;* as input / -RMS-E-FND, ACP file or directory lookup faileds, -SYSTEM-F-OPINCOMPL, operation is incomplete5                            5   9-NOV-2001 01:49:25.64   # Total of 8426 files, 503255 blocks.d  D We have had the hardware guys check the hardware, and they say there are no errors.  3 What/why is this happening ? Any ideas appreciated.=   Thanks Andrew   ------------------------------  + Date: Mon, 22 Apr 2002 18:05:25 +0100 (MET)*9 From: Phillip Helbig <HELBPHI@sysdev.deutsche-boerse.com>s2 Subject: password history list: back to the future; Message-ID: <01KGVFUIDHDA8Y6CT5@sysdev.deutsche-boerse.com>*  $ I must be missing something here....  B I saw it with my own eyes!  Scenario: the system disk on one of myB hobbyist systems crashes, backup is restored which doesn't containH rather new account, new account is created again (with ADDUSER.COM, justE the defaults except for identifiers (gleaned from files in the user'ssI account on a disk which didn't crash) and of course username etc), I log CG in to the new account using the password created during setup and want e@ to change it back to what it was before the crash of the system E disk---but can't do so because the password was found in the history LI list!  No files had been moved off the system disk, the UAF etc were not ID cluster-wide and the only system files not on the crashed disk were  secondary page and swap files.  H Obvious question: since the restored backup was from a time before this F new account even existed, much less the password having been entered, " how can it be in the history list?   ------------------------------  # Date: Mon, 22 Apr 2002 06:18:19 GMTe From: as@if.com (MG), Subject: Re: Pathworks 6.1 exhausting KNBCBs0 Message-ID: <3cc3a8dd.9347987@news.videotron.ca>   Rob,@ go into $admin/config tool and configure for at least 100 client@ sessions.  Approximately 30 sessions are consumed by the license+ server (if running) and TCP/IP PWIP driver.O  A Also, at about the time the KNBCB errors occur, examine the ouputmC of "$admin show sessions" and count the sessions already consumed. 0> Watch for duplicate or stale sessions, and if found delete the@ sessions to regain some session slots.  Some of the newer WindowC clients are notorious for opening several sessions to a server, and E sometimes the only way to recapture these is to restart the server orA" manually delete the old sessions.   F I don't see external authentication causing any of this issue for you.E Nor would increasing your Concurrent Signons from 10 to 30 do much toS alleviate your situation.  s   HTH,
 Mike Green   ------------------------------  % Date: Mon, 22 Apr 2002 12:44:36 +0100_( From: Nic Clews <sendspamhere@127.0.0.1> Subject: Re: PC Worker) Message-ID: <3CC3F7A4.87F77FF5@127.0.0.1>R   work at home wrote:r > 5 > Would you like to work at home ? PC Worker  processi > orders     Isn't this an oxymoron?n     -- O( Regards, Nic Clews CSC Computer Sciences nclews at csc dot comi   ------------------------------  % Date: Mon, 22 Apr 2002 08:31:27 -0400o* From: WILLIAM WEBB <WWEBB1@email.usps.gov> Subject: RE: PC Worker- Message-ID: <0033000061019801000002L012*@MHS>S  ? =0AI thought that "PC Worker" sounded like some sort of leftistuD publication with the same degree of usefulness as, let's say, "CIO".   :^)=   WWWebb   -----Original Message-----/ From: Info-VAX-Request@Mvb.Saic.Com at INTERNETf$ Sent: Monday, April 22, 2002 7:49 AMB To: Webb, William W Raleigh, NC; Info-VAX@Mvb.Saic.Com at INTERNET Subject: RE: PC Worker     work at home wrote:; >*5 > Would you like to work at home ? PC Worker  processR > orders     Isn't this an oxymoron?=     --( Regards, Nic Clews CSC Computer Sciences nclews at csc dot com=   ------------------------------  % Date: Mon, 22 Apr 2002 09:40:56 -0700i% From: Dean Woodward <deanw@rdrop.com>f Subject: Re: PC Worker) Message-ID: <3CC43D18.38D4D3B3@rdrop.com>N   WILLIAM WEBB wrote:  >  > > -----Original Message-----3 > > From: Info-VAX-Request@Mvb.Saic.Com at INTERNET  > >  > > work at home wrote:) > > >S9 > > > Would you like to work at home ? PC Worker  processr > > > orders > >  > > Isn't this an oxymoron?" >n> > I thought that "PC Worker" sounded like some sort of leftistF > publication with the same degree of usefulness as, let's say, "CIO".   <cough><snort>> Do you know how hard it is to get hot cocoa out of a keyboard?   Working from home,   -- b= Dean Woodward      | Portland, OR- worst motorcycling weathere3 deanw_at_rdrop.com | in the continental US, there. l7                    |  - Someone on rec.moto, circa 1994sA -------------------+---------------------------------------------F= '66 Duc 250 - '85 Yam FJ1100 - '00 Kaw KLR650 - '01 Apr FalcoT   ------------------------------  % Date: Mon, 22 Apr 2002 10:14:40 +0100 % From: Alan Greig <a.greig@virgin.net>e9 Subject: Re: Prediction:  VMS lives, merger or no merger! 8 Message-ID: <evj7cuoa8iss2rp5ajmee7ibons38l4r2m@4ax.com>  D On Fri, 19 Apr 2002 14:14:56 -0500, jlsue <jlsuexxxz@screaminet.com> wrote:     >t9 >What?!!  People actually lose careers over this.  GMAFB.a  E Well Digital telling senior university academic management that I waseE "living in the past" by proposing more VMS systems certainly played a( role in my departure  C >I could also ask you how much money do you think corporations have,E >wasted porting applications to Windows because of BG's constant liesb$ >that it's ready for the enterprise.  D Sometimes I get angry when I read stuff like this. You don't need MSB sales. Compaq sales will happily tell you that NT is ready for theD enterprise. Do you live in a bubble or something? Or are you finally9 being honest in admitting that Compaq NT sales tell lies?,  E If you call Compaq and ask for a presentation on SAP on Tru64 you geteD that presentation but then, unasked, are given a pitch for SAP on NTC and told it is enterprise ready. I was told by a salesman that theyxD are not allowed to suggest that NT is not enterprise ready. Although3 the better sales types will whisper it in your ear.    >& >b2 >Not speaking for anyone, certainly not DEC/Compaq. >(get rid of the xxxz in my address to e-mail)   -- Alan   ------------------------------    Date: 22 Apr 2002 05:38:50 -07006 From: philipp.lewis@deutsche-boerse.com (philip lewis)9 Subject: Re: Prediction:  VMS lives, merger or no merger!r< Message-ID: <4ad76487.0204220438.fb4f428@posting.google.com>  B Chill out - http://www.gostrange.com/MP3-WAV.htm - learn about the5 f-word and cherish the richness of our native tounge.f   p.s "John Smith" <a@nonymous.com> wrote in message news:<oxFw8.27851$VLV.22197@news01.bloor.is.net.cable.rogers.com>...bN > 'Fucked-over' just happens to be the right phrase to describe the situation,J > and one which everyone cannot fail to understand - unlike 'strategicallyL > re-emphasize', 'cornerstone of our strategy going forward', 'the processor  > family for the next 25 years'. >  >  >  >  > C > "Doc.Cypher" <Use-Author-Address-Header@[127.1]> wrote in messager1 > news:20020421060830.5195.qmail@gacracker.org...R= > > On Sat, 20 Apr 2002, "John Smith" <a@nonymous.com> wrote:t > >L > > <big snip> > >eI > > I fail to see how resorting to profanity helps put your point across.s > >g > >s > > Doc. > > --: > > The bigger the humbug, the better people will like it. > > ~ Phineas Taylor Barnum. > https://vmsbox.cjb.net   ------------------------------    Date: 22 Apr 2002 08:28:24 -0700( From: bob@instantwhip.com (Bob Ceculski)9 Subject: Re: Prediction:  VMS lives, merger or no merger! = Message-ID: <d7791aa1.0204220728.7ad92c9a@posting.google.com>   e Alan Greig <a.greig@virgin.net> wrote in message news:<evj7cuoa8iss2rp5ajmee7ibons38l4r2m@4ax.com>...dF > On Fri, 19 Apr 2002 14:14:56 -0500, jlsue <jlsuexxxz@screaminet.com> > wrote: >  >  > >P; > >What?!!  People actually lose careers over this.  GMAFB.t > G > Well Digital telling senior university academic management that I was G > "living in the past" by proposing more VMS systems certainly played a  > role in my departure > E > >I could also ask you how much money do you think corporations havedG > >wasted porting applications to Windows because of BG's constant lies & > >that it's ready for the enterprise. > F > Sometimes I get angry when I read stuff like this. You don't need MSD > sales. Compaq sales will happily tell you that NT is ready for theF > enterprise. Do you live in a bubble or something? Or are you finally; > being honest in admitting that Compaq NT sales tell lies?h > G > If you call Compaq and ask for a presentation on SAP on Tru64 you getAF > that presentation but then, unasked, are given a pitch for SAP on NTE > and told it is enterprise ready. I was told by a salesman that they1F > are not allowed to suggest that NT is not enterprise ready. Although5 > the better sales types will whisper it in your ear.i >   D what they meant Alan was that security and reliability are things ofE the past and you should move on to a platform that offers neither ...;, I think I'll continue living in the past ...   ------------------------------  # Date: Mon, 22 Apr 2002 15:27:06 GMTF1 From: "Terry C. Shannon" <terryshannon@attbi.com>=9 Subject: Re: Prediction:  VMS lives, merger or no merger!,; Message-ID: <eZVw8.38251$%s3.16266758@typhoon.ne.ipsvc.net>$  . "John Smith" <a@nonymous.com> wrote in message> news:_8Cu8.886$Gq1.593@news02.bloor.is.net.cable.rogers.com... >1@ > "Keith Parris" <KeithParris_NOSPAM@yahoo.com> wrote in message9 > news:6ec1251e.0204150700.5fb39886@posting.google.com... 6 > > Glenn Everhart <Everhart@gce.com> wrote in message% > news:<3CB83F0E.976084E5@gce.com>...	I > > > I for one am happy to hear that there has been some confirmation HP  does > notRK > > > plan to abolish VMS. There have been numerous messages here bemoaningk > the  > > > lack of such a message.. > >e > > I agree. > >pJ > > I recently happened across a pointer to info that came out of HP right? > > at the time of the merger announcement (Sept. 6, 2001) (seerI > > http://www2.tru64.org/phorum/read.php?f=8&i=47&t=32 )  With regard tog$ > > VMS, HP's Public Relations said:J > > "We are committed to the plan laid out for Alpha when Compaq announcedE > > its agreement with Intel to standardize its 64-bit servers on the,F > > Itanium processor family." (meaning EV6 shrinks, EV7, EV79, but no
 > > EV8), andoD > > "Compaq has made a long-term commitment to its important OpenVMSE > > customers and will continue to deliver on its committed roadmap."(  J Ah. The Smoking Memo has been found, and it's on www.tru64.org! How ironicE that the sole reference to VMS longevity is on a non-CPQ, non-HWP Webl presence...n     > >oG > > I suspect the main reason HP has said nothing about VMS recently isoF > > that there had been no change in the plans, thus no news.  I thinkJ > > they thought they got the message out early on, in press contacts likeB > > the one above.  Considering that I hadn't seen this info untilE > > recently, it's clear the message didn't get out through the rightrI > > channels to reach the VMS base at the time, but it's good to see themsF > > willing to restate it now, in written form, even under the present> > > circumstances of increased scrutiny after the merger vote.2 > > ----------------------------------------------2 > > Keith Parris | parris at encompasserve dot org >@ >dC > Public Relations department...give us a break...that's a lot likeb	 believingw > in the tooth fairy.l >aL > There has been much discussion in this ng and others, on other forums, allH > of which are alleged to be visited/monitored by Compaq. If word hasn'tH > filtered up to the people in the stratosphere that customers were veryE > concerned, then what are we supposed to do? Put our faith in Publicc3 > Relations? That's a sound business decision. Not.s >yI > Our sales drones are in the dark, most people at Compaq don't know whatc VMS F > is, Carly et al. shoot their mouths off multiple times on everything CompaqC > has except VMS, and people are wondering why the customer base ist > concerned???   Good points all.   ------------------------------  % Date: Mon, 22 Apr 2002 12:18:34 +0200b% From: Stefan Bruder <brudst@yahoo.de>o% Subject: Problem: ODBC connect to RDBl( Message-ID: <3CC3E379.5C90DEAA@yahoo.de>  B I need to connect to a VMS RDB database from Windows NT with ODBC.7 I have installed "Oracle ODBC Driver for RDB" on WinNT.o$ I started SQL/Services on Alpha-VMS.E After connecting from NT with MS Query to the database, I see all the-	 relations!A and all the fields, but when i try to make a query, I always get::* %SQL-F-ILLCHAR, Illegal character detected  ) I do not give any character to the query.* What am I doing wrong ?i: Is there any chance to "trace" the connection on VMS side? Is there any loging ?*   Thanx in advance.2   Stefan.	   ------------------------------  % Date: Mon, 22 Apr 2002 09:08:11 -0400S, From: "Frank Sapienza" <sapienza@noesys.com>) Subject: Re: Problem: ODBC connect to RDBg+ Message-ID: <aa121v04s6@enews3.newsguy.com>[  J The ODBC kit from Oracle includes an ODBCTST.EXE (I think that's the name)L which will let you connect and submit RDB-syntax SQL to your database.  Have) you tried using that instead of MS Query?!  2 "Stefan Bruder" <brudst@yahoo.de> wrote in message" news:3CC3E379.5C90DEAA@yahoo.de...D > I need to connect to a VMS RDB database from Windows NT with ODBC.9 > I have installed "Oracle ODBC Driver for RDB" on WinNT.!& > I started SQL/Services on Alpha-VMS.G > After connecting from NT with MS Query to the database, I see all the  > relations,C > and all the fields, but when i try to make a query, I always get:e, > %SQL-F-ILLCHAR, Illegal character detected >(+ > I do not give any character to the query.= > What am I doing wrong ?t< > Is there any chance to "trace" the connection on VMS side? > Is there any loging ?f >  > Thanx in advance.r > 	 > Stefan.e >e >e   ------------------------------  % Date: Mon, 22 Apr 2002 15:55:30 +0200f9 From: Jan-Erik =?iso-8859-1?Q?S=F6derholm?= <aaa@aaa.com>n) Subject: Re: Problem: ODBC connect to RDB ' Message-ID: <3CC41652.C75221D1@aaa.com>)   Try to add :   RemoveControlChars=yes   to RDBODBC.INI.s   Jan-Erik Sderholm.     4 > "Stefan Bruder" <brudst@yahoo.de> wrote in message$ > news:3CC3E379.5C90DEAA@yahoo.de...F > > I need to connect to a VMS RDB database from Windows NT with ODBC.; > > I have installed "Oracle ODBC Driver for RDB" on WinNT.g( > > I started SQL/Services on Alpha-VMS.I > > After connecting from NT with MS Query to the database, I see all the 
 > > relationsoE > > and all the fields, but when i try to make a query, I always get:=. > > %SQL-F-ILLCHAR, Illegal character detected   ------------------------------  % Date: Mon, 22 Apr 2002 16:25:39 +0200 % From: Stefan Bruder <brudst@yahoo.de>l) Subject: Re: Problem: ODBC connect to RDBu( Message-ID: <3CC41D62.92599621@yahoo.de>   YES, that did it...a Many thanxs...   Stefan   Jan-Erik Sderholm schrieb:<   > Try to add : >  > RemoveControlChars=yes >7 > to RDBODBC.INI.@ >y > Jan-Erik Sderholm.t >a6 > > "Stefan Bruder" <brudst@yahoo.de> wrote in message& > > news:3CC3E379.5C90DEAA@yahoo.de...H > > > I need to connect to a VMS RDB database from Windows NT with ODBC.= > > > I have installed "Oracle ODBC Driver for RDB" on WinNT. * > > > I started SQL/Services on Alpha-VMS.K > > > After connecting from NT with MS Query to the database, I see all thee > > > relationseG > > > and all the fields, but when i try to make a query, I always get:r0 > > > %SQL-F-ILLCHAR, Illegal character detected   ------------------------------  % Date: Mon, 22 Apr 2002 10:28:33 -0700i* From: "Alder" <MUNDDGNTDYTV@spammotel.com>) Subject: Re: Problem: ODBC connect to RDB-+ Message-ID: <3cc44901$1@obsidian.gov.bc.ca>g  F Just curious, Jan-Erik, but is there any documentation of the possible1 settings for this INI file that you are aware of?    Thanks,t Alder     3 "Jan-Erik Sderholm" <aaa@aaa.com> wrote in messagey! news:3CC41652.C75221D1@aaa.com...L > Try to add : >  > RemoveControlChars=yes >1 > to RDBODBC.INI.S >0 > Jan-Erik Sderholm.  >  > 6 > > "Stefan Bruder" <brudst@yahoo.de> wrote in message& > > news:3CC3E379.5C90DEAA@yahoo.de...H > > > I need to connect to a VMS RDB database from Windows NT with ODBC.= > > > I have installed "Oracle ODBC Driver for RDB" on WinNT. * > > > I started SQL/Services on Alpha-VMS.K > > > After connecting from NT with MS Query to the database, I see all thec > > > relationsnG > > > and all the fields, but when i try to make a query, I always get:s0 > > > %SQL-F-ILLCHAR, Illegal character detected   ------------------------------  % Date: Mon, 22 Apr 2002 18:56:46 +0200l From: Thomas <zak@spam.invalid>h4 Subject: Re: Re Smart house wiring - Re: auto wiring+ Message-ID: <3CC440CE.2070601@spam.invalid>@   John E. Malmberg wrote:*  K > Making an adapter that would bolt around a legacy plug to supply it with o, >  it's rated power should not be expensive.  H Hmm... in the UK, plugs regularly contain a fuse. I think the plugs are K polarized, so the fuse will always be in the phase conductor, not the zero.d  G I can imagine this being extended to a ground fault interruptor in the tE plug, but I do not see the point as these work fine when used in the n
 fuse cabinet.c  & But I guess this doesn't sell silicon.     Thomas   ------------------------------  + Date: Mon, 22 Apr 2002 13:32:01 -0400 (EDT)sL From: "MANNY NORMAN, SR. SYSTEMS PROGRAMMER" <NORMAN_MANNY@ONLINE.EMICH.EDU> Subject: Save-set Format1 Message-ID: <01KGV6MM11NY95DAY3@ONLINE.EMICH.EDU>   D 	Can anyone point me to where I can get detailed information on VMS M save-set format(s)?  I have garnered a rough idea by looking at hex dumps of i) them, but I need something more specific.t   	Thanks.   	Manny.n    8                    -------------------------------------.                               Manuel J. Norman2                          Senior Systems Programmer<                 Academic and Technology Integration Services3                         Eastern Michigan University 5                       Phone: (734) 487-0020, Ext 2018e8                    e-mail: norman_manny@online.emich.edu8                    -------------------------------------  K   !! OpenVMS sets the standard for reliable, secure, available computing !!u   ------------------------------    Date: 22 Apr 2002 05:28:00 -0700- From: jodonnell@hrblock.com (Jason O'Donnell)oA Subject: Re: Stuck in licenseless Motif with OpenVMS 7.2 Hobbyisto< Message-ID: <9059bf6b.0204220427.1f8ba03@posting.google.com>  a JF Mezei <jfmezei.spamnot@videotron.ca> wrote in message news:<3CC04AD8.88632A7D@videotron.ca>...t > Jason O'Donnell wrote:F > > You may also get layered product licenses at the same site you gotJ > > your hobbyist license.  It includes motif licenses.  Heck you can even > > get ALL-IN-1. ;) > P > Nop. ALL-IN-1 isn't included with the hobbyist layeyed products. Only the veryP > old/retired "all-in-1 mail" stuff which is not related to ALL-IN-1 in any way.  F You're right.  All I saw was six ALL-IN-1 licenses and skipped over itD (I do not plan on installing it).  I didn't notice that each one had mail after it.  C However, Motif licensing is there.  It even has the DW-MOTIF Magyar2 license!   ------------------------------    Date: 22 Apr 2002 05:52:09 -0700( From: bob@instantwhip.com (Bob Ceculski)Y Subject: Re: The 'tone' of c.o.v. (was Re: Prediction:  VMS lives, merger or no  merger!)u= Message-ID: <d7791aa1.0204220452.4c6febba@posting.google.com>O  a JF Mezei <jfmezei.spamnot@videotron.ca> wrote in message news:<3CC33328.5FB72321@videotron.ca>...  > "Doc.Cypher" wrote: J > > Apart from the infamous Mr Harrison, everybody here seems to be of theK > > opinion that VMS is one of the finest operating systems ever developed,t > P > In all fairness to "Andy boy", I have rarely seen unjustified criticism of VMSP > itself at the technical level. He has rightly criticised its marketing and theK > uncertainty which reigns about its (lack of) future.  And he has recentlyrN > criticised Wildfire performance claims. But I don't recall intensive battles, > against VMS at the technical level by him. > O > It is pretty hard for him to criticise VMS's clustering for instance since it 2 > is still ahead of everyone else (including Sun).  F except Andrew still won't accept that vms is superior in security alsoG over slowaris ... and profanity only makes one sound "unintelligent" asfE the reader gets the idea that the person has a limited vocabulary ...y   ------------------------------    Date: 22 Apr 2002 07:06:58 -0000= From: Doc.Cypher <Use-Author-Supplied-Address-Header@[127.1]>rX Subject: Re: The 'tone' of c.o.v. (was Re: Prediction:  VMS lives, merger or no merger!)6 Message-ID: <20020422070658.25334.qmail@gacracker.org>  G On Sun, 21 Apr 2002, "Terry C. Shannon" <terryshannon@attbi.com> wrote:-K >"Doc.Cypher" <Use-Author-Supplied-Address-Header@[127.1]> wrote in message-0 >news:20020421205149.8870.qmail@gacracker.org...< >> On Sun, 21 Apr 2002, "John Smith" <a@nonymous.com> wrote:E >> >'Fucked-over' just happens to be the right phrase to describe the H >> >situation, and one which everyone cannot fail to understand - unlikeD >> >'strategically re-emphasize', 'cornerstone of our strategy going< >> >forward', 'the processor family for the next 25 years'.  >>C >> Okay, in your opinion it is the right phrase, but it limits yourtC >> readership because many will simply switch off when they see theyM >> profanity. Not to mention that there used to be someone subscribed via thev5 >> mailing list with a naughty words filter in place.B >>L >> My feelings about VMS marketing and some of the 'strategic' decisions areE >> not that dissimilar from your own, but I believe that profanity islK >> counter-productive. Had I been in a bad mood when I read the message youlK >> would have ended up in my killfile for 30 days. I am sure you don't wantsK >> to have that effect on your readers. I try to avoid swearing myself, butrJ >> driving in Brussels makes the air in my car turn an unpleasant shade of >> blue :).o >>I >> Apart from the infamous Mr Harrison, everybody here seems to be of the J >> opinion that VMS is one of the finest operating systems ever developed,F >> that isn't an easily arrived-at conclusion from much of the postingL >> herein. I wish it was, because I refer people here who've only been usingL >> the OS for a few days. I certainly don't want to sweep the issues many ofK >> us have with Digital/Compaq management under the carpet, their behaviour M >> has been inexcusable, and in some respects continues to be so. That shouldiK >> be pointed out at every opportunity, but it should be remembered that ito# >> has little impact doing so here.s >> >r >Well stated, Doctor!    Thanks."  L >What's more, in the very unlikely event that anyone in DECpaq management is >reading this noosegroup,   $ Whoa! When did hell freeze over? :-)  2 >profanity would be an immediate turnoff. Not thatL >what certain DECpaq managers have done (overtly, covertly, or via benign orH >malign neglect) to the VMS isn't profane unto itself, discretion is the= >greater part of valor when it comes to discussing the issue.h  ; I'd agree with that, past behaviour towards VMS is profane.0  G I'll try to cover some of the other comments here to avoid chasing thisn( down god-only-knows how many subthreads.    F Profanity and political correctness *are* extremes, my opinion is thatF neither works well. Compaq's past actions, and lack of current action,H certainly deserve strong words. "Incompetent", "Negligent", and "Stupid"H are three that spring to mind. Most people seem to be agreed that CompaqF has repeatedly been informed what the denziens of this newsgroup, *andI existing customers*, would like to see. Marketing, believable commitment,@I and long-term investment are what I see as being the three issues we mostwJ wish they would address. There have been serious and professional attemptsK to bring this to the attention of the Q, they were handed off to people whoa@ couldn't authorize the necessary expenditure to give VMS's imageG appropriate first aid. Assuming that the merger actually goes through IvI would urge that this be repeated with the HP management, but I just can'ti@ manage to be optimistic about getting a different outcome there.    K This is an unmoderated newsgroup so people are free to post what they like.'K I'm not trying to deny anyone that right, I'm just trying to point out thateK certain approaches are counter-productive. Marketing-speak is, for me, just J as much of a turnoff and I'd certainly like to see the appearances of that in here eliminated.g    F I certainly can't prove David wrong in stating that Compaq (a) Doesn'tK care, and (b) Doesn't listen. I don't think anybody here can. Don't take meoF to task on this Kerry, unless you can tell me what dates to expect VMS# adverts in the Wall Street Journal.e  A Regarding newcomers to the group, you have to bear in mind that atG significant percentage of the posts in the group are not actually about I VMS. They're about how Compaq is handling VMS. It takes some effort to gorF through the group and find the posts praising the OS (Bob C. has to beH sort-of excluded from that because he comes across with the same sort ofE image as David's analogy, that of a blonde cheerleader. It can't have K escaped anyone's notice that he's a fan of Purveyor and Dibol, but face it, @ nobody starting out with VMS is going to use those tools. One isK discontinued, and the other is distinctly "legacy".) As to mentioning DavideI Mathog's signature, I can't exactly fault the reasoning used to arrive atiG the conclusion, nothing has changed there and Q management continues to1 neglect the OS.9  @ There's another class of newcomer to the group that may often beK overlooked, potential customers. I'm not trying to advocate a change in thepI newsgroup to encourage sales, it is up to Compaq to make the changes thatlH will impact on the tone of the newsgroup. Nobody can actually prove thatG there have been lost sales because of this newsgroup, but if a customertK includes investigation of opinion on the net when making a decision, c.o.v.m will put them off.    K David, I'd guess that for every post you could cite that was positive about7I VMS, I could probably find two that were negative, not about the OS - but K about its owners. That was my point. You can't instantly deduce the beliefsmI and opinions of people when you come to a newsgroup, it takes time. FirstsK impressions count, and it is my belief that unless you persist and get pastmC the negativity about Compaq you won't see the devotion to the OS. ItG probably shouldn't have mentioned Andrew there, but he's never going to ( concede that VMS is better than Solaris.     Doc. -- o6 The bigger the humbug, the better people will like it.K ~ Phineas Taylor Barnum.                             https://vmsbox.cjb.neto   ------------------------------  # Date: Mon, 22 Apr 2002 15:38:07 GMTc1 From: "Terry C. Shannon" <terryshannon@attbi.com>yX Subject: Re: The 'tone' of c.o.v. (was Re: Prediction:  VMS lives, merger or no merger!); Message-ID: <z7Ww8.38253$%s3.16273752@typhoon.ne.ipsvc.net>t  J "Doc.Cypher" <Use-Author-Supplied-Address-Header@[127.1]> wrote in message0 news:20020422070658.25334.qmail@gacracker.org...I > On Sun, 21 Apr 2002, "Terry C. Shannon" <terryshannon@attbi.com> wrote: E > >"Doc.Cypher" <Use-Author-Supplied-Address-Header@[127.1]> wrote in- message-2 > >news:20020421205149.8870.qmail@gacracker.org...> > >> On Sun, 21 Apr 2002, "John Smith" <a@nonymous.com> wrote:G > >> >'Fucked-over' just happens to be the right phrase to describe thehJ > >> >situation, and one which everyone cannot fail to understand - unlikeF > >> >'strategically re-emphasize', 'cornerstone of our strategy going= > >> >forward', 'the processor family for the next 25 years'.r > >>E > >> Okay, in your opinion it is the right phrase, but it limits your E > >> readership because many will simply switch off when they see thetK > >> profanity. Not to mention that there used to be someone subscribed viaw the 7 > >> mailing list with a naughty words filter in place.t > >>J > >> My feelings about VMS marketing and some of the 'strategic' decisions are G > >> not that dissimilar from your own, but I believe that profanity is-I > >> counter-productive. Had I been in a bad mood when I read the message@ you.H > >> would have ended up in my killfile for 30 days. I am sure you don't wantI > >> to have that effect on your readers. I try to avoid swearing myself,. butaL > >> driving in Brussels makes the air in my car turn an unpleasant shade of
 > >> blue :).f > >>K > >> Apart from the infamous Mr Harrison, everybody here seems to be of thenL > >> opinion that VMS is one of the finest operating systems ever developed,H > >> that isn't an easily arrived-at conclusion from much of the postingH > >> herein. I wish it was, because I refer people here who've only been usingSK > >> the OS for a few days. I certainly don't want to sweep the issues many- ofC > >> us have with Digital/Compaq management under the carpet, theira	 behaviour"H > >> has been inexcusable, and in some respects continues to be so. That shouldJ > >> be pointed out at every opportunity, but it should be remembered that it% > >> has little impact doing so here.l > >> > >n > >Well stated, Doctor!x >L	 > Thanks.t >sK > >What's more, in the very unlikely event that anyone in DECpaq managements is > >reading this noosegroup,s >C& > Whoa! When did hell freeze over? :-)  K Umm, no. Just an application (misapplication) of logic. Logic dictates thatrG if DECpaq management was reading this newsgroup then they would take atMH least some of the reasonably easy actions that could be taken to counter misperceptions, etc.  L I am sure that our colleagues Sue Skonetski, Kerry Main, Fred Kleinsorge, etK al monitor this and other relevant forums on a regular basis. UnfortunatelyyB these folks are not high enough on the food chain to influence the decisionmakers at DECpaq.   J I have it on pretty reliable authority that a Statement of Support for VMSJ has been worked up by Carly's scriptwriters. I guess Carly is reluctant toC go public with it until (and/or if) the acquisition is a done deal.P  E Were it me I would not be so reluctant. What's more, if DECpaq senior K managers were aware of the level of concern and angst in the customer base,oF they would very likely adopt a more aggressive marketing and messagingH strategy. Since this is not the case, the Phrase that Pays is "What they don't know WILL hurt them..."   I There is a disconnect between the Skonetski/Main/Kleinsorge level and theeI Marcello/Elias/Capellas level. Eliminate the disconnect, or find a way toaJ get information into the faces of the Big Dogs, and the problem just might go away.   ------------------------------  % Date: Mon, 22 Apr 2002 13:54:40 -0400-- From: JF Mezei <jfmezei.spamnot@videotron.ca>pY Subject: Re: The 'tone' of c.o.v. (was Re: Prediction:  VMS lives, merger or no merger!) c, Message-ID: <3CC44E60.C5A56846@videotron.ca>   "Terry C. Shannon" wrote:tM > Umm, no. Just an application (misapplication) of logic. Logic dictates that:I > if DECpaq management was reading this newsgroup then they would take atrJ > least some of the reasonably easy actions that could be taken to counter > misperceptions, etc.  I You are assuming that they would find a level of discontent that is aboveBI their expectations. But it may be the case that they only find a few loud I mouth disgruntled customers and feel that the level of discontent is wellQL below a threshold above which Compaq has to take remedial action to maintain* revenus on whatever projections they have.  J What they may not understand however is the long term nature of VMS versusG Windows.  A decision to move off VMS today may only translate into lostNJ revenus for Compaq in a couple of years, so Compaq Management won't see anC immediate relationship between the level of discomfort and revenus.   L > I have it on pretty reliable authority that a Statement of Support for VMSL > has been worked up by Carly's scriptwriters. I guess Carly is reluctant toE > go public with it until (and/or if) the acquisition is a done deal.   D Speech writers will often write a victory and a defeat speech duringL elections. You won't know which one will be read until the election is over.  K > There is a disconnect between the Skonetski/Main/Kleinsorge level and therK > Marcello/Elias/Capellas level. Eliminate the disconnect, or find a way to L > get information into the faces of the Big Dogs, and the problem just might
 > go away.  M No. You shoudl know about efforts in the past to advise the top layers of theiN concerns about VMS and they just shrugged it off.  And they continue to ignoreL VMS in their speeches and presentations even though they are very aware thatU customers are sensitive to the omission of VMS from Compaq product lines in speeches.i   ------------------------------  % Date: Mon, 22 Apr 2002 12:50:22 +0100E( From: Nic Clews <sendspamhere@127.0.0.1>N Subject: Re: The Digital 7-year plan - from 1997 to 2004 - from Alpha to IA-64) Message-ID: <3CC3F8FE.5DD8E977@127.0.0.1>    JF Mezei wrote:t > M > The port itself is not important. But doing the port is a necessary evil ataH > this point. What they could do is move resources from the port back toN > improving VMS and slow down the porting effort. This could be spun in a much
 > better way:n > .snip.  E At the technical update, after talking and mixing with the engineers,-G who will remain nameless, they are _geunuinely_enjoying_ porting VMS tos Itanium.  E It has, almost literally, provided them some new toys to play with. IjE hope the pointy haired boss isn't walking down the corridor the other  way at the same time ;-)  H Mind you, it could bring a whole new meaning to the phrase 'killer apps' :-)r -- r( Regards, Nic Clews CSC Computer Sciences nclews at csc dot comg   ------------------------------  + Date: Mon, 22 Apr 2002 19:45:47 +0100 (MET)-9 From: Phillip Helbig <HELBPHI@sysdev.deutsche-boerse.com>J5 Subject: Re: Time to finally rename VMS back to VMS ?a; Message-ID: <01KGVJKZZ95E8ZF8CR@sysdev.deutsche-boerse.com>v  G > It honestly does not matter any more. VMS is selling mostly to people I > who can have a bit of a laugh at the sillier bits of marketing, and whoa@ > would appreciate no further money being wasted on changing the > packaging.   Right.  H > After all, we would not want to see "My DCL" or "Visual RMS" would we? >=20H > Can you imagine a paper clip leaping out at you halfway through typing > a teco macro?n  J Thanks for a good laugh!  I'm catching up here (I was at the 25th DECUS=20J M=FCnchen (Yes, DECus, no compaqtion, PHUX or whatever here!) Symposium i= n=20K Bonn last week---interesting stuff!) so didn't bother reading the sender=20cK name, but when I got to the above two paragraphs, I was sure it was good=20e+ old Elliott run-my-lawnmower-on-TECO Roper!    ------------------------------  % Date: Mon, 22 Apr 2002 09:37:15 -0700 # From: "Tom Linden" <tom@kednos.com>d$ Subject: Update Info on KVM switches9 Message-ID: <CIEJLCMNHNNDLLOOGNJIIENJEMAA.tom@kednos.com>n  8 FWIW, I succeded in putting 2 PWS alphas and 2 W2K boxes< on a Linksys 4 port switch.  Initially the problem I had was= that the Alphas didn't see control-char.  It was probably thea9 keyboard, I switched to LK97W Digital keyboard and it now : works.  Of course, everytime you change something you have to reboot (I think).  > Not sure if it is going to be possible to accomplish same with< VAXen and Alphas that have the DB15 output for mouse and KB.& May give it another try If I get time.   ------------------------------    Date: 22 Apr 2002 08:20:05 -0700- From: jodonnell@hrblock.com (Jason O'Donnell)C Subject: Re: VAX/Alpha CI>= Message-ID: <9059bf6b.0204220720.1788b492@posting.google.com>r  G > > Also, the storageworks cabinet with the dual HSJ40 controllers doeseA > > not appear to have the same CI connector as the SC.  The onlyoH > > connector I see is on the front of each controller and it looks like	 > > this:a > >  > > ---------------- > > \  o o    o o  / > >  --------------  > > ( > > Am I not looking in the right place? > I > You are looking in the right place. The cable that plugs into that plugtJ > on the front of the controller drops under the floor and connects to theL > four CI cables.  The eliminates the necessity of getting four thick, stiffK > cables (or thin, potentially fragile cables) threaded up into the cabineteL > and through a VERY TIGHT (i.e., will break the cable) bend to come off the > front of the controller.  1 Everybody has been very helpful with information.s  F Okay, so there is an adapter that connects to the 4 CI cables and thenC connects to the HSJ40.  I cannot find a description of it or a part-B numebr anywhere.  Anybody have the part number and/or have one for sale?M   ------------------------------    Date: 22 Apr 2002 08:23:24 -0700- From: jodonnell@hrblock.com (Jason O'Donnell)  Subject: Re: VAX/Alpha CIt= Message-ID: <9059bf6b.0204220723.47b76066@posting.google.com>a  I > Speaking of which, I just bought two CIPCA-AA at auction and would like.H > to write a Linux driver.  Was any programming information on the CIPCA? > published?  If not, is there any way to get the source to the>2 > SYS$PCA without spending a vast amount of money?  
 May I ask:  F Was this at a recurring auction or one-off?  How much did you get them for?  Willing to sell one?   ------------------------------  % Date: Mon, 22 Apr 2002 09:37:56 -0700rM From: "Kenneth H. Fairfield" <Kenneth.H.Fairfield@spam-be-gone.intel.com.net>  Subject: Re: VAX/Alpha CIp9 Message-ID: <3CC43C64.EBA1AF3@spam-be-gone.intel.com.net>c   Eric Smith wrote:i  1 > jodonnell@hrblock.com (Jason O'Donnell) writes: 9 > > I would like to get a couple of PCI or EISA CI cards.i >dI > Speaking of which, I just bought two CIPCA-AA at auction and would likeaH > to write a Linux driver.  Was any programming information on the CIPCA? > published?  If not, is there any way to get the source to theI2 > SYS$PCA without spending a vast amount of money? >rE > And does anyone have the HSC50 documentation, maintenance manual orm > print set?  > Before you get too far along with this, are you aware that the< HSC50 is NOT supported by CIPCA's?  That is, you must REMOVE; any HSC50s on the CI if you're going to have any CIPCA's ons< it.  I don't know why, I just know we had to do that when we> added Alphas to our existing CI cluster (HCS70s and HSC90s are" OK, as well as HSJ40s and HSJ50s).       -Ken --6 I don't speak for Intel, Intel doesn't speak for me...  
 Ken Fairfield ! F20 Automation VMS System Support  kenneth.h.fairfield#intel.comu   ------------------------------    Date: 22 Apr 2002 15:03:26 -0000= From: Doc.Cypher <Use-Author-Supplied-Address-Header@[127.1]>o, Subject: VMS on http://www.windows-sucks.org5 Message-ID: <20020422150326.5122.qmail@gacracker.org>h  5 This was one of those things I never expected, but...n  F I've been approached for an account from one of the people running theK windows sucks website. In addition to wanting an account they're interested 0 in having something about VMS to go on the site.  J I'm not sure that I'm the best of people to write something like that, andG would appreciate input or suggestions from people here. I think ideallygA something lighthearted with a bit of humour would go across well.p  J This seems like a great opportunity to have some free publicity for VMS on> a pro-linux website, so Sue, Terry, anyone else? What say you?     Doc. -- o6 The bigger the humbug, the better people will like it.K ~ Phineas Taylor Barnum.                             https://vmsbox.cjb.netv   ------------------------------  % Date: Mon, 22 Apr 2002 11:06:29 -0400r- From: "Peter Weaver" <peter.weaver@stelco.ca> 1 Subject: Re: VMS Spammer, the lowest form of lifee5 Message-ID: <aa18u7$6vuli$1@ID-141708.news.dfncis.de>l  2 "Dean Woodward" <deanw@rdrop.com> wrote in message# news:3CC35FB1.2962F454@rdrop.com...b >...H > Here's a thought.  Lots of people here haven't the foggiest what we'reD > talking about, because they take measures to mask their true emailG > address so they don't have to deal with their address being harvestednG > (such as mine was).  Some of those people may have been interested ineI > this product, but the message didn't get to them.  If he'd posted it ton% > the group, they would have seen it.e > ...s  K But are you sure that they harvested your e-mail from here? I too post withoK my true e-mail address, I get a lot of spam from complete idiots, but I got H nothing from Attunity. If they had harvested from this newsgroup I would? have received it. Did you ask them where they got your address?t   -- Peter WeaverL Opinions are my own, and do not reflect the opinions of my employer, nor theK company that it sub-contracts to, nor the company that it sub-contracts to.o   ------------------------------  % Date: Mon, 22 Apr 2002 11:22:16 -0400i* From: WILLIAM WEBB <WWEBB1@email.usps.gov>1 Subject: RE: VMS Spammer, the lowest form of life - Message-ID: <0033000061050686000002L062*@MHS>   H =0AI feel compelled to mention that David Cathey (of DFWLUG and Hobbyis= taH program renown) offers accounts on whiteice.com where you get 5MB of we= beH space and forwardable spam-filtered email ***on a VMS system*** that wo= rkst, very well for an extremely reasonable price.  ' Keep your money in the family, folks...D  H That's where the VAXstation 3100 Model 76 Owner's Guide pages reside...=   :^)c  3 WWWebb (william-dot-webb-atsymbol-whiteice-dot-com)   B Oh, and if you *do* sign up for an account there, mention my name. He does referral credits.d
 :^) again.   -----Original Message-----/ From: Info-VAX-Request@Mvb.Saic.Com at INTERNET $ Sent: Sunday, April 21, 2002 2:04 PMB To: Webb, William W Raleigh, NC; Info-VAX@Mvb.Saic.Com at INTERNET1 Subject: RE: VMS Spammer, the lowest form of life     + <david20@alpha1.mdx.ac.uk> wrote in messaget% news:a9u2im$hs6$1@aquila.mdx.ac.uk...tH > In article <cKkw8.36597$%s3.14912793@typhoon.ne.ipsvc.net>, "Terry C.=  ) Shannon" <terryshannon@attbi.com> writes:  > >e > >> > > B > >Yep! I use www.spamcop.net (and pay about $15-20 a year for the
 privilege)H > >for reporting SPAMMERs. Wouldn't bother doing that with Attunity, it= 's theaC > >"bare nekkid Brittney Speers" sort of stuff that yanks my chain.  > >  >t0 > The spam reporting service at Spamcop is free.H > You can if you wish pay a small fee which apparently speeds up the sp= am: > processing and removes banner adverts from the webpages.H > I've never tried this since the free service is generally fairly quic= k.H > Spamcop also provides other fee paying services such as filtered mail=   > accounts.e  H You are correct re: the free service. I upgraded to paid because I kept=  H getting "server busy... try later" messages when using the free service= .i7 Paid service will cost you less than $20 USD per year.=m   ------------------------------  % Date: Mon, 22 Apr 2002 09:26:55 -0700 % From: Dean Woodward <deanw@rdrop.com> 1 Subject: Re: VMS Spammer, the lowest form of lifep) Message-ID: <3CC439CF.BF47C3F6@rdrop.com>o   Peter Weaver wrote:c > 4 > "Dean Woodward" <deanw@rdrop.com> wrote in message% > news:3CC35FB1.2962F454@rdrop.com...e > >...J > > Here's a thought.  Lots of people here haven't the foggiest what we'reF > > talking about, because they take measures to mask their true emailI > > address so they don't have to deal with their address being harvestedtI > > (such as mine was).  Some of those people may have been interested insK > > this product, but the message didn't get to them.  If he'd posted it toc' > > the group, they would have seen it.h > > ...< > M > But are you sure that they harvested your e-mail from here? I too post withdM > my true e-mail address, I get a lot of spam from complete idiots, but I got  > nothing from Attunity.  F There are several "correct" versions of my email address, with variousG machine names (mail, smtp, agora, etc) interspersed between the at signiC and the domain name.  Anything arriving in my inbox with any of theaH other "correct" forms of the address gets dumped into a junkmail folder,H which I peruse once a week (just in case someone picked up the wrong one@ by accident) before dumping.  I've been lucky, until now, that a5 commercial spammer hasn't picked up the short versions  A The only place to find the version of the address you see on thistC message "in the wild", as it were, on the internet where anyone maynG peruse it, is in this newsgroup, or one devoted to motorcycle riding in0H the Pacific Northwest.  Anywhwere else, where I typically don't expect a' reply, I use one of the longer versions   F As I've not heard any complaints about this spam from other members ofB the WetLeather list, Occam's chainsaw suggests they found it here.  3 > If they had harvested from this newsgroup I wouldMA > have received it. Did you ask them where they got your address?   H Assuming they didn't throw out the '.ca' suffix as an anti-spam measure,D or that you posted in the timeframe they picked to harvest addresses@ from.  Also note that I [typically] include my email in my .sig.  H (Did anyone who takes anti-spam steps, or doesn't include their email in their .sig, recieve this?)   ------------------------------   Date: 22 Apr 2002 17:13:30 GMT1 From: bill@triangle.cs.uofs.edu (Bill Gunshannon)u1 Subject: Re: VMS Spammer, the lowest form of life + Message-ID: <aa1gbq$8h9$1@info.cs.uofs.edu>t  5 In article <aa18u7$6vuli$1@ID-141708.news.dfncis.de>,e0  "Peter Weaver" <peter.weaver@stelco.ca> writes:5 |> "Dean Woodward" <deanw@rdrop.com> wrote in messagen& |> news:3CC35FB1.2962F454@rdrop.com... |> >...pK |> > Here's a thought.  Lots of people here haven't the foggiest what we'retG |> > talking about, because they take measures to mask their true emaileJ |> > address so they don't have to deal with their address being harvestedJ |> > (such as mine was).  Some of those people may have been interested inL |> > this product, but the message didn't get to them.  If he'd posted it to( |> > the group, they would have seen it. |> > ... |> iN |> But are you sure that they harvested your e-mail from here? I too post withN |> my true e-mail address, I get a lot of spam from complete idiots, but I gotK |> nothing from Attunity. If they had harvested from this newsgroup I wouldcB |> have received it. Did you ask them where they got your address?  G #1: I think the large number of people here who got it led many (myselfr4 included) to assume they farmed c.o.v for addresses.  < #2: It really doesn't matter where they got the addresses.           SPAM is SPAM.a   bill   -- tJ Bill Gunshannon          |  de-moc-ra-cy (di mok' ra see) n.  Three wolvesD bill@cs.scranton.edu     |  and a sheep voting on what's for dinner. University of Scranton   |A Scranton, Pennsylvania   |         #include <std.disclaimer.h>   o   ------------------------------    Date: 22 Apr 2002 07:31:51 -0700- From: pdafniotis@yahoo.com (Petros Dafniotis)4? Subject: Re: XP1000 does not recognize Compaq memory in  Bank 1c= Message-ID: <e54adf36.0204220631.361e04cc@posting.google.com>r  F I tried putting all Compaq RAM on Bank 1 alone (nothing in Bank 0) andF I get less beeps but no booting. Is it possible that Bank 1 is screwed up?g   Petros   rdeininger@mindspring.com (Robert Deininger) wrote in message news:<rdeininger-2104022249170001@1cust13.tnt2.nashua.nh.da.uu.net>...? > In article <e54adf36.0204210943.665b6066@posting.google.com>, 0 > pdafniotis@yahoo.com (Petros Dafniotis) wrote: > C > >I purchased two years ago a XP1000 with 512MB (4x128) in Bank 0.l > >dP > >Now I purchased a Kingston approved 1GB (4x256). REASON: Swiss Francs 1200 vsQ > >Swiss francs 10,000 for Compaq RAM. I could not justify for the life of me then > >extra cost of Compaq RAM. > >h4 > >I put Kingston in Bank1 with Compaq RAM in Bank 0% > >   RESULT: 4 beeps from the systemw > > B > >I put Kingston in Bank0 alone and remove Compaq RAM completely.M > >   RESULT; Boots ok recognizes extra RAM both in Console prompt and in VMS  > >i4 > >I put Kingston in Bank 0 and Compaq RAM in Bank1.G > >   RESULT: I boot ok, but both Console and OpenVMS REFUSE to see ther >  Compaq RAM. > >eF > >Please help if you can. I do need the 1.5GB ram for my simulations. >  > A couple of ideas... > J > If you have the right manual for the XP1000, you can look up the meaning > of the "4 beep" code.  > K > Are you SURE you know which slots belong to bank 0 and bank 1?  If you're D > not populating the banks properly, you could get symptoms like you > describe.l > I > I don't know this particular platform, but on some systems you must putoE > the largest memory kit in the first bank.  There are almost as manyoH > different configuration rules as there are system types.  Do your docs? > describe the configuration rules, and are you following them?  > $ > Can Kingston offer you any advice?   ------------------------------  # Date: Mon, 22 Apr 2002 15:39:55 GMTr* From: John Reagan <john.reagan@compaq.com>? Subject: Re: XP1000 does not recognize Compaq memory in  Bank 1-) Message-ID: <3CC42DA4.8090405@compaq.com>E   Robert Deininger wrote:hJ > If you have the right manual for the XP1000, you can look up the meaning > of the "4 beep" code.g  E Sadly, there isn't a "right" manual for the XP1000.  The manual that iF ships with the machine is the "Installation and Setup Guide" (sitting F right in front of me).  It doesn't even tell you how to open the case G much less install memory or give "beep codes".  The "Customer Support" u> chapter says that a "AlphaStation XP1000 System Reference and E Maintenance Guide" (which should describe memory installation) and a aF "AlphaStations XP1000 Technical Information Guide" (which should give ! the beep codes) are available at  / www.compaq.com/support/workstations/index.html.'  ? However, if you go there, there are no such manuals.  Just the  8 "Installation and Setup Guide" and a "Dual Boot" manual.  D I believe the books you want never were published.  I'll ask around.  D Do look carefully at the memory slots (they should be marked on the F circuit board).  The slots for Bank 0 vs 1 are not contigious or even C consistent (if I remember correctly).  However, when I upgraded my MH XP1000, I just got 2 1-GB options so I didn't have to worry about which  slot was which.t -- e John ReaganM' Compaq Pascal/{A|I}MACRO Project Leader    ------------------------------   End of INFO-VAX 2002.222 ************************rther money being wasted on changing the > packaging.   Right.  H > After all, we would not want to see "My DCL" or "Visual RMS" would we? >=20H > Can you imagine a paper clip leaping out at you halfway through typing > a teco macro?n  J Thanks for a good laugh!  I'm catching up here (I was at the 25th DECUS=20J M=FCnchen (Yes, DECus, no compaqtion, PHUX or whatever here!) Symposium i= n=20K Bonn last week---interesting stuff!)q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q     q    q    q    q    q    q    q    q    q    	q    
q    q    q    
q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q     q    !q    "q    #q    $q    %q    &q    'q    (q    )q    *q    +q    ,q    -q    .q    /q    0q    1q    2q    3q    4q    5q    6q    7q    8q    9q    :q    ;q    <q    =q    >q    ?q    @q    Aq    Bq    Cq    Dq    Eq    Fq    Gq    Hq    Iq    Jq    Kq    Lq    Mq    Nq    Oq    Pq    Qq    Rq    Sq    Tq    Uq    Vq    Wq    Xq    Yq    Zq    [q    \q    ]q    ^q    _q    `q    aq    bq    cq    dq    eq    fq    gq    hq    iq    jq    kq    lq    mq    nq    oq    pq    qq    rq    sq    tq    uq    vq    wq    xq    yq    zq    {q    |q    }q    ~q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    q    