1 /* BEGIN INCLUDE FILE ... mlsys_copy_ptr.incl.pl1 */
 2 /* Created:  August 1983 by G. Palter */
 3 /* Recoded:  October 1983 by W. Olin Sibert to be guarenteed to work */
 4 
 5 /* Copies a pointer parameter while changing the ring number in said pointer to the ring of execution:  This change of
 6    ring number is required to allow the mail system to properly manipulate ring-2 objects as requested by the caller as
 7    the caller's pointer to said object would cause an access violation.  The mail system does its own validation to insure
 8    that the pointer provided by the caller is legitimate */
 9 
10 copy_ptr:
11      procedure (p_pointer) returns (pointer);
12 
13 dcl  p_pointer pointer parameter;
14 dcl  return_value pointer options (packed);
15 
16           return_value = p_pointer;                         /* packed pointers don't have ring numbers ... */
17 
18           return (return_value);                            /* ... so it will be set to the ring of execution */
19 
20      end copy_ptr;
21 
22 /* END INCLUDE FILE ... mlsys_copy_ptr.incl.pl1 */