mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-06 15:48:51 +00:00
sys/posix: fix dirfd on netbsd
This commit is contained in:
@@ -54,15 +54,6 @@ foreign lib {
|
|||||||
*/
|
*/
|
||||||
closedir :: proc(dirp: DIR) -> result ---
|
closedir :: proc(dirp: DIR) -> result ---
|
||||||
|
|
||||||
/*
|
|
||||||
Return a file descriptor referring to the same directory as the dirp argument.
|
|
||||||
|
|
||||||
// TODO: this is a macro on NetBSD?
|
|
||||||
|
|
||||||
[[ More; https://pubs.opengroup.org/onlinepubs/9699919799/functions/dirfd.html ]]
|
|
||||||
*/
|
|
||||||
dirfd :: proc(dirp: DIR) -> FD ---
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Equivalent to the opendir() function except that the directory is specified by a file descriptor
|
Equivalent to the opendir() function except that the directory is specified by a file descriptor
|
||||||
rather than by a name.
|
rather than by a name.
|
||||||
@@ -161,11 +152,36 @@ when ODIN_OS == .NetBSD {
|
|||||||
@(private) LSCANDIR :: "__scandir30"
|
@(private) LSCANDIR :: "__scandir30"
|
||||||
@(private) LOPENDIR :: "__opendir30"
|
@(private) LOPENDIR :: "__opendir30"
|
||||||
@(private) LREADDIR :: "__readdir30"
|
@(private) LREADDIR :: "__readdir30"
|
||||||
|
|
||||||
|
/*
|
||||||
|
Return a file descriptor referring to the same directory as the dirp argument.
|
||||||
|
|
||||||
|
[[ More; https://pubs.opengroup.org/onlinepubs/9699919799/functions/dirfd.html ]]
|
||||||
|
*/
|
||||||
|
dirfd :: proc "c" (dirp: DIR) -> FD {
|
||||||
|
_dirdesc :: struct {
|
||||||
|
dd_fd: FD,
|
||||||
|
|
||||||
|
// more stuff...
|
||||||
|
}
|
||||||
|
|
||||||
|
return (^_dirdesc)(dirp).dd_fd
|
||||||
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
@(private) LALPHASORT :: "alphasort" + INODE_SUFFIX
|
@(private) LALPHASORT :: "alphasort" + INODE_SUFFIX
|
||||||
@(private) LSCANDIR :: "scandir" + INODE_SUFFIX
|
@(private) LSCANDIR :: "scandir" + INODE_SUFFIX
|
||||||
@(private) LOPENDIR :: "opendir" + INODE_SUFFIX
|
@(private) LOPENDIR :: "opendir" + INODE_SUFFIX
|
||||||
@(private) LREADDIR :: "readdir" + INODE_SUFFIX
|
@(private) LREADDIR :: "readdir" + INODE_SUFFIX
|
||||||
|
|
||||||
|
foreign lib {
|
||||||
|
/*
|
||||||
|
Return a file descriptor referring to the same directory as the dirp argument.
|
||||||
|
|
||||||
|
[[ More; https://pubs.opengroup.org/onlinepubs/9699919799/functions/dirfd.html ]]
|
||||||
|
*/
|
||||||
|
dirfd :: proc(dirp: DIR) -> FD ---
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
when ODIN_OS == .Darwin {
|
when ODIN_OS == .Darwin {
|
||||||
|
|||||||
Reference in New Issue
Block a user