Skip to main content

Transaction Processing Facility (TPF) - Online Maintenance TPF : Support : Maintenance TPF : Support : Maintenance Skip to: Abstract | Comments | Solution | Related Segments | Migration | Download

SUBJECT:         APAR  NUMBER: PJ27214

REFERENCE:  AREA:     TPF INTERNET MAIL SERVER
            SEGMENT:  BINCON40   - RELEASE:  TPF4  (C-Header)
            SEGMENT:  BINDAS40   - RELEASE:  TPF4  (C-Header)
            SEGMENT:  BINDNS40   - RELEASE:  TPF4  (C-Header)
            SEGMENT:  BITYPE40   - RELEASE:  TPF4  (C-Header)
            SEGMENT:  C$CINFC40  - RELEASE:  TPF4  (C-Header)
            SEGMENT:  C$DDSM40   - RELEASE:  TPF4  (C-Header)
            SEGMENT:  C$SPIF40   - RELEASE:  TPF4  (C-Header)
            SEGMENT:  CASSER40   - RELEASE:  TPF4  (C)
            SEGMENT:  CDDNPI40   - RELEASE:  TPF4  (C)
            SEGMENT:  CDDNUL40   - RELEASE:  TPF4  (C)
            SEGMENT:  CDDPIP40   - RELEASE:  TPF4  (C)
            SEGMENT:  CDDSOC40   - RELEASE:  TPF4  (C)
            SEGMENT:  CDDTBL40   - RELEASE:  TPF4  (C)
            SEGMENT:  CEVTIM40   - RELEASE:  TPF4  (C)
            SEGMENT:  CFIA40     - RELEASE:  TPF4  (C)
            SEGMENT:  CFIU40     - RELEASE:  TPF4  (C)
            SEGMENT:  CFIUBS40   - RELEASE:  TPF4  (BuildScr)
            SEGMENT:  CFS02140   - RELEASE:  TPF4  (C)
            SEGMENT:  CFS02240   - RELEASE:  TPF4  (C)
            SEGMENT:  CFS03640   - RELEASE:  TPF4  (C)
            SEGMENT:  CFS10540   - RELEASE:  TPF4  (C)
            SEGMENT:  CFS14940   - RELEASE:  TPF4  (C)
            SEGMENT:  CFS15040   - RELEASE:  TPF4  (C)
            SEGMENT:  CFS16840   - RELEASE:  TPF4  (C)
            SEGMENT:  CFS17040   - RELEASE:  TPF4  (C)
            SEGMENT:  CFS18040   - RELEASE:  TPF4  (C)
            SEGMENT:  CFS18140   - RELEASE:  TPF4  (C)
            SEGMENT:  CICR40     - RELEASE:  TPF4  (Copy)
            SEGMENT:  CINETA40   - RELEASE:  TPF4  (C)
            SEGMENT:  CINETN40   - RELEASE:  TPF4  (C)
            SEGMENT:  CINET140   - RELEASE:  TPF4  (C)
            SEGMENT:  CINET740   - RELEASE:  TPF4  (C)
            SEGMENT:  CINFC40    - RELEASE:  TPF4  (Macro)
            SEGMENT:  CNA2E40    - RELEASE:  TPF4  (C)
            SEGMENT:  CNE2A40    - RELEASE:  TPF4  (C)
            SEGMENT:  CNSNAM40   - RELEASE:  TPF4  (C)
            SEGMENT:  CNSNET40   - RELEASE:  TPF4  (C)
            SEGMENT:  CNSPAR40   - RELEASE:  TPF4  (C)
            SEGMENT:  CNSPRN40   - RELEASE:  TPF4  (C)
            SEGMENT:  CNSSAD40   - RELEASE:  TPF4  (C)
            SEGMENT:  CNSTTL40   - RELEASE:  TPF4  (C)
            SEGMENT:  COMXBS40   - RELEASE:  TPF4  (BuildScr)
            SEGMENT:  COMXXV40   - RELEASE:  TPF4  (LibIntScr)
            SEGMENT:  CPIPE40    - RELEASE:  TPF4  (C)
            SEGMENT:  CRESCO40   - RELEASE:  TPF4  (C)
            SEGMENT:  CRESDA40   - RELEASE:  TPF4  (C)
            SEGMENT:  CRESDB40   - RELEASE:  TPF4  (C)
            SEGMENT:  CRESIN40   - RELEASE:  TPF4  (C)
            SEGMENT:  CRESMK40   - RELEASE:  TPF4  (C)
            SEGMENT:  CRESQR40   - RELEASE:  TPF4  (C)
            SEGMENT:  CRESSN40   - RELEASE:  TPF4  (C)
            SEGMENT:  CSSDLL40   - RELEASE:  TPF4  (C)
            SEGMENT:  CSYLBS40   - RELEASE:  TPF4  (BuildScr)
            SEGMENT:  CSYLGD40   - RELEASE:  TPF4  (C)
            SEGMENT:  CSYLOG40   - RELEASE:  TPF4  (C)
            SEGMENT:  CTXOBS40   - RELEASE:  TPF4  (BuildScr)
            SEGMENT:  C54940     - RELEASE:  TPF4  (C)
            SEGMENT:  C55040     - RELEASE:  TPF4  (C)
            SEGMENT:  ERRNO40    - RELEASE:  TPF4  (C-Header)
            SEGMENT:  EVLIB40    - RELEASE:  TPF4  (C-Header)
            SEGMENT:  EVLIBP40   - RELEASE:  TPF4  (C-Header)
            SEGMENT:  I$CMDS40   - RELEASE:  TPF4  (C-Header)
            SEGMENT:  I$FSDD40   - RELEASE:  TPF4  (C-Header)
            SEGMENT:  I$GLUE40   - RELEASE:  TPF4  (C-Header)
            SEGMENT:  I$NODE40   - RELEASE:  TPF4  (C-Header)
            SEGMENT:  I$NPDD40   - RELEASE:  TPF4  (C-Header)
            SEGMENT:  I$POLL40   - RELEASE:  TPF4  (C-Header)
            SEGMENT:  I$PWBL40   - RELEASE:  TPF4  (C-Header)
            SEGMENT:  I$WAIT40   - RELEASE:  TPF4  (C-Header)
            SEGMENT:  IBMPAL40   - RELEASE:  TPF4  (Copy)
            SEGMENT:  IPWBL40    - RELEASE:  TPF4  (Dsect)
            SEGMENT:  LIST40     - RELEASE:  TPF4  (C-Header)
            SEGMENT:  NAMCOM40   - RELEASE:  TPF4  (C-Header)
            SEGMENT:  PORTAF40   - RELEASE:  TPF4  (C-Header)
            SEGMENT:  PORTBF40   - RELEASE:  TPF4  (C-Header)
            SEGMENT:  RESDBG40   - RELEASE:  TPF4  (C-Header)
            SEGMENT:  RESOLV40   - RELEASE:  TPF4  (C-Header)
            SEGMENT:  SPPGML40   - RELEASE:  TPF4  (Macro)
            SEGMENT:  STAT40     - RELEASE:  TPF4  (C-Header)
            SEGMENT:  SYSLOG40   - RELEASE:  TPF4  (C-Header)
            SEGMENT:  UDDIPM40   - RELEASE:  TPF4  (C)
            SEGMENT:  UDDWTC40   - RELEASE:  TPF4  (C)

