IXGCONN — Connect/disconnect to log stream

Description

Use the IXGCONN macro to connect a program to a specific log stream or disconnect a program from a specific log stream.

IXGCONN returns a unique connection identifier called a stream token on completion of the IXGCONN REQUEST=CONNECT request. Subsequent logger services use the stream token to identify the connection. If multiple applications connect to the same log stream, the log blocks written from the different applications are merged.

The IXGCONN connect service can be used in the following ways:
  • Once a program has connected to a log stream, any application running in the same address space shares the connect status and may share the same stream token to issue other logger services. Any program in the address space can disconnect the entire address space from the log stream by issuing the IXGCONN REQUEST=DISCONNECT service.
  • Multiple programs in a single address space can issue IXGCONN REQUEST=CONNECT individually to connect to the same log stream and receive separate stream tokens. Each program must disconnect from the log stream individually.
  • Multiple address spaces on one or more MVS systems may connect to a single log stream, but each one must issue IXGCONN individually to connect and then disconnect from the log stream. Each one receives a unique stream token; address spaces cannot share a stream token.

    Note that a DASD-only log stream is single-system in scope. This means that only one system may connect to a DASD-only log stream, although there can be multiple connections from that one system.

For information about using the system logger services and the IXGCONN request, see z/OS MVS Programming: Assembler Services Guide which includes information about related macros IXGBRWSE, IXGDELET, IXGWRITE, IXGINVNT, and IXGQUERY.

Environment

The requirements for the caller are:

Environmental factor Requirement
Minimum authorization: Problem state with any PSW key.
Dispatchable unit mode: Task
Cross memory mode: PASN=HASN, any SASN
AMODE: 31-bit or 64-bit
ASC mode: Primary or access register (AR)
Interrupt status: Enabled for I/O and external interrupts.
Locks: No locks may be held.
Control parameters: None.

Programming requirements

  • The parameter list for this service must be addressable in the caller's primary address space.
  • Include the IXGCON mapping macro in your program. This macro provides a list of equate symbols for the system logger services.
  • Include mapping macro IXGANSAA in your program. This macro shows the format of the answer area output returned for each system logger service in the ANSAREA parameter.
  • If you use IXGCONN REQUEST=CONNECT,...,MF=(E,parmlist,NOCHECK) with either the STREAMTOKEN=xxxx or the USERDATA=yyyy keyword, the following procedure must be followed. When the processing is complete, move the STREAMTOKEN or USERDATA values from the parameter list specified on MF= to your own storage.
  • Each task that issues IXGCONN REQUEST=CONNECT to connect to a log stream must later issue IXGCONN REQUEST=DISCONNECT to disconnect from the log stream. When a task disconnects from the log stream, the log stream token that identified the connection expires. Any requests that use the log stream token after the disconnect are rejected with reason code X'82D'.
  • If a task that issued the IXGCONN REQUEST=CONNECT request ends before issuing a disconnect request, system logger automatically disconnects the task from the log stream. This means that the unique log stream connection identifier, or the STREAMTOKEN, is no longer valid. The application receives an expired log stream token error response with reason code X'82D', if this application continues to use the same STREAMTOKEN after the task has been disconnected on subsequent logger service requests.
  • Any job step task (JST) terminates within the address space that has a connection to the log stream. System logger treats any job step task termination in a manner similar to an address space termination. That is, all log stream connections are disconnected and logger associations are terminated with the address space.

    If this condition occurs and there remains an expected use of a log stream, then a new log stream connection will be required.

Restrictions

  • All storage areas specified in this service must be in the same storage key as the caller's storage key and must exist in the caller's primary address space.
  • The caller cannot have an EUT FRR established.
  • If the System Authorization Facility (SAF) is available, the system performs SAF authorization checks on all IXGCONN REQUEST=CONNECT requests in order to protect the integrity of data in a log stream.
    To connect successfully to a log stream, the caller must have SAF authorization that matches the authorization required for the log stream:
    • To connect to a log stream with an authorization level of READ, the caller must have read Start of change(or higher level)End of change access to RESOURCE(Start of changelog_stream_nameEnd of change) in SAF class CLASS(LOGSTRM).
    • To connect to a log stream with an authorization level of WRITE, Start of changeprofiles covering two separate resources are used to determine if access is allowed and whether full access to log stream services can be used or just limited log stream access (only IXGWRITE and disconnect requests) can be used for the connection. Refer to each log stream exploiter's planning and/or guidance documentation on their log stream access requirements. Grant permission to SAF profile covering the (WRITE_ONLY_log-stream-name) resource only when deemed appropriate for the log exploiter.End of changeStart of change
      • For full service WRITE log stream access, the caller must have update (or higher level) access to RESOURCE(log_stream_name) in SAF class CLASS(LOGSTRM). When this level of access is granted, all log stream access services can be used with the log stream token established on this log stream connection.
      • For limited service WRITE log stream access, the caller must have (at least) update access to RESOURCE(WRITE_ONLY_log-stream-name) in SAF CLASS(LOGSTRM). When this level of access is granted, only IXGWRITE and IXGCONN (to disconnect) requests can be used with the log stream token established on this log stream connection.
      • When there are no profiles defined covering resources (log-stream-name) or (WRITE_ONLY_log-stream-name) in SAF CLASS(LOGSTRM), then the AUTH=WRITE connection is permitted as full service access to the log stream.
      • When just the profile covering resource (log-stream-name) is defined, meaning no profile covering (WRITE_ONLY_log-stream-name), then the connection is permitted according to the (log-stream-name) profile access. Access to the log stream will either be full service access or connection is not allowed (denied).
      • When just the profile covering resource (WRITE_ONLY_log-stream-name) is defined, meaning no profile covering (log-stream-name), then the connection is permitted based on the (WRITE_ONLY_log-steram-name) profile access. Access to the log stream will either be limited service log stream access (can only write log data and disconnect) or the connection is not allowed (denied).
      • When profiles covering both resources (WRITE_ONLY_log-stream-name) and (log-stream-name) are defined, then connection is permitted based on the following combinations:
        • when access is permitted via both profiles, then access to the log stream will be full service access.
        • when access is permitted via (log-stream-name) profile, but is denied via (WRITE_ONLY_log-stream-name) profile, then access to the log stream will be full service access.
        • when access is permitted via (WRITE_ONLY_log-stream-name) profile, but is denied via (log-stream-name) profile, then access to the log stream will be limited service (can only write log data and disconnect).
        • when access is not permitted (denied) via both profiles, then the connection to the log stream will not be allowed (denied).

        Start of changeWhen permission is not allowed for the profiles covering the resources noted above, system logger will provide an error return, with return code 8, reason code X'080D' (lxgRsnCodeNoSAFAuth) on the log stream connection attempt.End of change

      End of change

    If SAF is not available or if CLASS(LOGSTRM) is not defined to SAF, no security checking is performed. In that case, the caller is connected to the log stream with the requested or default AUTH parameter value.

  • There is more than one version of this macro available. The parameters you can use depend on the version you specify on the PLISTVER parameter. See the description of the PLISTVER parameter for more information.

