summaryrefslogtreecommitdiff
path: root/lib/e2p
diff options
context:
space:
mode:
authorTheodore Ts'o <tytso@mit.edu>1997-04-26 13:58:21 +0000
committerTheodore Ts'o <tytso@mit.edu>1997-04-26 13:58:21 +0000
commit50e1e10fa0ac12a3e2a9d20a75ee9041873cda96 (patch)
tree7ef931607cf258793edffa5deb1ddb1f46469d04 /lib/e2p
parentf3db3566b5e1342e49dffc5ec3f418a838584194 (diff)
downloade2fsprogs-50e1e10fa0ac12a3e2a9d20a75ee9041873cda96.tar.gz
Many files:
Checked in e2fsprogs 0.5c
Diffstat (limited to 'lib/e2p')
-rw-r--r--lib/e2p/.depend94
-rw-r--r--lib/e2p/ChangeLog58
-rw-r--r--lib/e2p/MAKELOG181
-rw-r--r--lib/e2p/Makefile98
-rw-r--r--lib/e2p/Makefile.in129
-rw-r--r--lib/e2p/configure613
-rw-r--r--lib/e2p/dll/jump.funcs (renamed from lib/e2p/jump/jump.funcs)0
-rw-r--r--lib/e2p/dll/jump.ignore0
-rw-r--r--lib/e2p/dll/jump.import (renamed from lib/e2p/jump/jump.import)0
-rw-r--r--lib/e2p/dll/jump.params (renamed from lib/e2p/jump/jump.params)2
-rw-r--r--lib/e2p/dll/jump.undefs1
-rw-r--r--lib/e2p/dll/jump.vars0
-rw-r--r--lib/e2p/e2p.h3
-rw-r--r--lib/e2p/fgetflags.c40
-rw-r--r--lib/e2p/fgetversion.c12
-rw-r--r--lib/e2p/fsetflags.c35
-rw-r--r--lib/e2p/fsetversion.c12
-rw-r--r--lib/e2p/getflags.c35
-rw-r--r--lib/e2p/getversion.c8
-rw-r--r--lib/e2p/iod.c40
-rw-r--r--lib/e2p/jump/jump.undefs1
-rw-r--r--lib/e2p/ls.c22
-rw-r--r--lib/e2p/setflags.c32
-rw-r--r--lib/e2p/setversion.c8
24 files changed, 1254 insertions, 170 deletions
diff --git a/lib/e2p/.depend b/lib/e2p/.depend
index f3bd9164..0ba793d8 100644
--- a/lib/e2p/.depend
+++ b/lib/e2p/.depend
@@ -1,86 +1,88 @@
-fgetflags.o : fgetflags.c /usr/include/errno.h /usr/include/features.h /usr/include/sys/cdefs.h \
- /usr/include/linux/errno.h /usr/include/fcntl.h /usr/include/sys/types.h /usr/include/linux/types.h \
- /usr/include/asm/types.h /usr/include/linux/fcntl.h /usr/include/unistd.h /usr/include/posix_opt.h \
- /usr/include/gnu/types.h /usr/lib/gcc-lib/i486-linux/2.5.8/include/stddef.h \
+fgetflags.o : ./fgetflags.c /usr/include/errno.h /usr/include/features.h /usr/include/sys/cdefs.h \
+ /usr/include/linux/errno.h /usr/include/unistd.h /usr/include/posix_opt.h /usr/include/gnu/types.h \
+ /usr/lib/gcc-lib/i486-linux/2.5.8/include/stddef.h /usr/include/confname.h /usr/include/sys/types.h \
+ /usr/include/linux/types.h /usr/include/asm/types.h /usr/include/fcntl.h /usr/include/linux/fcntl.h \
/usr/include/sys/ioctl.h /usr/include/linux/ioctl.h /usr/include/termios.h /usr/include/linux/termios.h \
- /usr/include/linux/ext2_fs.h e2p.h /usr/include/dirent.h /usr/include/linux/limits.h \
+ /usr/include/linux/ext2_fs.h ./e2p.h /usr/include/dirent.h /usr/include/linux/limits.h \
/usr/include/linux/dirent.h /usr/include/posix1_lim.h /usr/include/stdio.h /usr/include/libio.h \
/usr/include/_G_config.h
-fgetversion.o : fgetversion.c /usr/include/errno.h /usr/include/features.h /usr/include/sys/cdefs.h \
- /usr/include/linux/errno.h /usr/include/fcntl.h /usr/include/sys/types.h /usr/include/linux/types.h \
- /usr/include/asm/types.h /usr/include/linux/fcntl.h /usr/include/unistd.h /usr/include/posix_opt.h \
+fgetversion.o : ./fgetversion.c /usr/include/errno.h /usr/include/features.h \
+ /usr/include/sys/cdefs.h /usr/include/linux/errno.h /usr/include/unistd.h /usr/include/posix_opt.h \
/usr/include/gnu/types.h /usr/lib/gcc-lib/i486-linux/2.5.8/include/stddef.h \
- /usr/include/sys/ioctl.h /usr/include/linux/ioctl.h /usr/include/termios.h /usr/include/linux/termios.h \
- /usr/include/linux/ext2_fs.h e2p.h /usr/include/dirent.h /usr/include/linux/limits.h \
+ /usr/include/confname.h /usr/include/sys/types.h /usr/include/linux/types.h \
+ /usr/include/asm/types.h /usr/include/fcntl.h /usr/include/linux/fcntl.h /usr/include/sys/ioctl.h \
+ /usr/include/linux/ioctl.h /usr/include/termios.h /usr/include/linux/termios.h \
+ /usr/include/linux/ext2_fs.h ./e2p.h /usr/include/dirent.h /usr/include/linux/limits.h \
/usr/include/linux/dirent.h /usr/include/posix1_lim.h /usr/include/stdio.h /usr/include/libio.h \
/usr/include/_G_config.h
-fsetflags.o : fsetflags.c /usr/include/errno.h /usr/include/features.h /usr/include/sys/cdefs.h \
- /usr/include/linux/errno.h /usr/include/fcntl.h /usr/include/sys/types.h /usr/include/linux/types.h \
- /usr/include/asm/types.h /usr/include/linux/fcntl.h /usr/include/unistd.h /usr/include/posix_opt.h \
- /usr/include/gnu/types.h /usr/lib/gcc-lib/i486-linux/2.5.8/include/stddef.h \
+fsetflags.o : ./fsetflags.c /usr/include/errno.h /usr/include/features.h /usr/include/sys/cdefs.h \
+ /usr/include/linux/errno.h /usr/include/unistd.h /usr/include/posix_opt.h /usr/include/gnu/types.h \
+ /usr/lib/gcc-lib/i486-linux/2.5.8/include/stddef.h /usr/include/confname.h /usr/include/sys/types.h \
+ /usr/include/linux/types.h /usr/include/asm/types.h /usr/include/fcntl.h /usr/include/linux/fcntl.h \
/usr/include/sys/ioctl.h /usr/include/linux/ioctl.h /usr/include/termios.h /usr/include/linux/termios.h \
- /usr/include/linux/ext2_fs.h e2p.h /usr/include/dirent.h /usr/include/linux/limits.h \
+ /usr/include/linux/ext2_fs.h ./e2p.h /usr/include/dirent.h /usr/include/linux/limits.h \
/usr/include/linux/dirent.h /usr/include/posix1_lim.h /usr/include/stdio.h /usr/include/libio.h \
/usr/include/_G_config.h
-fsetversion.o : fsetversion.c /usr/include/errno.h /usr/include/features.h /usr/include/sys/cdefs.h \
- /usr/include/linux/errno.h /usr/include/fcntl.h /usr/include/sys/types.h /usr/include/linux/types.h \
- /usr/include/asm/types.h /usr/include/linux/fcntl.h /usr/include/unistd.h /usr/include/posix_opt.h \
+fsetversion.o : ./fsetversion.c /usr/include/errno.h /usr/include/features.h \
+ /usr/include/sys/cdefs.h /usr/include/linux/errno.h /usr/include/unistd.h /usr/include/posix_opt.h \
/usr/include/gnu/types.h /usr/lib/gcc-lib/i486-linux/2.5.8/include/stddef.h \
- /usr/include/sys/ioctl.h /usr/include/linux/ioctl.h /usr/include/termios.h /usr/include/linux/termios.h \
- /usr/include/linux/ext2_fs.h e2p.h /usr/include/dirent.h /usr/include/linux/limits.h \
+ /usr/include/confname.h /usr/include/sys/types.h /usr/include/linux/types.h \
+ /usr/include/asm/types.h /usr/include/fcntl.h /usr/include/linux/fcntl.h /usr/include/sys/ioctl.h \
+ /usr/include/linux/ioctl.h /usr/include/termios.h /usr/include/linux/termios.h \
+ /usr/include/linux/ext2_fs.h ./e2p.h /usr/include/dirent.h /usr/include/linux/limits.h \
/usr/include/linux/dirent.h /usr/include/posix1_lim.h /usr/include/stdio.h /usr/include/libio.h \
/usr/include/_G_config.h
-getflags.o : getflags.c /usr/include/errno.h /usr/include/features.h /usr/include/sys/cdefs.h \
+getflags.o : ./getflags.c /usr/include/errno.h /usr/include/features.h /usr/include/sys/cdefs.h \
/usr/include/linux/errno.h /usr/include/sys/ioctl.h /usr/include/linux/ioctl.h \
/usr/include/termios.h /usr/include/sys/types.h /usr/include/linux/types.h /usr/include/asm/types.h \
- /usr/include/linux/termios.h /usr/include/linux/ext2_fs.h e2p.h /usr/include/dirent.h \
+ /usr/include/linux/termios.h /usr/include/linux/ext2_fs.h ./e2p.h /usr/include/dirent.h \
/usr/include/gnu/types.h /usr/lib/gcc-lib/i486-linux/2.5.8/include/stddef.h \
/usr/include/linux/limits.h /usr/include/linux/dirent.h /usr/include/posix1_lim.h \
/usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h
-getversion.o : getversion.c /usr/include/errno.h /usr/include/features.h /usr/include/sys/cdefs.h \
+getversion.o : ./getversion.c /usr/include/errno.h /usr/include/features.h /usr/include/sys/cdefs.h \
/usr/include/linux/errno.h /usr/include/sys/ioctl.h /usr/include/linux/ioctl.h \
/usr/include/termios.h /usr/include/sys/types.h /usr/include/linux/types.h /usr/include/asm/types.h \
- /usr/include/linux/termios.h /usr/include/linux/ext2_fs.h e2p.h /usr/include/dirent.h \
+ /usr/include/linux/termios.h /usr/include/linux/ext2_fs.h ./e2p.h /usr/include/dirent.h \
/usr/include/gnu/types.h /usr/lib/gcc-lib/i486-linux/2.5.8/include/stddef.h \
/usr/include/linux/limits.h /usr/include/linux/dirent.h /usr/include/posix1_lim.h \
/usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h
-iod.o : iod.c /usr/include/dirent.h /usr/include/features.h /usr/include/sys/cdefs.h \
+iod.o : ./iod.c ./e2p.h /usr/include/sys/types.h /usr/include/linux/types.h \
+ /usr/include/asm/types.h /usr/include/dirent.h /usr/include/features.h /usr/include/sys/cdefs.h \
/usr/include/gnu/types.h /usr/lib/gcc-lib/i486-linux/2.5.8/include/stddef.h \
- /usr/include/sys/types.h /usr/include/linux/types.h /usr/include/asm/types.h \
/usr/include/linux/limits.h /usr/include/linux/dirent.h /usr/include/posix1_lim.h \
- e2p.h /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h /usr/include/linux/ext2_fs.h
-ls.o : ls.c /usr/include/grp.h /usr/include/features.h /usr/include/sys/cdefs.h \
- /usr/include/gnu/types.h /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \
- /usr/lib/gcc-lib/i486-linux/2.5.8/include/stddef.h /usr/include/pwd.h /usr/include/time.h \
- /usr/include/sys/types.h /usr/include/linux/types.h /usr/include/asm/types.h \
- /usr/include/linux/ext2_fs.h e2p.h /usr/include/dirent.h /usr/include/linux/limits.h \
- /usr/include/linux/dirent.h /usr/include/posix1_lim.h
-pe.o : pe.c /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h \
+ /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h /usr/include/linux/ext2_fs.h
+ls.o : ./ls.c /usr/include/sys/types.h /usr/include/linux/types.h /usr/include/asm/types.h \
+ /usr/include/grp.h /usr/include/features.h /usr/include/sys/cdefs.h /usr/include/gnu/types.h \
+ /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h /usr/lib/gcc-lib/i486-linux/2.5.8/include/stddef.h \
+ /usr/include/pwd.h /usr/include/time.h /usr/include/linux/ext2_fs.h ./e2p.h \
+ /usr/include/dirent.h /usr/include/linux/limits.h /usr/include/linux/dirent.h \
+ /usr/include/posix1_lim.h
+pe.o : ./pe.c /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h \
/usr/include/libio.h /usr/include/_G_config.h /usr/include/linux/ext2_fs.h /usr/include/linux/types.h \
- /usr/include/asm/types.h e2p.h /usr/include/dirent.h /usr/include/gnu/types.h \
- /usr/lib/gcc-lib/i486-linux/2.5.8/include/stddef.h /usr/include/sys/types.h \
+ /usr/include/asm/types.h ./e2p.h /usr/include/sys/types.h /usr/include/dirent.h \
+ /usr/include/gnu/types.h /usr/lib/gcc-lib/i486-linux/2.5.8/include/stddef.h \
/usr/include/linux/limits.h /usr/include/linux/dirent.h /usr/include/posix1_lim.h
-pf.o : pf.c /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h \
+pf.o : ./pf.c /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h \
/usr/include/libio.h /usr/include/_G_config.h /usr/include/linux/ext2_fs.h /usr/include/linux/types.h \
- /usr/include/asm/types.h e2p.h /usr/include/dirent.h /usr/include/gnu/types.h \
- /usr/lib/gcc-lib/i486-linux/2.5.8/include/stddef.h /usr/include/sys/types.h \
+ /usr/include/asm/types.h ./e2p.h /usr/include/sys/types.h /usr/include/dirent.h \
+ /usr/include/gnu/types.h /usr/lib/gcc-lib/i486-linux/2.5.8/include/stddef.h \
/usr/include/linux/limits.h /usr/include/linux/dirent.h /usr/include/posix1_lim.h
-ps.o : ps.c /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h \
+ps.o : ./ps.c /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h \
/usr/include/libio.h /usr/include/_G_config.h /usr/include/linux/ext2_fs.h /usr/include/linux/types.h \
- /usr/include/asm/types.h e2p.h /usr/include/dirent.h /usr/include/gnu/types.h \
- /usr/lib/gcc-lib/i486-linux/2.5.8/include/stddef.h /usr/include/sys/types.h \
+ /usr/include/asm/types.h ./e2p.h /usr/include/sys/types.h /usr/include/dirent.h \
+ /usr/include/gnu/types.h /usr/lib/gcc-lib/i486-linux/2.5.8/include/stddef.h \
/usr/include/linux/limits.h /usr/include/linux/dirent.h /usr/include/posix1_lim.h
-setflags.o : setflags.c /usr/include/errno.h /usr/include/features.h /usr/include/sys/cdefs.h \
+setflags.o : ./setflags.c /usr/include/errno.h /usr/include/features.h /usr/include/sys/cdefs.h \
/usr/include/linux/errno.h /usr/include/sys/ioctl.h /usr/include/linux/ioctl.h \
/usr/include/termios.h /usr/include/sys/types.h /usr/include/linux/types.h /usr/include/asm/types.h \
- /usr/include/linux/termios.h /usr/include/linux/ext2_fs.h e2p.h /usr/include/dirent.h \
+ /usr/include/linux/termios.h /usr/include/linux/ext2_fs.h ./e2p.h /usr/include/dirent.h \
/usr/include/gnu/types.h /usr/lib/gcc-lib/i486-linux/2.5.8/include/stddef.h \
/usr/include/linux/limits.h /usr/include/linux/dirent.h /usr/include/posix1_lim.h \
/usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h
-setversion.o : setversion.c /usr/include/errno.h /usr/include/features.h /usr/include/sys/cdefs.h \
+setversion.o : ./setversion.c /usr/include/errno.h /usr/include/features.h /usr/include/sys/cdefs.h \
/usr/include/linux/errno.h /usr/include/sys/ioctl.h /usr/include/linux/ioctl.h \
/usr/include/termios.h /usr/include/sys/types.h /usr/include/linux/types.h /usr/include/asm/types.h \
- /usr/include/linux/termios.h /usr/include/linux/ext2_fs.h e2p.h /usr/include/dirent.h \
+ /usr/include/linux/termios.h /usr/include/linux/ext2_fs.h ./e2p.h /usr/include/dirent.h \
/usr/include/gnu/types.h /usr/lib/gcc-lib/i486-linux/2.5.8/include/stddef.h \
/usr/include/linux/limits.h /usr/include/linux/dirent.h /usr/include/posix1_lim.h \
/usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h
diff --git a/lib/e2p/ChangeLog b/lib/e2p/ChangeLog
index f96ffa82..228b4722 100644
--- a/lib/e2p/ChangeLog
+++ b/lib/e2p/ChangeLog
@@ -1,3 +1,61 @@
+Fri Oct 27 18:07:48 1995 <tytso@rsts-11.mit.edu>
+
+ * iod.c (iterate_on_dir): Don't assume that d->reclen is the size
+ of the dirent structure; it isn't under Linux.
+
+Mon Sep 4 21:43:53 1995 Remy Card <card@bbj>
+
+ * Makefile.in: Added support for BSD shared libraries.
+
+Fri Aug 11 08:36:40 1995 Theodore Y. Ts'o <tytso@lurch.mit.edu>
+
+ * setflags.c: #include <sys/types.h> before including <sys/stat.h>
+
+Sat Aug 12 03:11:45 1995 Remy Card <card@bbj>
+
+ * Makefile.in (install): Install static libraries in $(ulibdir)
+ (/usr/lib on Linux) instead of $(libdir) (/lib on Linux).
+
+Sat Aug 5 11:43:36 1995 Theodore Y. Ts'o <tytso@lurch.mit.edu>
+
+ * Makefile.in (DLL_INSTALL_DIR, ELF_INSTALL_DIR): Set the
+ installation directories correctly.
+
+Thu Jun 15 23:41:20 1995 Remy Card <card@bbj>
+
+ * Makefile.in: Added support for ELF shared libraries.
+
+Mon Jun 12 08:34:44 1995 Theodore Y. Ts'o <tytso@lurch.mit.edu>
+
+ * e2p.h: Move <direct.h> after <stdio.h>
+
+Thu Jun 8 12:47:04 1995 Miles Bader <miles@churchy.gnu.ai.mit.edu>
+
+ * iod.c (iterate_on_dir): If struct dirent has a d_namlen field,
+ assume that actual dirent entries may be larger than the structure
+ (by the name field), and take extra care deal with this case.
+ This code assumes that d_reclen is a valid dirent field.
+ Also, don't include <dirent.h>, as e2p.h already does.
+
+ * fgetversion.c (fgetversion): Only use the ext2 ioctl if it
+ doesn't cause a compile-time barf, otherwise just return EOPNOTSUPP.
+ * getversion.c (getversion): Ditto.
+ * fsetversion.c (fsetversion): Ditto.
+ * setversion.c (setversion): Ditto.
+ * fsetflags.c (fsetflags): Use chflags instead of the ext2 ioctl
+ if possible, and otherwise only use the ioctl if it doesn't barf.
+ * setflags.c (setflags): Ditto (with fchflags).
+ * fgetflags.c (fgetflags): Use the stat st_flags field instead of
+ the ext2 ioctl if possible, and otherwise only use the ioctl if it
+ doesn't barf.
+ * getflags.c (getflags): Ditto.
+
+ * e2p.h: Include <sys/types.h>, as some <dirent.h>s need it.
+ * ls.c: Move the include of <sys/types.h> to where <grp.h> can see it.
+
+ * Makefile.in: Rewritten to conform to GNU coding standards and
+ support separate compilation directories.
+
Mon Nov 7 21:59:12 1994 Remy Card <card@bbj>
* ls.c (list_super): List the new fields s_def_resuid and
diff --git a/lib/e2p/MAKELOG b/lib/e2p/MAKELOG
new file mode 100644
index 00000000..27e4420d
--- /dev/null
+++ b/lib/e2p/MAKELOG
@@ -0,0 +1,181 @@
+gcc -O2 -fomit-frame-pointer -I.. -c pe.c
+In file included from pe.c:19:
+/usr/include/linux/ext2_fs.h:127: parse error before `__u32'
+/usr/include/linux/ext2_fs.h:127: warning: no semicolon at end of struct or union
+/usr/include/linux/ext2_fs.h:128: warning: data definition has no type or storage class
+/usr/include/linux/ext2_fs.h:129: parse error before `aclh_acle_count'
+/usr/include/linux/ext2_fs.h:129: warning: data definition has no type or storage class
+/usr/include/linux/ext2_fs.h:130: parse error before `aclh_first_acle'
+/usr/include/linux/ext2_fs.h:130: warning: data definition has no type or storage class
+/usr/include/linux/ext2_fs.h:135: parse error before `__u32'
+/usr/include/linux/ext2_fs.h:135: warning: no semicolon at end of struct or union
+/usr/include/linux/ext2_fs.h:136: warning: data definition has no type or storage class
+/usr/include/linux/ext2_fs.h:137: parse error before `acle_type'
+/usr/include/linux/ext2_fs.h:137: warning: data definition has no type or storage class
+/usr/include/linux/ext2_fs.h:138: parse error before `acle_tag'
+/usr/include/linux/ext2_fs.h:138: warning: data definition has no type or storage class
+/usr/include/linux/ext2_fs.h:139: parse error before `acle_pad1'
+/usr/include/linux/ext2_fs.h:139: warning: data definition has no type or storage class
+/usr/include/linux/ext2_fs.h:140: parse error before `acle_next'
+/usr/include/linux/ext2_fs.h:140: warning: data definition has no type or storage class
+/usr/include/linux/ext2_fs.h:149: parse error before `__u32'
+/usr/include/linux/ext2_fs.h:149: warning: no semicolon at end of struct or union
+/usr/include/linux/ext2_fs.h:150: warning: data definition has no type or storage class
+/usr/include/linux/ext2_fs.h:151: parse error before `bg_inode_table'
+/usr/include/linux/ext2_fs.h:151: warning: data definition has no type or storage class
+/usr/include/linux/ext2_fs.h:152: parse error before `bg_free_blocks_count'
+/usr/include/linux/ext2_fs.h:152: warning: data definition has no type or storage class
+/usr/include/linux/ext2_fs.h:153: parse error before `bg_free_inodes_count'
+/usr/include/linux/ext2_fs.h:153: warning: data definition has no type or storage class
+/usr/include/linux/ext2_fs.h:158: parse error before `__u32'
+/usr/include/linux/ext2_fs.h:158: warning: no semicolon at end of struct or union
+/usr/include/linux/ext2_fs.h:159: warning: data definition has no type or storage class
+/usr/include/linux/ext2_fs.h:160: parse error before `bg_inode_table'
+/usr/include/linux/ext2_fs.h:160: warning: data definition has no type or storage class
+/usr/include/linux/ext2_fs.h:161: parse error before `bg_free_blocks_count'
+/usr/include/linux/ext2_fs.h:161: warning: data definition has no type or storage class
+/usr/include/linux/ext2_fs.h:162: parse error before `bg_free_inodes_count'
+/usr/include/linux/ext2_fs.h:162: warning: data definition has no type or storage class
+/usr/include/linux/ext2_fs.h:163: parse error before `bg_used_dirs_count'
+/usr/include/linux/ext2_fs.h:163: warning: data definition has no type or storage class
+/usr/include/linux/ext2_fs.h:164: parse error before `bg_pad'
+/usr/include/linux/ext2_fs.h:164: warning: data definition has no type or storage class
+/usr/include/linux/ext2_fs.h:165: parse error before `bg_reserved'
+/usr/include/linux/ext2_fs.h:165: warning: data definition has no type or storage class
+/usr/include/linux/ext2_fs.h:166: parse error before `}'
+/usr/include/linux/ext2_fs.h:213: parse error before `__u16'
+/usr/include/linux/ext2_fs.h:213: warning: no semicolon at end of struct or union
+/usr/include/linux/ext2_fs.h:214: warning: data definition has no type or storage class
+/usr/include/linux/ext2_fs.h:215: parse error before `i_size'
+/usr/include/linux/ext2_fs.h:215: warning: data definition has no type or storage class
+/usr/include/linux/ext2_fs.h:216: parse error before `i_atime'
+/usr/include/linux/ext2_fs.h:216: warning: data definition has no type or storage class
+/usr/include/linux/ext2_fs.h:217: parse error before `i_ctime'
+/usr/include/linux/ext2_fs.h:217: warning: data definition has no type or storage class
+/usr/include/linux/ext2_fs.h:218: parse error before `i_mtime'
+/usr/include/linux/ext2_fs.h:218: warning: data definition has no type or storage class
+/usr/include/linux/ext2_fs.h:219: parse error before `i_dtime'
+/usr/include/linux/ext2_fs.h:219: warning: data definition has no type or storage class
+/usr/include/linux/ext2_fs.h:220: parse error before `i_gid'
+/usr/include/linux/ext2_fs.h:220: warning: data definition has no type or storage class
+/usr/include/linux/ext2_fs.h:221: parse error before `i_links_count'
+/usr/include/linux/ext2_fs.h:221: warning: data definition has no type or storage class
+/usr/include/linux/ext2_fs.h:222: parse error before `i_blocks'
+/usr/include/linux/ext2_fs.h:222: warning: data definition has no type or storage class
+/usr/include/linux/ext2_fs.h:223: parse error before `i_flags'
+/usr/include/linux/ext2_fs.h:223: warning: data definition has no type or storage class
+/usr/include/linux/ext2_fs.h:226: parse error before `__u32'
+/usr/include/linux/ext2_fs.h:226: warning: no semicolon at end of struct or union
+/usr/include/linux/ext2_fs.h:226: warning: no semicolon at end of struct or union
+/usr/include/linux/ext2_fs.h:227: warning: data definition has no type or storage class
+/usr/include/linux/ext2_fs.h:229: parse error before `__u32'
+/usr/include/linux/ext2_fs.h:229: warning: no semicolon at end of struct or union
+/usr/include/linux/ext2_fs.h:230: warning: data definition has no type or storage class
+/usr/include/linux/ext2_fs.h:232: parse error before `__u32'
+/usr/include/linux/ext2_fs.h:232: warning: no semicolon at end of struct or union
+/usr/include/linux/ext2_fs.h:233: warning: data definition has no type or storage class
+/usr/include/linux/ext2_fs.h:234: parse error before `}'
+/usr/include/linux/ext2_fs.h:234: warning: data definition has no type or storage class
+/usr/include/linux/ext2_fs.h:235: parse error before `i_block'
+/usr/include/linux/ext2_fs.h:235: warning: data definition has no type or storage class
+/usr/include/linux/ext2_fs.h:236: parse error before `i_version'
+/usr/include/linux/ext2_fs.h:236: warning: data definition has no type or storage class
+/usr/include/linux/ext2_fs.h:237: parse error before `i_file_acl'
+/usr/include/linux/ext2_fs.h:237: warning: data definition has no type or storage class
+/usr/include/linux/ext2_fs.h:238: parse error before `i_dir_acl'
+/usr/include/linux/ext2_fs.h:238: warning: data definition has no type or storage class
+/usr/include/linux/ext2_fs.h:239: parse error before `i_faddr'
+/usr/include/linux/ext2_fs.h:239: warning: data definition has no type or storage class
+/usr/include/linux/ext2_fs.h:242: parse error before `__u8'
+/usr/include/linux/ext2_fs.h:242: warning: no semicolon at end of struct or union
+/usr/include/linux/ext2_fs.h:242: warning: no semicolon at end of struct or union
+/usr/include/linux/ext2_fs.h:243: warning: data definition has no type or storage class
+/usr/include/linux/ext2_fs.h:244: parse error before `i_pad1'
+/usr/include/linux/ext2_fs.h:244: warning: data definition has no type or storage class
+/usr/include/linux/ext2_fs.h:245: parse error before `l_i_reserved2'
+/usr/include/linux/ext2_fs.h:245: warning: data definition has no type or storage class
+/usr/include/linux/ext2_fs.h:246: parse error before `}'
+/usr/include/linux/ext2_fs.h:246: warning: data definition has no type or storage class
+/usr/include/linux/ext2_fs.h:248: parse error before `__u8'
+/usr/include/linux/ext2_fs.h:248: warning: no semicolon at end of struct or union
+/usr/include/linux/ext2_fs.h:249: warning: data definition has no type or storage class
+/usr/include/linux/ext2_fs.h:250: parse error before `h_i_mode_high'
+/usr/include/linux/ext2_fs.h:250: warning: data definition has no type or storage class
+/usr/include/linux/ext2_fs.h:251: parse error before `h_i_uid_high'
+/usr/include/linux/ext2_fs.h:251: warning: data definition has no type or storage class
+/usr/include/linux/ext2_fs.h:252: parse error before `h_i_gid_high'
+/usr/include/linux/ext2_fs.h:252: warning: data definition has no type or storage class
+/usr/include/linux/ext2_fs.h:253: parse error before `h_i_author'
+/usr/include/linux/ext2_fs.h:253: warning: data definition has no type or storage class
+/usr/include/linux/ext2_fs.h:254: warning: data definition has no type or storage class
+/usr/include/linux/ext2_fs.h:256: parse error before `__u8'
+/usr/include/linux/ext2_fs.h:256: warning: no semicolon at end of struct or union
+/usr/include/linux/ext2_fs.h:257: warning: data definition has no type or storage class
+/usr/include/linux/ext2_fs.h:258: parse error before `m_pad1'
+/usr/include/linux/ext2_fs.h:258: warning: data definition has no type or storage class
+/usr/include/linux/ext2_fs.h:259: parse error before `m_i_reserved2'
+/usr/include/linux/ext2_fs.h:259: warning: data definition has no type or storage class
+/usr/include/linux/ext2_fs.h:260: parse error before `}'
+/usr/include/linux/ext2_fs.h:260: warning: data definition has no type or storage class
+/usr/include/linux/ext2_fs.h:261: parse error before `}'
+/usr/include/linux/ext2_fs.h:261: warning: data definition has no type or storage class
+/usr/include/linux/ext2_fs.h:262: parse error before `}'
+/usr/include/linux/ext2_fs.h:329: parse error before `__u32'
+/usr/include/linux/ext2_fs.h:329: warning: no semicolon at end of struct or union
+/usr/include/linux/ext2_fs.h:330: warning: data definition has no type or storage class
+/usr/include/linux/ext2_fs.h:331: parse error before `s_r_blocks_count'
+/usr/include/linux/ext2_fs.h:331: warning: data definition has no type or storage class
+/usr/include/linux/ext2_fs.h:332: parse error before `s_free_blocks_count'
+/usr/include/linux/ext2_fs.h:332: warning: data definition has no type or storage class
+/usr/include/linux/ext2_fs.h:333: parse error before `s_free_inodes_count'
+/usr/include/linux/ext2_fs.h:333: warning: data definition has no type or storage class
+/usr/include/linux/ext2_fs.h:334: parse error before `s_first_data_block'
+/usr/include/linux/ext2_fs.h:334: warning: data definition has no type or storage class
+/usr/include/linux/ext2_fs.h:335: parse error before `s_log_block_size'
+/usr/include/linux/ext2_fs.h:335: warning: data definition has no type or storage class
+/usr/include/linux/ext2_fs.h:336: parse error before `s_log_frag_size'
+/usr/include/linux/ext2_fs.h:336: warning: data definition has no type or storage class
+/usr/include/linux/ext2_fs.h:337: parse error before `s_blocks_per_group'
+/usr/include/linux/ext2_fs.h:337: warning: data definition has no type or storage class
+/usr/include/linux/ext2_fs.h:338: parse error before `s_frags_per_group'
+/usr/include/linux/ext2_fs.h:338: warning: data definition has no type or storage class
+/usr/include/linux/ext2_fs.h:339: parse error before `s_inodes_per_group'
+/usr/include/linux/ext2_fs.h:339: warning: data definition has no type or storage class
+/usr/include/linux/ext2_fs.h:340: parse error before `s_mtime'
+/usr/include/linux/ext2_fs.h:340: warning: data definition has no type or storage class
+/usr/include/linux/ext2_fs.h:341: parse error before `s_wtime'
+/usr/include/linux/ext2_fs.h:341: warning: data definition has no type or storage class
+/usr/include/linux/ext2_fs.h:342: parse error before `s_mnt_count'
+/usr/include/linux/ext2_fs.h:342: warning: data definition has no type or storage class
+/usr/include/linux/ext2_fs.h:343: parse error before `s_max_mnt_count'
+/usr/include/linux/ext2_fs.h:343: warning: data definition has no type or storage class
+/usr/include/linux/ext2_fs.h:344: parse error before `s_magic'
+/usr/include/linux/ext2_fs.h:344: warning: data definition has no type or storage class
+/usr/include/linux/ext2_fs.h:345: parse error before `s_state'
+/usr/include/linux/ext2_fs.h:345: warning: data definition has no type or storage class
+/usr/include/linux/ext2_fs.h:346: parse error before `s_errors'
+/usr/include/linux/ext2_fs.h:346: warning: data definition has no type or storage class
+/usr/include/linux/ext2_fs.h:347: parse error before `s_pad'
+/usr/include/linux/ext2_fs.h:347: warning: data definition has no type or storage class
+/usr/include/linux/ext2_fs.h:348: parse error before `s_lastcheck'
+/usr/include/linux/ext2_fs.h:348: warning: data definition has no type or storage class
+/usr/include/linux/ext2_fs.h:349: parse error before `s_checkinterval'
+/usr/include/linux/ext2_fs.h:349: warning: data definition has no type or storage class
+/usr/include/linux/ext2_fs.h:350: parse error before `s_creator_os'
+/usr/include/linux/ext2_fs.h:350: warning: data definition has no type or storage class
+/usr/include/linux/ext2_fs.h:351: parse error before `s_rev_level'
+/usr/include/linux/ext2_fs.h:351: warning: data definition has no type or storage class
+/usr/include/linux/ext2_fs.h:352: parse error before `s_def_resuid'
+/usr/include/linux/ext2_fs.h:352: warning: data definition has no type or storage class
+/usr/include/linux/ext2_fs.h:353: parse error before `s_def_resgid'
+/usr/include/linux/ext2_fs.h:353: warning: data definition has no type or storage class
+/usr/include/linux/ext2_fs.h:354: parse error before `s_reserved'
+/usr/include/linux/ext2_fs.h:354: warning: data definition has no type or storage class
+/usr/include/linux/ext2_fs.h:355: parse error before `}'
+/usr/include/linux/ext2_fs.h:372: parse error before `__u32'
+/usr/include/linux/ext2_fs.h:372: warning: no semicolon at end of struct or union
+/usr/include/linux/ext2_fs.h:373: warning: data definition has no type or storage class
+/usr/include/linux/ext2_fs.h:374: parse error before `name_len'
+/usr/include/linux/ext2_fs.h:374: warning: data definition has no type or storage class
+/usr/include/linux/ext2_fs.h:376: parse error before `}'
+make: *** [pe.o] Error 1
diff --git a/lib/e2p/Makefile b/lib/e2p/Makefile
deleted file mode 100644
index 8ade7fa0..00000000
--- a/lib/e2p/Makefile
+++ /dev/null
@@ -1,98 +0,0 @@
-# Makefile for the second extended file system utility functions
-#
-# Copyright (C) 1993 Remy Card (card@masi.ibp.fr)
-#
-# This file can be redistributed under the terms of the GNU General
-# Public License
-
-all::
-
-include ../../MCONFIG
-
-CFLAGS_NO= $(WFLAGS) -I..
-CFLAGS= $(OPT) $(CFLAGS_NO)
-LDFLAGS= $(OPT)
-
-RM=rm -f
-MV=mv
-LN=ln -s
-
-OBJS= fgetflags.o fsetflags.o fgetversion.o fsetversion.o \
- getflags.o getversion.o iod.o ls.o pe.o pf.o ps.o \
- setflags.o setversion.o
-
-ifdef BUILD_DLL_SHLIBS
-DLL_ADDRESS = 0x66980000
-DLL_JUMPSIZE = 0x1000
-DLL_GOTSIZE = 0x1000
-DLL_VERSION = 1.0
-DLL_IMAGE = libe2p
-DLL_STUB = libe2p
-DLL_MYDIR = e2p
-DLL_INSTALL_DIR = $(SHLIBDIR)
-
-include ../Makefile.dll-lib
-endif
-
-.c.o:
- $(CC) $(CFLAGS) -c $*.c
-ifdef BUILD_PROFILE_LIBS
- $(CC) $(CFLAGS_NO) -pg -o profiled/$*.o -c $*.c
-endif
-ifdef BUILD_DLL_SHLIBS
- (export JUMP_DIR=`pwd`/jump; $(CC) -B$(JUMP_PREFIX) $(CFLAGS) \
- -o jump/$*.o -c $*.c)
-endif
-# $(CC) $(CFLAGS_NO) -checker -g -o checker/$*.o -c $*.c
-
-all:: libe2p.a
-
-ifdef BUILD_PROFILE_LIBS
-all:: libe2p_p.a
-endif
-
-libe2p.a: $(OBJS)
- $(RM) $@.bak
- -$(MV) $@ $@.bak
- $(ARCHIVE) $@ $(OBJS)
- $(RANLIB) $@
- $(RM) ../$@
- $(LN) e2p/$@ ../$@
-
-libe2p_p.a: $(OBJS)
- $(RM) $@.bak
- -$(MV) $@ $@.bak
- (cd profiled; $(ARCHIVE) ../$@ $(OBJS))
- $(RANLIB) $@
- $(RM) ../$@
- $(LN) e2p/$@ ../$@
-
-libe2p_chk.a: $(OBJS)
- $(RM) $@.bak
- -$(MV) $@ $@.bak
- (cd checker; $(ARCHIVE) ../$@ $(OBJS))
- $(RANLIB) $@
- $(RM) ../$@
- $(LN) e2p/$@ ../$@
-
-install::
-
-install-libs::
- $(INSTALLLIB) libe2p.a $(LIBDIR)/libe2p.a
- $(CHMOD) 644 $(LIBDIR)/libe2p.a
- $(RANLIB) $(LIBDIR)/libe2p.a
- $(CHMOD) $(LIBMODE) $(LIBDIR)/libe2p.a
-
-install-tree::
-
-clean::
- rm -f \#* *.s *.o *.a *~ *.bak core profiled/* checker/*
- rm -f ../libe2p.a ../libe2p_p.a
-
-really-clean:: clean
- rm -f .depend
-
-dep depend .depend:
- $(CC) -M $(CFLAGS) *.c >.depend
-
-include .depend
diff --git a/lib/e2p/Makefile.in b/lib/e2p/Makefile.in
new file mode 100644
index 00000000..2e8da282
--- /dev/null
+++ b/lib/e2p/Makefile.in
@@ -0,0 +1,129 @@
+# Makefile for the second extended file system utility functions
+#
+# Copyright (C) 1993 Remy Card (card@masi.ibp.fr)
+#
+# This file can be redistributed under the terms of the GNU General
+# Public License
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+top_builddir = ../..
+INSTALL = @INSTALL@
+
+@MCONFIG@
+
+all::
+
+OBJS= fgetflags.o fsetflags.o fgetversion.o fsetversion.o \
+ getflags.o getversion.o iod.o ls.o pe.o pf.o ps.o \
+ setflags.o setversion.o
+
+SRCS= $(srcdir)/fgetflags.c $(srcdir)/fsetflags.c \
+ $(srcdir)/fgetversion.c $(srcdir)/fsetversion.c \
+ $(srcdir)/getflags.c $(srcdir)/getversion.c \
+ $(srcdir)/iod.c $(srcdir)/ls.c $(srcdir)/pe.c \
+ $(srcdir)/pf.c $(srcdir)/ps.c \
+ $(srcdir)/setflags.c $(srcdir)/setversion.c
+
+LIBRARY= libe2p
+LIBDIR= e2p
+
+DLL_ADDRESS = 0x66980000
+DLL_JUMPSIZE = 0x1000
+DLL_GOTSIZE = 0x1000
+DLL_VERSION = 1.2
+DLL_IMAGE = libe2p
+DLL_STUB = libe2p
+DLL_MYDIR = e2p
+DLL_INSTALL_DIR = $(libdir)
+
+ELF_VERSION = 2.1
+ELF_IMAGE = libe2p
+ELF_MYDIR = e2p
+ELF_INSTALL_DIR = $(libdir)
+
+BSDLIB_VERSION = 2.1
+BSDLIB_IMAGE = libe2p
+BSDLIB_MYDIR = e2p
+BSDLIB_INSTALL_DIR = $(libdir)
+
+@MAKEFILE_LIBRARY@
+@MAKEFILE_DLL@
+@MAKEFILE_ELF@
+@MAKEFILE_BSDLIB@
+@MAKEFILE_PROFILE@
+@MAKEFILE_CHECKER@
+
+.c.o:
+ $(CC) $(CFLAGS) -c $< -o $@
+@PROFILE_CMT@ $(CC) $(CFLAGS) -pg -o profiled/$*.o -c $<
+@CHECKER_CMT@ $(CC) $(CFLAGS) -checker -g -o checker/$*.o -c $<
+@DLL_CMT@ (export JUMP_DIR=`pwd`/jump; $(CC) -B$(JUMP_PREFIX) $(CFLAGS) \
+@DLL_CMT@ -o jump/$*.o -c $<)
+@ELF_CMT@ $(CC) $(CFLAGS) -fPIC -o elfshared/$*.o -c $<
+@BSDLIB_CMT@ $(CC) $(CFLAGS) -fpic -o pic/$*.o -c $<
+
+installdirs::
+ $(top_srcdir)/mkinstalldirs $(DESTDIR)$(ulibdir)
+
+install:: all installdirs
+ $(INSTALL_DATA) libe2p.a $(DESTDIR)$(ulibdir)/libe2p.a
+ $(CHMOD) 644 $(DESTDIR)$(ulibdir)/libe2p.a
+ -$(RANLIB) $(DESTDIR)$(ulibdir)/libe2p.a
+ $(CHMOD) $(LIBMODE) $(DESTDIR)$(ulibdir)/libe2p.a
+
+uninstall::
+ $(RM) -f $(ulibdir)/libe2p.a
+
+clean::
+ $(RM) -f \#* *.s *.o *.a *~ *.bak core profiled/* checker/*
+ $(RM) -f ../libe2p.a ../libe2p_p.a
+mostlyclean:: clean
+distclean:: clean
+ $(RM) -f .depend Makefile
+
+# +++ Dependency line eater +++
+#
+# Makefile dependencies follow. This must be the last section in
+# the Makefile.in file
+#
+fgetflags.o : $(srcdir)/fgetflags.c \
+ $(srcdir)/e2p.h \
+
+fsetflags.o : $(srcdir)/fsetflags.c \
+ $(srcdir)/e2p.h \
+
+fgetversion.o : $(srcdir)/fgetversion.c \
+ $(srcdir)/e2p.h \
+
+fsetversion.o : $(srcdir)/fsetversion.c \
+ $(srcdir)/e2p.h \
+
+getflags.o : $(srcdir)/getflags.c \
+ $(srcdir)/e2p.h \
+
+getversion.o : $(srcdir)/getversion.c \
+ $(srcdir)/e2p.h \
+
+iod.o : $(srcdir)/iod.c $(srcdir)/e2p.h \
+
+ls.o : $(srcdir)/ls.c \
+ $(srcdir)/e2p.h \
+
+pe.o : $(srcdir)/pe.c \
+ $(srcdir)/e2p.h \
+
+pf.o : $(srcdir)/pf.c \
+ $(srcdir)/e2p.h \
+
+ps.o : $(srcdir)/ps.c \
+ $(srcdir)/e2p.h \
+
+setflags.o : $(srcdir)/setflags.c \
+ $(srcdir)/e2p.h \
+
+setversion.o : $(srcdir)/setversion.c \
+ $(srcdir)/e2p.h \
+
+
diff --git a/lib/e2p/configure b/lib/e2p/configure
new file mode 100644
index 00000000..db75368b
--- /dev/null
+++ b/lib/e2p/configure
@@ -0,0 +1,613 @@
+#!/bin/sh
+
+# Guess values for system-dependent variables and create Makefiles.
+# Generated automatically using autoconf version 2.1
+# Copyright (C) 1992, 1993, 1994 Free Software Foundation, Inc.
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Defaults:
+ac_help=
+ac_default_prefix=/usr/local
+# Any additions from configure.in:
+ac_help="$ac_help
+select compiler to use"
+ac_help="$ac_help
+select compiler command line options"
+ac_help="$ac_help
+select compiler preprocessor command line options"
+
+# Initialize some variables set by options.
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+build=NONE
+cache_file=./config.cache
+exec_prefix=NONE
+host=NONE
+no_create=
+nonopt=NONE
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+srcdir=
+target=NONE
+verbose=
+x_includes=NONE
+x_libraries=NONE
+
+# Initialize some other variables.
+subdirs=
+
+ac_prev=
+for ac_option
+do
+
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval "$ac_prev=\$ac_option"
+ ac_prev=
+ continue
+ fi
+
+ case "$ac_option" in
+ -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) ac_optarg= ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case "$ac_option" in
+
+ -build | --build | --buil | --bui | --bu | --b)
+ ac_prev=build ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=* | --b=*)
+ build="$ac_optarg" ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file="$ac_optarg" ;;
+
+ -disable-* | --disable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ eval "enable_${ac_feature}=no" ;;
+
+ -enable-* | --enable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "enable_${ac_feature}='$ac_optarg'" ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix="$ac_optarg" ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he)
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat << EOF
+Usage: configure [options] [host]
+Options: [defaults in brackets after descriptions]
+Configuration:
+ --cache-file=FILE cache test results in FILE
+ --help print this message
+ --no-create do not create output files
+ --quiet, --silent do not print \`checking...' messages
+ --version print the version of autoconf that created configure
+Directory and file names:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=PREFIX install architecture-dependent files in PREFIX
+ [same as prefix]
+ --srcdir=DIR find the sources in DIR [configure dir or ..]
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM run sed PROGRAM on installed program names
+Host type:
+ --build=BUILD configure for building on BUILD [BUILD=HOST]
+ --host=HOST configure for HOST [guessed]
+ --target=TARGET configure for TARGET [TARGET=HOST]
+Features and packages:
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --x-includes=DIR X include files are in DIR
+ --x-libraries=DIR X library files are in DIR
+--enable and --with options recognized:$ac_help
+EOF
+ exit 0 ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host="$ac_optarg" ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix="$ac_optarg" ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix="$ac_optarg" ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix="$ac_optarg" ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name="$ac_optarg" ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site="$ac_optarg" ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir="$ac_optarg" ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target="$ac_optarg" ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers)
+ echo "configure generated by autoconf version 2.1"
+ exit 0 ;;
+
+ -with-* | --with-*)
+ ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "with_${ac_package}='$ac_optarg'" ;;
+
+ -without-* | --without-*)
+ ac_package=`echo $ac_option|sed -e 's/-*without-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ eval "with_${ac_package}=no" ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes="$ac_optarg" ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries="$ac_optarg" ;;
+
+ -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
+ ;;
+
+ *)
+ if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
+ echo "configure: warning: $ac_option: invalid host type" 1>&2
+ fi
+ if test "x$nonopt" != xNONE; then
+ { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
+ fi
+ nonopt="$ac_option"
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
+fi
+
+trap 'rm -fr conftest* confdefs* core $ac_clean_files; exit 1' 1 2 15
+
+# File descriptor usage:
+# 0 unused; standard input
+# 1 file creation
+# 2 errors and warnings
+# 3 unused; some systems may open it to /dev/tty
+# 4 checking for... messages and results
+# 5 compiler messages saved in config.log
+if test "$silent" = yes; then
+ exec 4>/dev/null
+else
+ exec 4>&1
+fi
+exec 5>./config.log
+
+echo "\
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+" 1>&5
+
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Also quote any args containing shell metacharacters.
+ac_configure_args=
+for ac_arg
+do
+ case "$ac_arg" in
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c) ;;
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
+ ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+ *) ac_configure_args="$ac_configure_args $ac_arg" ;;
+ esac
+done
+
+# NLS nuisances.
+# Only set LANG and LC_ALL to C if already set.
+# These must not be set unconditionally because not all systems understand
+# e.g. LANG=C (notably SCO).
+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+if test "${LANG+set}" = set; then LANG=C; export LANG; fi
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo > confdefs.h
+
+# A filename unique to this package, relative to the directory that
+# configure is in, which we can look for to find out if srcdir is correct.
+ac_unique_file=e2p.h
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then its parent.
+ ac_prog=$0
+ ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
+ test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
+ srcdir=$ac_confdir
+ if test ! -r $srcdir/$ac_unique_file; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+ if test "$ac_srcdir_defaulted" = yes; then
+ { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
+ else
+ { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
+ fi
+fi
+srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
+
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$CONFIG_SITE"; then
+ if test "x$prefix" != xNONE; then
+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+ else
+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+ fi
+fi
+for ac_site_file in $CONFIG_SITE; do
+ if test -r "$ac_site_file"; then
+ echo "loading site script $ac_site_file"
+ . "$ac_site_file"
+ fi
+done
+
+if test -r "$cache_file"; then
+ echo "loading cache $cache_file"
+ . $cache_file
+else
+ echo "creating cache $cache_file"
+ > $cache_file
+fi
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} $CFLAGS $CPPFLAGS conftest.$ac_ext -c 1>&5 2>&5'
+ac_link='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext -o conftest $LIBS 1>&5 2>&5'
+
+if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
+ # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
+ if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
+ ac_n= ac_c='
+' ac_t=' '
+ else
+ ac_n=-n ac_c= ac_t=
+ fi
+else
+ ac_n= ac_c='\c' ac_t=
+fi
+
+
+
+
+# Check whether --with-cc or --without-cc was given.
+withval="$with_cc"
+if test -n "$withval"; then
+ echo "$ac_t""CC=$withval" 1>&4
+CC=$withval
+else
+ if test -z "$CC" ; then CC=cc; fi
+echo "$ac_t""CC defaults to $CC" 1>&4
+fi
+
+
+# Check whether --with-ccopts or --without-ccopts was given.
+withval="$with_ccopts"
+if test -n "$withval"; then
+ echo "$ac_t""CCOPTS is $withval" 1>&4
+CCOPTS=$withval
+CFLAGS="$CFLAGS $withval"
+else
+ CCOPTS=
+fi
+
+
+# Check whether --with-cppopts or --without-cppopts was given.
+withval="$with_cppopts"
+if test -n "$withval"; then
+ echo "$ac_t""CPPOPTS=$withval" 1>&4
+CPPOPTS=$withval
+CPPFLAGS="$CPPFLAGS $withval"
+else
+ echo "$ac_t""CPPOPTS defaults to $CPPOPTS" 1>&4
+fi
+
+trap '' 1 2 15
+if test -w $cache_file; then
+echo "updating cache $cache_file"
+cat > $cache_file <<\EOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs. It is not useful on other systems.
+# If it contains results you don't want to keep, you may remove or edit it.
+#
+# By default, configure uses ./config.cache as the cache file,
+# creating it if it does not exist already. You can give configure
+# the --cache-file=FILE option to use a different cache file; that is
+# what configure does when it calls configure scripts in
+# subdirectories, so they share the cache.
+# Giving --cache-file=/dev/null disables caching, for debugging configure.
+# config.status only pays attention to the cache file if you give it the
+# --recheck option to rerun configure.
+#
+EOF
+# Ultrix sh set writes to stderr and can't be redirected directly.
+(set) 2>&1 |
+ sed -n "s/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/: \${\1='\2'}/p" \
+ >> $cache_file
+else
+echo "not updating unwritable cache $cache_file"
+fi
+
+trap 'rm -fr conftest* confdefs* core $ac_clean_files; exit 1' 1 2 15
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Any assignment to VPATH causes Sun make to only execute
+# the first set of double-colon rules, so remove it if not needed.
+# If there is a colon in the path, we need to keep it.
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
+fi
+
+trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+cat > conftest.defs <<\EOF
+s%#define \([A-Za-z_][A-Za-z0-9_]*\) \(.*\)%-D\1=\2%g
+s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
+s%\[%\\&%g
+s%\]%\\&%g
+s%\$%$$%g
+EOF
+DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
+rm -f conftest.defs
+
+
+# Without the "./", some shells look in PATH for config.status.
+: ${CONFIG_STATUS=./config.status}
+
+echo creating $CONFIG_STATUS
+rm -f $CONFIG_STATUS
+cat > $CONFIG_STATUS <<EOF
+#!/bin/sh
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# This directory was configured as follows,
+# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+#
+# $0 $ac_configure_args
+#
+# Compiler output produced by configure, useful for debugging
+# configure, is in ./config.log if it exists.
+
+ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
+for ac_option
+do
+ case "\$ac_option" in
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
+ exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
+ -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
+ echo "$CONFIG_STATUS generated by autoconf version 2.1"
+ exit 0 ;;
+ -help | --help | --hel | --he | --h)
+ echo "\$ac_cs_usage"; exit 0 ;;
+ *) echo "\$ac_cs_usage"; exit 1 ;;
+ esac
+done
+
+ac_given_srcdir=$srcdir
+
+trap 'rm -f Makefile; exit 1' 1 2 15
+
+# Protect against being on the right side of a sed subst in config.status.
+sed 's/%@/@@/; s/@%/@@/; s/%g$/@g/; /@g$/s/[\\\\&%]/\\\\&/g;
+ s/@@/%@/; s/@@/@%/; s/@g$/%g/' > conftest.subs <<\CEOF
+$ac_vpsub
+$extrasub
+s%@CFLAGS@%$CFLAGS%g
+s%@CPPFLAGS@%$CPPFLAGS%g
+s%@CXXFLAGS@%$CXXFLAGS%g
+s%@DEFS@%$DEFS%g
+s%@LDFLAGS@%$LDFLAGS%g
+s%@LIBS@%$LIBS%g
+s%@exec_prefix@%$exec_prefix%g
+s%@prefix@%$prefix%g
+s%@program_transform_name@%$program_transform_name%g
+s%@CC@%$CC%g
+s%@CCOPTS@%$CCOPTS%g
+s%@CPPOPTS@%$CPPOPTS%g
+
+CEOF
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
+ # Support "outfile[:infile]", defaulting infile="outfile.in".
+ case "$ac_file" in
+ *:*) ac_file_in=`echo "$ac_file"|sed 's%.*:%%'`
+ ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+ *) ac_file_in="${ac_file}.in" ;;
+ esac
+
+ # Adjust relative srcdir, etc. for subdirectories.
+
+ # Remove last slash and all that follows it. Not all systems have dirname.
+ ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ # The file is in a subdirectory.
+ test ! -d "$ac_dir" && mkdir "$ac_dir"
+ ac_dir_suffix="/$ac_dir"
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
+ else
+ ac_dir_suffix= ac_dots=
+ fi
+
+ case "$ac_given_srcdir" in
+ .) srcdir=.
+ if test -z "$ac_dots"; then top_srcdir=.
+ else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
+ /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
+ *) # Relative path.
+ srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
+ top_srcdir="$ac_dots$ac_given_srcdir" ;;
+ esac
+
+ echo creating "$ac_file"
+ rm -f "$ac_file"
+ configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
+ case "$ac_file" in
+ *Makefile*) ac_comsub="1i\\
+# $configure_input" ;;
+ *) ac_comsub= ;;
+ esac
+ sed -e "$ac_comsub
+s%@configure_input@%$configure_input%g
+s%@srcdir@%$srcdir%g
+s%@top_srcdir@%$top_srcdir%g
+" -f conftest.subs $ac_given_srcdir/$ac_file_in > $ac_file
+fi; done
+rm -f conftest.subs
+
+
+
+exit 0
+EOF
+chmod +x $CONFIG_STATUS
+rm -fr confdefs* $ac_clean_files
+test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS
+
diff --git a/lib/e2p/jump/jump.funcs b/lib/e2p/dll/jump.funcs
index 61a69fb6..61a69fb6 100644
--- a/lib/e2p/jump/jump.funcs
+++ b/lib/e2p/dll/jump.funcs
diff --git a/lib/e2p/dll/jump.ignore b/lib/e2p/dll/jump.ignore
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/lib/e2p/dll/jump.ignore
diff --git a/lib/e2p/jump/jump.import b/lib/e2p/dll/jump.import
index 51b1fd88..51b1fd88 100644
--- a/lib/e2p/jump/jump.import
+++ b/lib/e2p/dll/jump.import
diff --git a/lib/e2p/jump/jump.params b/lib/e2p/dll/jump.params
index 7d3efe93..ebaa892c 100644
--- a/lib/e2p/jump/jump.params
+++ b/lib/e2p/dll/jump.params
@@ -3,4 +3,4 @@ Text=0x66980000
Data=0x00000000
Jump=0x00001000
GOT=0x00001000
-Version=1.0.0
+Version=1.2.0
diff --git a/lib/e2p/dll/jump.undefs b/lib/e2p/dll/jump.undefs
new file mode 100644
index 00000000..48d61eaf
--- /dev/null
+++ b/lib/e2p/dll/jump.undefs
@@ -0,0 +1 @@
+66982040 D __NEEDS_SHRLIB_libc_4
diff --git a/lib/e2p/dll/jump.vars b/lib/e2p/dll/jump.vars
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/lib/e2p/dll/jump.vars
diff --git a/lib/e2p/e2p.h b/lib/e2p/e2p.h
index 8ff770f5..dc2dbe57 100644
--- a/lib/e2p/e2p.h
+++ b/lib/e2p/e2p.h
@@ -1,5 +1,6 @@
-#include <dirent.h>
+#include <sys/types.h> /* Needed by dirent.h on netbsd */
#include <stdio.h>
+#include <dirent.h>
#include <linux/ext2_fs.h>
diff --git a/lib/e2p/fgetflags.c b/lib/e2p/fgetflags.c
index 95b0bdc8..752da0b5 100644
--- a/lib/e2p/fgetflags.c
+++ b/lib/e2p/fgetflags.c
@@ -14,10 +14,18 @@
* 93/10/30 - Creation
*/
+#if HAVE_ERRNO_H
#include <errno.h>
-#include <fcntl.h>
+#endif
+#if HAVE_UNISTD_H
#include <unistd.h>
+#endif
+#if HAVE_STAT_FLAGS
+#include <sys/stat.h>
+#else
+#include <fcntl.h>
#include <sys/ioctl.h>
+#endif
#include <linux/ext2_fs.h>
@@ -25,6 +33,29 @@
int fgetflags (const char * name, unsigned long * flags)
{
+#if HAVE_STAT_FLAGS
+ struct stat buf;
+
+ if (stat (name, &buf) == -1)
+ return -1;
+
+ *flags = 0;
+#ifdef UF_IMMUTABLE
+ if (buf.st_flags & UF_IMMUTABLE)
+ *flags |= EXT2_IMMUTABLE_FL;
+#endif
+#ifdef UF_APPEND
+ if (buf.st_flags & UF_APPEND)
+ *flags |= EXT2_APPEND_FL;
+#endif
+#ifdef UF_NODUMP
+ if (buf.st_flags & UF_NODUMP)
+ *flags |= EXT2_NODUMP_FL;
+#endif
+
+ return 0;
+#else
+#if HAVE_EXT2_IOCTLS
int fd;
int r;
@@ -32,6 +63,13 @@ int fgetflags (const char * name, unsigned long * flags)
if (fd == -1)
return -1;
r = ioctl (fd, EXT2_IOC_GETFLAGS, flags);
+
close (fd);
return r;
+#else /* ! HAVE_EXT2_IOCTLS */
+ extern int errno;
+ errno = EOPNOTSUPP;
+ return -1;
+#endif /* ! HAVE_EXT2_IOCTLS */
+#endif
}
diff --git a/lib/e2p/fgetversion.c b/lib/e2p/fgetversion.c
index 73429f2a..89e07131 100644
--- a/lib/e2p/fgetversion.c
+++ b/lib/e2p/fgetversion.c
@@ -14,9 +14,13 @@
* 93/10/30 - Creation
*/
+#if HAVE_ERRNO_H
#include <errno.h>
-#include <fcntl.h>
+#endif
+#if HAVE_UNISTD_H
#include <unistd.h>
+#endif
+#include <fcntl.h>
#include <sys/ioctl.h>
#include <linux/ext2_fs.h>
@@ -25,6 +29,7 @@
int fgetversion (const char * name, unsigned long * version)
{
+#if HAVE_EXT2_IOCTLS
int fd;
int r;
@@ -34,4 +39,9 @@ int fgetversion (const char * name, unsigned long * version)
r = ioctl (fd, EXT2_IOC_GETVERSION, version);
close (fd);
return r;
+#else /* ! HAVE_EXT2_IOCTLS */
+ extern int errno;
+ errno = EOPNOTSUPP;
+ return -1;
+#endif /* ! HAVE_EXT2_IOCTLS */
}
diff --git a/lib/e2p/fsetflags.c b/lib/e2p/fsetflags.c
index 180d48f5..a2584432 100644
--- a/lib/e2p/fsetflags.c
+++ b/lib/e2p/fsetflags.c
@@ -14,10 +14,18 @@
* 93/10/30 - Creation
*/
+#if HAVE_ERRNO_H
#include <errno.h>
-#include <fcntl.h>
+#endif
+#if HAVE_UNISTD_H
#include <unistd.h>
+#endif
+#if HAVE_CHFLAGS
+#include <sys/stat.h> /* For the flag values. */
+#else
+#include <fcntl.h>
#include <sys/ioctl.h>
+#endif
#include <linux/ext2_fs.h>
@@ -25,6 +33,25 @@
int fsetflags (const char * name, unsigned long flags)
{
+#if HAVE_CHFLAGS
+ unsigned long bsd_flags = 0;
+
+#ifdef UF_IMMUTABLE
+ if (flags & EXT2_IMMUTABLE_FL)
+ bsd_flags |= UF_IMMUTABLE;
+#endif
+#ifdef UF_APPEND
+ if (flags & EXT2_APPEND_FL)
+ bsd_flags |= UF_APPEND;
+#endif
+#ifdef UF_NODUMP
+ if (flags & EXT2_NODUMP_FL)
+ bsd_flags |= UF_NODUMP;
+#endif
+
+ return chflags (name, bsd_flags);
+#else
+#if HAVE_EXT2_IOCTLS
int fd;
int r;
@@ -34,4 +61,10 @@ int fsetflags (const char * name, unsigned long flags)
r = ioctl (fd, EXT2_IOC_SETFLAGS, &flags);
close (fd);
return r;
+#else /* ! HAVE_EXT2_IOCTLS */
+ extern int errno;
+ errno = EOPNOTSUPP;
+ return -1;
+#endif /* ! HAVE_EXT2_IOCTLS */
+#endif
}
diff --git a/lib/e2p/fsetversion.c b/lib/e2p/fsetversion.c
index 1bb8acca..afea3656 100644
--- a/lib/e2p/fsetversion.c
+++ b/lib/e2p/fsetversion.c
@@ -14,9 +14,13 @@
* 93/10/30 - Creation
*/
+#if HAVE_ERRNO_H
#include <errno.h>
-#include <fcntl.h>
+#endif
+#if HAVE_UNISTD_H
#include <unistd.h>
+#endif
+#include <fcntl.h>
#include <sys/ioctl.h>
#include <linux/ext2_fs.h>
@@ -25,6 +29,7 @@
int fsetversion (const char * name, unsigned long version)
{
+#if HAVE_EXT2_IOCTLS
int fd;
int r;
@@ -34,4 +39,9 @@ int fsetversion (const char * name, unsigned long version)
r = ioctl (fd, EXT2_IOC_SETVERSION, &version);
close (fd);
return r;
+#else /* ! HAVE_EXT2_IOCTLS */
+ extern int errno;
+ errno = EOPNOTSUPP;
+ return -1;
+#endif /* ! HAVE_EXT2_IOCTLS */
}
diff --git a/lib/e2p/getflags.c b/lib/e2p/getflags.c
index 4e537490..ac014a70 100644
--- a/lib/e2p/getflags.c
+++ b/lib/e2p/getflags.c
@@ -14,8 +14,14 @@
* 93/10/30 - Creation
*/
+#if HAVE_ERRNO_H
#include <errno.h>
+#endif
+#if HAVE_STAT_FLAGS
+#include <sys/stat.h>
+#else
#include <sys/ioctl.h>
+#endif
#include <linux/ext2_fs.h>
@@ -23,5 +29,34 @@
int getflags (int fd, unsigned long * flags)
{
+#if HAVE_STAT_FLAGS
+ struct stat buf;
+
+ if (fstat (fd, &buf) == -1)
+ return -1;
+
+ *flags = 0;
+#ifdef UF_IMMUTABLE
+ if (buf.st_flags & UF_IMMUTABLE)
+ *flags |= EXT2_IMMUTABLE_FL;
+#endif
+#ifdef UF_APPEND
+ if (buf.st_flags & UF_APPEND)
+ *flags |= EXT2_APPEND_FL;
+#endif
+#ifdef UF_NODUMP
+ if (buf.st_flags & UF_NODUMP)
+ *flags |= EXT2_NODUMP_FL;
+#endif
+
+ return 0;
+#else
+#if HAVE_EXT2_IOCTLS
return ioctl (fd, EXT2_IOC_GETFLAGS, flags);
+#else /* ! HAVE_EXT2_IOCTLS */
+ extern int errno;
+ errno = EOPNOTSUPP;
+ return -1;
+#endif /* ! HAVE_EXT2_IOCTLS */
+#endif
}
diff --git a/lib/e2p/getversion.c b/lib/e2p/getversion.c
index 04dc0f75..309dfb6f 100644
--- a/lib/e2p/getversion.c
+++ b/lib/e2p/getversion.c
@@ -14,7 +14,9 @@
* 93/10/30 - Creation
*/
+#if HAVE_ERRNO_H
#include <errno.h>
+#endif
#include <sys/ioctl.h>
#include <linux/ext2_fs.h>
@@ -23,5 +25,11 @@
int getversion (int fd, unsigned long * version)
{
+#if HAVE_EXT2_IOCTLS
return ioctl (fd, EXT2_IOC_GETVERSION, version);
+#else /* ! HAVE_EXT2_IOCTLS */
+ extern int errno;
+ errno = EOPNOTSUPP;
+ return -1;
+#endif /* ! HAVE_EXT2_IOCTLS */
}
diff --git a/lib/e2p/iod.c b/lib/e2p/iod.c
index 52c16a13..7b02a7f3 100644
--- a/lib/e2p/iod.c
+++ b/lib/e2p/iod.c
@@ -14,8 +14,6 @@
* 93/10/30 - Creation
*/
-#include <dirent.h>
-
#include "e2p.h"
int iterate_on_dir (const char * dir_name,
@@ -23,7 +21,13 @@ int iterate_on_dir (const char * dir_name,
void * private)
{
DIR * dir;
- struct dirent de;
+#if HAVE_DIRENT_NAMELEN
+ /* Declare DE_BUF with some extra room for the name. */
+ char de_buf[sizeof (struct dirent) + 32];
+ struct dirent *de = (struct dirent *)&de_buf;
+#else
+ struct dirent de_buf, *de = &de_buf;
+#endif
struct dirent *dep;
dir = opendir (dir_name);
@@ -31,12 +35,32 @@ int iterate_on_dir (const char * dir_name,
return -1;
while ((dep = readdir (dir)))
{
- de.d_ino = dep->d_ino;
- de.d_off = dep->d_off;
- de.d_reclen = dep->d_reclen;
- strcpy (de.d_name, dep->d_name);
- (*func) (dir_name, &de, private);
+#if HAVE_DIRENT_NAMELEN
+ /* See if there's enough room for this entry in DE, and grow if
+ not. */
+ if (de_len < dep->d_reclen)
+ {
+ de_len = dep->d_reclen + 32;
+ de =
+ (de == (struct dirent *)&de_buf
+ ? malloc (de_len)
+ : realloc (de, de_len));
+ if (de == NULL)
+ {
+ errno = ENOMEM;
+ return -1;
+ }
+ }
+ memcpy (de, dep, dep->d_reclen);
+#else
+ *de = *dep;
+#endif
+ (*func) (dir_name, de, private);
}
+#if HAVE_DIRENT_NAMELEN
+ if (de != (struct dirent *)&de_buf)
+ free (de);
+#endif
closedir (dir);
return 0;
}
diff --git a/lib/e2p/jump/jump.undefs b/lib/e2p/jump/jump.undefs
deleted file mode 100644
index 44925621..00000000
--- a/lib/e2p/jump/jump.undefs
+++ /dev/null
@@ -1 +0,0 @@
-66983040 D __NEEDS_SHRLIB_libc_4
diff --git a/lib/e2p/ls.c b/lib/e2p/ls.c
index f879a3c6..6870098c 100644
--- a/lib/e2p/ls.c
+++ b/lib/e2p/ls.c
@@ -9,11 +9,11 @@
* Public License
*/
+#include <sys/types.h>
#include <grp.h>
#include <pwd.h>
#include <stdio.h>
#include <time.h>
-#include <sys/types.h>
#include <linux/ext2_fs.h>
@@ -52,23 +52,23 @@ void list_super (struct ext2_super_block * s)
printf ("Errors behavior: ");
print_fs_errors (stdout, s->s_errors);
printf ("\n");
- printf ("Inode count: %lu\n", s->s_inodes_count);
- printf ("Block count: %lu\n", s->s_blocks_count);
- printf ("Reserved block count: %lu\n", s->s_r_blocks_count);
- printf ("Free blocks: %lu\n", s->s_free_blocks_count);
- printf ("Free inodes: %lu\n", s->s_free_inodes_count);
- printf ("First block: %lu\n", s->s_first_data_block);
+ printf ("Inode count: %u\n", s->s_inodes_count);
+ printf ("Block count: %u\n", s->s_blocks_count);
+ printf ("Reserved block count: %u\n", s->s_r_blocks_count);
+ printf ("Free blocks: %u\n", s->s_free_blocks_count);
+ printf ("Free inodes: %u\n", s->s_free_inodes_count);
+ printf ("First block: %u\n", s->s_first_data_block);
printf ("Block size: %u\n", EXT2_BLOCK_SIZE(s));
printf ("Fragment size: %u\n", EXT2_FRAG_SIZE(s));
- printf ("Blocks per group: %lu\n", s->s_blocks_per_group);
- printf ("Fragments per group: %lu\n", s->s_frags_per_group);
- printf ("Inodes per group: %lu\n", s->s_inodes_per_group);
+ printf ("Blocks per group: %u\n", s->s_blocks_per_group);
+ printf ("Fragments per group: %u\n", s->s_frags_per_group);
+ printf ("Inodes per group: %u\n", s->s_inodes_per_group);
printf ("Last mount time: %s", ctime ((time_t *) &s->s_mtime));
printf ("Last write time: %s", ctime ((time_t *) &s->s_wtime));
printf ("Mount count: %u\n", s->s_mnt_count);
printf ("Maximum mount count: %d\n", s->s_max_mnt_count);
printf ("Last checked: %s", ctime ((time_t *) &s->s_lastcheck));
- printf ("Check interval: %lu\n", s->s_checkinterval);
+ printf ("Check interval: %u\n", s->s_checkinterval);
if (s->s_checkinterval)
{
time_t next;
diff --git a/lib/e2p/setflags.c b/lib/e2p/setflags.c
index c1e9fcbb..06f127f2 100644
--- a/lib/e2p/setflags.c
+++ b/lib/e2p/setflags.c
@@ -14,8 +14,15 @@
* 93/10/30 - Creation
*/
+#if HAVE_ERRNO_H
#include <errno.h>
+#endif
+#if HAVE_CHFLAGS
+#include <sys/types.h>
+#include <sys/stat.h> /* For the flag values. */
+#else
#include <sys/ioctl.h>
+#endif
#include <linux/ext2_fs.h>
@@ -23,5 +30,30 @@
int setflags (int fd, unsigned long flags)
{
+#if HAVE_CHFLAGS
+ unsigned long bsd_flags = 0;
+
+#ifdef UF_IMMUTABLE
+ if (flags & EXT2_IMMUTABLE_FL)
+ bsd_flags |= UF_IMMUTABLE;
+#endif
+#ifdef UF_APPEND
+ if (flags & EXT2_APPEND_FL)
+ bsd_flags |= UF_APPEND;
+#endif
+#ifdef UF_NODUMP
+ if (flags & EXT2_NODUMP_FL)
+ bsd_flags |= UF_NODUMP;
+#endif
+
+ return fchflags (fd, bsd_flags);
+#else
+#if HAVE_EXT2_IOCTLS
return ioctl (fd, EXT2_IOC_SETFLAGS, &flags);
+#else /* ! HAVE_EXT2_IOCTLS */
+ extern int errno;
+ errno = EOPNOTSUPP;
+ return -1;
+#endif /* ! HAVE_EXT2_IOCTLS */
+#endif
}
diff --git a/lib/e2p/setversion.c b/lib/e2p/setversion.c
index a6da31e2..f2c48cd9 100644
--- a/lib/e2p/setversion.c
+++ b/lib/e2p/setversion.c
@@ -14,7 +14,9 @@
* 93/10/30 - Creation
*/
+#if HAVE_ERRNO_H
#include <errno.h>
+#endif
#include <sys/ioctl.h>
#include <linux/ext2_fs.h>
@@ -23,5 +25,11 @@
int setversion (int fd, unsigned long version)
{
+#if HAVE_EXT2_IOCTLS
return ioctl (fd, EXT2_IOC_SETVERSION, &version);
+#else /* ! HAVE_EXT2_IOCTLS */
+ extern int errno;
+ errno = EOPNOTSUPP;
+ return -1;
+#endif /* ! HAVE_EXT2_IOCTLS */
}