blob: 306609ebd701e31cc938c517185e758a9378fed2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
#ifndef ENCODING_CONVERT_H
#define ENCODING_CONVERT_H
#include <stdbool.h>
#include <sys/types.h>
#include "encoding.h"
#include "util/macros.h"
typedef struct FileDecoder FileDecoder;
typedef struct FileEncoder FileEncoder;
bool conversion_supported_by_iconv(const char *from, const char *to) NONNULL_ARGS;
FileDecoder *new_file_decoder(const char *encoding, const unsigned char *buf, size_t size);
void free_file_decoder(FileDecoder *dec);
bool file_decoder_read_line(FileDecoder *dec, const char **line, size_t *len) NONNULL_ARGS WARN_UNUSED_RESULT;
const char *file_decoder_get_encoding(const FileDecoder *dec) NONNULL_ARGS;
FileEncoder *new_file_encoder(const Encoding *encoding, bool crlf, int fd) NONNULL_ARGS;
void free_file_encoder(FileEncoder *enc) NONNULL_ARGS;
ssize_t file_encoder_write(FileEncoder *enc, const unsigned char *buf, size_t size) NONNULL_ARGS WARN_UNUSED_RESULT;
size_t file_encoder_get_nr_errors(const FileEncoder *enc) NONNULL_ARGS;
#endif
|