diff options
Diffstat (limited to 'src/common/packed.h')
-rw-r--r-- | src/common/packed.h | 43 |
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 *); |