Ensure that your applications do not use removed z/OS UNIX APIs

Description: Before z/OS V2R1, certain z/OS UNIX application programming interfaces (APIs) were available. Starting in z/OS V2R1, they are no longer available.

Steps to take: Check three interfaces to see if the removed services are being used.

  1. Scan the source code for use of the following z/OS UNIX application programming interfaces:
    • The _osenv() syscall
      • For Assembler language programs, search for BPX1OSE and BPX4OSE.
      • For C or C++ code, search for calls to the _osenv() service.
    • The pthread_quiesce_and_get_np() syscall
      • For Assembler language programs, search for BPX1PQG and BPX4PQG.
      • For C or C++ code, search for calls to the pthread_quiesce_and_get_np() service.
    • The QUICK_FREEZE_EXIT_REG option of oe_env_np()
      • For Assembler language programs, search for BPX1ENV and BPX4ENV.
      • There is no C/C++ interface that allows direct use of the QUICK_FREEZE_EXIT_REG option. If you find use of the BPX1ENV or BPX4ENV service, check whether the QUICK_FREEZE_EXIT_REG option is specified. If you do use this option, verify that you have code that invokes the pthread_quiesce_and_get_np() service (in XL C/C++) or calls BPX1PQG or BPX4PQG. If you do not have code that calls the pthread_quiesce_and_get_np() service, then you do not need to invoke the BPX1ENV or BPX4ENV service with the QUICK_FREEZE_EXIT_REG option. Remove that call from your application.
  2. If your applications use any of these interfaces, update the applications to either eliminate the calls or handle the new return code and reason code that the removed interfaces will return.
Reference information: See the following information: