Files
org-hyperion-cules/hdlmain.c
Peter J. Jansen f6cf335fa8 Enhanced CTC emulation via TCP/IP:
Device type CTCE permits channel-to-channel communications across a TCP/IP link between two Hercules systems. Unlike CTCT, CTCE is designed for general purpose payloads and is not restricted to IP traffic.
2014-07-13 01:54:51 -07:00

206 lines
6.4 KiB
C

/* HDLMAIN.C (c) Copyright Jan Jaeger, 2003-2012 */
/* Hercules Dynamic Loader */
#include "hstdinc.h"
#define _HDLMAIN_C_
#define _HERCULES_EXE_
#include "hercules.h"
#include "httpmisc.h"
#if !defined(_GEN_ARCH)
#if defined(_ARCHMODE2)
#define _GEN_ARCH _ARCHMODE2
#include "hdlmain.c"
#endif
#if defined(_ARCHMODE3)
#undef _GEN_ARCH
#define _GEN_ARCH _ARCHMODE3
#include "hdlmain.c"
#endif
#if defined(OPTION_DYNAMIC_LOAD)
/* Following block moved to 'hdl.c' */
/* this is so that */
/* hdlmain.c can be moved to the executable portion */
/* hdl_main can find hdl_preload */
/*
HDLPRE hdl_preload[] = {
{ "hdteq", HDL_LOAD_NOMSG },
{ "dyncrypt", HDL_LOAD_NOMSG },
#if 0
{ "dyn_test1", HDL_LOAD_DEFAULT },
{ "dyn_test2", HDL_LOAD_NOMSG },
{ "dyn_test3", HDL_LOAD_NOMSG | HDL_LOAD_NOUNLOAD },
#endif
{ NULL, 0 } };
*/
HDL_DEPENDENCY_SECTION;
{
HDL_DEPENDENCY(HERCULES);
HDL_DEPENDENCY(REGS);
HDL_DEPENDENCY(DEVBLK);
HDL_DEPENDENCY(SYSBLK);
HDL_DEPENDENCY(WEBBLK);
}
END_DEPENDENCY_SECTION
HDL_REGISTER_SECTION;
{
HDL_REGISTER( parse_args, parse_args );
HDL_REGISTER( panel_command, panel_command_r );
HDL_REGISTER( panel_display, panel_display_r );
HDL_REGISTER( replace_opcode, replace_opcode_r);
HDL_REGISTER( system_command, UNRESOLVED );
HDL_REGISTER( daemon_task, UNRESOLVED );
HDL_REGISTER( debug_cpu_state, UNRESOLVED );
HDL_REGISTER( debug_cd_cmd, UNRESOLVED );
HDL_REGISTER( debug_device_state, UNRESOLVED );
HDL_REGISTER( debug_program_interrupt, UNRESOLVED );
HDL_REGISTER( debug_diagnose, UNRESOLVED );
HDL_REGISTER( debug_iucv, UNRESOLVED );
HDL_REGISTER( debug_sclp_unknown_command, UNRESOLVED );
HDL_REGISTER( debug_sclp_unknown_event, UNRESOLVED );
HDL_REGISTER( debug_sclp_unknown_event_mask, UNRESOLVED );
HDL_REGISTER( debug_sclp_event_data, UNRESOLVED );
HDL_REGISTER( debug_chsc_unknown_request, UNRESOLVED );
HDL_REGISTER( debug_watchdog_signal, UNRESOLVED );
#if defined(OPTION_W32_CTCI)
HDL_REGISTER( debug_tt32_stats, UNRESOLVED );
HDL_REGISTER( debug_tt32_tracing, UNRESOLVED );
#endif
HDL_REGISTER( hdl_device_type_equates, UNRESOLVED );
}
END_REGISTER_SECTION
HDL_RESOLVER_SECTION;
{
HDL_RESOLVE( panel_command );
HDL_RESOLVE( panel_display );
HDL_RESOLVE( replace_opcode );
HDL_RESOLVE( system_command );
HDL_RESOLVE( daemon_task );
HDL_RESOLVE( debug_cpu_state );
HDL_RESOLVE( debug_cd_cmd );
HDL_RESOLVE( debug_device_state );
HDL_RESOLVE( debug_program_interrupt );
HDL_RESOLVE( debug_diagnose );
HDL_RESOLVE( debug_sclp_unknown_command );
HDL_RESOLVE( debug_sclp_unknown_event );
HDL_RESOLVE( debug_sclp_unknown_event_mask );
HDL_RESOLVE( debug_sclp_event_data );
HDL_RESOLVE( debug_chsc_unknown_request );
#if defined(OPTION_W32_CTCI)
HDL_RESOLVE( debug_tt32_stats );
HDL_RESOLVE( debug_tt32_tracing );
#endif
HDL_RESOLVE( hdl_device_type_equates );
}
END_RESOLVER_SECTION
HDL_FINAL_SECTION;
{
system_cleanup();
}
END_FINAL_SECTION
#endif /*defined(OPTION_DYNAMIC_LOAD)*/
HDL_DEVICE_SECTION;
{
#if !defined(OPTION_DYNAMIC_LOAD)
/* TTY consoles */
HDL_DEVICE(1052, constty_device_hndinfo );
HDL_DEVICE(3215, constty_device_hndinfo );
/* 3270 consoles */
HDL_DEVICE(3270, loc3270_device_hndinfo );
HDL_DEVICE(3287, loc3270_device_hndinfo );
HDL_DEVICE(SYSG, loc3270_device_hndinfo );
/* Communication line devices */
HDL_DEVICE(2703, comadpt_device_hndinfo );
/* Card readers */
HDL_DEVICE(1442, cardrdr_device_hndinfo );
HDL_DEVICE(2501, cardrdr_device_hndinfo );
HDL_DEVICE(3505, cardrdr_device_hndinfo );
/* Card punches */
HDL_DEVICE(3525, cardpch_device_hndinfo );
/* Printers */
HDL_DEVICE(1403, printer_device_hndinfo );
HDL_DEVICE(3211, printer_device_hndinfo );
/* Tape drives */
HDL_DEVICE(3410, tapedev_device_hndinfo );
HDL_DEVICE(3411, tapedev_device_hndinfo );
HDL_DEVICE(3420, tapedev_device_hndinfo );
HDL_DEVICE(3480, tapedev_device_hndinfo );
HDL_DEVICE(3490, tapedev_device_hndinfo );
HDL_DEVICE(9347, tapedev_device_hndinfo );
HDL_DEVICE(9348, tapedev_device_hndinfo );
HDL_DEVICE(8809, tapedev_device_hndinfo );
HDL_DEVICE(3422, tapedev_device_hndinfo );
HDL_DEVICE(3430, tapedev_device_hndinfo );
/* Communications devices */
HDL_DEVICE(3088, ctcadpt_device_hndinfo );
HDL_DEVICE(CTCI, ctci_device_hndinfo );
HDL_DEVICE(CTCT, ctct_device_hndinfo );
HDL_DEVICE(CTCE, ctce_device_hndinfo );
HDL_DEVICE(LCS, lcs_device_hndinfo );
HDL_DEVICE(VMNET,vmnet_device_hndinfo );
#if defined(WIN32)
HDL_DEVICE(CTCI-W32, ctci_device_hndinfo);
#endif /*defined(WIN32)*/
HDL_DEVICE(QETH, qeth_device_hndinfo );
HDL_DEVICE(ZFCP, zfcp_device_hndinfo );
HDL_DEVICE(PTP, ptp_device_hndinfo );
#endif /*!defined(OPTION_DYNAMIC_LOAD)*/
/* Count Key Data Direct Access Storage Devices */
HDL_DEVICE(2305, ckddasd_device_hndinfo );
HDL_DEVICE(2311, ckddasd_device_hndinfo );
HDL_DEVICE(2314, ckddasd_device_hndinfo );
HDL_DEVICE(3330, ckddasd_device_hndinfo );
HDL_DEVICE(3340, ckddasd_device_hndinfo );
HDL_DEVICE(3350, ckddasd_device_hndinfo );
HDL_DEVICE(3375, ckddasd_device_hndinfo );
HDL_DEVICE(3380, ckddasd_device_hndinfo );
HDL_DEVICE(3390, ckddasd_device_hndinfo );
HDL_DEVICE(9345, ckddasd_device_hndinfo );
/* Fixed Block Architecture Direct Access Storage Devices */
HDL_DEVICE(0671, fbadasd_device_hndinfo );
HDL_DEVICE(3310, fbadasd_device_hndinfo );
HDL_DEVICE(3370, fbadasd_device_hndinfo );
HDL_DEVICE(9313, fbadasd_device_hndinfo );
HDL_DEVICE(9332, fbadasd_device_hndinfo );
HDL_DEVICE(9335, fbadasd_device_hndinfo );
HDL_DEVICE(9336, fbadasd_device_hndinfo );
}
END_DEVICE_SECTION
#endif /*!defined(_GEN_ARCH)*/