sparrowhawk is a historical record of the evolution of the Hercules mainframe virtualization platform, tracking each release from 1999 to the present day
C HTML Makefile Shell M4 C++ Other
Latest commit f553d87 Nov 26, 2015 rbowler version 3.12
What's new in release 3.12
Release date: 30 November 2015

  * dasdload corrections and support for loading ASCII TEXT files (Roger Bowler)
  * comm3705_RU-size+unack_attn_delay patch (Juergen Winkelmann)
  * CCKDDUMP/CCKDLOAD support for DSNTYPE=LARGE (Christophe Varlet)
  * CMPSC corrections (Bernard van der Helm)
  * Miscellaneous bug fixes (Peter Coghlan, Gert Caers, Giuseppe Vitillaro,
Bill Carlborg, David "Fish" Trout)
Permalink
Failed to load latest commit information.
autoconf version 3.12 Dec 11, 2016
crypto version 3.12 Dec 11, 2016
decNumber version 3.12 Dec 11, 2016
html version 3.12 Dec 11, 2016
m4 version 3.12 Dec 11, 2016
man version 3.12 Dec 11, 2016
msvc.makefile.includes version 3.11 Jan 29, 2015
softfloat version 3.12 Dec 11, 2016
util version 3.12 Dec 11, 2016
.cvsignore version 2.12 Jun 19, 2012
COPYRIGHT version 3.03 Jun 19, 2012
INSTALL version 3.10 Mar 11, 2014
Makefile.am version 3.10 Mar 11, 2014
Makefile.in version 3.12 Dec 11, 2016
README.COMMADPT version 3.00 Jun 19, 2012
README.DYNMOD version 3.07 Jun 19, 2012
README.ECPSVM version 3.04 Jun 19, 2012
README.HDL version 3.08 Dec 29, 2012
README.HERCLOGO version 3.06 Jun 19, 2012
README.NETWORKING version 3.11 Jan 29, 2015
README.OSX version 3.06 Jun 19, 2012
README.SUN version 3.09 Nov 28, 2013
README.TAPE version 3.06 Jun 19, 2012
README.WIN32 version 3.08 Dec 29, 2012
README.WIN64 version 3.08 Dec 29, 2012
RELEASE.NOTES version 3.08 Dec 29, 2012
aclocal.m4 version 3.12 Dec 11, 2016
assist.c version 3.09 Nov 28, 2013
awstape.c version 3.09 Nov 28, 2013
bldcfg.c version 3.11 Jan 29, 2015
bootstrap.c version 3.09 Nov 28, 2013
build_pch.c version 3.09 Nov 28, 2013
cache.c version 3.09 Nov 28, 2013
cache.h version 3.09 Nov 28, 2013
cardpch.c version 3.09 Nov 28, 2013
cardrdr.c version 3.09 Nov 28, 2013
cckdcdsk.c version 3.09 Nov 28, 2013
cckdcomp.c version 3.09 Nov 28, 2013
cckddasd.c version 3.11 Jan 29, 2015
cckddiag.c version 3.09 Nov 28, 2013
cckdfix.c version 3.09 Nov 28, 2013
cckdswap.c version 3.09 Nov 28, 2013
cckdutil.c version 3.09 Nov 28, 2013
cgibin.c version 3.11 Jan 29, 2015
channel.c version 3.12 Dec 11, 2016
chsc.c version 3.09 Nov 28, 2013
chsc.h version 3.09 Nov 28, 2013
ckddasd.c version 3.09 Nov 28, 2013
clock.c version 3.09 Nov 28, 2013
clock.h version 3.09 Nov 28, 2013
cmdtab.c version 3.09 Nov 28, 2013
cmdtab.h version 3.09 Nov 28, 2013
cmpsc.c version 3.12 Dec 11, 2016
codepage.c version 3.09 Nov 28, 2013
codepage.h version 3.09 Nov 28, 2013
comm3705.c version 3.12 Dec 11, 2016
comm3705.h version 3.12 Dec 11, 2016
commadpt.c version 3.09 Nov 28, 2013
commadpt.h version 3.09 Nov 28, 2013
con1052c.c version 3.09 Nov 28, 2013
config.c version 3.09 Nov 28, 2013
config.h.in version 3.11 Jan 29, 2015
configure version 3.12 Dec 11, 2016
configure.ac version 3.12 Dec 11, 2016
console.c version 3.11 Jan 29, 2015
conspawn.c version 3.09 Nov 28, 2013
control.c version 3.11 Jan 29, 2015
cpu.c version 3.10 Mar 11, 2014
cpuint.h version 3.09 Nov 28, 2013
crypto.c version 3.09 Nov 28, 2013
crypto.h version 3.09 Nov 28, 2013
ctc_ctci.c version 3.11 Jan 29, 2015
ctc_lcs.c version 3.11 Jan 29, 2015
ctcadpt.c version 3.11 Jan 29, 2015
ctcadpt.h version 3.09 Nov 28, 2013
dasdblks.h version 3.10 Mar 11, 2014
dasdcat.c version 3.09 Nov 28, 2013
dasdconv.c version 3.11 Jan 29, 2015
dasdcopy.c version 3.12 Dec 11, 2016
dasdinit.c version 3.09 Nov 28, 2013
dasdisup.c version 3.09 Nov 28, 2013
dasdload.c version 3.12 Dec 11, 2016
dasdls.c version 3.11 Jan 29, 2015
dasdpdsu.c version 3.09 Nov 28, 2013
dasdseq.c version 3.11 Jan 29, 2015
dasdtab.c version 3.09 Nov 28, 2013
dasdtab.h version 3.09 Nov 28, 2013
dasdutil.c version 3.10 Mar 11, 2014
dat.c version 3.09 Nov 28, 2013
dat.h version 3.12 Dec 11, 2016
decimal.c version 3.09 Nov 28, 2013
devtype.h version 3.11 Jan 29, 2015
dfp.c version 3.11 Jan 29, 2015
diagmssf.c version 3.10 Mar 11, 2014
diagnose.c version 3.09 Nov 28, 2013
dmap2hrc.c version 3.09 Nov 28, 2013
dyngui.c version 3.11 Jan 29, 2015
dyninst.c version 3.11 Jan 29, 2015
ecpsvm.c version 3.09 Nov 28, 2013
ecpsvm.h version 3.09 Nov 28, 2013
esa390.h version 3.11 Jan 29, 2015
esame.c version 3.12 Dec 11, 2016
external.c version 3.09 Nov 28, 2013
faketape.c version 3.09 Nov 28, 2013
fbadasd.c version 3.09 Nov 28, 2013
feat370.h version 3.09 Nov 28, 2013
feat390.h version 3.09 Nov 28, 2013
feat900.h version 3.11 Jan 29, 2015
featall.h version 3.09 Nov 28, 2013
featchk.h version 3.11 Jan 29, 2015
feature.h version 3.09 Nov 28, 2013
fillfnam.c version 3.09 Nov 28, 2013
fillfnam.h version 3.09 Nov 28, 2013
float.c version 3.12 Dec 11, 2016
fthreads.c version 3.09 Nov 28, 2013
fthreads.h version 3.09 Nov 28, 2013
general1.c version 3.12 Dec 11, 2016
general2.c version 3.12 Dec 11, 2016
general3.c version 3.11 Jan 29, 2015
getopt.c version 3.09 Nov 28, 2013
getopt.h version 3.09 Nov 28, 2013
hao.c version 3.09 Nov 28, 2013
hbyteswp.h version 3.09 Nov 28, 2013
hchan.c version 3.09 Nov 28, 2013
hchan.h version 3.09 Nov 28, 2013
hconsole.c version 3.09 Nov 28, 2013
hconsole.h version 3.09 Nov 28, 2013
hconsts.h version 3.11 Jan 29, 2015
hdl.c version 3.09 Nov 28, 2013
hdl.h version 3.09 Nov 28, 2013
hdlmain.c version 3.11 Jan 29, 2015
hdteq.c version 3.11 Jan 29, 2015
herc_getopt.h version 3.09 Nov 28, 2013
hercifc.c version 3.09 Nov 28, 2013
hercifc.h version 3.09 Nov 28, 2013
herclin.c version 3.09 Nov 28, 2013
herclogo.txt version 3.07 Jun 19, 2012
hercules.cnf version 3.09 Nov 28, 2013
hercules.h version 3.09 Nov 28, 2013
hercules.ico version 3.04 Jun 19, 2012
hercver.rc version 3.12 Dec 11, 2016
hercwind.h version 3.09 Nov 28, 2013
hetget.c version 3.09 Nov 28, 2013
hetinit.c version 3.09 Nov 28, 2013
hetlib.c version 3.09 Nov 28, 2013
hetlib.h version 3.09 Nov 28, 2013
hetmap.c version 3.11 Jan 29, 2015
hettape.c version 3.09 Nov 28, 2013
hetupd.c version 3.09 Nov 28, 2013
hextapi.h version 3.09 Nov 28, 2013
hexterns.h version 3.09 Nov 28, 2013
history.c version 3.09 Nov 28, 2013
history.h version 3.09 Nov 28, 2013
hmacros.h version 3.11 Jan 29, 2015
hostinfo.c version 3.10 Mar 11, 2014
hostinfo.h version 3.09 Nov 28, 2013
hostopts.h version 3.11 Jan 29, 2015
hsccmd.c version 3.11 Jan 29, 2015
hscmisc.c version 3.12 Dec 11, 2016
hscutl.c version 3.10 Mar 11, 2014
hscutl.h version 3.09 Nov 28, 2013
hscutl2.c version 3.09 Nov 28, 2013
hsocket.c version 3.09 Nov 28, 2013
hsocket.h version 3.09 Nov 28, 2013
hstdinc.h version 3.10 Mar 11, 2014
hstdint.h version 3.09 Nov 28, 2013
hstructs.h version 3.11 Jan 29, 2015
hsys.c version 3.09 Nov 28, 2013
hthreads.h version 3.09 Nov 28, 2013
httpmisc.h version 3.09 Nov 28, 2013
httpserv.c version 3.12 Dec 11, 2016
htypes.h version 3.11 Jan 29, 2015
ieee.c version 3.11 Jan 29, 2015
impl.c version 3.09 Nov 28, 2013
inline.h version 3.09 Nov 28, 2013
io.c version 3.09 Nov 28, 2013
ipl.c version 3.10 Mar 11, 2014
linklist.h version 3.09 Nov 28, 2013
loadparm.c version 3.09 Nov 28, 2013
logger.c version 3.09 Nov 28, 2013
logger.h version 3.09 Nov 28, 2013
logmsg.c version 3.09 Nov 28, 2013
losc.c version 3.09 Nov 28, 2013
ltdl.c version 3.11 Jan 29, 2015
ltdl.h version 3.03 Jun 19, 2012
machchk.c version 3.09 Nov 28, 2013
machdep.h version 3.09 Nov 28, 2013
makefile-dllmod.msvc version 3.09 Nov 28, 2013
makefile.msvc version 3.08 Dec 29, 2012
memrchr.c version 3.09 Nov 28, 2013
memrchr.h version 3.09 Nov 28, 2013
omatape.c version 3.11 Jan 29, 2015
opcode.c version 3.12 Dec 11, 2016
opcode.h version 3.12 Dec 11, 2016
panel.c version 3.10 Mar 11, 2014
parser.c version 3.09 Nov 28, 2013
parser.h version 3.09 Nov 28, 2013
pfpo.c version 3.11 Jan 29, 2015
plo.c version 3.09 Nov 28, 2013
printer.c version 3.12 Dec 11, 2016
pttrace.c version 3.09 Nov 28, 2013
pttrace.h version 3.09 Nov 28, 2013
qdio.c version 3.09 Nov 28, 2013
qeth.c version 3.09 Nov 28, 2013
scedasd.c version 3.09 Nov 28, 2013
scsitape.c version 3.11 Jan 29, 2015
scsitape.h version 3.09 Nov 28, 2013
service.c version 3.12 Dec 11, 2016
service.h version 3.11 Jan 29, 2015
shared.c version 3.11 Jan 29, 2015
shared.h version 3.09 Nov 28, 2013
sie.c version 3.11 Jan 29, 2015
sllib.c version 3.09 Nov 28, 2013
sllib.h version 3.09 Nov 28, 2013
sockdev.c version 3.09 Nov 28, 2013
sockdev.h version 3.09 Nov 28, 2013
sr.c version 3.11 Jan 29, 2015
sr.h version 3.11 Jan 29, 2015
stack.c version 3.09 Nov 28, 2013
strsignal.c version 3.09 Nov 28, 2013
tapeccws.c version 3.11 Jan 29, 2015
tapecopy.c version 3.09 Nov 28, 2013
tapedev.c version 3.11 Jan 29, 2015
tapedev.h version 3.11 Jan 29, 2015
tapemap.c version 3.09 Nov 28, 2013
tapesplt.c version 3.09 Nov 28, 2013
timer.c version 3.09 Nov 28, 2013
trace.c version 3.09 Nov 28, 2013
tt32api.h version 3.07 Jun 19, 2012
tuntap.c version 3.09 Nov 28, 2013
tuntap.h version 3.09 Nov 28, 2013
vector.c version 3.09 Nov 28, 2013
version.c version 3.10 Mar 11, 2014
version.h version 3.12 Dec 11, 2016
vm.c version 3.09 Nov 28, 2013
vmd250.c version 3.11 Jan 29, 2015
vmd250.h version 3.09 Nov 28, 2013
vstore.c version 3.09 Nov 28, 2013
vstore.h version 3.09 Nov 28, 2013
w32chan.c version 3.09 Nov 28, 2013
w32chan.h version 3.09 Nov 28, 2013
w32ctca.c version 3.09 Nov 28, 2013
w32ctca.h version 3.09 Nov 28, 2013
w32dl.h version 3.09 Nov 28, 2013
w32mtio.h version 3.09 Nov 28, 2013
w32stape.c version 3.09 Nov 28, 2013
w32stape.h version 3.09 Nov 28, 2013
w32util.c version 3.09 Nov 28, 2013
w32util.h version 3.09 Nov 28, 2013
xstore.c version 3.09 Nov 28, 2013

