/sys$common/syshlp/helplib.hlb
System Services, $MGBLSC

 *Conan The Librarian (sorry for the slow response - running on an old VAX)

    Establishes a correspondence between pages (maps) in the virtual
    address space of the process and physical pages occupied by a
    global section.

    Format

      SYS$MGBLSC  inadr ,[retadr] ,[acmode] ,[flags] ,gsdnam ,[ident]

                  ,[relpag]

    C Prototype

      int sys$mgblsc  (struct _va_range *inadr, struct _va_range

                      *retadr, unsigned int acmode, unsigned int

                      flags, void *gsdnam, struct _secid *ident,

                      unsigned int relpag);

    Arguments

 inadr

    OpenVMS usage:address_range
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference
    Starting and ending virtual addresses into which the section is
    to be mapped. The inadr argument is the address of a 2-longword
    array containing, in order, the starting and ending process
    virtual addresses. Only the virtual page number portion of each
    virtual address is used to specify which pages are to be mapped;
    the low-order byte-within-page bits are ignored for this purpose.

    The interpretation of the inadr argument depends on the setting
    of SEC$M_EXPREG in the inadr argument and whether you are using
    an Alpha or a VAX system. Refer to the OpenVMS System Services
    Reference Manual for a complete description of these differences.

 retadr

    OpenVMS usage:address_range
    type:         longword (unsigned)
    access:       write only
    mechanism:    by reference
    Starting and ending process virtual addresses into which the
    section was actually mapped by $MGBLSC. The retadr argument
    is the address of a 2-longword array containing, in order, the
    starting and ending process virtual addresses.

    On Alpha systems, the retadr argument returns the starting and
    ending addresses of the usable range of addresses. This might
    differ from the total amount mapped. The retadr argument is
    required when the relpag argument is specified. If the section
    being mapped does not completely fill the last page used to map
    the section, the retadr argument indicates the highest address
    that actually maps the section. If the relpag argument is used to
    specify an offset into the section, the retadr argument reflects
    the offset.

 acmode

    OpenVMS usage:access_mode
    type:         longword (unsigned)
    access:       read only
    mechanism:    by value
    Access mode to be associated with the pages mapped into the
    process virtual address space. The acmode argument is a longword
    containing the access mode. The $PSLDEF macro defines symbols for
    the four access modes.

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

 flags

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by value
    Flag mask specifying options for the operation. The flags
    argument is a longword bit vector wherein a bit when set
    specifies the corresponding option.

    The $SECDEF macro defines symbolic names for the flag bits. You
    construct the flags argument by specifying the symbolic names of
    each desired option in a logical OR operation.

    The following table describes each flag option:

    Flag Option   Description

    SEC$M_WRT     Map the section with read/write access. By default,
                  the section is mapped with read-only access. If
                  SEC$M_WRT is specified and the section is not copy-
                  on-reference, write access is required.

    SEC$M_SYSGBL  Map a system global section. By default, the
                  section is a group global section.

    SEC$M_EXPREG  Map the section into the first available virtual
                  address range. By default, the section is mapped
                  into the range specified by the inadr argument.

                  See the inadr argument description for a complete
                  explanation of how to set the SEC$M_EXPREG flag.

 gsdnam

    OpenVMS usage:section_name
    type:         character-coded text string
    access:       read only
    mechanism:    by descriptor-fixed-length string descriptor
    Name of the global section. The gsdnam argument is the address of
    a character string descriptor pointing to this name string.

    For group global sections, the operating system interprets the
    group UIC as part of the global section name; thus, the names
    of global sections are unique to UIC groups. Further, all global
    section names are implicitly qualified by their identification
    fields.

    You can specify any name from 1 to 43 characters. All processes
    mapping to the same global section must specify the same name.
    Note that the name is case sensitive.

    Use of characters valid in logical names is strongly encouraged.
    Valid values include alphanumeric characters, the dollar sign
    ($), and the underscore (_). If the name string begins with an
    underscore (_), the underscore is stripped and the resultant
    string is considered to be the actual name. Use of the colon (:)
    is not permitted.

    Names are first subject to a logical name translation, after
    the application of the prefix GBL$ to the name. If the result
    translates, it is used as the name of the section. If the
    resulting name does not translate, the name specified by the
    caller is used as the name of the section.

    Additional information on logical name translations and on
    section name processing is available in the OpenVMS Programming
    Concepts Manual.

 ident

    OpenVMS usage:section_id
    type:         quadword (unsigned)
    access:       read only
    mechanism:    by reference
    Identification value specifying the version number of a global
    section and, for processes mapping to an existing global section,
    the criteria for matching the identification. The ident argument
    is the address of a quadword structure containing three fields.

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

    Value/Name      Match Criteria

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

    The version number is in the second longword and contains two
    fields: a minor identification in the low-order 24 bits and a
    major identification in the high-order 8 bits.

    If you do not specify ident or specify it as the value 0 (the
    default), the version number and match control fields default to
    the value 0.

 relpag

    OpenVMS usage:longword_unsigned
    type:         longword (unsigned)
    access:       read only
    mechanism:    by value
    Relative page number within the section of the first page to be
    mapped. The relpag argument is a longword containing this number.

    On Alpha systems, the relpag argument is interpreted as an index
    into the section file, measured in pagelets for a file-backed
    section or CPU-specific pages for a PFN-mapped section.

    On Alpha and VAX systems, if you do not specify relpag or specify
    it as the value 0 (the default), the global section is mapped
    beginning with the first virtual block in a file-backed section
    or the first CPU-specific page in a PFN-mapped section.
  Close     HLB-list     TLB-list     Help  

[legal] [privacy] [GNU] [policy] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.