aboutsummaryrefslogtreecommitdiffstats
path: root/lib/libefi
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libefi')
-rw-r--r--lib/libefi/Makefile.am8
-rw-r--r--lib/libefi/Makefile.in23
-rw-r--r--lib/libefi/include/sys/efi_partition.h242
-rw-r--r--lib/libefi/include/sys/uuid.h94
4 files changed, 10 insertions, 357 deletions
diff --git a/lib/libefi/Makefile.am b/lib/libefi/Makefile.am
index 431179340..57f1bd31e 100644
--- a/lib/libefi/Makefile.am
+++ b/lib/libefi/Makefile.am
@@ -3,12 +3,10 @@ include $(top_srcdir)/config/Rules.am
AM_CFLAGS += $(DEBUG_STACKFLAGS) $(FRAME_LARGER_THAN)
DEFAULT_INCLUDES += \
- -I${top_srcdir}/lib/libefi/include \
- -I${top_srcdir}/lib/libspl/include
+ -I$(top_srcdir)/include \
+ -I$(top_srcdir)/lib/libspl/include
lib_LTLIBRARIES = libefi.la
libefi_la_SOURCES = \
- ${top_srcdir}/lib/libefi/rdwr_efi.c \
- ${top_srcdir}/lib/libefi/include/sys/efi_partition.h \
- ${top_srcdir}/lib/libefi/include/sys/uuid.h
+ $(top_srcdir)/lib/libefi/rdwr_efi.c
diff --git a/lib/libefi/Makefile.in b/lib/libefi/Makefile.in
index 6fa193c8c..debd06fd8 100644
--- a/lib/libefi/Makefile.in
+++ b/lib/libefi/Makefile.in
@@ -144,14 +144,12 @@ AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
-BUILDDIR = @BUILDDIR@
CC = @CC@
CCAS = @CCAS@
CCASDEPMODE = @CCASDEPMODE@
CCASFLAGS = @CCASFLAGS@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
-CMDDIR = @CMDDIR@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CYGPATH_W = @CYGPATH_W@
@@ -189,7 +187,6 @@ KERNELMAKE_PARAMS = @KERNELMAKE_PARAMS@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBBLKID = @LIBBLKID@
-LIBDIR = @LIBDIR@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
@@ -204,7 +201,6 @@ LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
-MODDIR = @MODDIR@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
@@ -223,7 +219,6 @@ RPM = @RPM@
RPMBUILD = @RPMBUILD@
RPMBUILD_VERSION = @RPMBUILD_VERSION@
RPM_VERSION = @RPM_VERSION@
-SCRIPTDIR = @SCRIPTDIR@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
@@ -233,7 +228,6 @@ SPL_SYMBOLS = @SPL_SYMBOLS@
SPL_VERSION = @SPL_VERSION@
STRIP = @STRIP@
TARGET_ASM_DIR = @TARGET_ASM_DIR@
-TOPDIR = @TOPDIR@
VENDOR = @VENDOR@
VERSION = @VERSION@
ZFS_CONFIG = @ZFS_CONFIG@
@@ -304,9 +298,8 @@ target_vendor = @target_vendor@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-DEFAULT_INCLUDES = -include ${top_srcdir}/zfs_config.h \
- -I${top_srcdir}/lib/libefi/include \
- -I${top_srcdir}/lib/libspl/include
+DEFAULT_INCLUDES = -include ${top_builddir}/zfs_config.h \
+ -I$(top_srcdir)/include -I$(top_srcdir)/lib/libspl/include
AM_LIBTOOLFLAGS = --silent
AM_CFLAGS = -Wall -Wstrict-prototypes -fno-strict-aliasing \
${DEBUG_CFLAGS} -D_GNU_SOURCE -D__EXTENSIONS__ -D_REENTRANT \
@@ -315,9 +308,7 @@ AM_CFLAGS = -Wall -Wstrict-prototypes -fno-strict-aliasing \
$(DEBUG_STACKFLAGS) $(FRAME_LARGER_THAN)
lib_LTLIBRARIES = libefi.la
libefi_la_SOURCES = \
- ${top_srcdir}/lib/libefi/rdwr_efi.c \
- ${top_srcdir}/lib/libefi/include/sys/efi_partition.h \
- ${top_srcdir}/lib/libefi/include/sys/uuid.h
+ $(top_srcdir)/lib/libefi/rdwr_efi.c
all: all-am
@@ -419,13 +410,13 @@ distclean-compile:
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
-rdwr_efi.lo: ${top_srcdir}/lib/libefi/rdwr_efi.c
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT rdwr_efi.lo -MD -MP -MF $(DEPDIR)/rdwr_efi.Tpo -c -o rdwr_efi.lo `test -f '${top_srcdir}/lib/libefi/rdwr_efi.c' || echo '$(srcdir)/'`${top_srcdir}/lib/libefi/rdwr_efi.c
+rdwr_efi.lo: $(top_srcdir)/lib/libefi/rdwr_efi.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT rdwr_efi.lo -MD -MP -MF $(DEPDIR)/rdwr_efi.Tpo -c -o rdwr_efi.lo `test -f '$(top_srcdir)/lib/libefi/rdwr_efi.c' || echo '$(srcdir)/'`$(top_srcdir)/lib/libefi/rdwr_efi.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/rdwr_efi.Tpo $(DEPDIR)/rdwr_efi.Plo
@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='${top_srcdir}/lib/libefi/rdwr_efi.c' object='rdwr_efi.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/lib/libefi/rdwr_efi.c' object='rdwr_efi.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o rdwr_efi.lo `test -f '${top_srcdir}/lib/libefi/rdwr_efi.c' || echo '$(srcdir)/'`${top_srcdir}/lib/libefi/rdwr_efi.c
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o rdwr_efi.lo `test -f '$(top_srcdir)/lib/libefi/rdwr_efi.c' || echo '$(srcdir)/'`$(top_srcdir)/lib/libefi/rdwr_efi.c
mostlyclean-libtool:
-rm -f *.lo
diff --git a/lib/libefi/include/sys/efi_partition.h b/lib/libefi/include/sys/efi_partition.h
deleted file mode 100644
index ff38df5e7..000000000
--- a/lib/libefi/include/sys/efi_partition.h
+++ /dev/null
@@ -1,242 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License (the "License").
- * You may not use this file except in compliance with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
- */
-
-#ifndef _SYS_EFI_PARTITION_H
-#define _SYS_EFI_PARTITION_H
-
-#include <sys/uuid.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
- * GUID Partition Table Header
- */
-
-#define EFI_LABEL_SIZE 512
-#define LEN_EFI_PAD (EFI_LABEL_SIZE - \
- ((5 * sizeof (diskaddr_t)) + \
- (7 * sizeof (uint_t)) + \
- (8 * sizeof (char)) + \
- (1 * (sizeof (struct uuid)))))
-
-#define EFI_SIGNATURE 0x5452415020494645ULL
-
-/* EFI Guid Partition Table Header -- little endian on-disk format */
-typedef struct efi_gpt {
- uint64_t efi_gpt_Signature;
- uint_t efi_gpt_Revision;
- uint_t efi_gpt_HeaderSize;
- uint_t efi_gpt_HeaderCRC32;
- uint_t efi_gpt_Reserved1;
- diskaddr_t efi_gpt_MyLBA;
- diskaddr_t efi_gpt_AlternateLBA;
- diskaddr_t efi_gpt_FirstUsableLBA;
- diskaddr_t efi_gpt_LastUsableLBA;
- struct uuid efi_gpt_DiskGUID;
- diskaddr_t efi_gpt_PartitionEntryLBA;
- uint_t efi_gpt_NumberOfPartitionEntries;
- uint_t efi_gpt_SizeOfPartitionEntry;
- uint_t efi_gpt_PartitionEntryArrayCRC32;
- char efi_gpt_Reserved2[LEN_EFI_PAD];
-} efi_gpt_t;
-
-/* EFI Guid Partition Entry Attributes -- little endian format */
-typedef struct efi_gpe_Attrs {
- uint32_t PartitionAttrs :16,
- Reserved2 :16;
- uint32_t Reserved1 :31,
- RequiredPartition :1;
-} efi_gpe_Attrs_t;
-
-/*
- * 6a96237f-1dd2-11b2-99a6-080020736631 V_UNASSIGNED (not used as such)
- * 6a82cb45-1dd2-11b2-99a6-080020736631 V_BOOT
- * 6a85cf4d-1dd2-11b2-99a6-080020736631 V_ROOT
- * 6a87c46f-1dd2-11b2-99a6-080020736631 V_SWAP
- * 6a898cc3-1dd2-11b2-99a6-080020736631 V_USR
- * 6a8b642b-1dd2-11b2-99a6-080020736631 V_BACKUP
- * 6a8d2ac7-1dd2-11b2-99a6-080020736631 V_STAND (not used)
- * 6a8ef2e9-1dd2-11b2-99a6-080020736631 V_VAR
- * 6a90ba39-1dd2-11b2-99a6-080020736631 V_HOME
- * 6a9283a5-1dd2-11b2-99a6-080020736631 V_ALTSCTR
- * 6a945a3b-1dd2-11b2-99a6-080020736631 V_CACHE
- */
-
-#define EFI_UNUSED { 0x00000000, 0x0000, 0x0000, 0x00, 0x00, \
- { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } }
-#define EFI_RESV1 { 0x6a96237f, 0x1dd2, 0x11b2, 0x99, 0xa6, \
- { 0x08, 0x00, 0x20, 0x73, 0x66, 0x31 } }
-#define EFI_BOOT { 0x6a82cb45, 0x1dd2, 0x11b2, 0x99, 0xa6, \
- { 0x08, 0x00, 0x20, 0x73, 0x66, 0x31 } }
-#define EFI_ROOT { 0x6a85cf4d, 0x1dd2, 0x11b2, 0x99, 0xa6, \
- { 0x08, 0x00, 0x20, 0x73, 0x66, 0x31 } }
-#define EFI_SWAP { 0x6a87c46f, 0x1dd2, 0x11b2, 0x99, 0xa6, \
- { 0x08, 0x00, 0x20, 0x73, 0x66, 0x31 } }
-#define EFI_USR { 0x6a898cc3, 0x1dd2, 0x11b2, 0x99, 0xa6, \
- { 0x08, 0x00, 0x20, 0x73, 0x66, 0x31 } }
-#define EFI_BACKUP { 0x6a8b642b, 0x1dd2, 0x11b2, 0x99, 0xa6, \
- { 0x08, 0x00, 0x20, 0x73, 0x66, 0x31 } }
-#define EFI_RESV2 { 0x6a8d2ac7, 0x1dd2, 0x11b2, 0x99, 0xa6, \
- { 0x08, 0x00, 0x20, 0x73, 0x66, 0x31 } }
-#define EFI_VAR { 0x6a8ef2e9, 0x1dd2, 0x11b2, 0x99, 0xa6, \
- { 0x08, 0x00, 0x20, 0x73, 0x66, 0x31 } }
-#define EFI_HOME { 0x6a90ba39, 0x1dd2, 0x11b2, 0x99, 0xa6, \
- { 0x08, 0x00, 0x20, 0x73, 0x66, 0x31 } }
-#define EFI_ALTSCTR { 0x6a9283a5, 0x1dd2, 0x11b2, 0x99, 0xa6, \
- { 0x08, 0x00, 0x20, 0x73, 0x66, 0x31 } }
-#define EFI_RESERVED { 0x6a945a3b, 0x1dd2, 0x11b2, 0x99, 0xa6, \
- { 0x08, 0x00, 0x20, 0x73, 0x66, 0x31 } }
-#define EFI_SYSTEM { 0xC12A7328, 0xF81F, 0x11d2, 0xBA, 0x4B, \
- { 0x00, 0xA0, 0xC9, 0x3E, 0xC9, 0x3B } }
-#define EFI_LEGACY_MBR { 0x024DEE41, 0x33E7, 0x11d3, 0x9D, 0x69, \
- { 0x00, 0x08, 0xC7, 0x81, 0xF3, 0x9F } }
-#define EFI_SYMC_PUB { 0x6a9630d1, 0x1dd2, 0x11b2, 0x99, 0xa6, \
- { 0x08, 0x00, 0x20, 0x73, 0x66, 0x31 } }
-#define EFI_SYMC_CDS { 0x6a980767, 0x1dd2, 0x11b2, 0x99, 0xa6, \
- { 0x08, 0x00, 0x20, 0x73, 0x66, 0x31 } }
-#define EFI_MSFT_RESV { 0xE3C9E316, 0x0B5C, 0x4DB8, 0x81, 0x7D, \
- { 0xF9, 0x2D, 0xF0, 0x02, 0x15, 0xAE } }
-#define EFI_DELL_BASIC { 0xebd0a0a2, 0xb9e5, 0x4433, 0x87, 0xc0, \
- { 0x68, 0xb6, 0xb7, 0x26, 0x99, 0xc7 } }
-#define EFI_DELL_RAID { 0xa19d880f, 0x05fc, 0x4d3b, 0xa0, 0x06, \
- { 0x74, 0x3f, 0x0f, 0x84, 0x91, 0x1e } }
-#define EFI_DELL_SWAP { 0x0657fd6d, 0xa4ab, 0x43c4, 0x84, 0xe5, \
- { 0x09, 0x33, 0xc8, 0x4b, 0x4f, 0x4f } }
-#define EFI_DELL_LVM { 0xe6d6d379, 0xf507, 0x44c2, 0xa2, 0x3c, \
- { 0x23, 0x8f, 0x2a, 0x3d, 0xf9, 0x28 } }
-#define EFI_DELL_RESV { 0x8da63339, 0x0007, 0x60c0, 0xc4, 0x36, \
- { 0x08, 0x3a, 0xc8, 0x23, 0x09, 0x08 } }
-#define EFI_AAPL_HFS { 0x48465300, 0x0000, 0x11aa, 0xaa, 0x11, \
- { 0x00, 0x30, 0x65, 0x43, 0xec, 0xac } }
-#define EFI_AAPL_UFS { 0x55465300, 0x0000, 0x11aa, 0xaa, 0x11, \
- { 0x00, 0x30, 0x65, 0x43, 0xec, 0xac } }
-
-/* minimum # of bytes for partition table entires, per EFI spec */
-#define EFI_MIN_ARRAY_SIZE (16 * 1024)
-
-#define EFI_PART_NAME_LEN 36
-
-/* size of the "reserved" partition, in blocks */
-#define EFI_MIN_RESV_SIZE (16 * 1024)
-
-/* EFI Guid Partition Entry */
-typedef struct efi_gpe {
- struct uuid efi_gpe_PartitionTypeGUID;
- struct uuid efi_gpe_UniquePartitionGUID;
- diskaddr_t efi_gpe_StartingLBA;
- diskaddr_t efi_gpe_EndingLBA;
- efi_gpe_Attrs_t efi_gpe_Attributes;
- ushort_t efi_gpe_PartitionName[EFI_PART_NAME_LEN];
-} efi_gpe_t;
-
-/*
- * passed to the useful (we hope) routines (efi_alloc_and_read and
- * efi_write) that take this VTOC-like struct. These routines handle
- * converting this struct into the EFI struct, generate UUIDs and
- * checksums, and perform any necessary byte-swapping to the on-disk
- * format.
- */
-/* Solaris library abstraction for EFI partitons */
-typedef struct dk_part {
- diskaddr_t p_start; /* starting LBA */
- diskaddr_t p_size; /* size in blocks */
- struct uuid p_guid; /* partion type GUID */
- ushort_t p_tag; /* converted to part'n type GUID */
- ushort_t p_flag; /* attributes */
- char p_name[EFI_PART_NAME_LEN]; /* partition name */
- struct uuid p_uguid; /* unique partition GUID */
- uint_t p_resv[8]; /* future use - set to zero */
-} dk_part_t;
-
-/* Solaris library abstraction for an EFI GPT */
-#define EFI_VERSION102 0x00010002
-#define EFI_VERSION100 0x00010000
-#define EFI_VERSION_CURRENT EFI_VERSION100
-typedef struct dk_gpt {
- uint_t efi_version; /* set to EFI_VERSION_CURRENT */
- uint_t efi_nparts; /* number of partitions below */
- uint_t efi_part_size; /* size of each partition entry */
- /* efi_part_size is unused */
- uint_t efi_lbasize; /* size of block in bytes */
- diskaddr_t efi_last_lba; /* last block on the disk */
- diskaddr_t efi_first_u_lba; /* first block after labels */
- diskaddr_t efi_last_u_lba; /* last block before backup labels */
- struct uuid efi_disk_uguid; /* unique disk GUID */
- uint_t efi_flags;
- uint_t efi_reserved1; /* future use - set to zero */
- diskaddr_t efi_altern_lba; /* lba of alternate GPT header */
- uint_t efi_reserved[12]; /* future use - set to zero */
- struct dk_part efi_parts[1]; /* array of partitions */
-} dk_gpt_t;
-
-/* possible values for "efi_flags" */
-#define EFI_GPT_PRIMARY_CORRUPT 0x1 /* primary label corrupt */
-
-/* the private ioctl between libefi and the driver */
-typedef struct dk_efi {
- diskaddr_t dki_lba; /* starting block */
- len_t dki_length; /* length in bytes */
- union {
- efi_gpt_t *_dki_data;
- uint64_t _dki_data_64;
- } dki_un;
-#define dki_data dki_un._dki_data
-#define dki_data_64 dki_un._dki_data_64
-} dk_efi_t;
-
-struct partition64 {
- struct uuid p_type;
- uint_t p_partno;
- uint_t p_resv1;
- diskaddr_t p_start;
- diskaddr_t p_size;
-};
-
-/*
- * Number of EFI partitions
- */
-#if defined(__linux__)
-#define EFI_NUMPAR 128 /* Expected by parted-1.8.1 */
-#else
-#define EFI_NUMPAR 9
-#endif
-
-#ifndef _KERNEL
-extern int efi_alloc_and_init(int, uint32_t, struct dk_gpt **);
-extern int efi_alloc_and_read(int, struct dk_gpt **);
-extern int efi_write(int, struct dk_gpt *);
-extern void efi_free(struct dk_gpt *);
-extern int efi_type(int);
-extern void efi_err_check(struct dk_gpt *);
-extern int efi_auto_sense(int fd, struct dk_gpt **);
-extern int efi_use_whole_disk(int fd);
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _SYS_EFI_PARTITION_H */
diff --git a/lib/libefi/include/sys/uuid.h b/lib/libefi/include/sys/uuid.h
deleted file mode 100644
index eab4622a6..000000000
--- a/lib/libefi/include/sys/uuid.h
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#ifndef _SYS_UUID_H
-#define _SYS_UUID_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
- * The copyright in this file is taken from the original Leach
- * & Salz UUID specification, from which this implementation
- * is derived.
- */
-
-/*
- * Copyright (c) 1990- 1993, 1996 Open Software Foundation, Inc.
- * Copyright (c) 1989 by Hewlett-Packard Company, Palo Alto, Ca. &
- * Digital Equipment Corporation, Maynard, Mass. Copyright (c) 1998
- * Microsoft. To anyone who acknowledges that this file is provided
- * "AS IS" without any express or implied warranty: permission to use,
- * copy, modify, and distribute this file for any purpose is hereby
- * granted without fee, provided that the above copyright notices and
- * this notice appears in all source code copies, and that none of the
- * names of Open Software Foundation, Inc., Hewlett-Packard Company,
- * or Digital Equipment Corporation be used in advertising or
- * publicity pertaining to distribution of the software without
- * specific, written prior permission. Neither Open Software
- * Foundation, Inc., Hewlett-Packard Company, Microsoft, nor Digital
- * Equipment Corporation makes any representations about the
- * suitability of this software for any purpose.
- */
-
-#include <sys/types.h>
-#include <sys/byteorder.h>
-
-typedef struct {
- uint8_t nodeID[6];
-} uuid_node_t;
-
-/*
- * The uuid type used throughout when referencing uuids themselves
- */
-struct uuid {
- uint32_t time_low;
- uint16_t time_mid;
- uint16_t time_hi_and_version;
- uint8_t clock_seq_hi_and_reserved;
- uint8_t clock_seq_low;
- uint8_t node_addr[6];
-};
-
-#define UUID_PRINTABLE_STRING_LENGTH 37
-
-/*
- * Convert a uuid to/from little-endian format
- */
-#define UUID_LE_CONVERT(dest, src) \
-{ \
- (dest) = (src); \
- (dest).time_low = LE_32((dest).time_low); \
- (dest).time_mid = LE_16((dest).time_mid); \
- (dest).time_hi_and_version = LE_16((dest).time_hi_and_version); \
-}
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _SYS_UUID_H */