Input parameters for the IEFJSVEC service are:
- VTSPL
- JSBVT — both fixed and variable sections
VTSPL Contents: Your program sets
the following fields in the VTSPL control block on input:
- Field Name
- Description
- VTSID
- Identifier 'VTSP'
- VTSLEN
- Length of the VTSPL (VTSSIZE) control block
- VTSVER
- Version number of the VTSPL (VTSCVER) control block
- VTSCONID
- The 1-byte console ID of the console that the subsystem initialization
routine issues messages to. If your program sets this field to zero,
the VTSCNSID field is used.
This field exists for versions of MVS™ previous to SP410. IBM® recommends that you specify
a 4-byte console ID as defined by the VTSCNSID field.
- VTSFLAGS
- Flags
- VTSGLOAD — load-to-global indicator.
To eliminate
the need to have subsystem function routines reside in LPA, the subsystem
can request that IEFJSVEC issue a load-to-global for those function
routines by setting the VTSGLOAD indicator. If load-to-global is used
for the subsystem function routines, the function routines are loaded
into pageable CSA and the loaded routines are associated with the
requesting task. When the task ends, the module's use count is reduced
by the number of outstanding LOADs. When the module's use count reaches
zero, the module is deleted, leaving an invalid function routine address
in the SSVT. Therefore, the load-to-global option should only be
used by programs running under a task that never ends. For example,
if IEFJSVEC is invoked by the subsystem initialization routine which
is given control out of early system initialization (that is, those
subsystem initialization routines specified in IEFSSNxx parmlib members)
the requesting task is the master scheduler, which never goes away.
If you set the load-to-global indicator, all function routines which
are specified on a single request to IEFJSVEC are loaded into pageable
CSA. If you want to have some function routines loaded into CSA and
others that are not, issue separate invocations of IEFJSVEC, one with
the VTSGLOAD indicator set and the other with the VTSGLOAD indicator
not set. Because your subsystem can only have one SSVT, for subsequent
calls to IEFJSVEC, you need to use the enable function code request
option available through the IEFJSVEC service. See Enabling Your Subsystem for New Functions for
more information.
- VTSREQ
- Request flags — defines the operation that this call performs
- VTSCREAT — SSVT build indicator
- VTSNAME
- Subsystem name. The name of the subsystem for which the SSVT
is being built. The subsystem name can be up to four characters.
It must be left-justified and padded to the right with blank (X'40')
characters.
- VTSSVTD
- Address of SSVT table data (mapped by IEFJSBVT)
- VTSCNSID
- 4-byte console ID that the SSI uses for any messages issued
on this invocation of IEFJSVEC. If this field is set to zero, the
messages go to the master console.
Provide a CART and a console
ID if IEFJSVEC is invoked while running under a command processor.
For example, if a subsystem is initialized through START command
processing. See z/OS MVS Programming: Authorized Assembler Services Guide for
information on how to obtain the CART and console ID from the command
input buffer (CIB) control block.
- VTSCART
- Command and response token (CART). If a CART is provided, the
SSI uses it for any messages it issues for this invocation of IEFJSVEC.
Set all other fields in the VTSPL control block to binary zeros.
JSBVT Contents — Fixed Header Section: Your
program sets the following fields in the JSBVT control block on input:
- Field Name
- Description
- JSBID
- Identifier 'JSBV'
- JSBLEN
- Length of the JSBVT (fixed header section) control block
- JSBVERS
- Version number of the JSBVT (JSBCVERS) control block
- JSBFUN
- Number of function routines specified in this table of data
- JSBSPL
- Subpool number from which the SSVT is to be built. Note that
the system uses the mode and key of the caller to access the SSVT
and invoke the function routines.
- JSBMAXFR
- Maximum number of function routines you expect the subsystem
to need
Set all other fields in the fixed header section of the JSBVT
control block to binary zeros.
JSBVT Contents — Variable Length
Section: The JSBVT fixed header is followed by a variable length
function routine data area (one for each function routine). Your program
sets the following fields on input:
- Field
Name
- Description
- JSBLGTH
- Length of this function routine's data area and function code
area (also see JSBFCOD)
- JSBNME
- Name of the function routine. The function routine name can
be up to eight characters. It must be left-justified and padded to
the right with blank (X'40') characters.
- JSBNUM
- Number of function codes the function routine supports
JSBVT Contents — Variable Length
Section: The function routine data area is follow by a variable
length function code area (one for each function routine). Your program
sets the following fields on input:
- Field
Name
- Description
- JSBFCOD
- Function code (repeat if more than one function code is supported
by the same function routine). The value specified for each function
code must be in the range 1-255.