< prev index next >

src/jdk.hotspot.agent/linux/native/libsaproc/libproc_impl.h

Print this page




  22  *
  23  */
  24 
  25 #ifndef _LIBPROC_IMPL_H_
  26 #define _LIBPROC_IMPL_H_
  27 
  28 #include <unistd.h>
  29 #include <limits.h>
  30 #include "libproc.h"
  31 #include "symtab.h"
  32 
  33 // data structures in this file mimic those of Solaris 8.0 - libproc's Pcontrol.h
  34 
  35 #define BUF_SIZE     (PATH_MAX + NAME_MAX + 1)
  36 
  37 // .eh_frame data
  38 typedef struct eh_frame_info {
  39   uintptr_t library_base_addr;
  40   uintptr_t v_addr;
  41   unsigned char* data;

  42 } eh_frame_info;
  43 
  44 // list of shared objects
  45 typedef struct lib_info {
  46   char             name[BUF_SIZE];
  47   uintptr_t        base;
  48   uintptr_t        exec_start;
  49   uintptr_t        exec_end;
  50   eh_frame_info    eh_frame;
  51   struct symtab*   symtab;
  52   int              fd;        // file descriptor for lib
  53   struct lib_info* next;
  54 } lib_info;
  55 
  56 // list of threads
  57 typedef struct thread_info {
  58    lwpid_t                  lwp_id;
  59    struct user_regs_struct  regs;       // not for process, core uses for caching regset
  60    struct thread_info*      next;
  61 } thread_info;




  22  *
  23  */
  24 
  25 #ifndef _LIBPROC_IMPL_H_
  26 #define _LIBPROC_IMPL_H_
  27 
  28 #include <unistd.h>
  29 #include <limits.h>
  30 #include "libproc.h"
  31 #include "symtab.h"
  32 
  33 // data structures in this file mimic those of Solaris 8.0 - libproc's Pcontrol.h
  34 
  35 #define BUF_SIZE     (PATH_MAX + NAME_MAX + 1)
  36 
  37 // .eh_frame data
  38 typedef struct eh_frame_info {
  39   uintptr_t library_base_addr;
  40   uintptr_t v_addr;
  41   unsigned char* data;
  42   int size;
  43 } eh_frame_info;
  44 
  45 // list of shared objects
  46 typedef struct lib_info {
  47   char             name[BUF_SIZE];
  48   uintptr_t        base;
  49   uintptr_t        exec_start;
  50   uintptr_t        exec_end;
  51   eh_frame_info    eh_frame;
  52   struct symtab*   symtab;
  53   int              fd;        // file descriptor for lib
  54   struct lib_info* next;
  55 } lib_info;
  56 
  57 // list of threads
  58 typedef struct thread_info {
  59    lwpid_t                  lwp_id;
  60    struct user_regs_struct  regs;       // not for process, core uses for caching regset
  61    struct thread_info*      next;
  62 } thread_info;


< prev index next >