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