Common variables used in COBOL sample programs

The EZACOBOL common storage area contains the variables that are used in the COBOL programs in this section.

      *****************************************************************
      *                                                               *
      *   MODULE NAME:  EZACOBOL - COBOL COMMON VARIABLES             *
      *                                                               *
      * Copyright:    Licensed Materials - Property of IBM            *
      *                                                               *
      *               "Restricted Materials of IBM"                   *
      *                                                               *
      *               5694-A01                                        *
      *                                                               *
      *               Copyright IBM Corp. 2007, 2010                  *
      *                                                               *
      *               US Government Users Restricted Rights -         *
      *               Use, duplication or disclosure restricted by    *
      *               GSA ADP Schedule Contract with IBM Corp.        *
      *                                                               *
      * Status:       CSV1R12                                         *
      *                                                               *
      *****************************************************************
      *****************************************************************
      *                                                               *
      * COBOL COMMON VARIABLES                                        *
      *                                                               *
      *****************************************************************
      *
      * Socket option values.
      *
       01 IP-ADD-MEMBERSHIP            PIC X(4) VALUE X'00100005'.
       01 IP-ADD-SOURCE-MEMBERSHIP     PIC X(4) VALUE X'0010000C'.
       01 IP-BLOCK-SOURCE              PIC X(4) VALUE X'0010000A'.
       01 IP-DROP-MEMBERSHIP           PIC X(4) VALUE X'00100006'.
       01 IP-DROP-SOURCE-MEMBERSHIP    PIC X(4) VALUE X'0010000D'.
       01 IP-MULTICAST-IF              PIC X(4) VALUE X'00100007'.
       01 IP-MULTICAST-LOOP            PIC X(4) VALUE X'00100004'.
       01 IP-MULTICAST-TTL             PIC X(4) VALUE X'00100003'.
       01 IP-UNBLOCK-SOURCE            PIC X(4) VALUE X'0010000B'.
       01 IPV6-ADDR-PREFERENCES        PIC X(4) VALUE X'00010020'.
       01 IPV6-JOIN-GROUP              PIC X(4) VALUE X'00010005'.
       01 IPV6-LEAVE-GROUP             PIC X(4) VALUE X'00010006'.
       01 IPV6-MULTICAST-HOPS          PIC X(4) VALUE X'00010009'.
       01 IPV6-MULTICAST-IF            PIC X(4) VALUE X'00010007'.
       01 IPV6-MULTICAST-LOOP          PIC X(4) VALUE X'00010004'.
       01 IPV6-UNICAST-HOPS            PIC X(4) VALUE X'00010003'.
       01 IPV6-V6ONLY                  PIC X(4) VALUE X'0001000A'.
       01 MCAST-BLOCK-SOURCE           PIC X(4) VALUE X'0010002C'.
       01 MCAST-JOIN-GROUP             PIC X(4) VALUE X'00100028'.
       01 MCAST-JOIN-SOURCE-GROUP      PIC X(4) VALUE X'0010002A'.
       01 MCAST-LEAVE-GROUP            PIC X(4) VALUE X'00100029'.
       01 MCAST-LEAVE-SOURCE-GROUP     PIC X(4) VALUE X'0010002B'.
       01 MCAST-UNBLOCK-SOURCE         PIC X(4) VALUE X'0010002D'.
       01 SO-RCVTIMEO                  PIC X(4) VALUE X'00001006'.
       01 SO-SNDTIMEO                  PIC X(4) VALUE X'00001005'.
      *
      * IOCTL Commands
      *
       01 SIOCGIFMTU                   PIC X(4) VALUE X'C020A726'.
       01 SIOCGIPMSFILTER              PIC X(4) VALUE X'C000A724'.
       01 SIOCSIPMSFILTER              PIC X(4) VALUE X'8000A725'.
       01 SIOCGMSFILTER                PIC X(4) VALUE X'C000F610'.
       01 SIOCSMSFILTER                PIC X(4) VALUE X'8000F611'.
       01 SIOCSAPPLDATA                PIC X(4) VALUE X'8018D90C'.
      *
      * Structure allows applications to allocate space for
      * either form of inet socket address
      *
       01 SOCKADDR-STORAGE.
         05 SS-LEN                     PIC X(1).
         05 SS-FAMILY                  PIC X(1).
         05 SS-DATA                    PIC X(126).
      *
      * IP-MREQ for IP_ADD_MEMBERSHIP and IP_DROP_MEMBERSHIP
      *
       01 IP-MREQ.
         05 IMR-MULTIADDR              PIC 9(8) BINARY.
         05 IMR-INTERFACE              PIC 9(8) BINARY.
      *
      * IP-MREQ-SOURCE for
      *   IP_ADD_SOURCE_MEMBERSHIP
      *   IP_DROP_SOURCE_MEMBERSHIP
      *   IP_BLOCK_SOURCE
      *   IP_UNBLOCK_SOURCE
      *
       01 IP-MREQ-SOURCE.
         05 IMR-MULTIADDR              PIC 9(8) BINARY.
         05 IMR-SOURCEADDR             PIC 9(8) BINARY.
         05 IMR-INTERFACE              PIC 9(8) BINARY.
      *
      * IPV6-MREQ for IPV6_JOIN_GROUP and IPV6_LEAVE_GROUP
      *
       01 IPV6-MREQ.
         05 IPV6MR-MULTIADDR.
           10 FILLER                   PIC 9(16) BINARY.
           10 FILLER                   PIC 9(16) BINARY.
         05 IPV6MR-INTERFACE           PIC 9(8) BINARY.
      *
      * GROUP-REQ for
      *   MCAST_JOIN_GROUP
      *   MCAST_LEAVE_GROUP
      *
       01 GROUP-REQ.
         05 GR-INTERFACE               PIC 9(8) BINARY.
         05 FILLER                     PIC X(4).
         05 GR-GROUP                   PIC X(128).
         05 GR-GROUP-R                 REDEFINES GR-GROUP.
           10 GR-GROUP-SOCK-LEN        PIC X(1).
           10 GR-GROUP-SOCK-FAMILY     PIC X(1).
           10 GR-GROUP-SOCK-DATA       PIC X(26).
           10 GR-GROUP-SOCK-SIN        REDEFINES GR-GROUP-SOCK-DATA.
             15 GR-GROUP-SOCK-SIN-PORT PIC 9(4) BINARY.
             15 GR-GROUP-SOCK-SIN-ADDR PIC 9(8) BINARY.
             15 FILLER                 PIC X(8).
             15 FILLER                 PIC X(12).
           10 GR-GROUP-SOCK-SIN6       REDEFINES GR-GROUP-SOCK-DATA.
             15 GR-GROUP-SOCK-SIN6-PORT PIC 9(4) BINARY.
             15 GR-GROUP-SOCK-SIN6-FLOWINFO PIC 9(8) BINARY.
             15 GR-GROUP-SOCK-SIN6-ADDR.
               20 FILLER               PIC 9(16) BINARY.
               20 FILLER               PIC 9(16) BINARY.
             15 GR-GROUP-SOCK-SIN6-SCOPEID PIC 9(8) BINARY.
           10 FILLER                   PIC X(100).
      *
      * GROUP-SOURCE-REQ for
      *   MCAST_BLOCK_SOURCE
      *   MCAST_UNBLOCK_SOURCE
      *   MCAST_JOIN_SOURCE_GROUP
      *   MCAST_LEAVE_SOURCE_GROUP
      *
       01 GROUP-SOURCE-REQ.
         05 GSR-INTERFACE              PIC 9(8) BINARY.
         05 FILLER                     PIC X(4).
         05 GSR-GROUP                  PIC X(128).
         05 GSR-GROUP-R                REDEFINES GSR-GROUP.
           10 GSR-GROUP-SOCK-LEN       PIC X(1).
           10 GSR-GROUP-SOCK-FAMILY    PIC X(1).
           10 GSR-GROUP-SOCK-DATA      PIC X(26).
           10 GSR-GROUP-SOCK-SIN       REDEFINES GSR-GROUP-SOCK-DATA.
             15 GSR-GROUP-SOCK-SIN-PORT PIC 9(4) BINARY.
             15 GSR-GROUP-SOCK-SIN-ADDR PIC 9(8) BINARY.
             15 FILLER                 PIC X(8).
             15 FILLER                 PIC X(12).
           10 GSR-GROUP-SOCK-SIN6      REDEFINES GSR-GROUP-SOCK-DATA.
             15 GSR-GROUP-SOCK-SIN6-PORT PIC 9(4) BINARY.
             15 GSR-GROUP-SOCK-SIN6-FLOWINFO PIC 9(8) BINARY.
             15 GSR-GROUP-SOCK-SIN6-ADDR.
               20 FILLER               PIC 9(16) BINARY.
               20 FILLER               PIC 9(16) BINARY.
             15 GSR-GROUP-SOCK-SIN6-SCOPEID PIC 9(8) BINARY.
           10 FILLER                   PIC X(100).
         05 GSR-SOURCE                 PIC X(128).
         05 GSR-SOURCE-R               REDEFINES GSR-SOURCE.
           10 GSR-SOURCE-SOCK-LEN      PIC X(1).
           10 GSR-SOURCE-SOCK-FAMILY   PIC X(1).
           10 GSR-SOURCE-SOCK-DATA     PIC X(26).
           10 GSR-SOURCE-SOCK-SIN      REDEFINES GSR-SOURCE-SOCK-DATA.
             15 GSR-SOURCE-SOCK-SIN-PORT PIC 9(4) BINARY.
             15 GSR-SOURCE-SOCK-SIN-ADDR PIC 9(8) BINARY.
             15 FILLER                 PIC X(8).
             15 FILLER                 PIC X(12).
          10 GSR-SOURCE-SOCK-SIN6      REDEFINES GSR-SOURCE-SOCK-DATA.
            15 GSR-SOURCE-SOCK-SIN6-PORT PIC 9(4) BINARY.
            15 GSR-SOURCE-SOCK-SIN6-FLOWINFO PIC 9(8) BINARY.
            15 GSR-SOURCE-SOCK-SIN6-ADDR.
              20 FILLER                PIC 9(16) BINARY.
              20 FILLER                PIC 9(16) BINARY.
            15 GSR-SOURCE-SOCK-SIN6-SCOPEID  PIC 9(8) BINARY.
          10 FILLER                    PIC X(100).
      *
      * MULTICAST CONSTANTS
      *
       77 MCAST-INCLUDE                PIC 9(8) BINARY VALUE 0.
       77 MCAST-EXCLUDE                PIC 9(8) BINARY VALUE 1.
       77 MCAST-NUMSRC-MAX             PIC 9(8) BINARY VALUE 64.
      *
      * IP-MSFILTER
      *
       01 IP-MSFILTER.
         02 IMSF-HEADER.
           03 IMSF-MULTIADDR           PIC 9(8) BINARY.
           03 IMSF-INTERFACE           PIC 9(8) BINARY.
           03 IMSF-FMODE               PIC 9(8) BINARY.
             88 IMSF-FMODE-INCLUDE     VALUE 0.
             88 IMSF-FMODE-EXCLUDE     VALUE 1.
           03 IMSF-NUMSRC              PIC 9(8) BINARY.
         02 IMSF-SLIST.
           03 IMSF-SRCENTRY            OCCURS 1 TO 64 TIMES
                                       DEPENDING ON IMSF-NUMSRC.
             05 IMSF-SRCADDR           PIC 9(8) BINARY.
      *
      * GROUP-FILTER
      *
       01 GROUP-FILTER.
         02 GF-HEADER.
           03 GF-INTERFACE             PIC 9(8) BINARY.
           03 FILLER                   PIC X(4).
           03 GF-GROUP                 PIC X(128).
           03 GF-GROUP-R               REDEFINES GF-GROUP.
             05 GF-GROUP-SOCK-LEN      PIC X(1).
             05 GF-GROUP-SOCK-FAMILY   PIC X(1).
             05 GF-GROUP-SOCK-DATA     PIC X(26).
             05 GF-GROUP-SOCK-SIN      REDEFINES GF-GROUP-SOCK-DATA.
               10 GF-GROUP-SOCK-SIN-PORT PIC 9(4) BINARY.
               10 GF-GROUP-SOCK-SIN-ADDR PIC 9(8) BINARY.
               10 FILLER               PIC X(8).
               10 FILLER               PIC X(12).
             05 GF-GROUP-SOCK-SIN6     REDEFINES GF-GROUP-SOCK-DATA.
               10 GF-GROUP-SOCK-SIN6-PORT PIC 9(4) BINARY.
               10 GF-GROUP-SOCK-SIN6-FLOWINFO PIC 9(8) BINARY.
               10 GF-GROUP-SOCK-SIN6-ADDR.
                 15 FILLER             PIC 9(16) BINARY.
                 15 FILLER             PIC 9(16) BINARY.
               10 GF-GROUP-SOCK-SIN6-SCOPEID  PIC 9(8) BINARY.
             05 FILLER                 PIC X(100).
           03 GF-FMODE                 PIC 9(8) BINARY.
             88 GF-FMODE-INCLUDE       VALUE 0.
             88 GF-FMODE-EXCLUDE       VALUE 1.
           03 GF-NUMSRC                PIC 9(8) BINARY.
         02 GF-SLIST.
           03 GF-SRCENTRY              OCCURS 1 TO 64 TIMES
                                       DEPENDING ON GF-NUMSRC.
             05 GF-SRCADDR             PIC X(128).
             05 GF-SRCADDR-R           REDEFINES GF-SRCADDR.
               10 GF-SLIST-SOCK-LEN    PIC X(1).
               10 GF-SLIST-SOCK-FAMILY PIC X(1).
               10 GF-SLIST-SOCK-DATA   PIC X(26).
               10 GF-SLIST-SOCK-SIN    REDEFINES GF-SLIST-SOCK-DATA.
                 15 GF-SLIST-SOCK-SIN-PORT PIC 9(4) BINARY.
                 15 GF-SLIST-SOCK-SIN-ADDR PIC 9(8) BINARY.
                 15 FILLER             PIC X(8).
                 15 FILLER             PIC X(12).
               10 GF-SLIST-SOCK-SIN6   REDEFINES GF-SLIST-SOCK-DATA.
                 15 GF-SLIST-SOCK-SIN6-PORT PIC 9(4) BINARY.
                 15 GF-SLIST-SOCK-SIN6-FLOWINFO PIC 9(8) BINARY.
                 15 GF-SLIST-SOCK-SIN6-ADDR.
                   20 FILLER           PIC 9(16) BINARY.
                   20 FILLER           PIC 9(16) BINARY.
                 15 GF-SLIST-SOCK-SIN6-SCOPEID PIC 9(8) BINARY.
               10 FILLER               PIC X(100).
      *
      * Structure for setting APPLDATA when using the SIOCSAPPLDATA
      * ioctl.
      *
       77 SETADEYE1                    PIC X(8) VALUE 'SETAPPLD'.
       77 SETADVER                     PIC 9(4) BINARY VALUE 1.
       01 SETAPPLDATA.
         02 SETAD-EYE1                 PIC X(8).
         02 SETAD-VER                  PIC 9(4) BINARY.
         02 SETAD-LEN                  PIC 9(4) BINARY.
         02 FILLER                     PIC X(4).
         02 SETAD-PTR64                PIC 9(16) BINARY.
         02 SETAD-PTR31 REDEFINES SETAD-PTR64.
           03 SETAD-PTRHW              PIC 9(8) BINARY.
           03 SETAD-PTR                USAGE IS POINTER.
      *
      * Structure for containing the actual application data being set
      * by the SIOCSAPPLDATA ioctl.
      *
       77 SETADEYE2                    PIC X(8) VALUE 'APPLDATA'.
       01 SETADCONTAINER.
         02 SETAD-EYE2                 PIC X(8).
         02 SETAD-BUFFER               PIC X(40).
      *
      * TIMEVAL for SO_RCVTIMEO and SO_SNDTIMEO
      *
       01 TIMEVAL.
         02 TV-SEC                     PIC 9(8) BINARY.
         02 TV-USEC                    PIC 9(8) BINARY.

      *
      * IFREQ structure for SIOCGIFxxxx ioctls.
      *
       01 IFREQ.
         05 IFR-NAME                   PIC X(16).
         05 IFR-IFR                    PIC X(16).
         05 IFR-ADDR                   REDEFINES IFR-IFR.
           10 IFR-ADDR-LEN             PIC X(1).
           10 IFR-ADDR-FAMILY          PIC X(1).
           10 IFR-ADDR-PORT            PIC 9(4) BINARY.
           10 IFR-ADDR-ADDR            PIC 9(8) BINARY.
           10 FILLER                   PIC X(8).
         05 IFR-DSTADDR                REDEFINES IFR-IFR.
           10 IFR-DSTADDR-LEN          PIC X(1).
           10 IFR-DSTADDR-FAMILY       PIC X(1).
           10 IFR-DSTADDR-PORT         PIC 9(4) BINARY.
           10 IFR-DSTADDR-ADDR         PIC 9(8) BINARY.
           10 FILLER                   PIC X(8).
         05 IFR-BROADADDR              REDEFINES IFR-IFR.
           10 IFR-BROADADDR-LEN        PIC X(1).
           10 IFR-BROADADDR-FAMILY     PIC X(1).
           10 IFR-BROADADDR-PORT       PIC 9(4) BINARY.
           10 IFR-BROADADDR-ADDR       PIC 9(8) BINARY.
           10 FILLER                   PIC X(8).
         05 IFR-FLAGS-R                REDEFINES IFR-IFR.
           10 IFR-FLAGS                PIC X(2).
           10 FILLER                   PIC X(14).
         05 IFR-METRIC-R               REDEFINES IFR-IFR.
           10 IFR-METRIC               PIC 9(8) BINARY.
           10 FILLER                   PIC X(12).
         05 IFR-DATA-R                 REDEFINES IFR-IFR.
           10 IFR-DATA                 PIC 9(8) BINARY.
           10 FILLER                   PIC X(12).
         05 IFR-MTU-R                  REDEFINES IFR-IFR.
           10 IFR-MTU                  PIC 9(8) BINARY.
           10 FILLER                   PIC X(12).
      *
      * Constants for use with the IFR_FLAGS field in structure IFREQ.
      *
       01 IFF-UP                       PIC X(2) VALUE X'0001'.
       01 IFF-BROADCAST                PIC X(2) VALUE X'0002'.
       01 IFF-DEBUG                    PIC X(2) VALUE X'0004'.
       01 IFF-LOOPBACK                 PIC X(2) VALUE X'0008'.
       01 IFF-POINTOPOINT              PIC X(2) VALUE X'0010'.
       01 IFF-NOTRAILERS               PIC X(2) VALUE X'0020'.
       01 IFF-RUNNING                  PIC X(2) VALUE X'0040'.
       01 IFF-NOARP                    PIC X(2) VALUE X'0080'.
       01 IFF-PROMISC                  PIC X(2) VALUE X'0100'.
       01 IFF-ALLMULTI                 PIC X(2) VALUE X'0200'.
       01 IFF-MULTICAST                PIC X(2) VALUE X'0400'.
       01 IFF-POINTOMULTIPT            PIC X(2) VALUE X'0800'.
       01 IFF-BRIDGE                   PIC X(2) VALUE X'1000'.
       01 IFF-SNAP                     PIC X(2) VALUE X'2000'.
       01 IFF-VIRTUAL                  PIC X(2) VALUE X'4000'.
       01 IFF-SAMEHOST                 PIC X(2) VALUE X'8000'.
      *
      * HOSTENT structure
      *
       01 HOSTENT.
      * Official name of host
         03 H-NAME                     PIC S9(8) BINARY.
      * Alias list address
         03 H-ALIASES                  PIC S9(8) BINARY.
      * Host address type
         03 H-ADDRTYPE                 PIC S9(8) BINARY.
      * Length of address
         03 H-LENGTH                   PIC S9(8) BINARY.
      * List of addresses from name server
         03 H-ADDR-LIST                PIC S9(8) BINARY.
      *
      * Address information structure
      *
       01 ADDRINFO.
      * Flags
         03 AI-FLAGS                   PIC S9(8) BINARY.
      * Socket family
         03 AI-FAMILY                  PIC S9(8) BINARY.
      * Socket type
         03 AI-SOCKTYPE                PIC S9(8) BINARY.
      * Protocol
         03 AI-PROTOCOL                PIC S9(8) BINARY.
      * Length of AI-ADDR value
         03 AI-ADDRLEN                 PIC S9(8) BINARY.
      * Pad to double word boundary
         03 FILLER                     PIC X(4).
         03 FILLER                     PIC X(4).
      * Canonical name
         03 AI-CANONNAME               PIC S9(8) BINARY.
         03 FILLER                     PIC X(4).
      * Binary address, sockaddr_in(6)
         03 AI-ADDR                    PIC S9(8) BINARY.
         03 FILLER                     PIC X(4).
      * Next addrinfo structure
         03 AI-NEXT                    PIC S9(8) BINARY.
      * Extended flags
         03 AI-EFLAGS                  PIC S9(8) BINARY.
      *
      * AI-FLAGS mappings
      *
       77 AI-PASSIVE                  PIC X(4) VALUE X'00000001'.
       77 AI-PASSIVE-BIT              PIC S9(8) BINARY VALUE 1.
       77 AI-CANONNAMEOK              PIC X(4) VALUE X'00000002'.
       77 AI-CANONNAMEOK-BIT          PIC S9(8) BINARY VALUE 2.
       77 AI-NUMERICHOST              PIC X(4) VALUE X'00000004'.
       77 AI-NUMERICHOST-BIT          PIC S9(8) BINARY VALUE 4.
       77 AI-NUMERICSERV              PIC X(4) VALUE X'00000008'.
       77 AI-NUMERICSERV-BIT          PIC S9(8) BINARY VALUE 8.
       77 AI-V4MAPPED                 PIC X(4) VALUE X'00000010'.
       77 AI-V4MAPPED-BIT             PIC S9(8) BINARY VALUE 16.
       77 AI-ALL                      PIC X(4) VALUE X'00000020'.
       77 AI-ALL-BIT                  PIC S9(8) BINARY VALUE 32.
       77 AI-ADDRCONFIG               PIC X(4) VALUE X'00000040'.
       77 AI-ADDRCONFIG-BIT           PIC S9(8) BINARY VALUE 64.
       77 AI-EXTFLAGS                 PIC X(4) VALUE X'00000080'.
       77 AI-EXTFLAGS-BIT             PIC S9(8) BINARY VALUE 128.
       77 AI-ALLFLAGMASK              PIC X(4) VALUE X'FFFFFF00'.
       77 AI-ALLFLAGMASK-BITS         PIC S9(8) VALUE -256.
      *
      * AI-EFLAGS mappings
      * Also maps OPTVAL for getsockopt and setsockopt when
      * OPTNAME is IPV6-ADDR-PREFERENCES
      * Also maps FLAGS for inet6_is_srcaddr
      *
       77 IPV6-PREFER-SRC-HOME        PIC S9(8) BINARY VALUE 1.
       77 IPV6-PREFER-SRC-COA         PIC S9(8) BINARY VALUE 2.
       77 IPV6-PREFER-SRC-TMP         PIC S9(8) BINARY VALUE 4.
       77 IPV6-PREFER-SRC-PUBLIC      PIC S9(8) BINARY VALUE 8.
       77 IPV6-PREFER-SRC-CGA         PIC S9(8) BINARY VALUE 16.
       77 IPV6-PREFER-SRC-NONCGA      PIC S9(8) BINARY VALUE 32.
       77 IPV6-PREFER-SRC-INVALIDBITS PIC S9(8) BINARY VALUE -64.
      *
      * NI_FLAGS mappings
      *
       77 NI-NOFQDN                   PIC X(4) VALUE X'00000001'.
       77 NI-NUMERICHOST              PIC X(4) VALUE X'00000002'.
       77 NI-NAMEREQD                 PIC X(4) VALUE X'00000004'.
       77 NI-NUMERICSERV              PIC X(4) VALUE X'00000008'.
       77 NI-DGRAM                    PIC X(4) VALUE X'00000010'.
       77 NI-NUMERICSCOPE             PIC X(4) VALUE X'00000020'.
      *
      * End of EZACOBOL - COBOL COMMON VARIABLES
      *
      *****************************************************************
Figure 1. EZACOBOL COBOL common variables