Data Structures | Macros | Enumerations | Variables
mbyte.h File Reference
#include <stdint.h>
#include <stdbool.h>
#include <string.h>
#include "nvim/iconv.h"
#include "nvim/func_attr.h"
#include "nvim/os/os_defs.h"
#include "nvim/types.h"

Go to the source code of this file.

Data Structures

struct  vimconv_T
 Structure used for string conversions. More...
 

Macros

#define MB_BYTE2LEN(b)   utf8len_tab[b]
 
#define MB_BYTE2LEN_CHECK(b)   (((b) < 0 || (b) > 255) ? 1 : utf8len_tab[b])
 
#define MB_MAXCHAR   6
 
#define ENC_8BIT   0x01
 
#define ENC_DBCS   0x02
 
#define ENC_UNICODE   0x04
 
#define ENC_ENDIAN_B   0x10 /* Unicode: Big endian */
 
#define ENC_ENDIAN_L   0x20 /* Unicode: Little endian */
 
#define ENC_2BYTE   0x40 /* Unicode: UCS-2 */
 
#define ENC_4BYTE   0x80 /* Unicode: UCS-4 */
 
#define ENC_2WORD   0x100 /* Unicode: UTF-16 */
 
#define ENC_LATIN1   0x200 /* Latin1 */
 
#define ENC_LATIN9   0x400 /* Latin9 */
 
#define ENC_MACROMAN   0x800 /* Mac Roman (not Macro Man! :-) */
 
#define mb_ptr2len   utfc_ptr2len
 
#define mb_char2len   utf_char2len
 
#define mb_char2cells   utf_char2cells
 
#define MBYTE_NONE_CONV
 

Enumerations

enum  ConvFlags {
  CONV_NONE = 0, CONV_TO_UTF8 = 1, CONV_9_TO_UTF8 = 2, CONV_TO_LATIN1 = 3,
  CONV_TO_LATIN9 = 4, CONV_ICONV = 5
}
 Flags for vimconv_T. More...
 

Variables

const uint8_t utf8len_tab_zero [256]
 
const uint8_t utf8len_tab [256]
 

Macro Definition Documentation

#define ENC_2BYTE   0x40 /* Unicode: UCS-2 */
#define ENC_2WORD   0x100 /* Unicode: UTF-16 */
#define ENC_4BYTE   0x80 /* Unicode: UCS-4 */
#define ENC_8BIT   0x01
#define ENC_DBCS   0x02
#define ENC_ENDIAN_B   0x10 /* Unicode: Big endian */
#define ENC_ENDIAN_L   0x20 /* Unicode: Little endian */
#define ENC_LATIN1   0x200 /* Latin1 */
#define ENC_LATIN9   0x400 /* Latin9 */
#define ENC_MACROMAN   0x800 /* Mac Roman (not Macro Man! :-) */
#define ENC_UNICODE   0x04
#define MB_BYTE2LEN (   b)    utf8len_tab[b]
#define MB_BYTE2LEN_CHECK (   b)    (((b) < 0 || (b) > 255) ? 1 : utf8len_tab[b])
#define mb_char2cells   utf_char2cells
#define mb_char2len   utf_char2len
#define MB_MAXCHAR   6
#define mb_ptr2len   utfc_ptr2len
#define MBYTE_NONE_CONV
Value:
{ \
.vc_type = CONV_NONE, \
.vc_factor = 1, \
.vc_fail = false, \
}
Definition: mbyte.h:48

Enumeration Type Documentation

enum ConvFlags

Flags for vimconv_T.

Enumerator
CONV_NONE 
CONV_TO_UTF8 
CONV_9_TO_UTF8 
CONV_TO_LATIN1 
CONV_TO_LATIN9 
CONV_ICONV 

Variable Documentation

const uint8_t utf8len_tab[256]
const uint8_t utf8len_tab_zero[256]