Re: Help - SYSUAF and $SETUAI on UAI$_USER_DATA field

briggs_at_encompasserve.org
Date: 01/06/05


Date: 6 Jan 2005 07:56:05 -0600

In article <DTiotGxQ0bj6-pn2-JS0LYQOPbD1J@dave2_os2.home.ours>, "Dave Weatherall" <djw-nothere@nospam.nohow> writes:
> Depending on how the file open is done I would have (half-)expected
> that a copy of the file in the current working directory would be
> opened every time. Certainly in Fortran. i.e. an open specifying
> 'SYSUAF' would apply the the default '.DAT' extension and find
> SYSUAF.DAT and open it. Does Pascal do any different? This was my
> experience (_not_ with SYSUAF but opening by logical name in general)
> many moons ago (VMS V5.nn!!). I've not checked again since.

In Fortran, an open along the lines of:

        OPEN ( UNIT=1, FILE='SYSUAF', STATUS='OLD', ... )

together with a logical name

        $ DEFINE /SYSTEM /EXEC SYSUAF SHARED_FILES:SYSUAF.DAT

will access SHARED_FILES:SYSUAF.DAT

and will not access SYS$DISK:[]SYSUAF.DAT

The file name presented in an OPEN command is subject to logical
name translation in three cases that I know of:

o If file name has the syntax: nodename::rest-of-filespec

  e.g. DONALD::SYS$SYSTEM:SYSUAF.DAT

  Logical name resolution is attempted on the nodename (DONALD)

o If the file name has the syntax: devicename:rest-of-filespec

  e.g. CLUSTER_FILES:SYSUAF.DAT

  Logical name resolution is attempted on the devicename (CLUSTER_FILES)

o If the file name has the syntax: name (devoid of ':', '.', ';', etc)

  e.g. SYSUAF

  Logical name resolution is attempted on the name (SYSUAF)

o Otherwise (name has multiple components, but no leading device or nodename)

  e.g. SYSUAF.DAT

  Logical name resolution is not attempted

This is all RMS default behavior. It is not specific to Fortran,
Pascal, BASIC or anything else.

[This simplified description looks just at the initial logical name
resolution performed with respect to the main filespec. It ignores
the translation that may be performed with respect to the default
file spec, related file specs and SYS$DISK:. It also ignores
any iterative translation that may occur if the file name syntax
resulting from one set of translations has a leading nodename,
a leading devicename or is a one part filename]

> Mind you, I was playing with process logical names. I've never had the
> need to play, explicitly, in higher modes.

Largely irrelevant. A Fortran (or Pascal, C, Basic or whatever)
OPEN will respect logical names at all four access modes. The gotcha
is that it will use the _outermost_ such logical name. And it
will pay attention to logical names in the tables mentioned in
the user's LNM$FILE_DEV list.

By contrast, the services that use SYSUAF for authentication will
ignore outer mode logical names and use inner mode logical names instead.
These security services are picky about the logical name tables in which
they search as well.



Relevant Pages

  • Re: Request for comment: follow-up to Summer of Code
    ... > (FORTRAN (MATMUL X Y IDIM) ... > just prefer Lisp. ... the point of the translation results was to show that there were ... But benchmarks are always transitory and saying one language is better than ...
    (comp.lang.lisp)
  • Re: pointer plus an integer
    ... Recipes in C) library. ... familiar with Fortran than with C. ... thereby simplifying the translation of Fortran ... the Numerical Recipes library also pre-dates those features; ...
    (comp.lang.c)
  • Re: zwofz.fs
    ... It is a direct translation from Fortran to Forth, ... Another approach for translating from Fortran using a slight variation ... fvalues{DAUX XAUX CC H H2 QLAMBDA RX RY SX SY TX TY W1 C} ... XQUAD RMAXEXP F> OR IF 0e 0e true EXIT THEN ...
    (comp.lang.forth)
  • Re: pointer plus an integer
    ... This pointer-infested slop was never fortran. ... It's a clever, but fundamentally misguided, attempt to create something in C that can be used in a manner similar to Fortran arrays, thereby simplifying the translation of Fortran code which indexed those "arrays". ... I have a fair amount of experience with Fortran, but it ended a long time ago, before I ever used a compiler supporting the features you're using in that statement. ... I strongly suspect that the original Fortran version of the Numerical Recipes library also pre-dates those features; or at least, was written to be backwardly compatible with compilers that did not yet support them. ...
    (comp.lang.c)
  • Re: command for measuring computing time in milli sec.
    ... command for calculating the computing time in fortran. ... cpu_timehas resolution of 0.01 second or better on most systems. ... systime() isn't a Fortran function. ...
    (comp.lang.fortran)

Quantcast