summaryrefslogtreecommitdiff
path: root/src/sys/encoding.h
blob: 386d319ca667d84a865f8bc8c04ebf8b12066ce0 (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 TINY_CONVMEM_SYS_ENCODING_H
#define TINY_CONVMEM_SYS_ENCODING_H

#include <stddef.h>
#include <stdint.h>

typedef enum tiny_encoding_status
{
  TINY_ENCODING_OK = 0,
  TINY_ENCODING_INVALID,
  TINY_ENCODING_NO_MEMORY,
  TINY_ENCODING_OVERFLOW
} tiny_encoding_status_t;

tiny_encoding_status_t tiny_utf8_to_utf16(const char *input,
                                          size_t input_length,
                                          uint16_t **output,
                                          size_t *output_length);
tiny_encoding_status_t tiny_utf16_to_utf8(const uint16_t *input,
                                          size_t input_length,
                                          char **output,
                                          size_t *output_length);

#endif