1 /* BEGIN INCLUDE FILE ... mseg_entries.incl.pl1 */
  2 /* Created:  April 1985 by G. Palter */
  3 
  4 /* format: style3,linecom,idind30 */
  5 
  6 /* Message segment primitive operations --
  7 
  8    The first argument of all of these entrypoints is a pointer to the mseg_operation describing the segment and, when
  9    appropriate, the message to be manipulated by the operation.  (See mseg_operation.incl.pl1 for additional information.)
 10 
 11    The last argument is always a standard system status code.
 12 
 13    For each operation defined below, the fields in the mseg_operation which must be supplied by the caller are listed
 14    along with a brief description of the additional arguments, if any.  For greater detail on the use of these
 15    entrypoints, refer to mseg_mbx_ms_gate_target_.pl1 which is the classic user of these entrypoints. */
 16 
 17 
 18 declare
 19      /*** Add (or update) ACL entries -- OP.mseg_pathname; general_extended_acl_ptr (I) */
 20           mseg_$add_acl_entries_seg     entry (pointer, pointer, fixed binary (35));
 21 
 22 declare
 23      /*** Add a message -- OP.mseg_ptr, OP.access_info, OP.message_info */
 24           mseg_$add_message             entry (pointer, fixed binary (35));
 25 
 26 declare
 27      /*** Change the names -- OP.mseg_pathname or OP.mseg_ptr; old_name_to_delete (I), new_name_to_add (I) */
 28           mseg_$chname_seg              entry (pointer, character (*), character (*), fixed binary (35));
 29 
 30 declare
 31      /*** Close the segment -- OP.mseg_ptr (optional), OP.mseg_index (optional); mseg_index_table_ptr (I/O)
 32                mseg_index_table_ptr must be an internal/external static variable initialized once per-process to null() */
 33           mseg_$close_seg               entry (pointer, pointer, fixed binary (35));
 34 
 35 declare
 36      /*** Compact the segment -- OP.mseg_ptr; compaction_ratio (I) */
 37           mseg_$compact_seg             entry (pointer, float binary, fixed binary (35));
 38 
 39 declare
 40      /*** Copy the segment -- OP.mseg_ptr; target_mseg_operation_ptr (I) (TOP.mseg_ptr), error_on_target (O) */
 41           mseg_$copy_seg                entry (pointer, pointer, bit (1) aligned, fixed binary (35));
 42 
 43 declare
 44      /*** Count the accessible messages -- OP.mseg_ptr, OP.access_info; n_messages (O) */
 45           mseg_$count_messages          entry (pointer, fixed binary, fixed binary (35));
 46 
 47 declare
 48      /*** Create the segment -- OP.mseg_pathname; general_extended_acl_ptr (I) --
 49                If general_extended_acl_ptr is null, the default ACL for the type of segment to be created will be used */
 50           mseg_$create_seg              entry (pointer, pointer, fixed binary (35));
 51 
 52 declare
 53      /*** Delete ACL entries -- OP.mseg_pathname; general_delete_acl_ptr (I) --
 54                If general_delete_acl_ptr is null, the entire ACL will be deleted */
 55           mseg_$delete_acl_entries_seg  entry (pointer, pointer, fixed binary (35));
 56 
 57 declare
 58      /*** Delete a message -- OP.mseg_ptr, OP.access_info, OP.message_info */
 59           mseg_$delete_message          entry (pointer, fixed binary (35));
 60 
 61 declare
 62      /*** Delete the segment -- OP.mseg_ptr (surprise); mseg_index_table_ptr (I/O)
 63                mseg_index_table_ptr must be an internal/external static variable initialized once per-process to null() */
 64           mseg_$delete_seg              entry (pointer, pointer, fixed binary (35));
 65 
 66 declare
 67      /*** Get the salvaged flag -- OP.mseg_ptr; segment_was_salvaged (O) */
 68           mseg_$get_salvaged_flag_seg   entry (pointer, bit (1) aligned, fixed binary (35));
 69 
 70 declare
 71      /*** Get the wakeup acceptance state -- OP.mseg_ptr, OP.wakeup_state.version */
 72           mseg_$get_wakeup_state_seg    entry (pointer, fixed binary (35));
 73 
 74 declare
 75      /*** Initiate the segment -- OP.mseg_pathname */
 76           mseg_$initiate_seg            entry (pointer, fixed binary (35));
 77 
 78 declare
 79      /*** List the entire ACL -- OP.mseg_pathname; general_extended_acl_ptr (O)
 80                The general_extended_acl is allocated in the system free area */
 81           mseg_$list_acl_seg            entry (pointer, pointer, fixed binary (35));
 82 
 83 declare
 84      /*** List individual ACL entries -- OP.mseg_pathname; general_extended_acl_ptr (I) */
 85           mseg_$list_acl_entries_seg    entry (pointer, pointer, fixed binary (35));
 86 
 87 declare
 88      /*** Open the segment -- OP.mseg_ptr; mseg_index_table_ptr (I/O)
 89                mseg_index_table_ptr must be an internal/external static variable initialized once per-process to null() */
 90           mseg_$open_seg                entry (pointer, pointer, fixed binary (35));
 91 
 92 declare
 93      /*** Read (and optionally delete) a message -- OP.mseg_ptr, OP.access_info, OP.message_info; users_area_ptr (I) */
 94           mseg_$read_message            entry (pointer, pointer, fixed binary (35));
 95 
 96 declare
 97      /*** Replace the ACL -- OP.mseg_pathname; general_extended_acl_ptr (I) --
 98                If general_extended_acl_ptr is null, the new ACL will be empty */
 99           mseg_$replace_acl_seg         entry (pointer, pointer, fixed binary (35));
100 
101 declare
102      /*** Reset the salvaged flag -- OP.mseg_ptr, OP.access_info */
103           mseg_$reset_salvaged_flag_seg entry (pointer, fixed binary (35));
104 
105 declare
106      /*** Reset wakeup acceptance (i.e., turn it off) -- OP.mseg_ptr */
107           mseg_$reset_wakeup_state_seg  entry (pointer, fixed binary (35));
108 
109 declare
110      /*** Set the max length -- OP.mseg_ptr (surprise); new_max_length (I) */
111           mseg_$set_max_length_seg      entry (pointer, fixed binary (19), fixed binary (35));
112 
113 declare
114      /*** Set the safety switch -- OP.mseg_pathname or OP.mseg_ptr; new_safety_switch (I) */
115           mseg_$set_safety_switch_seg   entry (pointer, bit (1) aligned, fixed binary (35));
116 
117 declare
118      /*** Set the wakeup acceptance state -- OP.mseg_ptr, OP.wakeup_state */
119           mseg_$set_wakeup_state_seg    entry (pointer, fixed binary (35));
120 
121 declare
122      /*** Update a message -- OP.mseg_ptr, OP.access_info, OP.message_info */
123           mseg_$update_message          entry (pointer, fixed binary (35));
124 
125 /* END INCLUDE FILE ... mseg_entries.incl.pl1 */