summaryrefslogtreecommitdiff
path: root/src/common/packed.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/common/packed.h')
-rw-r--r--src/common/packed.h43
1 files changed, 26 insertions, 17 deletions
diff --git a/src/common/packed.h b/src/common/packed.h
index 5bc4fbb..f43b999 100644
--- a/src/common/packed.h
+++ b/src/common/packed.h
@@ -36,7 +36,7 @@
/* Rassemblement de données d'un paquet */
-typedef struct _packed_buffer
+typedef struct _packed_buffer_t
{
uint8_t *data; /* Données à traiter */
size_t allocated; /* Taille allouée */
@@ -44,53 +44,62 @@ typedef struct _packed_buffer
size_t used; /* Quantité de données utiles */
size_t pos; /* Tête de lecture/écriture */
-} packed_buffer;
+} packed_buffer_t;
+
+
+typedef struct _packed_buffer_t packed_buffer; /* REMME */
/* Initialise un paquet réseau pour une constitution. */
-void init_packed_buffer(packed_buffer *);
+void init_packed_buffer(packed_buffer_t *);
+
+/* Rembobine le paquet de données à son départ. */
+void rewind_packed_buffer(packed_buffer_t *);
/* Réinitialise un paquet réseau pour une constitution. */
-void reset_packed_buffer(packed_buffer *);
+void reset_packed_buffer(packed_buffer_t *);
/* Efface les données contenues par un paquet réseau. */
-void exit_packed_buffer(packed_buffer *);
+void exit_packed_buffer(packed_buffer_t *);
+
+/* Copie les données d'un tampon dans un autre. */
+void copy_packed_buffer(packed_buffer_t *, const packed_buffer_t *);
/* Indique le nombre d'octets de la charge utile d'un paquet. */
-size_t get_packed_buffer_payload_length(const packed_buffer *);
+size_t get_packed_buffer_payload_length(const packed_buffer_t *);
/* Détermine si des données sont disponibles en lecture. */
-bool has_more_data_in_packed_buffer(const packed_buffer *);
+bool has_more_data_in_packed_buffer(const packed_buffer_t *);
/* Ajoute des données à un paquet en amont à un envoi. */
-bool extend_packed_buffer(packed_buffer *, const void *, size_t, bool);
+bool extend_packed_buffer(packed_buffer_t *, const void *, size_t, bool);
/* Récupère des données depuis un paquet après une réception. */
-bool peek_packed_buffer(packed_buffer *, void *, size_t, bool);
+bool peek_packed_buffer(packed_buffer_t *, void *, size_t, bool);
/* Avance la tête de lecture dans les données d'un paquet. */
-void advance_packed_buffer(packed_buffer *, size_t);
+void advance_packed_buffer(packed_buffer_t *, size_t);
/* Récupère des données depuis un paquet après une réception. */
-bool extract_packed_buffer(packed_buffer *, void *, size_t, bool);
+bool extract_packed_buffer(packed_buffer_t *, void *, size_t, bool);
/* Lit des données depuis un flux local. */
-bool read_packed_buffer(packed_buffer *, int);
+bool read_packed_buffer(packed_buffer_t *, int);
/* Ecrit des données dans un flux local. */
-bool write_packed_buffer(packed_buffer *, int);
+bool write_packed_buffer(packed_buffer_t *, int);
/* Réceptionne des données depuis un flux réseau. */
-bool recv_packed_buffer(packed_buffer *, int);
+bool recv_packed_buffer(packed_buffer_t *, int);
/* Envoie des données au travers un flux réseau. */
-bool send_packed_buffer(packed_buffer *, int);
+bool send_packed_buffer(packed_buffer_t *, int);
/* Réceptionne des données depuis un flux réseau chiffré. */
-bool ssl_recv_packed_buffer(packed_buffer *, SSL *);
+bool ssl_recv_packed_buffer(packed_buffer_t *, SSL *);
/* Envoie des données au travers un flux réseau chiffré. */
-bool ssl_send_packed_buffer(packed_buffer *, SSL *);
+bool ssl_send_packed_buffer(packed_buffer_t *, SSL *);