SpyderByte.com: OpenVMS.org dcl.OpenVMS.org de.OpenVMS.org fr.OpenVMS.org Tru64.org
   
Home Contribute News, Jobs, Press Releases, etc. Advertise on OpenVMS.org About/Contact Search News Archives
More Links
  • Part 2
  • Logical Names (Part 4) >>
  • << Logical Names (Part 2)
  • << Logical Names (Part 1)
  • www.rlgsc.com
  • gezelter@rlgsc.com
  • Printer friendly version
    Share this story

    Navigation
    OpenVMS.org Features
    Hobbyist Registration
    Featured Articles
    VMS Audio Update (archives)
    Golden Eggs
    Need Help
    Forums, Lists & Groups
    Docs, Manuals & Tutorials, etc.
    VMS Beginners
    Documentation
    FAQs/How-to/Journals
    Books
    Developer Resources
    Misc. Resources
    For Hire
    Hardware Vendors
    Training & Education
    Software
    Commercial
    Opensource & Freeware
    Security, Patches, ECOs
    Security Advisories
    Patches/Updates

    Forums
    HPSC: OpenVMS
    Hobbyist Forums
    Usenet: comp.os.vms
    StackOverflow (VMS)

    OpenVMS.org Info
    OpenVMS.org Staff:
    Ken Farmer Follow OpenVMS.Org on Twitter
    Ian Miller Follow Ian Miller on Twitter
    Susan Skonetski Follow MamaVMS on Twitter
    About
    Search
    Archives
    Mobile
    Submit News
    Advertising

    Google Ads


    OpenVMS.org Polls
    What brand of smartphone do you use?
    iPhone
    Android-based
    Blackberry
    Other
    Don't have smartphone

    [ results | polls ]



    Latest News

    The OpenVMS Consultant: Logical Names (Part 3)
    Posted by Robert Gezelter on Monday November 04 2002 @ 10:12AM EST

    Originally, I intended to devote this installment to a more detailed discussion of a typical, everyday use of logical names. In developing the example, I realized that we need first review some of the options on the ASSIGN command (the syntax of the DEFINE command is similar, although the operands are reversed); most people prefer one or the other for admittedly ideosyncratic reasons. Going through the different qualifiers and their effects will occupy more than a single column, so we will defer the example (which uses multiple qualifiers) by two columns, to Part 5.

    There are several qualifiers that are commonly used on the ASSIGN command, and they have substantial impact on the ways in which logical names are displayed, translated, and used.

    In Part 2, of this series, we explored an example where we took advantage of iterative translation to utilize a common set of logical names as a base to point to different files contained in different directory trees. The iterative translation process can be finely controlled; for example it can be stopped at a particular point, when it encounters a logical name whose defining ASSIGN command included the /TRANSLATION_ATTRIBUTES=TERMINAL option.

    At this point, I should also mention that logical names whose values begin with an "_" are treated by the I/O services as physical device names, and do not undergo furthertranslation.

    In addition to the TERMINAL option, the /TRANSLATION_ATTRIBUTES qualifier can include the CONCEALED option. The CONCEALED option will control whether the translated name will be displayed to the user when, for example, theDIRECTORY command is used (to be sure, it is not a security measure, as the information can be easily obtained using the SHOW LOGICAL command, but it does eliminatedistracting clutter from displays).

    The /NAME_ATTRIBUTES qualifier can also be used to control how the logical name is created and used one defined. The CONFINE prevents the copying of the logical name into the PROCESS logical name table of a spawned supprocess. Obviously, it does not apply to logical name tables that are not subject to copying when a subprocess is created, such as the SYSTEM, GROUP, and JOB logical name tables.

    The NO_ALIAS option, guarantees that no identically named logical name exists at outer (less-privileged) access mode. Future attempts to define a less privileged logical name in the same table will generate an error. An already existing outer mode name in the same table will be deleted. These options may both be used on the same command, as in ASSIGN/NAME_ATTRIBUTES=(CONFINE,NO_ALIAS).

    As noted in the first column, each process is generally associated with several logical name tables, the SYSTEM, GROUP, JOB, and PROCESS logical name tables. By default, the ASSIGN command operates on the PROCESS logical name table. If it is desired to affect the JOB logical name table (for example, the logical name is also to be used by a parent, child, or sibling process in the same job) it would be appropriate to use the /JOB qualifier to place the resulting logical name in the JOB logical name table.

    The /SYSTEM qualifier will cause the logical name to be placed in the SYSTEM logical name table, and thus available to alll processes on the present node. The /SYSTEM qualifier is only valid if the process has the SYSNAM (and/or SYSPRV) privilege enabled.

    The /GROUP qualifier operates in a manner similar to the /SYSTEM qualifier, but it places the logical name in the process' group logical name table, shared with all other processes which are running under the same UIC (User Identification Code) as the current process. Modifying the GROUP logical name table requires the GRPNAM (and/or GRPNAM) privilege.


    Next article in this series by Robert Gezelter:
    Logical Names (Part 4) >>

    Previous articles in this series by Robert Gezelter:
    << Logical Names (Part 2)
    << Logical Names (Part 1)


    Biography:

    Robert Gezelter is the Founding Principal of the consulting firm that bears his name (www.rlgsc.com).

    The consulting practice emphasizes in-depth technical expertise in computer architectures, operating systems, networks, security, APIs, and related matters. Mr. Gezelter has worked with OpenVMS since the initial release of VAX/VMS in 1978.

    His clients have ranged from small businesses to the Fortune 10 locally, nationally, and internationally.

    He can be reached at gezelter@rlgsc.com.


    < C|Net: Intel hyperthreading shows Digital roots | MMK V3.9-6 now available >



    ADVERTISEMENT:
    Mailing Lists
    OpenVMS.org News:
    (Low volume newsletter)
    Subscribe | Unsubscribe
    OpenVMS.org Alerts:
    (Security & Patch Alerts)
    Subscribe | Unsubscribe

    Sponsors






    Virtual VAX & Alpha

    HoffmanLabs.com

    The OpenVMS Consultant


    Interested in Advertising?
    Contact us...


    Friends of VMS
    HP usergroups...
    Encompasserve/DECUServe
    OpenVMS Hobbyist
    Itanium Solutions Alliance
    Aaron's OpenVMS blog
    Alexey Chupahin
    Arne Vajhoej
    DECUS Library Compendium
    DJE Systems
    Dr OpenVMS blog
    Francesco Gennai
    Eight-Cubed blog
    Free OpenVMS Software
    Galen Tackett
    HoffmanLabs
    Hunter Goatley
    Ian Miller
    Influential Software
    Itanium Solutions Alliance
    Jeff Cameron
    John Fisher
    Syltrem VMS Page (French)
    Kednos PL/I
    Keith Parris
    Migration Specialties
    Noetic Systems, Inc
    OpenOffice Port to VMS
    OpenVMSPlanet.org
    OpenVMS Rocks
    Preatorian.net
    Retrobeep
    Steven M. Schweda
    SYSMGR Blog
    TMESIS Software
    Trends That Matter
    VAMP (VMS, Apache, MySQL, PHP)
    VIM
    Vaxination
    Visio Cafe (HP Templates)
    VMSresource.org.uk
    XDelta
    Free VMS Accounts:
    Deathrow Public OpenVMS Cluster
    DECUServe/EISNER
    Polarhome
    Fafner
    Poetry Hacklab
    Marway.Org


    In Memory: John Wisniewski
    In Memory:Terry Shannon


    Add, edit, report problems here...

    OpenVMS Ring

    OpenVMS Webring

    Prev

    Random

    Next

    Prev5

    List

    Next5



    Home About & Contact Search Archive Mobile Submit News Sponsorship & Advertising
         Copyright © 2001-2012 SCORSE, LLC
    OpenVMS® is a trademark of HP
    All other trademarks are those of their owners.
        
      SpyderByte.com ;Technical Portals