summaryrefslogtreecommitdiff
path: root/src/analysis/contents/encapsulated.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/analysis/contents/encapsulated.c')
-rw-r--r--src/analysis/contents/encapsulated.c48
1 files changed, 48 insertions, 0 deletions
diff --git a/src/analysis/contents/encapsulated.c b/src/analysis/contents/encapsulated.c
index 74795ea..8a6ecae 100644
--- a/src/analysis/contents/encapsulated.c
+++ b/src/analysis/contents/encapsulated.c
@@ -85,6 +85,12 @@ static void g_encaps_content_compute_checksum(GEncapsContent *, GChecksum *);
/* Détermine le nombre d'octets lisibles. */
static phys_t g_encaps_content_compute_size(const GEncapsContent *);
+/* Détermine la position initiale d'un contenu. */
+static void g_encaps_content_compute_start_pos(const GEncapsContent *, vmpa2t *);
+
+/* Détermine la position finale d'un contenu. */
+static void g_encaps_content_compute_end_pos(const GEncapsContent *, vmpa2t *);
+
/* Avance la tête de lecture d'une certaine quantité de données. */
static bool g_encaps_content_seek(const GEncapsContent *, vmpa2t *, phys_t);
@@ -193,6 +199,8 @@ static void g_encaps_content_interface_init(GBinContentInterface *iface)
iface->compute_checksum = (compute_checksum_fc)g_encaps_content_compute_checksum;
iface->compute_size = (compute_size_fc)g_encaps_content_compute_size;
+ iface->compute_start_pos = (compute_start_pos_fc)g_encaps_content_compute_start_pos;
+ iface->compute_end_pos = (compute_end_pos_fc)g_encaps_content_compute_end_pos;
iface->seek = (seek_fc)g_encaps_content_seek;
@@ -525,6 +533,46 @@ static phys_t g_encaps_content_compute_size(const GEncapsContent *content)
/******************************************************************************
* *
* Paramètres : content = contenu binaire à venir lire. *
+* pos = position initiale. [OUT] *
+* *
+* Description : Détermine la position initiale d'un contenu. *
+* *
+* Retour : - *
+* *
+* Remarques : - *
+* *
+******************************************************************************/
+
+static void g_encaps_content_compute_start_pos(const GEncapsContent *content, vmpa2t *pos)
+{
+ g_binary_content_compute_start_pos(content->endpoint, pos);
+
+}
+
+
+/******************************************************************************
+* *
+* Paramètres : content = contenu binaire à venir lire. *
+* pos = position finale (exclusive). [OUT] *
+* *
+* Description : Détermine la position finale d'un contenu. *
+* *
+* Retour : - *
+* *
+* Remarques : - *
+* *
+******************************************************************************/
+
+static void g_encaps_content_compute_end_pos(const GEncapsContent *content, vmpa2t *pos)
+{
+ g_binary_content_compute_end_pos(content->endpoint, pos);
+
+}
+
+
+/******************************************************************************
+* *
+* Paramètres : content = contenu binaire à venir lire. *
* addr = position de la tête de lecture. *
* length = quantité d'octets à provisionner. *
* *