<dec f='src/src/sys/fs/ptyfs/ptyfs_vnops.c' l='116' type='int ptyfs_lookup(void * )'/>
<use f='src/src/sys/fs/ptyfs/ptyfs_vnops.c' l='169'/>
<use f='src/src/sys/fs/ptyfs/ptyfs_vnops.c' l='169'/>
<use f='src/src/sys/fs/ptyfs/ptyfs_vnops.c' l='169'/>
<use f='src/src/sys/fs/ptyfs/ptyfs_vnops.c' l='169'/>
<def f='src/src/sys/fs/ptyfs/ptyfs_vnops.c' l='599' ll='652' type='int ptyfs_lookup(void * v)'/>
<doc f='src/src/sys/fs/ptyfs/ptyfs_vnops.c' l='111'>/*
 * Vnode Operations.
 *
 */</doc>
<doc f='src/src/sys/fs/ptyfs/ptyfs_vnops.c' l='583'>/*
 * lookup.  this is incredibly complicated in the
 * general case, however for most pseudo-filesystems
 * very little needs to be done.
 *
 * Locking isn&apos;t hard here, just poorly documented.
 *
 * If we&apos;re looking up &quot;.&quot;, just vref the parent &amp; return it.
 *
 * If we&apos;re looking up &quot;..&quot;, unlock the parent, and lock &quot;..&quot;. If everything
 * went ok, try to re-lock the parent. We do this to prevent lock races.
 *
 * For anything else, get the needed node.
 *
 * We try to exit with the parent locked in error cases.
 */</doc>
