summaryrefslogtreecommitdiffstats
path: root/Src/eclipse
diff options
context:
space:
mode:
authorroot2012-02-28 14:15:19 +0100
committerroot2012-02-28 14:15:19 +0100
commit1116885d96725ce064db04604e4d197a136b163c (patch)
tree22ba472d309f1ac66918f09cc63bb9be057cf579 /Src/eclipse
parentcompiled version added (diff)
downloadimsi-catcher-detection-1116885d96725ce064db04604e4d197a136b163c.tar.gz
imsi-catcher-detection-1116885d96725ce064db04604e4d197a136b163c.tar.xz
imsi-catcher-detection-1116885d96725ce064db04604e4d197a136b163c.zip
updated codebase to latest version of osmocombb
Diffstat (limited to 'Src/eclipse')
-rw-r--r--Src/eclipse/.metadata/.log845
-rw-r--r--Src/eclipse/.metadata/.plugins/org.eclipse.cdt.core/.log1
-rw-r--r--Src/eclipse/.metadata/.plugins/org.eclipse.cdt.core/CatcherDriver.1330426096136.pdombin0 -> 5419008 bytes
-rw-r--r--Src/eclipse/.metadata/.plugins/org.eclipse.cdt.make.core/CatcherDriver.sc228
-rw-r--r--Src/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/36/a07dff68fd6100111a83ded3e22caa93823
-rw-r--r--Src/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c9/f0b573ecfa6100111a83ded3e22caa93824
-rw-r--r--Src/eclipse/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.indexbin151 -> 151 bytes
-rw-r--r--Src/eclipse/.metadata/.plugins/org.eclipse.core.resources/.root/6.treebin0 -> 84968 bytes
-rw-r--r--Src/eclipse/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resourcesbin764 -> 768 bytes
-rw-r--r--Src/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide.prefs4
-rw-r--r--Src/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/.workspace/2012/2/9/refactorings.history3
-rw-r--r--Src/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/.workspace/2012/2/9/refactorings.index2
-rw-r--r--Src/eclipse/.metadata/.plugins/org.eclipse.ltk.ui.refactoring/dialog_settings.xml7
-rw-r--r--Src/eclipse/.metadata/.plugins/org.eclipse.ui.workbench/workbench.xml6
14 files changed, 2738 insertions, 5 deletions
diff --git a/Src/eclipse/.metadata/.log b/Src/eclipse/.metadata/.log
index fade1c1..5890662 100644
--- a/Src/eclipse/.metadata/.log
+++ b/Src/eclipse/.metadata/.log
@@ -1803,3 +1803,848 @@ org.eclipse.core.runtime.AssertionFailedException: unknown saveable: org.eclipse
!ENTRY org.eclipse.cdt.core 1 0 2012-02-28 11:48:24.985
!MESSAGE Indexed 'CatcherDriver' (187 sources, 288 headers) in 8.65 sec: 27,880 declarations; 107,743 references; 8 unresolved inclusions; 10 syntax errors; 4,423 unresolved names (3.16%)
+!SESSION 2012-02-28 12:47:07.521 -----------------------------------------------
+eclipse.buildId=I20110613-1736
+java.version=1.6.0_23
+java.vendor=Sun Microsystems Inc.
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US
+Command-line arguments: -os linux -ws gtk -arch x86_64
+
+!ENTRY org.eclipse.core.resources 4 567 2012-02-28 12:47:26.620
+!MESSAGE Workspace restored, but some problems occurred.
+!SUBENTRY 1 org.eclipse.core.resources 4 567 2012-02-28 12:47:26.620
+!MESSAGE Could not read metadata for 'CatcherDriver'.
+!STACK 1
+org.eclipse.core.internal.resources.ResourceException: The project description file (.project) for 'CatcherDriver' is missing. This file contains important information about the project. The project will not function properly until this file is restored.
+ at org.eclipse.core.internal.localstore.FileSystemResourceManager.read(FileSystemResourceManager.java:851)
+ at org.eclipse.core.internal.resources.SaveManager.restoreMetaInfo(SaveManager.java:873)
+ at org.eclipse.core.internal.resources.SaveManager.restoreMetaInfo(SaveManager.java:853)
+ at org.eclipse.core.internal.resources.SaveManager.restore(SaveManager.java:702)
+ at org.eclipse.core.internal.resources.SaveManager.startup(SaveManager.java:1527)
+ at org.eclipse.core.internal.resources.Workspace.startup(Workspace.java:2503)
+ at org.eclipse.core.internal.resources.Workspace.open(Workspace.java:2251)
+ at org.eclipse.core.resources.ResourcesPlugin.start(ResourcesPlugin.java:439)
+ at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:711)
+ at java.security.AccessController.doPrivileged(Native Method)
+ at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:702)
+ at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:683)
+ at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:381)
+ at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:299)
+ at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:440)
+ at org.eclipse.osgi.internal.loader.BundleLoader.setLazyTrigger(BundleLoader.java:268)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:107)
+ at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:462)
+ at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:216)
+ at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:400)
+ at org.eclipse.osgi.internal.loader.SingleSourcePackage.loadClass(SingleSourcePackage.java:35)
+ at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:473)
+ at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:429)
+ at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:417)
+ at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
+ at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
+ at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124)
+ at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+ at java.lang.reflect.Method.invoke(Method.java:616)
+ at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)
+ at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
+ at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
+ at org.eclipse.equinox.launcher.Main.main(Main.java:1386)
+!SUBENTRY 2 org.eclipse.core.resources 4 567 2012-02-28 12:47:26.621
+!MESSAGE The project description file (.project) for 'CatcherDriver' is missing. This file contains important information about the project. The project will not function properly until this file is restored.
+
+!ENTRY org.eclipse.core.filebuffers 4 2 2012-02-28 12:47:28.712
+!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.core.filebuffers".
+!STACK 0
+java.lang.NullPointerException
+ at org.eclipse.cdt.internal.core.CConfigBasedDescriptorManager.createProjDescriptionForDescriptor(CConfigBasedDescriptorManager.java:374)
+ at org.eclipse.cdt.internal.core.CConfigBasedDescriptorManager.findDescriptor(CConfigBasedDescriptorManager.java:341)
+ at org.eclipse.cdt.internal.core.CConfigBasedDescriptorManager.getDescriptor(CConfigBasedDescriptorManager.java:238)
+ at org.eclipse.cdt.core.CCorePlugin.getCProjectDescription(CCorePlugin.java:640)
+ at org.eclipse.cdt.internal.ui.text.doctools.ProjectMap.load(ProjectMap.java:117)
+ at org.eclipse.cdt.internal.ui.text.doctools.ProjectMap.<init>(ProjectMap.java:58)
+ at org.eclipse.cdt.internal.ui.text.doctools.DocCommentOwnerManager.getProjectMap(DocCommentOwnerManager.java:212)
+ at org.eclipse.cdt.internal.ui.text.doctools.DocCommentOwnerManager.getCommentOwner(DocCommentOwnerManager.java:129)
+ at org.eclipse.cdt.internal.ui.text.CTextTools.getDocumentationCommentOwner(CTextTools.java:157)
+ at org.eclipse.cdt.internal.ui.text.CTextTools.setupCDocument(CTextTools.java:118)
+ at org.eclipse.cdt.internal.ui.editor.CDocumentSetupParticipant.setup(CDocumentSetupParticipant.java:48)
+ at org.eclipse.core.internal.filebuffers.ResourceTextFileBufferManager$1.run(ResourceTextFileBufferManager.java:151)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.core.internal.filebuffers.ResourceTextFileBufferManager.createEmptyDocument(ResourceTextFileBufferManager.java:166)
+ at org.eclipse.core.internal.filebuffers.ResourceTextFileBuffer.initializeFileBufferContent(ResourceTextFileBuffer.java:289)
+ at org.eclipse.core.internal.filebuffers.ResourceFileBuffer.create(ResourceFileBuffer.java:245)
+ at org.eclipse.core.internal.filebuffers.TextFileBufferManager.connect(TextFileBufferManager.java:112)
+ at org.eclipse.ui.editors.text.TextFileDocumentProvider.createFileInfo(TextFileDocumentProvider.java:559)
+ at org.eclipse.cdt.internal.ui.editor.CDocumentProvider.createFileInfo(CDocumentProvider.java:856)
+ at org.eclipse.ui.editors.text.TextFileDocumentProvider.connect(TextFileDocumentProvider.java:478)
+ at org.eclipse.cdt.internal.ui.editor.CDocumentProvider.connect(CDocumentProvider.java:778)
+ at org.eclipse.ui.texteditor.AbstractTextEditor.doSetInput(AbstractTextEditor.java:4213)
+ at org.eclipse.ui.texteditor.StatusTextEditor.doSetInput(StatusTextEditor.java:237)
+ at org.eclipse.ui.texteditor.AbstractDecoratedTextEditor.doSetInput(AbstractDecoratedTextEditor.java:1451)
+ at org.eclipse.ui.editors.text.TextEditor.doSetInput(TextEditor.java:169)
+ at org.eclipse.cdt.internal.ui.editor.CEditor.internalDoSetInput(CEditor.java:1380)
+ at org.eclipse.cdt.internal.ui.editor.CEditor.doSetInput(CEditor.java:1345)
+ at org.eclipse.ui.texteditor.AbstractTextEditor$19.run(AbstractTextEditor.java:3200)
+ at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:464)
+ at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:372)
+ at org.eclipse.jface.window.ApplicationWindow$1.run(ApplicationWindow.java:759)
+ at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
+ at org.eclipse.jface.window.ApplicationWindow.run(ApplicationWindow.java:756)
+ at org.eclipse.ui.internal.WorkbenchWindow.run(WorkbenchWindow.java:2642)
+ at org.eclipse.ui.texteditor.AbstractTextEditor.internalInit(AbstractTextEditor.java:3218)
+ at org.eclipse.ui.texteditor.AbstractTextEditor.init(AbstractTextEditor.java:3245)
+ at org.eclipse.ui.internal.EditorManager.createSite(EditorManager.java:828)
+ at org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:647)
+ at org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:465)
+ at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:595)
+ at org.eclipse.ui.internal.EditorAreaHelper.setVisibleEditor(EditorAreaHelper.java:271)
+ at org.eclipse.ui.internal.EditorManager.setVisibleEditor(EditorManager.java:1459)
+ at org.eclipse.ui.internal.EditorManager$5.runWithException(EditorManager.java:972)
+ at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31)
+ at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
+ at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
+ at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3563)
+ at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3212)
+ at org.eclipse.ui.application.WorkbenchAdvisor.openWindows(WorkbenchAdvisor.java:803)
+ at org.eclipse.ui.internal.Workbench$33.runWithException(Workbench.java:1595)
+ at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31)
+ at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
+ at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
+ at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3563)
+ at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3212)
+ at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2604)
+ at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2494)
+ at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:674)
+ at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
+ at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:667)
+ at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
+ at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123)
+ at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+ at java.lang.reflect.Method.invoke(Method.java:616)
+ at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)
+ at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
+ at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
+ at org.eclipse.equinox.launcher.Main.main(Main.java:1386)
+
+!ENTRY org.eclipse.core.filebuffers 4 0 2012-02-28 12:47:28.715
+!MESSAGE A document setup participant failed to setup the document.
+!STACK 0
+java.lang.NullPointerException
+ at org.eclipse.cdt.internal.core.CConfigBasedDescriptorManager.createProjDescriptionForDescriptor(CConfigBasedDescriptorManager.java:374)
+ at org.eclipse.cdt.internal.core.CConfigBasedDescriptorManager.findDescriptor(CConfigBasedDescriptorManager.java:341)
+ at org.eclipse.cdt.internal.core.CConfigBasedDescriptorManager.getDescriptor(CConfigBasedDescriptorManager.java:238)
+ at org.eclipse.cdt.core.CCorePlugin.getCProjectDescription(CCorePlugin.java:640)
+ at org.eclipse.cdt.internal.ui.text.doctools.ProjectMap.load(ProjectMap.java:117)
+ at org.eclipse.cdt.internal.ui.text.doctools.ProjectMap.<init>(ProjectMap.java:58)
+ at org.eclipse.cdt.internal.ui.text.doctools.DocCommentOwnerManager.getProjectMap(DocCommentOwnerManager.java:212)
+ at org.eclipse.cdt.internal.ui.text.doctools.DocCommentOwnerManager.getCommentOwner(DocCommentOwnerManager.java:129)
+ at org.eclipse.cdt.internal.ui.text.CTextTools.getDocumentationCommentOwner(CTextTools.java:157)
+ at org.eclipse.cdt.internal.ui.text.CTextTools.setupCDocument(CTextTools.java:118)
+ at org.eclipse.cdt.internal.ui.editor.CDocumentSetupParticipant.setup(CDocumentSetupParticipant.java:48)
+ at org.eclipse.core.internal.filebuffers.ResourceTextFileBufferManager$1.run(ResourceTextFileBufferManager.java:151)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.core.internal.filebuffers.ResourceTextFileBufferManager.createEmptyDocument(ResourceTextFileBufferManager.java:166)
+ at org.eclipse.core.internal.filebuffers.ResourceTextFileBuffer.initializeFileBufferContent(ResourceTextFileBuffer.java:289)
+ at org.eclipse.core.internal.filebuffers.ResourceFileBuffer.create(ResourceFileBuffer.java:245)
+ at org.eclipse.core.internal.filebuffers.TextFileBufferManager.connect(TextFileBufferManager.java:112)
+ at org.eclipse.ui.editors.text.TextFileDocumentProvider.createFileInfo(TextFileDocumentProvider.java:559)
+ at org.eclipse.cdt.internal.ui.editor.CDocumentProvider.createFileInfo(CDocumentProvider.java:856)
+ at org.eclipse.ui.editors.text.TextFileDocumentProvider.connect(TextFileDocumentProvider.java:478)
+ at org.eclipse.cdt.internal.ui.editor.CDocumentProvider.connect(CDocumentProvider.java:778)
+ at org.eclipse.ui.texteditor.AbstractTextEditor.doSetInput(AbstractTextEditor.java:4213)
+ at org.eclipse.ui.texteditor.StatusTextEditor.doSetInput(StatusTextEditor.java:237)
+ at org.eclipse.ui.texteditor.AbstractDecoratedTextEditor.doSetInput(AbstractDecoratedTextEditor.java:1451)
+ at org.eclipse.ui.editors.text.TextEditor.doSetInput(TextEditor.java:169)
+ at org.eclipse.cdt.internal.ui.editor.CEditor.internalDoSetInput(CEditor.java:1380)
+ at org.eclipse.cdt.internal.ui.editor.CEditor.doSetInput(CEditor.java:1345)
+ at org.eclipse.ui.texteditor.AbstractTextEditor$19.run(AbstractTextEditor.java:3200)
+ at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:464)
+ at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:372)
+ at org.eclipse.jface.window.ApplicationWindow$1.run(ApplicationWindow.java:759)
+ at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
+ at org.eclipse.jface.window.ApplicationWindow.run(ApplicationWindow.java:756)
+ at org.eclipse.ui.internal.WorkbenchWindow.run(WorkbenchWindow.java:2642)
+ at org.eclipse.ui.texteditor.AbstractTextEditor.internalInit(AbstractTextEditor.java:3218)
+ at org.eclipse.ui.texteditor.AbstractTextEditor.init(AbstractTextEditor.java:3245)
+ at org.eclipse.ui.internal.EditorManager.createSite(EditorManager.java:828)
+ at org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:647)
+ at org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:465)
+ at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:595)
+ at org.eclipse.ui.internal.EditorAreaHelper.setVisibleEditor(EditorAreaHelper.java:271)
+ at org.eclipse.ui.internal.EditorManager.setVisibleEditor(EditorManager.java:1459)
+ at org.eclipse.ui.internal.EditorManager$5.runWithException(EditorManager.java:972)
+ at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31)
+ at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
+ at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
+ at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3563)
+ at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3212)
+ at org.eclipse.ui.application.WorkbenchAdvisor.openWindows(WorkbenchAdvisor.java:803)
+ at org.eclipse.ui.internal.Workbench$33.runWithException(Workbench.java:1595)
+ at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31)
+ at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
+ at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
+ at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3563)
+ at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3212)
+ at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2604)
+ at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2494)
+ at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:674)
+ at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
+ at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:667)
+ at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
+ at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123)
+ at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+ at java.lang.reflect.Method.invoke(Method.java:616)
+ at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)
+ at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
+ at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
+ at org.eclipse.equinox.launcher.Main.main(Main.java:1386)
+
+!ENTRY org.eclipse.core.filebuffers 4 2 2012-02-28 12:47:28.716
+!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.core.filebuffers".
+!STACK 0
+java.lang.NullPointerException
+ at org.eclipse.cdt.internal.core.CConfigBasedDescriptorManager.createProjDescriptionForDescriptor(CConfigBasedDescriptorManager.java:374)
+ at org.eclipse.cdt.internal.core.CConfigBasedDescriptorManager.findDescriptor(CConfigBasedDescriptorManager.java:341)
+ at org.eclipse.cdt.internal.core.CConfigBasedDescriptorManager.getDescriptor(CConfigBasedDescriptorManager.java:238)
+ at org.eclipse.cdt.core.CCorePlugin.getCProjectDescription(CCorePlugin.java:640)
+ at org.eclipse.cdt.internal.ui.text.doctools.ProjectMap.load(ProjectMap.java:117)
+ at org.eclipse.cdt.internal.ui.text.doctools.ProjectMap.<init>(ProjectMap.java:58)
+ at org.eclipse.cdt.internal.ui.text.doctools.DocCommentOwnerManager.getProjectMap(DocCommentOwnerManager.java:212)
+ at org.eclipse.cdt.internal.ui.text.doctools.DocCommentOwnerManager.getCommentOwner(DocCommentOwnerManager.java:129)
+ at org.eclipse.cdt.internal.ui.text.CTextTools.getDocumentationCommentOwner(CTextTools.java:157)
+ at org.eclipse.cdt.internal.ui.text.CTextTools.setupCDocument(CTextTools.java:118)
+ at org.eclipse.cdt.internal.ui.editor.CDocumentSetupParticipant.setup(CDocumentSetupParticipant.java:48)
+ at org.eclipse.core.internal.filebuffers.ResourceTextFileBufferManager$1.run(ResourceTextFileBufferManager.java:151)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.core.internal.filebuffers.ResourceTextFileBufferManager.createEmptyDocument(ResourceTextFileBufferManager.java:166)
+ at org.eclipse.core.internal.filebuffers.ResourceTextFileBuffer.initializeFileBufferContent(ResourceTextFileBuffer.java:289)
+ at org.eclipse.core.internal.filebuffers.ResourceFileBuffer.create(ResourceFileBuffer.java:245)
+ at org.eclipse.core.internal.filebuffers.TextFileBufferManager.connect(TextFileBufferManager.java:112)
+ at org.eclipse.ui.editors.text.TextFileDocumentProvider.createFileInfo(TextFileDocumentProvider.java:559)
+ at org.eclipse.cdt.internal.ui.editor.CDocumentProvider.createFileInfo(CDocumentProvider.java:856)
+ at org.eclipse.ui.editors.text.TextFileDocumentProvider.connect(TextFileDocumentProvider.java:478)
+ at org.eclipse.cdt.internal.ui.editor.CDocumentProvider.connect(CDocumentProvider.java:778)
+ at org.eclipse.ui.texteditor.AbstractTextEditor.doSetInput(AbstractTextEditor.java:4213)
+ at org.eclipse.ui.texteditor.StatusTextEditor.doSetInput(StatusTextEditor.java:237)
+ at org.eclipse.ui.texteditor.AbstractDecoratedTextEditor.doSetInput(AbstractDecoratedTextEditor.java:1451)
+ at org.eclipse.ui.editors.text.TextEditor.doSetInput(TextEditor.java:169)
+ at org.eclipse.cdt.internal.ui.editor.CEditor.internalDoSetInput(CEditor.java:1380)
+ at org.eclipse.cdt.internal.ui.editor.CEditor.doSetInput(CEditor.java:1345)
+ at org.eclipse.ui.texteditor.AbstractTextEditor$19.run(AbstractTextEditor.java:3200)
+ at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:464)
+ at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:372)
+ at org.eclipse.jface.window.ApplicationWindow$1.run(ApplicationWindow.java:759)
+ at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
+ at org.eclipse.jface.window.ApplicationWindow.run(ApplicationWindow.java:756)
+ at org.eclipse.ui.internal.WorkbenchWindow.run(WorkbenchWindow.java:2642)
+ at org.eclipse.ui.texteditor.AbstractTextEditor.internalInit(AbstractTextEditor.java:3218)
+ at org.eclipse.ui.texteditor.AbstractTextEditor.init(AbstractTextEditor.java:3245)
+ at org.eclipse.ui.internal.EditorManager.createSite(EditorManager.java:828)
+ at org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:647)
+ at org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:465)
+ at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:595)
+ at org.eclipse.ui.internal.EditorAreaHelper.setVisibleEditor(EditorAreaHelper.java:271)
+ at org.eclipse.ui.internal.EditorManager.setVisibleEditor(EditorManager.java:1459)
+ at org.eclipse.ui.internal.EditorManager$5.runWithException(EditorManager.java:972)
+ at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31)
+ at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
+ at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
+ at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3563)
+ at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3212)
+ at org.eclipse.ui.application.WorkbenchAdvisor.openWindows(WorkbenchAdvisor.java:803)
+ at org.eclipse.ui.internal.Workbench$33.runWithException(Workbench.java:1595)
+ at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31)
+ at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
+ at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
+ at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3563)
+ at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3212)
+ at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2604)
+ at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2494)
+ at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:674)
+ at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
+ at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:667)
+ at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
+ at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123)
+ at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+ at java.lang.reflect.Method.invoke(Method.java:616)
+ at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)
+ at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
+ at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
+ at org.eclipse.equinox.launcher.Main.main(Main.java:1386)
+
+!ENTRY org.eclipse.core.filebuffers 4 0 2012-02-28 12:47:28.717
+!MESSAGE A document setup participant failed to setup the document.
+!STACK 0
+java.lang.NullPointerException
+ at org.eclipse.cdt.internal.core.CConfigBasedDescriptorManager.createProjDescriptionForDescriptor(CConfigBasedDescriptorManager.java:374)
+ at org.eclipse.cdt.internal.core.CConfigBasedDescriptorManager.findDescriptor(CConfigBasedDescriptorManager.java:341)
+ at org.eclipse.cdt.internal.core.CConfigBasedDescriptorManager.getDescriptor(CConfigBasedDescriptorManager.java:238)
+ at org.eclipse.cdt.core.CCorePlugin.getCProjectDescription(CCorePlugin.java:640)
+ at org.eclipse.cdt.internal.ui.text.doctools.ProjectMap.load(ProjectMap.java:117)
+ at org.eclipse.cdt.internal.ui.text.doctools.ProjectMap.<init>(ProjectMap.java:58)
+ at org.eclipse.cdt.internal.ui.text.doctools.DocCommentOwnerManager.getProjectMap(DocCommentOwnerManager.java:212)
+ at org.eclipse.cdt.internal.ui.text.doctools.DocCommentOwnerManager.getCommentOwner(DocCommentOwnerManager.java:129)
+ at org.eclipse.cdt.internal.ui.text.CTextTools.getDocumentationCommentOwner(CTextTools.java:157)
+ at org.eclipse.cdt.internal.ui.text.CTextTools.setupCDocument(CTextTools.java:118)
+ at org.eclipse.cdt.internal.ui.editor.CDocumentSetupParticipant.setup(CDocumentSetupParticipant.java:48)
+ at org.eclipse.core.internal.filebuffers.ResourceTextFileBufferManager$1.run(ResourceTextFileBufferManager.java:151)
+ at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+ at org.eclipse.core.internal.filebuffers.ResourceTextFileBufferManager.createEmptyDocument(ResourceTextFileBufferManager.java:166)
+ at org.eclipse.core.internal.filebuffers.ResourceTextFileBuffer.initializeFileBufferContent(ResourceTextFileBuffer.java:289)
+ at org.eclipse.core.internal.filebuffers.ResourceFileBuffer.create(ResourceFileBuffer.java:245)
+ at org.eclipse.core.internal.filebuffers.TextFileBufferManager.connect(TextFileBufferManager.java:112)
+ at org.eclipse.ui.editors.text.TextFileDocumentProvider.createFileInfo(TextFileDocumentProvider.java:559)
+ at org.eclipse.cdt.internal.ui.editor.CDocumentProvider.createFileInfo(CDocumentProvider.java:856)
+ at org.eclipse.ui.editors.text.TextFileDocumentProvider.connect(TextFileDocumentProvider.java:478)
+ at org.eclipse.cdt.internal.ui.editor.CDocumentProvider.connect(CDocumentProvider.java:778)
+ at org.eclipse.ui.texteditor.AbstractTextEditor.doSetInput(AbstractTextEditor.java:4213)
+ at org.eclipse.ui.texteditor.StatusTextEditor.doSetInput(StatusTextEditor.java:237)
+ at org.eclipse.ui.texteditor.AbstractDecoratedTextEditor.doSetInput(AbstractDecoratedTextEditor.java:1451)
+ at org.eclipse.ui.editors.text.TextEditor.doSetInput(TextEditor.java:169)
+ at org.eclipse.cdt.internal.ui.editor.CEditor.internalDoSetInput(CEditor.java:1380)
+ at org.eclipse.cdt.internal.ui.editor.CEditor.doSetInput(CEditor.java:1345)
+ at org.eclipse.ui.texteditor.AbstractTextEditor$19.run(AbstractTextEditor.java:3200)
+ at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:464)
+ at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:372)
+ at org.eclipse.jface.window.ApplicationWindow$1.run(ApplicationWindow.java:759)
+ at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
+ at org.eclipse.jface.window.ApplicationWindow.run(ApplicationWindow.java:756)
+ at org.eclipse.ui.internal.WorkbenchWindow.run(WorkbenchWindow.java:2642)
+ at org.eclipse.ui.texteditor.AbstractTextEditor.internalInit(AbstractTextEditor.java:3218)
+ at org.eclipse.ui.texteditor.AbstractTextEditor.init(AbstractTextEditor.java:3245)
+ at org.eclipse.ui.internal.EditorManager.createSite(EditorManager.java:828)
+ at org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:647)
+ at org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:465)
+ at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:595)
+ at org.eclipse.ui.internal.EditorAreaHelper.setVisibleEditor(EditorAreaHelper.java:271)
+ at org.eclipse.ui.internal.EditorManager.setVisibleEditor(EditorManager.java:1459)
+ at org.eclipse.ui.internal.EditorManager$5.runWithException(EditorManager.java:972)
+ at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31)
+ at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
+ at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
+ at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3563)
+ at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3212)
+ at org.eclipse.ui.application.WorkbenchAdvisor.openWindows(WorkbenchAdvisor.java:803)
+ at org.eclipse.ui.internal.Workbench$33.runWithException(Workbench.java:1595)
+ at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31)
+ at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
+ at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
+ at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3563)
+ at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3212)
+ at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2604)
+ at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2494)
+ at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:674)
+ at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
+ at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:667)
+ at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
+ at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123)
+ at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+ at java.lang.reflect.Method.invoke(Method.java:616)
+ at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)
+ at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
+ at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
+ at org.eclipse.equinox.launcher.Main.main(Main.java:1386)
+
+!ENTRY org.eclipse.ui 4 0 2012-02-28 12:47:28.766
+!MESSAGE Unable to create editor ID org.eclipse.cdt.ui.editor.CEditor: Editor could not be initialized.
+!STACK 0
+java.lang.NullPointerException
+ at org.eclipse.cdt.internal.core.CConfigBasedDescriptorManager.createProjDescriptionForDescriptor(CConfigBasedDescriptorManager.java:374)
+ at org.eclipse.cdt.internal.core.CConfigBasedDescriptorManager.findDescriptor(CConfigBasedDescriptorManager.java:341)
+ at org.eclipse.cdt.internal.core.CConfigBasedDescriptorManager.getDescriptor(CConfigBasedDescriptorManager.java:238)
+ at org.eclipse.cdt.core.CCorePlugin.getCProjectDescription(CCorePlugin.java:640)
+ at org.eclipse.cdt.internal.core.language.LanguageMappingStore.getProjectDescription(LanguageMappingStore.java:110)
+ at org.eclipse.cdt.internal.core.language.LanguageMappingStore.decodeMappings(LanguageMappingStore.java:75)
+ at org.eclipse.cdt.core.model.LanguageManager.getLanguageConfiguration(LanguageManager.java:447)
+ at org.eclipse.cdt.internal.core.language.LanguageMappingResolver.computeLanguage(LanguageMappingResolver.java:57)
+ at org.eclipse.cdt.core.model.LanguageManager.getLanguageForFile(LanguageManager.java:587)
+ at org.eclipse.cdt.internal.core.model.TranslationUnit.getLanguage(TranslationUnit.java:776)
+ at org.eclipse.cdt.internal.ui.editor.CEditor.internalDoSetInput(CEditor.java:1392)
+ at org.eclipse.cdt.internal.ui.editor.CEditor.doSetInput(CEditor.java:1345)
+ at org.eclipse.ui.texteditor.AbstractTextEditor$19.run(AbstractTextEditor.java:3200)
+ at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:464)
+ at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:372)
+ at org.eclipse.jface.window.ApplicationWindow$1.run(ApplicationWindow.java:759)
+ at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
+ at org.eclipse.jface.window.ApplicationWindow.run(ApplicationWindow.java:756)
+ at org.eclipse.ui.internal.WorkbenchWindow.run(WorkbenchWindow.java:2642)
+ at org.eclipse.ui.texteditor.AbstractTextEditor.internalInit(AbstractTextEditor.java:3218)
+ at org.eclipse.ui.texteditor.AbstractTextEditor.init(AbstractTextEditor.java:3245)
+ at org.eclipse.ui.internal.EditorManager.createSite(EditorManager.java:828)
+ at org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:647)
+ at org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:465)
+ at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:595)
+ at org.eclipse.ui.internal.EditorAreaHelper.setVisibleEditor(EditorAreaHelper.java:271)
+ at org.eclipse.ui.internal.EditorManager.setVisibleEditor(EditorManager.java:1459)
+ at org.eclipse.ui.internal.EditorManager$5.runWithException(EditorManager.java:972)
+ at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31)
+ at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
+ at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
+ at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3563)
+ at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3212)
+ at org.eclipse.ui.application.WorkbenchAdvisor.openWindows(WorkbenchAdvisor.java:803)
+ at org.eclipse.ui.internal.Workbench$33.runWithException(Workbench.java:1595)
+ at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31)
+ at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
+ at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
+ at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3563)
+ at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3212)
+ at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2604)
+ at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2494)
+ at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:674)
+ at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
+ at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:667)
+ at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
+ at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123)
+ at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+ at java.lang.reflect.Method.invoke(Method.java:616)
+ at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)
+ at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
+ at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
+ at org.eclipse.equinox.launcher.Main.main(Main.java:1386)
+
+!ENTRY org.eclipse.ui 2 2 2012-02-28 12:47:28.785
+!MESSAGE Ignored attempt to add saveable that was already registered
+!STACK 0
+org.eclipse.core.runtime.AssertionFailedException: unknown saveable: org.eclipse.ui.internal.DefaultSaveable@2c538cc2 from part: org.eclipse.ui.internal.ErrorEditorPart@2c538cc2
+ at org.eclipse.ui.internal.SaveablesList.logWarning(SaveablesList.java:187)
+ at org.eclipse.ui.internal.SaveablesList.addModel(SaveablesList.java:117)
+ at org.eclipse.ui.internal.SaveablesList.addModels(SaveablesList.java:289)
+ at org.eclipse.ui.internal.SaveablesList.postOpen(SaveablesList.java:695)
+ at org.eclipse.ui.internal.PartList.partOpened(PartList.java:234)
+ at org.eclipse.ui.internal.PartList.access$0(PartList.java:210)
+ at org.eclipse.ui.internal.PartList$1.propertyChanged(PartList.java:40)
+ at org.eclipse.ui.internal.WorkbenchPartReference.fireInternalPropertyChange(WorkbenchPartReference.java:375)
+ at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:610)
+ at org.eclipse.ui.internal.EditorAreaHelper.setVisibleEditor(EditorAreaHelper.java:271)
+ at org.eclipse.ui.internal.EditorManager.setVisibleEditor(EditorManager.java:1459)
+ at org.eclipse.ui.internal.EditorManager$5.runWithException(EditorManager.java:972)
+ at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31)
+ at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
+ at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
+ at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3563)
+ at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3212)
+ at org.eclipse.ui.application.WorkbenchAdvisor.openWindows(WorkbenchAdvisor.java:803)
+ at org.eclipse.ui.internal.Workbench$33.runWithException(Workbench.java:1595)
+ at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31)
+ at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
+ at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
+ at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3563)
+ at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3212)
+ at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2604)
+ at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2494)
+ at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:674)
+ at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
+ at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:667)
+ at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
+ at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123)
+ at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+ at java.lang.reflect.Method.invoke(Method.java:616)
+ at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)
+ at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
+ at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
+ at org.eclipse.equinox.launcher.Main.main(Main.java:1386)
+
+!ENTRY org.eclipse.ui 4 0 2012-02-28 12:47:36.715
+!MESSAGE Unable to create editor ID org.eclipse.cdt.ui.editor.CEditor: The file does not exist.
+!STACK 1
+org.eclipse.core.runtime.CoreException: The file does not exist.
+ at org.eclipse.core.internal.filebuffers.ResourceFileBuffer.create(ResourceFileBuffer.java:237)
+ at org.eclipse.core.internal.filebuffers.TextFileBufferManager.connect(TextFileBufferManager.java:112)
+ at org.eclipse.ui.editors.text.TextFileDocumentProvider.createFileInfo(TextFileDocumentProvider.java:559)
+ at org.eclipse.cdt.internal.ui.editor.CDocumentProvider.createFileInfo(CDocumentProvider.java:856)
+ at org.eclipse.ui.editors.text.TextFileDocumentProvider.connect(TextFileDocumentProvider.java:478)
+ at org.eclipse.cdt.internal.ui.editor.CDocumentProvider.connect(CDocumentProvider.java:778)
+ at org.eclipse.ui.texteditor.AbstractTextEditor.doSetInput(AbstractTextEditor.java:4213)
+ at org.eclipse.ui.texteditor.StatusTextEditor.doSetInput(StatusTextEditor.java:237)
+ at org.eclipse.ui.texteditor.AbstractDecoratedTextEditor.doSetInput(AbstractDecoratedTextEditor.java:1451)
+ at org.eclipse.ui.editors.text.TextEditor.doSetInput(TextEditor.java:169)
+ at org.eclipse.cdt.internal.ui.editor.CEditor.internalDoSetInput(CEditor.java:1380)
+ at org.eclipse.cdt.internal.ui.editor.CEditor.doSetInput(CEditor.java:1345)
+ at org.eclipse.ui.texteditor.AbstractTextEditor$19.run(AbstractTextEditor.java:3200)
+ at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:464)
+ at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:372)
+ at org.eclipse.jface.window.ApplicationWindow$1.run(ApplicationWindow.java:759)
+ at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
+ at org.eclipse.jface.window.ApplicationWindow.run(ApplicationWindow.java:756)
+ at org.eclipse.ui.internal.WorkbenchWindow.run(WorkbenchWindow.java:2642)
+ at org.eclipse.ui.texteditor.AbstractTextEditor.internalInit(AbstractTextEditor.java:3218)
+ at org.eclipse.ui.texteditor.AbstractTextEditor.init(AbstractTextEditor.java:3245)
+ at org.eclipse.ui.internal.EditorManager.createSite(EditorManager.java:828)
+ at org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:647)
+ at org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:465)
+ at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:595)
+ at org.eclipse.ui.internal.PartPane.setVisible(PartPane.java:313)
+ at org.eclipse.ui.internal.presentations.PresentablePart.setVisible(PresentablePart.java:180)
+ at org.eclipse.ui.internal.presentations.util.PresentablePartFolder.select(PresentablePartFolder.java:270)
+ at org.eclipse.ui.internal.presentations.util.LeftToRightTabOrder.select(LeftToRightTabOrder.java:65)
+ at org.eclipse.ui.internal.presentations.util.TabbedStackPresentation.selectPart(TabbedStackPresentation.java:473)
+ at org.eclipse.ui.internal.PartStack.refreshPresentationSelection(PartStack.java:1245)
+ at org.eclipse.ui.internal.PartStack.handleDeferredEvents(PartStack.java:1213)
+ at org.eclipse.ui.internal.LayoutPart.deferUpdates(LayoutPart.java:400)
+ at org.eclipse.ui.internal.PartSashContainer.handleDeferredEvents(PartSashContainer.java:1409)
+ at org.eclipse.ui.internal.LayoutPart.deferUpdates(LayoutPart.java:400)
+ at org.eclipse.ui.internal.WorkbenchPage.handleDeferredEvents(WorkbenchPage.java:1495)
+ at org.eclipse.ui.internal.WorkbenchPage.deferUpdates(WorkbenchPage.java:1485)
+ at org.eclipse.ui.internal.WorkbenchPage.closeEditors(WorkbenchPage.java:1459)
+ at org.eclipse.ui.internal.WorkbenchPage.closeEditor(WorkbenchPage.java:1523)
+ at org.eclipse.ui.internal.CloseEditorHandler.execute(CloseEditorHandler.java:47)
+ at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:293)
+ at org.eclipse.core.commands.Command.executeWithChecks(Command.java:476)
+ at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508)
+ at org.eclipse.ui.internal.handlers.HandlerService.executeCommand(HandlerService.java:169)
+ at org.eclipse.ui.internal.keys.WorkbenchKeyboard.executeCommand(WorkbenchKeyboard.java:468)
+ at org.eclipse.ui.internal.keys.WorkbenchKeyboard.press(WorkbenchKeyboard.java:786)
+ at org.eclipse.ui.internal.keys.WorkbenchKeyboard.processKeyEvent(WorkbenchKeyboard.java:885)
+ at org.eclipse.ui.internal.keys.WorkbenchKeyboard.filterKeySequenceBindings(WorkbenchKeyboard.java:567)
+ at org.eclipse.ui.internal.keys.WorkbenchKeyboard.access$3(WorkbenchKeyboard.java:508)
+ at org.eclipse.ui.internal.keys.WorkbenchKeyboard$KeyDownFilter.handleEvent(WorkbenchKeyboard.java:123)
+ at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
+ at org.eclipse.swt.widgets.Display.filterEvent(Display.java:1531)
+ at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1257)
+ at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1282)
+ at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1267)
+ at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1294)
+ at org.eclipse.swt.widgets.Widget.gtk_key_press_event(Widget.java:730)
+ at org.eclipse.swt.widgets.Control.gtk_key_press_event(Control.java:3019)
+ at org.eclipse.swt.widgets.Composite.gtk_key_press_event(Composite.java:734)
+ at org.eclipse.swt.widgets.Tree.gtk_key_press_event(Tree.java:2002)
+ at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:1743)
+ at org.eclipse.swt.widgets.Control.windowProc(Control.java:5016)
+ at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:3530)
+ at org.eclipse.swt.widgets.Display.windowProc(Display.java:4408)
+ at org.eclipse.swt.internal.gtk.OS._gtk_main_do_event(Native Method)
+ at org.eclipse.swt.internal.gtk.OS.gtk_main_do_event(OS.java:8394)
+ at org.eclipse.swt.widgets.Display.eventProc(Display.java:1245)
+ at org.eclipse.swt.internal.gtk.OS._g_main_context_iteration(Native Method)
+ at org.eclipse.swt.internal.gtk.OS.g_main_context_iteration(OS.java:2258)
+ at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3207)
+ at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2696)
+ at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2660)
+ at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2494)
+ at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:674)
+ at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
+ at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:667)
+ at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
+ at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123)
+ at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+ at java.lang.reflect.Method.invoke(Method.java:616)
+ at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)
+ at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
+ at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
+ at org.eclipse.equinox.launcher.Main.main(Main.java:1386)
+!SUBENTRY 1 org.eclipse.core.filebuffers 4 0 2012-02-28 12:47:36.716
+!MESSAGE The file does not exist.
+
+!ENTRY org.eclipse.ui 2 2 2012-02-28 12:47:36.729
+!MESSAGE Ignored attempt to add saveable that was already registered
+!STACK 0
+org.eclipse.core.runtime.AssertionFailedException: unknown saveable: org.eclipse.ui.internal.DefaultSaveable@19166179 from part: org.eclipse.ui.internal.ErrorEditorPart@19166179
+ at org.eclipse.ui.internal.SaveablesList.logWarning(SaveablesList.java:187)
+ at org.eclipse.ui.internal.SaveablesList.addModel(SaveablesList.java:117)
+ at org.eclipse.ui.internal.SaveablesList.addModels(SaveablesList.java:289)
+ at org.eclipse.ui.internal.SaveablesList.postOpen(SaveablesList.java:695)
+ at org.eclipse.ui.internal.PartList.partOpened(PartList.java:234)
+ at org.eclipse.ui.internal.PartList.access$0(PartList.java:210)
+ at org.eclipse.ui.internal.PartList$1.propertyChanged(PartList.java:40)
+ at org.eclipse.ui.internal.WorkbenchPartReference.fireInternalPropertyChange(WorkbenchPartReference.java:375)
+ at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:610)
+ at org.eclipse.ui.internal.PartPane.setVisible(PartPane.java:313)
+ at org.eclipse.ui.internal.presentations.PresentablePart.setVisible(PresentablePart.java:180)
+ at org.eclipse.ui.internal.presentations.util.PresentablePartFolder.select(PresentablePartFolder.java:270)
+ at org.eclipse.ui.internal.presentations.util.LeftToRightTabOrder.select(LeftToRightTabOrder.java:65)
+ at org.eclipse.ui.internal.presentations.util.TabbedStackPresentation.selectPart(TabbedStackPresentation.java:473)
+ at org.eclipse.ui.internal.PartStack.refreshPresentationSelection(PartStack.java:1245)
+ at org.eclipse.ui.internal.PartStack.handleDeferredEvents(PartStack.java:1213)
+ at org.eclipse.ui.internal.LayoutPart.deferUpdates(LayoutPart.java:400)
+ at org.eclipse.ui.internal.PartSashContainer.handleDeferredEvents(PartSashContainer.java:1409)
+ at org.eclipse.ui.internal.LayoutPart.deferUpdates(LayoutPart.java:400)
+ at org.eclipse.ui.internal.WorkbenchPage.handleDeferredEvents(WorkbenchPage.java:1495)
+ at org.eclipse.ui.internal.WorkbenchPage.deferUpdates(WorkbenchPage.java:1485)
+ at org.eclipse.ui.internal.WorkbenchPage.closeEditors(WorkbenchPage.java:1459)
+ at org.eclipse.ui.internal.WorkbenchPage.closeEditor(WorkbenchPage.java:1523)
+ at org.eclipse.ui.internal.CloseEditorHandler.execute(CloseEditorHandler.java:47)
+ at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:293)
+ at org.eclipse.core.commands.Command.executeWithChecks(Command.java:476)
+ at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508)
+ at org.eclipse.ui.internal.handlers.HandlerService.executeCommand(HandlerService.java:169)
+ at org.eclipse.ui.internal.keys.WorkbenchKeyboard.executeCommand(WorkbenchKeyboard.java:468)
+ at org.eclipse.ui.internal.keys.WorkbenchKeyboard.press(WorkbenchKeyboard.java:786)
+ at org.eclipse.ui.internal.keys.WorkbenchKeyboard.processKeyEvent(WorkbenchKeyboard.java:885)
+ at org.eclipse.ui.internal.keys.WorkbenchKeyboard.filterKeySequenceBindings(WorkbenchKeyboard.java:567)
+ at org.eclipse.ui.internal.keys.WorkbenchKeyboard.access$3(WorkbenchKeyboard.java:508)
+ at org.eclipse.ui.internal.keys.WorkbenchKeyboard$KeyDownFilter.handleEvent(WorkbenchKeyboard.java:123)
+ at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
+ at org.eclipse.swt.widgets.Display.filterEvent(Display.java:1531)
+ at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1257)
+ at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1282)
+ at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1267)
+ at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1294)
+ at org.eclipse.swt.widgets.Widget.gtk_key_press_event(Widget.java:730)
+ at org.eclipse.swt.widgets.Control.gtk_key_press_event(Control.java:3019)
+ at org.eclipse.swt.widgets.Composite.gtk_key_press_event(Composite.java:734)
+ at org.eclipse.swt.widgets.Tree.gtk_key_press_event(Tree.java:2002)
+ at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:1743)
+ at org.eclipse.swt.widgets.Control.windowProc(Control.java:5016)
+ at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:3530)
+ at org.eclipse.swt.widgets.Display.windowProc(Display.java:4408)
+ at org.eclipse.swt.internal.gtk.OS._gtk_main_do_event(Native Method)
+ at org.eclipse.swt.internal.gtk.OS.gtk_main_do_event(OS.java:8394)
+ at org.eclipse.swt.widgets.Display.eventProc(Display.java:1245)
+ at org.eclipse.swt.internal.gtk.OS._g_main_context_iteration(Native Method)
+ at org.eclipse.swt.internal.gtk.OS.g_main_context_iteration(OS.java:2258)
+ at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3207)
+ at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2696)
+ at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2660)
+ at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2494)
+ at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:674)
+ at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
+ at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:667)
+ at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
+ at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123)
+ at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+ at java.lang.reflect.Method.invoke(Method.java:616)
+ at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)
+ at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
+ at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
+ at org.eclipse.equinox.launcher.Main.main(Main.java:1386)
+
+!ENTRY org.eclipse.ui 4 0 2012-02-28 12:47:37.016
+!MESSAGE Unable to create editor ID org.eclipse.cdt.ui.editor.CEditor: The file does not exist.
+!STACK 1
+org.eclipse.core.runtime.CoreException: The file does not exist.
+ at org.eclipse.core.internal.filebuffers.ResourceFileBuffer.create(ResourceFileBuffer.java:237)
+ at org.eclipse.core.internal.filebuffers.TextFileBufferManager.connect(TextFileBufferManager.java:112)
+ at org.eclipse.ui.editors.text.TextFileDocumentProvider.createFileInfo(TextFileDocumentProvider.java:559)
+ at org.eclipse.cdt.internal.ui.editor.CDocumentProvider.createFileInfo(CDocumentProvider.java:856)
+ at org.eclipse.ui.editors.text.TextFileDocumentProvider.connect(TextFileDocumentProvider.java:478)
+ at org.eclipse.cdt.internal.ui.editor.CDocumentProvider.connect(CDocumentProvider.java:778)
+ at org.eclipse.ui.texteditor.AbstractTextEditor.doSetInput(AbstractTextEditor.java:4213)
+ at org.eclipse.ui.texteditor.StatusTextEditor.doSetInput(StatusTextEditor.java:237)
+ at org.eclipse.ui.texteditor.AbstractDecoratedTextEditor.doSetInput(AbstractDecoratedTextEditor.java:1451)
+ at org.eclipse.ui.editors.text.TextEditor.doSetInput(TextEditor.java:169)
+ at org.eclipse.cdt.internal.ui.editor.CEditor.internalDoSetInput(CEditor.java:1380)
+ at org.eclipse.cdt.internal.ui.editor.CEditor.doSetInput(CEditor.java:1345)
+ at org.eclipse.ui.texteditor.AbstractTextEditor$19.run(AbstractTextEditor.java:3200)
+ at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:464)
+ at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:372)
+ at org.eclipse.jface.window.ApplicationWindow$1.run(ApplicationWindow.java:759)
+ at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
+ at org.eclipse.jface.window.ApplicationWindow.run(ApplicationWindow.java:756)
+ at org.eclipse.ui.internal.WorkbenchWindow.run(WorkbenchWindow.java:2642)
+ at org.eclipse.ui.texteditor.AbstractTextEditor.internalInit(AbstractTextEditor.java:3218)
+ at org.eclipse.ui.texteditor.AbstractTextEditor.init(AbstractTextEditor.java:3245)
+ at org.eclipse.ui.internal.EditorManager.createSite(EditorManager.java:828)
+ at org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:647)
+ at org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:465)
+ at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:595)
+ at org.eclipse.ui.internal.PartPane.setVisible(PartPane.java:313)
+ at org.eclipse.ui.internal.presentations.PresentablePart.setVisible(PresentablePart.java:180)
+ at org.eclipse.ui.internal.presentations.util.PresentablePartFolder.select(PresentablePartFolder.java:270)
+ at org.eclipse.ui.internal.presentations.util.LeftToRightTabOrder.select(LeftToRightTabOrder.java:65)
+ at org.eclipse.ui.internal.presentations.util.TabbedStackPresentation.selectPart(TabbedStackPresentation.java:473)
+ at org.eclipse.ui.internal.PartStack.refreshPresentationSelection(PartStack.java:1245)
+ at org.eclipse.ui.internal.PartStack.handleDeferredEvents(PartStack.java:1213)
+ at org.eclipse.ui.internal.LayoutPart.deferUpdates(LayoutPart.java:400)
+ at org.eclipse.ui.internal.PartSashContainer.handleDeferredEvents(PartSashContainer.java:1409)
+ at org.eclipse.ui.internal.LayoutPart.deferUpdates(LayoutPart.java:400)
+ at org.eclipse.ui.internal.WorkbenchPage.handleDeferredEvents(WorkbenchPage.java:1495)
+ at org.eclipse.ui.internal.WorkbenchPage.deferUpdates(WorkbenchPage.java:1485)
+ at org.eclipse.ui.internal.WorkbenchPage.closeEditors(WorkbenchPage.java:1459)
+ at org.eclipse.ui.internal.WorkbenchPage.closeEditor(WorkbenchPage.java:1523)
+ at org.eclipse.ui.internal.CloseEditorHandler.execute(CloseEditorHandler.java:47)
+ at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:293)
+ at org.eclipse.core.commands.Command.executeWithChecks(Command.java:476)
+ at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508)
+ at org.eclipse.ui.internal.handlers.HandlerService.executeCommand(HandlerService.java:169)
+ at org.eclipse.ui.internal.keys.WorkbenchKeyboard.executeCommand(WorkbenchKeyboard.java:468)
+ at org.eclipse.ui.internal.keys.WorkbenchKeyboard.press(WorkbenchKeyboard.java:786)
+ at org.eclipse.ui.internal.keys.WorkbenchKeyboard.processKeyEvent(WorkbenchKeyboard.java:885)
+ at org.eclipse.ui.internal.keys.WorkbenchKeyboard.filterKeySequenceBindings(WorkbenchKeyboard.java:567)
+ at org.eclipse.ui.internal.keys.WorkbenchKeyboard.access$3(WorkbenchKeyboard.java:508)
+ at org.eclipse.ui.internal.keys.WorkbenchKeyboard$KeyDownFilter.handleEvent(WorkbenchKeyboard.java:123)
+ at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
+ at org.eclipse.swt.widgets.Display.filterEvent(Display.java:1531)
+ at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1257)
+ at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1282)
+ at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1267)
+ at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1294)
+ at org.eclipse.swt.widgets.Widget.gtk_key_press_event(Widget.java:730)
+ at org.eclipse.swt.widgets.Control.gtk_key_press_event(Control.java:3019)
+ at org.eclipse.swt.widgets.Composite.gtk_key_press_event(Composite.java:734)
+ at org.eclipse.swt.widgets.Tree.gtk_key_press_event(Tree.java:2002)
+ at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:1743)
+ at org.eclipse.swt.widgets.Control.windowProc(Control.java:5016)
+ at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:3530)
+ at org.eclipse.swt.widgets.Display.windowProc(Display.java:4408)
+ at org.eclipse.swt.internal.gtk.OS._gtk_main_do_event(Native Method)
+ at org.eclipse.swt.internal.gtk.OS.gtk_main_do_event(OS.java:8394)
+ at org.eclipse.swt.widgets.Display.eventProc(Display.java:1245)
+ at org.eclipse.swt.internal.gtk.OS._g_main_context_iteration(Native Method)
+ at org.eclipse.swt.internal.gtk.OS.g_main_context_iteration(OS.java:2258)
+ at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3207)
+ at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2696)
+ at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2660)
+ at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2494)
+ at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:674)
+ at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
+ at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:667)
+ at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
+ at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123)
+ at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+ at java.lang.reflect.Method.invoke(Method.java:616)
+ at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)
+ at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
+ at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
+ at org.eclipse.equinox.launcher.Main.main(Main.java:1386)
+!SUBENTRY 1 org.eclipse.core.filebuffers 4 0 2012-02-28 12:47:37.018
+!MESSAGE The file does not exist.
+
+!ENTRY org.eclipse.ui 2 2 2012-02-28 12:47:37.032
+!MESSAGE Ignored attempt to add saveable that was already registered
+!STACK 0
+org.eclipse.core.runtime.AssertionFailedException: unknown saveable: org.eclipse.ui.internal.DefaultSaveable@b53b098 from part: org.eclipse.ui.internal.ErrorEditorPart@b53b098
+ at org.eclipse.ui.internal.SaveablesList.logWarning(SaveablesList.java:187)
+ at org.eclipse.ui.internal.SaveablesList.addModel(SaveablesList.java:117)
+ at org.eclipse.ui.internal.SaveablesList.addModels(SaveablesList.java:289)
+ at org.eclipse.ui.internal.SaveablesList.postOpen(SaveablesList.java:695)
+ at org.eclipse.ui.internal.PartList.partOpened(PartList.java:234)
+ at org.eclipse.ui.internal.PartList.access$0(PartList.java:210)
+ at org.eclipse.ui.internal.PartList$1.propertyChanged(PartList.java:40)
+ at org.eclipse.ui.internal.WorkbenchPartReference.fireInternalPropertyChange(WorkbenchPartReference.java:375)
+ at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:610)
+ at org.eclipse.ui.internal.PartPane.setVisible(PartPane.java:313)
+ at org.eclipse.ui.internal.presentations.PresentablePart.setVisible(PresentablePart.java:180)
+ at org.eclipse.ui.internal.presentations.util.PresentablePartFolder.select(PresentablePartFolder.java:270)
+ at org.eclipse.ui.internal.presentations.util.LeftToRightTabOrder.select(LeftToRightTabOrder.java:65)
+ at org.eclipse.ui.internal.presentations.util.TabbedStackPresentation.selectPart(TabbedStackPresentation.java:473)
+ at org.eclipse.ui.internal.PartStack.refreshPresentationSelection(PartStack.java:1245)
+ at org.eclipse.ui.internal.PartStack.handleDeferredEvents(PartStack.java:1213)
+ at org.eclipse.ui.internal.LayoutPart.deferUpdates(LayoutPart.java:400)
+ at org.eclipse.ui.internal.PartSashContainer.handleDeferredEvents(PartSashContainer.java:1409)
+ at org.eclipse.ui.internal.LayoutPart.deferUpdates(LayoutPart.java:400)
+ at org.eclipse.ui.internal.WorkbenchPage.handleDeferredEvents(WorkbenchPage.java:1495)
+ at org.eclipse.ui.internal.WorkbenchPage.deferUpdates(WorkbenchPage.java:1485)
+ at org.eclipse.ui.internal.WorkbenchPage.closeEditors(WorkbenchPage.java:1459)
+ at org.eclipse.ui.internal.WorkbenchPage.closeEditor(WorkbenchPage.java:1523)
+ at org.eclipse.ui.internal.CloseEditorHandler.execute(CloseEditorHandler.java:47)
+ at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:293)
+ at org.eclipse.core.commands.Command.executeWithChecks(Command.java:476)
+ at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508)
+ at org.eclipse.ui.internal.handlers.HandlerService.executeCommand(HandlerService.java:169)
+ at org.eclipse.ui.internal.keys.WorkbenchKeyboard.executeCommand(WorkbenchKeyboard.java:468)
+ at org.eclipse.ui.internal.keys.WorkbenchKeyboard.press(WorkbenchKeyboard.java:786)
+ at org.eclipse.ui.internal.keys.WorkbenchKeyboard.processKeyEvent(WorkbenchKeyboard.java:885)
+ at org.eclipse.ui.internal.keys.WorkbenchKeyboard.filterKeySequenceBindings(WorkbenchKeyboard.java:567)
+ at org.eclipse.ui.internal.keys.WorkbenchKeyboard.access$3(WorkbenchKeyboard.java:508)
+ at org.eclipse.ui.internal.keys.WorkbenchKeyboard$KeyDownFilter.handleEvent(WorkbenchKeyboard.java:123)
+ at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
+ at org.eclipse.swt.widgets.Display.filterEvent(Display.java:1531)
+ at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1257)
+ at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1282)
+ at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1267)
+ at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1294)
+ at org.eclipse.swt.widgets.Widget.gtk_key_press_event(Widget.java:730)
+ at org.eclipse.swt.widgets.Control.gtk_key_press_event(Control.java:3019)
+ at org.eclipse.swt.widgets.Composite.gtk_key_press_event(Composite.java:734)
+ at org.eclipse.swt.widgets.Tree.gtk_key_press_event(Tree.java:2002)
+ at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:1743)
+ at org.eclipse.swt.widgets.Control.windowProc(Control.java:5016)
+ at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:3530)
+ at org.eclipse.swt.widgets.Display.windowProc(Display.java:4408)
+ at org.eclipse.swt.internal.gtk.OS._gtk_main_do_event(Native Method)
+ at org.eclipse.swt.internal.gtk.OS.gtk_main_do_event(OS.java:8394)
+ at org.eclipse.swt.widgets.Display.eventProc(Display.java:1245)
+ at org.eclipse.swt.internal.gtk.OS._g_main_context_iteration(Native Method)
+ at org.eclipse.swt.internal.gtk.OS.g_main_context_iteration(OS.java:2258)
+ at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3207)
+ at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2696)
+ at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2660)
+ at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2494)
+ at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:674)
+ at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
+ at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:667)
+ at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
+ at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123)
+ at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
+ at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344)
+ at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+ at java.lang.reflect.Method.invoke(Method.java:616)
+ at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)
+ at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
+ at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
+ at org.eclipse.equinox.launcher.Main.main(Main.java:1386)
diff --git a/Src/eclipse/.metadata/.plugins/org.eclipse.cdt.core/.log b/Src/eclipse/.metadata/.plugins/org.eclipse.cdt.core/.log
index 865b28a..e69fab0 100644
--- a/Src/eclipse/.metadata/.plugins/org.eclipse.cdt.core/.log
+++ b/Src/eclipse/.metadata/.plugins/org.eclipse.cdt.core/.log
@@ -3,3 +3,4 @@
*** SESSION Oct 09, 2011 14:26:25.89 -------------------------------------------
*** SESSION Oct 10, 2011 15:16:10.81 -------------------------------------------
*** SESSION Feb 28, 2012 11:47:32.08 -------------------------------------------
+*** SESSION Feb 28, 2012 12:34:33.29 -------------------------------------------
diff --git a/Src/eclipse/.metadata/.plugins/org.eclipse.cdt.core/CatcherDriver.1330426096136.pdom b/Src/eclipse/.metadata/.plugins/org.eclipse.cdt.core/CatcherDriver.1330426096136.pdom
new file mode 100644
index 0000000..924efda
--- /dev/null
+++ b/Src/eclipse/.metadata/.plugins/org.eclipse.cdt.core/CatcherDriver.1330426096136.pdom
Binary files differ
diff --git a/Src/eclipse/.metadata/.plugins/org.eclipse.cdt.make.core/CatcherDriver.sc b/Src/eclipse/.metadata/.plugins/org.eclipse.cdt.make.core/CatcherDriver.sc
new file mode 100644
index 0000000..32f3d38
--- /dev/null
+++ b/Src/eclipse/.metadata/.plugins/org.eclipse.cdt.make.core/CatcherDriver.sc
@@ -0,0 +1,228 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?scdStore version="2"?>
+
+<scannerInfo id="org.eclipse.cdt.make.core.discoveredScannerInfo">
+<instance id="0.91533971">
+<collector id="org.eclipse.cdt.make.core.PerProjectSICollector">
+<includePath path="/usr/lib/gcc/x86_64-linux-gnu/4.6.1/include"/>
+<includePath path="/usr/local/include"/>
+<includePath path="/usr/lib/gcc/x86_64-linux-gnu/4.6.1/include-fixed"/>
+<includePath path="/usr/include/x86_64-linux-gnu"/>
+<includePath path="/usr/include"/>
+<definedSymbol symbol="__STDC__=1"/>
+<definedSymbol symbol="__STDC_HOSTED__=1"/>
+<definedSymbol symbol="__GNUC__=4"/>
+<definedSymbol symbol="__GNUC_MINOR__=6"/>
+<definedSymbol symbol="__GNUC_PATCHLEVEL__=1"/>
+<definedSymbol symbol="__VERSION__=&quot;4.6.1&quot;"/>
+<definedSymbol symbol="__FINITE_MATH_ONLY__=0"/>
+<definedSymbol symbol="_LP64=1"/>
+<definedSymbol symbol="__LP64__=1"/>
+<definedSymbol symbol="__SIZEOF_INT__=4"/>
+<definedSymbol symbol="__SIZEOF_LONG__=8"/>
+<definedSymbol symbol="__SIZEOF_LONG_LONG__=8"/>
+<definedSymbol symbol="__SIZEOF_SHORT__=2"/>
+<definedSymbol symbol="__SIZEOF_FLOAT__=4"/>
+<definedSymbol symbol="__SIZEOF_DOUBLE__=8"/>
+<definedSymbol symbol="__SIZEOF_LONG_DOUBLE__=16"/>
+<definedSymbol symbol="__SIZEOF_SIZE_T__=8"/>
+<definedSymbol symbol="__CHAR_BIT__=8"/>
+<definedSymbol symbol="__BIGGEST_ALIGNMENT__=16"/>
+<definedSymbol symbol="__ORDER_LITTLE_ENDIAN__=1234"/>
+<definedSymbol symbol="__ORDER_BIG_ENDIAN__=4321"/>
+<definedSymbol symbol="__ORDER_PDP_ENDIAN__=3412"/>
+<definedSymbol symbol="__BYTE_ORDER__=__ORDER_LITTLE_ENDIAN__"/>
+<definedSymbol symbol="__FLOAT_WORD_ORDER__=__ORDER_LITTLE_ENDIAN__"/>
+<definedSymbol symbol="__SIZEOF_POINTER__=8"/>
+<definedSymbol symbol="__SIZE_TYPE__=long unsigned int"/>
+<definedSymbol symbol="__PTRDIFF_TYPE__=long int"/>
+<definedSymbol symbol="__WCHAR_TYPE__=int"/>
+<definedSymbol symbol="__WINT_TYPE__=unsigned int"/>
+<definedSymbol symbol="__INTMAX_TYPE__=long int"/>
+<definedSymbol symbol="__UINTMAX_TYPE__=long unsigned int"/>
+<definedSymbol symbol="__CHAR16_TYPE__=short unsigned int"/>
+<definedSymbol symbol="__CHAR32_TYPE__=unsigned int"/>
+<definedSymbol symbol="__SIG_ATOMIC_TYPE__=int"/>
+<definedSymbol symbol="__INT8_TYPE__=signed char"/>
+<definedSymbol symbol="__INT16_TYPE__=short int"/>
+<definedSymbol symbol="__INT32_TYPE__=int"/>
+<definedSymbol symbol="__INT64_TYPE__=long int"/>
+<definedSymbol symbol="__UINT8_TYPE__=unsigned char"/>
+<definedSymbol symbol="__UINT16_TYPE__=short unsigned int"/>
+<definedSymbol symbol="__UINT32_TYPE__=unsigned int"/>
+<definedSymbol symbol="__UINT64_TYPE__=long unsigned int"/>
+<definedSymbol symbol="__INT_LEAST8_TYPE__=signed char"/>
+<definedSymbol symbol="__INT_LEAST16_TYPE__=short int"/>
+<definedSymbol symbol="__INT_LEAST32_TYPE__=int"/>
+<definedSymbol symbol="__INT_LEAST64_TYPE__=long int"/>
+<definedSymbol symbol="__UINT_LEAST8_TYPE__=unsigned char"/>
+<definedSymbol symbol="__UINT_LEAST16_TYPE__=short unsigned int"/>
+<definedSymbol symbol="__UINT_LEAST32_TYPE__=unsigned int"/>
+<definedSymbol symbol="__UINT_LEAST64_TYPE__=long unsigned int"/>
+<definedSymbol symbol="__INT_FAST8_TYPE__=signed char"/>
+<definedSymbol symbol="__INT_FAST16_TYPE__=long int"/>
+<definedSymbol symbol="__INT_FAST32_TYPE__=long int"/>
+<definedSymbol symbol="__INT_FAST64_TYPE__=long int"/>
+<definedSymbol symbol="__UINT_FAST8_TYPE__=unsigned char"/>
+<definedSymbol symbol="__UINT_FAST16_TYPE__=long unsigned int"/>
+<definedSymbol symbol="__UINT_FAST32_TYPE__=long unsigned int"/>
+<definedSymbol symbol="__UINT_FAST64_TYPE__=long unsigned int"/>
+<definedSymbol symbol="__INTPTR_TYPE__=long int"/>
+<definedSymbol symbol="__UINTPTR_TYPE__=long unsigned int"/>
+<definedSymbol symbol="__GXX_ABI_VERSION=1002"/>
+<definedSymbol symbol="__SCHAR_MAX__=127"/>
+<definedSymbol symbol="__SHRT_MAX__=32767"/>
+<definedSymbol symbol="__INT_MAX__=2147483647"/>
+<definedSymbol symbol="__LONG_MAX__=9223372036854775807L"/>
+<definedSymbol symbol="__LONG_LONG_MAX__=9223372036854775807LL"/>
+<definedSymbol symbol="__WCHAR_MAX__=2147483647"/>
+<definedSymbol symbol="__WCHAR_MIN__=(-__WCHAR_MAX__ - 1)"/>
+<definedSymbol symbol="__WINT_MAX__=4294967295U"/>
+<definedSymbol symbol="__WINT_MIN__=0U"/>
+<definedSymbol symbol="__PTRDIFF_MAX__=9223372036854775807L"/>
+<definedSymbol symbol="__SIZE_MAX__=18446744073709551615UL"/>
+<definedSymbol symbol="__INTMAX_MAX__=9223372036854775807L"/>
+<definedSymbol symbol="__INTMAX_C(c)=c ## L"/>
+<definedSymbol symbol="__UINTMAX_MAX__=18446744073709551615UL"/>
+<definedSymbol symbol="__UINTMAX_C(c)=c ## UL"/>
+<definedSymbol symbol="__SIG_ATOMIC_MAX__=2147483647"/>
+<definedSymbol symbol="__SIG_ATOMIC_MIN__=(-__SIG_ATOMIC_MAX__ - 1)"/>
+<definedSymbol symbol="__INT8_MAX__=127"/>
+<definedSymbol symbol="__INT16_MAX__=32767"/>
+<definedSymbol symbol="__INT32_MAX__=2147483647"/>
+<definedSymbol symbol="__INT64_MAX__=9223372036854775807L"/>
+<definedSymbol symbol="__UINT8_MAX__=255"/>
+<definedSymbol symbol="__UINT16_MAX__=65535"/>
+<definedSymbol symbol="__UINT32_MAX__=4294967295U"/>
+<definedSymbol symbol="__UINT64_MAX__=18446744073709551615UL"/>
+<definedSymbol symbol="__INT_LEAST8_MAX__=127"/>
+<definedSymbol symbol="__INT8_C(c)=c"/>
+<definedSymbol symbol="__INT_LEAST16_MAX__=32767"/>
+<definedSymbol symbol="__INT16_C(c)=c"/>
+<definedSymbol symbol="__INT_LEAST32_MAX__=2147483647"/>
+<definedSymbol symbol="__INT32_C(c)=c"/>
+<definedSymbol symbol="__INT_LEAST64_MAX__=9223372036854775807L"/>
+<definedSymbol symbol="__INT64_C(c)=c ## L"/>
+<definedSymbol symbol="__UINT_LEAST8_MAX__=255"/>
+<definedSymbol symbol="__UINT8_C(c)=c"/>
+<definedSymbol symbol="__UINT_LEAST16_MAX__=65535"/>
+<definedSymbol symbol="__UINT16_C(c)=c"/>
+<definedSymbol symbol="__UINT_LEAST32_MAX__=4294967295U"/>
+<definedSymbol symbol="__UINT32_C(c)=c ## U"/>
+<definedSymbol symbol="__UINT_LEAST64_MAX__=18446744073709551615UL"/>
+<definedSymbol symbol="__UINT64_C(c)=c ## UL"/>
+<definedSymbol symbol="__INT_FAST8_MAX__=127"/>
+<definedSymbol symbol="__INT_FAST16_MAX__=9223372036854775807L"/>
+<definedSymbol symbol="__INT_FAST32_MAX__=9223372036854775807L"/>
+<definedSymbol symbol="__INT_FAST64_MAX__=9223372036854775807L"/>
+<definedSymbol symbol="__UINT_FAST8_MAX__=255"/>
+<definedSymbol symbol="__UINT_FAST16_MAX__=18446744073709551615UL"/>
+<definedSymbol symbol="__UINT_FAST32_MAX__=18446744073709551615UL"/>
+<definedSymbol symbol="__UINT_FAST64_MAX__=18446744073709551615UL"/>
+<definedSymbol symbol="__INTPTR_MAX__=9223372036854775807L"/>
+<definedSymbol symbol="__UINTPTR_MAX__=18446744073709551615UL"/>
+<definedSymbol symbol="__FLT_EVAL_METHOD__=0"/>
+<definedSymbol symbol="__DEC_EVAL_METHOD__=2"/>
+<definedSymbol symbol="__FLT_RADIX__=2"/>
+<definedSymbol symbol="__FLT_MANT_DIG__=24"/>
+<definedSymbol symbol="__FLT_DIG__=6"/>
+<definedSymbol symbol="__FLT_MIN_EXP__=(-125)"/>
+<definedSymbol symbol="__FLT_MIN_10_EXP__=(-37)"/>
+<definedSymbol symbol="__FLT_MAX_EXP__=128"/>
+<definedSymbol symbol="__FLT_MAX_10_EXP__=38"/>
+<definedSymbol symbol="__FLT_DECIMAL_DIG__=9"/>
+<definedSymbol symbol="__FLT_MAX__=3.40282346638528859812e+38F"/>
+<definedSymbol symbol="__FLT_MIN__=1.17549435082228750797e-38F"/>
+<definedSymbol symbol="__FLT_EPSILON__=1.19209289550781250000e-7F"/>
+<definedSymbol symbol="__FLT_DENORM_MIN__=1.40129846432481707092e-45F"/>
+<definedSymbol symbol="__FLT_HAS_DENORM__=1"/>
+<definedSymbol symbol="__FLT_HAS_INFINITY__=1"/>
+<definedSymbol symbol="__FLT_HAS_QUIET_NAN__=1"/>
+<definedSymbol symbol="__DBL_MANT_DIG__=53"/>
+<definedSymbol symbol="__DBL_DIG__=15"/>
+<definedSymbol symbol="__DBL_MIN_EXP__=(-1021)"/>
+<definedSymbol symbol="__DBL_MIN_10_EXP__=(-307)"/>
+<definedSymbol symbol="__DBL_MAX_EXP__=1024"/>
+<definedSymbol symbol="__DBL_MAX_10_EXP__=308"/>
+<definedSymbol symbol="__DBL_DECIMAL_DIG__=17"/>
+<definedSymbol symbol="__DBL_MAX__=((double)1.79769313486231570815e+308L)"/>
+<definedSymbol symbol="__DBL_MIN__=((double)2.22507385850720138309e-308L)"/>
+<definedSymbol symbol="__DBL_EPSILON__=((double)2.22044604925031308085e-16L)"/>
+<definedSymbol symbol="__DBL_DENORM_MIN__=((double)4.94065645841246544177e-324L)"/>
+<definedSymbol symbol="__DBL_HAS_DENORM__=1"/>
+<definedSymbol symbol="__DBL_HAS_INFINITY__=1"/>
+<definedSymbol symbol="__DBL_HAS_QUIET_NAN__=1"/>
+<definedSymbol symbol="__LDBL_MANT_DIG__=64"/>
+<definedSymbol symbol="__LDBL_DIG__=18"/>
+<definedSymbol symbol="__LDBL_MIN_EXP__=(-16381)"/>
+<definedSymbol symbol="__LDBL_MIN_10_EXP__=(-4931)"/>
+<definedSymbol symbol="__LDBL_MAX_EXP__=16384"/>
+<definedSymbol symbol="__LDBL_MAX_10_EXP__=4932"/>
+<definedSymbol symbol="__DECIMAL_DIG__=21"/>
+<definedSymbol symbol="__LDBL_MAX__=1.18973149535723176502e+4932L"/>
+<definedSymbol symbol="__LDBL_MIN__=3.36210314311209350626e-4932L"/>
+<definedSymbol symbol="__LDBL_EPSILON__=1.08420217248550443401e-19L"/>
+<definedSymbol symbol="__LDBL_DENORM_MIN__=3.64519953188247460253e-4951L"/>
+<definedSymbol symbol="__LDBL_HAS_DENORM__=1"/>
+<definedSymbol symbol="__LDBL_HAS_INFINITY__=1"/>
+<definedSymbol symbol="__LDBL_HAS_QUIET_NAN__=1"/>
+<definedSymbol symbol="__DEC32_MANT_DIG__=7"/>
+<definedSymbol symbol="__DEC32_MIN_EXP__=(-94)"/>
+<definedSymbol symbol="__DEC32_MAX_EXP__=97"/>
+<definedSymbol symbol="__DEC32_MIN__=1E-95DF"/>
+<definedSymbol symbol="__DEC32_MAX__=9.999999E96DF"/>
+<definedSymbol symbol="__DEC32_EPSILON__=1E-6DF"/>
+<definedSymbol symbol="__DEC32_SUBNORMAL_MIN__=0.000001E-95DF"/>
+<definedSymbol symbol="__DEC64_MANT_DIG__=16"/>
+<definedSymbol symbol="__DEC64_MIN_EXP__=(-382)"/>
+<definedSymbol symbol="__DEC64_MAX_EXP__=385"/>
+<definedSymbol symbol="__DEC64_MIN__=1E-383DD"/>
+<definedSymbol symbol="__DEC64_MAX__=9.999999999999999E384DD"/>
+<definedSymbol symbol="__DEC64_EPSILON__=1E-15DD"/>
+<definedSymbol symbol="__DEC64_SUBNORMAL_MIN__=0.000000000000001E-383DD"/>
+<definedSymbol symbol="__DEC128_MANT_DIG__=34"/>
+<definedSymbol symbol="__DEC128_MIN_EXP__=(-6142)"/>
+<definedSymbol symbol="__DEC128_MAX_EXP__=6145"/>
+<definedSymbol symbol="__DEC128_MIN__=1E-6143DL"/>
+<definedSymbol symbol="__DEC128_MAX__=9.999999999999999999999999999999999E6144DL"/>
+<definedSymbol symbol="__DEC128_EPSILON__=1E-33DL"/>
+<definedSymbol symbol="__DEC128_SUBNORMAL_MIN__=0.000000000000000000000000000000001E-6143DL"/>
+<definedSymbol symbol="__REGISTER_PREFIX__="/>
+<definedSymbol symbol="__USER_LABEL_PREFIX__="/>
+<definedSymbol symbol="_FORTIFY_SOURCE=2"/>
+<definedSymbol symbol="__GNUC_GNU_INLINE__=1"/>
+<definedSymbol symbol="__NO_INLINE__=1"/>
+<definedSymbol symbol="__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1=1"/>
+<definedSymbol symbol="__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2=1"/>
+<definedSymbol symbol="__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4=1"/>
+<definedSymbol symbol="__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8=1"/>
+<definedSymbol symbol="__GCC_HAVE_DWARF2_CFI_ASM=1"/>
+<definedSymbol symbol="__PRAGMA_REDEFINE_EXTNAME=1"/>
+<definedSymbol symbol="__SSP__=1"/>
+<definedSymbol symbol="__SIZEOF_INT128__=16"/>
+<definedSymbol symbol="__SIZEOF_WCHAR_T__=4"/>
+<definedSymbol symbol="__SIZEOF_WINT_T__=4"/>
+<definedSymbol symbol="__SIZEOF_PTRDIFF_T__=8"/>
+<definedSymbol symbol="__amd64=1"/>
+<definedSymbol symbol="__amd64__=1"/>
+<definedSymbol symbol="__x86_64=1"/>
+<definedSymbol symbol="__x86_64__=1"/>
+<definedSymbol symbol="__k8=1"/>
+<definedSymbol symbol="__k8__=1"/>
+<definedSymbol symbol="__MMX__=1"/>
+<definedSymbol symbol="__SSE__=1"/>
+<definedSymbol symbol="__SSE2__=1"/>
+<definedSymbol symbol="__SSE_MATH__=1"/>
+<definedSymbol symbol="__SSE2_MATH__=1"/>
+<definedSymbol symbol="__gnu_linux__=1"/>
+<definedSymbol symbol="__linux=1"/>
+<definedSymbol symbol="__linux__=1"/>
+<definedSymbol symbol="linux=1"/>
+<definedSymbol symbol="__unix=1"/>
+<definedSymbol symbol="__unix__=1"/>
+<definedSymbol symbol="unix=1"/>
+<definedSymbol symbol="__ELF__=1"/>
+<definedSymbol symbol="__DECIMAL_BID_FORMAT__=1"/>
+</collector>
+</instance>
+</scannerInfo>
diff --git a/Src/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/36/a07dff68fd6100111a83ded3e22caa93 b/Src/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/36/a07dff68fd6100111a83ded3e22caa93
new file mode 100644
index 0000000..7050c59
--- /dev/null
+++ b/Src/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/36/a07dff68fd6100111a83ded3e22caa93
@@ -0,0 +1,823 @@
+/* Cell Scanning code for OsmocomBB */
+
+/* (C) 2010 by Andreas Eversberg <jolly@eversberg.eu>
+ *
+ * All Rights Reserved
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 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 General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ */
+
+#include <stdio.h>
+#include <stdint.h>
+#include <string.h>
+#include <stdlib.h>
+#include <time.h>
+#include <errno.h>
+
+#include <l1ctl_proto.h>
+
+#include <osmocom/core/logging.h>
+#include <osmocom/core/timer.h>
+#include <osmocom/core/signal.h>
+#include <osmocom/core/msgb.h>
+#include <osmocom/gsm/gsm_utils.h>
+#include <osmocom/gsm/protocol/gsm_04_08.h>
+#include <osmocom/gsm/rsl.h>
+
+#include <osmocom/bb/common/l1ctl.h>
+#include <osmocom/bb/common/osmocom_data.h>
+#include <osmocom/bb/common/lapdm.h>
+#include <osmocom/bb/common/logging.h>
+#include <osmocom/bb/common/networks.h>
+#include <osmocom/bb/common/gps.h>
+#include <osmocom/bb/misc/cell_log.h>
+#include "../../../gsmmap/geo.h"
+
+#define READ_WAIT 2, 0
+#define RACH_WAIT 0, 900000
+#define MIN_RXLEV -106
+#define MAX_DIST 2000
+
+enum {
+ SCAN_STATE_PM,
+ SCAN_STATE_SYNC,
+ SCAN_STATE_READ,
+ SCAN_STATE_RACH,
+};
+
+/* ranges of bands */
+static uint16_t band_range[][2] = {{0, 124}, {512, 885}, {955, 1023}, {0, 0}};
+
+#define INFO_FLG_PM 1
+#define INFO_FLG_SYNC 2
+#define INFO_FLG_SI1 4
+#define INFO_FLG_SI2 8
+#define INFO_FLG_SI2bis 16
+#define INFO_FLG_SI2ter 32
+#define INFO_FLG_SI3 64
+#define INFO_FLG_SI4 128
+
+static struct osmocom_ms *ms;
+static struct osmo_timer_list timer;
+
+static struct pm_info {
+ uint16_t flags;
+ int8_t rxlev;
+} pm[1024];
+
+static int started = 0;
+static int state;
+static int8_t min_rxlev = MIN_RXLEV;
+static int sync_count;
+static int pm_index, pm_gps_valid;
+static double pm_gps_x, pm_gps_y, pm_gps_z;
+static int arfcn;
+static int rach_count;
+static FILE *logfp = NULL;
+extern char *logname;
+extern int RACH_MAX;
+
+
+static struct gsm48_sysinfo sysinfo;
+
+static struct log_si {
+ uint16_t flags;
+ uint8_t bsic;
+ int8_t rxlev;
+ uint16_t mcc, mnc, lac, cellid;
+ uint8_t ta;
+ double latitude, longitude;
+} log_si;
+
+struct rach_ref {
+ uint8_t valid;
+ uint8_t cr;
+ uint8_t t1, t2, t3;
+} rach_ref;
+
+#define LOGFILE(fmt, args...) \
+ fprintf(logfp, fmt, ## args);
+#define LOGFLUSH() \
+ fflush(logfp);
+
+static void start_sync(void);
+static void start_rach(void);
+static void start_pm(void);
+
+static void log_gps(void)
+{
+ if (!g.enable || !g.valid)
+ return;
+ LOGFILE("position %.8f %.8f\n", g.longitude, g.latitude);
+}
+
+static void log_time(void)
+{
+ time_t now;
+
+ if (g.enable && g.valid)
+ now = g.gmt;
+ else
+ time(&now);
+ LOGFILE("time %lu\n", now);
+}
+
+static void log_frame(char *tag, uint8_t *data)
+{
+ int i;
+
+ LOGFILE("%s", tag);
+ for (i = 0; i < 23; i++)
+ LOGFILE(" %02x", *data++);
+ LOGFILE("\n");
+}
+
+static void log_pm(void)
+{
+ int count = 0, i;
+
+ LOGFILE("[power]\n");
+ log_time();
+ log_gps();
+ for (i = 0; i <= 1023; i++) {
+ if ((pm[i].flags & INFO_FLG_PM)) {
+ if (!count)
+ LOGFILE("arfcn %d", i);
+ LOGFILE(" %d", pm[i].rxlev);
+ count++;
+ if (count == 12) {
+ LOGFILE("\n");
+ count = 0;
+ }
+ } else {
+ if (count) {
+ LOGFILE("\n");
+ count = 0;
+ }
+ }
+ }
+ if (count)
+ LOGFILE("\n");
+
+ LOGFILE("\n");
+ LOGFLUSH();
+}
+
+static void log_sysinfo(void)
+{
+ struct rx_meas_stat *meas = &ms->meas;
+ struct gsm48_sysinfo *s = &sysinfo;
+ int8_t rxlev;
+ char ta_str[32] = "";
+
+ if (log_si.ta != 0xff)
+ sprintf(ta_str, " TA=%d", log_si.ta);
+
+ //LOGP(DSUM, LOGL_INFO, "Cell: ARFCN=%d MCC=%s MNC=%s (%s, %s)%s\n",
+ // arfcn, gsm_print_mcc(s->mcc), gsm_print_mnc(s->mnc),
+ // gsm_get_mcc(s->mcc), gsm_get_mnc(s->mcc, s->mnc), ta_str);
+
+ LOGFILE("[SysInfo]\n");
+ LOGFILE("country %s\n", gsm_get_mcc(s->mcc))
+ LOGFILE("provider %s\n", gsm_get_mnc(s->mcc, s->mnc))
+ LOGFILE("arfcn %d\n", s->arfcn);
+ //log_time();
+ //log_gps();
+ //LOGFILE("bsic %d,%d\n", s->bsic >> 3, s->bsic & 7);
+ rxlev = meas->rxlev / meas->frames - 110;
+ LOGFILE("rxlev %d\n", rxlev);
+ //if (s->si1)
+ // log_frame("si1", s->si1_msg);
+ if (s->si2)
+ log_frame("si2", s->si2_msg);
+ if (s->si2bis)
+ log_frame("si2bis", s->si2b_msg);
+ if (s->si2ter)
+ log_frame("si2ter", s->si2t_msg);
+ //if (s->si3)
+ // log_frame("si3", s->si3_msg);
+ //if (s->si4)
+ // log_frame("si4", s->si4_msg);
+ //if (log_si.ta != 0xff)
+ // LOGFILE("ta %d\n", log_si.ta);
+ LOGFILE("[EndInfo]\n");
+ LOGFILE("\n");
+ LOGFLUSH();
+}
+
+static void timeout_cb(void *arg)
+{
+ switch (state) {
+ case SCAN_STATE_READ:
+ LOGP(DRR, LOGL_INFO, "Timeout reading BCCH\n");
+ start_sync();
+ break;
+ case SCAN_STATE_RACH:
+ LOGP(DRR, LOGL_INFO, "Timeout on RACH\n");
+ rach_count++;
+ start_rach();
+ break;
+ }
+}
+
+static void stop_timer(void)
+{
+ if (osmo_timer_pending(&timer))
+ osmo_timer_del(&timer);
+}
+
+static void start_timer(int sec, int micro)
+{
+ stop_timer();
+ timer.cb = timeout_cb;
+ timer.data = ms;
+ osmo_timer_schedule(&timer, sec, micro);
+}
+
+static void start_rach(void)
+{
+ struct gsm48_sysinfo *s = &sysinfo;
+ uint8_t chan_req_val, chan_req_mask;
+ struct msgb *nmsg;
+ struct abis_rsl_cchan_hdr *ncch;
+
+ if (rach_count == RACH_MAX) {
+ log_sysinfo();
+ start_sync();
+ return;
+ }
+
+ state = SCAN_STATE_RACH;
+
+ if (s->neci) {
+ chan_req_mask = 0x0f;
+ chan_req_val = 0x01;
+ LOGP(DRR, LOGL_INFO, "CHANNEL REQUEST: %02x "
+ "(OTHER with NECI)\n", chan_req_val);
+ } else {
+ chan_req_mask = 0x1f;
+ chan_req_val = 0xe0;
+ LOGP(DRR, LOGL_INFO, "CHANNEL REQUEST: %02x (OTHER no NECI)\n",
+ chan_req_val);
+ }
+
+ rach_ref.valid = 0;
+ rach_ref.cr = random();
+ rach_ref.cr &= chan_req_mask;
+ rach_ref.cr |= chan_req_val;
+
+ nmsg = msgb_alloc_headroom(RSL_ALLOC_SIZE+RSL_ALLOC_HEADROOM,
+ RSL_ALLOC_HEADROOM, "GSM 04.06 RSL");
+ if (!nmsg)
+ return;
+ nmsg->l2h = nmsg->data;
+ ncch = (struct abis_rsl_cchan_hdr *) msgb_put(nmsg, sizeof(*ncch)
+ + 4 + 2 + 2);
+ rsl_init_cchan_hdr(ncch, RSL_MT_CHAN_RQD);
+ ncch->chan_nr = RSL_CHAN_RACH;
+ ncch->data[0] = RSL_IE_REQ_REFERENCE;
+ ncch->data[1] = rach_ref.cr;
+ ncch->data[2] = (s->ccch_conf == 1) << 7;
+ ncch->data[3] = 0;
+ ncch->data[4] = RSL_IE_ACCESS_DELAY;
+ ncch->data[5] = 0; /* no delay */
+ ncch->data[6] = RSL_IE_MS_POWER;
+ ncch->data[7] = 0; /* full power */
+
+ start_timer(RACH_WAIT);
+
+ lapdm_rslms_recvmsg(nmsg, &ms->lapdm_channel);
+}
+
+static void start_sync(void)
+{
+ int rxlev = -128;
+ int i, dist = 0;
+ char dist_str[32] = "";
+
+ arfcn = 0xffff;
+ for (i = 0; i <= 1023; i++) {
+ if ((pm[i].flags & INFO_FLG_PM)
+ && !(pm[i].flags & INFO_FLG_SYNC)) {
+ if (pm[i].rxlev > rxlev) {
+ rxlev = pm[i].rxlev;
+ arfcn = i;
+ }
+ }
+ }
+ /* if GPS becomes valid, like after exitting a tunnel */
+ if (!pm_gps_valid && g.valid) {
+ pm_gps_valid = 1;
+ geo2space(&pm_gps_x, &pm_gps_y, &pm_gps_z, g.longitude,
+ g.latitude);
+ }
+ if (pm_gps_valid && g.valid) {
+ double x, y, z;
+
+ geo2space(&x, &y, &z, g.longitude, g.latitude);
+ dist = distinspace(pm_gps_x, pm_gps_y, pm_gps_z, x, y, z);
+ sprintf(dist_str, " dist %d", (int)dist);
+ }
+ if (dist > MAX_DIST || arfcn == 0xffff || rxlev < min_rxlev) {
+ memset(pm, 0, sizeof(pm));
+ pm_index = 0;
+ sync_count = 0;
+ start_pm();
+ return;
+ }
+ pm[arfcn].flags |= INFO_FLG_SYNC;
+ //HACK: no use for us right now
+ LOGP(DSUM, LOGL_INFO, "Sync ARFCN %d (rxlev %d, %d syncs "
+ "left)%s\n", arfcn, pm[arfcn].rxlev, sync_count--, dist_str);
+ memset(&sysinfo, 0, sizeof(sysinfo));
+ sysinfo.arfcn = arfcn;
+ state = SCAN_STATE_SYNC;
+ l1ctl_tx_reset_req(ms, L1CTL_RES_T_FULL);
+ l1ctl_tx_fbsb_req(ms, arfcn, L1CTL_FBSB_F_FB01SB, 100, 0,
+ CCCH_MODE_NONE);
+}
+
+static void start_pm(void)
+{
+ uint16_t from, to;
+
+ state = SCAN_STATE_PM;
+ from = band_range[pm_index][0];
+ to = band_range[pm_index][1];
+
+ if (from == 0 && to == 0) {
+ LOGP(DSUM, LOGL_INFO, "Measurement done\n");
+ pm_gps_valid = g.enable && g.valid;
+ if (pm_gps_valid)
+ geo2space(&pm_gps_x, &pm_gps_y, &pm_gps_z,
+ g.longitude, g.latitude);
+ log_pm();
+ start_sync();
+ return;
+ }
+ LOGP(DSUM, LOGL_INFO, "Measure from %d to %d\n", from, to);
+ l1ctl_tx_reset_req(ms, L1CTL_RES_T_FULL);
+ l1ctl_tx_pm_req_range(ms, from, to);
+}
+
+static int signal_cb(unsigned int subsys, unsigned int signal,
+ void *handler_data, void *signal_data)
+{
+ struct osmobb_meas_res *mr;
+ struct osmobb_fbsb_res *fr;
+ uint16_t index;
+
+ if (subsys != SS_L1CTL)
+ return 0;
+
+ switch (signal) {
+ case S_L1CTL_PM_RES:
+ mr = signal_data;
+ index = mr->band_arfcn & 0x3ff;
+ pm[index].flags |= INFO_FLG_PM;
+ pm[index].rxlev = mr->rx_lev - 110;
+ if (pm[index].rxlev >= min_rxlev)
+ sync_count++;
+// printf("rxlev %d = %d (sync_count %d)\n", index, pm[index].rxlev, sync_count);
+ break;
+ case S_L1CTL_PM_DONE:
+ pm_index++;
+ start_pm();
+ break;
+ case S_L1CTL_FBSB_RESP:
+ fr = signal_data;
+ sysinfo.bsic = fr->bsic;
+ state = SCAN_STATE_READ;
+ memset(&ms->meas, 0, sizeof(ms->meas));
+ memset(&log_si, 0, sizeof(log_si));
+ log_si.flags |= INFO_FLG_SYNC;
+ log_si.ta = 0xff; /* invalid */
+ start_timer(READ_WAIT);
+ LOGP(DRR, LOGL_INFO, "Synchronized, start reading\n");
+ break;
+ case S_L1CTL_FBSB_ERR:
+ LOGP(DRR, LOGL_INFO, "Sync failed\n");
+ start_sync();
+ break;
+ case S_L1CTL_RESET:
+ if (started)
+ break;
+ started = 1;
+ memset(pm, 0, sizeof(pm));
+ pm_index = 0;
+ sync_count = 0;
+ start_pm();
+ }
+ return 0;
+}
+
+static int ta_result(uint8_t ta)
+{
+ stop_timer();
+
+ if (ta == 0xff)
+ LOGP(DSUM, LOGL_INFO, "Got assignment reject\n");
+ else {
+ LOGP(DSUM, LOGL_DEBUG, "Got assignment TA = %d\n", ta);
+ log_si.ta = ta;
+ }
+
+ log_sysinfo();
+ start_sync();
+
+ return 0;
+}
+
+/* match request reference agains request */
+static int match_ra(struct osmocom_ms *ms, struct gsm48_req_ref *ref)
+{
+ uint8_t ia_t1, ia_t2, ia_t3;
+
+ /* filter confirmed RACH requests only */
+ if (rach_ref.valid && ref->ra == rach_ref.cr) {
+ ia_t1 = ref->t1;
+ ia_t2 = ref->t2;
+ ia_t3 = (ref->t3_high << 3) | ref->t3_low;
+ if (ia_t1 == rach_ref.t1 && ia_t2 == rach_ref.t2
+ && ia_t3 == rach_ref.t3) {
+ LOGP(DRR, LOGL_INFO, "request %02x matches "
+ "(fn=%d,%d,%d)\n", ref->ra, ia_t1, ia_t2,
+ ia_t3);
+ return 1;
+ } else
+ LOGP(DRR, LOGL_INFO, "request %02x matches but not "
+ "frame number (IMM.ASS fn=%d,%d,%d != RACH "
+ "fn=%d,%d,%d)\n", ref->ra, ia_t1, ia_t2, ia_t3,
+ rach_ref.t1, rach_ref.t2, rach_ref.t3);
+ }
+
+ return 0;
+}
+
+/* 9.1.18 IMMEDIATE ASSIGNMENT is received */
+static int imm_ass(struct osmocom_ms *ms, struct msgb *msg)
+{
+ struct gsm48_imm_ass *ia = msgb_l3(msg);
+
+ LOGP(DRR, LOGL_INFO, "IMMEDIATE ASSIGNMENT:\n");
+
+ if (state != SCAN_STATE_RACH) {
+ LOGP(DRR, LOGL_INFO, "Not for us, no request.\n");
+ return 0;
+ }
+
+ /* request ref */
+ if (match_ra(ms, &ia->req_ref)) {
+ return ta_result(ia->timing_advance);
+ }
+ LOGP(DRR, LOGL_INFO, "Request, but not for us.\n");
+
+ return 0;
+}
+
+/* 9.1.19 IMMEDIATE ASSIGNMENT EXTENDED is received */
+static int imm_ass_ext(struct osmocom_ms *ms, struct msgb *msg)
+{
+ struct gsm48_imm_ass_ext *ia = msgb_l3(msg);
+
+ LOGP(DRR, LOGL_INFO, "IMMEDIATE ASSIGNMENT EXTENDED:\n");
+
+ if (state != SCAN_STATE_RACH) {
+ LOGP(DRR, LOGL_INFO, "Not for us, no request.\n");
+ return 0;
+ }
+
+ /* request ref 1 */
+ if (match_ra(ms, &ia->req_ref1)) {
+ return ta_result(ia->timing_advance1);
+ }
+ /* request ref 2 */
+ if (match_ra(ms, &ia->req_ref2)) {
+ return ta_result(ia->timing_advance2);
+ }
+ LOGP(DRR, LOGL_INFO, "Request, but not for us.\n");
+
+ return 0;
+}
+
+/* 9.1.20 IMMEDIATE ASSIGNMENT REJECT is received */
+static int imm_ass_rej(struct osmocom_ms *ms, struct msgb *msg)
+{
+ struct gsm48_imm_ass_rej *ia = msgb_l3(msg);
+ int i;
+ struct gsm48_req_ref *req_ref;
+
+ LOGP(DRR, LOGL_INFO, "IMMEDIATE ASSIGNMENT REJECT:\n");
+
+ if (state != SCAN_STATE_RACH) {
+ LOGP(DRR, LOGL_INFO, "Not for us, no request.\n");
+ return 0;
+ }
+
+ for (i = 0; i < 4; i++) {
+ /* request reference */
+ req_ref = (struct gsm48_req_ref *)
+ (((uint8_t *)&ia->req_ref1) + i * 4);
+ LOGP(DRR, LOGL_INFO, "IMMEDIATE ASSIGNMENT REJECT "
+ "(ref 0x%02x)\n", req_ref->ra);
+ if (match_ra(ms, req_ref)) {
+ return ta_result(0xff);
+ }
+ }
+
+ return 0;
+}
+
+/* receive CCCH at RR layer */
+static int pch_agch(struct osmocom_ms *ms, struct msgb *msg)
+{
+ struct gsm48_system_information_type_header *sih = msgb_l3(msg);
+
+ switch (sih->system_information) {
+ case GSM48_MT_RR_PAG_REQ_1:
+ case GSM48_MT_RR_PAG_REQ_2:
+ case GSM48_MT_RR_PAG_REQ_3:
+ return 0;
+ case GSM48_MT_RR_IMM_ASS:
+ return imm_ass(ms, msg);
+ case GSM48_MT_RR_IMM_ASS_EXT:
+ return imm_ass_ext(ms, msg);
+ case GSM48_MT_RR_IMM_ASS_REJ:
+ return imm_ass_rej(ms, msg);
+ default:
+ return -EINVAL;
+ }
+}
+
+/* check if sysinfo is complete, change to RACH state */
+static int new_sysinfo(void)
+{
+ struct gsm48_sysinfo *s = &sysinfo;
+
+ /* restart timer */
+ start_timer(READ_WAIT);
+
+ /* mandatory */
+ if (!s->si1 || !s->si2 || !s->si3 || !s->si4) {
+ LOGP(DRR, LOGL_INFO, "not all mandatory SI received\n");
+ return 0;
+ }
+
+ /* extended band */
+ if (s->nb_ext_ind_si2 && !s->si2bis) {
+ LOGP(DRR, LOGL_INFO, "extended ba, but si2bis not received\n");
+ return 0;
+ }
+
+ /* 2ter */
+ if (s->si2ter_ind && !s->si2ter) {
+ LOGP(DRR, LOGL_INFO, "si2ter_ind, but si2ter not received\n");
+ return 0;
+ }
+
+ LOGP(DRR, LOGL_INFO, "Sysinfo complete\n");
+
+ stop_timer();
+
+ rach_count = 0;
+ start_rach();
+
+ return 0;
+}
+
+/* receive BCCH at RR layer */
+static int bcch(struct osmocom_ms *ms, struct msgb *msg)
+{
+ struct gsm48_sysinfo *s = &sysinfo;
+ struct gsm48_system_information_type_header *sih = msgb_l3(msg);
+ uint8_t ccch_mode;
+
+ if (msgb_l3len(msg) != 23) {
+ LOGP(DRR, LOGL_NOTICE, "Invalid BCCH message length\n");
+ return -EINVAL;
+ }
+ switch (sih->system_information) {
+ case GSM48_MT_RR_SYSINFO_1:
+ if (!memcmp(sih, s->si1_msg, sizeof(s->si1_msg)))
+ return 0;
+ LOGP(DRR, LOGL_INFO, "New SYSTEM INFORMATION 1\n");
+ gsm48_decode_sysinfo1(s,
+ (struct gsm48_system_information_type_1 *) sih,
+ msgb_l3len(msg));
+ return new_sysinfo();
+ case GSM48_MT_RR_SYSINFO_2:
+ if (!memcmp(sih, s->si2_msg, sizeof(s->si2_msg)))
+ return 0;
+ LOGP(DRR, LOGL_INFO, "New SYSTEM INFORMATION 2\n");
+ gsm48_decode_sysinfo2(s,
+ (struct gsm48_system_information_type_2 *) sih,
+ msgb_l3len(msg));
+ return new_sysinfo();
+ case GSM48_MT_RR_SYSINFO_2bis:
+ if (!memcmp(sih, s->si2b_msg, sizeof(s->si2b_msg)))
+ return 0;
+ LOGP(DRR, LOGL_INFO, "New SYSTEM INFORMATION 2bis\n");
+ gsm48_decode_sysinfo2bis(s,
+ (struct gsm48_system_information_type_2bis *) sih,
+ msgb_l3len(msg));
+ return new_sysinfo();
+ case GSM48_MT_RR_SYSINFO_2ter:
+ if (!memcmp(sih, s->si2t_msg, sizeof(s->si2t_msg)))
+ return 0;
+ LOGP(DRR, LOGL_INFO, "New SYSTEM INFORMATION 2ter\n");
+ gsm48_decode_sysinfo2ter(s,
+ (struct gsm48_system_information_type_2ter *) sih,
+ msgb_l3len(msg));
+ return new_sysinfo();
+ case GSM48_MT_RR_SYSINFO_3:
+ if (!memcmp(sih, s->si3_msg, sizeof(s->si3_msg)))
+ return 0;
+ LOGP(DRR, LOGL_INFO, "New SYSTEM INFORMATION 3\n");
+ gsm48_decode_sysinfo3(s,
+ (struct gsm48_system_information_type_3 *) sih,
+ msgb_l3len(msg));
+ ccch_mode = (s->ccch_conf == 1) ? CCCH_MODE_COMBINED :
+ CCCH_MODE_NON_COMBINED;
+ LOGP(DRR, LOGL_INFO, "Changing CCCH_MODE to %d\n", ccch_mode);
+ l1ctl_tx_ccch_mode_req(ms, ccch_mode);
+ return new_sysinfo();
+ case GSM48_MT_RR_SYSINFO_4:
+ if (!memcmp(sih, s->si4_msg, sizeof(s->si4_msg)))
+ return 0;
+ LOGP(DRR, LOGL_INFO, "New SYSTEM INFORMATION 4\n");
+ gsm48_decode_sysinfo4(s,
+ (struct gsm48_system_information_type_4 *) sih,
+ msgb_l3len(msg));
+ return new_sysinfo();
+ default:
+ return -EINVAL;
+ }
+}
+
+static int unit_data_ind(struct osmocom_ms *ms, struct msgb *msg)
+{
+ struct abis_rsl_rll_hdr *rllh = msgb_l2(msg);
+ struct tlv_parsed tv;
+ uint8_t ch_type, ch_subch, ch_ts;
+
+ DEBUGP(DRSL, "RSLms UNIT DATA IND chan_nr=0x%02x link_id=0x%02x\n",
+ rllh->chan_nr, rllh->link_id);
+
+ rsl_tlv_parse(&tv, rllh->data, msgb_l2len(msg)-sizeof(*rllh));
+ if (!TLVP_PRESENT(&tv, RSL_IE_L3_INFO)) {
+ DEBUGP(DRSL, "UNIT_DATA_IND without L3 INFO ?!?\n");
+ return -EIO;
+ }
+ msg->l3h = (uint8_t *) TLVP_VAL(&tv, RSL_IE_L3_INFO);
+
+ if (state != SCAN_STATE_READ && state != SCAN_STATE_RACH) {
+ return -EINVAL;
+ }
+
+ rsl_dec_chan_nr(rllh->chan_nr, &ch_type, &ch_subch, &ch_ts);
+ switch (ch_type) {
+ case RSL_CHAN_PCH_AGCH:
+ return pch_agch(ms, msg);
+ case RSL_CHAN_BCCH:
+ return bcch(ms, msg);
+#if 0
+ case RSL_CHAN_Bm_ACCHs:
+ case RSL_CHAN_Lm_ACCHs:
+ case RSL_CHAN_SDCCH4_ACCH:
+ case RSL_CHAN_SDCCH8_ACCH:
+ return rx_acch(ms, msg);
+#endif
+ default:
+ LOGP(DRSL, LOGL_NOTICE, "RSL with chan_nr 0x%02x unknown.\n",
+ rllh->chan_nr);
+ return -EINVAL;
+ }
+}
+
+static int rcv_rll(struct osmocom_ms *ms, struct msgb *msg)
+{
+ struct abis_rsl_rll_hdr *rllh = msgb_l2(msg);
+ int msg_type = rllh->c.msg_type;
+
+ if (msg_type == RSL_MT_UNIT_DATA_IND) {
+ unit_data_ind(ms, msg);
+ } else
+ LOGP(DRSL, LOGL_NOTICE, "RSLms message unhandled\n");
+
+ msgb_free(msg);
+
+ return 0;
+}
+
+int chan_conf(struct osmocom_ms *ms, struct msgb *msg)
+{
+ struct abis_rsl_cchan_hdr *ch = msgb_l2(msg);
+ struct gsm48_req_ref *ref = (struct gsm48_req_ref *) (ch->data + 1);
+
+ if (msgb_l2len(msg) < sizeof(*ch) + sizeof(*ref)) {
+ LOGP(DRR, LOGL_ERROR, "CHAN_CNF too slort\n");
+ return -EINVAL;
+ }
+
+ rach_ref.valid = 1;
+ rach_ref.t1 = ref->t1;
+ rach_ref.t2 = ref->t2;
+ rach_ref.t3 = ref->t3_low | (ref->t3_high << 3);
+
+ return 0;
+}
+
+static int rcv_cch(struct osmocom_ms *ms, struct msgb *msg)
+{
+ struct abis_rsl_cchan_hdr *ch = msgb_l2(msg);
+ int msg_type = ch->c.msg_type;
+ int rc;
+
+ LOGP(DRSL, LOGL_INFO, "Received '%s' from layer1\n",
+ rsl_msg_name(msg_type));
+
+ if (state == SCAN_STATE_RACH && msg_type == RSL_MT_CHAN_CONF) {
+ rc = chan_conf(ms, msg);
+ msgb_free(msg);
+ return rc;
+ }
+
+ LOGP(DRSL, LOGL_NOTICE, "RSLms message unhandled\n");
+ msgb_free(msg);
+ return 0;
+}
+
+static int rcv_rsl(struct msgb *msg, struct lapdm_entity *le, void *l3ctx)
+{
+ struct osmocom_ms *ms = l3ctx;
+ struct abis_rsl_common_hdr *rslh = msgb_l2(msg);
+ int rc = 0;
+
+ switch (rslh->msg_discr & 0xfe) {
+ case ABIS_RSL_MDISC_RLL:
+ rc = rcv_rll(ms, msg);
+ break;
+ case ABIS_RSL_MDISC_COM_CHAN:
+ rc = rcv_cch(ms, msg);
+ break;
+ default:
+ LOGP(DRSL, LOGL_NOTICE, "unknown RSLms msg_discr 0x%02x\n",
+ rslh->msg_discr);
+ msgb_free(msg);
+ rc = -EINVAL;
+ break;
+ }
+
+ return rc;
+}
+
+int scan_init(struct osmocom_ms *_ms)
+{
+ ms = _ms;
+ osmo_signal_register_handler(SS_L1CTL, &signal_cb, NULL);
+ memset(&timer, 0, sizeof(timer));
+ lapdm_channel_set_l3(&ms->lapdm_channel, &rcv_rsl, ms);
+ g.enable = 1;
+ osmo_gps_init();
+ if (osmo_gps_open())
+ g.enable = 0;
+
+ if (!strcmp(logname, "-"))
+ logfp = stdout;
+ else
+ logfp = fopen(logname, "a");
+ if (!logfp) {
+ fprintf(stderr, "Failed to open logfile '%s'\n", logname);
+ scan_exit();
+ return -errno;
+ }
+ LOGP(DSUM, LOGL_INFO, "Scanner initialized\n");
+
+ return 0;
+}
+
+int scan_exit(void)
+{
+ LOGP(DSUM, LOGL_INFO, "Scanner exit\n");
+ if (g.valid)
+ osmo_gps_close();
+ if (logfp)
+ fclose(logfp);
+ osmo_signal_unregister_handler(SS_L1CTL, &signal_cb, NULL);
+ stop_timer();
+
+ return 0;
+}
diff --git a/Src/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c9/f0b573ecfa6100111a83ded3e22caa93 b/Src/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c9/f0b573ecfa6100111a83ded3e22caa93
new file mode 100644
index 0000000..00ed944
--- /dev/null
+++ b/Src/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/c9/f0b573ecfa6100111a83ded3e22caa93
@@ -0,0 +1,824 @@
+/* Cell Scanning code for OsmocomBB */
+
+/* (C) 2010 by Andreas Eversberg <jolly@eversberg.eu>
+ *
+ * All Rights Reserved
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 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 General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ */
+
+#include <stdio.h>
+#include <stdint.h>
+#include <string.h>
+#include <stdlib.h>
+#include <time.h>
+#include <errno.h>
+
+#include <l1ctl_proto.h>
+
+#include <osmocom/core/logging.h>
+#include <osmocom/core/timer.h>
+#include <osmocom/core/signal.h>
+#include <osmocom/core/msgb.h>
+#include <osmocom/gsm/gsm_utils.h>
+#include <osmocom/gsm/protocol/gsm_04_08.h>
+#include <osmocom/gsm/rsl.h>
+
+#include <osmocom/bb/common/l1ctl.h>
+#include <osmocom/bb/common/osmocom_data.h>
+#include <osmocom/bb/common/lapdm.h>
+#include <osmocom/bb/common/logging.h>
+#include <osmocom/bb/common/networks.h>
+#include <osmocom/bb/common/gps.h>
+#include <osmocom/bb/misc/cell_log.h>
+#include "../../../gsmmap/geo.h"
+
+#define READ_WAIT 2, 0
+#define RACH_WAIT 0, 900000
+#define MIN_RXLEV -106
+#define MAX_DIST 2000
+
+enum {
+ SCAN_STATE_PM,
+ SCAN_STATE_SYNC,
+ SCAN_STATE_READ,
+ SCAN_STATE_RACH,
+};
+
+/* ranges of bands */
+static uint16_t band_range[][2] = {{0, 124}, {512, 885}, {955, 1023}, {0, 0}};
+
+#define INFO_FLG_PM 1
+#define INFO_FLG_SYNC 2
+#define INFO_FLG_SI1 4
+#define INFO_FLG_SI2 8
+#define INFO_FLG_SI2bis 16
+#define INFO_FLG_SI2ter 32
+#define INFO_FLG_SI3 64
+#define INFO_FLG_SI4 128
+
+static struct osmocom_ms *ms;
+static struct osmo_timer_list timer;
+
+static struct pm_info {
+ uint16_t flags;
+ int8_t rxlev;
+} pm[1024];
+
+static int started = 0;
+static int state;
+static int8_t min_rxlev = MIN_RXLEV;
+static int sync_count;
+static int pm_index, pm_gps_valid;
+static double pm_gps_x, pm_gps_y, pm_gps_z;
+static int arfcn;
+static int rach_count;
+static FILE *logfp = NULL;
+extern char *logname;
+extern int RACH_MAX;
+
+
+static struct gsm48_sysinfo sysinfo;
+
+static struct log_si {
+ uint16_t flags;
+ uint8_t bsic;
+ int8_t rxlev;
+ uint16_t mcc, mnc, lac, cellid;
+ uint8_t ta;
+ double latitude, longitude;
+} log_si;
+
+struct rach_ref {
+ uint8_t valid;
+ uint8_t cr;
+ uint8_t t1, t2, t3;
+} rach_ref;
+
+#define LOGFILE(fmt, args...) \
+ fprintf(logfp, fmt, ## args);
+#define LOGFLUSH() \
+ fflush(logfp);
+
+static void start_sync(void);
+static void start_rach(void);
+static void start_pm(void);
+
+static void log_gps(void)
+{
+ if (!g.enable || !g.valid)
+ return;
+ LOGFILE("position %.8f %.8f\n", g.longitude, g.latitude);
+}
+
+static void log_time(void)
+{
+ time_t now;
+
+ if (g.enable && g.valid)
+ now = g.gmt;
+ else
+ time(&now);
+ LOGFILE("time %lu\n", now);
+}
+
+static void log_frame(char *tag, uint8_t *data)
+{
+ int i;
+
+ LOGFILE("%s", tag);
+ for (i = 0; i < 23; i++)
+ LOGFILE(" %02x", *data++);
+ LOGFILE("\n");
+}
+
+static void log_pm(void)
+{
+ int count = 0, i;
+
+ LOGFILE("[power]\n");
+ log_time();
+ log_gps();
+ for (i = 0; i <= 1023; i++) {
+ if ((pm[i].flags & INFO_FLG_PM)) {
+ if (!count)
+ LOGFILE("arfcn %d", i);
+ LOGFILE(" %d", pm[i].rxlev);
+ count++;
+ if (count == 12) {
+ LOGFILE("\n");
+ count = 0;
+ }
+ } else {
+ if (count) {
+ LOGFILE("\n");
+ count = 0;
+ }
+ }
+ }
+ if (count)
+ LOGFILE("\n");
+
+ LOGFILE("\n");
+ LOGFLUSH();
+}
+
+static void log_sysinfo(void)
+{
+ struct rx_meas_stat *meas = &ms->meas;
+ struct gsm48_sysinfo *s = &sysinfo;
+ int8_t rxlev;
+ char ta_str[32] = "";
+
+ if (log_si.ta != 0xff)
+ sprintf(ta_str, " TA=%d", log_si.ta);
+
+ //LOGP(DSUM, LOGL_INFO, "Cell: ARFCN=%d MCC=%s MNC=%s (%s, %s)%s\n",
+ // arfcn, gsm_print_mcc(s->mcc), gsm_print_mnc(s->mnc),
+ // gsm_get_mcc(s->mcc), gsm_get_mnc(s->mcc, s->mnc), ta_str);
+
+ LOGFILE("[SysInfo]\n");
+ LOGFILE("country %s\n", gsm_get_mcc(s->mcc))
+ LOGFILE("provider %s\n", gsm_get_mnc(s->mcc, s->mnc))
+ LOGFILE("arfcn %d\n", s->arfcn);
+ //log_time();
+ //log_gps();
+ //LOGFILE("bsic %d,%d\n", s->bsic >> 3, s->bsic & 7);
+ rxlev = meas->rxlev / meas->frames - 110;
+ LOGFILE("rxlev %d\n", rxlev);
+ //if (s->si1)
+ // log_frame("si1", s->si1_msg);
+ if (s->si2)
+ log_frame("si2", s->si2_msg);
+ if (s->si2bis)
+ log_frame("si2bis", s->si2b_msg);
+ if (s->si2ter)
+ log_frame("si2ter", s->si2t_msg);
+ //if (s->si3)
+ // log_frame("si3", s->si3_msg);
+ //if (s->si4)
+ // log_frame("si4", s->si4_msg);
+ //if (log_si.ta != 0xff)
+ // LOGFILE("ta %d\n", log_si.ta);
+
+ LOGFILE("[EndInfo]\n");
+ LOGFILE("\n");
+ LOGFLUSH();
+}
+
+static void timeout_cb(void *arg)
+{
+ switch (state) {
+ case SCAN_STATE_READ:
+ LOGP(DRR, LOGL_INFO, "Timeout reading BCCH\n");
+ start_sync();
+ break;
+ case SCAN_STATE_RACH:
+ LOGP(DRR, LOGL_INFO, "Timeout on RACH\n");
+ rach_count++;
+ start_rach();
+ break;
+ }
+}
+
+static void stop_timer(void)
+{
+ if (osmo_timer_pending(&timer))
+ osmo_timer_del(&timer);
+}
+
+static void start_timer(int sec, int micro)
+{
+ stop_timer();
+ timer.cb = timeout_cb;
+ timer.data = ms;
+ osmo_timer_schedule(&timer, sec, micro);
+}
+
+static void start_rach(void)
+{
+ struct gsm48_sysinfo *s = &sysinfo;
+ uint8_t chan_req_val, chan_req_mask;
+ struct msgb *nmsg;
+ struct abis_rsl_cchan_hdr *ncch;
+
+ if (rach_count == RACH_MAX) {
+ log_sysinfo();
+ start_sync();
+ return;
+ }
+
+ state = SCAN_STATE_RACH;
+
+ if (s->neci) {
+ chan_req_mask = 0x0f;
+ chan_req_val = 0x01;
+ LOGP(DRR, LOGL_INFO, "CHANNEL REQUEST: %02x "
+ "(OTHER with NECI)\n", chan_req_val);
+ } else {
+ chan_req_mask = 0x1f;
+ chan_req_val = 0xe0;
+ LOGP(DRR, LOGL_INFO, "CHANNEL REQUEST: %02x (OTHER no NECI)\n",
+ chan_req_val);
+ }
+
+ rach_ref.valid = 0;
+ rach_ref.cr = random();
+ rach_ref.cr &= chan_req_mask;
+ rach_ref.cr |= chan_req_val;
+
+ nmsg = msgb_alloc_headroom(RSL_ALLOC_SIZE+RSL_ALLOC_HEADROOM,
+ RSL_ALLOC_HEADROOM, "GSM 04.06 RSL");
+ if (!nmsg)
+ return;
+ nmsg->l2h = nmsg->data;
+ ncch = (struct abis_rsl_cchan_hdr *) msgb_put(nmsg, sizeof(*ncch)
+ + 4 + 2 + 2);
+ rsl_init_cchan_hdr(ncch, RSL_MT_CHAN_RQD);
+ ncch->chan_nr = RSL_CHAN_RACH;
+ ncch->data[0] = RSL_IE_REQ_REFERENCE;
+ ncch->data[1] = rach_ref.cr;
+ ncch->data[2] = (s->ccch_conf == 1) << 7;
+ ncch->data[3] = 0;
+ ncch->data[4] = RSL_IE_ACCESS_DELAY;
+ ncch->data[5] = 0; /* no delay */
+ ncch->data[6] = RSL_IE_MS_POWER;
+ ncch->data[7] = 0; /* full power */
+
+ start_timer(RACH_WAIT);
+
+ lapdm_rslms_recvmsg(nmsg, &ms->lapdm_channel);
+}
+
+static void start_sync(void)
+{
+ int rxlev = -128;
+ int i, dist = 0;
+ char dist_str[32] = "";
+
+ arfcn = 0xffff;
+ for (i = 0; i <= 1023; i++) {
+ if ((pm[i].flags & INFO_FLG_PM)
+ && !(pm[i].flags & INFO_FLG_SYNC)) {
+ if (pm[i].rxlev > rxlev) {
+ rxlev = pm[i].rxlev;
+ arfcn = i;
+ }
+ }
+ }
+ /* if GPS becomes valid, like after exitting a tunnel */
+ if (!pm_gps_valid && g.valid) {
+ pm_gps_valid = 1;
+ geo2space(&pm_gps_x, &pm_gps_y, &pm_gps_z, g.longitude,
+ g.latitude);
+ }
+ if (pm_gps_valid && g.valid) {
+ double x, y, z;
+
+ geo2space(&x, &y, &z, g.longitude, g.latitude);
+ dist = distinspace(pm_gps_x, pm_gps_y, pm_gps_z, x, y, z);
+ sprintf(dist_str, " dist %d", (int)dist);
+ }
+ if (dist > MAX_DIST || arfcn == 0xffff || rxlev < min_rxlev) {
+ memset(pm, 0, sizeof(pm));
+ pm_index = 0;
+ sync_count = 0;
+ start_pm();
+ return;
+ }
+ pm[arfcn].flags |= INFO_FLG_SYNC;
+ //HACK: no use for us right now
+ LOGP(DSUM, LOGL_INFO, "Sync ARFCN %d (rxlev %d, %d syncs "
+ "left)%s\n", arfcn, pm[arfcn].rxlev, sync_count--, dist_str);
+ memset(&sysinfo, 0, sizeof(sysinfo));
+ sysinfo.arfcn = arfcn;
+ state = SCAN_STATE_SYNC;
+ l1ctl_tx_reset_req(ms, L1CTL_RES_T_FULL);
+ l1ctl_tx_fbsb_req(ms, arfcn, L1CTL_FBSB_F_FB01SB, 100, 0,
+ CCCH_MODE_NONE);
+}
+
+static void start_pm(void)
+{
+ uint16_t from, to;
+
+ state = SCAN_STATE_PM;
+ from = band_range[pm_index][0];
+ to = band_range[pm_index][1];
+
+ if (from == 0 && to == 0) {
+ LOGP(DSUM, LOGL_INFO, "Measurement done\n");
+ pm_gps_valid = g.enable && g.valid;
+ if (pm_gps_valid)
+ geo2space(&pm_gps_x, &pm_gps_y, &pm_gps_z,
+ g.longitude, g.latitude);
+ log_pm();
+ start_sync();
+ return;
+ }
+ LOGP(DSUM, LOGL_INFO, "Measure from %d to %d\n", from, to);
+ l1ctl_tx_reset_req(ms, L1CTL_RES_T_FULL);
+ l1ctl_tx_pm_req_range(ms, from, to);
+}
+
+static int signal_cb(unsigned int subsys, unsigned int signal,
+ void *handler_data, void *signal_data)
+{
+ struct osmobb_meas_res *mr;
+ struct osmobb_fbsb_res *fr;
+ uint16_t index;
+
+ if (subsys != SS_L1CTL)
+ return 0;
+
+ switch (signal) {
+ case S_L1CTL_PM_RES:
+ mr = signal_data;
+ index = mr->band_arfcn & 0x3ff;
+ pm[index].flags |= INFO_FLG_PM;
+ pm[index].rxlev = mr->rx_lev - 110;
+ if (pm[index].rxlev >= min_rxlev)
+ sync_count++;
+// printf("rxlev %d = %d (sync_count %d)\n", index, pm[index].rxlev, sync_count);
+ break;
+ case S_L1CTL_PM_DONE:
+ pm_index++;
+ start_pm();
+ break;
+ case S_L1CTL_FBSB_RESP:
+ fr = signal_data;
+ sysinfo.bsic = fr->bsic;
+ state = SCAN_STATE_READ;
+ memset(&ms->meas, 0, sizeof(ms->meas));
+ memset(&log_si, 0, sizeof(log_si));
+ log_si.flags |= INFO_FLG_SYNC;
+ log_si.ta = 0xff; /* invalid */
+ start_timer(READ_WAIT);
+ LOGP(DRR, LOGL_INFO, "Synchronized, start reading\n");
+ break;
+ case S_L1CTL_FBSB_ERR:
+ LOGP(DRR, LOGL_INFO, "Sync failed\n");
+ start_sync();
+ break;
+ case S_L1CTL_RESET:
+ if (started)
+ break;
+ started = 1;
+ memset(pm, 0, sizeof(pm));
+ pm_index = 0;
+ sync_count = 0;
+ start_pm();
+ }
+ return 0;
+}
+
+static int ta_result(uint8_t ta)
+{
+ stop_timer();
+
+ if (ta == 0xff)
+ LOGP(DSUM, LOGL_INFO, "Got assignment reject\n");
+ else {
+ LOGP(DSUM, LOGL_DEBUG, "Got assignment TA = %d\n", ta);
+ log_si.ta = ta;
+ }
+
+ log_sysinfo();
+ start_sync();
+
+ return 0;
+}
+
+/* match request reference agains request */
+static int match_ra(struct osmocom_ms *ms, struct gsm48_req_ref *ref)
+{
+ uint8_t ia_t1, ia_t2, ia_t3;
+
+ /* filter confirmed RACH requests only */
+ if (rach_ref.valid && ref->ra == rach_ref.cr) {
+ ia_t1 = ref->t1;
+ ia_t2 = ref->t2;
+ ia_t3 = (ref->t3_high << 3) | ref->t3_low;
+ if (ia_t1 == rach_ref.t1 && ia_t2 == rach_ref.t2
+ && ia_t3 == rach_ref.t3) {
+ LOGP(DRR, LOGL_INFO, "request %02x matches "
+ "(fn=%d,%d,%d)\n", ref->ra, ia_t1, ia_t2,
+ ia_t3);
+ return 1;
+ } else
+ LOGP(DRR, LOGL_INFO, "request %02x matches but not "
+ "frame number (IMM.ASS fn=%d,%d,%d != RACH "
+ "fn=%d,%d,%d)\n", ref->ra, ia_t1, ia_t2, ia_t3,
+ rach_ref.t1, rach_ref.t2, rach_ref.t3);
+ }
+
+ return 0;
+}
+
+/* 9.1.18 IMMEDIATE ASSIGNMENT is received */
+static int imm_ass(struct osmocom_ms *ms, struct msgb *msg)
+{
+ struct gsm48_imm_ass *ia = msgb_l3(msg);
+
+ LOGP(DRR, LOGL_INFO, "IMMEDIATE ASSIGNMENT:\n");
+
+ if (state != SCAN_STATE_RACH) {
+ LOGP(DRR, LOGL_INFO, "Not for us, no request.\n");
+ return 0;
+ }
+
+ /* request ref */
+ if (match_ra(ms, &ia->req_ref)) {
+ return ta_result(ia->timing_advance);
+ }
+ LOGP(DRR, LOGL_INFO, "Request, but not for us.\n");
+
+ return 0;
+}
+
+/* 9.1.19 IMMEDIATE ASSIGNMENT EXTENDED is received */
+static int imm_ass_ext(struct osmocom_ms *ms, struct msgb *msg)
+{
+ struct gsm48_imm_ass_ext *ia = msgb_l3(msg);
+
+ LOGP(DRR, LOGL_INFO, "IMMEDIATE ASSIGNMENT EXTENDED:\n");
+
+ if (state != SCAN_STATE_RACH) {
+ LOGP(DRR, LOGL_INFO, "Not for us, no request.\n");
+ return 0;
+ }
+
+ /* request ref 1 */
+ if (match_ra(ms, &ia->req_ref1)) {
+ return ta_result(ia->timing_advance1);
+ }
+ /* request ref 2 */
+ if (match_ra(ms, &ia->req_ref2)) {
+ return ta_result(ia->timing_advance2);
+ }
+ LOGP(DRR, LOGL_INFO, "Request, but not for us.\n");
+
+ return 0;
+}
+
+/* 9.1.20 IMMEDIATE ASSIGNMENT REJECT is received */
+static int imm_ass_rej(struct osmocom_ms *ms, struct msgb *msg)
+{
+ struct gsm48_imm_ass_rej *ia = msgb_l3(msg);
+ int i;
+ struct gsm48_req_ref *req_ref;
+
+ LOGP(DRR, LOGL_INFO, "IMMEDIATE ASSIGNMENT REJECT:\n");
+
+ if (state != SCAN_STATE_RACH) {
+ LOGP(DRR, LOGL_INFO, "Not for us, no request.\n");
+ return 0;
+ }
+
+ for (i = 0; i < 4; i++) {
+ /* request reference */
+ req_ref = (struct gsm48_req_ref *)
+ (((uint8_t *)&ia->req_ref1) + i * 4);
+ LOGP(DRR, LOGL_INFO, "IMMEDIATE ASSIGNMENT REJECT "
+ "(ref 0x%02x)\n", req_ref->ra);
+ if (match_ra(ms, req_ref)) {
+ return ta_result(0xff);
+ }
+ }
+
+ return 0;
+}
+
+/* receive CCCH at RR layer */
+static int pch_agch(struct osmocom_ms *ms, struct msgb *msg)
+{
+ struct gsm48_system_information_type_header *sih = msgb_l3(msg);
+
+ switch (sih->system_information) {
+ case GSM48_MT_RR_PAG_REQ_1:
+ case GSM48_MT_RR_PAG_REQ_2:
+ case GSM48_MT_RR_PAG_REQ_3:
+ return 0;
+ case GSM48_MT_RR_IMM_ASS:
+ return imm_ass(ms, msg);
+ case GSM48_MT_RR_IMM_ASS_EXT:
+ return imm_ass_ext(ms, msg);
+ case GSM48_MT_RR_IMM_ASS_REJ:
+ return imm_ass_rej(ms, msg);
+ default:
+ return -EINVAL;
+ }
+}
+
+/* check if sysinfo is complete, change to RACH state */
+static int new_sysinfo(void)
+{
+ struct gsm48_sysinfo *s = &sysinfo;
+
+ /* restart timer */
+ start_timer(READ_WAIT);
+
+ /* mandatory */
+ if (!s->si1 || !s->si2 || !s->si3 || !s->si4) {
+ LOGP(DRR, LOGL_INFO, "not all mandatory SI received\n");
+ return 0;
+ }
+
+ /* extended band */
+ if (s->nb_ext_ind_si2 && !s->si2bis) {
+ LOGP(DRR, LOGL_INFO, "extended ba, but si2bis not received\n");
+ return 0;
+ }
+
+ /* 2ter */
+ if (s->si2ter_ind && !s->si2ter) {
+ LOGP(DRR, LOGL_INFO, "si2ter_ind, but si2ter not received\n");
+ return 0;
+ }
+
+ LOGP(DRR, LOGL_INFO, "Sysinfo complete\n");
+
+ stop_timer();
+
+ rach_count = 0;
+ start_rach();
+
+ return 0;
+}
+
+/* receive BCCH at RR layer */
+static int bcch(struct osmocom_ms *ms, struct msgb *msg)
+{
+ struct gsm48_sysinfo *s = &sysinfo;
+ struct gsm48_system_information_type_header *sih = msgb_l3(msg);
+ uint8_t ccch_mode;
+
+ if (msgb_l3len(msg) != 23) {
+ LOGP(DRR, LOGL_NOTICE, "Invalid BCCH message length\n");
+ return -EINVAL;
+ }
+ switch (sih->system_information) {
+ case GSM48_MT_RR_SYSINFO_1:
+ if (!memcmp(sih, s->si1_msg, sizeof(s->si1_msg)))
+ return 0;
+ LOGP(DRR, LOGL_INFO, "New SYSTEM INFORMATION 1\n");
+ gsm48_decode_sysinfo1(s,
+ (struct gsm48_system_information_type_1 *) sih,
+ msgb_l3len(msg));
+ return new_sysinfo();
+ case GSM48_MT_RR_SYSINFO_2:
+ if (!memcmp(sih, s->si2_msg, sizeof(s->si2_msg)))
+ return 0;
+ LOGP(DRR, LOGL_INFO, "New SYSTEM INFORMATION 2\n");
+ gsm48_decode_sysinfo2(s,
+ (struct gsm48_system_information_type_2 *) sih,
+ msgb_l3len(msg));
+ return new_sysinfo();
+ case GSM48_MT_RR_SYSINFO_2bis:
+ if (!memcmp(sih, s->si2b_msg, sizeof(s->si2b_msg)))
+ return 0;
+ LOGP(DRR, LOGL_INFO, "New SYSTEM INFORMATION 2bis\n");
+ gsm48_decode_sysinfo2bis(s,
+ (struct gsm48_system_information_type_2bis *) sih,
+ msgb_l3len(msg));
+ return new_sysinfo();
+ case GSM48_MT_RR_SYSINFO_2ter:
+ if (!memcmp(sih, s->si2t_msg, sizeof(s->si2t_msg)))
+ return 0;
+ LOGP(DRR, LOGL_INFO, "New SYSTEM INFORMATION 2ter\n");
+ gsm48_decode_sysinfo2ter(s,
+ (struct gsm48_system_information_type_2ter *) sih,
+ msgb_l3len(msg));
+ return new_sysinfo();
+ case GSM48_MT_RR_SYSINFO_3:
+ if (!memcmp(sih, s->si3_msg, sizeof(s->si3_msg)))
+ return 0;
+ LOGP(DRR, LOGL_INFO, "New SYSTEM INFORMATION 3\n");
+ gsm48_decode_sysinfo3(s,
+ (struct gsm48_system_information_type_3 *) sih,
+ msgb_l3len(msg));
+ ccch_mode = (s->ccch_conf == 1) ? CCCH_MODE_COMBINED :
+ CCCH_MODE_NON_COMBINED;
+ LOGP(DRR, LOGL_INFO, "Changing CCCH_MODE to %d\n", ccch_mode);
+ l1ctl_tx_ccch_mode_req(ms, ccch_mode);
+ return new_sysinfo();
+ case GSM48_MT_RR_SYSINFO_4:
+ if (!memcmp(sih, s->si4_msg, sizeof(s->si4_msg)))
+ return 0;
+ LOGP(DRR, LOGL_INFO, "New SYSTEM INFORMATION 4\n");
+ gsm48_decode_sysinfo4(s,
+ (struct gsm48_system_information_type_4 *) sih,
+ msgb_l3len(msg));
+ return new_sysinfo();
+ default:
+ return -EINVAL;
+ }
+}
+
+static int unit_data_ind(struct osmocom_ms *ms, struct msgb *msg)
+{
+ struct abis_rsl_rll_hdr *rllh = msgb_l2(msg);
+ struct tlv_parsed tv;
+ uint8_t ch_type, ch_subch, ch_ts;
+
+ DEBUGP(DRSL, "RSLms UNIT DATA IND chan_nr=0x%02x link_id=0x%02x\n",
+ rllh->chan_nr, rllh->link_id);
+
+ rsl_tlv_parse(&tv, rllh->data, msgb_l2len(msg)-sizeof(*rllh));
+ if (!TLVP_PRESENT(&tv, RSL_IE_L3_INFO)) {
+ DEBUGP(DRSL, "UNIT_DATA_IND without L3 INFO ?!?\n");
+ return -EIO;
+ }
+ msg->l3h = (uint8_t *) TLVP_VAL(&tv, RSL_IE_L3_INFO);
+
+ if (state != SCAN_STATE_READ && state != SCAN_STATE_RACH) {
+ return -EINVAL;
+ }
+
+ rsl_dec_chan_nr(rllh->chan_nr, &ch_type, &ch_subch, &ch_ts);
+ switch (ch_type) {
+ case RSL_CHAN_PCH_AGCH:
+ return pch_agch(ms, msg);
+ case RSL_CHAN_BCCH:
+ return bcch(ms, msg);
+#if 0
+ case RSL_CHAN_Bm_ACCHs:
+ case RSL_CHAN_Lm_ACCHs:
+ case RSL_CHAN_SDCCH4_ACCH:
+ case RSL_CHAN_SDCCH8_ACCH:
+ return rx_acch(ms, msg);
+#endif
+ default:
+ LOGP(DRSL, LOGL_NOTICE, "RSL with chan_nr 0x%02x unknown.\n",
+ rllh->chan_nr);
+ return -EINVAL;
+ }
+}
+
+static int rcv_rll(struct osmocom_ms *ms, struct msgb *msg)
+{
+ struct abis_rsl_rll_hdr *rllh = msgb_l2(msg);
+ int msg_type = rllh->c.msg_type;
+
+ if (msg_type == RSL_MT_UNIT_DATA_IND) {
+ unit_data_ind(ms, msg);
+ } else
+ LOGP(DRSL, LOGL_NOTICE, "RSLms message unhandled\n");
+
+ msgb_free(msg);
+
+ return 0;
+}
+
+int chan_conf(struct osmocom_ms *ms, struct msgb *msg)
+{
+ struct abis_rsl_cchan_hdr *ch = msgb_l2(msg);
+ struct gsm48_req_ref *ref = (struct gsm48_req_ref *) (ch->data + 1);
+
+ if (msgb_l2len(msg) < sizeof(*ch) + sizeof(*ref)) {
+ LOGP(DRR, LOGL_ERROR, "CHAN_CNF too slort\n");
+ return -EINVAL;
+ }
+
+ rach_ref.valid = 1;
+ rach_ref.t1 = ref->t1;
+ rach_ref.t2 = ref->t2;
+ rach_ref.t3 = ref->t3_low | (ref->t3_high << 3);
+
+ return 0;
+}
+
+static int rcv_cch(struct osmocom_ms *ms, struct msgb *msg)
+{
+ struct abis_rsl_cchan_hdr *ch = msgb_l2(msg);
+ int msg_type = ch->c.msg_type;
+ int rc;
+
+ LOGP(DRSL, LOGL_INFO, "Received '%s' from layer1\n",
+ rsl_msg_name(msg_type));
+
+ if (state == SCAN_STATE_RACH && msg_type == RSL_MT_CHAN_CONF) {
+ rc = chan_conf(ms, msg);
+ msgb_free(msg);
+ return rc;
+ }
+
+ LOGP(DRSL, LOGL_NOTICE, "RSLms message unhandled\n");
+ msgb_free(msg);
+ return 0;
+}
+
+static int rcv_rsl(struct msgb *msg, struct lapdm_entity *le, void *l3ctx)
+{
+ struct osmocom_ms *ms = l3ctx;
+ struct abis_rsl_common_hdr *rslh = msgb_l2(msg);
+ int rc = 0;
+
+ switch (rslh->msg_discr & 0xfe) {
+ case ABIS_RSL_MDISC_RLL:
+ rc = rcv_rll(ms, msg);
+ break;
+ case ABIS_RSL_MDISC_COM_CHAN:
+ rc = rcv_cch(ms, msg);
+ break;
+ default:
+ LOGP(DRSL, LOGL_NOTICE, "unknown RSLms msg_discr 0x%02x\n",
+ rslh->msg_discr);
+ msgb_free(msg);
+ rc = -EINVAL;
+ break;
+ }
+
+ return rc;
+}
+
+int scan_init(struct osmocom_ms *_ms)
+{
+ ms = _ms;
+ osmo_signal_register_handler(SS_L1CTL, &signal_cb, NULL);
+ memset(&timer, 0, sizeof(timer));
+ lapdm_channel_set_l3(&ms->lapdm_channel, &rcv_rsl, ms);
+ g.enable = 1;
+ osmo_gps_init();
+ if (osmo_gps_open())
+ g.enable = 0;
+
+ if (!strcmp(logname, "-"))
+ logfp = stdout;
+ else
+ logfp = fopen(logname, "a");
+ if (!logfp) {
+ fprintf(stderr, "Failed to open logfile '%s'\n", logname);
+ scan_exit();
+ return -errno;
+ }
+ LOGP(DSUM, LOGL_INFO, "Scanner initialized\n");
+
+ return 0;
+}
+
+int scan_exit(void)
+{
+ LOGP(DSUM, LOGL_INFO, "Scanner exit\n");
+ if (g.valid)
+ osmo_gps_close();
+ if (logfp)
+ fclose(logfp);
+ osmo_signal_unregister_handler(SS_L1CTL, &signal_cb, NULL);
+ stop_timer();
+
+ return 0;
+}
diff --git a/Src/eclipse/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.index b/Src/eclipse/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.index
index 627f3fd..77b19d8 100644
--- a/Src/eclipse/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.index
+++ b/Src/eclipse/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.index
Binary files differ
diff --git a/Src/eclipse/.metadata/.plugins/org.eclipse.core.resources/.root/6.tree b/Src/eclipse/.metadata/.plugins/org.eclipse.core.resources/.root/6.tree
new file mode 100644
index 0000000..19535d3
--- /dev/null
+++ b/Src/eclipse/.metadata/.plugins/org.eclipse.core.resources/.root/6.tree
Binary files differ
diff --git a/Src/eclipse/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources b/Src/eclipse/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources
index a98b0ee..2437e0c 100644
--- a/Src/eclipse/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources
+++ b/Src/eclipse/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources
Binary files differ
diff --git a/Src/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide.prefs b/Src/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide.prefs
index 94ae83d..33601d8 100644
--- a/Src/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide.prefs
+++ b/Src/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide.prefs
@@ -1,7 +1,7 @@
-#Tue Feb 28 12:14:41 CET 2012
+#Tue Feb 28 12:46:40 CET 2012
eclipse.preferences.version=1
TASKS_FILTERS_MIGRATE=true
tipsAndTricks=true
-platformState=1330425960816
+platformState=1330428858162
quickStart=true
PROBLEMS_FILTERS_MIGRATE=true
diff --git a/Src/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/.workspace/2012/2/9/refactorings.history b/Src/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/.workspace/2012/2/9/refactorings.history
new file mode 100644
index 0000000..9cf3766
--- /dev/null
+++ b/Src/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/.workspace/2012/2/9/refactorings.history
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<session version="1.0">&#x0A;<refactoring comment="Delete 2 resources" deleteContents="false" description="Delete 2 resources" element1="/CatcherLib" element2="/PyCatcher" flags="7" id="org.eclipse.ltk.core.refactoring.delete.resources" resources="2" stamp="1330426031197"/>&#x0A;<refactoring comment="Delete resource &apos;CatcherDriver&apos;" deleteContents="false" description="Delete resource &apos;CatcherDriver&apos;" element1="/CatcherDriver" flags="7" id="org.eclipse.ltk.core.refactoring.delete.resources" resources="1" stamp="1330429654807"/>
+</session> \ No newline at end of file
diff --git a/Src/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/.workspace/2012/2/9/refactorings.index b/Src/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/.workspace/2012/2/9/refactorings.index
new file mode 100644
index 0000000..4a8774b
--- /dev/null
+++ b/Src/eclipse/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/.workspace/2012/2/9/refactorings.index
@@ -0,0 +1,2 @@
+1330426031197 Delete 2 resources
+1330429654807 Delete resource 'CatcherDriver'
diff --git a/Src/eclipse/.metadata/.plugins/org.eclipse.ltk.ui.refactoring/dialog_settings.xml b/Src/eclipse/.metadata/.plugins/org.eclipse.ltk.ui.refactoring/dialog_settings.xml
new file mode 100644
index 0000000..27eb404
--- /dev/null
+++ b/Src/eclipse/.metadata/.plugins/org.eclipse.ltk.ui.refactoring/dialog_settings.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<section name="Workbench">
+ <section name="RefactoringWizard.preview">
+ <item value="400" key="height"/>
+ <item value="600" key="width"/>
+ </section>
+</section>
diff --git a/Src/eclipse/.metadata/.plugins/org.eclipse.ui.workbench/workbench.xml b/Src/eclipse/.metadata/.plugins/org.eclipse.ui.workbench/workbench.xml
index 50a2f47..8a7667a 100644
--- a/Src/eclipse/.metadata/.plugins/org.eclipse.ui.workbench/workbench.xml
+++ b/Src/eclipse/.metadata/.plugins/org.eclipse.ui.workbench/workbench.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<workbench progressCount="4" version="2.0">
+<workbench progressCount="17" version="2.0">
<workbenchAdvisor/>
<window height="1081" maximized="true" width="1922" x="1280" y="0">
<fastViewData fastViewLocation="1024"/>
@@ -41,7 +41,7 @@
</editorArea>
<editor activePart="true" focus="true" id="org.eclipse.cdt.ui.editor.CEditor" name="catcher.c" partName="catcher.c" path="/home/tom/Documents/imsi-catcher-detection/Src/osmolib/src/host/layer23/src/misc/catcher.c" title="catcher.c" tooltip="CatcherDriver/host/layer23/src/misc/catcher.c" workbook="DefaultEditorWorkbook">
<input factoryID="org.eclipse.ui.part.FileEditorInputFactory" path="/CatcherDriver/host/layer23/src/misc/catcher.c"/>
-<editorState selectionHorizontalPixel="0" selectionLength="0" selectionOffset="4332" selectionTopPixel="3084"/>
+<editorState selectionHorizontalPixel="0" selectionLength="0" selectionOffset="14686" selectionTopPixel="10657"/>
</editor>
<editor id="org.eclipse.cdt.ui.editor.CEditor" name="sysinfo.h" partName="sysinfo.h" path="/home/tom/Documents/imsi-catcher-detection/Src/osmolib/src/host/layer23/include/osmocom/bb/common/sysinfo.h" title="sysinfo.h" tooltip="CatcherDriver/host/layer23/include/osmocom/bb/common/sysinfo.h" workbook="DefaultEditorWorkbook">
<input factoryID="org.eclipse.ui.part.FileEditorInputFactory" path="/CatcherDriver/host/layer23/include/osmocom/bb/common/sysinfo.h"/>
@@ -92,8 +92,8 @@
<view id="org.eclipse.ui.views.ResourceNavigator" partName="Navigator">
<viewState LINK_NAVIGATOR_TO_EDITOR="0" sorter="1">
<filters>
-<filter element=".*" isEnabled="false"/>
<filter element="*.class" isEnabled="true"/>
+<filter element=".*" isEnabled="false"/>
</filters>
<expanded>
<element path="/CatcherDriver"/>