tools/elf4rom/src/main.cpp
changeset 34 92d87f2e53c2
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/elf4rom/src/main.cpp	Fri Jan 15 09:07:44 2010 +0000
@@ -0,0 +1,55 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+*
+* This program is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License as published by
+* the Free Software Foundation, either version 3 of the License, or
+* (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+* GNU Lesser General Public License for more details.
+* 
+* You should have received a copy of the GNU Lesser General Public License
+* along with this program.  If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#include <fcntl.h>
+#include <libelf.h> 
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <string>
+#include "romdetails.h"
+#include "processoptions.h"
+
+#include "elfromerror.h"
+#include "elfrom.h"
+
+
+void InitLibElf() {
+	if (elf_version(EV_CURRENT) == EV_NONE) 
+		errx(EX_SOFTWARE, "ELF library initialization failed: %s\n",
+				elf_errmsg(-1));
+}
+
+RomDetails * Init(int argc, char * argv[]){
+	RomDetails * details = ProcessOptions(argc, argv);
+	return ProcessRomDetails(details);
+}
+
+int main(int argc, char * argv[]){
+//TODO: print banner if trace on
+	InitLibElf();
+	RomDetails * romDetails = Init(argc, argv);
+	ElfRom aElfRom(romDetails);
+	aElfRom.SetupE32RomData();
+	aElfRom.SetupELFRomData();
+	aElfRom.AddData();
+	
+	aElfRom.Dump();
+	
+	return EXIT_SUCCESS;
+}