Re: Clarification on Recognizing My SubSystem Interface (ssi) Function Rou tines
On 30 January 2017 at 09:39, esst...@juno.comwrote: > 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
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
On 27 January 2017 at 19:21, esst...@juno.comwrote: > 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
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.comwrote: > > . > > 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