Discussion:
sys$ssio_*
(too old to reply)
Arne Vajhøj
2024-11-26 20:53:17 UTC
Permalink
They are there in 9.2-2. Sort of.

They are in various starlet include/inherit files and no link error.

But when I try to call I get 4026:

%SYSTEM-E-NOT_LOADED, system service or exec routine is not loaded

What to do to load them?

Arne
Simon Clubley
2024-11-27 13:18:06 UTC
Permalink
Post by Arne Vajhøj
They are there in 9.2-2. Sort of.
They are in various starlet include/inherit files and no link error.
%SYSTEM-E-NOT_LOADED, system service or exec routine is not loaded
What to do to load them?
If you can find the system service/executive image name, can you use
SYSMAN to load it ?

Simon.
--
Simon Clubley, ***@remove_me.eisner.decus.org-Earth.UFP
Walking destinations on a map are further away than they appear.
Arne Vajhøj
2024-11-27 14:16:39 UTC
Permalink
Post by Simon Clubley
Post by Arne Vajhøj
They are there in 9.2-2. Sort of.
They are in various starlet include/inherit files and no link error.
%SYSTEM-E-NOT_LOADED, system service or exec routine is not loaded
What to do to load them?
If you can find the system service/executive image name, can you use
SYSMAN to load it ?
$ mc sysman sys_loadable add sys$loadable_images:foobar.exe
$ @sys$update:vms$system_images

?

Arne
Simon Clubley
2024-11-27 18:37:11 UTC
Permalink
Post by Arne Vajhøj
Post by Simon Clubley
Post by Arne Vajhøj
They are there in 9.2-2. Sort of.
They are in various starlet include/inherit files and no link error.
%SYSTEM-E-NOT_LOADED, system service or exec routine is not loaded
What to do to load them?
If you can find the system service/executive image name, can you use
SYSMAN to load it ?
$ mc sysman sys_loadable add sys$loadable_images:foobar.exe
?
Yes, but you need to include a product name label as well.

I just had a look around and found the documentation. Start at the
bottom of the page labelled 405 (PDF physical page 415) in:

https://vmssoftware.com/docs/VSI_SYS_MAN_UTIL_REF_VOL_II.pdf

After reading that, you can decide if you want to try it or not.
(Assuming you can find the image in question).

Simon.
--
Simon Clubley, ***@remove_me.eisner.decus.org-Earth.UFP
Walking destinations on a map are further away than they appear.
Lawrence D'Oliveiro
2024-11-27 21:57:53 UTC
Permalink
$ mc sysman sys_loadable add ...
Seems that one little vestige of RSX-11, in the form of MCR, will never
die, even if its only purpose is to avoid having to define a foreign
command ...

Craig A. Berry
2024-11-27 13:19:21 UTC
Permalink
Post by Arne Vajhøj
They are there in 9.2-2. Sort of.
They are in various starlet include/inherit files and no link error.
%SYSTEM-E-NOT_LOADED, system service or exec routine is not loaded
What to do to load them?
Dunno, but those are probably the routines within the XFC intended to be
called by the CRTL, so unless you are trying to implement your own CRTL
you may not get what you want by calling them directly.

To enable SSIO in the CRTL, you had to set DECC$SSIO and
DECC$FILE_SHARING in the environment or send fop="ssio", shr="upd" to
open() or creat(). This according to notes distributed with the beta
twelve years ago.

Given that SSIO was left incomplete for a decade, followed by a brief
period where it was on the roadmap and Andy Goldstein was reportedly
working on it, followed by removal from the roadmap, it's anybody's
guess what's actually there and whether any of it even still partially
works.
Arne Vajhøj
2024-11-27 14:11:49 UTC
Permalink
Post by Craig A. Berry
Post by Arne Vajhøj
They are there in 9.2-2. Sort of.
They are in various starlet include/inherit files and no link error.
%SYSTEM-E-NOT_LOADED, system service or exec routine is not loaded
What to do to load them?
Dunno, but those are probably the routines within the XFC intended to be
called by the CRTL, so unless you are trying to implement your own CRTL
you may not get what you want by calling them directly.
To enable SSIO in the CRTL, you had to set DECC$SSIO and
DECC$FILE_SHARING in the environment or send fop="ssio", shr="upd" to
open() or creat(). This according to notes distributed with the beta
twelve years ago.
I know that is the intended usage.

But CRTL will end up calling those system services.

And I thought troubleshooting would be easier by calling
those system services directly.

And the system services seems relative easy to use.

sys$library:sys$starlet_c / starlet has:

/* Read a byte stream from the current file offset from a file that
*/
/* has been opened for Shared Stream I/O (SSIO) access
*/
/*
*/
/* $SSIO_READ chan ,buffer ,bufsiz ,iosa ,[ast] ,[astprm]
*/
/* ($SSIO_READW)
*/
/*
*/
/* chan = channel number for SSIO accessed file
*/
/*
*/
/* buffer = address of data buffer to receive data (64-bit address)
*/
/*
*/
/* bufsiz = size of data buffer in bytes (64-bit value)
*/
/*
*/
/* iosa = address of I/O status area (4 quadwords) to receive
final */
/* completion status (64-bit address)
*/
/*
*/
/* ast = address of AST routine (64-bit address)
*/
/*
*/
/* astprm = value to be passed to AST routine as argument (64-bit
value) */

Pretty straight forward.

But I got stuck with the "not loaded" error.
Post by Craig A. Berry
Given that SSIO was left incomplete for a decade, followed by a brief
period where it was on the roadmap and Andy Goldstein was reportedly
working on it, followed by removal from the roadmap, it's anybody's
guess what's actually there and whether any of it even still partially
works.
I know it is undocumented and unsupported.

But maybe someone know something anyway.

Arne
Loading...