LF OS
Hobby operating system for amd64 with high ambitions
Loading...
Searching...
No Matches
encoding.c File Reference

(475a4fe LLVM update: finally on 18.x!)

#include "vterm_internal.h"
#include "encoding/DECdrawing.inc"
#include "encoding/uk.inc"
+ Include dependency graph for encoding.c:

Go to the source code of this file.

Data Structures

struct  UTF8DecoderData
 
struct  StaticTableEncoding
 

Macros

#define UNICODE_INVALID   0xFFFD
 

Functions

static void init_utf8 (VTermEncoding *enc, void *data_)
 
static void decode_utf8 (VTermEncoding *enc, void *data_, uint32_t cp[], int *cpi, int cplen, const char bytes[], size_t *pos, size_t bytelen)
 
static void decode_usascii (VTermEncoding *enc, void *data, uint32_t cp[], int *cpi, int cplen, const char bytes[], size_t *pos, size_t bytelen)
 
static void decode_table (VTermEncoding *enc, void *data, uint32_t cp[], int *cpi, int cplen, const char bytes[], size_t *pos, size_t bytelen)
 
VTermEncodingvterm_lookup_encoding (VTermEncodingType type, char designation)
 

Variables

static VTermEncoding encoding_utf8
 
static VTermEncoding encoding_usascii
 
struct { 
 
VTermEncodingType type
 
char designation
 
VTermEncodingenc
 
encodings [] 
 

Data Structure Documentation

◆ UTF8DecoderData

struct UTF8DecoderData

Definition at line 9 of file encoding.c.

+ Collaboration diagram for UTF8DecoderData:
Data Fields
int bytes_remaining
int bytes_total
int this_cp

◆ StaticTableEncoding

struct StaticTableEncoding

Definition at line 182 of file encoding.c.

+ Collaboration diagram for StaticTableEncoding:
Data Fields
const uint32_t chars[128]
const VTermEncoding enc

Macro Definition Documentation

◆ UNICODE_INVALID

#define UNICODE_INVALID   0xFFFD

Definition at line 3 of file encoding.c.

Function Documentation

◆ decode_table()

static void decode_table ( VTermEncoding enc,
void *  data,
uint32_t  cp[],
int *  cpi,
int  cplen,
const char  bytes[],
size_t pos,
size_t  bytelen 
)
static

Definition at line 187 of file encoding.c.

References StaticTableEncoding::chars, and StaticTableEncoding::enc.

◆ decode_usascii()

static void decode_usascii ( VTermEncoding enc,
void *  data,
uint32_t  cp[],
int *  cpi,
int  cplen,
const char  bytes[],
size_t pos,
size_t  bytelen 
)
static

Definition at line 162 of file encoding.c.

◆ decode_utf8()

static void decode_utf8 ( VTermEncoding enc,
void *  data_,
uint32_t  cp[],
int *  cpi,
int  cplen,
const char  bytes[],
size_t pos,
size_t  bytelen 
)
static

◆ init_utf8()

static void init_utf8 ( VTermEncoding enc,
void *  data_ 
)
static

Definition at line 20 of file encoding.c.

References UTF8DecoderData::bytes_remaining, and UTF8DecoderData::bytes_total.

◆ vterm_lookup_encoding()

VTermEncoding * vterm_lookup_encoding ( VTermEncodingType  type,
char  designation 
)

Definition at line 224 of file encoding.c.

References encodings, and type.

+ Here is the caller graph for this function:

Variable Documentation

◆ encoding_usascii

VTermEncoding encoding_usascii
static
Initial value:
= {
.decode = &decode_usascii,
}
static void decode_usascii(VTermEncoding *enc, void *data, uint32_t cp[], int *cpi, int cplen, const char bytes[], size_t *pos, size_t bytelen)
Definition encoding.c:162

Definition at line 178 of file encoding.c.

◆ encoding_utf8

VTermEncoding encoding_utf8
static
Initial value:
= {
.init = &init_utf8,
.decode = &decode_utf8,
}
static void init_utf8(VTermEncoding *enc, void *data_)
Definition encoding.c:20
static void decode_utf8(VTermEncoding *enc, void *data_, uint32_t cp[], int *cpi, int cplen, const char bytes[], size_t *pos, size_t bytelen)
Definition encoding.c:28

Definition at line 157 of file encoding.c.

◆ [struct]

struct { ... } encodings[]
Initial value:
= {
{ ENC_UTF8, 'u', &encoding_utf8 },
{ ENC_SINGLE_94, '0', (VTermEncoding*)&encoding_DECdrawing },
{ ENC_SINGLE_94, 'A', (VTermEncoding*)&encoding_uk },
{ 0 },
}
static VTermEncoding encoding_usascii
Definition encoding.c:178
static VTermEncoding encoding_utf8
Definition encoding.c:157
@ ENC_UTF8
@ ENC_SINGLE_94