LibTRO 0
Uma biblioteca com funções semelhantes às do C para fins educacionais na Eletrônica, IF Sul Pelotas.
Carregando...
Procurando...
Nenhuma entrada encontrado
troio.h
Ir para a documentação desse arquivo.
1
2
3#ifndef TRO_TROIO_H_
4#define TRO_TROIO_H_
5
6#include "tro/private/api.h"
7#include "tro/private/bool.h"
8#include "tro/private/doxy.h"
9
10#include <stddef.h>
11#include <stdint.h>
12#if TRO__USE_STDBOOL
13# include <stdbool.h>
14#endif
15#include <stdarg.h>
16
17#include "tro/dybuffer.h"
18#include "tro/uchar.h"
19
20TRO__C_API_BEGIN
21
29#define TRO_BUFFER_CAPACITY 512
30
42typedef struct tro_file tro_file;
47TRO__API const tro_dybuffer_i *const tro_fdybuffer_vt;
53#define tro_fdybuffer(file) \
54 ((tro_dybuffer_obj){ \
55 .obj = (void *)file, \
56 .vtable = tro_fdybuffer_vt, \
57 })
58
92
123
138TRO__API tro_file *tro_fopen(const char *filepath, tro_fmode mode);
139
146TRO__API void tro_fclose(tro_file *file);
147
157TRO__API void tro_fsetbuf(tro_file *file, tro_fbufmode mode, size_t capacity);
158
180TRO__API uintptr_t tro_fileno(const tro_file *file);
181
189TRO__API bool tro_fterminal(const tro_file *file);
190
200TRO__API bool tro_fwrites(tro_file *file, const char *data, size_t datal);
201
211TRO__API bool tro_fwrites16(tro_file *file, const tro_char16 *data,
212 size_t datal);
213
221TRO__API bool tro_fwriteb(tro_file *file, const uint8_t *data, size_t datal);
222
230TRO__API bool tro_fwritec(tro_file *file, uint32_t rune, size_t count);
231
238
247TRO__API bool tro_fputc(tro_file *file, tro_urune rune);
248
258TRO__API bool tro_fputs(tro_file *file, const char *s);
259
269TRO__API bool tro_fputs16(tro_file *file, const tro_char16 *s);
270
282TRO__API bool tro_fflush(tro_file *file);
283
293TRO__API bool tro_fprintf(tro_file *file, const char *format, ...);
294
306TRO__API bool tro_vfprintf(tro_file *file, const char *format, va_list args);
307
317TRO__API bool tro_fprintf16(tro_file *file, const tro_char16 *format, ...);
318
330TRO__API bool tro_vfprintf16(tro_file *file, const tro_char16 *format,
331 va_list args);
332
347extern tro_file *const troout;
360extern tro_file *const troin;
375extern tro_file *const troerr;
376
384TRO__API bool tro_putc(tro_urune rune);
385
394TRO__API bool tro_puts(const char *s);
395
404TRO__API bool tro_puts16(const tro_char16 *s);
405
413TRO__API bool tro_eputc(tro_urune rune);
414
423TRO__API bool tro_eputs(const char *s);
424
433TRO__API bool tro_eputs16(const tro_char16 *s);
434
444TRO__API bool tro_printf(const char *format, ...);
445
457TRO__API bool tro_vprintf(const char *format, va_list args);
458
468TRO__API bool tro_printf16(const tro_char16 *format, ...);
469
481TRO__API bool tro_vprintf16(const tro_char16 *format, va_list args);
482
492TRO__API bool tro_eprintf(const char *format, ...);
493
505TRO__API bool tro_veprintf(const char *format, va_list args);
506
516TRO__API bool tro_eprintf16(const tro_char16 *format, ...);
517
529TRO__API bool tro_veprintf16(const tro_char16 *format, va_list args);
530
531TRO__C_API_END
532
533#endif // TRO_TROIO_H_
tro_dybuf_pref
Definição dybuffer.h:26
Definição dybuffer.h:53
tro_file * tro_fopen(const char *filepath, tro_fmode mode)
uintptr_t tro_fileno(const tro_file *file)
tro_fbufmode
Definição troio.h:99
@ TRO_FBUFMODE_LINE_BUFFER
Definição troio.h:113
@ TRO_FBUFMODE_FULL_BUFFER
Definição troio.h:121
@ TRO_FBUFMODE_NO_BUFFER
Definição troio.h:105
bool tro_puts(const char *s)
tro_dybuf_pref tro_fbufpref(const tro_file *file)
bool tro_veprintf16(const tro_char16 *format, va_list args)
void tro_fclose(tro_file *file)
bool tro_fflush(tro_file *file)
bool tro_fwriteb(tro_file *file, const uint8_t *data, size_t datal)
bool tro_fputs16(tro_file *file, const tro_char16 *s)
void tro_fsetbuf(tro_file *file, tro_fbufmode mode, size_t capacity)
bool tro_eputc(tro_urune rune)
bool tro_eprintf(const char *format,...)
bool tro_eputs(const char *s)
tro_file *const troin
const tro_dybuffer_i *const tro_fdybuffer_vt
Definição troio.h:47
bool tro_fputs(tro_file *file, const char *s)
bool tro_fwrites(tro_file *file, const char *data, size_t datal)
bool tro_putc(tro_urune rune)
bool tro_fprintf(tro_file *file, const char *format,...)
bool tro_fputc(tro_file *file, tro_urune rune)
bool tro_printf(const char *format,...)
struct tro_file tro_file
Definição troio.h:42
bool tro_fterminal(const tro_file *file)
bool tro_fwritec(tro_file *file, uint32_t rune, size_t count)
tro_file *const troerr
bool tro_vfprintf(tro_file *file, const char *format, va_list args)
bool tro_fwrites16(tro_file *file, const tro_char16 *data, size_t datal)
tro_file *const troout
bool tro_veprintf(const char *format, va_list args)
bool tro_printf16(const tro_char16 *format,...)
tro_fmode
Definição troio.h:63
@ TRO_FMODE_RDAD
Definição troio.h:90
@ TRO_FMODE_APPEND
Definição troio.h:82
@ TRO_FMODE_NULL
Definição troio.h:70
@ TRO_FMODE_WRITE
Definição troio.h:78
@ TRO_FMODE_READ
Definição troio.h:74
@ TRO_FMODE_RDWT
Definição troio.h:86
bool tro_vfprintf16(tro_file *file, const tro_char16 *format, va_list args)
bool tro_eputs16(const tro_char16 *s)
bool tro_eprintf16(const tro_char16 *format,...)
bool tro_vprintf16(const tro_char16 *format, va_list args)
bool tro_vprintf(const char *format, va_list args)
bool tro_puts16(const tro_char16 *s)
bool tro_fprintf16(tro_file *file, const tro_char16 *format,...)
uint16_t tro_char16
Definição uchar.h:199
uint32_t tro_urune
Definição uchar.h:51