boot/efi: Remove our old efi include files. master
authorSascha Wildner <saw@online.de>
Sun, 17 Dec 2017 13:42:03 +0000 (14:42 +0100)
committerSascha Wildner <saw@online.de>
Sun, 17 Dec 2017 13:42:03 +0000 (14:42 +0100)
The remaining local header is eficonsctl.h which I will deal with later.

sys/boot/efi/include/README [deleted file]
sys/boot/efi/include/efiapi.h [deleted file]
sys/boot/efi/include/efidef.h [deleted file]
sys/boot/efi/include/efidevp.h [deleted file]
sys/boot/efi/include/efierr.h [deleted file]
sys/boot/efi/include/efifs.h [deleted file]
sys/boot/efi/include/efiprot.h [deleted file]
sys/boot/efi/include/efipxebc.h [deleted file]
sys/boot/efi/include/efistdarg.h [deleted file]
sys/boot/efi/include/x86_64/efibind.h [deleted file]
sys/boot/efi/include/x86_64/pe.h [deleted file]

diff --git a/sys/boot/efi/include/README b/sys/boot/efi/include/README
deleted file mode 100644 (file)
index a1b59cc..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-/* $FreeBSD: head/sys/boot/efi/include/README 139738 2005-01-05 22:16:58Z imp $ */
-/*-
-
-Files in this directory and subdirectories are subject to the following
-copyright unless superceded or supplemented by additional specific license
-terms found in the file headers of individual files.
-
-Copyright (c) 1998-2000 Intel Corporation
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
-Redistributions of source code must retain the above copyright
-notice, this list of conditions and the following disclaimer.
-
-Redistributions in binary form must reproduce the above copyright
-notice, this list of conditions and the following disclaimer in
-the documentation and/or other materials provided with the
-distribution.
-
-THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
-WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL INTEL BE LIABLE FOR ANY DIRECT,
-INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
-STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
-OF THE POSSIBILITY OF SUCH DAMAGE. THE EFI SPECIFICATION AND ALL
-OTHER INFORMATION ON THIS WEB SITE ARE PROVIDED "AS IS" WITH NO
-WARRANTIES, AND ARE SUBJECT TO CHANGE WITHOUT NOTICE.
-
-*/
diff --git a/sys/boot/efi/include/efiapi.h b/sys/boot/efi/include/efiapi.h
deleted file mode 100644 (file)
index a51077c..0000000
+++ /dev/null
@@ -1,902 +0,0 @@
-/* $FreeBSD: head/sys/boot/efi/include/efiapi.h 293724 2016-01-12 02:17:39Z smh $ */
-#ifndef _EFI_API_H
-#define _EFI_API_H
-
-/*++
-
-Copyright (c)  1999 - 2002 Intel Corporation. All rights reserved
-This software and associated documentation (if any) is furnished
-under a license and may only be used or copied in accordance
-with the terms of the license. Except as permitted by such
-license, no part of this software or documentation may be
-reproduced, stored in a retrieval system, or transmitted in any
-form or by any means without the express written consent of
-Intel Corporation.
-
-Module Name:
-
-    efiapi.h
-
-Abstract:
-
-    Global EFI runtime & boot service interfaces
-
-
-
-
-Revision History
-
---*/
-
-//
-// EFI Specification Revision
-//
-
-#define EFI_SPECIFICATION_MAJOR_REVISION 1
-#define EFI_SPECIFICATION_MINOR_REVISION 10
-
-//
-// Declare forward referenced data structures
-//
-
-INTERFACE_DECL(_EFI_SYSTEM_TABLE);
-
-//
-// EFI Memory
-//
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_ALLOCATE_PAGES) (
-    IN EFI_ALLOCATE_TYPE            Type,
-    IN EFI_MEMORY_TYPE              MemoryType,
-    IN UINTN                        NoPages,
-    OUT EFI_PHYSICAL_ADDRESS        *Memory
-    );
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_FREE_PAGES) (
-    IN EFI_PHYSICAL_ADDRESS         Memory,
-    IN UINTN                        NoPages
-    );
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_GET_MEMORY_MAP) (
-    IN OUT UINTN                    *MemoryMapSize,
-    IN OUT EFI_MEMORY_DESCRIPTOR    *MemoryMap,
-    OUT UINTN                       *MapKey,
-    OUT UINTN                       *DescriptorSize,
-    OUT UINT32                      *DescriptorVersion
-    );
-
-#define NextMemoryDescriptor(Ptr,Size)  ((EFI_MEMORY_DESCRIPTOR *) (((UINT8 *) Ptr) + Size))
-
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_ALLOCATE_POOL) (
-    IN EFI_MEMORY_TYPE              PoolType,
-    IN UINTN                        Size,
-    OUT VOID                        **Buffer
-    );
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_FREE_POOL) (
-    IN VOID                         *Buffer
-    );
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_SET_VIRTUAL_ADDRESS_MAP) (
-    IN UINTN                        MemoryMapSize,
-    IN UINTN                        DescriptorSize,
-    IN UINT32                       DescriptorVersion,
-    IN EFI_MEMORY_DESCRIPTOR        *VirtualMap
-    );
-
-
-#define EFI_OPTIONAL_PTR            0x00000001
-#define EFI_INTERNAL_FNC            0x00000002      // Pointer to internal runtime fnc
-#define EFI_INTERNAL_PTR            0x00000004      // Pointer to internal runtime data
-
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_CONVERT_POINTER) (
-    IN UINTN                        DebugDisposition,
-    IN OUT VOID                     **Address
-    );
-
-
-//
-// EFI Events
-//
-
-
-
-#define EVT_TIMER                           0x80000000
-#define EVT_RUNTIME                         0x40000000
-#define EVT_RUNTIME_CONTEXT                 0x20000000
-
-#define EVT_NOTIFY_WAIT                     0x00000100
-#define EVT_NOTIFY_SIGNAL                   0x00000200
-
-#define EVT_SIGNAL_EXIT_BOOT_SERVICES       0x00000201
-#define EVT_SIGNAL_VIRTUAL_ADDRESS_CHANGE   0x60000202
-
-#define EVT_EFI_SIGNAL_MASK                 0x000000FF
-#define EVT_EFI_SIGNAL_MAX                  2
-
-typedef
-VOID
-(EFIAPI *EFI_EVENT_NOTIFY) (
-    IN EFI_EVENT                Event,
-    IN VOID                     *Context
-    );
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_CREATE_EVENT) (
-    IN UINT32                       Type,
-    IN EFI_TPL                      NotifyTpl,
-    IN EFI_EVENT_NOTIFY             NotifyFunction,
-    IN VOID                         *NotifyContext,
-    OUT EFI_EVENT                   *Event
-    );
-
-typedef enum {
-    TimerCancel,
-    TimerPeriodic,
-    TimerRelative,
-    TimerTypeMax
-} EFI_TIMER_DELAY;
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_SET_TIMER) (
-    IN EFI_EVENT                Event,
-    IN EFI_TIMER_DELAY          Type,
-    IN UINT64                   TriggerTime
-    );
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_SIGNAL_EVENT) (
-    IN EFI_EVENT                Event
-    );
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_WAIT_FOR_EVENT) (
-    IN UINTN                    NumberOfEvents,
-    IN EFI_EVENT                *Event,
-    OUT UINTN                   *Index
-    );
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_CLOSE_EVENT) (
-    IN EFI_EVENT                Event
-    );
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_CHECK_EVENT) (
-    IN EFI_EVENT                Event
-    );
-
-//
-// Task priority level
-//
-
-#define TPL_APPLICATION    4
-#define TPL_CALLBACK       8
-#define TPL_NOTIFY        16
-#define TPL_HIGH_LEVEL    31
-
-typedef
-EFI_TPL
-(EFIAPI *EFI_RAISE_TPL) (
-    IN EFI_TPL      NewTpl
-    );
-
-typedef
-VOID
-(EFIAPI *EFI_RESTORE_TPL) (
-    IN EFI_TPL      OldTpl
-    );
-
-
-//
-// EFI platform varibles
-//
-
-#define EFI_GLOBAL_VARIABLE \
-    { 0x8BE4DF61, 0x93CA, 0x11d2, {0xAA, 0x0D, 0x00, 0xE0, 0x98, 0x03, 0x2B, 0x8C} }
-
-// Variable attributes
-#define EFI_VARIABLE_NON_VOLATILE           0x00000001
-#define EFI_VARIABLE_BOOTSERVICE_ACCESS     0x00000002
-#define EFI_VARIABLE_RUNTIME_ACCESS         0x00000004
-
-// Variable size limitation
-#define EFI_MAXIMUM_VARIABLE_SIZE           1024
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_GET_VARIABLE) (
-    IN CHAR16                       *VariableName,
-    IN EFI_GUID                     *VendorGuid,
-    OUT UINT32                      *Attributes OPTIONAL,
-    IN OUT UINTN                    *DataSize,
-    OUT VOID                        *Data
-    );
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_GET_NEXT_VARIABLE_NAME) (
-    IN OUT UINTN                    *VariableNameSize,
-    IN OUT CHAR16                   *VariableName,
-    IN OUT EFI_GUID                 *VendorGuid
-    );
-
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_SET_VARIABLE) (
-    IN CHAR16                       *VariableName,
-    IN EFI_GUID                     *VendorGuid,
-    IN UINT32                       Attributes,
-    IN UINTN                        DataSize,
-    IN VOID                         *Data
-    );
-
-
-//
-// EFI Time
-//
-
-typedef struct {
-        UINT32                      Resolution;     // 1e-6 parts per million
-        UINT32                      Accuracy;       // hertz
-        BOOLEAN                     SetsToZero;     // Set clears sub-second time
-} EFI_TIME_CAPABILITIES;
-
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_GET_TIME) (
-    OUT EFI_TIME                    *Time,
-    OUT EFI_TIME_CAPABILITIES       *Capabilities OPTIONAL
-    );
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_SET_TIME) (
-    IN EFI_TIME                     *Time
-    );
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_GET_WAKEUP_TIME) (
-    OUT BOOLEAN                     *Enabled,
-    OUT BOOLEAN                     *Pending,
-    OUT EFI_TIME                    *Time
-    );
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_SET_WAKEUP_TIME) (
-    IN BOOLEAN                      Enable,
-    IN EFI_TIME                     *Time OPTIONAL
-    );
-
-
-//
-// Image functions
-//
-
-
-// PE32+ Subsystem type for EFI images
-
-#if !defined(IMAGE_SUBSYSTEM_EFI_APPLICATION)
-#define IMAGE_SUBSYSTEM_EFI_APPLICATION             10
-#define IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER     11
-#define IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER          12
-#endif
-
-// PE32+ Machine type for EFI images
-
-#if !defined(EFI_IMAGE_MACHINE_IA32)
-#define EFI_IMAGE_MACHINE_IA32      0x014c
-#endif
-
-#if !defined(EFI_IMAGE_MACHINE_EBC)
-#define EFI_IMAGE_MACHINE_EBC       0x0EBC
-#endif
-
-// Image Entry prototype
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_IMAGE_ENTRY_POINT) (
-    IN EFI_HANDLE                   ImageHandle,
-    IN struct _EFI_SYSTEM_TABLE     *SystemTable
-    );
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_IMAGE_LOAD) (
-    IN BOOLEAN                      BootPolicy,
-    IN EFI_HANDLE                   ParentImageHandle,
-    IN EFI_DEVICE_PATH              *FilePath,
-    IN VOID                         *SourceBuffer   OPTIONAL,
-    IN UINTN                        SourceSize,
-    OUT EFI_HANDLE                  *ImageHandle
-    );
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_IMAGE_START) (
-    IN EFI_HANDLE                   ImageHandle,
-    OUT UINTN                       *ExitDataSize,
-    OUT CHAR16                      **ExitData  OPTIONAL
-    );
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_EXIT) (
-    IN EFI_HANDLE                   ImageHandle,
-    IN EFI_STATUS                   ExitStatus,
-    IN UINTN                        ExitDataSize,
-    IN CHAR16                       *ExitData OPTIONAL
-    );
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_IMAGE_UNLOAD) (
-    IN EFI_HANDLE                   ImageHandle
-    );
-
-
-// Image handle
-#define LOADED_IMAGE_PROTOCOL \
-    { 0x5B1B31A1, 0x9562, 0x11d2, {0x8E, 0x3F, 0x00, 0xA0, 0xC9, 0x69, 0x72, 0x3B} }
-
-#define EFI_LOADED_IMAGE_INFORMATION_REVISION      0x1000
-typedef struct {
-    UINT32                          Revision;
-    EFI_HANDLE                      ParentHandle;
-    struct _EFI_SYSTEM_TABLE        *SystemTable;
-
-    // Source location of image
-    EFI_HANDLE                      DeviceHandle;
-    EFI_DEVICE_PATH                 *FilePath;
-    VOID                            *Reserved;
-
-    // Images load options
-    UINT32                          LoadOptionsSize;
-    VOID                            *LoadOptions;
-
-    // Location of where image was loaded
-    VOID                            *ImageBase;
-    UINT64                          ImageSize;
-    EFI_MEMORY_TYPE                 ImageCodeType;
-    EFI_MEMORY_TYPE                 ImageDataType;
-
-    // If the driver image supports a dynamic unload request
-    EFI_IMAGE_UNLOAD                Unload;
-
-} EFI_LOADED_IMAGE;
-
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_EXIT_BOOT_SERVICES) (
-    IN EFI_HANDLE                   ImageHandle,
-    IN UINTN                        MapKey
-    );
-
-//
-// Misc
-//
-
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_STALL) (
-    IN UINTN                    Microseconds
-    );
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_SET_WATCHDOG_TIMER) (
-    IN UINTN                    Timeout,
-    IN UINT64                   WatchdogCode,
-    IN UINTN                    DataSize,
-    IN CHAR16                   *WatchdogData OPTIONAL
-    );
-
-
-typedef enum {
-    EfiResetCold,
-    EfiResetWarm,
-    EfiResetShutdown
-} EFI_RESET_TYPE;
-
-typedef
-VOID
-(EFIAPI *EFI_RESET_SYSTEM) (
-    IN EFI_RESET_TYPE           ResetType,
-    IN EFI_STATUS               ResetStatus,
-    IN UINTN                    DataSize,
-    IN CHAR16                   *ResetData OPTIONAL
-    );
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_GET_NEXT_MONOTONIC_COUNT) (
-    OUT UINT64                  *Count
-    );
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_GET_NEXT_HIGH_MONO_COUNT) (
-    OUT UINT32                  *HighCount
-    );
-
-//
-// Protocol handler functions
-//
-
-typedef enum {
-    EFI_NATIVE_INTERFACE
-} EFI_INTERFACE_TYPE;
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_INSTALL_PROTOCOL_INTERFACE) (
-    IN OUT EFI_HANDLE           *Handle,
-    IN EFI_GUID                 *Protocol,
-    IN EFI_INTERFACE_TYPE       InterfaceType,
-    IN VOID                     *Interface
-    );
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_REINSTALL_PROTOCOL_INTERFACE) (
-    IN EFI_HANDLE               Handle,
-    IN EFI_GUID                 *Protocol,
-    IN VOID                     *OldInterface,
-    IN VOID                     *NewInterface
-    );
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_UNINSTALL_PROTOCOL_INTERFACE) (
-    IN EFI_HANDLE               Handle,
-    IN EFI_GUID                 *Protocol,
-    IN VOID                     *Interface
-    );
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_HANDLE_PROTOCOL) (
-    IN EFI_HANDLE               Handle,
-    IN EFI_GUID                 *Protocol,
-    OUT VOID                    **Interface
-    );
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_REGISTER_PROTOCOL_NOTIFY) (
-    IN EFI_GUID                 *Protocol,
-    IN EFI_EVENT                Event,
-    OUT VOID                    **Registration
-    );
-
-typedef enum {
-    AllHandles,
-    ByRegisterNotify,
-    ByProtocol
-} EFI_LOCATE_SEARCH_TYPE;
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_LOCATE_HANDLE) (
-    IN EFI_LOCATE_SEARCH_TYPE   SearchType,
-    IN EFI_GUID                 *Protocol OPTIONAL,
-    IN VOID                     *SearchKey OPTIONAL,
-    IN OUT UINTN                *BufferSize,
-    OUT EFI_HANDLE              *Buffer
-    );
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_LOCATE_DEVICE_PATH) (
-    IN EFI_GUID                 *Protocol,
-    IN OUT EFI_DEVICE_PATH      **DevicePath,
-    OUT EFI_HANDLE              *Device
-    );
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_INSTALL_CONFIGURATION_TABLE) (
-    IN EFI_GUID                 *Guid,
-    IN VOID                     *Table
-    );
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_RESERVED_SERVICE) (
-    void
-    );
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_CONNECT_CONTROLLER) (
-  IN  EFI_HANDLE                    ControllerHandle,
-  IN  EFI_HANDLE                    *DriverImageHandle    OPTIONAL,
-  IN  EFI_DEVICE_PATH               *RemainingDevicePath  OPTIONAL,
-  IN  BOOLEAN                       Recursive
-  );
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_DISCONNECT_CONTROLLER)(
-  IN EFI_HANDLE           ControllerHandle,
-  IN EFI_HANDLE           DriverImageHandle, OPTIONAL
-  IN EFI_HANDLE           ChildHandle        OPTIONAL
-  );
-
-#define EFI_OPEN_PROTOCOL_BY_HANDLE_PROTOCOL    0x00000001
-#define EFI_OPEN_PROTOCOL_GET_PROTOCOL        0x00000002
-#define EFI_OPEN_PROTOCOL_TEST_PROTOCOL        0x00000004
-#define EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER  0x00000008
-#define EFI_OPEN_PROTOCOL_BY_DRIVER            0x00000010
-#define EFI_OPEN_PROTOCOL_EXCLUSIVE            0x00000020
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_OPEN_PROTOCOL) (
-  IN EFI_HANDLE                 Handle,
-  IN EFI_GUID                   *Protocol,
-  OUT VOID                      **Interface,
-  IN  EFI_HANDLE                ImageHandle,
-  IN  EFI_HANDLE                ControllerHandle, OPTIONAL
-  IN  UINT32                    Attributes
-  );
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_CLOSE_PROTOCOL) (
-  IN EFI_HANDLE               Handle,
-  IN EFI_GUID                 *Protocol,
-  IN EFI_HANDLE               ImageHandle,
-  IN EFI_HANDLE               DeviceHandle
-  );
-
-typedef struct {
-  EFI_HANDLE                  AgentHandle;
-  EFI_HANDLE                  ControllerHandle;
-  UINT32                      Attributes;
-  UINT32                      OpenCount;
-} EFI_OPEN_PROTOCOL_INFORMATION_ENTRY;
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_OPEN_PROTOCOL_INFORMATION) (
-  IN  EFI_HANDLE                          UserHandle,
-  IN  EFI_GUID                            *Protocol,
-  IN  EFI_OPEN_PROTOCOL_INFORMATION_ENTRY **EntryBuffer,
-  OUT UINTN                               *EntryCount
-  );
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_PROTOCOLS_PER_HANDLE) (
-  IN EFI_HANDLE       UserHandle,
-  OUT EFI_GUID        ***ProtocolBuffer,
-  OUT UINTN           *ProtocolBufferCount
-  );
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_LOCATE_HANDLE_BUFFER) (
-  IN EFI_LOCATE_SEARCH_TYPE       SearchType,
-  IN EFI_GUID                     *Protocol OPTIONAL,
-  IN VOID                         *SearchKey OPTIONAL,
-  IN OUT UINTN                    *NumberHandles,
-  OUT EFI_HANDLE                  **Buffer
-  );
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_LOCATE_PROTOCOL) (
-  EFI_GUID  *Protocol,
-  VOID      *Registration, OPTIONAL
-  VOID      **Interface
-  );
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_INSTALL_MULTIPLE_PROTOCOL_INTERFACES) (
-  IN OUT EFI_HANDLE           *Handle,
-  ...
-  );
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_UNINSTALL_MULTIPLE_PROTOCOL_INTERFACES) (
-  IN EFI_HANDLE           Handle,
-  ...
-  );
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_CALCULATE_CRC32) (
-  IN  VOID                              *Data,
-  IN  UINTN                             DataSize,
-  OUT UINT32                            *Crc32
-  );
-
-typedef
-VOID
-(EFIAPI *EFI_COPY_MEM) (
-  IN VOID     *Destination,
-  IN VOID     *Source,
-  IN UINTN    Length
-  );
-
-typedef
-VOID
-(EFIAPI *EFI_SET_MEM) (
-  IN VOID     *Buffer,
-  IN UINTN    Size,
-  IN UINT8    Value
-  );
-
-//
-// Standard EFI table header
-//
-
-typedef struct _EFI_TABLE_HEARDER {
-  UINT64                      Signature;
-  UINT32                      Revision;
-  UINT32                      HeaderSize;
-  UINT32                      CRC32;
-  UINT32                      Reserved;
-} EFI_TABLE_HEADER;
-
-
-//
-// EFI Runtime Serivces Table
-//
-
-#define EFI_RUNTIME_SERVICES_SIGNATURE  0x56524553544e5552
-#define EFI_RUNTIME_SERVICES_REVISION   ((EFI_SPECIFICATION_MAJOR_REVISION<<16) | (EFI_SPECIFICATION_MINOR_REVISION))
-
-typedef struct  {
-  EFI_TABLE_HEADER                Hdr;
-
-  //
-  // Time services
-  //
-
-  EFI_GET_TIME                    GetTime;
-  EFI_SET_TIME                    SetTime;
-  EFI_GET_WAKEUP_TIME             GetWakeupTime;
-  EFI_SET_WAKEUP_TIME             SetWakeupTime;
-
-  //
-  // Virtual memory services
-  //
-
-  EFI_SET_VIRTUAL_ADDRESS_MAP     SetVirtualAddressMap;
-  EFI_CONVERT_POINTER             ConvertPointer;
-
-  //
-  // Variable serviers
-  //
-
-  EFI_GET_VARIABLE                GetVariable;
-  EFI_GET_NEXT_VARIABLE_NAME      GetNextVariableName;
-  EFI_SET_VARIABLE                SetVariable;
-
-  //
-  // Misc
-  //
-
-  EFI_GET_NEXT_HIGH_MONO_COUNT    GetNextHighMonotonicCount;
-  EFI_RESET_SYSTEM                ResetSystem;
-
-} EFI_RUNTIME_SERVICES;
-
-
-//
-// EFI Boot Services Table
-//
-
-#define EFI_BOOT_SERVICES_SIGNATURE     0x56524553544f4f42
-#define EFI_BOOT_SERVICES_REVISION      ((EFI_SPECIFICATION_MAJOR_REVISION<<16) | (EFI_SPECIFICATION_MINOR_REVISION))
-
-typedef struct {
-
-  EFI_TABLE_HEADER                Hdr;
-
-  //
-  // Task priority functions
-  //
-
-  EFI_RAISE_TPL                   RaiseTPL;
-  EFI_RESTORE_TPL                 RestoreTPL;
-
-  //
-  // Memory functions
-  //
-
-  EFI_ALLOCATE_PAGES              AllocatePages;
-  EFI_FREE_PAGES                  FreePages;
-  EFI_GET_MEMORY_MAP              GetMemoryMap;
-  EFI_ALLOCATE_POOL               AllocatePool;
-  EFI_FREE_POOL                   FreePool;
-
-  //
-  // Event & timer functions
-  //
-
-  EFI_CREATE_EVENT                CreateEvent;
-  EFI_SET_TIMER                   SetTimer;
-  EFI_WAIT_FOR_EVENT              WaitForEvent;
-  EFI_SIGNAL_EVENT                SignalEvent;
-  EFI_CLOSE_EVENT                 CloseEvent;
-  EFI_CHECK_EVENT                 CheckEvent;
-
-  //
-  // Protocol handler functions
-  //
-
-  EFI_INSTALL_PROTOCOL_INTERFACE  InstallProtocolInterface;
-  EFI_REINSTALL_PROTOCOL_INTERFACE ReinstallProtocolInterface;
-  EFI_UNINSTALL_PROTOCOL_INTERFACE UninstallProtocolInterface;
-  EFI_HANDLE_PROTOCOL             HandleProtocol;
-  VOID                            *Reserved;
-  EFI_REGISTER_PROTOCOL_NOTIFY    RegisterProtocolNotify;
-  EFI_LOCATE_HANDLE               LocateHandle;
-  EFI_LOCATE_DEVICE_PATH          LocateDevicePath;
-  EFI_INSTALL_CONFIGURATION_TABLE InstallConfigurationTable;
-
-  //
-  // Image functions
-  //
-
-  EFI_IMAGE_LOAD                  LoadImage;
-  EFI_IMAGE_START                 StartImage;
-  EFI_EXIT                        Exit;
-  EFI_IMAGE_UNLOAD                UnloadImage;
-  EFI_EXIT_BOOT_SERVICES          ExitBootServices;
-
-  //
-  // Misc functions
-  //
-
-  EFI_GET_NEXT_MONOTONIC_COUNT    GetNextMonotonicCount;
-  EFI_STALL                       Stall;
-  EFI_SET_WATCHDOG_TIMER          SetWatchdogTimer;
-
-  //
-  // DriverSupport Services
-  //
-  EFI_CONNECT_CONTROLLER               ConnectController;
-  EFI_DISCONNECT_CONTROLLER       DisconnectController;
-
-  //
-  // Open and Close Protocol Services
-  //
-  EFI_OPEN_PROTOCOL               OpenProtocol;
-  EFI_CLOSE_PROTOCOL              CloseProtocol;
-  EFI_OPEN_PROTOCOL_INFORMATION   OpenProtocolInformation;
-
-  //
-  // Library Services to reduce size of drivers
-  //
-  EFI_PROTOCOLS_PER_HANDLE        ProtocolsPerHandle;
-  EFI_LOCATE_HANDLE_BUFFER        LocateHandleBuffer;
-  EFI_LOCATE_PROTOCOL             LocateProtocol;
-
-  EFI_INSTALL_MULTIPLE_PROTOCOL_INTERFACES    InstallMultipleProtocolInterfaces;
-  EFI_UNINSTALL_MULTIPLE_PROTOCOL_INTERFACES  UninstallMultipleProtocolInterfaces;
-
-  //
-  // CRC32 services
-  //
-  EFI_CALCULATE_CRC32             CalculateCrc32;
-
-  //
-  // Memory Utility Services
-  //
-  EFI_COPY_MEM                    CopyMem;
-  EFI_SET_MEM                     SetMem;
-
-} EFI_BOOT_SERVICES;
-
-
-//
-// EFI Configuration Table and GUID definitions
-//
-
-#define MPS_TABLE_GUID \
-    { 0xeb9d2d2f, 0x2d88, 0x11d3, {0x9a, 0x16, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d} }
-
-#define ACPI_TABLE_GUID \
-    { 0xeb9d2d30, 0x2d88, 0x11d3, {0x9a, 0x16, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d} }
-
-#define ACPI_20_TABLE_GUID \
-    { 0x8868e871, 0xe4f1, 0x11d3, {0xbc, 0x22, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81} }
-
-#define SMBIOS_TABLE_GUID \
-    { 0xeb9d2d31, 0x2d88, 0x11d3, {0x9a, 0x16, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d} }
-
-#define SAL_SYSTEM_TABLE_GUID  \
-    { 0xeb9d2d32, 0x2d88, 0x11d3, {0x9a, 0x16, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d} }
-
-#define FDT_TABLE_GUID \
-    { 0xb1b621d5, 0xf19c, 0x41a5, {0x83, 0x0b, 0xd9, 0x15, 0x2c, 0x69, 0xaa, 0xe0} }
-
-#define DXE_SERVICES_TABLE_GUID \
-    { 0x5ad34ba, 0x6f02, 0x4214, {0x95, 0x2e, 0x4d, 0xa0, 0x39, 0x8e, 0x2b, 0xb9} }
-
-#define HOB_LIST_TABLE_GUID \
-    { 0x7739f24c, 0x93d7, 0x11d4, {0x9a, 0x3a, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d} }
-
-#define MEMORY_TYPE_INFORMATION_TABLE_GUID \
-    { 0x4c19049f, 0x4137, 0x4dd3, {0x9c, 0x10, 0x8b, 0x97, 0xa8, 0x3f, 0xfd, 0xfa} }
-
-#define DEBUG_IMAGE_INFO_TABLE_GUID \
-    { 0x49152e77, 0x1ada, 0x4764, {0xb7, 0xa2, 0x7a, 0xfe, 0xfe, 0xd9, 0x5e, 0x8b} }
-
-typedef struct _EFI_CONFIGURATION_TABLE {
-  EFI_GUID                VendorGuid;
-  VOID                    *VendorTable;
-} EFI_CONFIGURATION_TABLE;
-
-
-//
-// EFI System Table
-//
-
-
-
-
-#define EFI_SYSTEM_TABLE_SIGNATURE      0x5453595320494249
-#define EFI_SYSTEM_TABLE_REVISION      ((EFI_SPECIFICATION_MAJOR_REVISION<<16) | (EFI_SPECIFICATION_MINOR_REVISION))
-#define EFI_1_10_SYSTEM_TABLE_REVISION ((1<<16) | 10)
-#define EFI_1_02_SYSTEM_TABLE_REVISION ((1<<16) | 02)
-
-typedef struct _EFI_SYSTEM_TABLE {
-  EFI_TABLE_HEADER                Hdr;
-
-  CHAR16                          *FirmwareVendor;
-  UINT32                          FirmwareRevision;
-
-  EFI_HANDLE                      ConsoleInHandle;
-  SIMPLE_INPUT_INTERFACE          *ConIn;
-
-  EFI_HANDLE                      ConsoleOutHandle;
-  SIMPLE_TEXT_OUTPUT_INTERFACE    *ConOut;
-
-  EFI_HANDLE                      StandardErrorHandle;
-  SIMPLE_TEXT_OUTPUT_INTERFACE    *StdErr;
-
-  EFI_RUNTIME_SERVICES            *RuntimeServices;
-  EFI_BOOT_SERVICES               *BootServices;
-
-  UINTN                           NumberOfTableEntries;
-  EFI_CONFIGURATION_TABLE         *ConfigurationTable;
-
-} EFI_SYSTEM_TABLE;
-
-#endif
diff --git a/sys/boot/efi/include/efidef.h b/sys/boot/efi/include/efidef.h
deleted file mode 100644 (file)
index fffe707..0000000
+++ /dev/null
@@ -1,205 +0,0 @@
-/* $FreeBSD: head/sys/boot/efi/include/efidef.h 292625 2015-12-22 20:40:34Z emaste $ */
-#ifndef _EFI_DEF_H
-#define _EFI_DEF_H
-
-/*++
-
-Copyright (c)  1999 - 2002 Intel Corporation. All rights reserved
-This software and associated documentation (if any) is furnished
-under a license and may only be used or copied in accordance
-with the terms of the license. Except as permitted by such
-license, no part of this software or documentation may be
-reproduced, stored in a retrieval system, or transmitted in any
-form or by any means without the express written consent of
-Intel Corporation.
-
-Module Name:
-
-    efidef.h
-
-Abstract:
-
-    EFI definitions
-
-
-
-
-Revision History
-
---*/
-
-typedef UINT16          CHAR16;
-typedef UINT8           CHAR8;
-#ifndef ACPI_THREAD_ID         /* ACPI's definitions are fine */
-typedef UINT8           BOOLEAN;
-#endif
-
-#ifndef TRUE
-    #define TRUE    ((BOOLEAN) 1)
-    #define FALSE   ((BOOLEAN) 0)
-#endif
-
-#ifndef NULL
-    #define NULL    ((VOID *) 0)
-#endif
-
-typedef UINTN           EFI_STATUS;
-typedef UINT64          EFI_LBA;
-typedef UINTN           EFI_TPL;
-typedef VOID            *EFI_HANDLE;
-typedef VOID            *EFI_EVENT;
-
-
-//
-// Prototype argument decoration for EFI parameters to indicate
-// their direction
-//
-// IN - argument is passed into the function
-// OUT - argument (pointer) is returned from the function
-// OPTIONAL - argument is optional
-//
-
-#ifndef IN
-    #define IN
-    #define OUT
-    #define OPTIONAL
-#endif
-
-
-//
-// A GUID
-//
-
-typedef struct {          
-    UINT32  Data1;
-    UINT16  Data2;
-    UINT16  Data3;
-    UINT8   Data4[8]; 
-} EFI_GUID;
-
-
-//
-// Time
-//
-
-typedef struct {          
-    UINT16      Year;       // 1998 - 20XX
-    UINT8       Month;      // 1 - 12
-    UINT8       Day;        // 1 - 31
-    UINT8       Hour;       // 0 - 23
-    UINT8       Minute;     // 0 - 59
-    UINT8       Second;     // 0 - 59
-    UINT8       Pad1;
-    UINT32      Nanosecond; // 0 - 999,999,999
-    INT16       TimeZone;   // -1440 to 1440 or 2047
-    UINT8       Daylight;
-    UINT8       Pad2;
-} EFI_TIME;
-
-// Bit definitions for EFI_TIME.Daylight
-#define EFI_TIME_ADJUST_DAYLIGHT    0x01
-#define EFI_TIME_IN_DAYLIGHT        0x02
-
-// Value definition for EFI_TIME.TimeZone
-#define EFI_UNSPECIFIED_TIMEZONE    0x07FF
-
-
-
-//
-// Networking
-//
-
-typedef struct {
-    UINT8                   Addr[4];
-} EFI_IPv4_ADDRESS;
-
-typedef struct {
-    UINT8                   Addr[16];
-} EFI_IPv6_ADDRESS;
-
-typedef struct {
-    UINT8                   Addr[32];
-} EFI_MAC_ADDRESS;
-
-//
-// Memory
-//
-
-typedef UINT64          EFI_PHYSICAL_ADDRESS;
-typedef UINT64          EFI_VIRTUAL_ADDRESS;
-
-typedef enum {
-    AllocateAnyPages,
-    AllocateMaxAddress,
-    AllocateAddress,
-    MaxAllocateType
-} EFI_ALLOCATE_TYPE;
-
-//Preseve the attr on any range supplied.
-//ConventialMemory must have WB,SR,SW when supplied.
-//When allocating from ConventialMemory always make it WB,SR,SW
-//When returning to ConventialMemory always make it WB,SR,SW
-//When getting the memory map, or on RT for runtime types
-
-
-typedef enum {
-    EfiReservedMemoryType,
-    EfiLoaderCode,
-    EfiLoaderData,
-    EfiBootServicesCode,
-    EfiBootServicesData,
-    EfiRuntimeServicesCode,
-    EfiRuntimeServicesData,
-    EfiConventionalMemory,
-    EfiUnusableMemory,
-    EfiACPIReclaimMemory,
-    EfiACPIMemoryNVS,
-    EfiMemoryMappedIO,
-    EfiMemoryMappedIOPortSpace,
-    EfiPalCode,
-    EfiMaxMemoryType
-} EFI_MEMORY_TYPE;
-
-// possible caching types for the memory range
-#define EFI_MEMORY_UC           0x0000000000000001
-#define EFI_MEMORY_WC           0x0000000000000002
-#define EFI_MEMORY_WT           0x0000000000000004
-#define EFI_MEMORY_WB           0x0000000000000008
-#define EFI_MEMORY_UCE          0x0000000000000010  
-
-// physical memory protection on range 
-#define EFI_MEMORY_WP           0x0000000000001000
-#define EFI_MEMORY_RP           0x0000000000002000
-#define EFI_MEMORY_XP           0x0000000000004000
-
-// range requires a runtime mapping
-#define EFI_MEMORY_RUNTIME      0x8000000000000000
-
-#define EFI_MEMORY_DESCRIPTOR_VERSION  1
-typedef struct {
-    UINT32                          Type;           // Field size is 32 bits followed by 32 bit pad
-    EFI_PHYSICAL_ADDRESS            PhysicalStart;  // Field size is 64 bits
-    EFI_VIRTUAL_ADDRESS             VirtualStart;   // Field size is 64 bits
-    UINT64                          NumberOfPages;  // Field size is 64 bits
-    UINT64                          Attribute;      // Field size is 64 bits
-} EFI_MEMORY_DESCRIPTOR;
-
-//
-// International Language
-//
-
-typedef UINT8   ISO_639_2;
-#define ISO_639_2_ENTRY_SIZE    3
-
-//
-//
-//
-
-#define EFI_PAGE_SIZE   4096
-#define EFI_PAGE_MASK   0xFFF
-#define EFI_PAGE_SHIFT  12
-
-#define EFI_SIZE_TO_PAGES(a)  \
-    ( ((a) >> EFI_PAGE_SHIFT) + (((a) & EFI_PAGE_MASK) ? 1 : 0) )
-
-#endif
diff --git a/sys/boot/efi/include/efidevp.h b/sys/boot/efi/include/efidevp.h
deleted file mode 100644 (file)
index a4cd683..0000000
+++ /dev/null
@@ -1,428 +0,0 @@
-/* $FreeBSD: head/sys/boot/efi/include/efidevp.h 295320 2016-02-05 15:35:33Z smh $ */
-#ifndef _DEVPATH_H
-#define _DEVPATH_H
-
-/*++
-
-Copyright (c)  1999 - 2002 Intel Corporation. All rights reserved
-This software and associated documentation (if any) is furnished
-under a license and may only be used or copied in accordance
-with the terms of the license. Except as permitted by such
-license, no part of this software or documentation may be
-reproduced, stored in a retrieval system, or transmitted in any
-form or by any means without the express written consent of
-Intel Corporation.
-
-Module Name:
-
-    devpath.h
-
-Abstract:
-
-    Defines for parsing the EFI Device Path structures
-
-
-
-Revision History
-
---*/
-
-//
-// Device Path structures - Section C
-//
-
-typedef struct _EFI_DEVICE_PATH {
-        UINT8                           Type;
-        UINT8                           SubType;
-        UINT8                           Length[2];
-} EFI_DEVICE_PATH;
-
-#define EFI_DP_TYPE_MASK                    0x7F
-#define EFI_DP_TYPE_UNPACKED                0x80
-
-#define END_DEVICE_PATH_TYPE                0x7f
-
-#define END_ENTIRE_DEVICE_PATH_SUBTYPE      0xff
-#define END_INSTANCE_DEVICE_PATH_SUBTYPE    0x01
-#define END_DEVICE_PATH_LENGTH              (sizeof(EFI_DEVICE_PATH))
-
-
-#define DP_IS_END_TYPE(a)
-#define DP_IS_END_SUBTYPE(a)        ( ((a)->SubType == END_ENTIRE_DEVICE_PATH_SUBTYPE )
-
-#define DevicePathType(a)           ( ((a)->Type) & EFI_DP_TYPE_MASK )
-#define DevicePathSubType(a)        ( (a)->SubType )
-#define DevicePathNodeLength(a)     ( ((a)->Length[0]) | ((a)->Length[1] << 8) )
-#define NextDevicePathNode(a)       ( (EFI_DEVICE_PATH *) ( ((UINT8 *) (a)) + DevicePathNodeLength(a)))
-#define IsDevicePathType(a, t)      ( DevicePathType(a) == t )
-#define IsDevicePathEndType(a)      IsDevicePathType(a, END_DEVICE_PATH_TYPE)
-#define IsDevicePathEndSubType(a)   ( (a)->SubType == END_ENTIRE_DEVICE_PATH_SUBTYPE )
-#define IsDevicePathEnd(a)          ( IsDevicePathEndType(a) && IsDevicePathEndSubType(a) )
-#define IsDevicePathUnpacked(a)     ( (a)->Type & EFI_DP_TYPE_UNPACKED )
-
-
-#define SetDevicePathNodeLength(a,l) {                  \
-            (a)->Length[0] = (UINT8) (l);               \
-            (a)->Length[1] = (UINT8) ((l) >> 8);        \
-            }
-
-#define SetDevicePathEndNode(a)  {                      \
-            (a)->Type = END_DEVICE_PATH_TYPE;           \
-            (a)->SubType = END_ENTIRE_DEVICE_PATH_SUBTYPE;     \
-            (a)->Length[0] = sizeof(EFI_DEVICE_PATH);   \
-            (a)->Length[1] = 0;                         \
-            }
-
-
-
-/*
- *
- */
-#define HARDWARE_DEVICE_PATH            0x01
-
-#define HW_PCI_DP                       0x01
-typedef struct _PCI_DEVICE_PATH {
-        EFI_DEVICE_PATH                 Header;
-        UINT8                           Function;
-        UINT8                           Device;
-} PCI_DEVICE_PATH;
-
-#define HW_PCCARD_DP                    0x02
-typedef struct _PCCARD_DEVICE_PATH {
-        EFI_DEVICE_PATH                 Header;
-        UINT8                           FunctionNumber;
-} PCCARD_DEVICE_PATH;
-
-#define HW_MEMMAP_DP                    0x03
-typedef struct _MEMMAP_DEVICE_PATH {
-        EFI_DEVICE_PATH                 Header;
-        UINT32                          MemoryType;
-        EFI_PHYSICAL_ADDRESS            StartingAddress;
-        EFI_PHYSICAL_ADDRESS            EndingAddress;
-} MEMMAP_DEVICE_PATH;
-
-#define HW_VENDOR_DP                    0x04
-typedef struct _VENDOR_DEVICE_PATH {
-        EFI_DEVICE_PATH                 Header;
-        EFI_GUID                        Guid;
-} VENDOR_DEVICE_PATH;
-
-#define UNKNOWN_DEVICE_GUID \
-    { 0xcf31fac5, 0xc24e, 0x11d2, {0x85, 0xf3, 0x0, 0xa0, 0xc9, 0x3e, 0xc9, 0x3b} }
-
-typedef struct _UKNOWN_DEVICE_VENDOR_DP {
-    VENDOR_DEVICE_PATH      DevicePath;
-    UINT8                   LegacyDriveLetter;
-} UNKNOWN_DEVICE_VENDOR_DEVICE_PATH;
-
-#define HW_CONTROLLER_DP            0x05
-typedef struct _CONTROLLER_DEVICE_PATH {
-        EFI_DEVICE_PATH     Header;
-        UINT32              Controller;
-} CONTROLLER_DEVICE_PATH;
-
-/*
- *
- */
-#define ACPI_DEVICE_PATH                 0x02
-
-#define ACPI_DP                         0x01
-typedef struct _ACPI_HID_DEVICE_PATH {
-        EFI_DEVICE_PATH                 Header;
-        UINT32                          HID;
-        UINT32                          UID;
-} ACPI_HID_DEVICE_PATH;
-
-#define ACPI_EXTENDED_DP          0x02
-typedef struct _ACPI_EXTENDED_HID_DEVICE_PATH {
-  EFI_DEVICE_PATH                 Header;
-  UINT32                          HID;
-  UINT32                          UID;
-  UINT32                          CID;
-} ACPI_EXTENDED_HID_DEVICE_PATH;
-
-//
-// EISA ID Macro
-// EISA ID Definition 32-bits
-//  bits[15:0] - three character compressed ASCII EISA ID.
-//  bits[31:16] - binary number
-//   Compressed ASCII is 5 bits per character 0b00001 = 'A' 0b11010 = 'Z'
-//
-#define PNP_EISA_ID_CONST       0x41d0    
-#define EISA_ID(_Name, _Num)    ((UINT32) ((_Name) | (_Num) << 16))   
-#define EISA_PNP_ID(_PNPId)     (EISA_ID(PNP_EISA_ID_CONST, (_PNPId)))
-#define EFI_PNP_ID(_PNPId)      (EISA_ID(PNP_EISA_ID_CONST, (_PNPId)))
-
-#define PNP_EISA_ID_MASK        0xffff
-#define EISA_ID_TO_NUM(_Id)     ((_Id) >> 16)
-/*
- *
- */
-#define MESSAGING_DEVICE_PATH           0x03 
-
-#define MSG_ATAPI_DP                    0x01
-typedef struct _ATAPI_DEVICE_PATH {
-        EFI_DEVICE_PATH                 Header;
-        UINT8                           PrimarySecondary;
-        UINT8                           SlaveMaster;
-        UINT16                          Lun;
-} ATAPI_DEVICE_PATH;
-
-#define MSG_SCSI_DP                     0x02
-typedef struct _SCSI_DEVICE_PATH {
-        EFI_DEVICE_PATH                 Header;
-        UINT16                          Pun;
-        UINT16                          Lun; 
-} SCSI_DEVICE_PATH;
-
-#define MSG_FIBRECHANNEL_DP             0x03
-typedef struct _FIBRECHANNEL_DEVICE_PATH {
-        EFI_DEVICE_PATH                 Header;
-        UINT32                          Reserved;
-        UINT64                          WWN;
-        UINT64                          Lun;
-} FIBRECHANNEL_DEVICE_PATH;
-
-#define MSG_1394_DP                     0x04
-typedef struct _F1394_DEVICE_PATH {
-        EFI_DEVICE_PATH                 Header;
-        UINT32                          Reserved;
-        UINT64                          Guid;
-} F1394_DEVICE_PATH;
-
-#define MSG_USB_DP                      0x05
-typedef struct _USB_DEVICE_PATH {
-    EFI_DEVICE_PATH                     Header;
-    UINT8                                                            ParentPortNumber;
-    UINT8                                                            InterfaceNumber;
-} USB_DEVICE_PATH;
-
-#define MSG_USB_CLASS_DP                0x0F
-typedef struct _USB_CLASS_DEVICE_PATH {
-        EFI_DEVICE_PATH                 Header;
-        UINT16                          VendorId;
-        UINT16                          ProductId;
-        UINT8                           DeviceClass;
-        UINT8                           DeviceSubClass;
-        UINT8                           DeviceProtocol;
-} USB_CLASS_DEVICE_PATH;
-
-#define MSG_I2O_DP                      0x06
-typedef struct _I2O_DEVICE_PATH {
-        EFI_DEVICE_PATH                 Header;
-        UINT32                          Tid;
-} I2O_DEVICE_PATH;
-
-#define MSG_MAC_ADDR_DP                 0x0b
-typedef struct _MAC_ADDR_DEVICE_PATH {
-        EFI_DEVICE_PATH                 Header;
-        EFI_MAC_ADDRESS                 MacAddress;
-        UINT8                           IfType;
-} MAC_ADDR_DEVICE_PATH;
-
-#define MSG_IPv4_DP                     0x0c
-typedef struct _IPv4_DEVICE_PATH {
-        EFI_DEVICE_PATH                 Header;
-        EFI_IPv4_ADDRESS                LocalIpAddress;
-        EFI_IPv4_ADDRESS                RemoteIpAddress;
-        UINT16                          LocalPort;
-        UINT16                          RemotePort;
-        UINT16                          Protocol;
-        BOOLEAN                         StaticIpAddress;
-} IPv4_DEVICE_PATH;
-
-#define MSG_IPv6_DP                     0x0d
-typedef struct _IPv6_DEVICE_PATH {
-        EFI_DEVICE_PATH                 Header;
-        EFI_IPv6_ADDRESS                LocalIpAddress;
-        EFI_IPv6_ADDRESS                RemoteIpAddress;
-        UINT16                          LocalPort;
-        UINT16                          RemotePort;
-        UINT16                          Protocol;
-        BOOLEAN                         StaticIpAddress;
-} IPv6_DEVICE_PATH;
-
-#define MSG_INFINIBAND_DP               0x09
-typedef struct _INFINIBAND_DEVICE_PATH {
-  EFI_DEVICE_PATH                       Header;
-  UINT32                                ResourceFlags;
-  UINT8                                 PortGid[16];
-  UINT64                                ServiceId;
-  UINT64                                TargetPortId;
-  UINT64                                DeviceId;
-} INFINIBAND_DEVICE_PATH;
-
-#define INFINIBAND_RESOURCE_FLAG_IOC_SERVICE                0x01
-#define INFINIBAND_RESOURCE_FLAG_EXTENDED_BOOT_ENVIRONMENT  0x02
-#define INFINIBAND_RESOURCE_FLAG_CONSOLE_PROTOCOL           0x04
-#define INFINIBAND_RESOURCE_FLAG_STORAGE_PROTOCOL           0x08
-#define INFINIBAND_RESOURCE_FLAG_NETWORK_PROTOCOL           0x10
-
-#define MSG_UART_DP                     0x0e
-typedef struct _UART_DEVICE_PATH {
-        EFI_DEVICE_PATH                 Header;
-        UINT32                          Reserved;
-        UINT64                          BaudRate;
-        UINT8                           DataBits;
-        UINT8                           Parity;
-        UINT8                           StopBits;
-} UART_DEVICE_PATH;
-
-#define MSG_VENDOR_DP                   0x0A
-/* Use VENDOR_DEVICE_PATH struct */
-
-#define DEVICE_PATH_MESSAGING_PC_ANSI \
-    { 0xe0c14753, 0xf9be, 0x11d2, {0x9a, 0x0c, 0x00, 0x90, 0x27, 0x3f, 0xc1, 0x4d} }
-
-#define DEVICE_PATH_MESSAGING_VT_100 \
-    { 0xdfa66065, 0xb419, 0x11d3, {0x9a, 0x2d, 0x00, 0x90, 0x27, 0x3f, 0xc1, 0x4d} }
-
-#define DEVICE_PATH_MESSAGING_VT_100_PLUS \
-    { 0x7baec70b, 0x57e0, 0x4c76, {0x8e, 0x87, 0x2f, 0x9e, 0x28, 0x08, 0x83, 0x43} }
-    
-#define DEVICE_PATH_MESSAGING_VT_UTF8 \
-    { 0xad15a0d6, 0x8bec, 0x4acf, {0xa0, 0x73, 0xd0, 0x1d, 0xe7, 0x7e, 0x2d, 0x88} }
-
-#define MSG_SATA_DP                    0x12
-typedef struct _SATA_DEVICE_PATH {
-       EFI_DEVICE_PATH                 Header;
-       UINT16                          HBAPortNumber;
-       UINT16                          PortMultiplierPortNumber;
-       UINT16                          Lun;
-} SATA_DEVICE_PATH;
-
-#define MEDIA_DEVICE_PATH               0x04
-
-#define MEDIA_HARDDRIVE_DP              0x01
-typedef struct _HARDDRIVE_DEVICE_PATH {
-        EFI_DEVICE_PATH                 Header;
-        UINT32                          PartitionNumber;
-        UINT64                          PartitionStart;
-        UINT64                          PartitionSize;
-        UINT8                           Signature[16];
-        UINT8                           MBRType;
-        UINT8                           SignatureType;
-} HARDDRIVE_DEVICE_PATH;
-
-#define MBR_TYPE_PCAT                       0x01
-#define MBR_TYPE_EFI_PARTITION_TABLE_HEADER 0x02
-
-#define SIGNATURE_TYPE_MBR                  0x01
-#define SIGNATURE_TYPE_GUID                 0x02
-
-#define MEDIA_CDROM_DP                  0x02
-typedef struct _CDROM_DEVICE_PATH {
-        EFI_DEVICE_PATH                 Header;
-        UINT32                          BootEntry;
-        UINT64                          PartitionStart;
-        UINT64                          PartitionSize;
-} CDROM_DEVICE_PATH;
-
-#define MEDIA_VENDOR_DP                 0x03
-/* Use VENDOR_DEVICE_PATH struct */
-
-#define MEDIA_FILEPATH_DP               0x04
-typedef struct _FILEPATH_DEVICE_PATH {
-        EFI_DEVICE_PATH                 Header;
-        CHAR16                          PathName[1];
-} FILEPATH_DEVICE_PATH;
-
-#define SIZE_OF_FILEPATH_DEVICE_PATH EFI_FIELD_OFFSET(FILEPATH_DEVICE_PATH,PathName)
-
-#define MEDIA_PROTOCOL_DP               0x05
-typedef struct _MEDIA_PROTOCOL_DEVICE_PATH {
-        EFI_DEVICE_PATH                 Header;
-        EFI_GUID                        Protocol;
-} MEDIA_PROTOCOL_DEVICE_PATH;
-
-
-#define BBS_DEVICE_PATH                 0x05
-#define BBS_BBS_DP                      0x01
-typedef struct _BBS_BBS_DEVICE_PATH {
-        EFI_DEVICE_PATH                 Header;
-        UINT16                          DeviceType;
-        UINT16                          StatusFlag;
-        CHAR8                           String[1];
-} BBS_BBS_DEVICE_PATH;
-
-/* DeviceType definitions - from BBS specification */
-#define BBS_TYPE_FLOPPY                 0x01
-#define BBS_TYPE_HARDDRIVE              0x02
-#define BBS_TYPE_CDROM                  0x03
-#define BBS_TYPE_PCMCIA                 0x04
-#define BBS_TYPE_USB                    0x05
-#define BBS_TYPE_EMBEDDED_NETWORK       0x06
-#define BBS_TYPE_DEV                    0x80
-#define BBS_TYPE_UNKNOWN                0xFF
-
-typedef union {
-    EFI_DEVICE_PATH                      DevPath;
-    PCI_DEVICE_PATH                      Pci;
-    PCCARD_DEVICE_PATH                   PcCard;
-    MEMMAP_DEVICE_PATH                   MemMap;
-    VENDOR_DEVICE_PATH                   Vendor;
-    UNKNOWN_DEVICE_VENDOR_DEVICE_PATH    UnknownVendor;   
-    CONTROLLER_DEVICE_PATH               Controller;
-    ACPI_HID_DEVICE_PATH                 Acpi;
-
-    ATAPI_DEVICE_PATH                    Atapi;
-    SCSI_DEVICE_PATH                     Scsi;
-    FIBRECHANNEL_DEVICE_PATH             FibreChannel;
-
-    F1394_DEVICE_PATH                    F1394;
-    USB_DEVICE_PATH                      Usb;
-    USB_CLASS_DEVICE_PATH                UsbClass;
-    I2O_DEVICE_PATH                      I2O;
-    MAC_ADDR_DEVICE_PATH                 MacAddr;
-    IPv4_DEVICE_PATH                     Ipv4;
-    IPv6_DEVICE_PATH                     Ipv6;
-    INFINIBAND_DEVICE_PATH               InfiniBand;
-    UART_DEVICE_PATH                     Uart;
-
-    HARDDRIVE_DEVICE_PATH                HardDrive;
-    CDROM_DEVICE_PATH                    CD;
-
-    FILEPATH_DEVICE_PATH                 FilePath;
-    MEDIA_PROTOCOL_DEVICE_PATH           MediaProtocol;
-
-    BBS_BBS_DEVICE_PATH                  Bbs;
-
-} EFI_DEV_PATH;
-
-typedef union {
-    EFI_DEVICE_PATH                      *DevPath;
-    PCI_DEVICE_PATH                      *Pci;
-    PCCARD_DEVICE_PATH                   *PcCard;
-    MEMMAP_DEVICE_PATH                   *MemMap;
-    VENDOR_DEVICE_PATH                   *Vendor;
-    UNKNOWN_DEVICE_VENDOR_DEVICE_PATH    *UnknownVendor;   
-    CONTROLLER_DEVICE_PATH               *Controller;
-    ACPI_HID_DEVICE_PATH                 *Acpi;
-    ACPI_EXTENDED_HID_DEVICE_PATH        *ExtendedAcpi;
-
-    ATAPI_DEVICE_PATH                    *Atapi;
-    SCSI_DEVICE_PATH                     *Scsi;
-    FIBRECHANNEL_DEVICE_PATH             *FibreChannel;
-
-    F1394_DEVICE_PATH                    *F1394;
-    USB_DEVICE_PATH                      *Usb;
-    USB_CLASS_DEVICE_PATH                *UsbClass;
-    I2O_DEVICE_PATH                      *I2O;
-    MAC_ADDR_DEVICE_PATH                 *MacAddr;
-    IPv4_DEVICE_PATH                     *Ipv4;
-    IPv6_DEVICE_PATH                     *Ipv6;
-    INFINIBAND_DEVICE_PATH               *InfiniBand;
-    UART_DEVICE_PATH                     *Uart;
-
-    HARDDRIVE_DEVICE_PATH                *HardDrive;
-
-    FILEPATH_DEVICE_PATH                 *FilePath;
-    MEDIA_PROTOCOL_DEVICE_PATH           *MediaProtocol;
-
-    CDROM_DEVICE_PATH                    *CD;
-    BBS_BBS_DEVICE_PATH                  *Bbs;
-
-} EFI_DEV_PATH_PTR;
-
-
-#endif
diff --git a/sys/boot/efi/include/efierr.h b/sys/boot/efi/include/efierr.h
deleted file mode 100644 (file)
index 9791016..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-/* $FreeBSD: head/sys/boot/efi/include/efierr.h 293724 2016-01-12 02:17:39Z smh $ */
-#ifndef _EFI_ERR_H
-#define _EFI_ERR_H
-
-/*++
-
-Copyright (c)  1999 - 2002 Intel Corporation. All rights reserved
-This software and associated documentation (if any) is furnished
-under a license and may only be used or copied in accordance
-with the terms of the license. Except as permitted by such
-license, no part of this software or documentation may be
-reproduced, stored in a retrieval system, or transmitted in any
-form or by any means without the express written consent of
-Intel Corporation.
-
-Module Name:
-
-    efierr.h
-
-Abstract:
-
-    EFI error codes
-
-
-
-
-Revision History
-
---*/
-
-
-#define EFIWARN(a)                            (a)
-#define EFI_ERROR(a)             (((INTN) a) < 0)
-#define EFI_ERROR_CODE(a)   (unsigned long)(a & ~EFI_ERROR_MASK)
-
-
-#define EFI_SUCCESS                             0
-#define EFI_LOAD_ERROR                  EFIERR(1)
-#define EFI_INVALID_PARAMETER           EFIERR(2)
-#define EFI_UNSUPPORTED                 EFIERR(3)
-#define EFI_BAD_BUFFER_SIZE             EFIERR(4)
-#define EFI_BUFFER_TOO_SMALL            EFIERR(5)
-#define EFI_NOT_READY                   EFIERR(6)
-#define EFI_DEVICE_ERROR                EFIERR(7)
-#define EFI_WRITE_PROTECTED             EFIERR(8)
-#define EFI_OUT_OF_RESOURCES            EFIERR(9)
-#define EFI_VOLUME_CORRUPTED            EFIERR(10)
-#define EFI_VOLUME_FULL                 EFIERR(11)
-#define EFI_NO_MEDIA                    EFIERR(12)
-#define EFI_MEDIA_CHANGED               EFIERR(13)
-#define EFI_NOT_FOUND                   EFIERR(14)
-#define EFI_ACCESS_DENIED               EFIERR(15)
-#define EFI_NO_RESPONSE                 EFIERR(16)
-#define EFI_NO_MAPPING                  EFIERR(17)
-#define EFI_TIMEOUT                     EFIERR(18)
-#define EFI_NOT_STARTED                 EFIERR(19)
-#define EFI_ALREADY_STARTED             EFIERR(20)
-#define EFI_ABORTED                     EFIERR(21)
-#define EFI_ICMP_ERROR                  EFIERR(22)
-#define EFI_TFTP_ERROR                  EFIERR(23)
-#define EFI_PROTOCOL_ERROR              EFIERR(24)
-
-#define EFI_WARN_UNKNOWN_GLYPH          EFIWARN(1)
-#define EFI_WARN_DELETE_FAILURE         EFIWARN(2)
-#define EFI_WARN_WRITE_FAILURE          EFIWARN(3)
-#define EFI_WARN_BUFFER_TOO_SMALL       EFIWARN(4)
-
-#endif
diff --git a/sys/boot/efi/include/efifs.h b/sys/boot/efi/include/efifs.h
deleted file mode 100644 (file)
index 3bbb78f..0000000
+++ /dev/null
@@ -1,123 +0,0 @@
-/* $FreeBSD: head/sys/boot/efi/include/efifs.h 292625 2015-12-22 20:40:34Z emaste $ */
-#ifndef _EFI_FS_H
-#define _EFI_FS_H
-
-/*++
-
-Copyright (c)  1999 - 2002 Intel Corporation. All rights reserved
-This software and associated documentation (if any) is furnished
-under a license and may only be used or copied in accordance
-with the terms of the license. Except as permitted by such
-license, no part of this software or documentation may be
-reproduced, stored in a retrieval system, or transmitted in any
-form or by any means without the express written consent of
-Intel Corporation.
-
-Module Name:
-
-    efifs.h
-
-Abstract:
-
-    EFI File System structures
-
-
-
-Revision History
-
---*/
-
-
-//
-// EFI Partition header (normaly starts in LBA 1)
-//
-
-#define EFI_PARTITION_SIGNATURE         0x5053595320494249
-#define EFI_PARTITION_REVISION          0x00010001
-#define MIN_EFI_PARTITION_BLOCK_SIZE    512
-#define EFI_PARTITION_LBA               1
-
-typedef struct _EFI_PARTITION_HEADER {
-    EFI_TABLE_HEADER    Hdr;
-    UINT32              DirectoryAllocationNumber;
-    UINT32              BlockSize;
-    EFI_LBA             FirstUsableLba;
-    EFI_LBA             LastUsableLba;
-    EFI_LBA             UnusableSpace;
-    EFI_LBA             FreeSpace;
-    EFI_LBA             RootFile;
-    EFI_LBA             SecutiryFile;
-} EFI_PARTITION_HEADER;
-
-
-//
-// File header
-//
-
-#define EFI_FILE_HEADER_SIGNATURE   0x454c494620494249
-#define EFI_FILE_HEADER_REVISION    0x00010000
-#define EFI_FILE_STRING_SIZE        260
-
-typedef struct _EFI_FILE_HEADER {
-    EFI_TABLE_HEADER    Hdr;
-    UINT32              Class;
-    UINT32              LBALOffset;
-    EFI_LBA             Parent;
-    UINT64              FileSize;
-    UINT64              FileAttributes;
-    EFI_TIME            FileCreateTime;
-    EFI_TIME            FileModificationTime;
-    EFI_GUID            VendorGuid;
-    CHAR16              FileString[EFI_FILE_STRING_SIZE];
-} EFI_FILE_HEADER;
-
-
-//
-// Return the file's first LBAL which is in the same
-// logical block as the file header
-//
-
-#define EFI_FILE_LBAL(a)    ((EFI_LBAL *) (((CHAR8 *) (a)) + (a)->LBALOffset))
-
-#define EFI_FILE_CLASS_FREE_SPACE   1
-#define EFI_FILE_CLASS_EMPTY        2
-#define EFI_FILE_CLASS_NORMAL       3
-
-
-//
-// Logical Block Address List - the fundemental block
-// description structure
-//
-
-#define EFI_LBAL_SIGNATURE      0x4c41424c20494249
-#define EFI_LBAL_REVISION       0x00010000
-
-typedef struct _EFI_LBAL {
-    EFI_TABLE_HEADER    Hdr;
-    UINT32              Class;
-    EFI_LBA             Parent;
-    EFI_LBA             Next;
-    UINT32              ArraySize;
-    UINT32              ArrayCount;
-} EFI_LBAL;
-
-// Array size 
-#define EFI_LBAL_ARRAY_SIZE(lbal,offs,blks)  \
-        (((blks) - (offs) - (lbal)->Hdr.HeaderSize) / sizeof(EFI_RL))
-
-//
-// Logical Block run-length
-//
-
-typedef struct {
-    EFI_LBA     Start;
-    UINT64      Length;
-} EFI_RL;
-
-//
-// Return the run-length structure from an LBAL header
-//
-
-#define EFI_LBAL_RL(a)      ((EFI_RL*) (((CHAR8 *) (a)) + (a)->Hdr.HeaderSize))
-
-#endif
diff --git a/sys/boot/efi/include/efiprot.h b/sys/boot/efi/include/efiprot.h
deleted file mode 100644 (file)
index 5705beb..0000000
+++ /dev/null
@@ -1,558 +0,0 @@
-/* $FreeBSD: head/sys/boot/efi/include/efiprot.h 293724 2016-01-12 02:17:39Z smh $ */
-#ifndef _EFI_PROT_H
-#define _EFI_PROT_H
-
-/*++
-
-Copyright (c)  1999 - 2002 Intel Corporation. All rights reserved
-This software and associated documentation (if any) is furnished
-under a license and may only be used or copied in accordance
-with the terms of the license. Except as permitted by such
-license, no part of this software or documentation may be
-reproduced, stored in a retrieval system, or transmitted in any
-form or by any means without the express written consent of
-Intel Corporation.
-
-Module Name:
-
-    efiprot.h
-
-Abstract:
-
-    EFI Protocols
-
-
-
-Revision History
-
---*/
-
-//
-// Device Path protocol
-//
-
-#define DEVICE_PATH_PROTOCOL \
-    { 0x9576e91, 0x6d3f, 0x11d2, {0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b} }
-
-
-//
-// Block IO protocol
-//
-
-#define BLOCK_IO_PROTOCOL \
-    { 0x964e5b21, 0x6459, 0x11d2, {0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b} }
-#define EFI_BLOCK_IO_INTERFACE_REVISION   0x00010000
-
-INTERFACE_DECL(_EFI_BLOCK_IO);
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_BLOCK_RESET) (
-    IN struct _EFI_BLOCK_IO     *This,
-    IN BOOLEAN                  ExtendedVerification
-    );
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_BLOCK_READ) (
-    IN struct _EFI_BLOCK_IO     *This,
-    IN UINT32                   MediaId,
-    IN EFI_LBA                  LBA,
-    IN UINTN                    BufferSize,
-    OUT VOID                    *Buffer
-    );
-
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_BLOCK_WRITE) (
-    IN struct _EFI_BLOCK_IO     *This,
-    IN UINT32                   MediaId,
-    IN EFI_LBA                  LBA,
-    IN UINTN                    BufferSize,
-    IN VOID                     *Buffer
-    );
-
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_BLOCK_FLUSH) (
-    IN struct _EFI_BLOCK_IO     *This
-    );
-
-
-
-typedef struct {
-    UINT32              MediaId;
-    BOOLEAN             RemovableMedia;
-    BOOLEAN             MediaPresent;
-
-    BOOLEAN             LogicalPartition;
-    BOOLEAN             ReadOnly;
-    BOOLEAN             WriteCaching;
-
-    UINT32              BlockSize;
-    UINT32              IoAlign;
-
-    EFI_LBA             LastBlock;
-} EFI_BLOCK_IO_MEDIA;
-
-typedef struct _EFI_BLOCK_IO {
-    UINT64                  Revision;
-
-    EFI_BLOCK_IO_MEDIA      *Media;
-
-    EFI_BLOCK_RESET         Reset;
-    EFI_BLOCK_READ          ReadBlocks;
-    EFI_BLOCK_WRITE         WriteBlocks;
-    EFI_BLOCK_FLUSH         FlushBlocks;
-
-} EFI_BLOCK_IO;
-
-
-
-//
-// Disk Block IO protocol
-//
-
-#define DISK_IO_PROTOCOL \
-    { 0xce345171, 0xba0b, 0x11d2, {0x8e, 0x4f, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b} }
-#define EFI_DISK_IO_INTERFACE_REVISION   0x00010000
-
-INTERFACE_DECL(_EFI_DISK_IO);
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_DISK_READ) (
-    IN struct _EFI_DISK_IO      *This,
-    IN UINT32                   MediaId,
-    IN UINT64                   Offset,
-    IN UINTN                    BufferSize,
-    OUT VOID                    *Buffer
-    );
-
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_DISK_WRITE) (
-    IN struct _EFI_DISK_IO      *This,
-    IN UINT32                   MediaId,
-    IN UINT64                   Offset,
-    IN UINTN                    BufferSize,
-    IN VOID                     *Buffer
-    );
-
-
-typedef struct _EFI_DISK_IO {
-    UINT64              Revision;
-    EFI_DISK_READ       ReadDisk;
-    EFI_DISK_WRITE      WriteDisk;
-} EFI_DISK_IO;
-
-
-//
-// Simple file system protocol
-//
-
-#define SIMPLE_FILE_SYSTEM_PROTOCOL \
-    { 0x964e5b22, 0x6459, 0x11d2, {0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b} }
-
-INTERFACE_DECL(_EFI_FILE_IO_INTERFACE);
-INTERFACE_DECL(_EFI_FILE_HANDLE);
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_VOLUME_OPEN) (
-    IN struct _EFI_FILE_IO_INTERFACE    *This,
-    OUT struct _EFI_FILE_HANDLE         **Root
-    );
-
-#define EFI_FILE_IO_INTERFACE_REVISION   0x00010000
-
-typedef struct _EFI_FILE_IO_INTERFACE {
-    UINT64                  Revision;
-    EFI_VOLUME_OPEN         OpenVolume;
-} EFI_FILE_IO_INTERFACE;
-
-//
-//
-//
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_FILE_OPEN) (
-    IN struct _EFI_FILE_HANDLE  *File,
-    OUT struct _EFI_FILE_HANDLE **NewHandle,
-    IN CHAR16                   *FileName,
-    IN UINT64                   OpenMode,
-    IN UINT64                   Attributes
-    );
-
-// Open modes
-#define EFI_FILE_MODE_READ      0x0000000000000001
-#define EFI_FILE_MODE_WRITE     0x0000000000000002
-#define EFI_FILE_MODE_CREATE    0x8000000000000000
-
-// File attributes
-#define EFI_FILE_READ_ONLY      0x0000000000000001
-#define EFI_FILE_HIDDEN         0x0000000000000002
-#define EFI_FILE_SYSTEM         0x0000000000000004
-#define EFI_FILE_RESERVIED      0x0000000000000008
-#define EFI_FILE_DIRECTORY      0x0000000000000010
-#define EFI_FILE_ARCHIVE        0x0000000000000020
-#define EFI_FILE_VALID_ATTR     0x0000000000000037
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_FILE_CLOSE) (
-    IN struct _EFI_FILE_HANDLE  *File
-    );
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_FILE_DELETE) (
-    IN struct _EFI_FILE_HANDLE  *File
-    );
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_FILE_READ) (
-    IN struct _EFI_FILE_HANDLE  *File,
-    IN OUT UINTN                *BufferSize,
-    OUT VOID                    *Buffer
-    );
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_FILE_WRITE) (
-    IN struct _EFI_FILE_HANDLE  *File,
-    IN OUT UINTN                *BufferSize,
-    IN VOID                     *Buffer
-    );
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_FILE_SET_POSITION) (
-    IN struct _EFI_FILE_HANDLE  *File,
-    IN UINT64                   Position
-    );
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_FILE_GET_POSITION) (
-    IN struct _EFI_FILE_HANDLE  *File,
-    OUT UINT64                  *Position
-    );
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_FILE_GET_INFO) (
-    IN struct _EFI_FILE_HANDLE  *File,
-    IN EFI_GUID                 *InformationType,
-    IN OUT UINTN                *BufferSize,
-    OUT VOID                    *Buffer
-    );
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_FILE_SET_INFO) (
-    IN struct _EFI_FILE_HANDLE  *File,
-    IN EFI_GUID                 *InformationType,
-    IN UINTN                    BufferSize,
-    IN VOID                     *Buffer
-    );
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_FILE_FLUSH) (
-    IN struct _EFI_FILE_HANDLE  *File
-    );
-
-
-
-#define EFI_FILE_HANDLE_REVISION         0x00010000
-typedef struct _EFI_FILE_HANDLE {
-    UINT64                  Revision;
-    EFI_FILE_OPEN           Open;
-    EFI_FILE_CLOSE          Close;
-    EFI_FILE_DELETE         Delete;
-    EFI_FILE_READ           Read;
-    EFI_FILE_WRITE          Write;
-    EFI_FILE_GET_POSITION   GetPosition;
-    EFI_FILE_SET_POSITION   SetPosition;
-    EFI_FILE_GET_INFO       GetInfo;
-    EFI_FILE_SET_INFO       SetInfo;
-    EFI_FILE_FLUSH          Flush;
-} EFI_FILE, *EFI_FILE_HANDLE;
-
-
-//
-// File information types
-//
-
-#define EFI_FILE_INFO_ID \
-    { 0x9576e92, 0x6d3f, 0x11d2, {0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b} }
-
-typedef struct {
-    UINT64                  Size;
-    UINT64                  FileSize;
-    UINT64                  PhysicalSize;
-    EFI_TIME                CreateTime;
-    EFI_TIME                LastAccessTime;
-    EFI_TIME                ModificationTime;
-    UINT64                  Attribute;
-    CHAR16                  FileName[1];
-} EFI_FILE_INFO;
-
-//
-// The FileName field of the EFI_FILE_INFO data structure is variable length.
-// Whenever code needs to know the size of the EFI_FILE_INFO data structure, it needs to
-// be the size of the data structure without the FileName field.  The following macro 
-// computes this size correctly no matter how big the FileName array is declared.
-// This is required to make the EFI_FILE_INFO data structure ANSI compilant. 
-//
-
-#define SIZE_OF_EFI_FILE_INFO EFI_FIELD_OFFSET(EFI_FILE_INFO,FileName)
-
-#define EFI_FILE_SYSTEM_INFO_ID \
-    { 0x9576e93, 0x6d3f, 0x11d2, {0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b} }
-
-typedef struct {
-    UINT64                  Size;
-    BOOLEAN                 ReadOnly;
-    UINT64                  VolumeSize;
-    UINT64                  FreeSpace;
-    UINT32                  BlockSize;
-    CHAR16                  VolumeLabel[1];
-} EFI_FILE_SYSTEM_INFO;
-
-//
-// The VolumeLabel field of the EFI_FILE_SYSTEM_INFO data structure is variable length.
-// Whenever code needs to know the size of the EFI_FILE_SYSTEM_INFO data structure, it needs
-// to be the size of the data structure without the VolumeLable field.  The following macro 
-// computes this size correctly no matter how big the VolumeLable array is declared.
-// This is required to make the EFI_FILE_SYSTEM_INFO data structure ANSI compilant. 
-//
-
-#define SIZE_OF_EFI_FILE_SYSTEM_INFO EFI_FIELD_OFFSET(EFI_FILE_SYSTEM_INFO,VolumeLabel)
-
-#define EFI_FILE_SYSTEM_VOLUME_LABEL_INFO_ID \
-    { 0xDB47D7D3,0xFE81, 0x11d3, {0x9A, 0x35, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D} }
-
-typedef struct {
-    CHAR16                  VolumeLabel[1];
-} EFI_FILE_SYSTEM_VOLUME_LABEL_INFO;
-
-#define SIZE_OF_EFI_FILE_SYSTEM_VOLUME_LABEL_INFO EFI_FIELD_OFFSET(EFI_FILE_SYSTEM_VOLUME_LABEL_INFO,VolumeLabel)
-
-//
-// Load file protocol
-//
-
-
-#define LOAD_FILE_PROTOCOL \
-    { 0x56EC3091, 0x954C, 0x11d2, {0x8E, 0x3F, 0x00, 0xA0, 0xC9, 0x69, 0x72, 0x3B} }
-
-INTERFACE_DECL(_EFI_LOAD_FILE_INTERFACE);
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_LOAD_FILE) (
-    IN struct _EFI_LOAD_FILE_INTERFACE  *This,
-    IN EFI_DEVICE_PATH                  *FilePath,
-    IN BOOLEAN                          BootPolicy,
-    IN OUT UINTN                        *BufferSize,
-    IN VOID                             *Buffer OPTIONAL
-    );
-
-typedef struct _EFI_LOAD_FILE_INTERFACE {
-    EFI_LOAD_FILE                       LoadFile;
-} EFI_LOAD_FILE_INTERFACE;
-
-
-//
-// Device IO protocol
-//
-
-#define DEVICE_IO_PROTOCOL \
-    { 0xaf6ac311, 0x84c3, 0x11d2, {0x8e, 0x3c, 0x00, 0xa0, 0xc9, 0x69, 0x72, 0x3b} }
-
-INTERFACE_DECL(_EFI_DEVICE_IO_INTERFACE);
-
-typedef enum {
-    IO_UINT8,
-    IO_UINT16,
-    IO_UINT32,
-    IO_UINT64,
-//
-// Specification Change: Copy from MMIO to MMIO vs. MMIO to buffer, buffer to MMIO
-//
-    MMIO_COPY_UINT8,
-    MMIO_COPY_UINT16,
-    MMIO_COPY_UINT32,
-    MMIO_COPY_UINT64
-} EFI_IO_WIDTH;
-
-#define EFI_PCI_ADDRESS(bus,dev,func,reg) \
-  ( (UINT64) ( (((UINTN)bus) << 24) + (((UINTN)dev) << 16) + (((UINTN)func) << 8) + ((UINTN)reg) ))
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_DEVICE_IO) (
-    IN struct _EFI_DEVICE_IO_INTERFACE *This,
-    IN EFI_IO_WIDTH                 Width,
-    IN UINT64                       Address,
-    IN UINTN                        Count,
-    IN OUT VOID                     *Buffer
-    );
-
-typedef struct {
-    EFI_DEVICE_IO                   Read;
-    EFI_DEVICE_IO                   Write;
-} EFI_IO_ACCESS;
-
-typedef 
-EFI_STATUS
-(EFIAPI *EFI_PCI_DEVICE_PATH) (
-    IN struct _EFI_DEVICE_IO_INTERFACE  *This,
-    IN UINT64                           Address,
-    IN OUT EFI_DEVICE_PATH              **PciDevicePath
-    );
-
-typedef enum {
-    EfiBusMasterRead,
-    EfiBusMasterWrite,
-    EfiBusMasterCommonBuffer
-} EFI_IO_OPERATION_TYPE;
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_IO_MAP) (
-    IN struct _EFI_DEVICE_IO_INTERFACE  *This,
-    IN EFI_IO_OPERATION_TYPE            Operation,
-    IN EFI_PHYSICAL_ADDRESS             *HostAddress,
-    IN OUT UINTN                        *NumberOfBytes,
-    OUT EFI_PHYSICAL_ADDRESS            *DeviceAddress,
-    OUT VOID                            **Mapping
-    );
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_IO_UNMAP) (
-    IN struct _EFI_DEVICE_IO_INTERFACE  *This,
-    IN VOID                             *Mapping
-    );
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_IO_ALLOCATE_BUFFER) (
-    IN struct _EFI_DEVICE_IO_INTERFACE  *This,
-    IN EFI_ALLOCATE_TYPE                Type,
-    IN EFI_MEMORY_TYPE                  MemoryType,
-    IN UINTN                            Pages,
-    IN OUT EFI_PHYSICAL_ADDRESS         *HostAddress
-    );
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_IO_FLUSH) (
-    IN struct _EFI_DEVICE_IO_INTERFACE  *This
-    );
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_IO_FREE_BUFFER) (
-    IN struct _EFI_DEVICE_IO_INTERFACE  *This,
-    IN UINTN                            Pages,
-    IN EFI_PHYSICAL_ADDRESS             HostAddress
-    );
-
-typedef struct _EFI_DEVICE_IO_INTERFACE {
-    EFI_IO_ACCESS                       Mem;
-    EFI_IO_ACCESS                       Io;
-    EFI_IO_ACCESS                       Pci;
-    EFI_IO_MAP                          Map;
-    EFI_PCI_DEVICE_PATH                 PciDevicePath;
-    EFI_IO_UNMAP                        Unmap;
-    EFI_IO_ALLOCATE_BUFFER              AllocateBuffer;
-    EFI_IO_FLUSH                        Flush;
-    EFI_IO_FREE_BUFFER                  FreeBuffer;
-} EFI_DEVICE_IO_INTERFACE;
-
-
-//
-// Unicode Collation protocol
-//
-
-#define UNICODE_COLLATION_PROTOCOL \
-    { 0x1d85cd7f, 0xf43d, 0x11d2, {0x9a, 0xc, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d} }
-
-#define UNICODE_BYTE_ORDER_MARK       (CHAR16)(0xfeff)
-
-INTERFACE_DECL(_EFI_UNICODE_COLLATION_INTERFACE);
-
-typedef
-INTN
-(EFIAPI *EFI_UNICODE_COLLATION_STRICOLL) (
-    IN struct _EFI_UNICODE_COLLATION_INTERFACE  *This,
-    IN CHAR16                         *s1,
-    IN CHAR16                         *s2
-    );
-
-typedef
-BOOLEAN
-(EFIAPI *EFI_UNICODE_COLLATION_METAIMATCH) (
-    IN struct _EFI_UNICODE_COLLATION_INTERFACE  *This,
-    IN CHAR16                         *String,
-    IN CHAR16                         *Pattern
-    );
-
-typedef
-VOID
-(EFIAPI *EFI_UNICODE_COLLATION_STRLWR) (
-    IN struct _EFI_UNICODE_COLLATION_INTERFACE  *This,
-    IN OUT CHAR16                       *Str
-    );
-
-typedef
-VOID
-(EFIAPI *EFI_UNICODE_COLLATION_STRUPR) (
-    IN struct _EFI_UNICODE_COLLATION_INTERFACE  *This,
-    IN OUT CHAR16                       *Str
-    );
-
-typedef
-VOID
-(EFIAPI *EFI_UNICODE_COLLATION_FATTOSTR) (
-    IN struct _EFI_UNICODE_COLLATION_INTERFACE  *This,
-    IN UINTN                            FatSize,
-    IN CHAR8                            *Fat,
-    OUT CHAR16                          *String
-    );
-
-typedef
-BOOLEAN
-(EFIAPI *EFI_UNICODE_COLLATION_STRTOFAT) (
-    IN struct _EFI_UNICODE_COLLATION_INTERFACE  *This,
-    IN CHAR16                           *String,
-    IN UINTN                            FatSize,
-    OUT CHAR8                           *Fat
-    );
-
-
-typedef struct _EFI_UNICODE_COLLATION_INTERFACE {
-
-    // general
-    EFI_UNICODE_COLLATION_STRICOLL                StriColl;
-    EFI_UNICODE_COLLATION_METAIMATCH              MetaiMatch;
-    EFI_UNICODE_COLLATION_STRLWR                  StrLwr;
-    EFI_UNICODE_COLLATION_STRUPR                  StrUpr;
-
-    // for supporting fat volumes
-    EFI_UNICODE_COLLATION_FATTOSTR                FatToStr;
-    EFI_UNICODE_COLLATION_STRTOFAT                StrToFat;
-
-    CHAR8                               *SupportedLanguages;
-} EFI_UNICODE_COLLATION_INTERFACE;
-
-#endif
diff --git a/sys/boot/efi/include/efipxebc.h b/sys/boot/efi/include/efipxebc.h
deleted file mode 100644 (file)
index ab31322..0000000
+++ /dev/null
@@ -1,472 +0,0 @@
-/* $FreeBSD: head/sys/boot/efi/include/efipxebc.h 293724 2016-01-12 02:17:39Z smh $ */
-#ifndef _EFIPXEBC_H
-#define _EFIPXEBC_H
-
-/*++
-
-Copyright (c)  1999 - 2002 Intel Corporation. All rights reserved
-This software and associated documentation (if any) is furnished
-under a license and may only be used or copied in accordance
-with the terms of the license. Except as permitted by such
-license, no part of this software or documentation may be
-reproduced, stored in a retrieval system, or transmitted in any
-form or by any means without the express written consent of
-Intel Corporation.
-
-Module Name:
-
-    efipxebc.h
-
-Abstract:
-
-    EFI PXE Base Code Protocol
-
-
-
-Revision History
-
---*/
-
-//
-// PXE Base Code protocol
-//
-
-#define EFI_PXE_BASE_CODE_PROTOCOL \
-    { 0x03c4e603, 0xac28, 0x11d3, {0x9a, 0x2d, 0x00, 0x90, 0x27, 0x3f, 0xc1, 0x4d} }
-
-INTERFACE_DECL(_EFI_PXE_BASE_CODE);
-
-#define DEFAULT_TTL 8
-#define DEFAULT_ToS 0
-//
-// Address definitions
-//
-
-typedef union {
-    UINT32      Addr[4];
-    EFI_IPv4_ADDRESS    v4;
-    EFI_IPv6_ADDRESS    v6;
-} EFI_IP_ADDRESS;
-
-typedef UINT16 EFI_PXE_BASE_CODE_UDP_PORT;
-
-//
-// Packet definitions
-//
-
-typedef struct {
-    UINT8                           BootpOpcode;
-    UINT8                           BootpHwType;
-    UINT8                           BootpHwAddrLen;
-    UINT8                           BootpGateHops;
-    UINT32                          BootpIdent;
-    UINT16                          BootpSeconds;
-    UINT16                          BootpFlags;
-    UINT8                           BootpCiAddr[4];
-    UINT8                           BootpYiAddr[4];
-    UINT8                           BootpSiAddr[4];
-    UINT8                           BootpGiAddr[4];
-    UINT8                           BootpHwAddr[16];
-    UINT8                           BootpSrvName[64];
-    UINT8                           BootpBootFile[128];
-    UINT32                          DhcpMagik;
-    UINT8                           DhcpOptions[56];
-} EFI_PXE_BASE_CODE_DHCPV4_PACKET;
-
-// TBD in EFI v1.1
-//typedef struct {
-//    UINT8                           reserved;
-//} EFI_PXE_BASE_CODE_DHCPV6_PACKET;
-
-typedef union {
-    UINT8                               Raw[1472];
-    EFI_PXE_BASE_CODE_DHCPV4_PACKET     Dhcpv4;
-//    EFI_PXE_BASE_CODE_DHCPV6_PACKET     Dhcpv6;
-} EFI_PXE_BASE_CODE_PACKET;
-
-typedef struct {
-    UINT8                   Type;
-    UINT8                   Code;
-    UINT16                  Checksum;
-    union {
-        UINT32              reserved;
-        UINT32              Mtu;
-        UINT32              Pointer;
-        struct {
-            UINT16          Identifier;
-            UINT16          Sequence;
-        } Echo;
-    } u;
-    UINT8                   Data[494];
-} EFI_PXE_BASE_CODE_ICMP_ERROR;
-
-typedef struct {
-    UINT8                   ErrorCode;
-    CHAR8                   ErrorString[127];
-} EFI_PXE_BASE_CODE_TFTP_ERROR;
-
-//
-// IP Receive Filter definitions
-//
-#define EFI_PXE_BASE_CODE_MAX_IPCNT             8
-typedef struct {
-    UINT8                       Filters;
-    UINT8                       IpCnt;
-    UINT16                      reserved;
-    EFI_IP_ADDRESS              IpList[EFI_PXE_BASE_CODE_MAX_IPCNT];
-} EFI_PXE_BASE_CODE_IP_FILTER;
-
-#define EFI_PXE_BASE_CODE_IP_FILTER_STATION_IP             0x0001
-#define EFI_PXE_BASE_CODE_IP_FILTER_BROADCAST              0x0002
-#define EFI_PXE_BASE_CODE_IP_FILTER_PROMISCUOUS            0x0004
-#define EFI_PXE_BASE_CODE_IP_FILTER_PROMISCUOUS_MULTICAST  0x0008
-
-//
-// ARP Cache definitions
-//
-
-typedef struct {
-    EFI_IP_ADDRESS       IpAddr;
-    EFI_MAC_ADDRESS      MacAddr;
-} EFI_PXE_BASE_CODE_ARP_ENTRY;
-
-typedef struct {
-    EFI_IP_ADDRESS       IpAddr;
-    EFI_IP_ADDRESS       SubnetMask;
-    EFI_IP_ADDRESS       GwAddr;
-} EFI_PXE_BASE_CODE_ROUTE_ENTRY;
-
-//
-// UDP definitions
-//
-
-#define EFI_PXE_BASE_CODE_UDP_OPFLAGS_ANY_SRC_IP    0x0001
-#define EFI_PXE_BASE_CODE_UDP_OPFLAGS_ANY_SRC_PORT  0x0002
-#define EFI_PXE_BASE_CODE_UDP_OPFLAGS_ANY_DEST_IP   0x0004
-#define EFI_PXE_BASE_CODE_UDP_OPFLAGS_ANY_DEST_PORT 0x0008
-#define EFI_PXE_BASE_CODE_UDP_OPFLAGS_USE_FILTER    0x0010
-#define EFI_PXE_BASE_CODE_UDP_OPFLAGS_MAY_FRAGMENT  0x0020
-
-//
-// Discover() definitions
-//
-
-#define EFI_PXE_BASE_CODE_BOOT_TYPE_BOOTSTRAP           0   
-#define EFI_PXE_BASE_CODE_BOOT_TYPE_MS_WINNT_RIS        1
-#define EFI_PXE_BASE_CODE_BOOT_TYPE_INTEL_LCM           2
-#define EFI_PXE_BASE_CODE_BOOT_TYPE_DOSUNDI             3
-#define EFI_PXE_BASE_CODE_BOOT_TYPE_NEC_ESMPRO          4
-#define EFI_PXE_BASE_CODE_BOOT_TYPE_IBM_WSoD            5
-#define EFI_PXE_BASE_CODE_BOOT_TYPE_IBM_LCCM            6
-#define EFI_PXE_BASE_CODE_BOOT_TYPE_CA_UNICENTER_TNG    7
-#define EFI_PXE_BASE_CODE_BOOT_TYPE_HP_OPENVIEW         8
-#define EFI_PXE_BASE_CODE_BOOT_TYPE_ALTIRIS_9           9
-#define EFI_PXE_BASE_CODE_BOOT_TYPE_ALTIRIS_10          10
-#define EFI_PXE_BASE_CODE_BOOT_TYPE_ALTIRIS_11          11
-#define EFI_PXE_BASE_CODE_BOOT_TYPE_NOT_USED_12         12
-#define EFI_PXE_BASE_CODE_BOOT_TYPE_REDHAT_INSTALL      13
-#define EFI_PXE_BASE_CODE_BOOT_TYPE_REDHAT_BOOT         14
-#define EFI_PXE_BASE_CODE_BOOT_TYPE_REMBO               15
-#define EFI_PXE_BASE_CODE_BOOT_TYPE_BEOBOOT             16
-//
-// 17 through 32767 are reserved
-// 32768 through 65279 are for vendor use
-// 65280 through 65534 are reserved
-//
-#define EFI_PXE_BASE_CODE_BOOT_TYPE_PXETEST             65535
-
-#define EFI_PXE_BASE_CODE_BOOT_LAYER_MASK               0x7FFF
-#define EFI_PXE_BASE_CODE_BOOT_LAYER_INITIAL            0x0000
-#define EFI_PXE_BASE_CODE_BOOT_LAYER_CREDENTIALS        0x8000
-
-
-typedef struct {
-    UINT16                      Type;
-    BOOLEAN                     AcceptAnyResponse;
-    UINT8                       Reserved;
-    EFI_IP_ADDRESS              IpAddr;
-} EFI_PXE_BASE_CODE_SRVLIST;
-
-typedef struct {
-    BOOLEAN                     UseMCast;
-    BOOLEAN                     UseBCast;
-    BOOLEAN                     UseUCast;
-    BOOLEAN                     MustUseList;
-    EFI_IP_ADDRESS              ServerMCastIp;
-    UINT16                      IpCnt;
-    EFI_PXE_BASE_CODE_SRVLIST   SrvList[1];
-} EFI_PXE_BASE_CODE_DISCOVER_INFO;
-
-//
-// Mtftp() definitions
-//
-
-typedef enum {
-    EFI_PXE_BASE_CODE_TFTP_FIRST,
-    EFI_PXE_BASE_CODE_TFTP_GET_FILE_SIZE,
-    EFI_PXE_BASE_CODE_TFTP_READ_FILE,
-    EFI_PXE_BASE_CODE_TFTP_WRITE_FILE,
-    EFI_PXE_BASE_CODE_TFTP_READ_DIRECTORY,
-    EFI_PXE_BASE_CODE_MTFTP_GET_FILE_SIZE,
-    EFI_PXE_BASE_CODE_MTFTP_READ_FILE,
-    EFI_PXE_BASE_CODE_MTFTP_READ_DIRECTORY,
-    EFI_PXE_BASE_CODE_MTFTP_LAST
-} EFI_PXE_BASE_CODE_TFTP_OPCODE;
-
-typedef struct {
-    EFI_IP_ADDRESS   MCastIp;
-    EFI_PXE_BASE_CODE_UDP_PORT  CPort;
-    EFI_PXE_BASE_CODE_UDP_PORT  SPort;
-    UINT16                      ListenTimeout;
-    UINT16                      TransmitTimeout;
-} EFI_PXE_BASE_CODE_MTFTP_INFO;
-
-//
-// PXE Base Code Mode structure
-//
-
-#define EFI_PXE_BASE_CODE_MAX_ARP_ENTRIES       8
-#define EFI_PXE_BASE_CODE_MAX_ROUTE_ENTRIES     8
-
-typedef struct {
-    BOOLEAN                         Started;
-    BOOLEAN                         Ipv6Available;
-    BOOLEAN                         Ipv6Supported;
-    BOOLEAN                         UsingIpv6;
-    BOOLEAN                         BisSupported;
-    BOOLEAN                         BisDetected;
-    BOOLEAN                         AutoArp;
-    BOOLEAN                         SendGUID;
-    BOOLEAN                         DhcpDiscoverValid;
-    BOOLEAN                         DhcpAckReceived;
-    BOOLEAN                         ProxyOfferReceived;
-    BOOLEAN                         PxeDiscoverValid;
-    BOOLEAN                         PxeReplyReceived;
-    BOOLEAN                         PxeBisReplyReceived;
-    BOOLEAN                         IcmpErrorReceived;
-    BOOLEAN                         TftpErrorReceived;
-    BOOLEAN                         MakeCallbacks;
-    UINT8                           TTL;
-    UINT8                           ToS;
-    EFI_IP_ADDRESS                  StationIp;
-    EFI_IP_ADDRESS                  SubnetMask;
-    EFI_PXE_BASE_CODE_PACKET        DhcpDiscover;
-    EFI_PXE_BASE_CODE_PACKET        DhcpAck;
-    EFI_PXE_BASE_CODE_PACKET        ProxyOffer;
-    EFI_PXE_BASE_CODE_PACKET        PxeDiscover;
-    EFI_PXE_BASE_CODE_PACKET        PxeReply;
-    EFI_PXE_BASE_CODE_PACKET        PxeBisReply;
-    EFI_PXE_BASE_CODE_IP_FILTER     IpFilter;
-    UINT32                          ArpCacheEntries;
-    EFI_PXE_BASE_CODE_ARP_ENTRY     ArpCache[EFI_PXE_BASE_CODE_MAX_ARP_ENTRIES];
-    UINT32                          RouteTableEntries;
-    EFI_PXE_BASE_CODE_ROUTE_ENTRY   RouteTable[EFI_PXE_BASE_CODE_MAX_ROUTE_ENTRIES];
-    EFI_PXE_BASE_CODE_ICMP_ERROR    IcmpError;
-    EFI_PXE_BASE_CODE_TFTP_ERROR    TftpError;
-} EFI_PXE_BASE_CODE_MODE;
-
-//
-// PXE Base Code Interface Function definitions
-//
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_PXE_BASE_CODE_START) (
-    IN struct _EFI_PXE_BASE_CODE    *This,
-    IN BOOLEAN                      UseIpv6
-    );
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_PXE_BASE_CODE_STOP) (
-    IN struct _EFI_PXE_BASE_CODE    *This
-    );
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_PXE_BASE_CODE_DHCP) (
-    IN struct _EFI_PXE_BASE_CODE    *This,
-    IN BOOLEAN                      SortOffers
-    );
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_PXE_BASE_CODE_DISCOVER) (
-    IN struct _EFI_PXE_BASE_CODE            *This,
-    IN UINT16                               Type,
-    IN UINT16                               *Layer,
-    IN BOOLEAN                              UseBis,
-    IN OUT EFI_PXE_BASE_CODE_DISCOVER_INFO  *Info   OPTIONAL
-    );
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_PXE_BASE_CODE_MTFTP) (
-    IN struct _EFI_PXE_BASE_CODE        *This,
-    IN EFI_PXE_BASE_CODE_TFTP_OPCODE    Operation,
-    IN OUT VOID                         *BufferPtr  OPTIONAL,
-    IN BOOLEAN                          Overwrite,
-    IN OUT UINT64                       *BufferSize,
-    IN UINTN                            *BlockSize  OPTIONAL,
-    IN EFI_IP_ADDRESS                   *ServerIp,
-    IN UINT8                            *Filename,
-    IN EFI_PXE_BASE_CODE_MTFTP_INFO     *Info       OPTIONAL,
-    IN BOOLEAN                          DontUseBuffer
-    );
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_PXE_BASE_CODE_UDP_WRITE) (
-    IN struct _EFI_PXE_BASE_CODE        *This,
-    IN UINT16                           OpFlags,
-    IN EFI_IP_ADDRESS                   *DestIp,
-    IN EFI_PXE_BASE_CODE_UDP_PORT       *DestPort,
-    IN EFI_IP_ADDRESS                   *GatewayIp,  OPTIONAL
-    IN EFI_IP_ADDRESS                   *SrcIp,      OPTIONAL
-    IN OUT EFI_PXE_BASE_CODE_UDP_PORT   *SrcPort,    OPTIONAL
-    IN UINTN                            *HeaderSize, OPTIONAL
-    IN VOID                             *HeaderPtr,  OPTIONAL
-    IN UINTN                            *BufferSize,
-    IN VOID                             *BufferPtr
-    );
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_PXE_BASE_CODE_UDP_READ) (
-    IN struct _EFI_PXE_BASE_CODE        *This,
-    IN UINT16                           OpFlags,
-    IN OUT EFI_IP_ADDRESS               *DestIp,      OPTIONAL
-    IN OUT EFI_PXE_BASE_CODE_UDP_PORT   *DestPort,    OPTIONAL
-    IN OUT EFI_IP_ADDRESS               *SrcIp,       OPTIONAL
-    IN OUT EFI_PXE_BASE_CODE_UDP_PORT   *SrcPort,     OPTIONAL
-    IN UINTN                            *HeaderSize,  OPTIONAL
-    IN VOID                             *HeaderPtr,   OPTIONAL
-    IN OUT UINTN                        *BufferSize,
-    IN VOID                             *BufferPtr
-    );
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_PXE_BASE_CODE_SET_IP_FILTER) (
-    IN struct _EFI_PXE_BASE_CODE    *This,
-    IN EFI_PXE_BASE_CODE_IP_FILTER  *NewFilter
-    );
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_PXE_BASE_CODE_ARP) (
-    IN struct _EFI_PXE_BASE_CODE    *This,
-    IN EFI_IP_ADDRESS               *IpAddr,      
-    IN EFI_MAC_ADDRESS              *MacAddr      OPTIONAL
-    );
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_PXE_BASE_CODE_SET_PARAMETERS) (
-    IN struct _EFI_PXE_BASE_CODE    *This,
-    IN BOOLEAN                      *NewAutoArp,    OPTIONAL
-    IN BOOLEAN                      *NewSendGUID,   OPTIONAL
-    IN UINT8                        *NewTTL,        OPTIONAL
-    IN UINT8                        *NewToS,        OPTIONAL
-    IN BOOLEAN                      *NewMakeCallback    OPTIONAL
-    );
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_PXE_BASE_CODE_SET_STATION_IP) (
-    IN struct _EFI_PXE_BASE_CODE    *This,
-    IN EFI_IP_ADDRESS               *NewStationIp,  OPTIONAL
-    IN EFI_IP_ADDRESS               *NewSubnetMask  OPTIONAL
-    );
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_PXE_BASE_CODE_SET_PACKETS) (
-    IN struct _EFI_PXE_BASE_CODE    *This,
-    BOOLEAN                         *NewDhcpDiscoverValid,  OPTIONAL
-    BOOLEAN                         *NewDhcpAckReceived,    OPTIONAL
-    BOOLEAN                         *NewProxyOfferReceived, OPTIONAL
-    BOOLEAN                         *NewPxeDiscoverValid,   OPTIONAL
-    BOOLEAN                         *NewPxeReplyReceived,   OPTIONAL
-    BOOLEAN                         *NewPxeBisReplyReceived,OPTIONAL
-    IN EFI_PXE_BASE_CODE_PACKET     *NewDhcpDiscover, OPTIONAL
-    IN EFI_PXE_BASE_CODE_PACKET     *NewDhcpAck,      OPTIONAL
-    IN EFI_PXE_BASE_CODE_PACKET     *NewProxyOffer,   OPTIONAL
-    IN EFI_PXE_BASE_CODE_PACKET     *NewPxeDiscover,  OPTIONAL
-    IN EFI_PXE_BASE_CODE_PACKET     *NewPxeReply,     OPTIONAL
-    IN EFI_PXE_BASE_CODE_PACKET     *NewPxeBisReply   OPTIONAL
-    );
-
-//
-// PXE Base Code Protocol structure
-//
-
-#define EFI_PXE_BASE_CODE_INTERFACE_REVISION    0x00010000
-
-typedef struct _EFI_PXE_BASE_CODE {
-    UINT64                              Revision;
-    EFI_PXE_BASE_CODE_START             Start;
-    EFI_PXE_BASE_CODE_STOP              Stop;
-    EFI_PXE_BASE_CODE_DHCP              Dhcp;
-    EFI_PXE_BASE_CODE_DISCOVER          Discover;
-    EFI_PXE_BASE_CODE_MTFTP             Mtftp;
-    EFI_PXE_BASE_CODE_UDP_WRITE         UdpWrite;
-    EFI_PXE_BASE_CODE_UDP_READ          UdpRead;
-    EFI_PXE_BASE_CODE_SET_IP_FILTER     SetIpFilter;
-    EFI_PXE_BASE_CODE_ARP               Arp;
-    EFI_PXE_BASE_CODE_SET_PARAMETERS    SetParameters;
-    EFI_PXE_BASE_CODE_SET_STATION_IP    SetStationIp;
-    EFI_PXE_BASE_CODE_SET_PACKETS       SetPackets;
-    EFI_PXE_BASE_CODE_MODE              *Mode;
-} EFI_PXE_BASE_CODE;
-
-//
-// Call Back Definitions
-//
-
-#define EFI_PXE_BASE_CODE_CALLBACK_PROTOCOL \
-    { 0x245dca21, 0xfb7b, 0x11d3, {0x8f, 0x01, 0x00, 0xa0, 0xc9, 0x69, 0x72, 0x3b} }
-
-//
-// Revision Number
-//
-
-#define EFI_PXE_BASE_CODE_CALLBACK_INTERFACE_REVISION   0x00010000
-
-INTERFACE_DECL(_EFI_PXE_BASE_CODE_CALLBACK);
-
-typedef enum {
-    EFI_PXE_BASE_CODE_FUNCTION_FIRST,
-    EFI_PXE_BASE_CODE_FUNCTION_DHCP,
-    EFI_PXE_BASE_CODE_FUNCTION_DISCOVER,
-    EFI_PXE_BASE_CODE_FUNCTION_MTFTP,
-    EFI_PXE_BASE_CODE_FUNCTION_UDP_WRITE,
-    EFI_PXE_BASE_CODE_FUNCTION_UDP_READ,
-    EFI_PXE_BASE_CODE_FUNCTION_ARP,
-    EFI_PXE_BASE_CODE_FUNCTION_IGMP,
-    EFI_PXE_BASE_CODE_PXE_FUNCTION_LAST
-} EFI_PXE_BASE_CODE_FUNCTION;
-
-typedef enum {
-    EFI_PXE_BASE_CODE_CALLBACK_STATUS_FIRST,
-    EFI_PXE_BASE_CODE_CALLBACK_STATUS_CONTINUE,
-    EFI_PXE_BASE_CODE_CALLBACK_STATUS_ABORT,
-    EFI_PXE_BASE_CODE_CALLBACK_STATUS_LAST
-} EFI_PXE_BASE_CODE_CALLBACK_STATUS;
-
-typedef
-EFI_PXE_BASE_CODE_CALLBACK_STATUS 
-(EFIAPI *EFI_PXE_CALLBACK) (
-    IN struct _EFI_PXE_BASE_CODE_CALLBACK   *This,
-    IN EFI_PXE_BASE_CODE_FUNCTION           Function,
-    IN BOOLEAN                              Received,
-    IN UINT32                               PacketLen,
-    IN EFI_PXE_BASE_CODE_PACKET             *Packet     OPTIONAL
-    );
-
-typedef struct _EFI_PXE_BASE_CODE_CALLBACK {
-    UINT64                      Revision;
-    EFI_PXE_CALLBACK            Callback;
-} EFI_PXE_BASE_CODE_CALLBACK;
-
-#endif /* _EFIPXEBC_H */
diff --git a/sys/boot/efi/include/efistdarg.h b/sys/boot/efi/include/efistdarg.h
deleted file mode 100644 (file)
index 06d4be4..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-/* $FreeBSD: head/sys/boot/efi/include/efistdarg.h 163898 2006-11-02 02:42:48Z marcel $ */
-#ifndef _EFISTDARG_H_
-#define _EFISTDARG_H_
-
-/*++
-
-Copyright (c)  1999 - 2002 Intel Corporation. All rights reserved
-This software and associated documentation (if any) is furnished
-under a license and may only be used or copied in accordance
-with the terms of the license. Except as permitted by such
-license, no part of this software or documentation may be
-reproduced, stored in a retrieval system, or transmitted in any
-form or by any means without the express written consent of
-Intel Corporation.
-
-Module Name:
-
-    devpath.h
-
-Abstract:
-
-    Defines for parsing the EFI Device Path structures
-
-
-
-Revision History
-
---*/
-
-#define _INTSIZEOF(n)   ( (sizeof(n) + sizeof(UINTN) - 1) & ~(sizeof(UINTN) - 1) )
-
-typedef CHAR8 * va_list;
-
-#define va_start(ap,v)  ( ap = (va_list)&v + _INTSIZEOF(v) )
-#define va_arg(ap,t)    ( *(t *)((ap += _INTSIZEOF(t)) - _INTSIZEOF(t)) )
-#define va_end(ap)  ( ap = (va_list)0 )
-
-
-#endif  /* _INC_STDARG */
diff --git a/sys/boot/efi/include/x86_64/efibind.h b/sys/boot/efi/include/x86_64/efibind.h
deleted file mode 100644 (file)
index 109f03f..0000000
+++ /dev/null
@@ -1,272 +0,0 @@
-/* $FreeBSD: head/sys/boot/efi/include/amd64/efibind.h 293268 2016-01-06 20:22:28Z smh $ */
-/*++
-
-Copyright (c)  1999 - 2003 Intel Corporation. All rights reserved
-This software and associated documentation (if any) is furnished
-under a license and may only be used or copied in accordance
-with the terms of the license. Except as permitted by such
-license, no part of this software or documentation may be
-reproduced, stored in a retrieval system, or transmitted in any
-form or by any means without the express written consent of
-Intel Corporation.
-
-Module Name:
-
-    efefind.h
-
-Abstract:
-
-    EFI to compile bindings
-
-
-
-
-Revision History
-
---*/
-
-#pragma pack()
-
-
-#ifdef __DragonFly__
-#include <sys/types.h>
-#include <sys/stdint.h>
-#else
-//
-// Basic int types of various widths
-//
-
-#if (__STDC_VERSION__ < 199901L )
-
-    // No ANSI C 1999/2000 stdint.h integer width declarations 
-
-    #ifdef _MSC_EXTENSIONS
-
-        // Use Microsoft C compiler integer width declarations 
-
-        typedef unsigned __int64    uint64_t;
-        typedef __int64             int64_t;
-        typedef unsigned __int32    uint32_t;
-        typedef __int32             int32_t;
-        typedef unsigned short      uint16_t;
-        typedef short               int16_t;
-        typedef unsigned char       uint8_t;
-        typedef char                int8_t;
-    #else             
-        #ifdef UNIX_LP64
-
-            // Use LP64 programming model from C_FLAGS for integer width declarations 
-
-            typedef unsigned long       uint64_t;
-            typedef long                int64_t;
-            typedef unsigned int        uint32_t;
-            typedef int                 int32_t;
-            typedef unsigned short      uint16_t;
-            typedef short               int16_t;
-            typedef unsigned char       uint8_t;
-            typedef char                int8_t;
-        #else
-
-            // Assume P64 programming model from C_FLAGS for integer width declarations 
-
-            typedef unsigned long long  uint64_t;
-            typedef long long           int64_t;
-            typedef unsigned int        uint32_t;
-            typedef int                 int32_t;
-            typedef unsigned short      uint16_t;
-            typedef short               int16_t;
-            typedef unsigned char       uint8_t;
-            typedef char                int8_t;
-        #endif
-    #endif
-#endif
-#endif /* __DragonFly__ */
-
-//
-// Basic EFI types of various widths
-//
-
-#ifndef ACPI_THREAD_ID         /* ACPI's definitions are fine */
-#define ACPI_USE_SYSTEM_INTTYPES 1     /* Tell ACPI we've defined types */
-
-typedef uint64_t   UINT64;
-typedef int64_t    INT64;
-
-#ifndef _BASETSD_H_
-    typedef uint32_t   UINT32;
-    typedef int32_t    INT32;
-#endif
-
-typedef uint16_t   UINT16;
-typedef int16_t    INT16;
-typedef uint8_t    UINT8;
-typedef int8_t     INT8;
-
-#endif
-
-#undef VOID
-#define VOID    void
-
-
-typedef int64_t    INTN;
-typedef uint64_t   UINTN;
-
-#ifdef EFI_NT_EMULATOR
-    #define POST_CODE(_Data)
-#else    
-    #ifdef EFI_DEBUG
-#define POST_CODE(_Data)    __asm mov eax,(_Data) __asm out 0x80,al
-    #else
-        #define POST_CODE(_Data)
-    #endif  
-#endif
-
-#define EFIERR(a)           (0x8000000000000000 | a)
-#define EFI_ERROR_MASK      0x8000000000000000
-#define EFIERR_OEM(a)       (0xc000000000000000 | a)      
-
-
-#define BAD_POINTER         0xFBFBFBFBFBFBFBFB
-#define MAX_ADDRESS         0xFFFFFFFFFFFFFFFF
-
-#define BREAKPOINT()        __asm { int 3 }
-
-//
-// Pointers must be aligned to these address to function
-//
-
-#define MIN_ALIGNMENT_SIZE  4
-
-#define ALIGN_VARIABLE(Value ,Adjustment) \
-            (UINTN)Adjustment = 0; \
-            if((UINTN)Value % MIN_ALIGNMENT_SIZE) \
-                (UINTN)Adjustment = MIN_ALIGNMENT_SIZE - ((UINTN)Value % MIN_ALIGNMENT_SIZE); \
-            Value = (UINTN)Value + (UINTN)Adjustment
-
-
-//
-// Define macros to build data structure signatures from characters.
-//
-
-#define EFI_SIGNATURE_16(A,B)             ((A) | (B<<8))
-#define EFI_SIGNATURE_32(A,B,C,D)         (EFI_SIGNATURE_16(A,B)     | (EFI_SIGNATURE_16(C,D)     << 16))
-#define EFI_SIGNATURE_64(A,B,C,D,E,F,G,H) (EFI_SIGNATURE_32(A,B,C,D) | ((UINT64)(EFI_SIGNATURE_32(E,F,G,H)) << 32))
-
-//
-// EFIAPI - prototype calling convention for EFI function pointers
-// BOOTSERVICE - prototype for implementation of a boot service interface
-// RUNTIMESERVICE - prototype for implementation of a runtime service interface
-// RUNTIMEFUNCTION - prototype for implementation of a runtime function that is not a service
-// RUNTIME_CODE - pragma macro for declaring runtime code    
-//
-
-#ifdef __x86_64__
-#define        EFIAPI  __attribute__((ms_abi))
-#endif
-
-#ifndef EFIAPI                  // Forces EFI calling conventions reguardless of compiler options 
-    #ifdef _MSC_EXTENSIONS
-        #define EFIAPI __cdecl  // Force C calling convention for Microsoft C compiler 
-    #else
-        #define EFIAPI          // Substitute expresion to force C calling convention 
-    #endif
-#endif
-
-#define BOOTSERVICE
-//#define RUNTIMESERVICE(proto,a)    alloc_text("rtcode",a); proto a
-//#define RUNTIMEFUNCTION(proto,a)   alloc_text("rtcode",a); proto a
-#define RUNTIMESERVICE
-#define RUNTIMEFUNCTION
-
-
-#define RUNTIME_CODE(a)         alloc_text("rtcode", a)
-#define BEGIN_RUNTIME_DATA()    data_seg("rtdata")
-#define END_RUNTIME_DATA()      data_seg("")
-
-#define VOLATILE    volatile
-
-#define MEMORY_FENCE()    
-
-#ifdef EFI_NO_INTERFACE_DECL
-  #define EFI_FORWARD_DECLARATION(x)
-  #define EFI_INTERFACE_DECL(x)
-#else
-  #define EFI_FORWARD_DECLARATION(x) typedef struct _##x x
-  #define EFI_INTERFACE_DECL(x) typedef struct x
-#endif
-
-#ifdef EFI_NT_EMULATOR
-
-//
-// To help ensure proper coding of integrated drivers, they are
-// compiled as DLLs.  In NT they require a dll init entry pointer.
-// The macro puts a stub entry point into the DLL so it will load.
-//
-
-#define EFI_DRIVER_ENTRY_POINT(InitFunction)            \
-    EFI_STATUS                                          \
-    InitFunction (                                      \
-      EFI_HANDLE  ImageHandle,                          \
-      EFI_SYSTEM_TABLE  *SystemTable                    \
-      );                                                \
-                                                        \
-    UINTN                                               \
-    __stdcall                                           \
-    _DllMainCRTStartup (                                \
-        UINTN    Inst,                                  \
-        UINTN    reason_for_call,                       \
-        VOID    *rserved                                \
-        )                                               \
-    {                                                   \
-        return 1;                                       \
-    }                                                   \
-                                                        \
-    int                                                 \
-    __declspec( dllexport )                             \
-    __cdecl                                             \
-    InitializeDriver (                                  \
-        void *ImageHandle,                              \
-        void *SystemTable                               \
-        )                                               \
-    {                                                   \
-        return InitFunction(ImageHandle, SystemTable);  \
-    }
-
-
-    #define LOAD_INTERNAL_DRIVER(_if, type, name, entry)      \
-        (_if)->LoadInternal(type, name, NULL)             
-
-#else // EFI_NT_EMULATOR 
-
-//
-// When build similiar to FW, then link everything together as
-// one big module.
-//
-
-    #define EFI_DRIVER_ENTRY_POINT(InitFunction)
-
-    #define LOAD_INTERNAL_DRIVER(_if, type, name, entry)    \
-            (_if)->LoadInternal(type, name, entry)
-
-#endif // EFI_FW_NT 
-
-#ifdef __DragonFly__
-#define INTERFACE_DECL(x) struct x
-#else
-//
-// Some compilers don't support the forward reference construct:
-//  typedef struct XXXXX
-//
-// The following macro provide a workaround for such cases.
-//
-#ifdef NO_INTERFACE_DECL
-#define INTERFACE_DECL(x)
-#else
-#define INTERFACE_DECL(x) typedef struct x
-#endif
-#endif /* __DragonFly__ */
-
-#ifdef _MSC_EXTENSIONS
-#pragma warning ( disable : 4731 )  // Suppress warnings about modification of EBP
-#endif
-
diff --git a/sys/boot/efi/include/x86_64/pe.h b/sys/boot/efi/include/x86_64/pe.h
deleted file mode 100644 (file)
index 7672225..0000000
+++ /dev/null
@@ -1,591 +0,0 @@
-/* $FreeBSD: head/sys/boot/efi/include/amd64/pe.h 292625 2015-12-22 20:40:34Z emaste $ */
-/* 
-    PE32+ header file
- */
-#ifndef _PE_H
-#define _PE_H
-
-#define IMAGE_DOS_SIGNATURE                 0x5A4D      // MZ
-#define IMAGE_OS2_SIGNATURE                 0x454E      // NE
-#define IMAGE_OS2_SIGNATURE_LE              0x454C      // LE
-#define IMAGE_NT_SIGNATURE                  0x00004550  // PE00  
-#define IMAGE_EDOS_SIGNATURE                0x44454550  // PEED
-
-
-typedef struct _IMAGE_DOS_HEADER {      // DOS .EXE header
-    UINT16   e_magic;                     // Magic number
-    UINT16   e_cblp;                      // Bytes on last page of file
-    UINT16   e_cp;                        // Pages in file
-    UINT16   e_crlc;                      // Relocations
-    UINT16   e_cparhdr;                   // Size of header in paragraphs
-    UINT16   e_minalloc;                  // Minimum extra paragraphs needed
-    UINT16   e_maxalloc;                  // Maximum extra paragraphs needed
-    UINT16   e_ss;                        // Initial (relative) SS value
-    UINT16   e_sp;                        // Initial SP value
-    UINT16   e_csum;                      // Checksum
-    UINT16   e_ip;                        // Initial IP value
-    UINT16   e_cs;                        // Initial (relative) CS value
-    UINT16   e_lfarlc;                    // File address of relocation table
-    UINT16   e_ovno;                      // Overlay number
-    UINT16   e_res[4];                    // Reserved words
-    UINT16   e_oemid;                     // OEM identifier (for e_oeminfo)
-    UINT16   e_oeminfo;                   // OEM information; e_oemid specific
-    UINT16   e_res2[10];                  // Reserved words
-    UINT32   e_lfanew;                    // File address of new exe header
-  } IMAGE_DOS_HEADER, *PIMAGE_DOS_HEADER;
-
-typedef struct _IMAGE_OS2_HEADER {      // OS/2 .EXE header
-    UINT16   ne_magic;                    // Magic number
-    UINT8    ne_ver;                      // Version number
-    UINT8    ne_rev;                      // Revision number
-    UINT16   ne_enttab;                   // Offset of Entry Table
-    UINT16   ne_cbenttab;                 // Number of bytes in Entry Table
-    UINT32   ne_crc;                      // Checksum of whole file
-    UINT16   ne_flags;                    // Flag UINT16
-    UINT16   ne_autodata;                 // Automatic data segment number
-    UINT16   ne_heap;                     // Initial heap allocation
-    UINT16   ne_stack;                    // Initial stack allocation
-    UINT32   ne_csip;                     // Initial CS:IP setting
-    UINT32   ne_sssp;                     // Initial SS:SP setting
-    UINT16   ne_cseg;                     // Count of file segments
-    UINT16   ne_cmod;                     // Entries in Module Reference Table
-    UINT16   ne_cbnrestab;                // Size of non-resident name table
-    UINT16   ne_segtab;                   // Offset of Segment Table
-    UINT16   ne_rsrctab;                  // Offset of Resource Table
-    UINT16   ne_restab;                   // Offset of resident name table
-    UINT16   ne_modtab;                   // Offset of Module Reference Table
-    UINT16   ne_imptab;                   // Offset of Imported Names Table
-    UINT32   ne_nrestab;                  // Offset of Non-resident Names Table
-    UINT16   ne_cmovent;                  // Count of movable entries
-    UINT16   ne_align;                    // Segment alignment shift count
-    UINT16   ne_cres;                     // Count of resource segments
-    UINT8    ne_exetyp;                   // Target Operating system
-    UINT8    ne_flagsothers;              // Other .EXE flags
-    UINT16   ne_pretthunks;               // offset to return thunks
-    UINT16   ne_psegrefbytes;             // offset to segment ref. bytes
-    UINT16   ne_swaparea;                 // Minimum code swap area size
-    UINT16   ne_expver;                   // Expected Windows version number
-  } IMAGE_OS2_HEADER, *PIMAGE_OS2_HEADER;
-
-//
-// File header format.
-//
-
-typedef struct _IMAGE_FILE_HEADER {
-    UINT16   Machine;
-    UINT16   NumberOfSections;
-    UINT32   TimeDateStamp;
-    UINT32   PointerToSymbolTable;
-    UINT32   NumberOfSymbols;
-    UINT16   SizeOfOptionalHeader;
-    UINT16   Characteristics;
-} IMAGE_FILE_HEADER, *PIMAGE_FILE_HEADER;
-
-#define IMAGE_SIZEOF_FILE_HEADER             20
-
-#define IMAGE_FILE_RELOCS_STRIPPED           0x0001  // Relocation info stripped from file.
-#define IMAGE_FILE_EXECUTABLE_IMAGE          0x0002  // File is executable  (i.e. no unresolved externel references).
-#define IMAGE_FILE_LINE_NUMS_STRIPPED        0x0004  // Line nunbers stripped from file.
-#define IMAGE_FILE_LOCAL_SYMS_STRIPPED       0x0008  // Local symbols stripped from file.
-#define IMAGE_FILE_BYTES_REVERSED_LO         0x0080  // Bytes of machine word are reversed.
-#define IMAGE_FILE_32BIT_MACHINE             0x0100  // 32 bit word machine.
-#define IMAGE_FILE_DEBUG_STRIPPED            0x0200  // Debugging info stripped from file in .DBG file
-#define IMAGE_FILE_SYSTEM                    0x1000  // System File.
-#define IMAGE_FILE_DLL                       0x2000  // File is a DLL.
-#define IMAGE_FILE_BYTES_REVERSED_HI         0x8000  // Bytes of machine word are reversed.
-
-#define IMAGE_FILE_MACHINE_UNKNOWN           0
-#define IMAGE_FILE_MACHINE_I386              0x14c   // Intel 386.
-#define IMAGE_FILE_MACHINE_R3000             0x162   // MIPS little-endian, 0540 big-endian
-#define IMAGE_FILE_MACHINE_R4000             0x166   // MIPS little-endian
-#define IMAGE_FILE_MACHINE_ALPHA             0x184   // Alpha_AXP
-#define IMAGE_FILE_MACHINE_POWERPC           0x1F0   // IBM PowerPC Little-Endian
-#define IMAGE_FILE_MACHINE_TAHOE             0x7cc   // Intel EM machine
-//
-// Directory format.
-//
-
-typedef struct _IMAGE_DATA_DIRECTORY {
-    UINT32   VirtualAddress;
-    UINT32   Size;
-} IMAGE_DATA_DIRECTORY, *PIMAGE_DATA_DIRECTORY;
-
-#define IMAGE_NUMBEROF_DIRECTORY_ENTRIES    16
-
-//
-// Optional header format.
-//
-
-typedef struct _IMAGE_OPTIONAL_HEADER {
-    //
-    // Standard fields.
-    //
-
-    UINT16    Magic;
-    UINT8     MajorLinkerVersion;
-    UINT8     MinorLinkerVersion;
-    UINT32    SizeOfCode;
-    UINT32    SizeOfInitializedData;
-    UINT32    SizeOfUninitializedData;
-    UINT32    AddressOfEntryPoint;
-    UINT32    BaseOfCode;
-    UINT32    BaseOfData;
-                
-    //
-    // NT additional fields.
-    //
-
-    UINT32   ImageBase;
-    UINT32   SectionAlignment;
-    UINT32   FileAlignment;
-    UINT16   MajorOperatingSystemVersion;
-    UINT16   MinorOperatingSystemVersion;
-    UINT16   MajorImageVersion;
-    UINT16   MinorImageVersion;
-    UINT16   MajorSubsystemVersion;
-    UINT16   MinorSubsystemVersion;
-    UINT32   Reserved1;
-    UINT32   SizeOfImage;
-    UINT32   SizeOfHeaders;
-    UINT32   CheckSum;
-    UINT16   Subsystem;
-    UINT16   DllCharacteristics;
-    UINT32   SizeOfStackReserve;
-    UINT32   SizeOfStackCommit;
-    UINT32   SizeOfHeapReserve;
-    UINT32   SizeOfHeapCommit;
-    UINT32   LoaderFlags;
-    UINT32   NumberOfRvaAndSizes;
-    IMAGE_DATA_DIRECTORY DataDirectory[IMAGE_NUMBEROF_DIRECTORY_ENTRIES];
-} IMAGE_OPTIONAL_HEADER, *PIMAGE_OPTIONAL_HEADER;
-
-typedef struct _IMAGE_ROM_OPTIONAL_HEADER {
-    UINT16  Magic;
-    UINT8   MajorLinkerVersion;
-    UINT8   MinorLinkerVersion;
-    UINT32  SizeOfCode;
-    UINT32  SizeOfInitializedData;
-    UINT32  SizeOfUninitializedData;
-    UINT32  AddressOfEntryPoint;
-    UINT32  BaseOfCode;
-    UINT32  BaseOfData;
-    UINT32  BaseOfBss;
-    UINT32  GprMask;
-    UINT32  CprMask[4];
-    UINT32  GpValue;
-} IMAGE_ROM_OPTIONAL_HEADER, *PIMAGE_ROM_OPTIONAL_HEADER;
-
-#define IMAGE_SIZEOF_ROM_OPTIONAL_HEADER      56
-#define IMAGE_SIZEOF_STD_OPTIONAL_HEADER      28
-#define IMAGE_SIZEOF_NT_OPTIONAL_HEADER      224
-
-#define IMAGE_NT_OPTIONAL_HDR_MAGIC        0x10b
-#define IMAGE_ROM_OPTIONAL_HDR_MAGIC       0x107
-
-typedef struct _IMAGE_NT_HEADERS {
-    UINT32 Signature;
-    IMAGE_FILE_HEADER FileHeader;
-    IMAGE_OPTIONAL_HEADER OptionalHeader;
-} IMAGE_NT_HEADERS, *PIMAGE_NT_HEADERS;
-
-typedef struct _IMAGE_ROM_HEADERS {
-    IMAGE_FILE_HEADER FileHeader;
-    IMAGE_ROM_OPTIONAL_HEADER OptionalHeader;
-} IMAGE_ROM_HEADERS, *PIMAGE_ROM_HEADERS;
-
-#define IMAGE_FIRST_SECTION( ntheader ) ((PIMAGE_SECTION_HEADER)        \
-    ((UINT32)ntheader +                                                  \
-     FIELD_OFFSET( IMAGE_NT_HEADERS, OptionalHeader ) +                 \
-     ((PIMAGE_NT_HEADERS)(ntheader))->FileHeader.SizeOfOptionalHeader   \
-    ))
-
-
-// Subsystem Values
-
-#define IMAGE_SUBSYSTEM_UNKNOWN              0   // Unknown subsystem.
-#define IMAGE_SUBSYSTEM_NATIVE               1   // Image doesn't require a subsystem.
-#define IMAGE_SUBSYSTEM_WINDOWS_GUI          2   // Image runs in the Windows GUI subsystem.
-#define IMAGE_SUBSYSTEM_WINDOWS_CUI          3   // Image runs in the Windows character subsystem.
-#define IMAGE_SUBSYSTEM_OS2_CUI              5   // image runs in the OS/2 character subsystem.
-#define IMAGE_SUBSYSTEM_POSIX_CUI            7   // image run  in the Posix character subsystem.
-
-
-// Directory Entries
-
-#define IMAGE_DIRECTORY_ENTRY_EXPORT         0   // Export Directory
-#define IMAGE_DIRECTORY_ENTRY_IMPORT         1   // Import Directory
-#define IMAGE_DIRECTORY_ENTRY_RESOURCE       2   // Resource Directory
-#define IMAGE_DIRECTORY_ENTRY_EXCEPTION      3   // Exception Directory
-#define IMAGE_DIRECTORY_ENTRY_SECURITY       4   // Security Directory
-#define IMAGE_DIRECTORY_ENTRY_BASERELOC      5   // Base Relocation Table
-#define IMAGE_DIRECTORY_ENTRY_DEBUG          6   // Debug Directory
-#define IMAGE_DIRECTORY_ENTRY_COPYRIGHT      7   // Description String
-#define IMAGE_DIRECTORY_ENTRY_GLOBALPTR      8   // Machine Value (MIPS GP)
-#define IMAGE_DIRECTORY_ENTRY_TLS            9   // TLS Directory
-#define IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG   10   // Load Configuration Directory
-
-//
-// Section header format.
-//
-
-#define IMAGE_SIZEOF_SHORT_NAME              8
-
-typedef struct _IMAGE_SECTION_HEADER {
-    UINT8   Name[IMAGE_SIZEOF_SHORT_NAME];
-    union {
-            UINT32   PhysicalAddress;
-            UINT32   VirtualSize;
-    } Misc;
-    UINT32   VirtualAddress;
-    UINT32   SizeOfRawData;
-    UINT32   PointerToRawData;
-    UINT32   PointerToRelocations;
-    UINT32   PointerToLinenumbers;
-    UINT16   NumberOfRelocations;
-    UINT16   NumberOfLinenumbers;
-    UINT32   Characteristics;
-} IMAGE_SECTION_HEADER, *PIMAGE_SECTION_HEADER;
-
-#define IMAGE_SIZEOF_SECTION_HEADER          40
-
-#define IMAGE_SCN_TYPE_NO_PAD                0x00000008  // Reserved.
-
-#define IMAGE_SCN_CNT_CODE                   0x00000020  // Section contains code.
-#define IMAGE_SCN_CNT_INITIALIZED_DATA       0x00000040  // Section contains initialized data.
-#define IMAGE_SCN_CNT_UNINITIALIZED_DATA     0x00000080  // Section contains uninitialized data.
-
-#define IMAGE_SCN_LNK_OTHER                  0x00000100  // Reserved.
-#define IMAGE_SCN_LNK_INFO                   0x00000200  // Section contains comments or some other type of information.
-#define IMAGE_SCN_LNK_REMOVE                 0x00000800  // Section contents will not become part of image.
-#define IMAGE_SCN_LNK_COMDAT                 0x00001000  // Section contents comdat.
-
-#define IMAGE_SCN_ALIGN_1BYTES               0x00100000  //
-#define IMAGE_SCN_ALIGN_2BYTES               0x00200000  //
-#define IMAGE_SCN_ALIGN_4BYTES               0x00300000  //
-#define IMAGE_SCN_ALIGN_8BYTES               0x00400000  //
-#define IMAGE_SCN_ALIGN_16BYTES              0x00500000  // Default alignment if no others are specified.
-#define IMAGE_SCN_ALIGN_32BYTES              0x00600000  //
-#define IMAGE_SCN_ALIGN_64BYTES              0x00700000  //
-
-#define IMAGE_SCN_MEM_DISCARDABLE            0x02000000  // Section can be discarded.
-#define IMAGE_SCN_MEM_NOT_CACHED             0x04000000  // Section is not cachable.
-#define IMAGE_SCN_MEM_NOT_PAGED              0x08000000  // Section is not pageable.
-#define IMAGE_SCN_MEM_SHARED                 0x10000000  // Section is shareable.
-#define IMAGE_SCN_MEM_EXECUTE                0x20000000  // Section is executable.
-#define IMAGE_SCN_MEM_READ                   0x40000000  // Section is readable.
-#define IMAGE_SCN_MEM_WRITE                  0x80000000  // Section is writeable.
-
-//
-// Symbol format.
-//
-
-
-#define IMAGE_SIZEOF_SYMBOL                  18
-
-//
-// Section values.
-//
-// Symbols have a section number of the section in which they are
-// defined. Otherwise, section numbers have the following meanings:
-//
-
-#define IMAGE_SYM_UNDEFINED           (UINT16)0           // Symbol is undefined or is common.
-#define IMAGE_SYM_ABSOLUTE            (UINT16)-1          // Symbol is an absolute value.
-#define IMAGE_SYM_DEBUG               (UINT16)-2          // Symbol is a special debug item.
-
-//
-// Type (fundamental) values.
-//
-
-#define IMAGE_SYM_TYPE_NULL                  0           // no type.
-#define IMAGE_SYM_TYPE_VOID                  1           //
-#define IMAGE_SYM_TYPE_CHAR                  2           // type character.
-#define IMAGE_SYM_TYPE_SHORT                 3           // type short integer.
-#define IMAGE_SYM_TYPE_INT                   4           //
-#define IMAGE_SYM_TYPE_LONG                  5           //
-#define IMAGE_SYM_TYPE_FLOAT                 6           //
-#define IMAGE_SYM_TYPE_DOUBLE                7           //
-#define IMAGE_SYM_TYPE_STRUCT                8           //
-#define IMAGE_SYM_TYPE_UNION                 9           //
-#define IMAGE_SYM_TYPE_ENUM                  10          // enumeration.
-#define IMAGE_SYM_TYPE_MOE                   11          // member of enumeration.
-#define IMAGE_SYM_TYPE_BYTE                  12          //
-#define IMAGE_SYM_TYPE_WORD                  13          //
-#define IMAGE_SYM_TYPE_UINT                  14          //
-#define IMAGE_SYM_TYPE_DWORD                 15          //
-
-//
-// Type (derived) values.
-//
-
-#define IMAGE_SYM_DTYPE_NULL                 0           // no derived type.
-#define IMAGE_SYM_DTYPE_POINTER              1           // pointer.
-#define IMAGE_SYM_DTYPE_FUNCTION             2           // function.
-#define IMAGE_SYM_DTYPE_ARRAY                3           // array.
-
-//
-// Storage classes.
-//
-
-#define IMAGE_SYM_CLASS_END_OF_FUNCTION      (BYTE )-1
-#define IMAGE_SYM_CLASS_NULL                 0
-#define IMAGE_SYM_CLASS_AUTOMATIC            1
-#define IMAGE_SYM_CLASS_EXTERNAL             2
-#define IMAGE_SYM_CLASS_STATIC               3
-#define IMAGE_SYM_CLASS_REGISTER             4
-#define IMAGE_SYM_CLASS_EXTERNAL_DEF         5
-#define IMAGE_SYM_CLASS_LABEL                6
-#define IMAGE_SYM_CLASS_UNDEFINED_LABEL      7
-#define IMAGE_SYM_CLASS_MEMBER_OF_STRUCT     8
-#define IMAGE_SYM_CLASS_ARGUMENT             9
-#define IMAGE_SYM_CLASS_STRUCT_TAG           10
-#define IMAGE_SYM_CLASS_MEMBER_OF_UNION      11
-#define IMAGE_SYM_CLASS_UNION_TAG            12
-#define IMAGE_SYM_CLASS_TYPE_DEFINITION      13
-#define IMAGE_SYM_CLASS_UNDEFINED_STATIC     14
-#define IMAGE_SYM_CLASS_ENUM_TAG             15
-#define IMAGE_SYM_CLASS_MEMBER_OF_ENUM       16
-#define IMAGE_SYM_CLASS_REGISTER_PARAM       17
-#define IMAGE_SYM_CLASS_BIT_FIELD            18
-#define IMAGE_SYM_CLASS_BLOCK                100
-#define IMAGE_SYM_CLASS_FUNCTION             101
-#define IMAGE_SYM_CLASS_END_OF_STRUCT        102
-#define IMAGE_SYM_CLASS_FILE                 103
-// new
-#define IMAGE_SYM_CLASS_SECTION              104
-#define IMAGE_SYM_CLASS_WEAK_EXTERNAL        105
-
-// type packing constants
-
-#define N_BTMASK                            017
-#define N_TMASK                             060
-#define N_TMASK1                            0300
-#define N_TMASK2                            0360
-#define N_BTSHFT                            4
-#define N_TSHIFT                            2
-
-// MACROS
-
-//
-// Communal selection types.
-//
-
-#define IMAGE_COMDAT_SELECT_NODUPLICATES   1
-#define IMAGE_COMDAT_SELECT_ANY            2
-#define IMAGE_COMDAT_SELECT_SAME_SIZE      3
-#define IMAGE_COMDAT_SELECT_EXACT_MATCH    4
-#define IMAGE_COMDAT_SELECT_ASSOCIATIVE    5
-
-#define IMAGE_WEAK_EXTERN_SEARCH_NOLIBRARY 1
-#define IMAGE_WEAK_EXTERN_SEARCH_LIBRARY   2
-#define IMAGE_WEAK_EXTERN_SEARCH_ALIAS     3
-
-
-//
-// Relocation format.
-//
-
-typedef struct _IMAGE_RELOCATION {
-    UINT32   VirtualAddress;
-    UINT32   SymbolTableIndex;
-    UINT16    Type;
-} IMAGE_RELOCATION;
-
-#define IMAGE_SIZEOF_RELOCATION              10
-
-//
-// I386 relocation types.
-//
-
-#define IMAGE_REL_I386_ABSOLUTE              0           // Reference is absolute, no relocation is necessary
-#define IMAGE_REL_I386_DIR16                 01          // Direct 16-bit reference to the symbols virtual address
-#define IMAGE_REL_I386_REL16                 02          // PC-relative 16-bit reference to the symbols virtual address
-#define IMAGE_REL_I386_DIR32                 06          // Direct 32-bit reference to the symbols virtual address
-#define IMAGE_REL_I386_DIR32NB               07          // Direct 32-bit reference to the symbols virtual address, base not included
-#define IMAGE_REL_I386_SEG12                 011         // Direct 16-bit reference to the segment-selector bits of a 32-bit virtual address
-#define IMAGE_REL_I386_SECTION               012
-#define IMAGE_REL_I386_SECREL                013
-#define IMAGE_REL_I386_REL32                 024         // PC-relative 32-bit reference to the symbols virtual address
-
-//
-// MIPS relocation types.
-//
-
-#define IMAGE_REL_MIPS_ABSOLUTE              0           // Reference is absolute, no relocation is necessary
-#define IMAGE_REL_MIPS_REFHALF               01
-#define IMAGE_REL_MIPS_REFWORD               02
-#define IMAGE_REL_MIPS_JMPADDR               03
-#define IMAGE_REL_MIPS_REFHI                 04
-#define IMAGE_REL_MIPS_REFLO                 05
-#define IMAGE_REL_MIPS_GPREL                 06
-#define IMAGE_REL_MIPS_LITERAL               07
-#define IMAGE_REL_MIPS_SECTION               012
-#define IMAGE_REL_MIPS_SECREL                013
-#define IMAGE_REL_MIPS_REFWORDNB             042
-#define IMAGE_REL_MIPS_PAIR                  045
-
-//
-// Alpha Relocation types.
-//
-
-#define IMAGE_REL_ALPHA_ABSOLUTE             0x0
-#define IMAGE_REL_ALPHA_REFLONG              0x1
-#define IMAGE_REL_ALPHA_REFQUAD              0x2
-#define IMAGE_REL_ALPHA_GPREL32              0x3
-#define IMAGE_REL_ALPHA_LITERAL              0x4
-#define IMAGE_REL_ALPHA_LITUSE               0x5
-#define IMAGE_REL_ALPHA_GPDISP               0x6
-#define IMAGE_REL_ALPHA_BRADDR               0x7
-#define IMAGE_REL_ALPHA_HINT                 0x8
-#define IMAGE_REL_ALPHA_INLINE_REFLONG       0x9
-#define IMAGE_REL_ALPHA_REFHI                0xA
-#define IMAGE_REL_ALPHA_REFLO                0xB
-#define IMAGE_REL_ALPHA_PAIR                 0xC
-#define IMAGE_REL_ALPHA_MATCH                0xD
-#define IMAGE_REL_ALPHA_SECTION              0xE
-#define IMAGE_REL_ALPHA_SECREL               0xF
-#define IMAGE_REL_ALPHA_REFLONGNB            0x10
-
-//
-// IBM PowerPC relocation types.
-//
-
-#define IMAGE_REL_PPC_ABSOLUTE 0x0000  // NOP
-#define IMAGE_REL_PPC_ADDR64   0x0001  // 64-bit address
-#define IMAGE_REL_PPC_ADDR32   0x0002  // 32-bit address
-#define IMAGE_REL_PPC_ADDR24   0x0003  // 26-bit address, shifted left 2 (branch absolute)
-#define IMAGE_REL_PPC_ADDR16   0x0004  // 16-bit address
-#define IMAGE_REL_PPC_ADDR14   0x0005  // 16-bit address, shifted left 2 (load doubleword)
-#define IMAGE_REL_PPC_REL24    0x0006  // 26-bit PC-relative offset, shifted left 2 (branch relative)
-#define IMAGE_REL_PPC_REL14    0x0007  // 16-bit PC-relative offset, shifted left 2 (br cond relative)
-#define IMAGE_REL_PPC_TOCREL16 0x0008  // 16-bit offset from TOC base
-#define IMAGE_REL_PPC_TOCREL14 0x0009  // 16-bit offset from TOC base, shifted left 2 (load doubleword)
-
-#define IMAGE_REL_PPC_ADDR32NB 0x000A  // 32-bit addr w/o image base
-#define IMAGE_REL_PPC_SECREL   0x000B  // va of containing section (as in an image sectionhdr)
-#define IMAGE_REL_PPC_SECTION  0x000C  // sectionheader number
-#define IMAGE_REL_PPC_IFGLUE   0x000D  // substitute TOC restore instruction iff symbol is glue code
-#define IMAGE_REL_PPC_IMGLUE   0x000E  // symbol is glue code; virtual address is TOC restore instruction
-
-#define IMAGE_REL_PPC_TYPEMASK 0x00FF  // mask to isolate above values in IMAGE_RELOCATION.Type
-
-// Flag bits in IMAGE_RELOCATION.TYPE
-
-#define IMAGE_REL_PPC_NEG      0x0100  // subtract reloc value rather than adding it
-#define IMAGE_REL_PPC_BRTAKEN  0x0200  // fix branch prediction bit to predict branch taken
-#define IMAGE_REL_PPC_BRNTAKEN 0x0400  // fix branch prediction bit to predict branch not taken
-#define IMAGE_REL_PPC_TOCDEFN  0x0800  // toc slot defined in file (or, data in toc)
-
-//
-// Based relocation format.
-//
-
-typedef struct _IMAGE_BASE_RELOCATION {
-    UINT32   VirtualAddress;
-    UINT32   SizeOfBlock;
-//  UINT16    TypeOffset[1];
-} IMAGE_BASE_RELOCATION, *PIMAGE_BASE_RELOCATION;
-
-#define IMAGE_SIZEOF_BASE_RELOCATION         8
-
-//
-// Based relocation types.
-//
-
-#define IMAGE_REL_BASED_ABSOLUTE              0
-#define IMAGE_REL_BASED_HIGH                  1
-#define IMAGE_REL_BASED_LOW                   2
-#define IMAGE_REL_BASED_HIGHLOW               3
-#define IMAGE_REL_BASED_HIGHADJ               4
-#define IMAGE_REL_BASED_MIPS_JMPADDR          5
-#define IMAGE_REL_BASED_DIR64                 10
-
-//
-// Line number format.
-//
-
-typedef struct _IMAGE_LINENUMBER {
-    union {
-        UINT32   SymbolTableIndex;               // Symbol table index of function name if Linenumber is 0.
-        UINT32   VirtualAddress;                 // Virtual address of line number.
-    } Type;
-    UINT16    Linenumber;                         // Line number.
-} IMAGE_LINENUMBER;
-
-#define IMAGE_SIZEOF_LINENUMBER              6
-
-//
-// Archive format.
-//
-
-#define IMAGE_ARCHIVE_START_SIZE             8
-#define IMAGE_ARCHIVE_START                  "!<arch>\n"
-#define IMAGE_ARCHIVE_END                    "`\n"
-#define IMAGE_ARCHIVE_PAD                    "\n"
-#define IMAGE_ARCHIVE_LINKER_MEMBER          "/               "
-#define IMAGE_ARCHIVE_LONGNAMES_MEMBER       "//              "
-
-typedef struct _IMAGE_ARCHIVE_MEMBER_HEADER {
-    UINT8     Name[16];                          // File member name - `/' terminated.
-    UINT8     Date[12];                          // File member date - decimal.
-    UINT8     UserID[6];                         // File member user id - decimal.
-    UINT8     GroupID[6];                        // File member group id - decimal.
-    UINT8     Mode[8];                           // File member mode - octal.
-    UINT8     Size[10];                          // File member size - decimal.
-    UINT8     EndHeader[2];                      // String to end header.
-} IMAGE_ARCHIVE_MEMBER_HEADER, *PIMAGE_ARCHIVE_MEMBER_HEADER;
-
-#define IMAGE_SIZEOF_ARCHIVE_MEMBER_HDR      60
-
-//
-// DLL support.
-//
-
-//
-// Export Format
-//
-
-typedef struct _IMAGE_EXPORT_DIRECTORY {
-    UINT32   Characteristics;
-    UINT32   TimeDateStamp;
-    UINT16   MajorVersion;
-    UINT16   MinorVersion;
-    UINT32   Name;
-    UINT32   Base;
-    UINT32   NumberOfFunctions;
-    UINT32   NumberOfNames;
-    UINT32   *AddressOfFunctions;
-    UINT32   *AddressOfNames;
-    UINT32   *AddressOfNameOrdinals;
-} IMAGE_EXPORT_DIRECTORY, *PIMAGE_EXPORT_DIRECTORY;
-
-//
-// Import Format
-//
-
-typedef struct _IMAGE_IMPORT_BY_NAME {
-    UINT16    Hint;
-    UINT8     Name[1];
-} IMAGE_IMPORT_BY_NAME, *PIMAGE_IMPORT_BY_NAME;
-
-typedef struct _IMAGE_THUNK_DATA {
-    union {
-        UINT32 Function;
-        UINT32 Ordinal;
-        PIMAGE_IMPORT_BY_NAME AddressOfData;
-    } u1;
-} IMAGE_THUNK_DATA, *PIMAGE_THUNK_DATA;
-
-#define IMAGE_ORDINAL_FLAG 0x80000000
-#define IMAGE_SNAP_BY_ORDINAL(Ordinal) ((Ordinal & IMAGE_ORDINAL_FLAG) != 0)
-#define IMAGE_ORDINAL(Ordinal) (Ordinal & 0xffff)
-
-typedef struct _IMAGE_IMPORT_DESCRIPTOR {
-    UINT32   Characteristics;
-    UINT32   TimeDateStamp;
-    UINT32   ForwarderChain;
-    UINT32   Name;
-    PIMAGE_THUNK_DATA FirstThunk;
-} IMAGE_IMPORT_DESCRIPTOR, *PIMAGE_IMPORT_DESCRIPTOR;
-
-#endif