summaryrefslogtreecommitdiff
path: root/windows-NT/ndir.h
diff options
context:
space:
mode:
Diffstat (limited to 'windows-NT/ndir.h')
-rw-r--r--windows-NT/ndir.h62
1 files changed, 62 insertions, 0 deletions
diff --git a/windows-NT/ndir.h b/windows-NT/ndir.h
new file mode 100644
index 0000000..a498058
--- /dev/null
+++ b/windows-NT/ndir.h
@@ -0,0 +1,62 @@
+/* ndir.c - portable directory routines
+ Copyright (C) 1990 by Thorsten Ohl, td12@ddagsi3.bitnet
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 1, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details. */
+
+/* Everything non trivial in this code is taken from: @(#)msd_dir.c 1.4
+ 87/11/06. A public domain implementation of BSD directory routines
+ for MS-DOS. Written by Michael Rendell ({uunet,utai}michael@garfield),
+ August 1897 */
+
+#include <sys/types.h> /* ino_t definition */
+
+#define rewinddir(dirp) seekdir(dirp, 0L)
+
+/* 255 is said to be big enough for Windows NT. The more elegant
+ solution would be declaring d_name as one byte long and allocating
+ it to the actual size needed. */
+#define MAXNAMLEN 255
+
+struct direct
+{
+ ino_t d_ino; /* a bit of a farce */
+ int d_reclen; /* more farce */
+ int d_namlen; /* length of d_name */
+ char d_name[MAXNAMLEN + 1]; /* garentee null termination */
+};
+
+struct _dircontents
+{
+ char *_d_entry;
+ struct _dircontents *_d_next;
+};
+
+typedef struct _dirdesc
+{
+ int dd_id; /* uniquely identify each open directory */
+ long dd_loc; /* where we are in directory entry is this */
+ struct _dircontents *dd_contents; /* pointer to contents of dir */
+ struct _dircontents *dd_cp; /* pointer to current position */
+} DIR;
+
+void seekdir (DIR *, long);
+long telldir (DIR *);
+DIR *opendir (const char *);
+void closedir (DIR *);
+struct direct *readdir (DIR *);
+
+/*
+ * Local Variables:
+ * mode:C
+ * ChangeLog:ChangeLog
+ * compile-command:make
+ * End:
+ */