README.COMMADPT

Preliminary 2703 BSC Support

Only allows Point to Point connection.


Hercules device statement :

CCUU 2703 lport=port lhost=host rhost=host rport=port dial=IN|OUT|INOUT|NO
          [pto=nnn|0|-1] [rto=nnn|0|-1] [eto=nnn|0|-1]

lport : the local TCP port number or service name on which the line will listen
        for incoming TCP calls
        This parameter is irrelevant and is ignored for DIAL=OUT
        for DIAL=IN|INOUT|NO, this parameter is mandatory

cwlhost : The local interface IP address on which to listen.
        if not specified, all interfaces will be used.
        ex:
        lhost=127.0.0.1 : Only accept calls from local host
        lhost=192.168.0.1 : Only accept calls from hosts
                that can be routed through the interface
                that has an IP address of 192.168.0.1
                If there is no 192.168.0.1 local IP address,
                this will fail.
        This parameter is irrelevant and is ignored for DIAL=OUT
        for DIAL=IN|INOUT|NO, this parameter is mandatory


rhost : the remote host ip address or name
        This parameter is irrelevant and is ignored for DIAL=IN
        for DIAL=OUT|INOUT|NO, this parameter is mandatory

rport : the remote port number or service name
        This parameter is irrelevant and is ignored for DIAL=IN
        for DIAL=OUT|INOUT|NO, this parameter is mandatory

