Re: Clarification on Recognizing My SubSystem Interface (ssi) Function Rou tines

2017-01-30 Thread Tony Harminc
On 30 January 2017 at 09:39, esst...@juno.com  wrote:
> Tony Harminc wrote
>
>>That's up to you. You look at the command text and decide if you are
>>interested. If you want to process only commands prefixed by the
>>command character you specified, then check for that and ignore
>>anything that doesn't start with that character.

> That works fine for Function Code 10, which I only used as an example.

Sorry, it wasn't obvious that 10 was only an example.

> If I look at Function Code 8 (End-of-Memory) call there is no command text.

Indeed, because EOM is not logically related to a command. Rather,
that call includes the ASID of the ending address space, and some
other handy odds and ends. You will know if this address space's going
rhrough EOM is of interest to you because you surely made some kind of
record somewhere globally accessible when you built data structures or
had code running in that address space that you now need to clean up.
The EOM subsystem call knows nothing about if or why why you are
interested in knowing about this particular EOM event.

> Are You saying each function code needs to be determined differently ?
> Using a different technique ?

I'm still not getting whatever it is that you're not getting. You have
some functional reason to want to be called for one or more subsystem
call types. You install a routine for each such, and set the value
appropriately so that you will be called. Some of those calls (e.g.
commands, WTOs, EOMs) are broadcast; others (e.g. Open or Allocate)
are only for you. Regardless, your routine gets control, and you do
whatever it is you want to do.

> Wouldn't the SSCVT have the Target SubSystem ID ?

Um, yes... but your routine surely inherently already knows that.
Unless you are using common code for multiple subsystem call types,
which is not something you've mentioned, and which I think is
generally a pretty unlikely thing to want to do.

So I'm afraid I'm still not understanding the problem you are
encountering or anticipating.

Maybe give an example of how your EOM routine needs some information
you don't see being provided. Why would it need more than the ending
ASID?

Tony H.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Clarification on Recognizing My SubSystem Interface (ssi) Function Rou tines

2017-01-30 Thread esst...@juno.com
Tony Harminc wrote

>That's up to you. You look at the command text and decide if you are
>interested. If you want to process only commands prefixed by the
>command character you specified, then check for that and ignore
>anything that doesn't start with that character.

.
.
That works fine for Function Code 10, which I only used as an example.
If I look at Function Code 8 (End-of-Memory) call there is no command text.
Are You saying each function code needs to be determined differently ?
Using a different technique ?
.
Wouldn't the SSCVT have the Target SubSystem ID ?
.
.

Paul D'Angelo
*




-- Original Message --
From: Tony Harminc <t...@harminc.net>
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Clarification on Recognizing My SubSystem Interface (ssi) Function 
Rou tines
Date: Sat, 28 Jan 2017 01:36:32 -0500

On 27 January 2017 at 19:21, esst...@juno.com <esst...@juno.com> wrote:
> My understanding is for broadcast requests, the SSI checks every
> subsystem to determine if each subsystem is interested in the requested 
> function.
> .
> If the SSI finds a subsystem that is interested in the requested broadcast
> function the SSI pass control to the respective function routine specified in 
> the IEFSSVTI macros.
> The process is repeated for each subsystem interested in handling the 
> requested function.
> .
> Is my assessment correct ?

Yes.

> What is not clear from "MVS Using The Subsystem Interface" is how to exactly
> determine if the requested function is to be handled by my subsystem.

That's up to you. You look at the command text and decide if you are
interested. If you want to process only commands prefixed by the
command character you specified, then check for that and ignore
anything that doesn't start with that character. In that case you
would return RC=0 meaning that you are not interested. If you want to
process the command, then do so, and return RC=4 to say that you have
handled it.

Nothing stops you from looking at and acting on commands that don't
start with your character, but you can't do a lot of synchronous
processing because you will delay the "rightful owner" in getting the
command. So if, e.g., you want to notify your mainline program
whenever someone issues a certain command, you can do that.

There are all kinds of flags available as well as the command text.

> For Example:
> I have a member in IEFSSNxx SYS1/PARMLIB for My Subsystem Called ABC1
> it also specifies an INIT Routine (ABCINIT) And a Commmand Prefix as a 
> prameter.
> .
> My Subsystem Initialization Routine (ABCINIT) does issues a IEFSSVT 
> REQUEST=CREATE
> to create the SSVT.
> The Respective IEFSSVTI macros specify a Function Code of 10 and a Program 
> called
> ABC@CMDS.
> .
> My understanding is the SSI will invoke my Function Routine (ABC@CMDS) for 
> Function
> Code 10. It is up to MY Routine (ABC@CMDS) to determine if it is interested 
> in processing
> this request code 10.

Yup.

> Im trying to determine the recommended methods for determining this.

 [talk of name/token pairs]

I'm kind of lost here... What are you trying to correlate using the
N/T stuff? Just look at the text and do something or don't. If you
want only to process commands starting with your character, you might
do just as well to use the MODIFY interface, rather than going through
the much riskier and difficult setting up of a subsystem, with all the
potential of causing problems for other subsystems if you get it
wrong. So instead of, say,

*mycommand

you would use

f myprog,mycommand

You don't even need APF authorization to do this.

Tony H.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Clarification on Recognizing My SubSystem Interface (ssi) Function Rou tines

