--- a
+++ b/joe/dir.c
@@ -0,0 +1,49 @@
+/*
+ *	Directory package for older UNIXs
+ *	Copyright
+ *		(C) 1992 Joseph H. Allen
+ *
+ *	This file is part of JOE (Joe's Own Editor)
+ */
+
+struct direct {
+	short d_ino;
+	unsigned char d_name[14];
+};
+
+void *opendir(unsigned char *name)
+{
+	return fopen(name, "r");
+}
+
+struct direct *readdir(void *f)
+{
+	static struct direct direct;
+
+	while (1 == fread(&direct, sizeof(struct direct), 1, (FILE *) f)) {
+		if (direct.d_ino) {
+			return &direct;
+		}
+	}
+	return 0;
+}
+
+void closedir(FILE *f)
+{
+	fclose(f);
+}
+
+int mkdir(unsigned char *s)
+{
+	unsigned char *y = NULL;
+	int rtval;
+
+	y = vsncpy(sv(y), sc("/bin/mkdir "));
+	y = vsncpy(sv(y), sz(s));
+	y = vsncpy(sv(y), sc(" 2>/dev/null"));
+	tickoff();
+	rtval = system(y);
+	tickon();
+	vsrm(y);
+	return rtval;
+}