summaryrefslogtreecommitdiff
path: root/src/common/ibuf.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/common/ibuf.h')
-rw-r--r--src/common/ibuf.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/common/ibuf.h b/src/common/ibuf.h
index 3d0d5d1..ecd8814 100644
--- a/src/common/ibuf.h
+++ b/src/common/ibuf.h
@@ -25,6 +25,7 @@
#define _COMMON_IBUF_H
+#include <stdbool.h>
#include <stdint.h>
#include <sys/types.h>
@@ -48,18 +49,39 @@ typedef struct _input_buffer
/* Initialise un contenu textuel pour une lecture ultérieure. */
void init_text_input_buffer(input_buffer *, const char *);
+/* Fournit la taille totale du tampon constitué. */
+size_t get_input_buffer_size(const input_buffer *);
+
/* Compte le nombre d'octets encore non lus. */
size_t count_input_buffer_remaining(const input_buffer *);
+/* Détermine s'il reste encore des données disponibles. */
+bool input_buffer_contain_data(const input_buffer *);
+
/* Avance la tête de lecture dans le tampon de données. */
void advance_input_buffer(input_buffer *, size_t);
/* Fournit un accès brut au niveau de la tête de lecture. */
const char *get_input_buffer_text_access(const input_buffer *);
+/* Fournit la chaîne de caractère restant à traiter. */
+const char *get_input_buffer_string(const input_buffer *, size_t *);
+
+/* Fournit le caractère courant à la tête de lecture courante. */
+char peek_input_buffer_char(const input_buffer *);
+
+/* Fournit le caractère suivant la tête de lecture courante. */
+char peek_input_buffer_next_char(const input_buffer *);
+
/* Fournit et avance la tête de lecture courante. */
char text_input_buffer_next_char(input_buffer *);
+/* Fournit et avance la tête de lecture courante, si possible. */
+bool get_input_buffer_next_char_carefully(input_buffer *, char *);
+
+/* Vérifie la nature du caractère courant. */
+bool check_input_buffer_char(input_buffer *, char);
+
/* Note la position courante de la tête de lecture. */
void save_input_buffer_pos(const input_buffer *, size_t *);