Input register information

Before issuing the IXGCONN macro, the caller does not have to place any information into any register unless using it in register notation for a particular parameter, or using it as a base register.

Output register information

When control returns to the caller, the GPRs contain:
Register
Contents
0
Reason code, if register 15 contains a non-zero return code
2-13
Unchanged
14
Used as a work register by the system
15
Return code
When control returns to the caller, the ARs contain:
Register
Contents
0-1
Used as a work register by the system
2-13
Unchanged
14-15
Used as a work register by the system

Some callers depend on register contents remaining the same before and after issuing a service. If the system changes the contents of registers on which the caller depends, the caller must save them before issuing the service, and restore them after the system returns control.

Performance implications

Some messages and WTORs can be issued to delay or fail the IXGCONN Request. These messages and WTORs are issued when Logger is waiting for other system services. The following messages may need to be replied to, or other action taken:
  • IXG054A - Start of changecdstypeEnd of change CDS not yet made available for Logger's use.
  • IXG254I - SMS is not yet active
  • IXG115A - Log stream recovery not making progress trying to move recovered log data to secondary (offload) data sets.

    See the topic on IXG Messages in z/OS MVS System Messages, Vol 10 (IXC-IZP) for more information about IXG messages.

Syntax

The standard form of the IXGCONN macro is written as follows:

Syntax Description
   
   name name: symbol. Begin name in column 1.
   
One or more blanks must precede IXGCONN.
   
IXGCONN  
   
One or more blanks must follow IXGCONN.
   
  Valid parameters (Required parameters are underlined.)
REQUEST=CONNECT All parameters are valid.
REQUEST=DISCONNECT STREAMTOKEN, ANSAREA, ANSLEN, USERDATA, RETCODE, RSNCODE, MF
   
,STREAMNAME=streamname streamname: RS-type address or register (2) - (12).
   
,STREAMTOKEN=streamtoken streamtoken: RS-type address or register (2) - (12).
   
,ANSAREA=ansarea ansarea: RS-type address or register (2) - (12).
   
,ANSLEN=anslen anslen: RS-type address or register (2) - (12).
   
   ,AUTH=READ Default: AUTH=READ
   ,AUTH=WRITE  
   
   ,STRUCTNAME=structname structname: RS-type address or register (2) - (12).
   
   ,AVGBUFSIZE=avgbufsize avgbufsize: RS-type address or register (2) - (12).
   
   ,MAXBUFSIZE=maxbufsize maxbufsize: RS-type address or register (2) - (12).
   
   ,ELEMENTSIZE=elementsize elementsize: RS-type address or register (2) - (12).
   
   ,LSVERSION=lsversion lsversion: RS-type address or register (2) - (12).
   
   ,USERDATA=userdata userdata: RS-type address or register (2) - (12).
   
   ,IMPORTCONNECT=NO Default: IMPORTCONNECT=NO
   ,IMPORTCONNECT=YES  
   
   ,DIAG=NO_DIAG Default: DIAG=NO_DIAG
   ,DIAG=NO  
   ,DIAG=YES  
   
   ,PLISTVER=IMPLIED_VERSION  
   ,PLISTVER=MAX Default: IMPLIED_VERSION
   ,PLISTVER=1  
   ,PLISTVER=2  
   
   ,RETCODE=retcode retcode: RS-type address or register (2) - (12).
   
   ,RSNCODE=rsncode rsncode: RS-type address or register (2) - (12).
   
   ,MF=S Default: MF=S
   ,MF=(L,list addr)  
   ,MF=(L,list addr,attr)  
   ,MF=(L,list addr,0D)  
   ,MF=(E,list addr)  
   ,MF=(E,list addr,COMPLETE)  
   ,MF=(E,list addr,NOCHECK)  
   ,MF=(M,list addr)  
   ,MF=(M,list addr,COMPLETE)  
   ,MF=(M,list addr,NOCHECK)  
   

Parameters

The parameters are explained as follows:

REQUEST=CONNECT
REQUEST=DISCONNECT
Input parameter specifying whether the program is connecting to or disconnecting from the specified log stream.

When you specify CONNECT, all parameters are valid. Keywords required with connect are: STREAMNAME, STREAMTOKEN, ANSAREA, and ANSLEN.

When you specify DISCONNECT, the following parameters are valid (required parameters are underlined): STREAMTOKEN, ANSAREA, ANSLEN, USERDATA, RETCODE, RSNCODE, and MF.

,STREAMNAME=streamname
Specifies the 26-byte field (or register) containing the name of the log stream to which a program is connecting. You must use the name you defined for the log stream in the LOGRStart of change, LOGRY or LOGRZ couple data setEnd of change policy Start of changethat is active on the system where the log stream is being connected. SEnd of changeee the IXGINVNT macro for information on the syntax of log stream names in the Start of changeactive system loggerEnd of change policy.
,STREAMTOKEN=streamtoken
Specifies the 16-byte token uniquely identifying the program's connection to the log stream.

