summaryrefslogtreecommitdiff
path: root/src/debug/jdwp/jdwp_def.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/debug/jdwp/jdwp_def.h')
-rw-r--r--src/debug/jdwp/jdwp_def.h237
1 files changed, 0 insertions, 237 deletions
diff --git a/src/debug/jdwp/jdwp_def.h b/src/debug/jdwp/jdwp_def.h
deleted file mode 100644
index 4e1ae27..0000000
--- a/src/debug/jdwp/jdwp_def.h
+++ /dev/null
@@ -1,237 +0,0 @@
-
-/* Chrysalide - Outil d'analyse de fichiers binaires
- * jdwp_def.h - transcription du protocole Java Debug Wire Protocol
- *
- * Copyright (C) 2010-2017 Cyrille Bagard
- *
- * This file is part of Chrysalide.
- *
- * Chrysalide 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 3 of the License, or
- * (at your option) any later version.
- *
- * Chrysalide 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 Chrysalide. If not, see <http://www.gnu.org/licenses/>.
- */
-
-
-#ifndef _DEBUG_JDWP_JDWP_DEF_H
-#define _DEBUG_JDWP_JDWP_DEF_H
-
-
-#include <stdint.h>
-#include <sys/types.h>
-
-
-
-/**
- * Les définitions ci-dessous sont issues des pages Web suivantes :
- * - http://download.oracle.com/javase/1.4.2/docs/guide/jpda/jdwp-spec.html
- * - http://download.oracle.com/javase/1.4.2/docs/guide/jpda/jdwp/jdwp-protocol.html
- */
-
-
-
-/* ---------------------------------------------------------------------------------- */
-/* EN-TETES DE PAQUETS JDWP */
-/* ---------------------------------------------------------------------------------- */
-
-
-/* En-tête générique */
-typedef struct __attribute__((__packed__)) _jdwp_header
-{
- uint32_t length; /* Taille totale du paquet */
- uint32_t id; /* Numéro de séquence */
- uint8_t flags; /* Options diverses */
-
- union
- {
- /* Requête */
- struct
- {
- uint8_t set; /* Jeu de commandes */
- uint8_t command; /* Identifiant de commande */
- };
-
- /* Réponse */
- uint16_t error; /* Numéro d'erreur */
-
- };
-
-} jdwp_header;
-
-
-#define JDWP_FLAGS_NONE 0x00
-#define JDWP_FLAGS_REPLY 0x80
-
-
-
-/* ---------------------------------------------------------------------------------- */
-/* 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;
-
-
-
-/* "location" */
-typedef struct _jdwp_location
-{
- jdwp_type_tag tag; /* Classe ou interface ? */
-
- jdwp_dynsized_id class_id; /* Identifiant correspondant */
- jdwp_dynsized_id method_id; /* Méthode concernée */
- uint64_t index; /* Position dans le code */
-
-} jdwp_location;
-
-
-/* "string" */
-typedef struct _jdwp_string
-{
- uint32_t length; /* Taille de la chaîne */
- char *value; /* Chaîne encodée en UTF-8 */
-
-} 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
-#define JDWP_CMD_THREAD_FRAMES 6
-
-
-/**
- * Charges utiles des paquets.
- */
-
-/* JDWP_CMD_VM_VERSION */
-
-typedef struct _jdwp_cmd_vm_version_reply
-{
- jdwp_string description; /* Infos sur la VM */
- uint32_t jdwp_major; /* Numéro majeur de JDWP */
- uint32_t jdwp_minor; /* Numéro mineur de JDWP */
- jdwp_string vm_version; /* Version JRE de la VM ciblée */
- jdwp_string vm_name; /* Nom de la VM */
-
-} 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;
-
-/* JDWP_CMD_THREAD_FRAMES */
-
-typedef struct _jdwp_cmd_thread_frames_request
-{
- jdwp_dynsized_id id; /* Identifiant du thread visé */
- uint32_t start; /* Première frame à traiter */
- uint32_t length; /* Longueur de la liste ou -1 */
-
-} jdwp_cmd_thread_frames_request;
-
-#define ALL_FRAMES 0xffffffff
-
-typedef struct _jdwp_thread_frame
-{
- jdwp_dynsized_id frame_id; /* Identifiant de la frame */
- jdwp_location location; /* Localisation de la frame */
-
-} jdwp_thread_frame;
-
-typedef struct _jdwp_cmd_thread_frames_reply
-{
- uint32_t count; /* Taille de la liste */
- jdwp_thread_frame *frames; /* Liste de frames */
-
-} jdwp_cmd_thread_frames_reply;
-
-
-
-#endif /* _DEBUG_JDWP_JDWP_DEF_H */