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 */