History log of /haiku/headers/private/libroot/dirent_private.h
Revision Date Author Comments
# 9e81ddee 10-Nov-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Fixed fdopendir(): We have to explicitly (re-)open the directory, because FDs
returned by open() aren't suitable for directory iteration and because checks
have to be performed (like whether this is a directory at all and whether the
user has read permission).
* Added __create_dir_struct() for the attribute, index, and query open
functions to use instead.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33974 a95241bf-73f2-0310-859d-f6bbb57e9c96


# adbf8b25 29-Aug-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Added fdopendir() (POSIX).
* Got rid of <dirent_private.h> -- the __DIR structure is private to dirent.c,
now. The attribute directory, index directory, and query functions use the
the public POSIX API, so does the kernel module code. Those components were
not initializing the structure correctly anymore since the introduction of
telldir()/seekdir().

+alphabranch


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32819 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 781aa0f5 29-Aug-2009 Marcus Overhagen <marcusoverhagen@gmail.com>

Fix bug introduced in r32679. The dirent buffer was to short.
This fixes ticket #4362 and probably also #4360 and #4370


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32817 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b02c147c 25-Aug-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Implemented seekdir() and telldir(). They were declared in <dirent.h> already.
So either +alphabranch or remove the declarations from <dirent.h>.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32679 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 9c5c79ad 09-Jul-2008 Axel Dörfler <axeld@pinc-software.de>

* Made DIR definition private, and moved it into the new dirent_private.h
header.
* Added fields necessary to make it possible to retrieve more than one
dirent from the underlying file system.
* Unless some app creates a DIR on its own to it to feed readdir(), this
change should be binary compatible. If we find an application misbehaving,
we can still make it a GCC4 only thing.
* fs_attr/fs_index/fs_query now all use readdir() directly (as that one
contains the logic to iterate through a number of dirents in userspace).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26339 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 9e81ddee876757a3eb1ccabbb406bd1b8e910a5a 10-Nov-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Fixed fdopendir(): We have to explicitly (re-)open the directory, because FDs
returned by open() aren't suitable for directory iteration and because checks
have to be performed (like whether this is a directory at all and whether the
user has read permission).
* Added __create_dir_struct() for the attribute, index, and query open
functions to use instead.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33974 a95241bf-73f2-0310-859d-f6bbb57e9c96


# adbf8b25f8b29263fcb344ac86beceb9e83ce594 29-Aug-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Added fdopendir() (POSIX).
* Got rid of <dirent_private.h> -- the __DIR structure is private to dirent.c,
now. The attribute directory, index directory, and query functions use the
the public POSIX API, so does the kernel module code. Those components were
not initializing the structure correctly anymore since the introduction of
telldir()/seekdir().

+alphabranch


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32819 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 781aa0f579594d6a1fcc80daef5efff8fc095ee9 29-Aug-2009 Marcus Overhagen <marcusoverhagen@gmail.com>

Fix bug introduced in r32679. The dirent buffer was to short.
This fixes ticket #4362 and probably also #4360 and #4370


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32817 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b02c147c052fb3c7672e8ba8c15975c31d56a066 25-Aug-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Implemented seekdir() and telldir(). They were declared in <dirent.h> already.
So either +alphabranch or remove the declarations from <dirent.h>.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32679 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 9c5c79ad8679dfbb8c0d611cfc95c3ee767aef77 09-Jul-2008 Axel Dörfler <axeld@pinc-software.de>

* Made DIR definition private, and moved it into the new dirent_private.h
header.
* Added fields necessary to make it possible to retrieve more than one
dirent from the underlying file system.
* Unless some app creates a DIR on its own to it to feed readdir(), this
change should be binary compatible. If we find an application misbehaving,
we can still make it a GCC4 only thing.
* fs_attr/fs_index/fs_query now all use readdir() directly (as that one
contains the logic to iterate through a number of dirents in userspace).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26339 a95241bf-73f2-0310-859d-f6bbb57e9c96