INFO-VAX Tue, 25 Jan 2005 Volume 2005 : Issue 50 Contents: Re: %DCL-E-INVIFNEST, invalid IF-THEN-ELSE nesting structure or data inconsisten Re: %DCL-E-INVIFNEST, invalid IF-THEN-ELSE nesting structure or data inconsisten Re: %DCL-E-INVIFNEST, invalid IF-THEN-ELSE nesting structure or data inconsisten ANAL/MEDIA/EXER on a modern disk? Comparison of operating systems on wikipedia Re: Comparison of operating systems on wikipedia Re: DEC Keyboard Question Re: disposition of largest private DEC collection in USA Re: disposition of largest private DEC collection in USA RE: es45 cluster with eva Help configuring RAID with HP SmartArray 5300A controller Re: Help configuring RAID with HP SmartArray 5300A controller Re: HP to be SAPed again? Re: New and Refreshed Advertising Colateral for OpenVMS OpenVMS Locks NL EX Requested Granted in ALPHA MACRO PDFs for HP C docs PLUG: txt2pdf 8.0 Re: Reject-Unbacktranslatable-IP v. "Received: from unknown.hostname (x.x.x.x)" Re: RFA string format Re: RFA string format Re: RFA string format Re: RFA string format Re: RFA string format Re: RFA string format Re: RFA string format Re: RFA string format Re: RFA string format Re: RFA string format Re: RFA string format Re: RFA string format Re: RFA string format Re: VMS GALAXY and CPU's ---------------------------------------------------------------------- Date: Tue, 25 Jan 2005 08:29:57 +0000 (UTC) From: gartmann@non.immunbio.mpg.de.sens (Christoph Gartmann) Subject: Re: %DCL-E-INVIFNEST, invalid IF-THEN-ELSE nesting structure or data inconsisten Message-ID: In article <5-Cdnfchyb9RemjcRVn-vg@inreach.com>, John Hixson writes: >Hello VMS users, > I am getting this error when attempting to install alot of software. >I get this error on OpenVMS 7.3 on a alpha pws 600au: > >%DCL-E-INVIFNEST, invalid IF-THEN-ELSE nesting structure or data >inconsistency > >This error shows up when I attempt to install oracle, fortran, and >compaq's C compiler (cc065) using @sys$update:vmsinstal . Is there a way >I can fix this? Can I modify a script? This is starting to really >irritate me =). This sounds a bit strange. Could it be that you have some partial IF-structure in your LOGIN.COM or SYLOGIN.COM? Or did you modify SYS$UPDATE:VMSINSTAL.COM? Regards, Christoph Gartmann -- Max-Planck-Institut fuer Phone : +49-761-5108-464 Fax: -452 Immunbiologie Postfach 1169 Internet: gartmann@immunbio dot mpg dot de D-79011 Freiburg, Germany http://www.immunbio.mpg.de/home/menue.html ------------------------------ Date: Tue, 25 Jan 2005 13:28:01 GMT From: hammond@not@peek.ssr.hp.com (Charlie Hammond) Subject: Re: %DCL-E-INVIFNEST, invalid IF-THEN-ELSE nesting structure or data inconsisten Message-ID: In article <5-Cdnfchyb9RemjcRVn-vg@inreach.com>, John Hixson writes: >Hello VMS users, > I am getting this error when attempting to install alot of software. >I get this error on OpenVMS 7.3 on a alpha pws 600au: > >%DCL-E-INVIFNEST, invalid IF-THEN-ELSE nesting structure or data >inconsistency > >This error shows up when I attempt to install oracle, fortran, and >compaq's C compiler (cc065) using @sys$update:vmsinstal . Is there a way >I can fix this? Can I modify a script? This is starting to really >irritate me =). An additional question -- have you by chance re-defined IF, THEN, ELSE or ENDIF? More suggestions my be forthcoming if you can post an actual example of the erro. -- Charlie Hammond -- Hewlett-Packard Company -- Ft Lauderdale FL USA (hammond@not@peek.ssr.hp.com -- remove "@not" when replying) All opinions expressed are my own and not necessarily my employer's. ------------------------------ Date: Tue, 25 Jan 2005 08:40:37 +0000 From: Chris Sharman Subject: Re: %DCL-E-INVIFNEST, invalid IF-THEN-ELSE nesting structure or data inconsisten Message-ID: Christoph Gartmann wrote: > In article <5-Cdnfchyb9RemjcRVn-vg@inreach.com>, John Hixson writes: > >>Hello VMS users, >> I am getting this error when attempting to install alot of software. >>I get this error on OpenVMS 7.3 on a alpha pws 600au: >> >>%DCL-E-INVIFNEST, invalid IF-THEN-ELSE nesting structure or data >>inconsistency >> >>This error shows up when I attempt to install oracle, fortran, and >>compaq's C compiler (cc065) using @sys$update:vmsinstal . Is there a way >>I can fix this? Can I modify a script? This is starting to really >>irritate me =). > > This sounds a bit strange. Could it be that you have some partial IF-structure > in your LOGIN.COM or SYLOGIN.COM? Or did you modify SYS$UPDATE:VMSINSTAL.COM? Agreed. Or SYCONFIG iirc. Chris ------------------------------ Date: 25 Jan 2005 10:33:12 -0600 From: kaplow_r@encompasserve.org.TRABoD (Bob Kaplow) Subject: ANAL/MEDIA/EXER on a modern disk? Message-ID: A long time ago in a galaxy far far away... We used to be able to test and exercise new disks (or destroy sensitive data from old disks) with the ANALYZE/MEDIA/EXERCISE command, or way back in time, the BAD utility under RSX. Alas with modern "smart" devices, these no longer function. If my disks were in an HSx array, I could run DILX to accomplish this purpose. But what do you do these days to beat up new or used disks when they are just JBOD drives on some random SCSI controller? ANAL/DISK/READ only hits used blocks, and doesn't do any writes. INIT/ERASE doesn't seem like what I'm looking for either. Bob Kaplow NAR # 18L TRA # "Impeach the TRA BoD" >>> To reply, remove the TRABoD! <<< Kaplow Klips & Baffle: http://nira-rocketry.org/LeadingEdge/Phantom4000.pdf www.encompasserve.org/~kaplow_r/ www.nira-rocketry.org www.nar.org "Congress shall make no law respecting an establishment of religion, except to encourage attendance in Christian churches; or prohibiting the free exercise thereof, except to require prayer in schools; or abridging the freedom of speech, except for those questioning the Bush administration; or of the press, except that not owned by Rupert Murdoch; or the right of the people peaceably to assemble, except those protesting pre-emptive wars; and to petition the government for a redress of grievance, except those we don't like." -former U.S. Sen. Gary Hart ------------------------------ Date: Tue, 25 Jan 2005 12:27:02 -0500 From: Peter Sjoberg Subject: Comparison of operating systems on wikipedia Message-ID: I'm missing one great OS on http://en.wikipedia.org/wiki/Comparison_of_operating_systems is it anyone who like to add it? ----== Posted via Newsfeeds.Com - Unlimited-Uncensored-Secure Usenet News==---- http://www.newsfeeds.com The #1 Newsgroup Service in the World! >100,000 Newsgroups ---= East/West-Coast Server Farms - Total Privacy via Encryption =--- ------------------------------ Date: Tue, 25 Jan 2005 13:01:07 -0500 From: "John Smith" Subject: Re: Comparison of operating systems on wikipedia Message-ID: Peter Sjoberg wrote: > I'm missing one great OS on > http://en.wikipedia.org/wiki/Comparison_of_operating_systems They don't list 'dead' operating systems .... GCOS, Multics, OS390, MVS, VMS, Tru64, HP-UX ------------------------------ Date: Tue, 25 Jan 2005 08:19:12 -0500 From: "John E. Malmberg" Subject: Re: DEC Keyboard Question Message-ID: Ken Fairfield wrote: > > I don't know specifically about the Outlook ES, but when I queried > Avocent's technical support that Fall, the answer I got back was, > > "While our switches do support mode 3 keyboard, it is > currently only in the 101/102 keyboard layout. The > additional keys would not pass through." > > I got similar negative responses from Adder, Linksys and Belkin. > I didn't expect anything different from Belkin, but Adder had a > nice little switch I would've liked to buy...too bad... A google search shows that there are several mode 3 keyboards available for x86 PC devices from several vendors. > The other piece of information I've gleaned from my research is > that essentially all of the switches put the physical keyboard > into mode 2, then translate to/from mode 3 for the VMS connection. A google search which I do not have handy indicates that x86 PCs not only regularly use mode 3 for keyboards, support for the LK series appears to be present in many versions of Microsoft Windows. The only version known not to support the LK4xx keyboards is the first retail version of Microsoft NT 4.0. The betas had support. Unfortunately I could not find a list of what versions of Microsoft Windows will support a NT 4.0 keyboard. It also appears from google that Linux will support an LKxxx keyboard. > Apparently Raritan does the translation with a per-system-connection > adapter (Alan, correct me if I'm wrong; I don't have any personal > experience with Raritan). Google is indicating that such translation is not needed as the x86 PCs operating systems already know about and use mode 3, but that conflicts with what others who have studied this more than I did. It seems what is needed is a scan code map for the LK4xx keyboards so that you can predict what key does what. All I have found so far with google is a web page that shows them for a large number of keyboards, but not the LK4xx keyboard. Based on the posting I found about Windows NT 4.0 specifically not working with an LK4xx keyboard, I am starting to wonder if that is what the real issue was. I have not been able to find search terms to get any information about this topic on the Microsoft site. > Rose does the translation in the switch if you get a model that > supports this: "ServeView +" / "ServeView Pro" do, as well as > their more expensive UltraView series. > > Christoph Gartmann has noted that even with the ServeView, you > may need to (temporarily?) connect a/the keyboard directly to > the Alpha system on reboot to get the full set of keys recognized. > Again, I don't have personal experience with the ServeView... > although I'm trying to find one I like on eBay... So far in my limited tests, Windows 98/2000 are quite happy with an LK keyboard connected through the cheap Belkin KVM. The Reflections 4 version I have appears to be able have their keyboard map reprogrammed to use the LK4xx keys, but do not have an easy way to do so, even though they have an LK4xx keyboard in their selection list, by default they leave the key mapping as if you have a PC keyboard. So it looks like I will have to see if there is a way to do the mapping and just put those settings in their own file. On the other hand, Powerterm in Pathworks 32 running on Windows XP automatically detected that the PC suddenly acquired (and with out a reboot), a LK4xx keyboard and immediately made the keys available. No changes required. That was not through a KVM, I just plugged in the keyboard to see what would happen. The powerterm keyboard map display however did not admit to the extra keys, but that could be a setting that I have not found yet, as I really have not looked. -John wb8tyw@qsl.network Personal Opinion Only ------------------------------ Date: Tue, 25 Jan 2005 12:12:05 +0100 From: Keith Cayemberg Subject: Re: disposition of largest private DEC collection in USA Message-ID: <41f62986$0$820$9b4e6d93@newsread2.arcor-online.net> John Smith wrote: > patrick jankowiak wrote: > >>Morten Reistad wrote: >> >> >>>In article <41F31CAE.6000803@swbell.net>, >>>patrick jankowiak wrote: >>> >>> >>>>Bill Gunshannon wrote: >>>> >>>> >>>> >>>> >>>>>I have wanted to start a computer museum here at the University >>>>>for a long time. I figured if I could get commitments from a >>>>>few corporations for operating funds I could probably convince >>>>>the University to give me the necessary space. But I really >>>>>don't know how to go about finding corporate sponsers. :-( >>>>>My idea is to have a real hands on facility where people can >>>>>come in and actually play with the equipment. I would also >>>>>make as much of it as I could available on the INTERNET with >>>>>guest accounts. But, I'm probably just dreaming again. >>> >>> >>>Corporate sponsors are just as shallow. We need to come up >>>with a workable museum first. >>> >>> >>> >>>>I wish we could do this. There's a hell of a datacenter here just >>>>waiting to be unzipped. It's what we wanted.. (makes me want to >>>> listen to "all we ever wanted" by Bauhaus) Man I am trying to keep >>>>a good mindset but this step is getting me down. It has to be done >>>>though. >>>> >>>>OPCOM >>> >>> >>>A computer museum will need large amounts of space; as well as >>>access to largish amounts of energy when someone decides to run >>>the machines. Much can be mocked up for the standard visitor, using >>>emulators to show software on the correct terminals. But machines >>>must be kept intact. We also have the issue of documentation. >>> >>>Such space fast becomes the major problem. It cannot be in or very >>>near major cities, because land is too expensive there. And the scale >>>of this is big enough for a full theme park. >>> >>>So why not do this? >>> >>>Make a theme park around technology development and preservation. >>>Remember that the audience is a premium one for many locations. >>>The nerds or wannabees that visit such places have above average >>>income, are not very inclined to boozing and gambling, and tend >>>to leave the facilities without damage. >>> >>>It will have to be located somewhere outside the mainstream, and >>>must be the magnet for people itself. Just like Disney World. >>> >>>-- mrr >>> >>> >> >>Sweet.. Need $ and $.. That would be very nice, >>have everything from pre-vacuum tube stuff on up. >>A home for analog computers too, yeah.. I could see >>it on 100 acres. Mostly indoors of course as geeks >>don't like the hot weather much.. >> >>The place could become a location of pilgrimages where >>acolytes could chant in octal and wizards could perform >>5-way merges on relational databases in an afternoon >>while across the park, boy electricians made huge >>sparks fly by selecting the right capacitors.. >> >>Microphones could be placed on the HDA's of grumbling >>RA81's and during this activity, connected to >>amplified subwoofers under the spinning platter-shaped >>floor in the next room - a "hard disk ride" >>"Ride the RA-81 Platter like a dust speck!! >>Watch out for the heads!!" >>Space mountain's got nothing on this one! >> >>Rides wouln't be the real attraction though, just a >>minor diversion. The interactive exhibits of all kinds, >>that's the key. The real VAXclusters and the 11/780 >>with doors open to show off the cards. A LINUX Beowulf >>cluster, paper tape, DECtape, 9-track tape, 8-track tape. >>And the blinkenlights stuff in a room where the lights >>dim evey several minutes or so. When the lights dim, >>AM radios tuned to the music of each machine come on, >>machines programmed to play music via the RFI. I >>know some remember doing that on pdp8's and other >>stately machines. >> >>On the other stuff, ever programmed an analog computer? >>Talk about an experience. There's lots of classic >>technology pieces out there, tons of test equipment >>with real CRT's, and machines like plasma generators >>from depostion processes, ever notice how you can measure >>plasma density by measuring the attenuation of a >>microwave beam through the plasma chamber? >> >>The progress of everything high tech: >>computers >>RF >>audio >>Germanium transistors (if anyone recalls those) >>plain old electricity >>tesla coil (very very large) >>open-frame dynamos >>what else? >> >>Might cost what $100M to start? >> >>The only geek with enough $ to start something like that, >>and enough daring to pull it off is Mr. Gates. >> >>It's wonderful and would probably make tons of >>moolah.. Who's going to call Bill? > > > > You'd probably have more luck with Allen, Wozniak, and Ellison. Maybe even > Ross Perot. > > If I remember correctly, Paul Allen used to (still?) run his own private PDP-10, his favorite system. So he appears to have a history of investing in computer (DEC) history preservation. Cheers! K.C. ------------------------------ Date: Tue, 25 Jan 2005 15:12:22 +0000 (UTC) From: jlw@psulias.psu.edu (j.lance wilkinson, (814) 865-1818) Subject: Re: disposition of largest private DEC collection in USA Message-ID: In all this discussion, has anybody considered giving this to the Computer History Museum (www.computerhistory.org) in Mountain View, California? I visited there in July 2004 while attending training for the systems that are planned to replace our Tru64 systems (which were expected some years ago to replace our OpenVMS systems ;-P). I was very impressed with the collection and the efforts to restore stuff. +----"Never Underestimate the bandwidth of a station wagon full of mag tapes"--+ | J.Lance Wilkinson ("Lance") InterNet: Lance.Wilkinson@psu.edu | Systems Design Specialist - Lead AT&T: (814) 865-1818 | Digital Library Technologies FAX: (814) 863-3560 | 3 Paterno Library "I'd rather be dancing..." | Penn State University A host is a host from coast to coast, | University Park, PA 16802 And no one will talk to a host that's close | Unless the host that isn't close | EMail Professional since 1978 Is busy, hung or dead. +---------"He's dead, Jim. I'll get his tricorder. You take his wallet."-------+ [apologies to DeForest Kelley, 1920-1999] home page junk mail declaration -- /"\ \ / ASCII RIBBON CAMPAIGN X AGAINST HTML MAIL / \ ------------------------------ Date: Tue, 25 Jan 2005 08:58:06 -0500 From: "Main, Kerry" Subject: RE: es45 cluster with eva Message-ID: > -----Original Message----- > From: ugex [mailto:edgar_ulloa@yahoo.com]=20 > Sent: January 24, 2005 9:20 AM > To: Info-VAX@Mvb.Saic.Com > Subject: es45 cluster with eva >=20 > Hi Guys: >=20 > I want to assembly a cluster with es45 and ds25 under ovms=20 > 7.3-r1 but I > have an Eva storage. >=20 > Some one know any documentation about to how configure clusters with > eva..? >=20 >=20 > cheers =20 >=20 > Edgar >=20 Edgar, Need to config EVA / controllers for the RAID type and number of storage devices you want and then configure VMS Clustering. On each system console you will also need to use the a utility to config the boot devices for the vms servers. Reference: http://h71000.www7.hp.com/doc/732FINAL/6318/6318pro_contents_001.html#to c_chapter_7 http://h71000.www7.hp.com/doc/732FINAL/6318/6318pro_contents.html http://h71000.www7.hp.com/doc/os732_index.html (all online VMS V7.3-2 doc's) Regards Kerry Main Senior Consultant HP Services Canada Voice: 613-592-4660 Fax: 613-591-4477 kerryDOTmainAThpDOTcom (remove the DOT's and AT)=20 "OpenVMS has always had integrity .. Now, Integrity has OpenVMS .." ------------------------------ Date: 25 Jan 2005 06:33:18 -0800 From: "ropegun1@yahoo.com" Subject: Help configuring RAID with HP SmartArray 5300A controller Message-ID: <1106663598.252966.216370@z14g2000cwz.googlegroups.com> Hello all I am trying to figure out how to setup a RAID configuration on a DS20E server with a 4 disk internal disk bank. This is a new system with nothing on it. I am able to do a basic configuration using the ORCA utility from the console. My question is to end up with a system disk and a user disk in OpenVMS 7.3-2 what is the best approach. I want to utilize the redundancy of the array on the user disk and system disk. Do I need to create on array with all 4 physical disks from ORCA and then create logical user and system disks after the OS install? I am reading about an ACU-XE utility that supposedly allows a browser type configuration is this a possibility? I am a rookie on DEC hardware configuration so any advice will be greatly appreciated. Thanks, Heath Harber Special Metals Corportation Huntington, Wv ------------------------------ Date: Tue, 25 Jan 2005 18:47:11 GMT From: John Malmberg Subject: Re: Help configuring RAID with HP SmartArray 5300A controller Message-ID: ropegun1@yahoo.com wrote: > Hello all > I am trying to figure out how to setup a RAID configuration on a DS20E > server with a 4 disk internal disk bank. This is a new system with > nothing on it. I am able to do a basic configuration using the ORCA > utility from the console. > My question is to end up with a system disk and a user disk in OpenVMS > 7.3-2 what is the best approach. I want to utilize the redundancy of > the array on the user disk and system disk. Do I need to create on > array with all 4 physical disks from ORCA and then create logical user > and system disks after the OS install? You must create the system disk first with ORCA or you will not be able to install the OS on it. You can also create any other volumes at that time, or you can wait until after you install the ACU-XE utility that you mention below. As to how you should best configure things, that really depends on what you are planing to do with your system. If you go for fault tolerance with the highest speed for writes, and be simple to maintain, then creating a mirror with two entire disks for the system disk would be an option, with the other two entire disks for a data disk. By keeping the physical disks assigned to the logical volumes that you intend on creating separate, you will create the fastest writable pair of fault tolerant drives. Or you can put all four disks in to two mirror sets. But simultaneous writes to the same physical disk may be a bottleneck. If capacity is an issue, 4 disks allow you do use RAID 5 and divide it up into as many logical volumes as you want. However simultaneous access to those volumes may be a bottleneck. Or you can go with a 3 disk RAID 5 and a hot spare. Only you can predict what your fault tolerance and performance needs are. In general having more than one volume share a physical disk as in partitioning schemes will not improve performance. For many applications on OpenVMS, you could just make one or two large volumes, and use concealed rooted logical names to make it a single volume look like a number of volumes. And unlike partitions, you do not have to preset the size of the area pointed to by those logical names. I use the concealed rooted logical names to make it look like each major application, or group of files have their own volume, and I use the same ones for each system. That way I can have over 100 systems with different number of disks on them, yet I know that all of the user files can be found by the name user_root:, and application foo on foo_root:. On some systems those files are all on the system disk, on others they are on their own disks for performance reasons. This way when you add more disks, you can move things, and in most cases not even have to reinstall or reconfigure anything except the SYLOGICALS.COM file to change where the logical disks are. > I am reading about an ACU-XE > utility that supposedly allows a browser type configuration is this a > possibility? I am a rookie on DEC hardware configuration so any advice > will be greatly appreciated. If you have a simple configuration planned, I would recommend as long as you are in the ORCA utility to set it all up, and then get to know the ACU-XE as you get comfortable. Welcome and feel free to ask questions. -John malmberg@dskwld.zko.dec.compaq.hp Personal Opinion Only ------------------------------ Date: 25 Jan 2005 05:43:28 -0800 From: bob@instantwhip.com Subject: Re: HP to be SAPed again? Message-ID: <1106660608.450238.202030@c13g2000cwb.googlegroups.com> realtime sounds like a perfect fit for OpenVMS! ------------------------------ Date: Tue, 25 Jan 2005 11:34:04 -0500 From: Bill Todd Subject: Re: New and Refreshed Advertising Colateral for OpenVMS Message-ID: <2bmdna8SQYNq6WvcRVn-pQ@metrocastcablevision.com> AEF wrote: ... suppose HP does > start promoting VMS. Do we then forget the Alphacide and let people buy > it? Do we continue to warn them not to buy it? If hp *does* start > promoting VMS, will cov readers cheer or just write negative things > claiming it's just another trick by hp to be followed by another > Alphacide-type event? Of course some will do one and some the other. If > hp makes commitments won't they be blasted as lies by Bill and others > in the group? The answer is simple, and I already provided it: money talks, bullsh!t walks. HP can talk until it's blue in the face and because we've heard it all before many of us won't believe a word of it unless it fits in with what their *actions* tell us. There may be a few here who might be impressed if HP honchos just talked up VMS a bit (given how silent it has been about VMS since the merger), but probably more who are looking for something of real substance. If HP starts spending *real money* both promoting VMS and bringing VMS up to currently-competitive levels of performance and features (file system and RMS come naturally to my own mind, but they're hardly the only areas in need of updating) - both of which would indicate some real, not merely verbal, commitment to a future for the product rather than the intent to milk it as a cash cow only as long as the milk supply holds out and then send it to the glue factory - you'll most likely see a dramatic change in attitude around here. Conversely, failing such *evidence* of real long-term commitment, you'll see what you've been seeing. How can any of this lead to something positive? Will a > change in leadership really satisfy the naysayers? No - but giving Carly the boot would be an appropriate first step, and then we could see how the new management looked and how receptive it appeared to be. Leadership has > changed at least twice now and still there is no fully-proactive > marketing of VMS. Will a new CEO really help? If the new CEO does > appear helpful to VMS at first, will the naysayers shut up and wait and > see? Again, your ignorance of history rears its head: take a look at how positively Compaq's take-over was viewed here after Pfeiffer started making positive comments about Alpha and VMS and actually started marketing them. Even after Pfeiffer got ousted Curly was given the benefit of the doubt, though that began to erode when he axed NT on Alpha, continued to diminish a year later as the 'VMS renaissance' started grinding to a halt, and fell off a cliff after the Alphacide. - bill ------------------------------ Date: 25 Jan 2005 07:53:48 -0800 From: alanhathway@gmx.de (Allan Hathaway) Subject: OpenVMS Locks NL EX Requested Granted in ALPHA MACRO Message-ID: <77ad1693.0501250753.37f67d0a@posting.google.com> Hello! Anyone out there, who knows something about 1) ALPHA MACRO Language AND 2) LOCKS under OpenVMS? I have the following problem. I have a Macro programm. (Source - see later) Someone found it years ago, who knows where, for the VAX. It needed a couple of twists to get it to work for the Alpha, which it does. The programm asks for the name of a file and then prints out all processes in the cluster, which are accessing the file. It produces the correct number of locks and PIDs. We would like more information from the programm, specifically, whether a process is just reading or has a lock on a record. (We have an Artikel-file RMS INDEXED, with hundreds of people accessing it.) But the output in the columns RQ (Requested) and GR (Granted) do not seem to be correct. They seem to be (almost) always NL (Null mode) If I start with a test-file, sometimes I get to see EX (Exclusive) but not always and never often enough (in my opinion) Anyone got any suggestions? Thanks in advance Allan Hathaway Example of usage of programm $ r sperre2 Enter file name: dt:artikl.dta 143 locks on resource "RMS$k.¨"...RAID-5__D01 ..." at node ALPHA3:: File name is: D01:[UPEX.DTA]ARTIKL.DTA; PID NODE LOCK ID RQ GR QUEUE REMLKID 20320654 ALPHA2 04003EDE NL NL GRANTED 080021DA 2031C038 ALPHA2 360001C5 NL NL GRANTED 6E003DD1 2031E8AB ALPHA2 4D000F04 NL NL GRANTED 6C002D4A 2031D6E0 ALPHA2 10000BAD NL NL GRANTED 74002E31 2031AC37 ALPHA2 28002D46 NL NL GRANTED 3E0036ED 20664518 ALPHA3 0500421F NL NL GRANTED 0500421F 2031B859 ALPHA2 5300132F NL NL GRANTED 57001755 etc. etc. The Source of the programm SPERRE2.MAR ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; ;;; ;;; IMPORTANT NOTE: ;;; ;;; ;;; ;;; - this program is non-digital ;;; ;;; - this program has no copyright attached ;;; ;;; - no support for this program ;;; ;;; - no gurantee for this program ;;; ;;; - no further development for this program ;;; ;;; - have fun ;;; ;;; ;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; .title RMS_LOCK_LIST - List all RMS file locks on a specified file ; ; ; 29.09.91 a.h. subb2 entfernen da Dateien mit Version >=10 nicht gehen ; 14.09.94 a.h. Versuch auf ALPHA zum Laufen zu bringen ; 14.09.94 a.h. Compilierung ohne Änderung bringt ; 14.09.94 a.h. .word 0 ; 14.09.94 a.h. %AMAC-E-DATINCODE, data in code stream ; 14.09.94 a.h. dreimal und ; 14.09.94 a.h. $cmexec_s routin = enq_lock ; 14.09.94 a.h. %AMAC-E-STORCODLAB, stored code labels ; 14.09.94 a.h. must be declared entry ; 14.09.94 a.h. points in routine LOCKLIST ; 14.09.94 a.h. bzw. auch für ; 14.09.94 a.h. $cmexec_s routin=exec_getlki ; 14.09.94 a.h. und ; 14.09.94 a.h. $cmexec_s routin=deq_lock ; 14.09.94 a.h. sowie ; 14.09.94 a.h. $cmexec_s routin = exec_getlki ; 14.09.94 a.h. und ; 14.09.94 a.h. main:: ; 14.09.94 a.h. %AMAC-E-GLOBENTRY, global entry point MAIN ; 14.09.94 a.h. must be declared ; 14.09.94 a.h. sowie ; 14.09.94 a.h. deq_lock: ; 14.09.94 a.h. %AMAC-I-UNRCHCODE, unreachable code ; 14.09.94 a.h. exec_getlki: ; 14.09.94 a.h. %AMAC-I-UNRCHCODE, unreachable code ; 14.09.94 a.h. ; 14.09.94 a.h. ; 14.09.94 a.h. ; 14.09.94 a.h. ; 14.09.94 a.h. ; ; ; This program will list all RMS$ file locks for a specified file. This ; is usefull to display all processes that have a file open by RMS on a ; cluster. ; ; The program requires CMEXEC priv since the RMS locks are taken at executive ; mode and we must do the same. In addition, read access to the specified ; file is required. ; ; for more information on resources, locks, and how VMS does all this, ; consult the system services reference manual, and the internals and data ; structures book along with the VMS sources for the modules in RMS, the ; lock manager and the distributed lock manager. ; ; To get the lock information, we must know how to build a resource ; name for a file like RMS does. The current (VMS V4) RMS file resource ; name looks like: ; "RMS$" + file id (3 words) + device lock name (from $GETDVI) ; ; We build this resource name by using a $QIO to get the file ID and using ; $PARSE to get the device name which is then passed to $GETDVI to return ; the device lock name (see the system services reference manual). Once ; the resource name is built, $ENQ a null mode lock on the resource in ; executive mode. Then, using the lock ID returned from the $ENQ, call ; $GETLKI with the item LKI$_LOCKS which will return an entry for each ; lock taken on the resource. $DEQ the lock just so it doesn't hang around ; for nothing. Finally, do some output formatting on the result and display ; it. ; ; order of operations is something like: ; - $PARSE and $SEARCH for the file to get device, DID and file name. ; - $GETDVI to get the DEVLOCKNAM ; - $ASSIGN a channel to the device ; - $QIO access to get the file ID ; - $ENQ a lock on the resource name ; - $GETLKI on our lock ID for all locks on this resource ; - $DEQ the lock ; - parse and display the results of the $GETLKI ; .macro check, ?l1 ; another blbs r0,l1 ; silly macro ret ; to do status l1: ; checking .endm .library /sys$share:lib/ .psect $data$, rd,wrt,noexe,long $fibdef ; FIB layout definitions $psldef ; PSL definitions $lckdef ; lock definitions $lkidef ; $GETLKI definitions $syidef ; $GETSYI definitions file_name: .quad 0 ; file name descriptor fib_block: .blkb fib$k_length ; FIB for opening the file fib_descr: .long fib$k_length ; FIB descriptor .long fib_block fil: .quad 0 ; file name+type+version descriptor files_dev: .quad 0 ; device name descriptor for $ASSIGN ; and $GETDVI io_status: .blkq 1 ; IOSB for $QIO fab_blk: $fab fop=nam,- ; FAB for RMS$PARSE nam=nam_blk nam_blk: $nam rsa=res_str,- ; NAM for RMS$PARSE rss=nam$c_maxrss,- esa=exp_str,- ess=nam$c_maxrss exp_str: .blkb nam$c_maxrss ; exanded name string res_str: .blkb nam$c_maxrss ; resultant name string chan: .long 0 ; channel to the device dviitmlst: ; $GETDVI item list to get the lock .word 16 ; name for the device .word dvi$_devlocknam .address devlck .long 0 .long 0 syiitmlst: ; item list to return node name for .word 15 ; a given CSID .word syi$_nodename .address nodename .address nodename_len .long 0 nodename_desc: ; string descriptor for node names nodename_len: .long 0 ; filled in by $GETSYI .address nodename ; text of node name always goes here nodename: .blkb 15 ; in this buffer lkiitmlst: ; item list for $GETLKI .word 1500 ; 1500 bytes won't be enough always .word lki$_locks ; get all the locks .address lock_list .address lock_len .word 4 .word lki$_lckcount ; get a count of all the locks .address total_locks .long 0 .long 0 total_locks: ; total number of locks on the resource .long 0 lock_len: ; length of returned list and the size .long 0 ; of each entry lock_list: ; buffer for the lock list .blkb 1500 lock_sb: ; LKSB buffer .long 0 ; status .long 0 ; LKID .blkb 16 ; VALUE BLOCK (not used here) lkidx: ; our LKID .long 0 fao_header: ; titles for the columns .ascid <10>\ PID NODE LOCK ID RQ GR QUEUE REMLKID\ fao_control: ; control string for each entry .ascid / !XL !6 !XL !AS !AS !AS !XL/ ; ; two buffers (crudely done) ; fao_buff1: .ascid / / fao_buff2: .ascid / / fao_h1: ; main header .ascid \!/ !SL locks on resource "!AF" at node !AS::\ fao_h2: .ascid \ File name is: !AS\ resource: ; descriptor for the resource name .long 26 ; length is always 26 for RMS locks .address res_addr ; pointer to the string res_addr: ; resource name string .ascii /RMS$/ ; prefixed with "RMS$" fid1: .word 0 ; Three words fid2: .word 0 ; of the fid3: .word 0 ; file ID devlck: .blkb 16 ; and then the DVI$_DEVLOCKNAM from ; $GETDVI ; ; queue names for where the locks are living ; granted_queue: .ascid /GRANTED/ convert_queue: .ascid /CONVERT/ waiting_queue: .ascid /WAITING/ ; ; table of mode values. This table is based on the current (VMS V4) lock ; mode values and is indexed into by the lock mode. ; lock_mode_table: .ascii /NL/ ; (0) NULL mode .ascii /CR/ ; (1) Concurrent read .ascii /CW/ ; (2) Concurrent write .ascii /PR/ ; (3) protected read .ascii /PW/ ; (4) protected write .ascii /EX/ ; (5) exclusive gr_mode_desc: ; string descriptor for the granted mode lock .long 2 ; always 2 bytes long .long 0 ; filled in with the correct mode address rq_mode_desc: ; same for the requested mode locks .long 2 .long 0 fn_desc: ; input file name string descriptor .long fn_len .address fn_text fn_text: .blkb 80 fn_len = .-fn_Text fn_prompt: ; input file name prompt .ascid /Enter file name: / .psect $code$, rd,nowrt,exe,long .entry locklist,0 ; ; Änderung am 14.9.94 - bis dahin war es ;main:: ; jetzt wird es ersatzlos entfernt ; ; ; determine the file name ; pushal fn_prompt pushal fn_desc calls #2,g^lib$get_input check ; ; fill in the NAM block default file name ; movb fn_desc,fab_blk+fab$b_dns movl fn_desc+4,fab_blk+fab$l_dna ; ; do the $PARSE and then a $SEARCH to get the DID and expanded name ; $parse fab=fab_blk ; get DID of directory file & ready for the check ; $SEARCH $search fab=fab_blk ; get the rest of the file information check movzbl nam_blk+nam$b_ess, file_name ; get expanded name movl nam_blk+nam$l_esa, file_name+4 movzbl nam_blk+nam$b_dev, files_dev ; get device name for $ASSIGN movl nam_blk+nam$l_dev, files_dev+4 ; ; get the device lock name ; $getdviw_s - itmlst=dviitmlst, - devnam=files_dev check ; ; assign a channel to the device ; $assign_s - devnam=files_dev, - ; channel for QIO. chan=chan check ; ; make a string descriptor of the file name, type and version for the QIO ; IO$ACCESS. do this by adding the sizes of the file name, type and version ; to get the length and just grab the pointer to the name from the nam block ; for the address. This is safe because the file name type and version ; are stored in order and the file name pointer addresses the start of the ; string. ; addb3 nam_blk+nam$b_name,nam_blk+nam$b_type,fil addb2 nam_blk+nam$b_ver,fil ; subb2 #1,fil movl nam_blk+nam$l_name,fil+4 ; ; move the DID to the FIB ; movl nam_blk+nam$w_did, fib_block+fib$w_did movw nam_blk+nam$w_did+4, fib_block+fib$w_did+4 ; ; Access the file to get the file ID and then get rid of the ; channel since we no longer need it. ; $qiow_s chan=chan,- ; access the file, func=#io$_access,- ; filling in the FID. iosb=io_status,- p1=fib_descr,- p2=#fil check ; is R0 meaning success? blbs io_status,5$ ; also check the IOSB for OK $exit_s code=io_status ; IOSB has an error status $dassgn_s - ; don't need this any more... chan=chan check ; ; grab the file ID and stuff it into the lock resource name (assumes the ; format of the fib). ; 5$: movl fib_block+4,fid1 movw fib_block+8,fid3 ; ; enq the lock from executive mode on our RMS resource name. ; $cmexec_s routin = enq_lock check movl lock_sb+4,lkidx ; save the lock ID ; ; now call GETJPI from executive mode since we need information on ; an executive mode lock (the one that we use finished ENQing). ; $cmexec_s routin=exec_getlki check ; ; DEQ the executive mode lock on our resource since we no longer need it ; $cmexec_s routin=deq_lock check ; ; since the resource mastering node for all the locks will be the same, get ; the first one and call $GETSYI to retrieve the node name of the that node ; moval lock_list,r3 ; points to lock list $getsyiw_s - csidadr = lki$l_sysid(r3), - itmlst = syiitmlst ; ; display a header line including the resource name, the number of locks ; queued on the resource, and the system mastering the resource. ; pushal nodename_desc ; node name descriptor pushl resource+4 ; location of resource name pushl resource ; size of resource name pushl total_locks ; total number of locks pushal fao_buff1 ; buffer to hold the result pushl #0 ; pushal fao_h1 ; control string ; ; 17.9.94 calls #6,... durch calls #7,... ersetzt ; alt: calls #6,g^sys$fao ; calls #7,g^sys$fao ; check pushal fao_buff1 ; output string from FAO calls #1,g^lib$put_output ; display it pushal file_name ; file name descriptor pushal fao_buff1 pushal fao_buff1 pushal fao_h2 calls #4,g^sys$fao ; create the second line check pushal fao_buff1 ; line with the file name calls #1,g^lib$put_output ; display it pushal fao_header ; display the header line calls #1,g^lib$put_output divw3 lock_len+2,lock_len,r2 ; determine the number of locks ; in our table moval lock_mode_table,r6 ; our list of mode names clrl r4 ; index in the lock table ; ; loop to skip down the list of locks and display information about each ; 10$: addl3 r3,r4,r5 ; add the base to the index $getsyiw_s - ; get the node that the owner csidadr = lki$l_remsysid(r5),- ; of the lock is on itmlst = syiitmlst check ; ; determine which queue (granted, convert or waiting) the lock is in ; and put a pointer to the matching string descriptor in R0. ; moval granted_queue,r0 ; assume that it is granted cmpb lki$b_queue(r5),#lki$c_granted ; is the lock on the granted que beql 1119$ ; yes, go on moval convert_queue,r0 ; assume that it is converting cmpb lki$b_queue(r5),#lki$c_convert ; is it on the CONVERT queue? beql 1119$ moval waiting_queue,r0 ; must then be waiting 1119$: ; ; determine the modes of the locks on the granted and request queues. Use ; our little table to do all this. ; movzbl lki$b_grmode(r5),r1 ; get the mode for granted mull #2,r1 ; times 2 for 2 byte modes addl3 r6,r1,gr_mode_desc+4 ; fill in the descriptor address movzbl lki$b_rqmode(r5),r1 ; get the mode for requested mull #2,r1 ; fix the offset addl3 r6,r1,rq_mode_desc+4 ; fill in the address ; ; push the arguments for the FAO and output the string ; pushl lki$l_remlkid(r5) ; remote lock ID pushl r0 ; pointer to the queue pushal gr_mode_desc ; mode granted pushal rq_mode_desc ; mode requested pushl lki$l_lockid(r5) ; the lock ID pushal nodename_desc ; node of the locker pushl lki$l_pid(r5) ; PID of the owner pushal fao_buff2 ; FAO buffer pushl #0 ; pushal fao_control ; control string calls #10,g^sys$fao ; and format it check pushal fao_buff2 ; display the calls #1,g^lib$put_output ; resultant string addw lock_len+2,r4 ; index to the next entry subw #1,r2 ; bump the counter bleq 999$ ; if done, get out brw 10$ ; if not, do another 999$: $exit_s code=r0 ; ; 17.09.94 ret Befehl eingefügt ; ret ; ; ; call these next 3 routines with a CHEXEC... ; ; ; enq a lock in exeutive mode ; ; Änderung am 14.9.94 - bis dahin war es ;enq_lock: ; .word 0 ; jetzt wird es ;.ENTRY ENQ_LOCK,0 ; .ENTRY ENQ_LOCK,0 $enqw_s lkmode = #lck$k_nlmode, - lksb = lock_sb, - acmode = #psl$c_exec, - resnam = resource, - flags = #lck$m_system ret ; ; DEQ the lock in executive mode ; ; Änderung am 14.9.94 - bis dahin war es ;deq_lock: ; .word 0 ; jetzt wird es ;.ENTRY DEQ_LOCK,0 ; .ENTRY DEQ_LOCK,0 $deq_s lkid=lkidx ret ; ; get the lock information in executive mode ; ; Änderung am 14.9.94 - bis dahin war es ;exec_getlki: ; .word 0 ; jetzt wird es ;.ENTRY EXEC_GETLKI,0 ; .ENTRY EXEC_GETLKI,0 $getlkiw_s lkidadr=lkidx,- itmlst=lkiitmlst ret .end locklist ------------------------------ Date: 25 Jan 2005 04:43:34 -0800 From: "Galen" Subject: PDFs for HP C docs Message-ID: <1106657014.241867.190440@f14g2000cwb.googlegroups.com> Using Google and other search methods I haven't been able to find PDFs for the VMS versions of the HP C language reference and users guide documents at hp.com, though it appears that the PDFs for Tru64 versions might be available. If anyone knows differently, please provide pointers. It seems a bit inconsistent to provide PDFs of so many large documents on the operating system itself, while not providing these layered product PDFs. ------------------------------ Date: 25 Jan 2005 03:06:26 -0800 From: mail@sanface.com Subject: PLUG: txt2pdf 8.0 Message-ID: <1106649266.390552.39810@f14g2000cwb.googlegroups.com> We would like to announce txt2pdf 8.0 version. http://www.sanface.com/txt2pdf.html txt2pdf is shareware; it is a very flexible and powerful Perl5 script that converts text files to PDF format files, so you can use it in every operating systems supported by Perl5, including OpenVMS. Remember to read "txt2pdf on OpenVMS" at http://www.sanface.com/openvms.html It's simple to design background like invoices, orders etc. Here nice examples made using txt2pdf PRO http://www.sanface.com/pdf/Purchase_Order.pdf http://www.sanface.com/pdf/oldinvoice.pdf http://www.sanface.com/pdf/hfmus.pdf http://www.sanface.com/pdf/heraldbill.pdf If you prefer we also distribute executables for Windows, Linux, Solaris, AIX, HP-UX, and Mac OS X. Inside the Windows version is Visual txt2pdf, a VB GUI. What's new in this version Support for Greek, Polish and Thai. (If you want different languages or different fonts for the supported languages contact us). Read Independent Liquor Group PDF Invoice Project at http://www.sanface.com/ilg-project.html Test txt2pdf 8.0! You can find it at http://www.sanface.com/txt2pdf.html ------------------------------ Date: Tue, 25 Jan 2005 09:15:54 -0600 (CST) From: sms@antinode.org (Steven M. Schweda) Subject: Re: Reject-Unbacktranslatable-IP v. "Received: from unknown.hostname (x.x.x.x)" Message-ID: <05012509155419@antinode.org> From: jfmezei.spamnot@teksavvy.com (JF Mezei) > >Reject-Unbacktranslatable-IP: TRUE > > >Received: from unknown.hostname (222.233.94.99) > > by alp.antinode.org (V5.4-15, OpenVMS V7.3-1 Alpha); > > Have you tried: > > $DEFINE/SYSTEM TCPIP$SMTP_RECV_DEBUG 1 and then look at the logs of the > receiver to ensure that the receiver has properly seen your request to > reject unbacktranslatables ? After adjusting SYS$SYSTEM:TCPIP$SMTP_RECV_RUN.COM to retain more log files (now a logical name, TCPIP$SMTP_RECV_RUN_LOG_PURGE_LIMIT) and to re-version the things when getting close to version 32767 (apparently reached again some time ago), I observed: Reject-Unbacktranslatable-IP : TRUE but also: Empty Good-Clients list. Consider everybody a known good client. and: recv_serv: remote host = unknown.hostname recv_serv: client_known = CLIENTGOOD Figuring that I had little to lose, I defined a short Good-Clients list, comprising the local (internal) network, 10.0.0.0/24. This seems to have had the desired effect, as I now get OPCOM messages like: TCPIP-W-SMTP_UNBKTRNSIP, client IP address 63.77.232.244 is not backtranslatable to a host name and: TCPIP-W-SMTP_CLNTINRBL, client IP address 80.14.15.42 matched RBL list neither of which had been observed before. (I always wondered why the RBLs never seemed to cause a rejection.) So, is this requirement somwhow obvious from the documentation (and I just have an osmium-like density), or has anyone else suffered from the effects of an empty Good-Clients list? ------------------------------------------------------------------------ Steven M. Schweda (+1) 651-699-9818 382 South Warwick Street sms@antinode-org Saint Paul MN 55105-2547 ------------------------------ Date: Tue, 25 Jan 2005 10:28:09 +0000 From: John Laird Subject: Re: RFA string format Message-ID: On Tue, 25 Jan 2005 00:25:49 +0000, John Laird wrote: >On 24 Jan 2005 16:18:04 -0700, nothome@spammers.are.scum (Malcolm Dunnett) >wrote: > >>In article , >> John Laird writes: >> >>> >>> Further to a related post, the 6 bytes represent, I believe, a little bit >>> more than just a byte offset. I don't think the full 48 bits are therefore >>> available for use. (I'd not be surprised if the RVN isn't in there, for >>> example.) >>> >> I don't understand why relative volume number would be part of the RMS >>RFA. Relative volume number is a construct at the ODS-2 level. > >A guess might be locking, but I'll admit I didn't really think that through >to see how sensible it might be. And about 5 minutes after posting that, I'd pretty much convinced myself that unless something prevents a single record from spanning volumes, it is probably not all that sensible at all. No such foolproof something came to mind. -- Welcome to the jungle. Please observe our laws. Mail john rather than nospam... ------------------------------ Date: Tue, 25 Jan 2005 06:10:13 -0500 From: Dave Froble Subject: Re: RFA string format Message-ID: <41F62915.602@tsoft-inc.com> JF Mezei wrote: > Question: > > For database systems such as Oracle or RDB, how do they access their > data inside their database files ? Aren't those considered to be raw > data container files by RMS ? > > Do these database applications make use of RFAs at all ? Or do they work > only with raw byte offsets, or just relative block numbers inside a file ? > RFAs are used within an RMS file. The databases don't use RMS, thus wouldn't use RFAs. I did a bit more playing around, this time with an indexed file. It seems that an RFA for a relative file and a RFA for an indexed file are two totally seperate things. Wish there was some documentation on RFAs. ------------------------------ Date: Tue, 25 Jan 2005 06:12:37 -0500 From: Dave Froble Subject: Re: RFA string format Message-ID: <41F629A5.90108@tsoft-inc.com> Mark Buda wrote: > "Dave Froble" wrote in message > news:41F5A39D.3030607@tsoft-inc.com... > >>Is there a definition of the RFA available anywhere? >> > > If you really want it that badly, I will dig around and provide it for you. > > mark > > > I'm curious. If you can easily do so, then please do it. Dave ------------------------------ Date: Tue, 25 Jan 2005 14:41:27 +0100 From: "Jan van der Weijde" Subject: Re: RFA string format Message-ID: <10vcj8aa8vb513a@corp.supernews.com> schreef in bericht news:00A3E586.7E3DE4B6@SendSpamHere.ORG... > In article <10va1c1m4m1ga94@corp.supernews.com>, "Jan van der Weijde" writes: > >Hello, > > > > does anyone have experience with the way an OpenVMS RMS table Record > >File Address (RFA) is represented as a string ? > >Internally it is a three byte integer value. > > Three *WORD* (16 bit) integer values. > > > >On the internet I only found the string representation RFA(0001,0000,0000) > >(e.g. output of dump/rec ). > >Is this a format OpenVMS users are familiar with ? > > Must be if that's how DUMP presented it. > > What is it you are wanting/trying to do? > > -- > http://www.ProvN.com for the *best* OpenVMS system security > solutions that others only claim to be. > -- > Cyber-Terrorism (si'-ber tayr'-or-iz-em) n.: > The release of, the sale of, or the use of any Micro$oft software product! > -- > VAXman- A Bored Certified VMS Kernel Mode Hacker VAXman(at)TMESIS(dot)COM Hi, Of course, you are right! I use the next C-structure (part of rabdef.h): .... __union { unsigned short int rab$w_rfa [3]; /* record's file address */ __struct { unsigned int rab$l_rfa0; unsigned short int rab$w_rfa4; } rab$r_rfa_fields; } rab$r_rfa_overlay; short int rabdef$$_fill_4; /* (reserved - rms release 1 optimizes stores */ /* to the rfa field to be a move quad, overwriting */ /* this reserved word) */ .... I am extending the RMS interface (using C) our tools has (Verastream from WRQ). So far we only support indexed sequential RMS files. I am adding support for relative and sequential files. RFA access is in that case a useful addition to the product. In certain cases it is easier for an end-user to refer to a record identifier as a single value (like ROWID in Oracle). So, besides three integers, I also wanted to add support for one string value, that internally of course is processed as three integers. Thanks for the reaction. Jan ------------------------------ Date: Tue, 25 Jan 2005 15:02:30 +0100 From: "Jan van der Weijde" Subject: Re: RFA string format Message-ID: <10vckfd7os3na0b@corp.supernews.com> Are you sure RFA's are different per file type ? In various HP documentation I read they are the same: "Random access by RFA is supported for all disk files. Whenever RMS successfully accesses a record, an internal representation of the record's location is returned in the 6-byte RAB field RAB$W_RFA. When a program wants to retrieve the record using random access by RFA, RMS uses this internal data to retrieve the record. " Also manual http://h71000.www7.hp.com/DOC/731FINAL/DOCUMENTATION/PDF/OVMS_731_FILE_APP.PDF, (table 2-1, page 2-2), does not mention diffrent RFA's per type. Thanks, Jan "Dave Froble" schreef in bericht news:41F62915.602@tsoft-inc.com... > JF Mezei wrote: > > > Question: > > > > For database systems such as Oracle or RDB, how do they access their > > data inside their database files ? Aren't those considered to be raw > > data container files by RMS ? > > > > Do these database applications make use of RFAs at all ? Or do they work > > only with raw byte offsets, or just relative block numbers inside a file ? > > > > RFAs are used within an RMS file. The databases don't use RMS, thus wouldn't > use RFAs. > > I did a bit more playing around, this time with an indexed file. It seems that > an RFA for a relative file and a RFA for an indexed file are two totally > seperate things. Wish there was some documentation on RFAs. > ------------------------------ Date: Tue, 25 Jan 2005 15:06:04 +0100 From: "Jan van der Weijde" Subject: Re: RFA string format Message-ID: <10vckm2oujlp8e1@corp.supernews.com> Hi, I use the next C-structure (part of rabdef.h), where the RFA is returned in e.g. three unsigned short integers: .... __union { unsigned short int rab$w_rfa [3]; /* record's file address */ __struct { unsigned int rab$l_rfa0; unsigned short int rab$w_rfa4; } rab$r_rfa_fields; } rab$r_rfa_overlay; short int rabdef$$_fill_4; /* (reserved - rms release 1 optimizes stores */ /* to the rfa field to be a move quad, overwriting*/ /* this reserved word) */ .... Jan "Dave Froble" schreef in bericht news:41F5A39D.3030607@tsoft-inc.com... > Bill Todd wrote: > > > Dave Froble wrote: > > > > ... > > > >> As can be seen, the least significant word is in the first 2 bytes, > >> with the most significant word in the last 2 bytes. > > > > > > Unless the definition of what an RFA is has changed from the original > > design, there are no 'most significant' or 'least significant' parts to > > it: it is an opaque 6-byte value which RMS provides to the application > > which the application can then return to RMS as a record identifier for > > the record in question (though in the case of indexed files only as long > > as the original file has not been reorganized, and in the case of > > sequential files only as long as the original file has not been > > truncated to a location preceding that record and then repopulated past > > the previous record's location; with relative files, any record in the > > same single-record 'slot' qualifies as a hit). > > > > - bill > > I've used RFA very infrequently. I'd assumed that it was just a 48 bit unsigned > integer. No real reason to do so. > > Is there a definition of the RFA available anywhere? > ------------------------------ Date: Tue, 25 Jan 2005 14:32:50 GMT From: "Jeffrey H. Coffield" Subject: Re: RFA string format Message-ID: Alan Frisbie wrote: > Bill Todd wrote: > >> Unless the definition of what an RFA is has changed from the original >> design, there are no 'most significant' or 'least significant' parts >> to it: it is an opaque 6-byte value which RMS provides to the >> application which the application can then return to RMS as a record >> identifier for the record in question (though in the case of indexed >> files only as long as the original file has not been reorganized, and >> in the case of sequential files only as long as the original file has >> not been truncated to a location preceding that record and then >> repopulated past the previous record's location; with relative files, >> any record in the same single-record 'slot' qualifies as a hit). > > > This applies to RMS-11, but I'm pretty sure it also applies to RMS-32. > While the RFA is never actually defined anywhere (that I could find), > it is fairly easy to deduce that: > > RFA Word 1 = 1st word of VBN of bucket holding RRV > RFA Word 2 = Record ID of RRV in bucket > RFA Word 3 = 2nd word of VBN of bucket holding RRV > > It is interesting to note that even using RFA access, RMS must > still search through the relevant bucket sequentially to find > the requested record. > > Alan > So how does an RFA still retrieve a record if the bucket splits? ------------------------------ Date: Tue, 25 Jan 2005 14:43:16 +0000 From: John Laird Subject: Re: RFA string format Message-ID: On Tue, 25 Jan 2005 14:32:50 GMT, "Jeffrey H. Coffield" wrote: >So how does an RFA still retrieve a record if the bucket splits? See http://h71000.www7.hp.com/wizard/wiz_9668.html -- Most Wanted? Why not keep them when they're photographed? Mail john rather than nospam... ------------------------------ Date: Tue, 25 Jan 2005 15:08:01 GMT From: "Jeffrey H. Coffield" Subject: Re: RFA string format Message-ID: John Laird wrote: > On Tue, 25 Jan 2005 14:32:50 GMT, "Jeffrey H. Coffield" > wrote: > > >>So how does an RFA still retrieve a record if the bucket splits? > > > See http://h71000.www7.hp.com/wizard/wiz_9668.html > Thanx, that makes sense. ------------------------------ Date: Tue, 25 Jan 2005 10:42:58 -0500 From: Bill Todd Subject: Re: RFA string format Message-ID: Malcolm Dunnett wrote: > In article , > Bill Todd writes: > > >>> If we've all truly treated it as an opaque value then no application >>>programs need be changed in order to change the way RMS internally uses >>>the RFA. >> >>Save for the small matter of applications which are using the existing >>format and expect new versions of RMS to honor it as long as the files >>involved haven't changed. >> > > Well presumably you could redefine it in a fashion that was compatible > with existing files/RFAs. If you redefined the unused bits in the "offset" > word to be "extended bits" added to the "block offset" longword then > the format would be identical for any file under 2TB ( where those > bits are currently always zero). As long as they always *are* zero, that would be true. I suspect that RMS-32 presents them as zero (just to be tidy if nothing else), but whether it requires that they be zero on input or just ignores them is the real question (if the latter, then no strictly upward-compatible extension is possible using them unless one is prepared to break programs that used to work, untidy though they may have been). Assuming, of course, that the RRV ID size extension was never implemented. ... >>Then again, the mention of the RVN rang a faint bell. It's possible >>that the 'extra' byte in the RFA was drafted because the interface had >>forgotten to include it elsewhere > > > Sorry, I'm still confused - why does RMS care about the RVN when > specifying a record location? It doesn't: my point was that I seem to remember an 'available' byte being stolen from an *unrelated* field in RMS-11 at some point to include the RVN for which a more suitable location had never been created. But either I was groggy at the time I responded or my 19-year separation from All Things RMS has finally taken its toll: whatever field the RVN byte may (or may not) have been stolen from would clearly have been in the FAB (or possible in an XAB), not the RAB. - bill ------------------------------ Date: Tue, 25 Jan 2005 11:03:19 -0500 From: Bill Todd Subject: Re: RFA string format Message-ID: <1vqdnbREzodf8GvcRVn-qQ@metrocastcablevision.com> Dave Froble wrote: > Alan Frisbie wrote: > >> Bill Todd wrote: >> >>> Unless the definition of what an RFA is has changed from the original >>> design, there are no 'most significant' or 'least significant' parts >>> to it: it is an opaque 6-byte value which RMS provides to the >>> application which the application can then return to RMS as a record >>> identifier for the record in question (though in the case of indexed >>> files only as long as the original file has not been reorganized, and >>> in the case of sequential files only as long as the original file has >>> not been truncated to a location preceding that record and then >>> repopulated past the previous record's location; with relative files, >>> any record in the same single-record 'slot' qualifies as a hit). >> >> >> >> This applies to RMS-11, but I'm pretty sure it also applies to RMS-32. >> While the RFA is never actually defined anywhere (that I could find), >> it is fairly easy to deduce that: >> >> RFA Word 1 = 1st word of VBN of bucket holding RRV >> RFA Word 2 = Record ID of RRV in bucket >> RFA Word 3 = 2nd word of VBN of bucket holding RRV >> >> It is interesting to note that even using RFA access, RMS must >> still search through the relevant bucket sequentially to find >> the requested record. >> >> Alan >> > > That deduction doesn't seem to fit with the simple example I posted. > How RFAs are constructed for Indexed and variable length records very > well could be different than for a relative file, where it just appears > to be a record index. In an indexed file user data bucket, it's an associative ID (one-byte incrementing counter) unique (when combined with the bucket's start VBN address) for the life of the file (as long as the file is not reorganized internally or copied using mechanisms that do not preserve RFAs). Searching sequentially through a user data bucket just means sequentially scanning the headers of existing records in the bucket until you find the matching ID or exhaust the inhabitants. Save in cases of very large buckets and very small records that nearly fill them, this is not very CPU-intensive compared to the other overheads involved - especially if RMS bucket sizes are still limited to 31.5 KB (which is getting to be ridiculously small considering disk-performance characteristics these days: user data bucket sizes up to the low-single-digit megabyte range would often be very worthwhile if they were supported, especially lacking any on-line background reorganizations facilities - which for that matter wouldn't preserve RFAs anyway, hence would not be a *complete* substitute for the large bucket sizes). - bill - bill ------------------------------ Date: Tue, 25 Jan 2005 16:13:56 +0000 From: John Laird Subject: Re: RFA string format Message-ID: On Tue, 25 Jan 2005 10:42:58 -0500, Bill Todd wrote: >Malcolm Dunnett wrote: >> >> Sorry, I'm still confused - why does RMS care about the RVN when >> specifying a record location? > >It doesn't: my point was that I seem to remember an 'available' byte >being stolen from an *unrelated* field in RMS-11 at some point to >include the RVN for which a more suitable location had never been created. A FID has the RVN in a peculiar place, iirc. The actual index into the header file is wrapped around it, low 2-bytes somewhere below and a high byte above. I had a small utility that broke the first time it encountered an indexf.sys with more than 64K entries. [Thinks: this would seem to limit indexf entries to 16 million per volume, which doesn't ring a bell with any of INITs qualifiers.] -- I have one nerve left and you're getting on it... Mail john rather than nospam... ------------------------------ Date: Tue, 25 Jan 2005 16:16:21 +0000 From: John Laird Subject: Re: RFA string format Message-ID: On Tue, 25 Jan 2005 15:08:01 GMT, "Jeffrey H. Coffield" wrote: >John Laird wrote: >> On Tue, 25 Jan 2005 14:32:50 GMT, "Jeffrey H. Coffield" >> wrote: >> >> >>>So how does an RFA still retrieve a record if the bucket splits? >> >> >> See http://h71000.www7.hp.com/wizard/wiz_9668.html >> >Thanx, that makes sense. I'd only picked up on the fact that, for indexed files, the RFA contained not a byte offset (which might move) but an identifier within the bucket, which presumably then features in an internal search, and couldn't see why a bucket split would disturb this, on the basis that one could navigate to the new bucket, but a quick Google found a definitive answer. -- If everything's coming your way, you're in the wrong lane. Mail john rather than nospam... ------------------------------ Date: Tue, 25 Jan 2005 04:21:47 -0500 From: "Mark Buda" Subject: Re: VMS GALAXY and CPU's Message-ID: "John Brandon" wrote in message news:05012410052489@dscis6-0.dalsemi.com... > 1) Does anyone know if I can install and use the 4 additional CPU's? > Within the existing partition? You can install them, but they will not be usable... for below reason. > 2) Will the GALAXY license disable the 4 CPU's? The GALAXY_SERVER image will do a check and see if there are more CPU's than license units/100. If it notices more CPUs than allowed by license units, it disables the CPUs that are not licensed... It does not pay attention to which CPUs it disables, it just starts stoppping them, so you might need to adjust how many CPUs per instance. NOTE, it will not shut down PRIMARY CPUs for each partition, as you always need one CPU to run VMS. > I would expect that the 4 CPU's would remain permanent to the assigned > instance > and would not be a shared resource. > > I have talked with HP - however I get the sales pitch routine and no > definitive > answer. I hope this explains it. mark ------------------------------ End of INFO-VAX 2005.050 ************************