1) Sync EdkCompatibilityPkg with EDK 1.04. The changes includes:
1.1) Bug fixes. (For details, please check Documents & files: Snapshot/Release Notes at https://edk.tianocore.org/servlets/ProjectDocumentList?folderID=43&expandFolder=43&folderID=6) 1.2) Add new UEFI protocol definitions for AbsolutePointer, FormBrowser2, HiiConfigAccess, HiiConfigRouting, HiiDatabase, HiiFont, HiiImage, HiiString, SimpleTextInputEx, DPC protocol. 1.3) Add Smbios 2.5, 2.6 supports. Incompatible changes hilighted: 1) EFI_MANAGED_NETWORK_PROTOCOL_GUID changed. 2) EFI_IP4_IPCONFIG_DATA changed. 2) Add in EdkCompatibilityPkg/EdkCompatibilityPkg.dsc to build all libraries in this package. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4624 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
104
EdkCompatibilityPkg/Sample/Tools/Source/Strip/strip.c
Normal file
104
EdkCompatibilityPkg/Sample/Tools/Source/Strip/strip.c
Normal file
@@ -0,0 +1,104 @@
|
||||
/*++
|
||||
|
||||
Copyright 2006, Intel Corporation
|
||||
All rights reserved. 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.
|
||||
|
||||
Module Name:
|
||||
|
||||
Strip.c
|
||||
|
||||
Abstract:
|
||||
|
||||
Quick Exe2Bin equivalent.
|
||||
|
||||
--*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <memory.h>
|
||||
#include <string.h>
|
||||
#include <malloc.h>
|
||||
|
||||
int
|
||||
main (
|
||||
int argc,
|
||||
char *argv[]
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
|
||||
Converts executable files to binary files.
|
||||
|
||||
Arguments:
|
||||
|
||||
argc - Number of command line arguments
|
||||
argv[] - Array of pointers to the command line arguments
|
||||
|
||||
Returns:
|
||||
|
||||
Zero - Function completed successfully.
|
||||
Non-zero - Function exited with errors.
|
||||
|
||||
--*/
|
||||
{
|
||||
FILE *InFile;
|
||||
FILE *OutFile;
|
||||
int Index;
|
||||
int FileSize;
|
||||
char *Buffer;
|
||||
char *Ptrx;
|
||||
|
||||
if (argc < 3) {
|
||||
printf ("Need more args, such as file name to convert and output name\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
InFile = fopen (argv[1], "rb");
|
||||
OutFile = fopen (argv[2], "wb");
|
||||
|
||||
if (!InFile) {
|
||||
printf ("no file, exit\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (OutFile == NULL) {
|
||||
printf ("Unable to open output file.\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
fseek (InFile, 0, SEEK_END);
|
||||
FileSize = ftell (InFile);
|
||||
|
||||
if (FileSize < 0x200) {
|
||||
printf ("%d is not a legal size, exit\n", FileSize);
|
||||
return -1;
|
||||
}
|
||||
|
||||
fseek (InFile, 0, SEEK_SET);
|
||||
|
||||
Buffer = malloc (FileSize);
|
||||
if (Buffer == NULL) {
|
||||
printf ("Error: Out of resources.\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
fread (Buffer, 1, FileSize, InFile);
|
||||
|
||||
Ptrx = Buffer + 0x200;
|
||||
|
||||
Index = FileSize - 0x200;
|
||||
|
||||
fwrite (Ptrx, Index, 1, OutFile);
|
||||
|
||||
fclose (InFile);
|
||||
fclose (OutFile);
|
||||
free (Buffer);
|
||||
|
||||
return 0;
|
||||
}
|
Reference in New Issue
Block a user