When specified with REQUEST=CONNECT, STREAMTOKEN is an output parameter where IXGCONN places the log stream token when the macro completes successfully.

When specified with REQUEST=DISCONNECT or other logger services, STREAMTOKEN is an input parameter where you specify the log stream token returned at connection.

,ANSAREA=ansarea
Specifies the name (or address in a register) of an answer area containing information about this request. The answer area must be at least 40 bytes. To map this information, use the IXGANSAA macro.
,ANSLEN=anslen
Specifies the name (or address in a register) of the 4-byte field containing the answer area length. The length of the answer area must be at least 40 bytes and must be the same length as the field specified in ANSAREA.

To ascertain the optimal answer area length, look at the ANSAA_PREFERRED_SIZE field of the IXGANSAA macro.

,AUTH=READ
,AUTH=WRITE
Start of changeSpecifies whether the caller has write or read access to the specified log stream.

If you specify AUTH=READ when connecting to a log stream, the program must also have read access authority to SAF resource(logstream_name) in CLASS(LOGSTRM) for the specified log stream. You can then issue only the IXGBRWSE and IXGQUERY requests against the log stream.

If you specify AUTH=WRITE when connecting to a log stream, the program must also have write access authority to SAF resource(logstream_name) in CLASS(LOGSTRM) for the specified log stream. You can then issue any system logger request against the log stream.

Start of changeAUTH=WRITE specifies that, based on the defined security profiles and allowed access, either all log stream access services (such as IXGBRWSE, IXGDELET, IXGWRITE and others) or just limited log stream access requests (just writing log data and disconnecting from the log stream) can be issued for the log stream.End of change

Start of changeWhen the request results in a log stream connection (rc=0 or rc=4 conditions), then the output answer area flag field Ansaa_WriteConnectLimitedAccess (see mapping macro IxgAnsaa) indicates whether full log stream access services are allowed or whether only limited log stream service access is allowed.End of change

Start of changeWhen the indicator Ansaa_WriteConnectLimitedAccess is set off '0'b then full log stream access services area is allowed. This means that all the log stream access services using the log stream connection token returned in the STREAMTOKEN parameter and that are given the context of the other connection parameters, can be issued.End of change

Start of changeWhen the indicator Ansaa_WriteConnectLimitedAccess is set on '1'b along with indicator Ansaa_WriteOnlyAccess being set on '1'b, then the log stream access services area limited to writing log data and disconnecting from the log stream (IXGWRITE and IXGCONN requests). No other log stream access services are allowed for this limited access connection typeEnd of change

End of change
,STRUCTNAME=structname
Specifies the name or address (using a register) of a 16-byte output field where IXGCONN REQUEST=CONNECT will return the name of the coupling facility structure that the log stream is connected to. The name comes from the LOGR policy.

If you are connecting to a DASD-only log stream, this field will contain binary zeros. In addition, flag Ansaa_DasdOnlyLogStream in macro IXGANSAA will be set on for a DASD-only log stream.

,MAXBUFSIZE=maxbufsize
Specifies the name or address (using a register) of a 4-byte output field where IXGCONN returns the size, in bytes, of the largest log block that can be written to this log stream.

MAXBUFSIZE is defined in the Start of changeactive system logger couple data setEnd of change policy.

,AVGBUFSIZE=avgbufsize
Specifies the name or address (using a register) of a 4-byte output field where IXGCONN returns the average size, in bytes, of individual log blocks that can be written to the coupling facility structure associated with this log stream.
AVGBUFSIZE is defined in the Start of changeactive system logger couple data set policy.End of change
  • If you are using Start of changean active system loggerEnd of change couple data set for a coupling facility log stream, this value shows the initial setting used to determine the element-to-entry ratio. System logger monitors structure usage and adjusts the average buffer size dynamically, but the AVGBUFSIZE value returned by IXGCONN will always reflect the original setting rather than the actual value in use by system logger at any given time.
  • If you are connecting to a DASD-only log stream, this field will contain binary zeros. In addition, flag Ansaa_DasdOnlyLogStream in macro IXGANSAA will be set on for a DASD-only log stream.
,ELEMENTSIZE=elementsize
Specifies the name or address (using a register) of a 4-byte output field where IXGCONN returns the size of the elements that system logger will break the log blocks into to write them to the coupling facility associated with this log stream.

If you are connecting to a DASD-only log stream, this field will contain binary zeros. In addition, flag Ansaa_DasdOnlyLogStream in macro IXGANSAA will be set on for a DASD-only log stream.

,LSVERSION=lsversion
Specifies the name or address (using a register) of a 64-bit output field where IXGCONN returns the version of the log stream the program is connecting to.

The log stream version is a UTC timestamp that uniquely identifies the instance of the log stream definition. A program can use the log stream version to see if a log stream definition has been deleted and redefined since the last connect to a log stream.

For example, assume you connect to log stream LS1 and IXGCONN returns a log steam version of X'AA00000000000000', which the program saves. On a subsequent connection to log stream LS1, IXGCONN returns a different log stream version, which indicates that the definition for log stream LS1 in the Start of changeactive system logger couple data setEnd of change policy has been deleted and redefined since the last connection.

,USERDATA=userdata
Specifies a 64-byte input/output field containing a user data area.

When specified with REQUEST=CONNECT, USERDATA is an output parameter where IXGCONN returns the user data specified for this log stream.

When specified with REQUEST=DISCONNECT, USERDATA is an input parameter where you can specify or update the user data the user data for the specified log stream. You can only specify or change the user data for a log stream on a disconnect request.

,IMPORTCONNECT=NO
,IMPORTCONNECT=YES
Specifies whether the connection is for writing or importing log data to a log stream. You must specify AUTH=WRITE to use the IMPORTCONNECT parameter.

