Re: sys$ssio_*

Liste des GroupesRevenir à co vms 
Sujet : Re: sys$ssio_*
De : arne (at) *nospam* vajhoej.dk (Arne Vajhøj)
Groupes : comp.os.vms
Date : 27. Nov 2024, 15:11:49
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <vi79b4$13as$1@dont-email.me>
References : 1 2
User-Agent : Mozilla Thunderbird
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

Date Sujet#  Auteur
26 Nov 24 * sys$ssio_*7Arne Vajhøj
27 Nov 24 +* Re: sys$ssio_*4Simon Clubley
27 Nov 24 i`* Re: sys$ssio_*3Arne Vajhøj
27 Nov 24 i +- Re: sys$ssio_*1Simon Clubley
27 Nov 24 i `- Re: sys$ssio_*1Lawrence D'Oliveiro
27 Nov 24 `* Re: sys$ssio_*2Craig A. Berry
27 Nov 24  `- Re: sys$ssio_*1Arne Vajhøj

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal