You are viewing a plain text version of this content. The canonical link for it is here.
Posted to kato-commits@incubator.apache.org by mo...@apache.org on 2009/11/23 15:54:15 UTC

svn commit: r883384 [3/47] - in /incubator/kato/trunk/org.apache.kato: ./ kato.anttasks/src/main/java/org/apache/kato/anttasks/ kato.anttasks/src/main/java/org/apache/kato/anttasks/sitebuilder/ kato.anttasks/src/main/java/org/apache/kato/anttasks/tck/ ...

Modified: incubator/kato/trunk/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/image/ImageFactory.java
URL: http://svn.apache.org/viewvc/incubator/kato/trunk/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/image/ImageFactory.java?rev=883384&r1=883383&r2=883384&view=diff
==============================================================================
--- incubator/kato/trunk/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/image/ImageFactory.java (original)
+++ incubator/kato/trunk/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/image/ImageFactory.java Mon Nov 23 15:53:48 2009
@@ -1,124 +1,124 @@
-/*******************************************************************************
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
- *   http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- ******************************************************************************/
-package javax.tools.diagnostics.image;
-
-import java.io.File;
-import java.io.IOException;
-
-import javax.tools.diagnostics.runtime.java.JavaRuntime;
-
-/**
- * <p>
- * This interface is used for classes which can produce instances of Image
- * implementors.
- * <p>
- * Note that this interface forms the contract between the {@link javax.tools.diagnostics.FactoryRegistry}
- * and an implementation.   The methods on this interface are only intended to be called by the  {@link javax.tools.diagnostics.FactoryRegistry}
- *  
- */
-
-public interface ImageFactory {
-	
-	/**
-	 * <p>
-	 * The major version number of the current API.
-	 * <p>
-	 * Note that this value will be inlined so users can reference it directly
-	 * (ie:  factory.getMajorVersion() >= ImageFactory.MAJOR_VERSION)
-	 */
-	public static final int MAJOR_VERSION = 0;
-	
-	/**
-	 * <p>
-	 * The minor version number of the current API
-	 * <p?
-	 * Note that this value will be inlined so users can reference it directly
-	 * (ie:  factory.getKatoMinorVersion() >= ImageFactory.MINOR_VERSION)
-	 */
-	public static final int MINOR_VERSION = 1;
-	
-	/**
-	 * <p>
-	 * Creates a new Image object based on the contents of imageFile.
-	 * <p>
-	 * Note that this method is only intended to be called by the {@link javax.tools.diagnostics.FactoryRegistry}
-	 * 
-	 * @param imageFile a file with Image information, typically a core file
-	 * @return an instance of Image
-	 * @throws IOException if unable to create an image from the provided file 
-	 */
-	Image getImage(File imageFile) throws IOException;
-
-	/**
-	 * <p>
-	 * Creates a new Image object based on the contents of imageFile and metadata
-	 * <p>
-	 * Note that this method is only intended to be called by the {@link javax.tools.diagnostics.FactoryRegistry}
-	 * @param imageFile a file with Image information, typically a core file
-	 * @param metadata a file with additional Image information. This is an implementation defined file
-	 * @return an instance of Image
-	 * @throws IOException if unable to create an image from the provided file
-	 */
-	Image getImage(File imageFile, File metadata) throws IOException;
-	
-	/**
-	 * <p>
-	 * Fetch the major version number
-	 * @return An integer corresponding to the API major version number
-	 */
-	public int getMajorVersion();
-	
-	/**
-	 * <p>
-	 * Fetch the minor version number
-	 * @return An integer corresponding to the API minor version number
-	 */
-	public int getMinorVersion();
-	
-	/**
-	 * <p>
-	 * Fetch the modification level
-	 * @return An integer corresponding to the  API modification level
-	 * 
-	 */	
-	public int getModificationLevel();
-
-	/**
-	 * <p>
-	 * Returns a list of file extensions that the {@link javax.tools.diagnostics.FactoryRegistry} can use
-	 * to determine if an file can be processed by this Image Factory implementation.
-	 * <p>File extensions are the part of a file name after the last '.'. 
-	 * <p>
-	 * The returned array is treated as a case insensitive collection of file extensions.
-	 * <p>
-	 * The returned list is expected to contain at least one entry.
- 	 * <p>
-	 * Note that this method is only intended to be called by the {@link javax.tools.diagnostics.FactoryRegistry}
-
-	 * @return an array of case insensitive file extension names.
-	 */
-	public String[] getValidFileExtensions();
-	
-	/**
-	 * <p>
-	 * Creates a new JavaRuntime object based on the contents of the file;
-	 * <p>
-	 * Note that this method is only intended to be called by the {@link javax.tools.diagnostics.FactoryRegistry}
-	 * 
-	 * @param file a file with JavaRuntime information
-	 * @return an instance of JavaRuntime
-	 * @throws IOException if unable to create a runtime from the provided file 
-	 */
-	public JavaRuntime getJavaRuntime(File file) throws IOException;
-}
+/*******************************************************************************
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ ******************************************************************************/
+package javax.tools.diagnostics.image;
+
+import java.io.File;
+import java.io.IOException;
+
+import javax.tools.diagnostics.runtime.java.JavaRuntime;
+
+/**
+ * <p>
+ * This interface is used for classes which can produce instances of Image
+ * implementors.
+ * <p>
+ * Note that this interface forms the contract between the {@link javax.tools.diagnostics.FactoryRegistry}
+ * and an implementation.   The methods on this interface are only intended to be called by the  {@link javax.tools.diagnostics.FactoryRegistry}
+ *  
+ */
+
+public interface ImageFactory {
+	
+	/**
+	 * <p>
+	 * The major version number of the current API.
+	 * <p>
+	 * Note that this value will be inlined so users can reference it directly
+	 * (ie:  factory.getMajorVersion() >= ImageFactory.MAJOR_VERSION)
+	 */
+	public static final int MAJOR_VERSION = 0;
+	
+	/**
+	 * <p>
+	 * The minor version number of the current API
+	 * <p?
+	 * Note that this value will be inlined so users can reference it directly
+	 * (ie:  factory.getKatoMinorVersion() >= ImageFactory.MINOR_VERSION)
+	 */
+	public static final int MINOR_VERSION = 1;
+	
+	/**
+	 * <p>
+	 * Creates a new Image object based on the contents of imageFile.
+	 * <p>
+	 * Note that this method is only intended to be called by the {@link javax.tools.diagnostics.FactoryRegistry}
+	 * 
+	 * @param imageFile a file with Image information, typically a core file
+	 * @return an instance of Image
+	 * @throws IOException if unable to create an image from the provided file 
+	 */
+	Image getImage(File imageFile) throws IOException;
+
+	/**
+	 * <p>
+	 * Creates a new Image object based on the contents of imageFile and metadata
+	 * <p>
+	 * Note that this method is only intended to be called by the {@link javax.tools.diagnostics.FactoryRegistry}
+	 * @param imageFile a file with Image information, typically a core file
+	 * @param metadata a file with additional Image information. This is an implementation defined file
+	 * @return an instance of Image
+	 * @throws IOException if unable to create an image from the provided file
+	 */
+	Image getImage(File imageFile, File metadata) throws IOException;
+	
+	/**
+	 * <p>
+	 * Fetch the major version number
+	 * @return An integer corresponding to the API major version number
+	 */
+	public int getMajorVersion();
+	
+	/**
+	 * <p>
+	 * Fetch the minor version number
+	 * @return An integer corresponding to the API minor version number
+	 */
+	public int getMinorVersion();
+	
+	/**
+	 * <p>
+	 * Fetch the modification level
+	 * @return An integer corresponding to the  API modification level
+	 * 
+	 */	
+	public int getModificationLevel();
+
+	/**
+	 * <p>
+	 * Returns a list of file extensions that the {@link javax.tools.diagnostics.FactoryRegistry} can use
+	 * to determine if an file can be processed by this Image Factory implementation.
+	 * <p>File extensions are the part of a file name after the last '.'. 
+	 * <p>
+	 * The returned array is treated as a case insensitive collection of file extensions.
+	 * <p>
+	 * The returned list is expected to contain at least one entry.
+ 	 * <p>
+	 * Note that this method is only intended to be called by the {@link javax.tools.diagnostics.FactoryRegistry}
+
+	 * @return an array of case insensitive file extension names.
+	 */
+	public String[] getValidFileExtensions();
+	
+	/**
+	 * <p>
+	 * Creates a new JavaRuntime object based on the contents of the file;
+	 * <p>
+	 * Note that this method is only intended to be called by the {@link javax.tools.diagnostics.FactoryRegistry}
+	 * 
+	 * @param file a file with JavaRuntime information
+	 * @return an instance of JavaRuntime
+	 * @throws IOException if unable to create a runtime from the provided file 
+	 */
+	public JavaRuntime getJavaRuntime(File file) throws IOException;
+}

Propchange: incubator/kato/trunk/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/image/ImageFactory.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: incubator/kato/trunk/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/image/ImageModule.java
URL: http://svn.apache.org/viewvc/incubator/kato/trunk/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/image/ImageModule.java?rev=883384&r1=883383&r2=883384&view=diff
==============================================================================
--- incubator/kato/trunk/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/image/ImageModule.java (original)
+++ incubator/kato/trunk/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/image/ImageModule.java Mon Nov 23 15:53:48 2009
@@ -1,65 +1,65 @@
-/*******************************************************************************
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
- *   http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- ******************************************************************************/
-package javax.tools.diagnostics.image;
-
-import java.util.List;
-import java.util.Properties;
-
-/**
- * Represents a shared library loaded into the image, or the executable module itself
- * 
- */
-public interface ImageModule {
-
-    /**
-     * Get the file name of the shared library.
-     * @return the file name of the shared library
-     * 
-     * @throws CorruptDataException If the module is corrupt and the 
-     * original file cannot be determined
-     */
-    String getName() throws CorruptDataException;
-    
-    /**
-     * Get the collection of sections that make up this library.
-     * @return a collection of sections that make up this library
-     * 
-     * @see ImageSection
-     */
-    List<ImageSection> getSections();
-    
-    /**
-     * Provides a collection of symbols defined by the library. This
-     * list is likely incomplete as many symbols may be private,
-     * symbols may have been stripped from the library, or symbols may
-     * not by available in the image.
-     * 
-     * @return a collection of symbols which are defined by this library.
-     * 
-     * @see ImageSymbol
-     */
-    List<ImageSymbol> getSymbols();
-    
-    /**
-     * Get the table of properties associated with this module.
-     * @return a table of properties associated with this module.
-     * Values typically defined in this table include
-     * <ul>
-     * <li>"version" -- version information about the module</li>
-     * </ul>
-     * @throws CorruptDataException 
-     */
-    Properties getProperties() throws CorruptDataException;
-    
-}
+/*******************************************************************************
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ ******************************************************************************/
+package javax.tools.diagnostics.image;
+
+import java.util.List;
+import java.util.Properties;
+
+/**
+ * Represents a shared library loaded into the image, or the executable module itself
+ * 
+ */
+public interface ImageModule {
+
+    /**
+     * Get the file name of the shared library.
+     * @return the file name of the shared library
+     * 
+     * @throws CorruptDataException If the module is corrupt and the 
+     * original file cannot be determined
+     */
+    String getName() throws CorruptDataException;
+    
+    /**
+     * Get the collection of sections that make up this library.
+     * @return a collection of sections that make up this library
+     * 
+     * @see ImageSection
+     */
+    List<ImageSection> getSections();
+    
+    /**
+     * Provides a collection of symbols defined by the library. This
+     * list is likely incomplete as many symbols may be private,
+     * symbols may have been stripped from the library, or symbols may
+     * not by available in the image.
+     * 
+     * @return a collection of symbols which are defined by this library.
+     * 
+     * @see ImageSymbol
+     */
+    List<ImageSymbol> getSymbols();
+    
+    /**
+     * Get the table of properties associated with this module.
+     * @return a table of properties associated with this module.
+     * Values typically defined in this table include
+     * <ul>
+     * <li>"version" -- version information about the module</li>
+     * </ul>
+     * @throws CorruptDataException 
+     */
+    Properties getProperties() throws CorruptDataException;
+    
+}

Propchange: incubator/kato/trunk/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/image/ImageModule.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: incubator/kato/trunk/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/image/ImagePointer.java
URL: http://svn.apache.org/viewvc/incubator/kato/trunk/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/image/ImagePointer.java?rev=883384&r1=883383&r2=883384&view=diff
==============================================================================
--- incubator/kato/trunk/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/image/ImagePointer.java (original)
+++ incubator/kato/trunk/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/image/ImagePointer.java Mon Nov 23 15:53:48 2009
@@ -1,139 +1,139 @@
-/*******************************************************************************
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
- *   http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- ******************************************************************************/
-package javax.tools.diagnostics.image;
-
-/**
- * Represents an address in image memory.
- * 
- */
-public interface ImagePointer {
-
-    /**
-     * Get the unwrapped address, represented as a 64-bit integer.
-     * @return the unwrapped address, represented as a 64-bit integer
-     * <br>
-     * Use caution when comparing addresses, as some addresses may be
-     * negative.
-     * <br>
-     * Note that on segmented memory architectures, it may not be 
-     * possible to represent all addresses accurately as integers
-     */
-    long getAddress();
-    
-    /**
-     * Get the address space to which this pointer belongs.
-     * @return the address space to which this pointer belongs
-     */
-    ImageAddressSpace getAddressSpace();
-    
-    /**
-     * Build a new image pointer offset from this one by the given amount.
-     * @param offset
-     * @return a new ImagePointer based at getAddress() + offset
-     */
-    ImagePointer add(long offset);
-    
-    /**
-     * Is the referenced location executable ?
-     * @return true if this memory address is within an executable page
-     * @throws DataUnavailable 
-     */
-    boolean isExecutable() throws DataUnavailable;
-    
-    /**
-     * Is the referenced location read only ?
-     * @return true if write access to this memory address was disabled in the image
-     * @throws DataUnavailable 
-     */
-    boolean isReadOnly() throws DataUnavailable;
-    
-    /**
-     * Is the referenced location shared ?
-     * @return true if this memory address is shared between processes
-     * @throws DataUnavailable 
-     */
-    boolean isShared() throws DataUnavailable;
-    
-    /**
-     * Get the value at the given offset from this pointer.
-     * To determine the number of bytes to skip after this call to read the next value, use <code>ImageProcess.getPointerSize()</code>.
-     * @param index  an offset (in bytes) from the current position
-     * @return the 32 or 64-bit pointer stored at getAddress() + index 
-     * @throws MemoryAccessException if the memory cannot be read
-     * @throws CorruptDataException if the memory should be in the image, but is missing or corrupted
-     * @see    ImageProcess#getPointerSize()
-     */
-    ImagePointer getPointerAt(long index) throws MemoryAccessException, CorruptDataException;
-    
-    /**
-     * Get the value at the given offset from this pointer.
-     * @param index  an offset (in bytes) from the current position
-     * @return the 64-bit long stored at getAddress() + index 
-     * @throws MemoryAccessException if the memory cannot be read
-     * @throws CorruptDataException if the memory should be in the image, but is missing or corrupted
-     */
-    long getLongAt(long index)  throws MemoryAccessException, CorruptDataException;
-    
-    /**
-     * Get the value at the given offset from this pointer.
-     * @param index  an offset (in bytes) from the current position
-     * @return the 32-bit int stored at getAddress() + index 
-     * @throws MemoryAccessException if the memory cannot be read
-     * @throws CorruptDataException if the memory should be in the image, but is missing or corrupted
-     */
-    int getIntAt(long index) throws MemoryAccessException, CorruptDataException;
-    
-    /**
-     * Get the value at the given offset from this pointer.
-     * @param index  an offset (in bytes) from the current position
-     * @return the 16-bit short stored at getAddress() + index 
-     * @throws MemoryAccessException if the memory cannot be read
-     * @throws CorruptDataException if the memory should be in the image, but is missing or corrupted
-     */
-    short getShortAt(long index) throws MemoryAccessException, CorruptDataException;
-    
-    /**
-     * Get the value at the given offset from this pointer.
-     * @param index  an offset (in bytes) from the current position
-     * @return the 8-bit byte stored at getAddress() + index 
-     * @throws MemoryAccessException if the memory cannot be read
-     * @throws CorruptDataException if the memory should be in the image, but is missing or corrupted
-     */
-    byte getByteAt(long index) throws MemoryAccessException, CorruptDataException;
-    
-    /**
-     * Get the value at the given offset from this pointer.
-     * @param index  an offset (in bytes) from the current position
-     * @return the 32-bit float stored at getAddress() + index
-     * @throws MemoryAccessException if the memory cannot be read
-     * @throws CorruptDataException if the memory should be in the image, but is missing or corrupted
-     */
-    float getFloatAt(long index) throws MemoryAccessException, CorruptDataException;
-
-    /**
-     * Get the value at the given offset from this pointer.
-     * @param index  an offset (in bytes) from the current position
-     * @return the 64-bit double stored at getAddress() + index 
-     * @throws MemoryAccessException if the memory cannot be read
-     * @throws CorruptDataException if the memory should be in the image, but is missing or corrupted
-     */
-    double getDoubleAt(long index) throws MemoryAccessException, CorruptDataException;
-    
-	/**
-	 * @param obj
-	 * @return True obj refers to the same Image Pointer in the image
-	 */
-	public boolean equals(Object obj);
-	public int hashCode();
-}
+/*******************************************************************************
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ ******************************************************************************/
+package javax.tools.diagnostics.image;
+
+/**
+ * Represents an address in image memory.
+ * 
+ */
+public interface ImagePointer {
+
+    /**
+     * Get the unwrapped address, represented as a 64-bit integer.
+     * @return the unwrapped address, represented as a 64-bit integer
+     * <br>
+     * Use caution when comparing addresses, as some addresses may be
+     * negative.
+     * <br>
+     * Note that on segmented memory architectures, it may not be 
+     * possible to represent all addresses accurately as integers
+     */
+    long getAddress();
+    
+    /**
+     * Get the address space to which this pointer belongs.
+     * @return the address space to which this pointer belongs
+     */
+    ImageAddressSpace getAddressSpace();
+    
+    /**
+     * Build a new image pointer offset from this one by the given amount.
+     * @param offset
+     * @return a new ImagePointer based at getAddress() + offset
+     */
+    ImagePointer add(long offset);
+    
+    /**
+     * Is the referenced location executable ?
+     * @return true if this memory address is within an executable page
+     * @throws DataUnavailable 
+     */
+    boolean isExecutable() throws DataUnavailable;
+    
+    /**
+     * Is the referenced location read only ?
+     * @return true if write access to this memory address was disabled in the image
+     * @throws DataUnavailable 
+     */
+    boolean isReadOnly() throws DataUnavailable;
+    
+    /**
+     * Is the referenced location shared ?
+     * @return true if this memory address is shared between processes
+     * @throws DataUnavailable 
+     */
+    boolean isShared() throws DataUnavailable;
+    
+    /**
+     * Get the value at the given offset from this pointer.
+     * To determine the number of bytes to skip after this call to read the next value, use <code>ImageProcess.getPointerSize()</code>.
+     * @param index  an offset (in bytes) from the current position
+     * @return the 32 or 64-bit pointer stored at getAddress() + index 
+     * @throws MemoryAccessException if the memory cannot be read
+     * @throws CorruptDataException if the memory should be in the image, but is missing or corrupted
+     * @see    ImageProcess#getPointerSize()
+     */
+    ImagePointer getPointerAt(long index) throws MemoryAccessException, CorruptDataException;
+    
+    /**
+     * Get the value at the given offset from this pointer.
+     * @param index  an offset (in bytes) from the current position
+     * @return the 64-bit long stored at getAddress() + index 
+     * @throws MemoryAccessException if the memory cannot be read
+     * @throws CorruptDataException if the memory should be in the image, but is missing or corrupted
+     */
+    long getLongAt(long index)  throws MemoryAccessException, CorruptDataException;
+    
+    /**
+     * Get the value at the given offset from this pointer.
+     * @param index  an offset (in bytes) from the current position
+     * @return the 32-bit int stored at getAddress() + index 
+     * @throws MemoryAccessException if the memory cannot be read
+     * @throws CorruptDataException if the memory should be in the image, but is missing or corrupted
+     */
+    int getIntAt(long index) throws MemoryAccessException, CorruptDataException;
+    
+    /**
+     * Get the value at the given offset from this pointer.
+     * @param index  an offset (in bytes) from the current position
+     * @return the 16-bit short stored at getAddress() + index 
+     * @throws MemoryAccessException if the memory cannot be read
+     * @throws CorruptDataException if the memory should be in the image, but is missing or corrupted
+     */
+    short getShortAt(long index) throws MemoryAccessException, CorruptDataException;
+    
+    /**
+     * Get the value at the given offset from this pointer.
+     * @param index  an offset (in bytes) from the current position
+     * @return the 8-bit byte stored at getAddress() + index 
+     * @throws MemoryAccessException if the memory cannot be read
+     * @throws CorruptDataException if the memory should be in the image, but is missing or corrupted
+     */
+    byte getByteAt(long index) throws MemoryAccessException, CorruptDataException;
+    
+    /**
+     * Get the value at the given offset from this pointer.
+     * @param index  an offset (in bytes) from the current position
+     * @return the 32-bit float stored at getAddress() + index
+     * @throws MemoryAccessException if the memory cannot be read
+     * @throws CorruptDataException if the memory should be in the image, but is missing or corrupted
+     */
+    float getFloatAt(long index) throws MemoryAccessException, CorruptDataException;
+
+    /**
+     * Get the value at the given offset from this pointer.
+     * @param index  an offset (in bytes) from the current position
+     * @return the 64-bit double stored at getAddress() + index 
+     * @throws MemoryAccessException if the memory cannot be read
+     * @throws CorruptDataException if the memory should be in the image, but is missing or corrupted
+     */
+    double getDoubleAt(long index) throws MemoryAccessException, CorruptDataException;
+    
+	/**
+	 * @param obj
+	 * @return True obj refers to the same Image Pointer in the image
+	 */
+	public boolean equals(Object obj);
+	public int hashCode();
+}

