1 INFO-VAX	Sun, 23 Jul 2006	Volume 2006 : Issue 407       Contents:P Re: File I/O in Pascal, Exec-Mode, ASTs disabled (was: Re: File io while in execP Re: How to create a VMS PDF file from a VMS text file and an image (signature) o< I love Stuart Davidson! (Was: Re: lib$initialize with UWSSs)# Re: InfoServer 100 trouble - update # Re: InfoServer 100 trouble - update A Re: Under VMS, on an HSG80, can Raid Partition Size be Increased?   F ----------------------------------------------------------------------  % Date: Sun, 23 Jul 2006 14:09:18 +0800 3 From: "Richard Maher" <maher_rj@hotspamnotmail.com> Y Subject: Re: File I/O in Pascal, Exec-Mode, ASTs disabled (was: Re: File io while in exec 1 Message-ID: <e9v3lv$9ev$1@news-02.connect.com.au>   	 Hi Frank,   H You don't seem too keen on my earlier suggestion, but for the benefit ofK others who find themselves in a similar predicament I've attached some code I that uses the Action Routine with $putmsg, and $qio to get around the RMS J Exec Mode AST requirement. I think the Mech_Args are still VAX looking andL you could start wondering if the channel should be assigned in Exec Mode andL if Putmsg_Chan should be in protected memory, but that's a can of worms that: you're probably better off not opening at this late stage.   Regards Richard Maher    identification division. program-id.    my_main.  data division. working-storage section.9 01  sys$setast   pic 9(9) comp value external sys$setast. 5 01  my_sub       pic 9(9) comp value external my_sub. 9 01  ss$_normal   pic 9(9) comp value external ss$_normal.  01  sys_status   pic 9(9) comp.  * ( 01  putmsg_chan  pic 9(4) comp external. 01  back_on.'     03           pic 9(9) comp value 1. '     03           pic 9(9) comp value 1.  procedure division.  00.      call "sys$assign" ,         using   by descriptor   "sys$output"+                 by reference    putmsg_chan '                 by value        0, 0, 0          giving  sys_status. "     if sys_status not = ss$_normal2         call "lib$stop" using by value sys_status.  A     call "sys$cmexec" using by value my_sub, 0 giving sys_status. "     if sys_status not = ss$_normal        call "sys$cmexec"(            using by value     sys$setast%                  by reference back_on           display "Problem in Sub"2         call "lib$stop" using by value sys_status. * 
     stop run.  *  end program my_main. identification division. program-id.    my_sub. data division. working-storage section.8 01  ss$_wasset  pic 9(9) comp value external ss$_wasset.7 01  ss$_abort   pic 9(9) comp value external ss$_abort. 8 01  ss$_normal  pic 9(9) comp value external ss$_normal.6 01  my_hndlr    pic 9(9) comp value external my_hndlr. 01  sys_status  pic 9(9) comp.% procedure division giving sys_status.  00. 9     call "sys$setast" using by value 0 giving sys_status. "     if sys_status not = ss$_wasset4         call "lib$signal" using by value sys_status.  "     move ss$_normal to sys_status.1     call "lib$establish" using by value my_hndlr.   /     call "lib$signal" using by value ss$_abort.      exit program.  *  end program my_sub.  identification division. program-id.    my_hndlr. data division. working-storage section.6 01  out_msg      pic 9(9) comp value external out_msg.9 01  ss$_normal   pic 9(9) comp value external ss$_normal. ; 01  lib$_eomwarn pic 9(9) comp value external lib$_eomwarn. ; 01  ss$_resignal pic 9(9) comp value external ss$_resignal. ; 01  ss$_continue pic 9(9) comp value external ss$_continue. 9 01  ss$_unwind   pic 9(9) comp value external ss$_unwind. 8 01  ss$_debug    pic 9(9) comp value external ss$_debug. 01  sys_status   pic 9(9) comp.  01  hndlr_status pic 9(9) comp.  *  01  match_pos    pic 9(9) comp.  *  linkage section. 01  sigargs.#     03  sigarg_cnt  pic s9(9) comp. ;     03  sigarg_elem pic s9(9) comp    occurs 1 to 256 times >                                       depending on sigarg_cnt.
 01  mechargs. %     03  mecharg_cnt   pic s9(9) comp. %     03  mecharg_frame pic s9(9) comp. %     03  mecharg_depth pic s9(9) comp. %     03  mecharg_r0    pic s9(9) comp. %     03  mecharg_r1    pic s9(9) comp.  * ? procedure division using sigargs, mechargs giving hndlr_status.  kick_off section.  00.      call "lib$match_cond"           using   sigarg_elem (1),                 lib$_eomwarn,                  ss$_unwind,                  ss$_debug          giving  match_pos.       evaluate match_pos7        when     1     move ss$_continue to hndlr_status -                       perform output_messages 7        when   zeros   move ss$_resignal to hndlr_status -                       perform output_messages +                       call "lib$sig_to_ret" 2                           using  sigargs, mechargs+                           giving sys_status 4                       if sys_status not = ss$_normal)                           call "lib$stop" 4                            using by value sys_status                       end-if7        when   other   move ss$_resignal to hndlr_status      end-evaluate.  *  fini.      exit program.  *  output_messages section. 00.      subtract 2 from sigarg_cnt.      call "sys$putmsg" +             using   by reference    sigargs 2                     by value        out_msg, 0, 0.     add 2 to sigarg_cnt. *  end program my_hndlr.  identification division. program-id.    out_msg.  data division. working-storage section.) 01  putmsg_chan   pic 9(4) comp external. = 01  io$_writevblk pic 9(9) comp value external io$_writevblk. 9 01  ss$_abort     pic 9(9) comp value external ss$_abort. : 01  ss$_normal    pic 9(9) comp value external ss$_normal.  01  sys_status    pic 9(9) comp. * 	 01  iosb.       03  cond_val  pic 9(4) comp.     03            pic x(6).  *  linkage section. * 
 01  msg_desc.       03  msg_len   pic 9(4) comp.      03  msg_class pic 9(4) comp.     03  msg_addr  pointer. *  procedure division         using   msg_desc         giving  ss$_abort. 00.      call "sys$qiow" <         using   by value       0, putmsg_chan, io$_writevblk#                 by reference   iosb B                 by value       0, 0, msg_addr, msg_len, 0, 0, 0, 0         giving  sys_status. ;     if sys_status = ss$_normal move cond_val to sys_status. "     if sys_status not = ss$_normal2         call "lib$stop" using by value sys_status. *      exit program.  *  end program out_msg.    ' <fkburrie@yahoo.co.uk> wrote in message = news:1153245876.306980.218070@h48g2000cwc.googlegroups.com... G > >    The obvious question being here, what might this exit handler be  doing?
 > The answer: G > For our SCADA system we use this tailormade program. This program was H > originally developed for VAX in the early half of the 90's, some yearsH > ago it had a midlife update to Alpha. Currently running version 7.3.1.G > The program consists of a "realtime" distributed database that partly F > runs in executive mode and sometimes, when it becomes critical, runsA > with asts disabled. For logging purposes condition handlers are I > established for the several access modes. From these condition handlers F > either a file is created in which the traceback will be dumped (userG > mode) or in which the sig/mec arrays are being dumped. Until recently H > this implementation was fine - because in all these years we never hadH > an error while in executive mode with asts disabled! Now we have foundI > the ommission at this stage we want to correct it; mainly because it is @ > definitely unwanted that the program will hang during logging. > H > I will experiment with the suggested solutions. I can mix C in Pascal,G > so maybe I can use the C version of tr_print in pascal. But, if the C / > RTL can be used than also fopen can be used??  >  > Thx, >  > Frank Burrie >    ------------------------------  % Date: Sun, 23 Jul 2006 10:14:10 +0200 1 From: =?ISO-8859-1?Q?Jean-Fran=E7ois_Pi=E9ronne?= Y Subject: Re: How to create a VMS PDF file from a VMS text file and an image (signature) o 4 Message-ID: <44c32fdf$0$843$ba4acef3@news.orange.fr>  F > I was searching on the NET about this. Does anyone know that the GPL> > (From GNU project) can do this. Any comments is appreciated. >   D Python for VMS include the reportlab library which allow to generate PDFfile. two online examples:, http://vmspython.dyndns.org/rte/pdfgen_hello3 http://vmspython.dyndns.org/rte/test_pdfgen_general   A The second one generate a PDF which include both text and images.    JF   ------------------------------  % Date: Sun, 23 Jul 2006 18:02:20 +0800 3 From: "Richard Maher" <maher_rj@hotspamnotmail.com> E Subject: I love Stuart Davidson! (Was: Re: lib$initialize with UWSSs) 1 Message-ID: <e9vhau$rqf$1@news-02.connect.com.au>    Hi,   J > For some reason I was convinced that any initialization routine(s) for aJ > UWSS got activated in User-Mode and had to call-up to get anything done.  I I just knew there was a reason for it. On VAX/VMS V6.2 the initialization ' routine is in fact called in User-Mode.   L Meanwhile, over on Alpha/VMS V7.2 your lovely little initialization routinesL get activated in EXEC mode even if the first/initializing call into the UWSSE was for a Kernel-Mode service, and what's more (get this) even if the G process was already executing in Kernel Mode! How can this possibly be? H Surely VMS never let's you CMdown? Maybe the initialization routines areG processed as a seperate and semi-autonomous thread? This *is* the mut's K nuts! If you're not excited about this then you're simply fed up with life!   L Has anyone seen a release note about this anywhere? (In any version from 6.2J to 7.2. What happens on IA64?) You can't make a change like this without a release note can ya?   Cheers Richard Maher  > "Richard Maher" <maher_rj@hotspamnotmail.com> wrote in message+ news:e9dl0f$bbf$1@news-02.connect.com.au...  > Hi,  > J > For some reason I was convinced that any initialization routine(s) for aJ > UWSS got activated in User-Mode and had to call-up to get anything done.K > I'll have to go over to my VAX/VMS 6.2 box and try it there, but on Alpha G > VMS 7.2 it looks like they get called in Exec-Mode (Even if the first J > routine activated for the shareable image was a Kernel-Mode UWSS) Anyone got  > the definitive?  >  > Regards Richard Maher  >  >    ------------------------------  % Date: Sun, 23 Jul 2006 13:38:39 +0200 ) From: "gl@decadence.it" <gl@decadence.it> , Subject: Re: InfoServer 100 trouble - update9 Message-ID: <pan.2006.07.23.11.38.39.126631@decadence.it>   ; Il Sat, 22 Jul 2006 12:25:11 -0400, Dave Froble ha scritto: F > I've never run an Infoserver.  Regardless, the above is most likely : > invalid restoration commands.  Instead use (line wraps): > N > $ BACKUP SYS$SYSROOT:[INFOSERVER.KIT]ESS031.A /SAVE DKA100:[*...]/owner=orig > F > There may also be an issue with booting.  If you would have done an G > image backup, AND the save set included the disk initialization data.   C I've given I try to your example, but it didn't work because all is > client software, as the other message in the thread explained.  B > A different issue is where you choose to place the [INFOSERVER] H > directory.  This is opinion, strong opinion, keep non-VMS data out of 4 > the VMS directory structure, namely, SYS$SYSROOT:.  I Thanks for the information, I'll pay more attention to where to put files  for storage.   Bye  gl   ------------------------------    Date: 23 Jul 2006 06:11:25 -0700% From: "VAXelate" <moore.mc@gmail.com> , Subject: Re: InfoServer 100 trouble - updateC Message-ID: <1153660285.090047.320380@s13g2000cwa.googlegroups.com>    gl@decadence.it wrote:= > Il Sat, 22 Jul 2006 12:25:11 -0400, Dave Froble ha scritto: G > > I've never run an Infoserver.  Regardless, the above is most likely < > > invalid restoration commands.  Instead use (line wraps): > > P > > $ BACKUP SYS$SYSROOT:[INFOSERVER.KIT]ESS031.A /SAVE DKA100:[*...]/owner=orig > > G > > There may also be an issue with booting.  If you would have done an I > > image backup, AND the save set included the disk initialization data.  > E > I've given I try to your example, but it didn't work because all is @ > client software, as the other message in the thread explained. > C > > A different issue is where you choose to place the [INFOSERVER] I > > directory.  This is opinion, strong opinion, keep non-VMS data out of 6 > > the VMS directory structure, namely, SYS$SYSROOT:. > K > Thanks for the information, I'll pay more attention to where to put files  > for storage. >  > Bye  > gl  G As it happens, I have an RZ23 system drive from an Infoserver 100 about C to hit the dumpster that MIGHT still be servicable.  I'll remove it D from what's left of the the Infoserver (was earlier cannibalized forF parts) on Monday and see if I can find a VAX or Alpha to connect it toC -- then I can try an image BACKUP -- might just be able to make the   saveset available at that point.  D We're in the midst of an office move, I'm afraid, and I have quite aE bit on the go just now, but I'll try to get to it to help out.  Those @ interested - give me a week or so, and then contact me directly:  ,                moore-dot-mc-at-gmail-dot-com   Chris    ------------------------------    Date: 23 Jul 2006 01:51:54 -0700) From: "Bob Gezelter" <gezelter@rlgsc.com> J Subject: Re: Under VMS, on an HSG80, can Raid Partition Size be Increased?A Message-ID: <1153644714.337895.21870@75g2000cwc.googlegroups.com>    syslost,  E Aside from the comments about the partitions on the HSG80, there is a ? potential alternative to a disruptive BACKUP/RESTORE operation.   C You did not mention your configuration beyond the RAID usage on the E HSG. If you have Host Based Shadowing enabled on your system (or have $ the license), there is another path.  C If the RAID set is part of a host-based shadow set, you can use the G combination of Dissimilar device support and Volume expansion to create G a new, larger RAID set, and add the new RAID set to the existing shadow A set. Once the shadow copy is complete (which can be done with the > system fully running production), the original RAID set can be	 released.   G I presented a session at last year's HP Technical Forum in Orlando. The D session was entitled "Migrating OpenVMS Storage Environments without? Interruption or Disruption". The session notes are available at 5 http://www.rlgsc.com/hptechnologyforum/2005/1146.html   $ - Bob Gezelter, http://www.rlgsc.com   ------------------------------   End of INFO-VAX 2006.407 ************************                                                                                                                                                                                                started.9 >>> 226 Transfer completed.  342 (8) bytes transferred. 
 <<< PASV@ >>> 227 Entering passive mode; use PORT (198,151,12,104,11,89). <<< SIZE /disk$misc/decus/process/vms/narnia >>> 550 Size not available.r. <<< MDTM /disk$misc/decus/process/vms/narnia >>> 550 Unable to find filep. <<< RETR /disk$misc/decus/process/vms/narnia6 >>> 550 %%RMS-F-ORG, invalid file organization value
 <<< PASV@ >>> 227 Entering passive mode; use PORT (198,151,12,104,11,90)- <<< CWD /disk$misc/decus/process/vms/narnian; >>> 250 Connected to /disk$misc/decus/process/vms/narnia.>
 <<< LIST >>> 150 List started.  >>> 226 Transfer completed.I
 <<< PASV@ >>> 227 Entering passive mode; use PORT (198,151,12,104,11,91)5 <<< SIZE /disk$misc/decus/process/vms/narnia/osuwebb >>> 550 Size not available.i5 <<< MDTM /disk$misc/decus/process/vms/narnia/osuweb, >>> 550 Unable to find filee5 <<< RETR /disk$misc/decus/process/vms/narnia/osuweb 6 >>> 550 %%RMS-F-ORG, invalid file organization value
 <<< PASV@ >>> 227 Entering passive mode; use PORT (198,151,12,104,11,92)4 <<< CWD /disk$misc/decus/process/vms/narnia/osuwebB >>> 250 Connected to /disk$misc/decus/process/vms/narnia/osuweb.
 <<< LIST >>> 150 List started./ >>> 226 Transfer completed.n:   ANONYMOUS    job terminated at 19-JUL-2006 22:03:23.02isc/decus/process/vms/narnia/osuweb, >>> 550 Unable to find filee5 <<< RETR /disk$misc/decus/process/vms/narnia/osuweb 6 >>> 550 %%RMS-F-ORG, invalid file organiza