[Info-vax] sys$ssio_*

Arne Vajhøj arne at vajhoej.dk
Wed Nov 27 09:11:49 EST 2024


On 11/27/2024 8:19 AM, Craig A. Berry wrote:
> On 11/26/24 2:53 PM, Arne Vajhøj wrote:
>> 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?
> 
> 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.

> 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



More information about the Info-vax mailing list