Propchange: incubator/kato/trunk/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/image/ImagePointer.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: incubator/kato/trunk/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/image/ImageProcess.java
URL: http://svn.apache.org/viewvc/incubator/kato/trunk/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/image/ImageProcess.java?rev=883384&r1=883383&r2=883384&view=diff
==============================================================================
--- incubator/kato/trunk/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/image/ImageProcess.java (original)
+++ incubator/kato/trunk/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/image/ImageProcess.java Mon Nov 23 15:53:48 2009
@@ -1,155 +1,155 @@
-/*******************************************************************************
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
- *   http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- ******************************************************************************/
-package javax.tools.diagnostics.image;
-
-import java.util.List;
-import java.util.Properties;
-
-import javax.tools.diagnostics.runtime.ManagedRuntime;
-
-/**
- * This class represents a Process running in a given Address Space.
- *
- */
-public interface ImageProcess {
-
-    /**
-     * Fetch the command line for this process. This may be the exact command line
-     * the user issued, or it may be a reconstructed command line based on
-     * argv[] and argc.
-     * 
-     * @return the command line for the process
-     *
-     * @exception DataUnavailable if the information cannot be provided
-     * @throws CorruptDataException 
-     */
-    String getCommandLine() throws DataUnavailable, CorruptDataException;
-    
-    /**
-     * Get the environment variables for this process.
-     * @return the environment variables for this process
-     * 
-     * @exception DataUnavailable if the information cannot be provided
-     * @throws CorruptDataException 
-     */
-    Properties getEnvironment() throws DataUnavailable, CorruptDataException;
-    
-    /**
-     * Get the system-wide identifier for the process.
-     * @return a system-wide identifier for the process (e.g. a process id (pid) on Unix like
-     * systems)
-     * 
-   	 * @exception DataUnavailable if the information cannot be provided
-     * @throws CorruptDataException 
-     */
-    String getID() throws DataUnavailable, CorruptDataException;
-    
-    /**
-     * Get the set of shared libraries which are loaded in this process.
-     * @return an iterator to iterate over the shared libraries which are loaded in this
-     * process
-     * 
-     * @exception DataUnavailable if the information cannot be provided
-     * @throws CorruptDataException 
-     * 
-     * @see ImageModule
-     */
-    List<ImageModule> getLibraries() throws DataUnavailable, CorruptDataException;
-    
-    /**
-     * Get the module representing the executable within the image.
-     * @return the module representing the executable within the image (as opposed to
-     * modules representing libraries)
-     * 
-     * @exception DataUnavailable if the information cannot be provided
-     * @throws CorruptDataException 
-     * 
-     * @see ImageModule
-     */
-    ImageModule getExecutable() throws DataUnavailable, CorruptDataException;
-    
-    /**
-     * Get the set of image threads in the image.
-     * 
-     * There is not necessarily any relationship between JavaThreads and
-     * ImageThreads. A JVM implementation may use an n:m mapping of JavaThreads to
-     * ImageThreads, and not all ImageThreads are necessarily attached.
-     * 
-     * @return an iterator to iterate over each ImageThread in the image
-     * @see ImageThread 
-     * @see CorruptData
-     */
-    List<ImageThread> getThreads();
-
-    /**
-     * Find the thread which triggered the creation of the image
-     * 
-     * @return the ImageThread which caused the image to be created, or
-     * null if the image was not created due to a specific thread
-     * @throws CorruptDataException 
-     * 
-     * @see ImageThread
-     */
-    ImageThread getCurrentThread() throws CorruptDataException;
-    
-    /**
-     * Get the set of the known ManagedRuntime environments in the image. 
-     * In a typical image, there will be only one runtime, and it will be
-     * an instance of JavaRuntime. However any user of this API should be aware
-     * that there is a possibility that other runtimes may exist in the image
-     * 
-     * @return an iterator to iterate over all of the known ManagedRuntime
-     * environments in the image. 
-     * 
-     * 
-     * @see javax.tools.diagnostics.runtime.ManagedRuntime 
-     * @see javax.tools.diagnostics.runtime.java.JavaRuntime
-     */
-    List<ManagedRuntime> getRuntimes();
-    
-    /**
-     * Get the OS signal number in this process which triggered the creation 
-     * of this image.
-     * 
-     * @return the OS signal number in this process which triggered the creation 
-     * of this image, or 0 if the image was not created because of a signal in this
-     * process
-     * 
-     * @exception DataUnavailable if the information cannot be provided
-     * @throws CorruptDataException 
-     */
-    int getSignalNumber() throws DataUnavailable, CorruptDataException;
-    
-    /**
-     * Get the name of the OS signal in this process which triggered the 
-     * creation of this image.
-     * @return the name of the OS signal in this process which triggered the 
-     * creation of this image, or null if the image was not created because of a 
-     * signal in this process
-     * 
-     * @exception DataUnavailable if the information cannot be provided
-     * @throws CorruptDataException 
-     */
-    String getSignalName() throws DataUnavailable, CorruptDataException;
-    
-    /**
-     * Determine the pointer size used by this process.
-     * Currently supported values are 31, 32 or 64.
-     * In the future, other pointer sizes may also be supported.
-     * 
-     * @return the size of a pointer, in bits
-     */
-    int getPointerSize();
-
-}
+/*******************************************************************************
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ ******************************************************************************/
+package javax.tools.diagnostics.image;
+
+import java.util.List;
+import java.util.Properties;
+
+import javax.tools.diagnostics.runtime.ManagedRuntime;
+
+/**
+ * This class represents a Process running in a given Address Space.
+ *
+ */
+public interface ImageProcess {
+
+    /**
+     * Fetch the command line for this process. This may be the exact command line
+     * the user issued, or it may be a reconstructed command line based on
+     * argv[] and argc.
+     * 
+     * @return the command line for the process
+     *
+     * @exception DataUnavailable if the information cannot be provided
+     * @throws CorruptDataException 
+     */
+    String getCommandLine() throws DataUnavailable, CorruptDataException;
+    
+    /**
+     * Get the environment variables for this process.
+     * @return the environment variables for this process
+     * 
+     * @exception DataUnavailable if the information cannot be provided
+     * @throws CorruptDataException 
+     */
+    Properties getEnvironment() throws DataUnavailable, CorruptDataException;
+    
+    /**
+     * Get the system-wide identifier for the process.
+     * @return a system-wide identifier for the process (e.g. a process id (pid) on Unix like
+     * systems)
+     * 
+   	 * @exception DataUnavailable if the information cannot be provided
+     * @throws CorruptDataException 
+     */
+    String getID() throws DataUnavailable, CorruptDataException;
+    
+    /**
+     * Get the set of shared libraries which are loaded in this process.
+     * @return an iterator to iterate over the shared libraries which are loaded in this
+     * process
+     * 
+     * @exception DataUnavailable if the information cannot be provided
+     * @throws CorruptDataException 
+     * 
+     * @see ImageModule
+     */
+    List<ImageModule> getLibraries() throws DataUnavailable, CorruptDataException;
+    
+    /**
+     * Get the module representing the executable within the image.
+     * @return the module representing the executable within the image (as opposed to
+     * modules representing libraries)
+     * 
+     * @exception DataUnavailable if the information cannot be provided
+     * @throws CorruptDataException 
+     * 
+     * @see ImageModule
+     */
+    ImageModule getExecutable() throws DataUnavailable, CorruptDataException;
+    
+    /**
+     * Get the set of image threads in the image.
+     * 
+     * There is not necessarily any relationship between JavaThreads and
+     * ImageThreads. A JVM implementation may use an n:m mapping of JavaThreads to
+     * ImageThreads, and not all ImageThreads are necessarily attached.
+     * 
+     * @return an iterator to iterate over each ImageThread in the image
+     * @see ImageThread 
+     * @see CorruptData
+     */
+    List<ImageThread> getThreads();
+
+    /**
+     * Find the thread which triggered the creation of the image
+     * 
+     * @return the ImageThread which caused the image to be created, or
+     * null if the image was not created due to a specific thread
+     * @throws CorruptDataException 
+     * 
+     * @see ImageThread
+     */
+    ImageThread getCurrentThread() throws CorruptDataException;
+    
+    /**
+     * Get the set of the known ManagedRuntime environments in the image. 
+     * In a typical image, there will be only one runtime, and it will be
+     * an instance of JavaRuntime. However any user of this API should be aware
+     * that there is a possibility that other runtimes may exist in the image
+     * 
+     * @return an iterator to iterate over all of the known ManagedRuntime
+     * environments in the image. 
+     * 
+     * 
+     * @see javax.tools.diagnostics.runtime.ManagedRuntime 
+     * @see javax.tools.diagnostics.runtime.java.JavaRuntime
+     */
+    List<ManagedRuntime> getRuntimes();
+    
+    /**
+     * Get the OS signal number in this process which triggered the creation 
+     * of this image.
+     * 
+     * @return the OS signal number in this process which triggered the creation 
+     * of this image, or 0 if the image was not created because of a signal in this
+     * process
+     * 
+     * @exception DataUnavailable if the information cannot be provided
+     * @throws CorruptDataException 
+     */
+    int getSignalNumber() throws DataUnavailable, CorruptDataException;
+    
+    /**
+     * Get the name of the OS signal in this process which triggered the 
+     * creation of this image.
+     * @return the name of the OS signal in this process which triggered the 
+     * creation of this image, or null if the image was not created because of a 
+     * signal in this process
+     * 
+     * @exception DataUnavailable if the information cannot be provided
+     * @throws CorruptDataException 
+     */
+    String getSignalName() throws DataUnavailable, CorruptDataException;
+    
+    /**
+     * Determine the pointer size used by this process.
+     * Currently supported values are 31, 32 or 64.
+     * In the future, other pointer sizes may also be supported.
+     * 
+     * @return the size of a pointer, in bits
+     */
+    int getPointerSize();
+
+}