If you specify IMPORTCONNECT=YES, this connection will be used for importing data to a log stream. Importing log data means using the IXGIMPRT service to copy data from one log stream to another, maintaining the same log block identifier and UTC time stamp. IXGWRITE requests are not valid with IMPORTCONNECT=YES. You can have only one IMPORTCONNECT=YES connection active for a log stream in the sysplex.

If you specify IMPORTCONNECT=NO, which is the default, the connect request is a write connection. In a write connection, only IXGWRITE requests can be issued against the log stream, IXGIMPRT requests will be rejected.

You can have multiple write connects to a log stream, provided there are no import connections. If you have a write connect established against a log stream, a subsequent import connection will be rejected. You cannot, in other words, issue both IXGIMPRT and IXGWRITE requests against a single log stream.

Start of changeThis option is not allowed when the AUTH=WRITE connection would have otherwise been established as a limited log stream access, given the SAF profiles defined for the log stream access. The request will fail with a return code 8, reason code X'08D6' (IxgRsnCodeConnTypeNotAllowed). The answer area indicators Ansaa_WriteConnectLimitedAccess and Ansaa_WriteOnlyAccess will be set on ('1'b) for this error condition.End of change

,DIAG=NO_DIAG
,DIAG=NO
,DIAG=YES
Specifies whether Logger should provide additional diagnostics as specified on the logstream definition DIAG parameter. This indication is used over the span of this connectoin. Refer to the DIAG keyword on the IXGINVNT, IXGBRWSE, and IXGDELET macro services.

If you specify DIAG=NO_DIAG, which is the default, then Logger will not provide the additional diagnostics as specified on the logstream definition DIAG parameter, unless another Logger service, for example, IXGBRWSE, specifically requests the additional diagnostics.

If you specify DIAG=NO, the Logger will not provide the additional diagnostics as specified on the logstream definition DIAG parameter, regardless of other Logger service specifications.

If you specify DIAG=YES, then Logger will provide additional diagnostics as specified on the logstream definition DIAG parameter, unless another Logger service, for example, IXGDELET, specifically requests not to provide the additional diagnostics.

,PLISTVER=IMPLIED_VERSION
,PLISTVER=MAX
,PLISTVER=1
,PLISTVER=2
An optional input parameter that specifies the version of the macro. PLISTVER determines which parameter list the system generates.
The values are:
  • IMPLIED_VERSION, which is the lowest version that allows all parameters specified on the request to be processed. If you omit the PLISTVER parameter, IMPLIED_VERSION is the default. Note that on the list form, the default will cause the smallest parameter list to be created.
  • MAX, if you want the parameter list to be the largest size currently possible. This size might grow from release to release and affect the amount of storage that your program needs.

    If you can tolerate the size change, IBM recommends that you always specify PLISTVER=MAX on the list form of the macro. Specifying MAX ensures that the list-form parameter list is always long enough to hold all the parameters you might specify on the execute form when both forms are assembled using the same level of the system. In this way, MAX ensures that the parameter list does not overwrite nearby storage.

  • 1, which supports all parameters except those specifically referenced in higher versions.
  • 2, which supports both the following parameters and parameters from version 1:
    • IMPORTCONNECT
    • LSVERSION
To code: specify in this input parameter one of the following:
  • IMPLIED_VERSION
  • MAX
  • A decimal value of 1 or 2
,RETCODE=retcode
Specifies a name or address (using a register) of a 4-byte output field where the system will place the return code. The return code is also in general purpose register (GPR) 15.
,RSNCODE=rsncode
Specifies a name (or address in a register) of a 4-byte output field where the system will place the reason code. The reason code is also in general purpose register (GPR) 0, if you received a non-zero return code.
,MF=S
,MF=(L,list addr)
,MF=(L,list addr,attr)
,MF=(L,list addr,0D)
,MF=(E,list addr)
,MF=(E,list addr,COMPLETE)
,MF=(E,list addr,NOCHECK)
,MF=(M,list addr)
,MF=(M,list addr,COMPLETE)
,MF=(M,list addr,NOCHECK)
Use MF=S to specify the standard form of the macro, which builds an inline parameter list and generates the macro invocation to transfer control to the service. MF=S is the default.

Use MF=L to specify the list form of the macro. Use the list form together with the execute form of the macro for applications that require reentrant code. The list form defines an area of storage that the execute form uses to store the parameters. Only the PLISTVER parameter can be specified on the list form of the macro. IBM recommends that you always specify PLISTVER=MAX on the list form of the macro.

Use MF=E to specify the execute form of the macro. Use the execute form together with the list form of the macro for applications that require reentrant code. The execute form of the macro stores the parameters into the storage area defined by the list form, and generates the macro invocation to transfer control to the service.

Use MF=M together with the list and execute forms of the macro for service routines that need to provide different options according to user-provided input. Use the list form to define a storage area; use the modify form to set the appropriate options; then use the execute form to call the service.

IBM recommends that you use the modify and execute forms in the following order:
  • Use MF=(M,list_addr,COMPLETE), specifying appropriate parameters, including all required ones.
  • Use MF=(M,list_addr,NOCHECK), specifying the parameters you want to change.
  • Use MF=(E,list_addr,NOCHECK), to execute the macro.
,list addr
The name of a storage area to contain the parameters.
,attr
An optional 1- to 60-character input string, which can contain any value that is valid on an assembler DS pseudo-op. You can use this parameter to force boundary alignment of the parameter list. If you do not code attr, the system provides a value of 0D, which forces the parameter list to a doubleword boundary.
,COMPLETE
Specifies that the system is to check for required parameters and supply defaults for omitted optional parameters.
,NOCHECK
Specifies that the system is not to check for required parameters and is not to supply defaults for omitted optional parameters.

ABEND codes

None.

Return and reason codes

When IXGCONN macro returns control to your program, GPR 15 contains a return code and GPR 0 contains a reason code.

The IXGCON mapping macro provides equate symbols for the return and reason codes. The equate symbols associated with each hexadecimal return code are as follows:
00
IXGRETCODEOK - Service completes successfully.
04
IXGRETCODEWARNING - Service completes with a warning.
08
IXGRETCODEERROR - Service does not complete.
0C
IXGRETCODECOMPERROR - Service does not complete.