rto, pto, eto : Read, Poll and Enable Timeout values in miliseconds.
        specifying 0 means No Timeout (infinite wait). -1 Means immediate
        timeout.

        The read timeout is how long the handler will wait for an ending
        character after the last character was received or the I/O initiated.
        The read timeout default is 3000 Miliseconds (3 Seconds)

        The poll timeout is how long the handler will wait for a polled
        station to respond to a poll request.
        The poll timeout default is 3000 Miliseconds (3 Seconds)

        The enable timeout is how long the handler will wait for the TCP
        connection to be established.
        The enable timeout default is 10000 Miliseconds (10 Seconds), except
        if DIAL=NO is also specified, in which case the enable timeout defaults
        to 0.

        Note : the ETO parameter is ignored if DIAL=NO is not specified.
               for a dialed line, there is no enable timeout. If the eto
               parameter is specified and DIAL is not "NO", then a warning message
               is issued and the parameter is ignored.


dial=IN|OUT|INOUT|NO
        Indicate call direction (if any).
        This parameter also modifies the behaviour of certain CCWS
        as well as TCP incoming call handling :

        ENABLE :
                DIAL=IN|DIAL=INOUT
                        Wait forever for an incoming call

                DIAL=NO
                        Completes immediatelly if a call
                        is already present
                        Otherwise, attemps connecting to the
                        remote end
                        if the call fails, ENABLE exits with
                        Int Req status
                DIAL=OUT
                        Enable is not a valid CCW for a DIALOUT
                        only line
        DIAL :
                DIAL=IN|DIAL=NO
                        DIAL is not a valid CCW for a DIAL IN
                        or non-switched line
                DIAL=OUT|DIAL=INOUT
                        The outgoing call is attempted

        Incomming TCP call :
                In any case, if a call is already present, the
                call is rejected.

                DIAL=NO :
                        The call is accepted, even if no CCW is
                        currently executing

                DIAL=OUT :
                        The call is rejected

                DIAL=IN|DIAL=INOUT
                        The call is accepted if the line is currently
                        executing an ENABLE ccw.