Propchange: incubator/kato/trunk/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/image/ImageProcess.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: incubator/kato/trunk/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/image/ImageRegister.java
URL: http://svn.apache.org/viewvc/incubator/kato/trunk/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/image/ImageRegister.java?rev=883384&r1=883383&r2=883384&view=diff
==============================================================================
--- incubator/kato/trunk/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/image/ImageRegister.java (original)
+++ incubator/kato/trunk/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/image/ImageRegister.java Mon Nov 23 15:53:48 2009
@@ -1,42 +1,42 @@
-/*******************************************************************************
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
- *   http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- ******************************************************************************/
-package javax.tools.diagnostics.image;
-
-/**
- * Represents the state of a CPU or FPU register
- */
-public interface ImageRegister {
-
-    /**
-     * Fetch the name of a register.
-     * 
-     * On some CPUs registers may have more than one conventional name. Recommended 
-     * names for some CPUs are provided in the user guide. 
-     *  
-     * @return the conventional name of the register
-     */
-    String getName();
-    
-    /**
-     * Get the value for the register.
-     * @return an integral or floating point type which contains
-     * the value for the register. The returned value may be an
-     * instance of any subclass of Number. For instance, on x86
-     * architectures with MMX, the XMM registers will be returned
-     * as BigInteger instances
-     * @throws CorruptDataException 
-     */
-    Number getValue() throws CorruptDataException;
-    
-}
+/*******************************************************************************
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ ******************************************************************************/
+package javax.tools.diagnostics.image;
+
+/**
+ * Represents the state of a CPU or FPU register
+ */
+public interface ImageRegister {
+
+    /**
+     * Fetch the name of a register.
+     * 
+     * On some CPUs registers may have more than one conventional name. Recommended 
+     * names for some CPUs are provided in the user guide. 
+     *  
+     * @return the conventional name of the register
+     */
+    String getName();
+    
+    /**
+     * Get the value for the register.
+     * @return an integral or floating point type which contains
+     * the value for the register. The returned value may be an
+     * instance of any subclass of Number. For instance, on x86
+     * architectures with MMX, the XMM registers will be returned
+     * as BigInteger instances
+     * @throws CorruptDataException 
+     */
+    Number getValue() throws CorruptDataException;
+    
+}

Propchange: incubator/kato/trunk/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/image/ImageRegister.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: incubator/kato/trunk/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/image/ImageSection.java
URL: http://svn.apache.org/viewvc/incubator/kato/trunk/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/image/ImageSection.java?rev=883384&r1=883383&r2=883384&view=diff
==============================================================================
--- incubator/kato/trunk/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/image/ImageSection.java (original)
+++ incubator/kato/trunk/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/image/ImageSection.java Mon Nov 23 15:53:48 2009
@@ -1,63 +1,63 @@
-/*******************************************************************************
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
- *   http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- ******************************************************************************/
-package javax.tools.diagnostics.image;
-
-/**
- * Represents a range of memory used for a specific purpose.
- * 
- * @see ImageModule
- */
-public interface ImageSection {
-    
-    /**
-     * Get the lowest address of memory in this section.
-     * @return the lowest address of memory in this section
-     */
-    ImagePointer getBaseAddress();
-    
-    /**
-     * Get the size of this contiguous image section as measured in bytes.
-     * @return the size of this contiguous image section as measured in bytes
-     */
-    long getSize();
-    
-    /**
-     * Get the name of this section (e.g. ".text").
-     * @return the name of this section (e.g. ".text").  Note that sections of the image which have no specific 
-     * name will receive a name synthesised by the implementation.  This will never be null.
-     */
-    String getName();
-    
-    /**
-     * Does this section contain executable code ?
-     * @return true if this section contains executable code, false otherwise 
-     * @throws DataUnavailable 
-     */
-    boolean isExecutable() throws DataUnavailable;
-    
-    /**
-     * Is this section read-only ?
-     * @return true if write access to this section was disabled
-     * @throws DataUnavailable 
-     */
-    boolean isReadOnly() throws DataUnavailable;
-    
-    /**
-     * Is this section shared with other VMs.
-     * @return true if this section is shared between processes
-     * @throws DataUnavailable 
-     */
-    boolean isShared() throws DataUnavailable;
-    
-}
+/*******************************************************************************
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ ******************************************************************************/
+package javax.tools.diagnostics.image;
+
+/**
+ * Represents a range of memory used for a specific purpose.
+ * 
+ * @see ImageModule
+ */
+public interface ImageSection {
+    
+    /**
+     * Get the lowest address of memory in this section.
+     * @return the lowest address of memory in this section
+     */
+    ImagePointer getBaseAddress();
+    
+    /**
+     * Get the size of this contiguous image section as measured in bytes.
+     * @return the size of this contiguous image section as measured in bytes
+     */
+    long getSize();
+    
+    /**
+     * Get the name of this section (e.g. ".text").
+     * @return the name of this section (e.g. ".text").  Note that sections of the image which have no specific 
+     * name will receive a name synthesised by the implementation.  This will never be null.
+     */
+    String getName();
+    
+    /**
+     * Does this section contain executable code ?
+     * @return true if this section contains executable code, false otherwise 
+     * @throws DataUnavailable 
+     */
+    boolean isExecutable() throws DataUnavailable;
+    
+    /**
+     * Is this section read-only ?
+     * @return true if write access to this section was disabled
+     * @throws DataUnavailable 
+     */
+    boolean isReadOnly() throws DataUnavailable;
+    
+    /**
+     * Is this section shared with other VMs.
+     * @return true if this section is shared between processes
+     * @throws DataUnavailable 
+     */
+    boolean isShared() throws DataUnavailable;
+    
+}

Propchange: incubator/kato/trunk/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/image/ImageSection.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: incubator/kato/trunk/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/image/ImageStackFrame.java
URL: http://svn.apache.org/viewvc/incubator/kato/trunk/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/image/ImageStackFrame.java?rev=883384&r1=883383&r2=883384&view=diff
==============================================================================
--- incubator/kato/trunk/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/image/ImageStackFrame.java (original)
+++ incubator/kato/trunk/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/image/ImageStackFrame.java Mon Nov 23 15:53:48 2009
@@ -1,66 +1,66 @@
-/*******************************************************************************
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
- *   http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- ******************************************************************************/
-package javax.tools.diagnostics.image;
-
-/**
- * Represents a native stack frame
- */
-public interface ImageStackFrame {
-
-    /**
-     * Get the address of the current instruction within
-     * the procedure being executed.
-     * @return the address of the current instruction within
-     * the procedure being executed, or null if not available.
-     * <br>
-     * Use this address with caution, as it is provided only 
-     * as a best guess. It may not be correct, or even within
-     * readable memory
-     * @throws CorruptDataException 
-     */
-    ImagePointer getProcedureAddress() throws CorruptDataException;
-    
-    /**
-     * Get the base pointer of the stack frame.
-     * @return the base pointer of the stack frame
-     * @throws CorruptDataException 
-     */
-    ImagePointer getBasePointer() throws CorruptDataException;
-    
-    /**
-     * Returns a string describing the procedure at this stack
-     * frame. Implementations should use the following template
-     * so that procedure names are reported consistently:
-     * <p>
-     * <dl><dd><pre>libname(sourcefile)::entrypoint&#177;<!-- +/- -->offset</pre></dd></dl>
-     * <p>
-     * Any portion of the template may be omitted if it is not available 
-     * <dl>
-     * <dt>e.g.</dt>
-     * 		<dd><pre>system32(source.c)::WaitForSingleObject+14</pre></dd>
-     * 		<dd><pre>system32::WaitForSingleObject-4</pre></dd>
-     * 		<dd><pre>(source.c)::WaitForSingleObject</pre></dd>
-     * 		<dd><pre>::WaitForSingleObject+14</pre></dd>
-     * 		<dd><pre>system32+1404</pre></dd>
-     * 		<dd><pre>system32::TWindow::open(int,void*)+14</pre></dd>
-     * </dl>
-     * 
-     * @return a string naming the function executing in this
-     * stack frame.  If the name is not known for legitimate
-     * reasons, Kato will return a synthetic name.
-     * @throws CorruptDataException 
-     */
-    String getProcedureName() throws CorruptDataException;
-    
-}
+/*******************************************************************************
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ ******************************************************************************/
+package javax.tools.diagnostics.image;
+
+/**
+ * Represents a native stack frame
+ */
+public interface ImageStackFrame {
+
+    /**
+     * Get the address of the current instruction within
+     * the procedure being executed.
+     * @return the address of the current instruction within
+     * the procedure being executed, or null if not available.
+     * <br>
+     * Use this address with caution, as it is provided only 
+     * as a best guess. It may not be correct, or even within
+     * readable memory
+     * @throws CorruptDataException 
+     */
+    ImagePointer getProcedureAddress() throws CorruptDataException;
+    
+    /**
+     * Get the base pointer of the stack frame.
+     * @return the base pointer of the stack frame
+     * @throws CorruptDataException 
+     */
+    ImagePointer getBasePointer() throws CorruptDataException;
+    
+    /**
+     * Returns a string describing the procedure at this stack
+     * frame. Implementations should use the following template
+     * so that procedure names are reported consistently:
+     * <p>
+     * <dl><dd><pre>libname(sourcefile)::entrypoint&#177;<!-- +/- -->offset</pre></dd></dl>
+     * <p>
+     * Any portion of the template may be omitted if it is not available 
+     * <dl>
+     * <dt>e.g.</dt>
+     * 		<dd><pre>system32(source.c)::WaitForSingleObject+14</pre></dd>
+     * 		<dd><pre>system32::WaitForSingleObject-4</pre></dd>
+     * 		<dd><pre>(source.c)::WaitForSingleObject</pre></dd>
+     * 		<dd><pre>::WaitForSingleObject+14</pre></dd>
+     * 		<dd><pre>system32+1404</pre></dd>
+     * 		<dd><pre>system32::TWindow::open(int,void*)+14</pre></dd>
+     * </dl>
+     * 
+     * @return a string naming the function executing in this
+     * stack frame.  If the name is not known for legitimate
+     * reasons, Kato will return a synthetic name.
+     * @throws CorruptDataException 
+     */
+    String getProcedureName() throws CorruptDataException;
+    
+}

Propchange: incubator/kato/trunk/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/image/ImageStackFrame.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: incubator/kato/trunk/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/image/ImageSymbol.java
URL: http://svn.apache.org/viewvc/incubator/kato/trunk/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/image/ImageSymbol.java?rev=883384&r1=883383&r2=883384&view=diff
==============================================================================
--- incubator/kato/trunk/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/image/ImageSymbol.java (original)
+++ incubator/kato/trunk/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/image/ImageSymbol.java Mon Nov 23 15:53:48 2009
@@ -1,34 +1,34 @@
-/*******************************************************************************
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
- *   http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- ******************************************************************************/
-package javax.tools.diagnostics.image;
-
-/**
- * Represents a symbol defined in an ImageModule
- *
- */
-public interface ImageSymbol {
-
-	/**
-	 * Get the address of this symbol in the image.
-	 * @return the address of this symbol in the image
-	 */
-	ImagePointer getAddress();
-	
-	/**
-	 * Get the name of the symbol.
-	 * @return the name of the symbol
-	 */
-	String getName();
-	
-}
+/*******************************************************************************
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ ******************************************************************************/
+package javax.tools.diagnostics.image;
+
+/**
+ * Represents a symbol defined in an ImageModule
+ *
+ */
+public interface ImageSymbol {
+
+	/**
+	 * Get the address of this symbol in the image.
+	 * @return the address of this symbol in the image
+	 */
+	ImagePointer getAddress();
+	
+	/**
+	 * Get the name of the symbol.
+	 * @return the name of the symbol
+	 */
+	String getName();
+	
+}

Propchange: incubator/kato/trunk/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/image/ImageSymbol.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: incubator/kato/trunk/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/image/ImageThread.java
URL: http://svn.apache.org/viewvc/incubator/kato/trunk/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/image/ImageThread.java?rev=883384&r1=883383&r2=883384&view=diff
==============================================================================
--- incubator/kato/trunk/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/image/ImageThread.java (original)
+++ incubator/kato/trunk/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/image/ImageThread.java Mon Nov 23 15:53:48 2009
@@ -1,85 +1,85 @@
-/*******************************************************************************
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
- *   http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- ******************************************************************************/
-package javax.tools.diagnostics.image;
-
-import java.util.List;
-import java.util.Properties;
-
-/**
- * A low-level thread instance
- */
-public interface ImageThread {
-
-    /**
-     * Fetch a unique identifier for the thread.
-     * In many operating systems, threads have more than one identifier (e.g.
-     * a thread id, a handle, a pointer to VM structures associated with the thread).
-     * In this case, one of these identifiers will be chosen as the canonical
-     * one. The other identifiers would be returned by getProperties()
-     * 
-     * @return a process-wide identifier for the thread (e.g. a tid number)
-     * @throws CorruptDataException 
-     */
-    String getID() throws CorruptDataException;
- 
-    /**
-     * Get the set of stack frames on this thread.
-     * 
-     * @return an iterator to walk the native stack frames in order from 
-     * top-of-stack (that is, the most recent frame) to bottom-of-stack. Throws
-     * DataUnavailable if native stack frames are not available on this platform.
-     * 
-     * @throws DataUnavailable If native stack frames are not available on this platform
-     * @see ImageStackFrame
-     * 
-     */
-    List<ImageStackFrame> getStackFrames() throws DataUnavailable;
-    
-    /**
-     * Get the set of image sections which make up the stack.
-     * 
-     * @return a collection of ImageSections which make up the stack. On
-     * most platforms this consists of a single entry, but on some platforms
-     * the thread's stack may consist of non-contiguous sections
-     * 
-     * @see ImageSection
-     * @see CorruptData
-     */
-    List<ImageSection> getStackSections();
-    
-    /**
-     * Get the register contents.
-     * 
-     * @return an iterator to iterate over the state of the CPU registers
-     * when the image was created. The collection may be empty if the register 
-     * state is not available for this thread.
-     * 
-     * If the CPU supports partial registers (e.g. AH, AL, AX, EAX, RAX on
-     * AMD64), only the largest version of the register will be included
-     * 
-     * @see ImageRegister
-     */
-    List<ImageRegister> getRegisters();
-    
-    /**
-     * Get the OS-specific properties for this thread.
-     * @return a table of OS-specific properties for this thread.
-     * Values which are commonly available include
-     * <ul>
-     * <li>"priority" -- the priority of the thread</li>
-     * <li>"policy" -- the scheduling policy of the thread</li>
-     * </ul> 
-     */
-    Properties getProperties();
-}
+/*******************************************************************************
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ ******************************************************************************/
+package javax.tools.diagnostics.image;
+
+import java.util.List;
+import java.util.Properties;
+
+/**
+ * A low-level thread instance
+ */
+public interface ImageThread {
+
+    /**
+     * Fetch a unique identifier for the thread.
+     * In many operating systems, threads have more than one identifier (e.g.
+     * a thread id, a handle, a pointer to VM structures associated with the thread).
+     * In this case, one of these identifiers will be chosen as the canonical
+     * one. The other identifiers would be returned by getProperties()
+     * 
+     * @return a process-wide identifier for the thread (e.g. a tid number)
+     * @throws CorruptDataException 
+     */
+    String getID() throws CorruptDataException;
+ 
+    /**
+     * Get the set of stack frames on this thread.
+     * 
+     * @return an iterator to walk the native stack frames in order from 
+     * top-of-stack (that is, the most recent frame) to bottom-of-stack. Throws
+     * DataUnavailable if native stack frames are not available on this platform.
+     * 
+     * @throws DataUnavailable If native stack frames are not available on this platform
+     * @see ImageStackFrame
+     * 
+     */
+    List<ImageStackFrame> getStackFrames() throws DataUnavailable;
+    
+    /**
+     * Get the set of image sections which make up the stack.
+     * 
+     * @return a collection of ImageSections which make up the stack. On
+     * most platforms this consists of a single entry, but on some platforms
+     * the thread's stack may consist of non-contiguous sections
+     * 
+     * @see ImageSection
+     * @see CorruptData
+     */
+    List<ImageSection> getStackSections();
+    
+    /**
+     * Get the register contents.
+     * 
+     * @return an iterator to iterate over the state of the CPU registers
+     * when the image was created. The collection may be empty if the register 
+     * state is not available for this thread.
+     * 
+     * If the CPU supports partial registers (e.g. AH, AL, AX, EAX, RAX on
+     * AMD64), only the largest version of the register will be included
+     * 
+     * @see ImageRegister
+     */
+    List<ImageRegister> getRegisters();
+    
+    /**
+     * Get the OS-specific properties for this thread.
+     * @return a table of OS-specific properties for this thread.
+     * Values which are commonly available include
+     * <ul>
+     * <li>"priority" -- the priority of the thread</li>
+     * <li>"policy" -- the scheduling policy of the thread</li>
+     * </ul> 
+     */
+    Properties getProperties();
+}

Propchange: incubator/kato/trunk/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/image/ImageThread.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: incubator/kato/trunk/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/image/MemoryAccessException.java
URL: http://svn.apache.org/viewvc/incubator/kato/trunk/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/image/MemoryAccessException.java?rev=883384&r1=883383&r2=883384&view=diff
==============================================================================
--- incubator/kato/trunk/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/image/MemoryAccessException.java (original)
+++ incubator/kato/trunk/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/image/MemoryAccessException.java Mon Nov 23 15:53:48 2009
@@ -1,51 +1,51 @@
-/*******************************************************************************
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
- *   http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- ******************************************************************************/
-package javax.tools.diagnostics.image;
-
-/**
- * Indicates that an attempt was made to access memory which is not included within the image
- */
-public class MemoryAccessException extends DiagnosticException {
-    
-	private static final long serialVersionUID = 8883829684484518525L;
-
-	private ImagePointer badPointer;
-    
-    /**
-     * Build exception for the given location and description 
-     * @param badPointer		the location which caused the access exception
-     * @param description		text description
-     */
-    public MemoryAccessException(ImagePointer badPointer, String description) {
-        super(description);
-        this.badPointer = badPointer;
-    }
-    
-    /**
-     * Build exception for the given location and description 
-     * @param badPointer		the location which caused the access exception
-     */
-    public MemoryAccessException(ImagePointer badPointer) {
-        super();
-        this.badPointer = badPointer;
-    }
-    
-    /**
-     * Get a pointer into the image where the access failed.
-     * @return The pointer into the image where the access failed
-     */
-    public ImagePointer getPointer() {
-    	return badPointer;
-    }
-}
+/*******************************************************************************
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ ******************************************************************************/
+package javax.tools.diagnostics.image;
+
+/**
+ * Indicates that an attempt was made to access memory which is not included within the image
+ */
+public class MemoryAccessException extends DiagnosticException {
+    
+	private static final long serialVersionUID = 8883829684484518525L;
+
+	private ImagePointer badPointer;
+    
+    /**
+     * Build exception for the given location and description 
+     * @param badPointer		the location which caused the access exception
+     * @param description		text description
+     */
+    public MemoryAccessException(ImagePointer badPointer, String description) {
+        super(description);
+        this.badPointer = badPointer;
+    }
+    
+    /**
+     * Build exception for the given location and description 
+     * @param badPointer		the location which caused the access exception
+     */
+    public MemoryAccessException(ImagePointer badPointer) {
+        super();
+        this.badPointer = badPointer;
+    }
+    
+    /**
+     * Get a pointer into the image where the access failed.
+     * @return The pointer into the image where the access failed
+     */
+    public ImagePointer getPointer() {
+    	return badPointer;
+    }
+}

Propchange: incubator/kato/trunk/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/image/MemoryAccessException.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: incubator/kato/trunk/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/runtime/ManagedRuntime.java
URL: http://svn.apache.org/viewvc/incubator/kato/trunk/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/runtime/ManagedRuntime.java?rev=883384&r1=883383&r2=883384&view=diff
==============================================================================
--- incubator/kato/trunk/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/runtime/ManagedRuntime.java (original)
+++ incubator/kato/trunk/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/runtime/ManagedRuntime.java Mon Nov 23 15:53:48 2009
@@ -1,55 +1,55 @@
-/*******************************************************************************
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
- *   http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- ******************************************************************************/
-package javax.tools.diagnostics.runtime;
-
-import javax.tools.diagnostics.image.CorruptDataException;
-
-
-/**
- * A generic managed runtime instance.
- * 
- * A Managed Runtime as against an "Unmanaged Runtime" is one where the runtime takes an active role in the program execution.
- * Common examples of managed runtimes are the Java Virtual Machine or the .NET Common Language Runtime.
- *  
- * <br>
- * No class should implement this interface directly. This is an marker interface which is extended by
- * specific runtime interfaces. See  {@link javax.tools.diagnostics.runtime.java.JavaRuntime} as an example of such a case.
- * 
- */
-public interface ManagedRuntime {
-    
-    
-    
-	/**
-	 * Returns version data available for this runtime instance. The version information is never null.
-	 * The format of the version data is implementation specific. 
-	 * 
-	 * @return a string representing  the available version information specific to the implementation
-	 * 
-	 * @throws CorruptDataException If the ManagedRuntime implementation is unable to retrieve version data
-	 */
-	public String getVersion() throws CorruptDataException;
-
-	/**
-	 * @remove as redundant - a carryover from initial contribution
-	 * 
-	 * Get the 'full' version information for this runtime.
-	 * @return a string representation of the version information for this runtime instance
-	 * @throws CorruptDataException 
-	 * @see #getVersion()
-	 * 
-	 * @deprecated Use "getVersion()" instead
-	 */
-	public String getFullVersion() throws CorruptDataException;    
-}
+/*******************************************************************************
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ ******************************************************************************/
+package javax.tools.diagnostics.runtime;
+
+import javax.tools.diagnostics.image.CorruptDataException;
+
+
+/**
+ * A generic managed runtime instance.
+ * 
+ * A Managed Runtime as against an "Unmanaged Runtime" is one where the runtime takes an active role in the program execution.
+ * Common examples of managed runtimes are the Java Virtual Machine or the .NET Common Language Runtime.
+ *  
+ * <br>
+ * No class should implement this interface directly. This is an marker interface which is extended by
+ * specific runtime interfaces. See  {@link javax.tools.diagnostics.runtime.java.JavaRuntime} as an example of such a case.
+ * 
+ */
+public interface ManagedRuntime {
+    
+    
+    
+	/**
+	 * Returns version data available for this runtime instance. The version information is never null.
+	 * The format of the version data is implementation specific. 
+	 * 
+	 * @return a string representing  the available version information specific to the implementation
+	 * 
+	 * @throws CorruptDataException If the ManagedRuntime implementation is unable to retrieve version data
+	 */
+	public String getVersion() throws CorruptDataException;
+
+	/**
+	 * @remove as redundant - a carryover from initial contribution
+	 * 
+	 * Get the 'full' version information for this runtime.
+	 * @return a string representation of the version information for this runtime instance
+	 * @throws CorruptDataException 
+	 * @see #getVersion()
+	 * 
+	 * @deprecated Use "getVersion()" instead
+	 */
+	public String getFullVersion() throws CorruptDataException;    
+}

Propchange: incubator/kato/trunk/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/runtime/ManagedRuntime.java
------------------------------------------------------------------------------
    svn:eol-style = native