The following table contains hexadecimal return and reason codes, the equate symbols associated with each reason code, and the meaning and suggested action for each return and reason code.

Table 1. Return and reason codes for the IXGCONN macro
Return code Reason code Meaning and zction
00 xxxx0000 Equate symbol: IxgRsnCodeOk

Explanation: Request processed successfully.

04 xxxx0404 Equate symbol: IxgRsnCodeDisconnectInProgress

Explanation: Environment error. The disconnect request is being completed asynchronously. The application has been disconnected from the log stream and the stream token is no longer valid.

Action: The log stream cannot be deleted until the asynchronous portion of the disconnect processing completes.

04 xxxx0406 Equate symbol: IxgRsnCodeConnectRebuild

Explanation: Environment error. The connect request was successful, but the log stream is temporarily unavailable because a coupling facility structure rebuild is in progress.

Action: Listen to the ENF signal 48, which will indicate either that the log stream is available because the rebuild completed successfully or that the log stream is not available because the rebuild failed. In the meantime, do not attempt to issue system logger services against the log stream.

04 xxxx0407 Equate symbol: IxgRsnCodeConnPossibleLossOfData

Explanation: Environment error. The request was successful, but there may be log blocks permanently missing between this log block and the one previously returned. This condition occurs when a system or coupling facility fails and not all of the data in the log stream could be recovered.

Action: If your application cannot tolerate any data loss, stop issuing system logger services to this log stream, disconnect from the log stream, and reconnect to a new, undamaged log stream. You can continue using the log stream if your applications can tolerate data loss.

04 xxxx0408 Equate symbol: IxgRsnCodeDsDirectoryFullWarning

Explanation: Environment error. The request was successful, but the DASD data set directory for the log stream is now full. system logger cannot offload any further data to DASD. system logger will continue to process IXGWRITE requests only until the coupling facility structure space for this log stream is full.

Action: Either delete data from the log stream to free up space in the data set directory or disconnect from the log stream.

04 xxxx0409 Equate symbol: IxgRsnCodeWowWarning

Explanation: Environment error. The request was successful, but an error condition was detected during a previous offload of data. system logger might not be able to offload further data. system logger will continue to process IXGWRITE requests only until the interim storage for the log stream is filled. (Interim storage is the coupling facility for a coupling facility log stream and local storage buffers for a DASD-only log stream.)

Action: Do not issue any further requests for this log stream and disconnect. Connect to another log stream. Check the system log for message IXG301I to determine the cause of the error. If you cannot fix the error, search problem reporting data bases for a fix for the problem. If no fix exists, contact the IBM Support Center.

08 xxxx0801 Equate symbol: IxgRsnCodeBadParmlist

Explanation: Program error. The parameter list could not be accessed.

Action: Ensure that the storage area for the parameter list is accessible to the system logger for the duration of the request. The parameter list storage must be addressable in the caller's primary address space and in the same key as the caller.

08 xxxx0802 Equate symbol: IxgRsnCodeXESError

Explanation: System error. A severe cross-system extended services (XES) error has occurred.

Action: See ANSAA_DIAG1 for the XES return code and ANSAA_DIAG2 for the XES reason code.

08 xxxx0806 Equate symbol: IxgRsnCodeBadStmToken

Explanation: Program error. The stream token was not valid.

Action: Make sure that the stream token specified is valid.

08 xxxx0808 Equate symbol: IxgRsnCodeEIOError

Explanation: System error. A severe log data set I/O error has occurred.

Action: Contact the IBM Support Center. Provide the return and reason code.

08 xxxx080A Equate symbol: IxgRsnCodeRequestLocked

Explanation: Program error. The program issuing the request is holding a lock.

Action: Ensure that the program issuing the request is not holding a lock.

08 xxxx080B Equate symbol: IxgRsnCodeNoStream

Explanation: Program error. The log stream name specified has not been defined in the Start of changeactive system logger couple data set policyEnd of change.

Action: Ensure that the required log stream name has been defined in the Start of changeactive system logger couple data set policyEnd of change. If the definition appears to be correct, ensure that the application is passing the correct log stream name to the service.

08 xxxx080C Equate symbol: IxgRsnCodeStagingAllocError

Explanation: Environment error. The system encountered a severe dynamic allocation error with the staging data set. ANSAA_DIAG2 of the answer area contains either the dynamic allocation error code, SMS reason code, or media manager reason code. For more information about the error, check for either message IXG251I, which is issued for data set allocation errors, or check for messages issued by the access method.

Action: If the problem persists, search problem reporting data bases for a fix for the problem. If no fix exists, contact the IBM Support Center.

08 xxxx080D Equate symbol: IxgRsnCodeNoSAFAuth

Explanation: Environment error. The user does not have correct SAF authorization for the request. The caller is not authorized to connect to the log stream or the caller specified AUTH=WRITE when connecting to a log stream with only READ authority.

Action: IXGCONN returns information about the error in the answer area that is mapped by IXGANSAA. Investigate the meaning of ANSAA_Diag1, ANSAA_Diag2 and ANSAA_Diag4.
  • ANSAA_Diag1 contains the RACF or installation exit return code from the RACROUTE REQUEST=AUTH macro.
  • ANSAA_Diag2 contains the RACF or installation exit reason code from the RACROUTE REQUEST=AUTH macro.
  • ANSAA_Diag4 contains the SAF return code from the RACROUTE REQUEST=AUTH macro.
See z/OS Security Server RACROUTE Macro Reference for information about the RACROUTE macro.

Define the required SAF authorization to allow the requestor to connect to the log stream. If authorization has already been defined, either change the authorization to allow UPDATE access to the log stream or change the application to AUTH=READ.

08 xxxx0811 Equate symbol: IxgRsnCodeBadStrname

Explanation: Environment error. The structure name specified on the STRUCTNAME parameter is not defined in the CFRM policy.

Action: Make sure that the structure you want to specify is defined in the CFRM policy.

