Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Define DTTOIF and IFTODT. #279

Merged
merged 2 commits into from
Apr 13, 2022
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Add implementation file.
sunfishcode committed Mar 28, 2022
commit ac16f48453ec507ea744774dd9fa2abf180aa015
34 changes: 34 additions & 0 deletions libc-bottom-half/sources/__wasilibc_dt.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
#include <__header_dirent.h>
#include <__mode_t.h>

int __wasilibc_iftodt(int x) {
switch (x) {
case S_IFDIR: return DT_DIR;
case S_IFCHR: return DT_CHR;
case S_IFBLK: return DT_BLK;
case S_IFREG: return DT_REG;
case S_IFIFO: return DT_FIFO;
case S_IFLNK: return DT_LNK;
#ifdef DT_SOCK
case S_IFSOCK: return DT_SOCK;
#endif
default: return DT_UNKNOWN;
}
}

int __wasilibc_dttoif(int x) {
switch (x) {
case DT_DIR: return S_IFDIR;
case DT_CHR: return S_IFCHR;
case DT_BLK: return S_IFBLK;
case DT_REG: return S_IFREG;
case DT_FIFO: return S_IFIFO;
case DT_LNK: return S_IFLNK;
#ifdef DT_SOCK
case DT_SOCK: return S_IFSOCK;
#endif
case DT_UNKNOWN:
default:
return S_IFSOCK;
}
}