Adding Additional Tools that are needed for Platform Image creation.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@198 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
lhauch
2006-05-19 02:38:56 +00:00
parent 291a871a27
commit d25c4bf080
42 changed files with 17050 additions and 0 deletions

View File

@ -0,0 +1,105 @@
/*++
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:
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;
}