2017-01-27 Thread Tony Harminc
On 27 January 2017 at 19:21, esst...@juno.com  wrote:
> My understanding is for broadcast requests, the SSI checks every
> subsystem to determine if each subsystem is interested in the requested 
> function.
> .
> If the SSI finds a subsystem that is interested in the requested broadcast
> function the SSI pass control to the respective function routine specified in 
> the IEFSSVTI macros.
> The process is repeated for each subsystem interested in handling the 
> requested function.
> .
> Is my assessment correct ?

Yes.

> What is not clear from "MVS Using The Subsystem Interface" is how to exactly
> determine if the requested function is to be handled by my subsystem.

That's up to you. You look at the command text and decide if you are
interested. If you want to process only commands prefixed by the
command character you specified, then check for that and ignore
anything that doesn't start with that character. In that case you
would return RC=0 meaning that you are not interested. If you want to
process the command, then do so, and return RC=4 to say that you have
handled it.

Nothing stops you from looking at and acting on commands that don't
start with your character, but you can't do a lot of synchronous
processing because you will delay the "rightful owner" in getting the
command. So if, e.g., you want to notify your mainline program
whenever someone issues a certain command, you can do that.

There are all kinds of flags available as well as the command text.

> For Example:
> I have a member in IEFSSNxx SYS1/PARMLIB for My Subsystem Called ABC1
> it also specifies an INIT Routine (ABCINIT) And a Commmand Prefix as a 
> prameter.
> .
> My Subsystem Initialization Routine (ABCINIT) does issues a IEFSSVT 
> REQUEST=CREATE
> to create the SSVT.
> The Respective IEFSSVTI macros specify a Function Code of 10 and a Program 
> called
> ABC@CMDS.
> .
> My understanding is the SSI will invoke my Function Routine (ABC@CMDS) for 
> Function
> Code 10. It is up to MY Routine (ABC@CMDS) to determine if it is interested 
> in processing
> this request code 10.

Yup.

> Im trying to determine the recommended methods for determining this.

 [talk of name/token pairs]

I'm kind of lost here... What are you trying to correlate using the
N/T stuff? Just look at the text and do something or don't. If you
want only to process commands starting with your character, you might
do just as well to use the MODIFY interface, rather than going through
the much riskier and difficult setting up of a subsystem, with all the
potential of causing problems for other subsystems if you get it
wrong. So instead of, say,

*mycommand

you would use

f myprog,mycommand

You don't even need APF authorization to do this.

Tony H.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Clarification on Recognizing My SubSystem Interface (ssi) Function Rou tines

2017-01-27 Thread Chip Grantham
Paul, 

The ssvt consists of a header, 256 byte table, and function routines.  The 256 
byte table can have two meaning sets of values; zero and greater than zero.  If 
the function code is zero, then the sub system is not interested in the 
function.  If the function code is greater than zero then the value becomes an 
index into the function code routines.  

For example, If the 10th byte into the 256 byte table is zero, then this 
subsystem is not interest in this broadcast message and this subsystem is 
skipped.  If then 10th byte has a one, then the first function routine in the 
list of function routines in the ssvt is called.  If the 10th byte contained a 
3, then the third function routine in the list of function routine would be 
called. 

Hope this helps,

Chip

> On Jan 27, 2017, at 18:23, esst...@juno.com  wrote:
> 
> .
> 
> I have been reading the MVS Using The Subsystem Interface
> .
> I need some clarification on SubSystem Interface (SSI) Function Routines.
> These are the function Routines defined by the IEFSSVTI and 
> IEFSSVT TYPE=REQUEST macros.  
> .
> My understanding is for broadcast requests, the SSI checks every
> subsystem to determine if each subsystem is interested in the requested 
> function.
> .
> If the SSI finds a subsystem that is interested in the requested broadcast
> function the SSI pass control to the respective function routine specified in 
> the IEFSSVTI macros.
> The process is repeated for each subsystem interested in handling the 
> requested function.
> .
> .
> Is my assessment correct ?
> .
> .
> What is not clear from "MVS Using The Subsystem Interface" is how to exactly
> determine if the requested function is to be handled by my subsystem.
> .
> .
> For Example:
> I have a member in IEFSSNxx SYS1/PARMLIB for My Subsystem Called ABC1
> it also specifies an INIT Routine (ABCINIT) And a Commmand Prefix as a 
> prameter.
> .
> My Subsystem Initialization Routine (ABCINIT) does issues a IEFSSVT 
> REQUEST=CREATE 
> to create the SSVT.
> The Respective IEFSSVTI macros specify a Function Code of 10 and a Program 
> called
> ABC@CMDS.
> .
> My understanding is the SSI will invoke my Function Routine (ABC@CMDS) for 
> Function
> Code 10. It is up to MY Routine (ABC@CMDS) to determine if it is interested 
> in processing
> this request code 10.
> .
> Im trying to determine the recommended methods for determining this.
> .
> .
> I thought Of Defining a System Level Name Token Pair with in My SubSystem 
> Initialization Routine (ABCINIT). The Name Token would have My SSID embeded 
> in its name.
> .
> When My Function Routine (ABC@CMDS) receives control It Constructs the same 
> Name Token 
> as the Initialization Routine (ABCINIT) and use the SSID from the SSCVT 
> pointed to by register 0
> as the SSID embeded in the Name Token. My Function Routine Retrieves the Name 
> Token-
> If Its found This Request should be processed by My Routine.
> .
> .
> Is this a possible method to determining if a Command is to be handled by My 
> SubSystem ?
> .
> What Methods do others use ?
> .
> Thanks In advance
> Paul
> 
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN