mirror of
https://github.com/LongSoft/UEFITool.git
synced 2024-11-22 16:08:23 +08:00
44 lines
1.4 KiB
C++
44 lines
1.4 KiB
C++
|
/* uefidump_main.cpp
|
||
|
|
||
|
Copyright (c) 2016, Nikolaj Schlej. 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.
|
||
|
|
||
|
*/
|
||
|
#include <iostream>
|
||
|
#include <fstream>
|
||
|
|
||
|
#include "uefidump.h"
|
||
|
|
||
|
int wmain(int argc, wchar_t *argv[])
|
||
|
{
|
||
|
if (argc > 32) {
|
||
|
std::cout << "Too many arguments" << std::endl;
|
||
|
return 1;
|
||
|
}
|
||
|
|
||
|
if (argc > 1) {
|
||
|
std::ifstream inputFile;
|
||
|
inputFile.open(argv[1], std::ios::in | std::ios::binary);
|
||
|
std::vector<char> buffer(std::istreambuf_iterator<char>(inputFile),
|
||
|
(std::istreambuf_iterator<char>()));
|
||
|
inputFile.close();
|
||
|
|
||
|
UEFIDumper uefidumper;
|
||
|
return (uefidumper.dump(buffer, std::wstring(argv[1])) != U_SUCCESS);
|
||
|
}
|
||
|
else {
|
||
|
std::cout << "UEFIDump 0.1.0" << std::endl << std::endl
|
||
|
<< "Usage: UEFIExtract imagefile " << std::endl
|
||
|
<< "Return value is a bit mask where 0 at position N means that file with GUID_N was found and unpacked, 1 otherwise" << std::endl;
|
||
|
return 1;
|
||
|
}
|
||
|
|
||
|
return 1;
|
||
|
}
|