summaryrefslogtreecommitdiffstats
path: root/c/src/lib
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>1998-10-13 18:04:16 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>1998-10-13 18:04:16 +0000
commit0cd2bd96c35994238be7039d952ff0ab592195ba (patch)
treea5a1a4f3a051d2dd258c1ae1a6b949a38296fe28 /c/src/lib
parentNew files. (diff)
downloadrtems-0cd2bd96c35994238be7039d952ff0ab592195ba.tar.bz2
Added rest of opendir family and made it compile.
Diffstat (limited to 'c/src/lib')
-rw-r--r--c/src/lib/libc/Makefile.in5
-rw-r--r--c/src/lib/libc/telldir.c17
2 files changed, 19 insertions, 3 deletions
diff --git a/c/src/lib/libc/Makefile.in b/c/src/lib/libc/Makefile.in
index 67466de316..c9fbf72795 100644
--- a/c/src/lib/libc/Makefile.in
+++ b/c/src/lib/libc/Makefile.in
@@ -14,7 +14,7 @@ LIB=${ARCH}/${LIBNAME}
# define TARGET_PIECES later based on RTEMS_CPU definition
# C and C++ source names, if any, go here -- minus the .c or .cc
-C_PIECES=__times _execve getdents malloc syscalls \
+C_PIECES=__times _execve malloc syscalls \
no_libc support libio hosterr tcattr tcdrain \
cfiospeed termios $(TARGET_PIECES)
C_FILES=$(C_PIECES:%=%.c)
@@ -35,7 +35,8 @@ include $(RTEMS_ROOT)/make/lib.cfg
ifeq ($(RTEMS_CPU),unix)
TARGET_PIECES=unixlibc
else
-TARGET_PIECES=__brk __gettod newlibc newlibif newlibifr readdir opendir
+TARGET_PIECES=__brk __gettod newlibc newlibif newlibifr \
+ getdents readdir opendir closedir rewinddir scandir seekdir telldir
endif
#
diff --git a/c/src/lib/libc/telldir.c b/c/src/lib/libc/telldir.c
index 9825f04939..d52819cddd 100644
--- a/c/src/lib/libc/telldir.c
+++ b/c/src/lib/libc/telldir.c
@@ -18,7 +18,22 @@
#include <stdlib.h>
#include <unistd.h>
-#include "libio_.h"
+#include <rtems.h>
+#include "libio.h"
+
+/*
+ * This is technically a violation of boundaries but will be fixed
+ * in a future release when file system code is in place. This
+ * will be in libio_.h then.
+ */
+
+extern unsigned32 rtems_libio_number_iops;
+extern rtems_libio_t *rtems_libio_iops;
+extern rtems_libio_t *rtems_libio_last_iop;
+
+#define rtems_libio_iop(fd) \
+ ((((unsigned32)(fd)) < rtems_libio_number_iops) ? \
+ &rtems_libio_iops[fd] : 0)
long telldir(