Pre-requisite APARs are:
FOR SEGMENT C$CINFC40  (C-Header)  - REL TPF4
 PJ13992  PJ14618  PJ13562  PJ14605  
 PJ15295  PJ15766  PJ17852  
 PJ21167  PJ21313  PJ21939  PJ22452  
 PJ23178  PJ23923  PJ24530  
 PJ24541  PJ24412  PJ25094  PJ25266  
 PJ24945  PJ25589  PJ25781  
 PJ25780  PJ25981  PJ25485  PJ26188  
 PJ26143  PJ26384  PJ26713  
 PJ26600  PJ26707  PJ26721  PJ27023  
 PJ26794  
FOR SEGMENT C$DDSM40   (C-Header)  - REL TPF4
 PJ25089  PJ25589  
FOR SEGMENT C$SPIF40   (C-Header)  - REL TPF4
 PJ25089  PJ25589  PJ26188  
FOR SEGMENT CDDNUL40   (C)         - REL TPF4
 PJ25089  PJ25589  
FOR SEGMENT CDDPIP40   (C)         - REL TPF4
 PJ26188  
FOR SEGMENT CDDSOC40   (C)         - REL TPF4
 PJ25089  PJ25589  
FOR SEGMENT CDDTBL40   (C)         - REL TPF4
 PJ25089  PJ26188  
FOR SEGMENT CFIA40     (C)         - REL TPF4
 PJ25589  PJ25740  
FOR SEGMENT CFS02140   (C)         - REL TPF4
 PJ25089  PJ25266  PJ25589  PJ26188  
 
