diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2012-02-17 17:51:06 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2012-02-17 17:51:06 (GMT) |
commit | 73605bffb935fc51a52be1936426211e31dd898a (patch) | |
tree | 094d72321011baae0d5054e06906e9d006249c3b /src/debug/jdwp/jdwp_def.h | |
parent | 98a3c749a15349b874dcef0ce3a43ebff651d95a (diff) |
Listed all running threads using Python.
git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@234 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a
Diffstat (limited to 'src/debug/jdwp/jdwp_def.h')
-rw-r--r-- | src/debug/jdwp/jdwp_def.h | 70 |
1 files changed, 67 insertions, 3 deletions
diff --git a/src/debug/jdwp/jdwp_def.h b/src/debug/jdwp/jdwp_def.h index fc5a8fe..7f13f8c 100644 --- a/src/debug/jdwp/jdwp_def.h +++ b/src/debug/jdwp/jdwp_def.h @@ -2,7 +2,7 @@ /* OpenIDA - Outil d'analyse de fichiers binaires * jdwp_def.h - transcription du protocole Java Debug Wire Protocol * - * Copyright (C) 2010 Cyrille Bagard + * Copyright (C) 2010-2012 Cyrille Bagard * * This file is part of OpenIDA. * @@ -26,6 +26,7 @@ #include <stdint.h> +#include <sys/types.h> @@ -72,10 +73,31 @@ typedef struct __attribute__((__packed__)) _jdwp_header /* ---------------------------------------------------------------------------------- */ +/* CONSTANTES UTILISEES DANS JDWP */ +/* ---------------------------------------------------------------------------------- */ + + +/* Constantes TypeTag */ +typedef uint8_t jdwp_type_tag; + +#define JDWP_TYPE_TAG_CLASS 1 /* Le type est une classe */ +#define JDWP_TYPE_TAG_INTERFACE 2 /* Le type est une interface */ +#define JDWP_TYPE_TAG_ARRAY 3 /* Le type est un tableau */ + + + + + + +/* ---------------------------------------------------------------------------------- */ /* TYPES DE BASE DIVERS POUR JDWP */ /* ---------------------------------------------------------------------------------- */ +/* Identifiant de taille dynamique */ +typedef uint64_t jdwp_dynsized_id; + + /* "string" */ @@ -89,22 +111,32 @@ typedef struct _jdwp_string - - /** * Jeux de commandes. */ +#define JDWP_CST_NONE 0 /* Organisation interne */ #define JDWP_CST_VIRTUAL_MACHINE 1 +#define JDWP_CST_THREAD_REFERENCE 11 /** * Sous-commandes d'un jeu. */ +/* Organisation interne */ + +#define JDWP_CMD_NONE 0 + /* VirtualMachine Command Set */ #define JDWP_CMD_VM_VERSION 1 +#define JDWP_CMD_VM_ALL_THREADS 4 +#define JDWP_CMD_VM_ID_SIZES 7 + +/* ThreadReference Command Set */ + +#define JDWP_CMD_THREAD_NAME 1 /** @@ -123,8 +155,40 @@ typedef struct _jdwp_cmd_vm_version_reply } jdwp_cmd_vm_version_reply; +/* JDWP_CMD_VM_ALL_THREADS */ + +typedef struct _jdwp_cmd_vm_allthreads_reply +{ + uint32_t count; /* Taille de la liste */ + jdwp_dynsized_id *threads; /* Identifiant des threads */ + +} jdwp_cmd_vm_allthreads_reply; +/* JDWP_CMD_VM_ID_SIZES */ + +typedef struct _jdwp_cmd_vm_id_sizes_reply +{ + uint32_t field_id_size; /* taille pour un 'fieldID' */ + uint32_t method_id_size; /* taille pour un 'methodID' */ + uint32_t object_id_size; /* taille pour un 'objectID' */ + uint32_t reference_type_id_size; /* taille pour un '...TypeID' */ + uint32_t frame_id_size; /* taille pour un 'frameID' */ + +} jdwp_cmd_vm_id_sizes_reply; + +/* JDWP_CMD_THREAD_NAME */ + +typedef struct _jdwp_cmd_thread_name_request +{ + jdwp_dynsized_id id; /* Identifiant du thread visé */ + +} jdwp_cmd_thread_name_request; + +typedef struct _jdwp_cmd_thread_name_reply +{ + jdwp_string name; /* Désignation humaine */ +} jdwp_cmd_thread_name_reply; |