[comp.os.vms] Print symbionts

DHASKIN@CLARKU.BITNET (Denis W. Haskin/Manager/Tech Services) (08/21/87)

> I would be interested in hearin> g from anyone who has written a user output
> routine to replace the main output routine in the print symbiont. I have
> done this, but the symbiont exits with an access violation AFTER my output
> routine has successfully completed with SS$_NORMAL for the first output
> record. I would like to see a working output routine to see if there is
> anything I am misunderstanding.

I have Bliss source of a modified print symbiont which I have not yet
investigated (got them for the same reason you ask -- to get a better
understanding of what makes a working symbiont tick).  I can forward them to
you, or you may want to contact Peg Heffron (HEFFRON@SUNRISE.BITNET) from whom
I got them originally.  This symbiont modifies the flag page.

If anyone out there has a quick way to convert Bliss source into something a
little more general (Pascal, C, BASIC (?), even COBOL...), please let me know.

% Denis W. Haskin                             Manager, Technical Services %
% ----------------------------------------------------------------------- %
% DHASKIN@CLARKU.BITNET   Office of Information Systems     (617)793-7193 %
% Clark University               950 Main Street      Worcester MA  01610 %
%                                                                         %
%                      "I did!  I did tee a puddy tat!"                   %

jusczak@NADC.ARPA (M. Jusczak) (02/06/88)

 
I need to  provide header and footer lines on each page of 
printed text.  Does anyone have a print symbiont which can handle
this (or any other suggested method besides using a formatter program).
We are using VAX/VMS version 4.6 on a micro VAX II.

Thanks in advance,

Mike Jusczak
Naval Air Development Center
jusczak@nadc.arpa
(215)441-7649

IMHW400@INDYVAX.BITNET (06/09/88)

(The original posting concerned symbionts written in C, and the C runtimes'
unfortunate habit of blindly zapping stdout whether it was used or not.)

The problem *can* be solved; in fact, I was unaware of it, even though I
wrote a PSM-based symbiont entirely in C.  The main function is, in fact,
called "main", but perhaps I avoided the ugliness referenced above by having
it end with "return" instead of just running into the closing brace.  At
any rate, the symbiont can be STOP/RESETted without crashing the job
controller....

So far as I can recall, none of my extant C code uses any C runtimes.  We
use C here for most of our system support and utility projects, and it works
very well using only VMS runtime support.

You *can* try fiddling with images that have no "main" function, but you
will have to find some other way to pass an image start address to the linker.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Mark H. Wood    IMHW400@INDYVAX.BITNET   (317)274-0749 III U   U PPPP  U   U III
Indiana University - Purdue University at Indianapolis  I  U   U P   P U   U  I
799 West Michigan Street, ET 1023                       I  U   U PPPP  U   U  I
Indianapolis, IN  46202 USA                             I  U   U P     U   U  I
[@disclaimer@]                                         III  UUU  P      UUU  III

ewilts%Ins.MRC.AdhocNet.CA@UNCAEDU.BITNET (Ed Wilts) (06/16/88)

I have now gotten our print symbiont successfully debugged without taking
out the job controller.  Thanks to all who offered the help (especially
Nick Bush, who responded first).

To summarize, the most important thing to remember is to NEVER write to
SYS$OUTPUT or SYS$ERROR.  Doing so will cause the job controller to
up and die and get users annoyed.  Establish a condition handler to trap
for all conditions (and don't let it exit with a SS$_RESIGNAL condition :-))
and you should be okay.

        .../Ed