08 xxxx0812 Equate symbol: IxgRsnCodeLogStreamRecoveryFailed

Explanation: Environment error. The log stream could not be recovered so the connection attempt failed. The system issues message IXG210E and/or IXG211E along with message IXG231I providing further information about the error.

Action: If the problem persists, search problem reporting data bases for a fix for the problem. If no fix exists, contact the IBM Support Center.

08 xxxx0813 Equate symbol: IxgRsnCodeLogStreamDeleted

Explanation: Environment error. The request to connect to the specified log stream failed because the log stream is being deleted.

Action: Redefine the log stream in the Start of changeactive system logger couple data set policyEnd of change and then reissue the connect request.

08 xxxx0814 Equate symbol: IxgRsnCodeNotAvailForIPL

Explanation: Environment error. The system logger address space is not available for the remainder of this IPL. The system issues messages about this error during system logger initialization.

Action: See the explanation for system messages issued during system logger initialization.

08 xxxx0815 Equate symbol: IxgRsnCodeNotEnabled

Explanation: Program error. The program issuing the request is not enabled for I/O and external interrupts, so the request fails.

Action: Make sure the program issuing the request is enabled for I/O and external interrupts.

08 xxxx0816 Equate symbol: IxgRsnCodeBadAnslen

Explanation: Program error. The answer area length (ANSLEN parameter) is not large enough. The system logger returned the required size in the Ansaa_Preferred_Size field of the answer area, mapped by IXGANSAA macro.

Action: Reissue the request, specifying an answer area of the required size.

08 xxxx0819 Equate symbol: IxgRsnCodeSRBMode

Explanation: Program error. The calling program is in SRB mode, but task mode is the required dispatchable unit mode for this system logger service.

Action: Make sure the calling program is in task mode.

08 xxxx081A Equate symbol: IxgRsnCodeMaxStreamConn & IXGINVNT requests
Explanation: Environment error. This system has reached the limit for the maximum number of log streams that can be concurrently active. One of the following is true:
  • The limit of 16,384 concurrently active DASDONLY log streams per system has been reached. For this case, the Answer Area field DIAG1 will contain 16,384.
  • Either the PRODUCTION or TEST GROUP cannot connect to any more log streams. Message IXG075E or IXG076I is issued. In this case, the Answer Area field DIAG1 will contain the number of structures that are in use for this GROUP.
  • The TEST GROUP has previously failed and a request has been made to define a logstream with GROUP(TEST). Message IXG074I has been previously issued. In this case, the Answer Area field DIAG1 will contain 0.
  • A Log stream delete cannot be processed because logger needs to perform an internal connect to the Log stream to complete the delete but no more connections are allowed.

Action: Your workload need to be planned to either consolidate log streams or balance system activity such that fewer log streams are needed during this time frame.

08 xxxx081B Equate symbol: IxgRsnCodePrimaryNotHome

Explanation: Program error. The primary address space does not equal the home address space.

Action: Make sure that the primary address space equals the home address space when issuing this system logger service.

08 xxxx081D Equate symbol: IxgRsnCodeRMNameBadState

Explanation: Program error. The calling program cannot issue IXGCONN with the RMNAME parameter unless it is in supervisor state and system key.

Action: Make sure the calling program is in supervisor state.

08 xxxx081E Equate symbol: IxgRsnCodeXESStrNotAuth

Explanation: Environment Error. The system logger address space does not have access authority to the coupling facility structure associated with the log stream specified.

Action: Make sure the system logger address space has SAF access to the structure.

08 xxxx081F Equate symbol: IxgRsnCodeXcdsError

Explanation: System error. System logger encountered an internal problem while processing the Start of changeactive system loggerEnd of change couple data set.

Action: Contact the IBM Support Center. Provide the return and reason code and the contents of the answer area (ANSAREA field).

08 xxxx0820 Equate symbol: IxgRsnCodeBadModelConn

Explanation: Program error. The program issued an IXGCONN request to connect to a log stream that was defined as a model in the Start of changeactive system logger couple data setEnd of change policy. You cannot connect to a model log stream.

Action: Either change the definition of the specified structure so that it is not a model, or else request connection to a different log stream that is not a model.

08 xxxx082D Equate symbol: IxgRsnCodeExpiredStmToken

Explanation: Environment error. The stream token is no longer valid because the connector has been disconnected.

Action: Connect to the log stream again before issuing any functional requests.

08 xxxx082E Equate symbol: IxgRsnCodeNoLogrCDSAvail

Explanation: Environment error. The request failed because no Start of changeactive primary system logger couple data set (CDS) of the expected type is available to this systemEnd of change. The operator was prompted to either make a couple data set available or to indicate that the current request should be rejected. The operator specified that the current request should be rejected.

Action: System logger services are unavailable Start of changeuntil an active system logger couple data set of the expected type (LOGR, LOGRY, LOGRZ) is made available to this system.End of change

Start of changeFor more information about using system logger couple data sets, see "Format the LOGR couple data set and make it available to the sysplex" and "Using LOGRZ or LOGRY couple data sets for a single-system scope within a sysplex" in z/OS MVS Setting Up a Sysplex.End of change

Start of changeOnce the system logger is available using the couple data set, take the necessary steps to cause the function that issued the logger service to reattempt the request.End of change

08 xxxx0831 Equate symbol: IxgRsnCodeBadStreamName

Explanation: Program error. The log stream name specified on the STREAMNAME parameter is not valid.

Action: Issue the request again with a valid log stream name on the STREAMNAME parameter.

08 xxxx083A Equate symbol: IxgRsnCodeRMNameNotAllowed

Explanation: Program error. The request specified the RMNAME parameter, but the log stream is not defined as having an associated resource manager.

Action: Either Start of changeremove the RMNAME keyword from the connection request or update the log stream definition in the system logger inventory.End of change

08 xxxx0843 Equate symbol: IxgRsnCodeXcdsReformat

Explanation: Program error. A couple data set record is not valid.

