diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2018-12-07 22:17:48 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2018-12-07 22:17:48 (GMT) |
commit | f36b525987442d46c920f76dced29356663ae85b (patch) | |
tree | a8e231bd4cb209a42155e927fdd17f807a42dc68 /src/debug/jdwp/sets/list.c | |
parent | 5a85f3d6ee1d6121c0f7bec0eceb677179f5b3de (diff) |
Removed code.
Diffstat (limited to 'src/debug/jdwp/sets/list.c')
-rw-r--r-- | src/debug/jdwp/sets/list.c | 191 |
1 files changed, 0 insertions, 191 deletions
diff --git a/src/debug/jdwp/sets/list.c b/src/debug/jdwp/sets/list.c deleted file mode 100644 index fcab7be..0000000 --- a/src/debug/jdwp/sets/list.c +++ /dev/null @@ -1,191 +0,0 @@ - -/* Chrysalide - Outil d'analyse de fichiers binaires - * list.c - ensemble des jeux de commandes de JDWP - * - * 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/>. - */ - - -#include "list.h" - - -#include <stddef.h> - - -#include "thread.h" -#include "vm.h" - - -/* Consitue un contenu binaire à partir d'une charge utile. */ -typedef bool (* set_jdwp_payload_fc) (const jdwp_payload *, const jdwp_cmd_vm_id_sizes_reply *, bin_t *, off_t *); - -/* Reconstitue une charge utile à partir d'un contenu binaire. */ -typedef bool (* get_jdwp_payload_fc) (const bin_t *, off_t, const jdwp_cmd_vm_id_sizes_reply *, jdwp_payload *); - -/* Libère le contenu d'une charge utile. */ -typedef void (* free_jdwp_payload_fc) (jdwp_payload *); - - -/* Commandes JDWP */ -typedef struct _jdwp_command -{ - set_jdwp_payload_fc set_payload; /* Constitution du binaire */ - free_jdwp_payload_fc free_set_payload; /* Libération de la mémoire */ - get_jdwp_payload_fc get_payload; /* Constitution de la charge */ - free_jdwp_payload_fc free_got_payload; /* Libération de la mémoire */ - -} jdwp_command; - - -/* Energistrement des différents jeux */ -static jdwp_command _commands[][256] = { - - [JDWP_CST_VIRTUAL_MACHINE] = { - - [JDWP_CMD_VM_VERSION] = { - .set_payload = (set_jdwp_payload_fc)NULL, - .free_set_payload = (free_jdwp_payload_fc)NULL, - .get_payload = (get_jdwp_payload_fc)get_jdwp_vm_version, - .free_got_payload = (free_jdwp_payload_fc)free_jdwp_vm_version - }, - - [JDWP_CMD_VM_ALL_THREADS] = { - .set_payload = (set_jdwp_payload_fc)NULL, - .free_set_payload = (free_jdwp_payload_fc)NULL, - .get_payload = (get_jdwp_payload_fc)get_jdwp_vm_all_threads, - .free_got_payload = (free_jdwp_payload_fc)free_jdwp_all_threads - }, - - [JDWP_CMD_VM_ID_SIZES] = { - .set_payload = (set_jdwp_payload_fc)NULL, - .free_set_payload = (free_jdwp_payload_fc)NULL, - .get_payload = (get_jdwp_payload_fc)get_jdwp_vm_id_sizes, - .free_got_payload = (free_jdwp_payload_fc)NULL - } - - }, - - [JDWP_CST_THREAD_REFERENCE] = { - - [JDWP_CMD_THREAD_NAME] = { - .set_payload = (set_jdwp_payload_fc)set_jdwp_thread_name, - .free_set_payload = (free_jdwp_payload_fc)NULL, - .get_payload = (get_jdwp_payload_fc)get_jdwp_thread_name, - .free_got_payload = (free_jdwp_payload_fc)free_jdwp_thread_name_reply - }, - - [JDWP_CMD_THREAD_FRAMES] = { - .set_payload = (set_jdwp_payload_fc)set_jdwp_thread_frames, - .free_set_payload = (free_jdwp_payload_fc)NULL, - .get_payload = (get_jdwp_payload_fc)get_jdwp_thread_frames, - .free_got_payload = (free_jdwp_payload_fc)free_jdwp_thread_frames_reply - } - - } - -}; - - - -/****************************************************************************** -* * -* Paramètres : payload = charge utile à transcrire. * -* set = jeu de commandes concerné. * -* cmd = identifiant d'une commande donnée. * -* sizes = références pour la valeur des tailles dynamiques. * -* blob = futures données binaires brutes. [OUT] * -* len = quantité de données valides. [OUT] * -* * -* Description : Reconstitue un contenu binaire à partir d'une charge utile. * -* * -* Retour : Bilan de l'opération. * -* * -* Remarques : - * -* * -******************************************************************************/ - -bool set_jdwp_payload(const jdwp_payload *payload, uint8_t set, uint8_t cmd, const jdwp_cmd_vm_id_sizes_reply *sizes, bin_t *blob, off_t *len) -{ - bool result; /* Bilan à retourner */ - - if (_commands[set][cmd].set_payload == NULL) result = false; - else result = _commands[set][cmd].set_payload(payload, sizes, blob, len); - - return result; - -} - - -/****************************************************************************** -* * -* Paramètres : blob = ensemble de données binaires brutes. * -* len = quantité de données valides. * -* set = jeu de commandes concerné. * -* cmd = identifiant d'une commande donnée. * -* sizes = références pour la valeur des tailles dynamiques. * -* payload = charge utile à reconstituer. [OUT] * -* * -* Description : Reconstitue une charge utile à partir d'un contenu binaire. * -* * -* Retour : Bilan de l'opération. * -* * -* Remarques : - * -* * -******************************************************************************/ - -bool get_jdwp_payload(const bin_t *blob, off_t len, uint8_t set, uint8_t cmd, const jdwp_cmd_vm_id_sizes_reply *sizes, jdwp_payload *payload) -{ - bool result; /* Bilan à retourner */ - - if (_commands[set][cmd].get_payload == NULL) result = false; - else result = _commands[set][cmd].get_payload(blob, len, sizes, payload); - - return result; - -} - - -/****************************************************************************** -* * -* Paramètres : payload = charge utile à supprimer de la mémoire. * -* got = type de charge utile à traiter. * -* set = jeu de commandes concerné. * -* cmd = identifiant d'une commande donnée. * -* * -* Description : Libère le contenu d'une charge utile. * -* * -* Retour : - * -* * -* Remarques : - * -* * -******************************************************************************/ - -void free_jdwp_payload(jdwp_payload *payload, bool got, uint8_t set, uint8_t cmd) -{ - if (got) - { - if (_commands[set][cmd].free_got_payload != NULL) - _commands[set][cmd].free_got_payload(payload); - } - else - { - if (_commands[set][cmd].free_set_payload != NULL) - _commands[set][cmd].free_set_payload(payload); - } - -} |