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

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

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

    BOOL ReadLink( struct MsgPort *, BPTR, STRPTR, STRPTR, ULONG)

    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).

    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.

    Success - boolean

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

    MakeLink(), Open(), Lock(), GetDeviceProc()

[Back to Amiga Developer Docs]