{
{   The purpose of this request is to create a transient segment.
{
{       MMP$CREATE_SEGMENT (SEG_ATTRIBUTES_P, POINTER_KIND,
{         VALIDATION_RING_NUMBER, POINTER, STATUS)
{
{ SEG_ATTRIBUTES_P: (input) This parameter is a pointer to the array of segment
{       attributes to be assigned to the segment.
{
{ POINTER_KIND: (input) This parameter specifies the type of pointer
{       to be constructed for the segment.
{
{ VALIDATION_RING_NUMBER: (input) This parameter specifies the ring of
{       execution for whom the segment is being created.  The ring
{       number used for validation is the max of caller ring number
{       and 'validation_ring_number'.
{
{ POINTER: (output) This parameter specifies the process virtual
{       address assigned to the segment.  The byte offset in the PVA
{       is set to zero
{
{ STATUS: (output) This parameter specifies the request status.
{       The possible error codes are:
{             dme$unable_to_locate_fde
{             dme$unable_to_get_fd_lock
{             mme$address_not_0_mod_16384
{             mme$asid_specified
{             mme$binding_attribute_invalid
{             mme$contig_mem_seg_violation
{             mme$execute_global_invalid
{             mme$invalid_asid_specified
{             mme$invalid_length_requested
{             mme$invalid_pva
{             mme$invalid_ring_brackets
{             mme$invalid_shadow_segment
{             mme$invalid_shared_taskid
{             mme$length_not_0_mod_16384
{             mme$pages_already_assigned
{             mme$ref_to_unrecovered_file
{             mme$ring_violation
{             mme$segment_number_is_in_use
{             mme$segment_number_not_in_use
{             mme$segment_number_too_big
{             mme$segment_origin_invalid
{             mme$segment_table_is_full
{             mme$software_attribute_invalid
{             mme$unable_to_assign_contig_mem
{             mme$unsupported_keyword
{

