1 /* BEGIN INCLUDE FILE ... cmtv.incl.pl1 */
  2 
  3 
  4 
  5 /****^  HISTORY COMMENTS:
  6   1) change(89-03-20,Parisek), approve(89-06-01,MCR8110),
  7      audit(89-10-09,Farley), install(89-10-25,MR12.3-1100):
  8      Add support of protocol mpx.
  9                                                    END HISTORY COMMENTS */
 10 
 11 
 12 /* Created by J. Stern 7/26/78 */
 13 
 14 /* This include file defines the layout of an alm object segment
 15    used as a transfer vector by the channel_manager program.
 16    There is one cmtv entry for each channel type.  Within
 17    each cmtv entry there is one word for each channel_manager
 18    entry point.  This word contains a transfer instruction to
 19    the procedure which implements the function of the given
 20    channel_manager entry point for the given channel type.
 21 */
 22 
 23 
 24 dcl  cmtv$cmtv fixed bin external;                          /* external name of cmtv data base */
 25 
 26 dcl  cmtvp ptr;                                             /* ptr to channel manager transfer vector */
 27 
 28 
 29 dcl 1 cmtv aligned based (cmtvp),                           /* channel manager transfer vector */
 30       2 no_channel_types fixed bin,                         /* number of channel types */
 31       2 pad fixed bin,
 32       2 chan_type_index (0:16) fixed bin,                   /* maps channel type into array index */
 33       2 entries (no_entry_types, 0 refer (cmtv.no_channel_types)) bit (72); /* transfer vector entries */
 34 
 35 
 36 dcl (INIT_CHANNEL init (1),                                 /* entry types */
 37      TERMINATE_CHANNEL init (2),
 38      INIT_MULTIPLEXER init (3),
 39      TERMINATE_MULTIPLEXER init (4),
 40      START init (5),
 41      STOP init (6),
 42      SHUTDOWN init (7),
 43      PRIV_CONTROL init (8),
 44      HPRIV_CONTROL init (9),
 45      READ init (10),
 46      WRITE init (11),
 47      CONTROL init (12),
 48      SET_MODES init (13),
 49      CHECK_MODES init (14),
 50      GET_MODES init (15),
 51      INTERRUPT init (16),
 52      no_entry_types init (16)) fixed bin int static options (constant);
 53 
 54 
 55 /* call init_channel_ev (devx, info_ptr, data_base_ptr, code) */
 56 dcl  init_channel_ev entry (fixed bin, ptr, ptr, fixed bin (35)) variable;
 57 
 58 /* call terminate_channel_ev (data_base_ptr, code) */
 59 dcl  terminate_channel_ev entry (ptr, fixed bin (35)) variable;
 60 
 61 /* call init_multiplexer_ev (devx, mux_init_info_ptr, data_base_ptr, code) */
 62 dcl  init_multiplexer_ev entry (fixed bin, ptr, ptr, fixed bin (35)) variable;
 63 
 64 /* call terminate_multiplexer_ev (data_base_ptr, code) */
 65 dcl  terminate_multiplexer_ev entry (ptr, fixed bin (35)) variable;
 66 
 67 /* call start_ev (data_base_ptr, code) */
 68 dcl  start_ev entry (ptr, fixed bin (35)) variable;
 69 
 70 /* call stop_ev (data_base_ptr, code) */
 71 dcl  stop_ev entry (ptr, fixed bin (35)) variable;
 72 
 73 /* call shutdown_ev (data_base_ptr, code) */
 74 dcl  shutdown_ev entry (ptr, fixed bin (35)) variable;
 75 
 76 /* call priv_control_ev (data_base_ptr, control_type, info_ptr, code) */
 77 dcl  priv_control_ev entry (ptr, char (*), ptr, fixed bin (35)) variable;
 78 
 79 /* call hpriv_control_ev (data_base_ptr, control_type, info_ptr, code) */
 80 dcl  hpriv_control_ev entry (ptr, char (*), ptr, fixed bin (35)) variable;
 81 
 82 /* call read_ev (data_base_ptr, subchan, chain_ptr, more_input_flag, code) */
 83 dcl  read_ev entry (ptr, fixed bin, ptr, bit (1) aligned, fixed bin (35)) variable;
 84 
 85 /* call write_ev (data_base_ptr, subchan, chain_ptr, code) */
 86 dcl  write_ev entry (ptr, fixed bin, ptr, fixed bin (35)) variable;
 87 
 88 /* call control_ev (data_base_ptr, subchan, control_type, info_ptr, code) */
 89 dcl  control_ev entry (ptr, fixed bin, char (*), ptr, fixed bin (35)) variable;
 90 
 91 /* call set_modes_ev (data_base_ptr, subchan, modes_change_list_ptr, code) */
 92 dcl  set_modes_ev entry (ptr, fixed bin, ptr, fixed bin (35)) variable;
 93 
 94 /* call check_modes_ev (data_base_ptr, subchan, modes_change_list_ptr, code) */
 95 dcl  check_modes_ev entry (ptr, fixed bin, ptr, fixed bin (35)) variable;
 96 
 97 /* call get_modes_ev (data_base_ptr, subchan, modes, code) */
 98 dcl  get_modes_ev entry (ptr, fixed bin, char (*), fixed bin (35)) variable;
 99 
100 /* call interrupt_ev (data_base_ptr, int_type, int_data) */
101 dcl  interrupt_ev entry (ptr, fixed bin, bit (72) aligned) variable;
102 
103 
104 /* END INCLUDE FILE ... cmtv.incl.pl1 */