Action: Format the system logger couple data set again.

08 xxxx084C Equate symbol: IxgRsnCodeRMAlreadyConnected

Explanation: Program error. The resource manager is trying to connect to a log stream that it is already connected to. Only one connection specifying RMNAME can be active for a log stream.

Action: Correct the program so that it does not try to reconnect to the log stream.

08 xxxx084E Equate symbol: IXGRSNCODESTRSACETOOSMALL

Explanation: Environment error. Structure resources are not available to satisfy the request. All structure resources are allocated as system logger control resources. This condition occurs when the structure resources are consumed by the logstreams connections.

Action: Increase the size of the structure in the CFRM policy or use the SETXCF ALTER command to dynamically increase the size of the structure.

08 xxxx084F Equate symbol: IxgRsnCodeInvalidRMNameSpecified

Explanation: Program error. The Start of changeResource Manager name specified on the IXGCONN request does not match the RMNAME specified for the log stream in the system logger inventory.End of change

Action: Either Start of changechange the IXGCONN request or update the log stream's definition in the system logger inventory.End of change

08 xxxx0850 Equate symbol: IXGRSNCODEBADVECTORLEN

Explanation: Environment error. The connect request was rejected. system logger was unable to locate a vector table in the hardware system area (HSA) that is large enough for the number of log streams associated with it.

Action: Add storage to the vector storage table and/or retry the connect request later, when storage might be available.

08 xxxx0851 Equate symbol: IXGRSNCODEBADCFLEVEL

Explanation: Environment error. The connect request was rejected. The operational level of the coupling facility is not sufficient to support logger functions.

Action: Ensure that the coupling facility operational level for logger structures is at the required level. See z/OS MVS Setting Up a Sysplex.

08 xxxx0853 Equate symbol: IxgRsnCodeNoCF

Explanation: Environment error. The connect request was rejected. system logger could not allocate coupling facility structure space because no suitable coupling facility was available.

Action: Check accompanying message IXG206I for a list of the coupling facilities where space allocation was attempted and the reason why each attempt failed.

08 xxxx0861 Equate symbol: IxgRsnCodeRebuildInProgress

Explanation: Environment error. No requests can be processed for this log stream because a coupling facility structure rebuild is in progress for the structure associated with this log stream.

Action: Listen for ENF signal 48 that will indicate one of the following:
  • The log stream is available because the rebuild completed successfully. Reissue the request.
  • The rebuild failed and the log stream is not available.
08 xxxx0862 Equate symbol: IxgRsnCodeXESPurge

Explanation: Environment error. An cross-system extended services (XES) request has been purged due to rebuild processing.

Action: Listen for ENF signal 48 that will indicate one of the following:
  • The log stream is available because the rebuild completed successfully. Reissue the request.
  • The rebuild failed and the log stream is not available.
08 xxxx0863 Equate symbol: IXGRSNCODESTRUCTUREFAILED

Explanation: Environment error. Either the coupling facility structure associated with the log stream has failed or the coupling facility itself has failed.

Action: Listen for ENF signal 48 that will indicate one of the following:
  • The log stream is available because the rebuild completed successfully. Reissue the request.
  • The rebuild failed and the log stream is not available.
08 xxxx0864 Equate symbol: IXGRSNCODENOCONNECTIVITY

Explanation: Environment error. No connectivity exists to the coupling facility associated with the log stream. The system logger will either attempt to rebuild the log stream in another coupling facility or the log stream will be disconnected.

Action: Listen for ENF signal 48 that will indicate one of the following:
  • The log stream is available because the rebuild completed successfully. Reissue the request.
  • The rebuild failed and the log stream is not available.
  • The log stream has been disconnected from this system.

If a rebuild initiated because of a loss of connectivity previously failed, an ENF corresponding to this reason code might not be issued. Further action by the installation might be necessary to cause the change of the log stream status again. Check the log for messages IXG101I, IXG107I and related rebuild messages for information on resolving any outstanding issues.

08 xxxx0866 Equate symbol: IXGRSNCODESTRUCTUREFULL

Explanation: Environment error. The coupling facility structure space is full.

Action: Listen to the ENF signal 48 which will indicate that space is available for the structure after data has been offloaded to DASD.

08 xxxx0890 Equate symbol: IXGRSNCODEADDRSPACENOTAVAIL

Explanation: System error. The system logger address space failed and is not available.

Action: Do not issue system logger requests.

08 xxxx0891 Equate symbol: IXGRSNCODEADDRSPACEINITIALIZING

Explanation: System error. The system logger address space is not available because it is IPLing.

Action: Listen for ENF signal 48, which will indicate when the system logger address space is available. Reissue this request. You can also listen for ENF signal 48, which will indicate if the system logger address space will not be available for the life of the IPL. In that case, do not issue system logger services.

08 xxxx08B0 Equate symbol: IXGRSNCODESTRUCTURENOTAVAIL

Explanation: Environment error. The connect request failed. The structure associated with the log stream is temporarily unavailable because either a rebuild is in progress, a structure dump is in progress, or connections to the structure are being prevented.

Action: Listen for ENF signal 48, which indicates that a coupling facility is available, and then retry the connect.

08 xxxx08D3 Equate symbol: IXGRsnCodeFuncNotSupported

Explanation: Environment error. Start of changeAn IXGCONN request specified the RMNAME or ImportConnect keyword. However, the logger inventory CDS is downlevel.End of change

Action: Start of changeFormat the highest level system logger couple data set supported by the systems in the sysplex and make it the active primary system logger CDSEnd of change.

08 xxxx08D6 Equate symbol: IXGRsnCodeConnTypeNotAllowed
Explanation: Environment error. One of the following occurred:
  • The connect request specified IMPORTCONNECT=YES, but there is already an active write connection (AUTH=WRITE IMPORTCONNECT=NO) in the sysplex. You cannot have an import connection and a write connection to the same log stream.
  • The connect request specified AUTH=WRITE IMPORTCONNECT=NO, but there is already an active import connection (IMPORTCONNECT=YES) for the log stream. You cannot have an import connection and a write connection to the same log stream.

