Module openj9.dtfj

Class Edb


  • public class Edb
    extends Object
    This class represents an LE Enclave Data Block. This provides access to such things as the chain of Dlls. Normally this object is obtained via the Caa, but as a convenience a method is provided to obtain one directly from an AddressSpace.
    • Constructor Detail

      • Edb

        public Edb​(long address,
                   AddressSpace space,
                   boolean is64bit)
        Constructs a new Edb given the address of the edb structure
    • Method Detail

      • address

        public long address()
        Returns the address of this edb.
      • ceeedbensm

        public long ceeedbensm()
                        throws IOException
        Returns the ceeedbensm address
        Throws:
        IOException - if an error occurred reading from the address space
      • ceeedboptcb

        public long ceeedboptcb()
                         throws IOException
        Returns the ceeedboptcb (options control block - ocb) address
        Throws:
        IOException - if an error occurred reading from the address space
      • ceeedb_ceeosigr

        public long ceeedb_ceeosigr()
                             throws IOException
        Returns the ceeosigr address
        Throws:
        IOException - if an error occurred reading from the address space
      • ceeedb_qpcb

        public long ceeedb_qpcb()
                         throws IOException
        Returns the qpcb address
        Throws:
        IOException - if an error occurred reading from the address space
      • getMallocSize

        public long getMallocSize​(long ptr)
                           throws IOException,
                                  IllegalArgumentException
        Given a malloc'd pointer, returns the size of the area. Note that this may not be the actual size requested in the original malloc call if heap pools are in use because heap pools round up to the nearest pool size. This method is mainly for use in estimating memory usage.
        Throws:
        IOException - if an error occurred reading from the address space
        IllegalArgumentException - if the pointer was not the address of a malloc'd area
      • ceeedbdba

        public long ceeedbdba()
                       throws IOException
        Returns the ceeedbdba
        Throws:
        IOException - if an error occurred reading from the address space
      • getSampleEdb

        public static Edb getSampleEdb​(AddressSpace space)
        Returns a "sample" Edb for the given address space. Note that for certain applications (CICS?) there can be more than one Edb per address space. Returns null if there is no Edb. XXX to be removed once we fix the AddressSpace/Process issue
      • getEdbs

        public static Edb[] getEdbs​(AddressSpace space)
        Returns an array of all the Edbs in the given address space.
      • getFirstDll

        public Dll getFirstDll()
                        throws IOException
        Returns the first in the chain of Dlls (or null if there aren't any).
        Throws:
        IOException - if an error occurred reading from the address space
      • rptstg

        public boolean rptstg()
                       throws IOException
        Returns true if the LE runtime option RPTSTG(ON) is set
        Throws:
        IOException
      • storage

        public boolean storage()
                        throws IOException
        Returns true if the LE runtime option STORAGE(ON) is set
        Throws:
        IOException