[Contents] [Index] [Help] [Retrace] [browse <] [Browse >]


NAME
    ReadLink -- Reads the path for a soft filesystem link (V36)

SYNOPSIS
    success = ReadLink( port, lock, path, buffer, size)
    D0                   D1    D2    D3     D4     D5

    BOOL ReadLink( struct msgport *, bptr, strptr, strptr, ulong)

FUNCTION
    ReadLink() takes a lock/name pair (usually from a failed attempt
    to use them to access an object with packets), and asks the
    filesystem to find the softlink and fill buffer with the modified
    path string.  You then start the resolution process again by
    calling getdeviceproc() with the new string from readlink().

    Soft-links are resolved at access time by a combination of the
    filesystem (by returning ERROR_IS_SOFT_LINK to dos), and by
    Dos (using ReadLink() to resolve any links that are hit).

INPUTS
    port - msgport of the filesystem
    lock - lock this path is relative to on the filesystem
    path - path that caused the ERROR_IS_SOFT_LINK
    buffer - pointer to buffer for new path from handler.
    size - size of buffer.

RESULT
    Success - boolean

BUGS
    In V36, soft-links didn't work in the ROM filesystem.  This was
    fixed for V37.

SEE ALSO
    makelink(), open(), lock(), getdeviceproc()