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