FOR SEGMENT CFS02240   (C)         - REL TPF4
 PJ25089  PJ25263  PJ25266  PJ25589  
 PJ26188  
FOR SEGMENT CFS03640   (C)         - REL TPF4
 PJ25089  PJ25589  
FOR SEGMENT CFS10540   (C)         - REL TPF4
 PJ25266  
FOR SEGMENT CFS14940   (C)         - REL TPF4
 PJ25089  PJ25266  PJ25589  PJ26188  
 
FOR SEGMENT CFS15040   (C)         - REL TPF4
 PJ25089  PJ25266  PJ25589  PJ26188  
 
FOR SEGMENT CFS16840   (C)         - REL TPF4
 PJ25089  
FOR SEGMENT CICR40     (Copy)      - REL TPF4
 PJ13518  PJ13634  PJ13759  PJ13992  
 PJ14407  PJ14618  PJ13562  
 PJ14605  PJ15766  PJ14843  PJ16906  
 PJ17099  PJ17852  PJ17778  
 PJ18550  PJ18074  PJ19966  PJ19039  
 PJ21167  PJ20551  PJ21313  
 PJ21331  PJ21040  PJ21652  PJ21596  
 PJ21939  PJ20516  PJ22909  
 PJ23103  PJ23178  PJ23143  PJ23294  
 PJ23817  PJ23378  PJ23923  
 PJ24472  PJ23435  PJ24530  PJ24621  
 PJ24557  PJ23014  PJ24412  
 PJ25094  PJ25098  PJ25089  PJ24834  
 PJ24945  PJ25294  PJ25632  
 PJ25421  PJ25589  PJ25780  PJ25747  
 PJ25756  PJ25981  PJ25485  
 PJ26188  PJ26320  PJ26215  PJ26384  
 PJ26568  PJ26600  PJ26707  
 PJ26793  PJ26721  PJ27023  PJ26794  PJ27019  PJ26102  
FOR SEGMENT CINET140   (C)         - REL TPF4
 PJ25589  PJ25780  PJ25761  PJ26515  
 PJ26671  PJ26575  PJ26683  
 PJ26434  PJ26848  PJ27255  
FOR SEGMENT CINET740   (C)         - REL TPF4
 PJ25761  PJ26515  PJ26848  PJ27080  
 
FOR SEGMENT CINFC40    (Macro)     - REL TPF4
 PJ13590  PJ13992  PJ14618  PJ13562  
 PJ14605  PJ15295  PJ15766  
 PJ17852  PJ21167  PJ21313  PJ21596  
 PJ21939  PJ23178  PJ23923  
 PJ24530  PJ24412  PJ25094  PJ25266  
 PJ24945  PJ25589  PJ25781  
 PJ25780  PJ25981  PJ25485  PJ26188  
 PJ26143  PJ26384  PJ26713  
 PJ26600  PJ26707  PJ26721  PJ27023  
 PJ26794  
FOR SEGMENT COMXBS40   (BuildScr)  - REL TPF4
 PJ21791  PJ22389  PJ24525  PJ25089  
 PJ25266  PJ25375  PJ25491  
 PJ25589  PJ25780  PJ26188  PJ26174  
 PJ26575  PJ26683  PJ26713  
 PJ27023  PJ26895  
FOR SEGMENT COMXXV40   (LibIntScr) - REL TPF4
 PJ21791  PJ22389  PJ25089  PJ25266  
 PJ25375  PJ25589  PJ25780  
 PJ26188  PJ26575  PJ26683  
FOR SEGMENT CPIPE40    (C)         - REL TPF4
 PJ26188  
FOR SEGMENT CSSDLL40   (C)         - REL TPF4
 PJ25084  PJ25632  PJ26187  PJ26575  
 PJ26685  
FOR SEGMENT C54940     (C)         - REL TPF4
 PJ26895  
FOR SEGMENT C55040     (C)         - REL TPF4
 PJ26895  
FOR SEGMENT ERRNO40    (C-Header)  - REL TPF4
 PJ17852  PJ23923  PJ24472  PJ24541  
 PJ25089  PJ25589  PJ26174  
 PJ26575  PJ21337  
FOR SEGMENT I$FSDD40   (C-Header)  - REL TPF4
 PJ25089  PJ25589  PJ26188  PJ26714  
 
FOR SEGMENT I$GLUE40   (C-Header)  - REL TPF4
 PJ25089  PJ25266  PJ25589  PJ25703  
 PJ26188  PJ26713  PJ27023  
