Sun Mar  8 22:17:59 1998  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* gen_uuid.c (get_node_id): Use char * instead of caddr_t, which
		doesn't always exist for glibc.

Tue Oct 14 21:48:16 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* gen_uuid.c: Use clock_reg instead of clock, since clock
		conflicts with a header file declaration.

Tue Jun 17 01:33:20 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* Release of E2fsprogs 1.11

Thu Apr 24 12:16:42 1997  Theodre Ts'o  <tytso@localhost.mit.edu>

	* Release of E2fsprogs version 1.10

Thu Apr 17 12:23:38 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* Release of E2fsprogs version 1.09

Fri Apr 11 18:56:26 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* Release of E2fsprogs version 1.08

Wed Mar 12 13:32:05 1997  Theodore Y. Ts'o  <tytso@mit.edu>

	* Release of E2fsprogs version 1.07

Sun Mar  2 16:45:36 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* Makefile.in (ELF_VERSION): Change version to be 1.1

Thu Feb  6 23:08:07 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* gen_uuid.c (uuid_generate): Set Multicast bit when picking a
		random node_id, to prevent conflicts with IEEE 802
		addresses obtained from network cards.

Wed Jan  1 23:51:09 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* unpack.c, pack.c: Include string.h, since we use memcpy().

Tue Dec  3 13:05:11 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* parse.c: Add #include of ctype.h and stdlib.h, to pull in the
		required prototypes.

Fri Oct 11 17:15:10 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* Makefile.in (DLL_ADDRESS): Updated DLL address for libuuid.

Tue Oct  8 02:02:03 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* Release of E2fsprogs version 1.06

Thu Sep 12 15:23:07 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* Release of E2fsprogs version 1.05

Tue Aug 27 16:50:43 1996  Miles Bader  <miles@gnu.ai.mit.edu>

	* uuid/gen_uuid.c [HAVE_NET_IF_H] <net/if.h>: Include guarded.
	[HAVE_NETINET_IN_H] <netinet/in.h>: Include guarded.
	(get_node_id): Surround bulk of function with #ifdef HAVE_NET_IF_H.

Tue Aug 27 16:50:16 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* gen_uuid.c (get_node_id): Add a specific ifdef for the HURD,
		since it is broken w.r.t getting hardware addresses.
