Tree @HEAD (Download .tar.gz)
- ..
- add_inter.c
- aio_shim.c
- anticipatory_freeze.c
- arlinkdbg.h
- ast.h
- auto_zlink.c
- auto_zlink.h
- backup_buffer_flush.c
- bin_load.c
- bit_op.h
- buildaux.csh
- buildaux_dse.csh
- buildaux_gde.csh
- buildaux_gtcm_gnp_server.csh
- buildaux_gtcm_pkdisp.csh
- buildaux_gtcm_play.csh
- buildaux_gtcm_server.csh
- buildaux_gtcm_shmclean.csh
- buildaux_gtmcrypt.csh
- buildaux_gtmsecshr.csh
- buildaux_lke.csh
- buildaux_mupip.csh
- buildbdp.csh
- buildbta.csh
- builddbg.csh
- buildpro.csh
- buildshr.csh
- buildwarn.awk
- buildwarn.csh
- callg.c
- callintogtmxfer.c
- callintogtmxfer.h
- ccp_cluster_lock_wake.c
- ccp_fid_msg.c
- ccp_sendmsg.c
- ccp_userwait.c
- ce_init.c
- ce_substitute.c
- cenable.c
- cenable.h
- ch_cond_core.c
- ch_overrun.c
- change_fhead_timer.c
- check_encrypt_support.sh
- check_utf8_support.csh
- ci_ret_code.c
- clear_cache_array.c
- clear_cache_array.h
- cli.c
- cli.h
- cli_disallow.c
- cli_disallow.h
- cli_lex.c
- cli_parse.c
- cli_parse.h
- cmidefsp.h
- cmistub.c
- cms_load.csh
- cms_load_pre_v42.csh
- comimage.csh
- comlist.csh
- comp_lits.c
- comque.csh
- condstk_expand.c
- configure.gtc
- continue_handler.c
- continue_handler.h
- continue_proc.c
- coverage_cc.sh
- crit_wake.c
- ctrap_set.c
- ctrlc_handler.c
- ctrlc_handler.h
- ctrlc_set.c
- custom_errors_sample.txt
- cvtprot.c
- cvttime.c
- daemon_crit.c
- db_ipcs_reset.c
- db_ipcs_reset.h
- db_read.h
- db_snapshot.h
- db_write.h
- db_write_eof_block.c
- db_write_eof_block.h
- dbfilop.c
- dbinit_ch.c
- dec_err.c
- decomment.m
- deferred_signal_handler.c
- deferred_signal_handler.h
- dircompare.m.txt
- disk_block_available.c
- disk_block_available.h
- dm_audit_log.c
- dm_audit_log.h
- dm_read.c
- do_semop.c
- do_semop.h
- do_shmat.c
- do_shmat.h
- do_verify.c
- do_xform.c
- dollarh.c
- dollarh.h
- dpgbldir_sysops.c
- dpgbldir_sysops.h
- dse.c
- dse_cmd.c
- dse_cmd_disallow.c
- dse_cmd_disallow.h
- dse_ctrlc_handler.c
- dse_help.c
- dse_open.c
- dse_puttime.c
- dse_remove.c
- dsk_read.c
- dsk_write_nocache.c
- eintr_wrapper_semop.h
- encrypt_sign_db_key.sh
- err_init.c
- error_return.c
- errorsp.h
- exi_ch.c
- extract_signal_info.c
- exttab_parse.c
- exttime.c
- f_char.c
- f_piece.c
- fake_enospc.c
- fake_enospc.h
- fgn_getinfo.c
- fgncalsp.h
- file_head_read.c
- file_head_write.c
- file_input.c
- file_input.h
- filestruct.h
- fix_pages.c
- forced_exit_err_display.c
- forced_exit_err_display.h
- fork_init.h
- ftok_sem_get_common.c
- ftok_sem_incrcnt.c
- ftok_sem_incrcnt.h
- ftok_sems.c
- ftok_sems.h
- gbldirnam.h
- gcall.h
- gdedefaults.gtc
- gdeget.m
- gdeput.m
- gdeverif.m
- gds_file_size.c
- gds_rundown.c
- gds_rundown_ch.c
- gds_rundown_err_cleanup.c
- gds_rundown_err_cleanup.h
- gdsfheadsp.h
- gdsfilext.c
- gdsfilext_nojnl.c
- gdsfilext_nojnl.h
- gen_gtm_threadgbl_deftypes.csh
- gen_keypair.sh
- gen_sym_hash.sh
- gen_sym_key.sh
- gen_ttt.csh
- gen_vms_ttt.csh
- gen_xfer_desc.cmake
- gen_xfer_desc.csh
- generate_help.csh
- generic_signal_handler.c
- generic_signal_handler.h
- gengtmdeftypes.csh
- genpat.c
- get_command_line.c
- get_full_path.c
- get_page_size.c
- get_src_line.c
- get_ztimeout.c
- getcaps.c
- getcaps.h
- geteditor.c
- geteditor.h
- getjobnum.c
- getmaxfds.c
- getmaxfds.h
- getstorage.c
- getzmode.c
- getzprocess.c
- go_load.c
- golevel.c
- goq_load.c
- gpgagent.tab.in
- grab_crit.c
- grab_crit_encr_cycle_sync.c
- grab_crit_immediate.c
- grab_latch.c
- grab_lock.c
- gse.mpt
- gt_ar.csh
- gt_as.csh
- gt_cc.csh
- gt_timer.h
- gt_timers.c
- gt_timers_add_safe_hndlrs.c
- gt_timers_add_safe_hndlrs.h
- gtcmstub.c
- gtcmtrstub.c
- gtm.c
- gtm.gtc
- gtm_aio.h
- gtm_asm_establish.c
- gtm_bintim.c
- gtm_c_stack_trace.c
- gtm_c_stack_trace_semop.c
- gtm_c_stack_trace_semop.h
- gtm_compare_dir.csh
- gtm_compile.c
- gtm_compile.h
- gtm_confstr.c
- gtm_conv.c
- gtm_conv.h
- gtm_conv_init.c
- gtm_cshrc.csh
- gtm_dbjnl_dupfd_check.c
- gtm_dbjnl_dupfd_check.h
- gtm_descript.h
- gtm_dump.c
- gtm_dump_core.c
- gtm_env.csh
- gtm_env_init_sp.c
- gtm_env_translate.c
- gtm_exit_handler.c
- gtm_exit_handler.h
- gtm_fd_trace.c
- gtm_file_remove.c
- gtm_file_stat.c
- gtm_filter_command.c
- gtm_filter_command.h
- gtm_fork_n_core.c
- gtm_ftok.c
- gtm_getmsg.c
- gtm_getpwuid.c
- gtm_icu.c
- gtm_icu.h
- gtm_icu_api.h
- gtm_image_exit.c
- gtm_init_env.c
- gtm_ipc.h
- gtm_is_main_thread.c
- gtm_isanlp.c
- gtm_isanlp.h
- gtm_logicals.h
- gtm_main.c
- gtm_main.h
- gtm_multi_proc.c
- gtm_multi_proc.h
- gtm_multi_thread.c
- gtm_multi_thread.h
- gtm_permissions.c
- gtm_permissions.h
- gtm_pipe.c
- gtm_pipe.h
- gtm_poll.h
- gtm_post_startup_check_init.c
- gtm_post_startup_check_init.h
- gtm_pthread.h
- gtm_pthread_init_key.c
- gtm_pthread_init_key.h
- gtm_putmsg.c
- gtm_putmsg_list.c
- gtm_rel_quant.h
- gtm_rename.c
- gtm_repl_multi_inst.h
- gtm_sem.h
- gtm_semaphore.h
- gtm_semutils.c
- gtm_semutils.h
- gtm_signal.h
- gtm_startup.c
- gtm_startup.h
- gtm_startup_chk.c
- gtm_startup_chk.h
- gtm_statvfs.h
- gtm_stdio.c
- gtm_stdio.h
- gtm_syslog.h
- gtm_system.c
- gtm_term.h
- gtm_termios.h
- gtm_test_install.csh
- gtm_test_install.txt
- gtm_text_alloc.c
- gtm_threadgbl_asm_access.txt
- gtm_threadgbl_deftypes_asm.si
- gtm_times.h
- gtm_tls.c
- gtm_tls.h
- gtm_tls_funclist.h
- gtm_tls_impl.c
- gtm_tls_impl.h
- gtm_tls_interface.h
- gtm_tls_loadlibrary.c
- gtm_tparm.c
- gtm_tparm.h
- gtm_tputs.c
- gtm_tputs.h
- gtm_trigger.c
- gtm_trigger.h
- gtm_trigger_trc.h
- gtm_ulimit.h
- gtm_unique_file_util.c
- gtm_unlink_all.c
- gtm_unlink_all.h
- gtm_utf8.c
- gtm_utf8.h
- gtm_version_dirname.csh
- gtm_version_dirname.sed
- gtm_wake.c
- gtm_zlib.c
- gtm_zlib.h
- gtmbase.gtc
- gtmci.c
- gtmci.h
- gtmci_ch.c
- gtmci_isv.c
- gtmci_signals.c
- gtmci_signals.h
- gtmcrypt.h
- gtmcrypt_dbk_ref.c
- gtmcrypt_dbk_ref.h
- gtmcrypt_entry.c
- gtmcrypt_funclist.h
- gtmcrypt_interface.h
- gtmcrypt_pk_ref.c
- gtmcrypt_pk_ref.h
- gtmcrypt_ref.c
- gtmcrypt_ref.h
- gtmcrypt_sym_ref.c
- gtmcrypt_sym_ref.h
- gtmcrypt_util.c
- gtmcrypt_util.h
- gtmcshrc.gtc
- gtmdbgflags.h
- gtmdef.csh
- gtmdefinedtypestodb.m
- gtmexcludetypelist.txt
- gtmexe_symbols.exp
- gtmgblstat.c
- gtmgblstat.h
- gtmgblstat.xc
- gtmhelp.m
- gtmhlpld.m
- gtminstall.sh
- gtmio.h
- gtmio_ch.c
- gtmlink.c
- gtmlink.h
- gtmpcat_sh.txt
- gtmprofile.gtc
- gtmprofile_preV54000.gtc
- gtmrecv.c
- gtmrecv.h
- gtmrecv_end.c
- gtmrecv_fetchresync.c
- gtmrecv_poll_actions.c
- gtmrecv_process.c
- gtmrecv_shutdown.c
- gtmrecv_stopfilter.c
- gtmsecshr.c
- gtmsecshr.h
- gtmsecshr_sock_cleanup.c
- gtmsecshr_sock_init.c
- gtmsecshr_wrapper.c
- gtmshr_symbols.exp
- gtmsiginfo.h
- gtmsource.c
- gtmsource.h
- gtmsource_changelog.c
- gtmsource_checkforbacklog.c
- gtmsource_checkhealth.c
- gtmsource_end.c
- gtmsource_flush_fh.c
- gtmsource_freeze.c
- gtmsource_get_opt.c
- gtmsource_heartbeat.c
- gtmsource_inline.h
- gtmsource_jnl_release_timer.c
- gtmsource_jnlpool.c
- gtmsource_losttncomplete.c
- gtmsource_mode_change.c
- gtmsource_needrestart.c
- gtmsource_onln_rlbk_clnup.c
- gtmsource_process.c
- gtmsource_process_ops.c
- gtmsource_readfiles.c
- gtmsource_readpool.c
- gtmsource_rootprimary_init.c
- gtmsource_seqno_init.c
- gtmsource_showbacklog.c
- gtmsource_shutdown.c
- gtmsource_srv_latch.c
- gtmsource_srv_latch.h
- gtmsource_statslog.c
- gtmsource_stopfilter.c
- gtmsrc.csh
- gtmstart.gtc
- gtmstop.gtc
- gtmthreadgblasm.m
- gtmxc_types.h
- gv_trig_cmd_table.h
- gv_trigger.c
- gv_trigger.h
- gv_trigger_protos.h
- gvcmx_canremlk_stub.c
- gvcmx_reqremlk_stub.c
- gvcmx_resremlk_stub.c
- gvcmx_susremlk_stub.c
- gvcmy_open.h
- gvcmz_bunch_stub.c
- gvcmz_error_stub.c
- gvcmz_neterr_stub.c
- gvcmz_zflush_stub.c
- gvcst_init_sysops.c
- gvcst_spr_data.c
- gvcst_spr_kill.c
- gvcst_spr_order.c
- gvcst_spr_query.c
- gvcst_spr_queryget.c
- gvcst_spr_zprevious.c
- gvusr.c
- hex2utf.mpt
- hugetlbfs_overrides.c
- hugetlbfs_overrides.h
- import_and_sign_key.sh
- incr_link.c
- incr_link.h
- init_gtm.c
- install_debug_symbols_sh.txt
- install_gtmpcat_sh.txt
- interlock.h
- invocation_mode.h
- io_get_fgn_driver.c
- io_init_name.c
- io_is_rm.c
- io_is_sn.c
- io_open_try.c
- io_type.c
- iob.h
- iob_close.c
- iob_flush.c
- iob_open_rd.c
- iob_open_wt.c
- iob_read.c
- iob_write.c
- ioff_open.c
- iopi_iocontrol.c
- iopi_open.c
- iorm_close.c
- iorm_flush.c
- iorm_get.c
- iorm_open.c
- iorm_rdone.c
- iorm_read.c
- iorm_readfl.c
- iorm_use.c
- iorm_write.c
- iorm_wteol.c
- iormdef.h
- iosize.h
- iosocket_pass_local.c
- iosocket_tls.c
- iosp.h
- iott_close.c
- iott_edit.c
- iott_edit.h
- iott_flush.c
- iott_flush_time.h
- iott_iocontrol.c
- iott_open.c
- iott_rdone.c
- iott_read.c
- iott_readfl.c
- iott_use.c
- iott_write.c
- iottdef.h
- iottdefsp.h
- ious_iocontrol.c
- ious_open.c
- ious_rdone.c
- ious_read.c
- ious_readfl.c
- ious_write.c
- ious_wtone.c
- ipcrmid.c
- ipcrmid.h
- is_file_identical.c
- is_fstype_nfs.c
- is_fstype_nfs.h
- is_icu_symbol_rename.csh
- is_proc_alive.c
- is_raw_dev.c
- is_raw_dev.h
- jnl_file_close_timer.c
- jnl_file_close_timer.h
- jnl_file_extend.c
- jnl_file_open.c
- jnl_fsync.c
- jnl_output_sp.c
- jnl_prc_vector.c
- jnlext_merge_sort_prepare.c
- jnlext_write.c
- jnlpool_init.c
- jnlsp.h
- jobchild_init.c
- jobchild_init.h
- joberr.h
- jobexam_signal_handler.c
- jobexam_signal_handler.h
- jobsp.h
- kitstart.csh
- laberror.c
- lib_list_ar.sed
- lib_list_lint.sed
- libdse.list
- liblke.list
- libmupip.list
- libstub.list
- lintgtm.csh
- lintimage.csh
- linuxi686_badd.txt
- list_file.c
- lke.c
- lke_cmd.c
- lke_cmd_disallow.c
- lke_cmd_disallow.h
- lke_ctrlc_handler.c
- lke_fileio.c
- lke_fileio.h
- lke_getansw.c
- lke_help.c
- load.h
- lockdefs.h
- lowerc_cp.sh
- lref_parse.c
- m_zrupdate.c
- m_ztrigger.c
- make_cimode.c
- make_dmode.c
- make_mode.c
- make_mode.h
- Makefile.mk
- map_sym.c
- maskpass.c
- mdefsa.h
- mdefsp.h
- mem_access.c
- memprot.c
- memprot.h
- mkutf8dir.csh
- mmrhash.c
- mmrhash.h
- msg.h
- mu_all_version_standalone.c
- mu_all_version_standalone.h
- mu_cre_file.c
- mu_cre_structs.c
- mu_cre_structs.h
- mu_decrypt.c
- mu_decrypt.h
- mu_extract.c
- mu_getkey.c
- mu_getkey.h
- mu_getlst.c
- mu_gvis.c
- mu_int_ch.c
- mu_op_open.c
- mu_op_open.h
- mu_outofband_setup.c
- mu_replpool_grab_sem.c
- mu_replpool_release_sem.c
- mu_rndwn_all.c
- mu_rndwn_all.h
- mu_rndwn_file.c
- mu_rndwn_file.h
- mu_rndwn_repl_instance.c
- mu_rndwn_repl_instance.h
- mu_rndwn_replpool.c
- mu_rndwn_replpool.h
- mu_rndwn_rlnkctl.c
- mu_rndwn_rlnkctl.h
- mu_signal_process.c
- mu_size_arsample.c
- mu_size_impsample.c
- mu_size_scan.c
- mu_swap_root.c
- mu_term_setup.c
- mu_term_setup.h
- mu_trig_trgfile.c
- mu_trig_trgfile.h
- mu_truncate.c
- mu_truncate.h
- mu_upgrd_sig_init.h
- mubexpfilnam.c
- mubfilcpy.c
- mubgetfil.c
- mubinccpy.c
- mucblkini.c
- mumps.cmake
- mumps_clitab.c
- mup_bak_sys.c
- mupip.c
- mupip_cmd.c
- mupip_cmd_disallow.c
- mupip_cmd_disallow.h
- mupip_crypt.c
- mupip_crypt.h
- mupip_ctrl.c
- mupip_ctrl.h
- mupip_cvtgbl.c
- mupip_cvtpgm.c
- mupip_dump_fhead.c
- mupip_dump_fhead.h
- mupip_endiancvt.c
- mupip_endiancvt.h
- mupip_exit.c
- mupip_exit_handler.c
- mupip_ftok.c
- mupip_ftok.h
- mupip_hash.c
- mupip_hash.h
- mupip_help.c
- mupip_load_reg_list.c
- mupip_load_reg_list.h
- mupip_load_triggerfile.h
- mupip_quit.c
- mupip_rctldump.c
- mupip_rctldump.h
- mupip_reorg_encrypt.c
- mupip_reorg_encrypt.h
- mupip_restore.c
- mupip_rundown.c
- mupip_sems.c
- mupip_sems.h
- mupip_set_file.c
- mupip_set_jnlfile.c
- mupip_size.c
- mupip_size.h
- mupip_trigger.c
- mupip_trigger.h
- mupip_upgrade_standalone.c
- mupip_upgrade_standalone.h
- muprecsp.h
- mur_cre_file_extfmt.c
- mur_read_file_sp.c
- murgetlst.c
- mutex.c
- mutex_sock_cleanup.c
- mutex_sock_init.c
- mutex_wake_proc.c
- mutexsp.h
- obj_code.c
- obj_file.c
- obj_filesp.h
- obj_fileu.c
- offset.awk
- offset.csh
- ojchildioclean.c
- ojchildioset.c
- ojchildparms.c
- ojchkfs.c
- ojparams.c
- ojstartchild.c
- op_currhd.c
- op_fgnlookup.c
- op_fnextract.c
- op_fnextract.h
- op_fnfgncal.c
- op_fngetdvi.c
- op_fngetjpi.c
- op_fngetlki.c
- op_fngetsyi.c
- op_fnp1.c
- op_fnpiece.c
- op_fnpopulation.c
- op_fnrandom.c
- op_fnzcall.c
- op_fnzconvert.c
- op_fnzfile.c
- op_fnzlkid.c
- op_fnzparse.c
- op_fnzpeek.c
- op_fnzpid.c
- op_fnzpriv.c
- op_fnzsearch.c
- op_fnzsetprv.c
- op_fnzsyslog.c
- op_fnztrnlnm.c
- op_job.c
- op_setextract.c
- op_setp1.c
- op_setpiece.c
- op_zattach.c
- op_zedit.c
- op_zhelp_xfr.c
- op_zhorolog.c
- op_zlink.c
- op_zmess.c
- op_zrupdate.c
- op_ztrigger.c
- op_zut.c
- outc.c
- parse_file.c
- parse_file.h
- peekbyname.mpt
- pinentry-gtm.sh
- pinentry.m
- pipeint_stats.c
- pipeint_stats.h
- probecrit_rec.h
- proc_wait_stat.c
- proc_wait_stat.h
- process_reorg_encrypt_restart.c
- process_reorg_encrypt_restart.h
- put_cdidx.c
- random.c
- random.h
- rc.h
- rc_cpt.h
- rc_cpt_ops.c
- recover_truncate.c
- recover_truncate.h
- recvpool_init.c
- reg_cmcheck.c
- rel_crit.c
- rel_latch.c
- rel_lock.c
- rel_quant.c
- relinkctl.c
- relinkctl.h
- remove_rms.c
- repl_inst_create.c
- repl_inst_dump.c
- repl_inst_dump.h
- repl_inst_edit.c
- repl_inst_ftok_counter_halted.c
- repl_inst_ftok_counter_halted.h
- repl_instance.c
- repl_instance.h
- repl_ipc_cleanup.c
- repl_log.c
- repl_log_init.c
- repl_logfileinfo_get.c
- repl_msg.h
- repl_sem.c
- repl_sem.h
- repl_sem_sp.h
- repl_sp.h
- resetterm.c
- rmv_mul_slsh.c
- rmv_mul_slsh.h
- rtnhdr.h
- rtnobj.c
- rtnobj.h
- rts_error.c
- runall.csh
- runall_cc_many.csh
- runall_cc_one.csh
- same_device_check.c
- scantypedefs.m
- secshr_client.c
- secshr_client.h
- send_msg.c
- set_jnl_file_close.c
- set_library_path.csh
- set_num_additional_processors.c
- set_zstatus.c
- setactive.csh
- setterm.c
- sgtm_putmsg.c
- show_install_config.sh
- sig_init.c
- sig_init.h
- simple_timeout_timer.c
- sleep.c
- sleep.h
- source_file.c
- ss_anal_shdw_file.c
- ss_context_mgr.c
- ss_get_block.c
- ss_initiate.c
- ss_lock_facility.c
- ss_lock_facility.h
- ss_read_block.c
- ss_release.c
- ss_shdw_mgr.c
- ss_write_block.c
- std_dev_outbndset.c
- stop_image.c
- stop_image_ch.c
- str_match.c
- str_match.h
- stripmine.awk
- suspend.c
- suspsigs_handler.c
- suspsigs_handler.h
- t_recycled2free.c
- t_recycled2free.h
- tab_probecrit_rec.h
- term_setup.c
- timersp.h
- trans_log_name.c
- trigger.h
- trigger_cmd.c
- trigger_compare.c
- trigger_compare_protos.h
- trigger_delete.c
- trigger_delete_protos.h
- trigger_fill_xecute_buffer.c
- trigger_fill_xecute_buffer.h
- trigger_gbl_fill_xecute_buffer.c
- trigger_gbl_fill_xecute_buffer.h
- trigger_incr_cycle.c
- trigger_incr_cycle.h
- trigger_locate_andor_load.c
- trigger_parse.c
- trigger_parse_protos.h
- trigger_read_andor_locate.h
- trigger_scan_string.c
- trigger_scan_string.h
- trigger_select.c
- trigger_select_protos.h
- trigger_source_read_andor_verify.c
- trigger_subs_def.h
- trigger_tpwrap_ch.c
- trigger_trgfile.c
- trigger_trgfile_protos.h
- trigger_update.c
- trigger_update_protos.h
- trigger_upgrade.c
- trigger_upgrade_protos.h
- trigger_user_name.c
- trigger_user_name.h
- trmdef.h
- ttt.txt
- upd_log_init.c
- urx_remove.c
- utf2hex.mpt
- utfcgr.c
- utfcgr.h
- utfcgr_trc.h
- util_exit_handler.c
- util_help.c
- util_help.h
- util_in_open.c
- util_input.c
- util_out_print_gtmio.c
- util_out_print_vaparm.h
- util_output.c
- util_output_cm.c
- util_spawn.c
- v15_filestruct.h
- versions.csh
- wait_for_disk_space.c
- wait_for_disk_space.h
- warn_db_sz.c
- warn_db_sz.h
- wcs_clean_dbsync.c
- wcs_clean_dbsync.h
- wcs_clean_dbsync_timer.c
- wcs_flu.c
- wcs_get_space.c
- wcs_write_in_progress_wait.c
- wcs_write_in_progress_wait.h
- wcs_wt.h
- wcs_wt_restart.c
- wcs_wterror.c
- wcs_wtfini.c
- wcs_wtfini_nocrit.c
- wcs_wtstart.c
- wcs_wtstart_fini.c
- xtrgtmtypes.awk
- ygblstat.mpt
- zbreaksp.h
- zcall_package.c
- zcall_package.h
- zhist.c
- zl_cmd_qlf.c
- zlmov_lnames.c
- zro_gettok.c
- zro_load.c
- zro_search.c
- zro_shlibs.c
- zro_shlibs.h
- zroutinessp.h
- zshow_devices.c
- zshow_rctldump.c
- zshow_zcalls.c
- ztimeout_routines.c
- ztimeout_routines.h
cmidefsp.h @HEAD — raw · history · blame
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 | /**************************************************************** * * * Copyright (c) 2001-2018 Fidelity National Information * * Services, Inc. and/or its subsidiaries. All rights reserved. * * * * This source code contains the intellectual property * * of its copyright holder(s), and is made available * * under a license. If you do not know the terms of * * the license, please stop and do not read further. * * * ****************************************************************/ #ifndef CMIDEFSP_H_INCLUDED #define CMIDEFSP_H_INCLUDED #define GTCM_SERVER_NAME "gtcm_gnp_server" /* Service provider - for getservbyname */ #define GTCM_SERVER_PROTOCOL "tcp" /* Service provider - for getservbyname */ #define MAX_CONN_IND 5 /* Max. simultaneous conn. requests for listen */ #define CMM_MIN_PEER_LEVEL "200" /* * Reason codes -> cooresponds to MSG$ codes * * It is anticipated that a VAX implementation would * just defined the CMI_REASON_* to be the MSG$* codes * */ error_def(CMI_REASON_DISCON); error_def(CMI_REASON_ABORT); error_def(CMI_REASON_EXIT); error_def(CMI_REASON_PATHLOST); error_def(CMI_REASON_PROTOCOL); error_def(CMI_REASON_THIRDPARTY); error_def(CMI_REASON_TIMEOUT); error_def(CMI_REASON_NETSHUT); error_def(CMI_REASON_REJECT); error_def(CMI_REASON_OVERRUN); error_def(CMI_REASON_STATUS); error_def(CMI_REASON_CONFIRM); #define CMI_REASON_IODONE 0 #define CMI_REASON_INTMSG 1 #define CMI_REASON_CONNECT 2 #define CMI_IO_WOULDBLOCK(iostatus) (EWOULDBLOCK == (iostatus) || EAGAIN == (iostatus)) typedef que_head relque; typedef int4 cmi_status_t; typedef uint4 cmi_reason_t; typedef int cmi_unit_t; /* For UNIX just use an mstr */ typedef mstr cmi_descriptor; #define CMI_DESC_LENGTH(DESC) ((unsigned)(DESC)->len) #define CMI_DESC_SET_LENGTH(DESC, LEN) (DESC)->len = (LEN) #define CMI_DESC_POINTER(DESC) ((DESC)->addr) #define CMI_DESC_SET_POINTER(DESC,PTR) (DESC)->addr = (PTR) #define CMI_DESC_CONST(DESC,LIT) (DESC)->len = strlen(LEN);(DESC)->addr = (LIT) #define CMI_DESC_DEF(DESC,STR,LEN) (DESC)->len = (LEN);(DESC)->addr = (STR) #include <signal.h> #include "gtm_unistd.h" #include "gtm_netdb.h" #include "gtm_socket.h" /* for sockaddr_storage */ #include "gtm_signal.h" typedef struct { unsigned short xfer_count; /* length of currently processed packet * only valid on read if len_len is 2 */ int len_len; /* used to track length byte I/O */ union { /* buffer for read/write of length */ unsigned short len; /* Total length of the packet. IMPORTANT : length of a packet is always sent in network byte */ char lenbuf[2]; /* order. We maintain len in network byte order until the length bytes are successfully sent. */ } u; /* Thereafter we convert len back to host byte order to correctly track bytes yet to be sent. */ } qio_iosb; typedef struct clb_stat_struct { struct { uint4 msgs,errors,bytes,last_error; } read,write; } clb_stat; /* * Individual link connections doubly linked list */ #include "gtm_inet.h" #ifdef __MVS__ /* need fd_set */ #include <sys/time.h> #endif struct CLB { que_ent cqe; /* forward/backward links */ struct NTD *ntd; /* back pointer to ntd */ cmi_descriptor nod; /* node */ cmi_descriptor tnd; /* taskname */ struct sockaddr_storage peer_sas; /* peer */ struct addrinfo peer_ai; /* peer */ int mun; /* endpoint's file descriptor */ void *usr; /* client specific storage */ qio_iosb ios; /* used for tracking inprocess I/O */ unsigned short cbl; /* number of bytes read */ unsigned short mbl; /* max size buffer */ unsigned char *mbf; /* pointer to buffer */ unsigned char urgdata; /* buffer for urgent data */ int fd_async; /* TRUE --> fd is in async mode */ int deferred_event; /* TRUE --> deferred event signaled */ cmi_reason_t deferred_reason; /* reason for deferred event */ cmi_status_t deferred_status; /* status for deferred event */ int sta; /* CM_ state */ int prev_sta; /* CM_ state before URG WRITE, to be restored after URG WRITE completes */ void (*err)(struct CLB *); /* link status error callback - not used */ void (*ast)(struct CLB *); /* I/O call back for async read/write */ struct clb_stat_struct stt; }; typedef struct CLB clb_struct; struct NTD { que_ent cqh; /* queue of open CLB's */ que_ent cqh_free; /* free list of clbs */ boolean_t freelist_dirty; /* TRUE --> a clb has been inserted */ /* exception callback */ void (*err)(struct NTD*, struct CLB *, cmi_reason_t); /* link status error callback */ void (*crq)(struct CLB *); /* connect request callback */ bool (*acc)(struct CLB *); /* accept connect callback */ /* callback for urgent data */ void (*urg)(struct CLB *, unsigned char data); void (*trc)(struct CLB *,int, unsigned char *, size_t); int listen_fd; /* Server's listen file descriptor */ fd_set rs,ws,es; /* select I/O sets */ int max_fd; /* largest fd - for select processing*/ VSIG_ATOMIC_T sigio_interrupt; VSIG_ATOMIC_T sigurg_interrupt; /* for mutex processing - use mutex_set set to block. * mutex_set - used in sigprocmask to block * used in sigsuspend, sigprocmask to restore to prior */ sigset_t mutex_set; /* set of signals to block */ size_t pool_size; /* cmi_init specified pool size */ /* This is zero for clients */ size_t free_count; /* # of items on free list */ size_t usr_size; /* usr size from cmi_init */ size_t mbl; /* initial mbf from cmi_init */ }; #include "iosp.h" #define RELQUE2PTR(X) (void_ptr_t)(((unsigned char *) &(X)) + ((int4) (X))) #define CMI_ERROR(s) ((s) != SS_NORMAL) #define CMI_CLB_IOSTATUS(c) ((c)->deferred_status) #define CMI_CLB_ERROR(c) (CMI_ERROR(CMI_CLB_IOSTATUS(c))) #define CMI_MAKE_STATUS(s) (s) #define CMI_MUTEX_DECL(RC) sigset_t cmi_oset_prev; int RC #define CMI_MUTEX_BLOCK(RC) SIGPROCMASK(SIG_BLOCK, &ntd_root->mutex_set, &cmi_oset_prev, RC) #define CMI_MUTEX_RESTORE(RC) SIGPROCMASK(SIG_SETMASK, &cmi_oset_prev, NULL, RC) /* All TCP/IP GNP messages have a 2 byte length before the message itself */ #define CMI_TCP_PREFIX_LEN 2 #define ALIGN_QUAD /**/ void cmi_dprint(char *cs, ...); #ifdef DEBUG GBLREF int cmi_debug_enabled; #define CMI_DPRINT(x) if (cmi_debug_enabled) cmi_dprint x; else; #else #define CMI_DPRINT(x) /**/ #endif #define CM_URGDATA_OFFSET 5 #define CM_URGDATA_LEN 1 #define cmi_write_int(clbp) cmi_write_urg((clbp), *(clbp)->mbf) #define CMI_IDLE(milliseconds) cmi_idle((milliseconds)) /* UNIX specific cmj_ routines */ cmi_status_t cmj_set_async(int fd); int cmj_reset_async(int fd); cmi_status_t cmj_clb_set_async(struct CLB *lnk); cmi_status_t cmj_clb_reset_async(struct CLB *lnk); void cmj_err(struct CLB *lnk, cmi_reason_t reason, cmi_status_t status); void cmj_exception_interrupt(struct CLB *lnk, int signo); void cmj_fini(struct CLB *lnk); int cmj_firstone(fd_set *s, int n); struct CLB *cmj_getdeferred(struct NTD *tsk); void cmj_handler(int signo, siginfo_t *info, void *context); void cmj_housekeeping(void); void cmj_incoming_call(struct NTD *tsk); cmi_status_t cmj_netinit(void); cmi_status_t cmj_postevent(struct CLB *lnk); cmi_status_t cmj_read_start(struct CLB *lnk); void cmj_read_interrupt(struct CLB *lnk, int signo); void cmj_select(int signo); cmi_status_t cmj_setupfd(int fd); struct CLB *cmj_unit2clb(struct NTD *tsk, cmi_unit_t unit); cmi_status_t cmj_write_start(struct CLB *lnk); cmi_status_t cmj_write_urg_start(struct CLB *lnk); void cmj_write_interrupt(struct CLB *lnk, int signo); void cmj_init_clb(struct NTD *tsk, struct CLB *lnk); cmi_status_t cmj_getsockaddr(cmi_descriptor *nod, cmi_descriptor *tnd, struct addrinfo **ai_ptr); cmi_status_t cmi_write_urg(struct CLB *c, unsigned char data); cmi_status_t cmi_init( cmi_descriptor *tnd, unsigned char tnr, void (*err)(struct NTD *ntd, struct CLB *c, cmi_reason_t reason), void (*crq)(struct CLB *c), bool (*acc)(struct CLB *c), void (*urg)(struct CLB *c, unsigned char data), size_t pool_size, size_t usr_size, size_t mbl); void cmi_idle(uint4 hiber); void cmi_free_clb(struct CLB *c); struct CLB *cmi_alloc_clb(void); unsigned char *cmi_realloc_mbf(struct CLB *lnk, size_t new_size); void cmi_peer_info(struct CLB *lnk, char *buf, size_t sz); #endif |