diff options
Diffstat (limited to 'sysdeps')
-rw-r--r-- | sysdeps/unix/sysv/aix/linux/direntconv.c | 31 | ||||
-rw-r--r-- | sysdeps/unix/sysv/aix/linux/linux-dirent.h | 19 |
2 files changed, 50 insertions, 0 deletions
diff --git a/sysdeps/unix/sysv/aix/linux/direntconv.c b/sysdeps/unix/sysv/aix/linux/direntconv.c new file mode 100644 index 0000000000..620a0a0719 --- /dev/null +++ b/sysdeps/unix/sysv/aix/linux/direntconv.c @@ -0,0 +1,31 @@ +#include <dirent.h> +#include <string.h> +#include "linux-dirent.h" + +#ifndef DT_UNKNOWN +# define DT_UNKNOWN 0 +#endif + + +void +__dirent_aix_to_linux (const struct dirent *aixdir, + struct linuxdirent *linuxdir) +{ + linuxdir->d_ino = aixdir->d_ino; + linuxdir->d_off = aixdir->d_off; + linuxdir->d_reclen = aixdir->d_reclen; + linuxdir->d_type = DT_UNKNOWN; + strncpy (linuxdir->d_name, aixdir->d_name, 256); +} + + +void +__dirent64_aix_to_linux (const struct dirent64 *aixdir, + struct linuxdirent64 *linuxdir) +{ + linuxdir->d_ino = aixdir->d_ino; + linuxdir->d_off = aixdir->d_off; + linuxdir->d_reclen = aixdir->d_reclen; + linuxdir->d_type = DT_UNKNOWN; + strncpy (linuxdir->d_name, aixdir->d_name, 256); +} diff --git a/sysdeps/unix/sysv/aix/linux/linux-dirent.h b/sysdeps/unix/sysv/aix/linux/linux-dirent.h new file mode 100644 index 0000000000..935ffda7a0 --- /dev/null +++ b/sysdeps/unix/sysv/aix/linux/linux-dirent.h @@ -0,0 +1,19 @@ +#include "linuxtypes.h" + +struct linuxdirent + { + __linux_ino_t d_ino; + __linux_off_t d_off; + unsigned short int d_reclen; + unsigned char d_type; + char d_name[256]; /* We must not include limits.h! */ + }; + +struct linuxdirent64 + { + __linux_ino64_t d_ino; + __linux_off64_t d_off; + unsigned short int d_reclen; + unsigned char d_type; + char d_name[256]; /* We must not include limits.h! */ + }; |