FOR SEGMENT I$NODE40   (C-Header)  - REL TPF4
 PJ25089  PJ25266  PJ25589  
FOR SEGMENT I$PWBL40   (C-Header)  - REL TPF4
 PJ26683  PJ26895  
FOR SEGMENT IBMPAL40   (Copy)      - REL TPF4
 PJ13514  PJ13496  PJ13560  PJ14078  
 PJ15.042  PJ14557  PJ14444  
 PJ14722  PJ14805  PJ14858  PJ13562  
 PJ14605  PJ15324  PJ14437  
 PJ15585  PJ16213  PJ15454  PJ16331  
 PJ17568  PJ14737  PJ14947  
 PJ17852  PJ17912  PJ17292  PJ15728  
 PJ19689  PJ19949  PJ19966  
 PJ19938  PJ19272  PJ19727  PJ21044  
 PJ20777  PJ21167  PJ20974  
 PJ21596  PJ21584  PJ21592  PJ21791  
 PJ20388  PJ22079  PJ21706  
 PJ22208  PJ17689  PJ21709  PJ22389  
 PJ22925  PJ21701  PJ22975  
 PJ22434  PJ23178  PJ23180  PJ22937  
 PJ23336  PJ22843  PJ23430  
 PJ23434  PJ23338  PJ21693  PJ23297  
 PJ21694  PJ21708  PJ24147  
 PJ23931  PJ23923  PJ24344  PJ24472  
 PJ23620  PJ24525  PJ24530  
 PJ24563  PJ24626  PJ23984  PJ24845  
 PJ24912  PJ25084  PJ25094  
 PJ25098  PJ25089  PJ25158  PJ25261  
 PJ25277  PJ25266  PJ25207  
 PJ23981  PJ25075  PJ25375  PJ25379  
 PJ25442  PJ25425  PJ25632  
 PJ25444  PJ25589  PJ25703  PJ25720  
 PJ25684  PJ25332  PJ25760  
 PJ25781  PJ25780  PJ25953  PJ25982  
 PJ25983  PJ25981  PJ26125  
 PJ25880  PJ26150  PJ26187  PJ26161  
 PJ26188  PJ26174  PJ26350  
 PJ26365  PJ26366  PJ26283  PJ26384  
 PJ26516  PJ26468  PJ26575  
 PJ26577  PJ26534  PJ26685  PJ26683  
 PJ26713  PJ26600  PJ26581  
 PJ26693  PJ26686  PJ26707  PJ26782  
 PJ26781  PJ26864  PJ26892  
 PJ27023  PJ27028  PJ21337  PJ26904  
 PJ26890  PJ27079  PJ27095  
 PJ27073  PJ27197  PJ27246  PJ27305  PJ27231  
FOR SEGMENT IPWBL40    (Dsect)     - REL TPF4
 PJ26683  PJ26917  PJ26890  PJ26895  
 
FOR SEGMENT SPPGML40   (Macro)     - REL TPF4
 PJ13509  PJ13579  PJ14357  PJ15.042  
 PJ14858  PJ14605  PJ14437  
 PJ16213  PJ15454  PJ14737  PJ14947  
 PJ17852  PJ17912  PJ15728  
 PJ19734  PJ19949  PJ19966  PJ19938  
 PJ19866  PJ21121  PJ21044  
 PJ20777  PJ21167  PJ21596  PJ21584  
 PJ21592  PJ21791  PJ20388  
 PJ21953  PJ22079  PJ22088  PJ22098  
 PJ21706  PJ22170  PJ21709  
 PJ22389  PJ21452  PJ21906  PJ21701  
 PJ21705  PJ23148  PJ23128  
 PJ22434  PJ23178  PJ23180  PJ23318  
 PJ22937  PJ23312  PJ22843  
 PJ23430  PJ23434  PJ23338  PJ21693  
 PJ23297  PJ21694  PJ21708  
 PJ24035  PJ23931  PJ23923  PJ23922  
 PJ24344  PJ24025  PJ24472  
 PJ23620  PJ23526  PJ24525  PJ24530  
 PJ24563  PJ24548  PJ24622  
 PJ24468  PJ23984  PJ24771  PJ24845  
 PJ25084  PJ25094  PJ25098  
 PJ25089  PJ25158  PJ25240  PJ25277  
 PJ25266  PJ25207  PJ25174  
 PJ23981  PJ25075  PJ25375  PJ25379  
 PJ25491  PJ25199  PJ25425  
 PJ25632  PJ25614  PJ25589  PJ25703  
 PJ25720  PJ25332  PJ25760  
 PJ25763  PJ25781  PJ25780  PJ25817  
 PJ25982  PJ25983  PJ25981  
 PJ26125  PJ25880  PJ26150  PJ26187  
 PJ26008  PJ26156  PJ26161  
 PJ26188  PJ26174  PJ26270  PJ26337  
 PJ26374  PJ26366  PJ26283  
 PJ25761  PJ26515  PJ26575  PJ26577  
 PJ26534  PJ26683  PJ26522  
 PJ26713  PJ26600  PJ26581  PJ26666  
 PJ26693  PJ26686  PJ26809  
 PJ26707  PJ26864  PJ26892  PJ26746  
 PJ26793  PJ26841  PJ26887  
 PJ26967  PJ27023  PJ27028  PJ21337  
 PJ26904  PJ26890  PJ27079  
 PJ26895  PJ27156  PJ27095  PJ27197  PJ27246  PJ27305  PJ27345  
 PJ27231  
