VMS Help  —  RTL Routines, SMG$  SMG$LIST_KEY_DEFS
    The List Key Definitions routine returns, one at a time, the
    definitions (equivalence strings) associated with specified keys
    in a specified key definition table.

    Format

      SMG$LIST_KEY_DEFS  key-table-id ,context [,key-name]

                         [,if-state] [,attributes]

                         [,equivalence-string] [,state-string]

1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

2  –  Arguments

 key-table-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Specifies the key definition table from which you are extracting
    a key definition. The key-table-id argument is the address of an
    unsigned longword that contains the key table identifier.

    The key definition table identifier is returned by SMG$CREATE_
    KEY_TABLE.

 context

    OpenVMS usage:context
    type:         longword (unsigned)
    access:       modify
    mechanism:    by reference

    Provides a means to extract a series of key definitions from a
    key definition table. The context argument is the address of an
    unsigned longword that contains the context variable. For the
    first call to this routine, you should set the context argument
    to zero.

    The context argument is incremented by the SMG$LIST_KEY_DEFS
    routine so that the next call returns the next key definition.

 key-name

    OpenVMS usage:char_string
    type:         character string
    access:       modify
    mechanism:    by descriptor

    Identifies the key whose value you are listing. The key-name
    argument is the address of a descriptor pointing to the key name.

 if-state

    OpenVMS usage:char_string
    type:         character string
    access:       write only
    mechanism:    by descriptor

    Receives the state name which qualifies the next definition in
    the key definition table. The if-state argument is the address of
    a descriptor pointing to the string into which the state name is
    written.

 attributes

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       write only
    mechanism:    by reference

    Attributes of this key definition. The attributes argument is the
    address of an unsigned longword into which the key attributes are
    written.

    Possible attributes are as follows:

    SMG$M_KEY_NOECHO   If set, this bit specifies that equiv_string
                       is not to be echoed when this key is pressed;
                       if clear, equiv_string is echoed. If SMG$M_
                       KEY_TERMINATE is not set, SMG$M_KEY_NOECHO is
                       ignored.
    SMG$M_KEY_         If set, this bit specifies that when this key
    TERMINATE          is pressed (as qualified by if-state), the
                       input line is complete and more characters
                       should not be accepted. If clear, more
                       characters may be accepted.
    SMG$M_KEY_         If set, and if state-string is specified, the
    LOCKSTATE          state name specified by state-string remains
                       at the current state until explicitly changed
                       by a subsequent keystroke whose definition
                       includes a state-string. If clear, the state
                       name specified by state-string remains in
                       effect only for the next defined keystroke.
    SMG$M_KEY_         If set, this bit specifies that this key
    PROTECTED          definition cannot be modified or deleted.
                       If clear, the key definition can be modified
                       or deleted.

 equivalence-string

    OpenVMS usage:char_string
    type:         character string
    access:       write only
    mechanism:    by descriptor

    The character string into which the equivalence string is written
    for the next key definition. The equivalence-string argument is
    the address of a descriptor pointing to the string into which
    equivalence-string is written.

 state-string

    OpenVMS usage:char_string
    type:         character string
    access:       write only
    mechanism:    by descriptor

    A string into which is written the new state name, if any, set by
    the next key definition. The state-string argument is the address
    of a descriptor pointing to the string into which the state name
    is written. If this key definition sets a state, the attributes
    flag SMG$M_KEY_SETSTATE is also set.
Close Help