Copyright Digital Equipment Corp. All rights reserved.

Arguments

 

gs_name_64

   OpenVMS usage:section_name
   type:         character-coded text string
   access:       read only
   mechanism:    by 32- or 64-bit descriptor-fixed-length string
                 descriptor
   Name of the global section. The gs_name_64 argument is the 32-
   or 64-bit virtual address of a naturally aligned 32- or 64-bit
   string descriptor pointing to this name string.
 

ident_64

   OpenVMS usage:section_id
   type:         quadword (unsigned)
   access:       read only
   mechanism:    by 32- or 64-bit reference
   Identification value specifying the version number of a global
   section. The ident_64 argument is a quadword containing three
   fields. The ident_64 argument is the 32- or 64-bit virtual
   address of a naturally aligned quadword that contains the
   identification value.

   The first longword specifies the matching criteria in its low-
   order 2 bits. The valid values, symbolic names by which they can
   be specified, and their meanings are as follows:

          Symbolic
   Value  Name           Match Criteria

   0      SEC$K_MATALL   Match all versions of the section.
   1      SEC$K_MATEQU   Match only if major and minor
                         identifications match.
   2      SEC$K_MATLEQ   Match if the major identifications are
                         equal and the minor identification of the
                         mapper is less than or equal to the minor
                         identification of the global section.

   When a section is mapped at creation time, the match control
   field is ignored. If you specify the ident_64 argument as 0, the
   version number and match control fields default to 0.

   The version number is in the second longword. The version number
   contains two fields: a minor identification in the low-order 24
   bits and a major identification in the high-order 8 bits. You
   can assign values for these fields by installation convention to
   differentiate versions of global sections. If no version number
   is specified when a section is created, processes that specify a
   version number when mapping cannot access the global section.
 

prot

   OpenVMS usage:file_protection
   type:         longword (unsigned)
   access:       read only
   mechanism:    by value
   Protection to be applied to the global page file section.

   The mask contains four 4-bit fields. Bits are read from right to
   left in each field.

   To view the mask diagram, see the VSI OpenVMS System Services
   Reference Manual.

   Cleared bits indicate that read, write, execute, and delete
   access, in that order, are granted to the particular category
   of user. Only read, write, and execute access are meaningful
   for section protection. Delete access bits are ignored. Read
   access also grants execute access for those situations where
   execute access applies. If zero is specified, read access and
   write access are granted to all users.
 

start_pfn

   OpenVMS usage:page frame number
   type:         longword (unsigned) on Alpha, quadword (unsigned)
                 on Integrity servers
   access:       read only
   mechanism:    by value
   The CPU-specific page frame number where the section begins.
 

page_count

   OpenVMS usage:CPU-specific page count
   type:         longword (unsigned) on Alpha, quadword (unsigned)
                 on Integrity servers
   access:       read only
   mechanism:    by value
   Length of the page frame section in CPU-specific pages.
 

region_id_64

   OpenVMS usage:region identifier
   type:         quadword (unsigned)
   access:       read only
   mechanism:    by 32- or 64-bit reference
   The region ID associated with the region to map the global page
   frame section. The file VADEF.H in SYS$STARLET_C.TLB and the
   $VADEF macro in STARLET.MLB define a symbolic name for each of
   the three default regions in P0, P1, and P2 space.

   The following region IDs are defined:

   Symbol     Region

   VA$C_P0    Program region
   VA$C_P1    Control region
   VA$C_P2    64-bit program region

   Other region IDs, as returned by the $CREATE_REGION_64 service,
   can be specified.
 

relative_page

   OpenVMS usage:CPU-specific page number
   type:         longword (unsigned)
   access:       read only
   mechanism:    by value
   Relative CPU-specific page number within the global section to
   start mapping.
 