The communication protocol :

        The communication protocol is basic. Every character written
        by the guest program with a WRITE CCW is transfered to the
        remote end, untranslated and untouched (except for Transparent
        BSC rules which deem that DLE characters are doubled when the
        program has previously written a DLE/STX sequence).


Dial data format

        Dial data is originally as follows :
                x x x x 0 0 0 0 : Dial # 0
                  .........
                x x x x 1 0 0 1 : Dial # 9
                x x x x 1 1 0 0 : EON
                x x x x 1 1 0 1 : SEP

        In order to perform an outgoing call,
        the data must follow these specifications :

        N[N[N]]SEPN[N[N]]SEPN[N[N]]SEPN[N[N]]]SEPN[..[N]][EON]

        Where N is any dialing number from 0 to 9 and SEP
        is the separator.

        The 4 first group of digits represet the IP address.
        The last group represent a TCP port number.

        For example (* is the SEP character representation) :

        192*168*0*1*8888 : will issue a TCP connection to
                           192.168.0.1 port 8888

        The EON is optional. If it is present, it must be the
        last character of the dial data.

Bugs, Caveats

        The Address Prepare is not implemented
        The POLL CCW Has not been tested
        Group DIAL IN is not implemented
        DIAL CCW Not tested
        There is 1 thread per line, when there should be 1 thread for ALL lines.
        MAXDEVT may have to be adjusted under WINDOWS to accomodate for a large number of lines
            (because some I/O may take an undefinite amount of time).
        There is no 'REAL' Bsc line support yet.