Sync EDKII BaseTools to BaseTools project r1971

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10502 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
lgao4
2010-05-18 05:04:32 +00:00
parent 3dc8585e0a
commit 40d841f6a8
417 changed files with 3829 additions and 2563 deletions

View File

@ -0,0 +1,82 @@
/** @file
Copyright (c) 2010, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials are licensed and made available
under the terms and conditions of the BSD License which accompanies this
distribution. The full text of the license may be found at
http://opensource.org/licenses/bsd-license.php
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
**/
#ifndef _ELF_CONVERT_H_
#define _ELF_CONVERT_H_
#include "elf_common.h"
#include "elf32.h"
#include "elf64.h"
//
// Externally defined variables
//
extern UINT32 mCoffOffset;
extern CHAR8 *mInImageName;
extern UINT32 mImageTimeStamp;
extern UINT8 *mCoffFile;
extern UINT32 mTableOffset;
//
// Common EFI specific data.
//
#define ELF_HII_SECTION_NAME ".hii"
//
// Filter Types
//
typedef enum {
SECTION_TEXT,
SECTION_HII,
SECTION_DATA
} SECTION_FILTER_TYPES;
//
// FunctionTalbe
//
typedef struct {
VOID (*ScanSections) ();
BOOLEAN (*WriteSections) (SECTION_FILTER_TYPES FilterType);
VOID (*WriteRelocations) ();
VOID (*WriteDebug) ();
VOID (*SetImageSize) ();
VOID (*CleanUp) ();
} ELF_FUNCTION_TABLE;
//
// Common functions
//
VOID
CoffAddFixup (
UINT32 Offset,
UINT8 Type
);
VOID
CoffAddFixupEntry (
UINT16 Val
);
VOID
CreateSectionHeader (
const CHAR8 *Name,
UINT32 Offset,
UINT32 Size,
UINT32 Flags
);
#endif