FOR SEGMENT STAT40     (C-Header)  - REL TPF4
 PJ25089  PJ26174  PJ26714  
FOR SEGMENT UDDIPM40   (C)         - REL TPF4
 PJ25089  PJ25589  
FOR SEGMENT UDDWTC40   (C)         - REL TPF4
 PJ25089  PJ25589  
To be applied in the order listed for each segment.

ABSTRACT OF PROBLEM
___________________
This apar adds support in several different areas: Named Pipes are now avail-
able,  Select  API  can  now operate with Named Pipes, a Syslog Daemon is now
available, and Bind Support (resolver only) is available.


COMMENTS ON PROBLEM
___________________
Adding  named  pipe  support  and  select  modifications required significant
changes and extensive recompiles to propogate the changes to the APIs.  While
the behavior of basic I/O APIs is specified with regards to named pipes,  and
the essential function is straightforward, there are many asynchronous condi-
tions  where  the  behavior is consistent and following the specification but
which are not intuitively obvious.  Enhancing select to recognize Named  Pipe
descriptors  using  a  polling  technique  is  non-trivial and should be well
understood before making modifications.   Certainly any  device  driver  code
should be well understood and ramifications well considered before making any
changes.

The Syslog Daemon and DNS resolver support are ported. Difficulties will only
arise in the Syslog Daemon where it will require significant changes.


SOLUTION
________
All  objectives  for  the APAR were met.  The APIs affected by named pipe and
the underlying device drivers required careful scrutiny of the  POSIX  stand-
ards  in order to act as expected to the calling program and also satisfy the
requirements of a program running on the TPF platform.

Select can now listen on a named pipe (that is,  a  file  descriptor)  and  a
socket  (that  is,  a socket descriptor) simultaneously.   Note well that the
sockets must be "native stack" and not CLAW.  This is because the CLAW inter-
face actually performs the select processing whereas with  native  stack  and
named  pipes  the  select processing is performed on TPF.  If not obvious, it
should be mentioned that the select function can identify  a  named  pipe  or
named pipes without any sockets, one or more native stack sockets without any
named  pipes, a combination of one or more named pipes and one or more native
stack sockets, or a single CLAW socket.

The Syslog Daemon uses named pipes for local logging instead of local sockets
as in UNIX.  One daemon runs per processor and resides in BSS only.    If  an
application  running on another subsystem needs to log the API will switch to
BSS and then log.  ASCII to EBCDIC conversions were added for both the Syslog
Daemon and Bind Support.

The DNS resolver support allows for several types of queries including  Name,
PTR, Canonical, TXT, SOA, MX, etc.

DEPENDENCIES
____________

Related Segments Affected By This APAR.
_______________________________________

Segments to be assembled or compiled:
See the TPF Migration Guide for information about segments that need
to be assembled or compiled for this SPE.

Segments to be link-edited:
See the TPF Migration Guide for information about segments that need
to be link-edited for this SPE.

Load modules to be loaded:
See the TPF Migration Guide for information about load modules that
need to be loaded for this SPE.

Migration Considerations
========================
See the TPF Migration Guide for information about migration
considerations.

BUILD/TEST INSTRUCTIONS
_______________________

 ===BUILD Instructions===

No special build instructions.

Stubs to be built:

 ===TEST Instructions===

No special test instructions.


-- END APAR PJ27214
}



Download file(s) using new Server: Login once to access server, leave window open, then click on link(s) below. Source Listing Binary