|
LibTRO 0
Uma biblioteca com funções semelhantes às do C para fins educacionais na Eletrônica, IF Sul Pelotas.
|
Ir para o código-fonte desse arquivo.
Definições e Macros | |
| #define | TRO_BUFFER_CAPACITY 512 |
| #define | tro_fdybuffer(file) |
Definições de Tipos | |
| typedef struct tro_file | tro_file |
Enumerações | |
| enum | tro_fmode { TRO_FMODE_NULL , TRO_FMODE_READ , TRO_FMODE_WRITE , TRO_FMODE_APPEND , TRO_FMODE_RDWT , TRO_FMODE_RDAD } |
| enum | tro_fbufmode { TRO_FBUFMODE_NO_BUFFER , TRO_FBUFMODE_LINE_BUFFER , TRO_FBUFMODE_FULL_BUFFER } |
Funções | |
| tro_file * | tro_fopen (const char *filepath, tro_fmode mode) |
| void | tro_fclose (tro_file *file) |
| void | tro_fsetbuf (tro_file *file, tro_fbufmode mode, size_t capacity) |
| uintptr_t | tro_fileno (const tro_file *file) |
| bool | tro_fterminal (const tro_file *file) |
| bool | tro_fwrites (tro_file *file, const char *data, size_t datal) |
| bool | tro_fwrites16 (tro_file *file, const tro_char16 *data, size_t datal) |
| bool | tro_fwriteb (tro_file *file, const uint8_t *data, size_t datal) |
| bool | tro_fwritec (tro_file *file, uint32_t rune, size_t count) |
| tro_dybuf_pref | tro_fbufpref (const tro_file *file) |
| bool | tro_fputc (tro_file *file, tro_urune rune) |
| bool | tro_fputs (tro_file *file, const char *s) |
| bool | tro_fputs16 (tro_file *file, const tro_char16 *s) |
| bool | tro_fflush (tro_file *file) |
| bool | tro_fprintf (tro_file *file, const char *format,...) |
| bool | tro_vfprintf (tro_file *file, const char *format, va_list args) |
| bool | tro_fprintf16 (tro_file *file, const tro_char16 *format,...) |
| bool | tro_vfprintf16 (tro_file *file, const tro_char16 *format, va_list args) |
| bool | tro_putc (tro_urune rune) |
| bool | tro_puts (const char *s) |
| bool | tro_puts16 (const tro_char16 *s) |
| bool | tro_eputc (tro_urune rune) |
| bool | tro_eputs (const char *s) |
| bool | tro_eputs16 (const tro_char16 *s) |
| bool | tro_printf (const char *format,...) |
| bool | tro_vprintf (const char *format, va_list args) |
| bool | tro_printf16 (const tro_char16 *format,...) |
| bool | tro_vprintf16 (const tro_char16 *format, va_list args) |
| bool | tro_eprintf (const char *format,...) |
| bool | tro_veprintf (const char *format, va_list args) |
| bool | tro_eprintf16 (const tro_char16 *format,...) |
| bool | tro_veprintf16 (const tro_char16 *format, va_list args) |
Variáveis | |
| const tro_dybuffer_i *const | tro_fdybuffer_vt |
| tro_file *const | troout |
| tro_file *const | troin |
| tro_file *const | troerr |
| #define TRO_BUFFER_CAPACITY 512 |
Capacidade padrão do buffer de tro_file.
| #define tro_fdybuffer | ( | file | ) |
Macro de cast de tro_file para tro_dybuffer_obj.
Normalmente, representa um arquivo do sistema, mas também pode representar um console/terminal. Implementa a interface tro_dybuffer.
| enum tro_fmode |
Representa o modo de acesso de um tro_file.
| Enumeradores | |
|---|---|
| TRO_FMODE_NULL | Nenhum modo. Só aparece quando há problemas. NÃO deve ser usado para abrir um tro_file. |
| TRO_FMODE_READ | tro_file é apenas leitura. |
| TRO_FMODE_WRITE | tro_file é apenas escrita. |
| TRO_FMODE_APPEND | tro_file é apenas escrita aditiva. |
| TRO_FMODE_RDWT | tro_file é leitura e escrita. |
| TRO_FMODE_RDAD | tro_file é leitura e escrita aditiva. |
| enum tro_fbufmode |
Representa o modo de gerenciamento do buffer interno de tro_file.
| Enumeradores | |
|---|---|
| TRO_FBUFMODE_NO_BUFFER | tro_file simplesmente não usa um buffer, escreve tudo imediatamente. |
| TRO_FBUFMODE_LINE_BUFFER | tro_file fica armazenando os dados escritos em seu buffer interno até um '\n' ser escrito (ou até o buffer ficar cheio) para aí sim escrever os dados do buffer interno no arquivo real. |
| TRO_FBUFMODE_FULL_BUFFER | tro_file fica armazenando os dados escritos em seu buffer interno até ele ficar cheio para aí sim escrever os dados do buffer interno no arquivo real. |
Abre um arquivo ou cria um se não existir.
Por padrão o modo de gerenciamento do buffer interno é TRO_FBUFMODE_FULL_BUFFER.
| filepath | é o caminho do arquivo. |
| mode | é o modo de acesso. |
| void tro_fclose | ( | tro_file * | file | ) |
Fecha um arquivo e automaticamente usa tro_fflush.
| file | o arquivo a ser fechado. |
| void tro_fsetbuf | ( | tro_file * | file, |
| tro_fbufmode | mode, | ||
| size_t | capacity ) |
Configura o buffer interno de um tro_file.
| file | o objeto. |
| mode | o modo de gerenciamento do buffer interno. |
| capacity | é a capacidade do buffer interno. Se for 0, não muda a capacidade. Completamente ignorado se mode for TRO_FBUFMODE_NO_BUFFER. |
| uintptr_t tro_fileno | ( | const tro_file * | file | ) |
| file | o objeto. |
| bool tro_fterminal | ( | const tro_file * | file | ) |
| file | o objeto. |
| bool tro_fwrites | ( | tro_file * | file, |
| const char * | data, | ||
| size_t | datal ) |
| file | o objeto. |
| data | é uma string UTF-8. |
| datal | é o comprimento de data, caso seja 0, se assume data terminado em '\0'. |
| bool tro_fwrites16 | ( | tro_file * | file, |
| const tro_char16 * | data, | ||
| size_t | datal ) |
| file | o objeto. |
| data | é uma string UTF-16. |
| datal | é o comprimento de data, caso seja 0, se assume data terminado em '\0'. |
| bool tro_fwriteb | ( | tro_file * | file, |
| const uint8_t * | data, | ||
| size_t | datal ) |
| file | o objeto. |
| data | é uma sequência de bytes arbitrária. |
| datal | é o comprimento de data. |
| bool tro_fwritec | ( | tro_file * | file, |
| uint32_t | rune, | ||
| size_t | count ) |
| file | o objeto. |
| rune | é uma runa (code point). |
| count | diz quantas vezes se deve escrever rune. |
| tro_dybuf_pref tro_fbufpref | ( | const tro_file * | file | ) |
| file | o objeto. |
Escreve uma runa em um tro_file.
| file | o objeto. |
| rune | é a runa (code point). |
| bool tro_fputs | ( | tro_file * | file, |
| const char * | s ) |
Escreve uma string terminada em '\0' em um tro_file.
| file | o objeto. |
| s | é string UTF-8. |
| bool tro_fputs16 | ( | tro_file * | file, |
| const tro_char16 * | s ) |
Escreve uma string terminada em '\0' em um tro_file.
| file | o objeto. |
| s | é string UTF-16. |
| bool tro_fflush | ( | tro_file * | file | ) |
Escreve os dados do buffer interno no arquivo real e esvazia o buffer interno**. Não tem efeito quando o modo de gerenciamento do *buffer interno do tro_file é TRO_FBUFMODE_NO_BUFFER.
| file | o objeto. |
| bool tro_fprintf | ( | tro_file * | file, |
| const char * | format, | ||
| ... ) |
Esta função segue o padrão Especificadores de Formato TRO.
| file | o objeto. |
| format | é a string de formatação em UTF-8. |
| ... | argumentos baseados em format. |
| bool tro_vfprintf | ( | tro_file * | file, |
| const char * | format, | ||
| va_list | args ) |
Implementação com lista variádica de tro_fprintf.
Esta função segue o padrão Especificadores de Formato TRO.
| file | o objeto. |
| format | é a string de formatação em UTF-8. |
| args | lista variádica de argumentos baseados em format. |
| bool tro_fprintf16 | ( | tro_file * | file, |
| const tro_char16 * | format, | ||
| ... ) |
Esta função segue o padrão Especificadores de Formato TRO.
| file | o objeto. |
| format | é a string de formatação em UTF-16. |
| ... | argumentos baseados em format. |
| bool tro_vfprintf16 | ( | tro_file * | file, |
| const tro_char16 * | format, | ||
| va_list | args ) |
Implementação com lista variádica de tro_fprintf16.
Esta função segue o padrão Especificadores de Formato TRO.
| file | o objeto. |
| format | é a string de formatação em UTF-16. |
| args | lista variádica de argumentos baseados em format. |
| bool tro_putc | ( | tro_urune | rune | ) |
Escreve uma runa em troout.
| rune | é a runa (code point). |
| bool tro_puts | ( | const char * | s | ) |
Escreve uma string terminada em '\0' em troout.
| s | é string UTF-8. |
| bool tro_puts16 | ( | const tro_char16 * | s | ) |
Escreve uma string terminada em '\0' em troout.
| s | é string UTF-16. |
| bool tro_eputc | ( | tro_urune | rune | ) |
Escreve uma runa em troerr.
| rune | é a runa (code point). |
| bool tro_eputs | ( | const char * | s | ) |
Escreve uma string terminada em '\0' em troerr.
| s | é string UTF-8. |
| bool tro_eputs16 | ( | const tro_char16 * | s | ) |
Escreve uma string terminada em '\0' em troerr.
| s | é string UTF-16. |
| bool tro_printf | ( | const char * | format, |
| ... ) |
Esta função segue o padrão Especificadores de Formato TRO e escreve em troout.
| format | é a string de formatação em UTF-8. |
| ... | argumentos baseados em format. |
| bool tro_vprintf | ( | const char * | format, |
| va_list | args ) |
Implementação com lista variádica de tro_printf.
Esta função segue o padrão Especificadores de Formato TRO e escreve em troout.
| format | é a string de formatação em UTF-8. |
| args | lista variádica de argumentos baseados em format. |
| bool tro_printf16 | ( | const tro_char16 * | format, |
| ... ) |
Esta função segue o padrão Especificadores de Formato TRO e escreve em troout.
| format | é a string de formatação em UTF-16. |
| ... | argumentos baseados em format. |
| bool tro_vprintf16 | ( | const tro_char16 * | format, |
| va_list | args ) |
Implementação com lista variádica de tro_printf.
Esta função segue o padrão Especificadores de Formato TRO e escreve em troout.
| format | é a string de formatação em UTF-16. |
| args | lista variádica de argumentos baseados em format. |
| bool tro_eprintf | ( | const char * | format, |
| ... ) |
Esta função segue o padrão Especificadores de Formato TRO e escreve em troerr.
| format | é a string de formatação em UTF-8. |
| ... | argumentos baseados em format. |
| bool tro_veprintf | ( | const char * | format, |
| va_list | args ) |
Implementação com lista variádica de tro_eprintf.
Esta função segue o padrão Especificadores de Formato TRO e escreve em troerr.
| format | é a string de formatação em UTF-8. |
| args | lista variádica de argumentos baseados em format. |
| bool tro_eprintf16 | ( | const tro_char16 * | format, |
| ... ) |
Esta função segue o padrão Especificadores de Formato TRO e escreve em troerr.
| format | é a string de formatação em UTF-16. |
| ... | argumentos baseados em format. |
| bool tro_veprintf16 | ( | const tro_char16 * | format, |
| va_list | args ) |
Implementação com lista variádica de tro_eprintf16.
Esta função segue o padrão Especificadores de Formato TRO e escreve em troerr.
| format | é a string de formatação em UTF-16. |
| args | lista variádica de argumentos baseados em format. |
| const tro_dybuffer_i* const tro_fdybuffer_vt |
Tabela virtual com os métodos de tro_file para a interface tro_dybuffer.
|
extern |
Representação da saída padrão. O modo de gerenciamento do buffer interno é TRO_FBUFMODE_LINE_BUFFER. Normalmente é um console/terminal a menos que tenha sido redirecionado para um arquivo.
|
extern |
Representação da entrada padrão. Normalmente é um console/terminal a menos que tenha sido redirecionado para um arquivo.
|
extern |
Representação da saída de erro padrão. O modo de gerenciamento do buffer interno é TRO_FBUFMODE_LINE_BUFFER. Normalmente é um console/terminal a menos que tenha sido redirecionado para um arquivo.