acmode

   OpenVMS usage:access_mode
   type:         longword (unsigned)
   access:       read only
   mechanism:    by value
   Access mode that is to be the owner of the pages created during
   the mapping. The acmode argument is a longword containing the
   access mode.

   The $PSLDEF macro in STARLET.MLB and the file PSLDEF.H in
   SYS$STARLET_C.TLB define the following symbols and their values
   for the four access modes:

   Value      Symbolic Name      Access Mode

   0          PSL$C_KERNEL       Kernel
   1          PSL$C_EXEC         Executive
   2          PSL$C_SUPER        Supervisor
   3          PSL$C_USER         User

   The most privileged access mode used is the access mode of the
   caller.

   Address space cannot be created within a region that has a create
   mode associated with it that is more privileged than the caller's
   mode. The condition value SS$_IVACMODE is returned if the caller
   is less privileged than the create mode for the region.
 

flags

   OpenVMS usage:mask_longword
   type:         longword (unsigned)
   access:       read only
   mechanism:    by value
   Flag mask specifying the characteristics of the global section
   to be created. The flags argument is a longword bit vector in
   which each bit corresponds to a flag. The $SECDEF macro and the
   SECDEF.H file define a symbolic name for each flag. You construct
   the flags argument by performing a logical OR operation on the
   symbol names for all desired flags.

   The following table describes each flag that is valid for
   $CRMPSC_GPFN_64:

   Flag          Description

   SEC$M_ARGS64  Indicates that all parameters, specifically start_
                 pfn and page_count, are passed as 64-bit numbers.
                 This flag is ignored on OpenVMS Alpha but must be
                 set on Integrity server systems. If the flag is
                 not set on Integrity servers, the error code SS$_
                 IVSECFLG is returned.
   SEC$M_EXPREG  Pages are mapped into the first available space at
                 the current end of the specified region.
   SEC$M_GBL     Pages form a global section. By default, this flag
                 is always present in this service and cannot be
                 disabled.
   SEC$M_PERM    Global section is permanent. By default, this flag
                 is always present in this service and cannot be
                 disabled.
   SEC$M_PFNMAP  Pages form a page frame section. By default, this
                 flag is always present in this service and cannot
                 be disabled.
   SEC$M_NO_     Pages cannot overmap existing address space. By
   OVERMAP       default, pages can overmap existing address space.
   SEC$M_SYSGBL  Pages form a system global section. By default,
                 pages form a group global section.
   SEC$M_        Flag that must be set when a PFN-mapped section
   UNCACHED      is created if this section must be treated as
                 uncached memory. Flag is ignored on Alpha systems;
                 it applies only to Integrity server systems.
   SEC$M_WRT     Pages form a read/write section. By default, pages
                 form a read-only section.

   All other bits in the flags argument are reserved for future
   use by VSI and should be specified as 0. The condition value
   SS$_IVSECFLG is returned if any undefined bits are set or if
   an illegal combination of flags is set.
 

return_va_64

   OpenVMS usage:address
   type:         quadword address
   access:       write only
   mechanism:    by 32- or 64-bit reference
   The lowest process virtual address into which the global page
   frame section was mapped. The return_va_64 argument is the 32-
   or 64-bit address of a naturally aligned quadword into which the
   service returns the virtual address.
 

return_length_64

   OpenVMS usage:byte count
   type:         quadword (unsigned)
   access:       write only
   mechanism:    by 32- or 64-bit reference
   The 32- or 64-bit virtual address of a naturally aligned quadword
   into which the service returns the length of the virtual address
   range mapped in bytes.
 

start_va_64

   OpenVMS usage:address
   type:         quadword address
   access:       read only
   mechanism:    by value
   The starting virtual address to map the global page frame
   section. The specified virtual address must be a CPU-specific
   page-aligned address. If the flag SEC$M_EXPREG is specified, the
   start_va_64 argument must not be specified or must be specified
   as 0. If SEC$M_EXPREG is set and the start_va_64 argument is
   nonzero, the condition value SS$_IVSECFLG is returned.

   Always refer to the return_va_64 and return_length_64 arguments
   to determine the range of virtual addresses mapped.
 

map_page_count

   OpenVMS usage:CPU-specific page count
   type:         longword (unsigned)
   access:       read only
   mechanism:    by value
   Length of the global page frame section to be mapped in CPU-
   specific pages.