z/OS Communications Server: IP Programmer's Guide and Reference
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Compiling and linking with z/OS UNIX System Services

z/OS Communications Server: IP Programmer's Guide and Reference
SC27-3659-02

The following steps describe how to compile, link-edit, and run your z/OS UNIX System Services X Window System application under MVS™ batch, using the EDCCLG cataloged procedure supplied by IBM®.

You must make the following changes to the EDCCLG cataloged procedure, which is supplied with AD/Cycle C/370™ Version 1 Release 2 Compiler Licensed Program (5688-216).

In the compilation step, make the following changes:
  • Change the CPARM parameters to specify one of the following values:
    • CPARM=‘DEF(IBMCPP),RENT,LO’
    • CPARM=‘DEF(IBMCPP,_POSIX1_ SOURCE=1),RENT,LO’
    • CPARM=‘DEF(IBMCPP,_OPEN_ SYS),RENT,LO’
    • CPARM=‘DEF(IBMCPP,_OPEN_ SOCKETS,_POSIX1_SOURCE=1),RENT,LO’
    • CPARM=‘DEF(IBMCPP,_OPEN_ SOCKETS,_OPEN_SYS),RENT,LO’
    Note: The recommended CPARMS are:
    CPARM=‘DEF(IBMCPP,_OPEN_SOCKETS,_POSIX1_SOURCE=1),RENT,LO’

    RENT is the reentrant option and LO is the long-name option. You must specify these options to use z/OS UNIX System Services MVS functions. You must also specify the feature text macro, IBMCPP.

    If you choose to just access the z/OS UNIX System Services MVS functions defined by the POSIX standards 1003.1, 1003.1a, 1003.2, and 1003.4a, then specify the feature test macro POSIX1_SOURCE=1 to expose the appropriate definitions for the read(), write(), fcntl(), and close() functions.

    If you choose to access all of the z/OS UNIX System Services MVS functions supported by C/370, including those defined by the POSIX standards 1003.1, 1003.1a, 1003.2, and 1003.4a, then specify the feature test macro _OPEN_SYS.

    If you choose to access the z/OS UNIX System Services MVS socket functions or errno values, then specify the feature test macro _OPEN_SOCKETS to expose the socket-related definitions in all of the include files.

    Note: Compile all C source using the def(IBMCPP) preprocessor symbol. See X Window System interface in the MVS environment: Compiling and linking for information about compiling and linking your program in MVS.

    For a complete discussion of all of the AD/Cycle C/370 parameters, see AD/Cycle C/370 Programming Guide.

  • Add the following lines after the //SYSLIB DD statement for the IBM C/370 library edc.v1r2m0.SEDCDHDR:
       // DD DSN=sys1.SFOMHDRS,DISP=SHR
       // DD DSN=SEZACMAC,DISP=SHR
  • Add the following //USERLIB DD statement:
       //USERLIB DD DSN=USER.MYPROG.H,DISP=SHR
In the prelink edit step, make the following changes:
  • Add the following prelink parameter:
       PPARM=‘OMVS’
  • To link-edit programs that use only X11 library functions, add the following line after the prelink //SYSLIB DD statement for the IBM AD/Cycle C/370 library cee.v1r3m0.SCEEOBJ:
       // DD DSN=SEZAROE1,DISP=SHR
  • To link-edit programs that use the Athena Toolkit functions, including Athena widget sets, add the following lines after the prelink //SYSLIB DD statement for the IBM AD/Cycle C/370 library cee.v1r3m0.SCEEOBJ:
       // DD DSN=SEZAROE2,DISP=SHR
       // DD DSN=SEZAROE1,DISP=SHR
  • To link-edit programs that use theMotif Toolkit functions, add the following lines after the prelink //SYSLIB DD statement for the IBM AD/Cycle C/370 library cee.v1r3m0.SCEEOBJ:
       // DD DSN=SEZAROE3,DISP=SHR
       // DD DSN=SEZAROE1,DISP=SHR

    For a complete discussion about compiling and link-editing the X Window System in MVS z/OS UNIX System Services, see z/OS XL C/C++ Runtime Library Reference.

To run your program in the z/OS UNIX System Services shell, make the following changes:
  • Set the DISPLAY environment variable to the name or IP address of the X server on which you want to display the application output. The following code is an example:
       DISPLAY=CHARM.RALEIGH.IBM.COM:0.0
       export DISPLAY
  • Allow the host application access to the X server.
    On the workstation where you want to display the application output, you must grant permission for the MVS host to access the X server. To do this, enter the xhost command:
       xhost ralmvs1

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014