open_attr_dir
status_t (*open_attr_dir)(fs_volume* volume, fs_vnode* vnode,
fssh_status_t (*open_attr_dir)(fssh_fs_volume *volume, fssh_fs_vnode *vnode,
return sourceNode->ops->open_attr_dir(sourceVolume, sourceNode, _cookie);
OVERLAY_CALL(open_attr_dir, cookie)
if (fIsVirtual || fSuperVnode.ops->open_attr_dir == NULL
status_t result = fSuperVnode.ops->open_attr_dir(SuperVolume(),
CLEAR_UNSUPPORTED(FS_VNODE_CAPABILITY_OPEN_ATTR_DIR, open_attr_dir);
capabilities.Set(FS_VNODE_CAPABILITY_OPEN_ATTR_DIR, ops->open_attr_dir);
if (!node->ops->open_attr_dir)
return node->ops->open_attr_dir(&fVolume, node, cookie);
glob.gl_opendir = open_attr_dir;
return open_attr_dir(NodeRef(st), path, -1);
return open_attr_dir(NodeRef(st), (pathValid ? path.c_str() : NULL),
DIR *dir = open_attr_dir(ref, (path ? realPath.c_str() : NULL),
if (!HAS_FS_CALL(vnode, open_attr_dir))
status_t status = FS_CALL(vnode, open_attr_dir, &cookie);
return open_attr_dir(AT_FDCWD, path, true);
return open_attr_dir(AT_FDCWD, path, false);
return open_attr_dir(fd, NULL, false);
if (!HAS_FS_CALL(vnode, open_attr_dir))
status = FS_CALL(vnode, open_attr_dir, &cookie);