You can only have one import connection to a log stream. You may have multiple write connections, as long as there is no import connection against a log stream.

Action: Correct your program and retry the request.

08 xxxx08E2 Equate symbol: IxgRsncodeDasdOnlyConnected

Explanation: Environment errorStart of change. An attempt to connect to a DASD-only log stream, defined in the active primary sysplex-scope system logger CDS, was rejected on this system because the log stream is already connected on another system in the sysplex.End of change

Action: Determine which system you want to have a connection to the log stream. If you need this connection, disconnect the first system connection to the log stream and retry this connect request.

08 000008E3 Equate symbol: IxgRsnCodeLogstreamNotSupported

Explanation: Environment error. An attempt to connect for the log stream is rejected on this system because the system release level does not support this type of log stream. For example, this system does not support DASD-only log streams, or a log stream attribute such as EHLQ or DUPLEXMODE(DRXRC) cannot be processed on this system release level.

Action: If you must connect to a DASD-only log stream, make sure you do one of the following:
  • Update the log stream definition in the LOGR policy to a coupling facility one by specifying a structure name on the definition.
  • To issue a request for a log stream that has the EHLQ attribute, you must be on a system that is at z/OS Version 1 Release 3 or higher.

If you must connect to a log stream with the EHLQ attribute specified, make sure you connect from a system that is at z/OS Version 1 Release3 or higher.

If you must connect to a log stream with the DUPLEXMODE(DRXRC) attribute specified, make sure you connect from a system that is at z/OS Version 1 Release 7 or higher.

0C xxxx0000 Equate symbol: IxgRetCodeCompError
Explanation: User or System error. One of the following occurred:
  • You issued the FORCE IXGLOGR,ARM command to terminate the system logger address space.
  • system logger component error occurred.

Action: If this reason code is not the result of forcing the system logger address space, search problem reporting data bases for a fix for the problem. If no fix exists, contact the IBM Support Center. Provide the diagnostic data in the answer area (IXGANSAA) and any dumps or LOGREC entries from system logger.

Example 1

Issue IXGCONN REQUEST=CONNECT to connect to a log stream with write authority.
          IXGCONN REQUEST=CONNECT,                                     X
               STREAMNAME=STRMNAME,                                    X
               STREAMTOKEN=TOKEN,                                      X
               AUTH=WRITE,                                             X
               ANSAREA=ANSAREA,                                        X
               ANSLEN=ANSLEN,                                          X
               RSNCODE=RSNCODE,                                        X
               MF=S,                                                   X
               RETCODE=RETCODE
STRMNAME  DC    CL26'LOG.STREAM.NAME'  stream name
ANSLEN   DC    A(L'ANSAREA)           length of logger's answer area
TOKEN    DS    CL16                   returned stream token
ANSAREA  DS    CL(ANSAA_LEN)          answer area for log requests
RETCODE  DS    F                      return code from logger
RSNCODE  DS    F                      reason code from logger
DATAREA  DSECT
         IXGANSAA LIST=YES               answer area

Example 2

Issue IXGCONN REQUEST=CONNECT using registers.
          LA    R6,STRMNAME             load stream name into reg 6
          IXGCONN REQUEST=CONNECT,                                     X
               STREAMNAME=(6),                                         X
               STREAMTOKEN=TOKEN,                                      X
               AUTH=WRITE,                                             X
               ANSAREA=ANSAREA,                                        X
               ANSLEN=ANSLEN,                                          X
               RSNCODE=RSNCODE,                                        X
               MF=S,                                                   X
               RETCODE=RETCODE
STRMNAME  DC    CL26'LOG.STREAM.NAME'  stream name
ANSLEN   DC    A(L'ANSAREA)           length of logger's answer area
TOKEN    DS    CL16                   returned stream token
ANSAREA  DS    CL(ANSAA_LEN)          answer area for log requests
RETCODE  DS    F                      return code from logger
RSNCODE  DS    F                      reason code from logger
DATAREA  DSECT
         IXGANSAA LIST=YES            answer area
R6       EQU   6                      set up register 6

Example 3

Issue IXGCONN REQUEST=CONNECT as an import connect. This means the connection may issue IXGIMPRT to import data to a log stream.
         IXGCONN REQUEST=CONNECT,                                      X
               STREAMNAME=ONAME,                                       X
               STREAMTOKEN=OTOKEN,                                     X
               AUTH=WRITE,                                             X
               IMPORTCONNECT=YES,                                      X
               ANSAREA=XANSAREA,                                       X
               ANSLEN=XANSLEN,                                         X
               RSNCODE=RSCODE

*
ONAME    DS    CL26                    Output Stream name
STOKEN   DS    CL16                    Input Stream token
XANSAREA DS    CL(ANSAA_LEN)           Logger answer area
XANSLEN  DC    A(ANSAA_LEN)            Answer area length
RSCODE   DS    F                       Reason code
         DSECT  ,
         IXGANSAA ,                   The answer area macro

Example 4

Issue IXGCONN REQUEST=DISCONNECT to disconnect from a log stream and associate some user data with the log stream.
          IXGCONN REQUEST=DISCONNECT,                                  X
               STREAMTOKEN=TOKEN,                                      X
               USERDATA=USERDATA,                                      X
               ANSAREA=ANSAREA,                                        X
               ANSLEN=ANSLEN,                                          X
               RSNCODE=RSNCODE,                                        X
               MF=S,                                                   X
               RETCODE=RETCODE
USERDATA DC    CL64'SOME USER DATA'   user data to log with DISCONNECT
ANSLEN   DC    A(L'ANSAREA)           length of logger's answer area
TOKEN    DS    CL16                   token returned from CONNECT
ANSAREA  DS    CL(ANSAA_LEN)          answer area for log requests
RETCODE  DS    F                      return code from logger
RSNCODE  DS    F                      reason code from logger
DATAREA  DSECT
         IXGANSAA LIST=YES               answer area