The log block buffer

Before you issue the IXGWRITE service to write your data to the log stream, you must place the data in a buffer to form the log block. This buffer must follow these guidelines:
  • The storage key for the buffer, specified on the BUFFKEY parameter, must be one of the following:
    • If the caller is in problem program state, the buffer must be in the same storage key as the caller's PSW key.
    • If the caller is running in supervisor state, the buffer can be in any key (0 through 15).
  • The buffer must be either ALET qualified (BUFFALET parameter), or reside in the caller's primary address space.
  • The buffer length specified on the BUFFLEN parameter must not exceed the maximum buffer size defined in the LOGR policy for the coupling facility structure Start of changeor as defined for a DASD-only log stream in the active system logger couple data set policy (LOGR, LOGRY, or LOGRZ)End of change.

The format of the data in the log block is entirely the choice of the application; system logger does not have rules about how data looks in a log block.

For each log block written to the log stream, IXGWRITE returns a unique log block identifier which can be used on subsequent IXGDELET and IXGBRWSE requests to search for, delete, read, or set the browse cursor position to that log block.