FreeNOS
Macros | Functions | Variables
teken.c File Reference
#include <sys/types.h>
#include <Config.h>
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include "teken.h"
#include "teken_subr.h"
#include "teken_subr_compat.h"
#include "teken_state.h"

Go to the source code of this file.

Macros

#define __unused   __attribute((unused))
 
#define teken_assert(x)
 
#define teken_printf(x, ...)
 
#define teken_wcwidth(c)   (1)
 
#define teken_scs_process(t, c)   (c)
 
#define teken_scs_restore(t)
 
#define teken_scs_save(t)
 
#define teken_scs_set(t, g, ts)
 
#define teken_scs_switch(t, g)
 
#define TS_FIRSTDIGIT   0x01 /* First numeric digit in escape sequence. */
 
#define TS_INSERT   0x02 /* Insert mode. */
 
#define TS_AUTOWRAP   0x04 /* Autowrap. */
 
#define TS_ORIGIN   0x08 /* Origin mode. */
 
#define TS_WRAPPED   0x00 /* Simple line wrapping. */
 
#define BLANK   ' '
 

Functions

static void teken_funcs_bell (teken_t *t)
 
static void teken_funcs_cursor (teken_t *t)
 
static void teken_funcs_putchar (teken_t *t, const teken_pos_t *p, teken_char_t c, const teken_attr_t *a)
 
static void teken_funcs_fill (teken_t *t, const teken_rect_t *r, const teken_char_t c, const teken_attr_t *a)
 
static void teken_funcs_copy (teken_t *t, const teken_rect_t *r, const teken_pos_t *p)
 
static void teken_funcs_param (teken_t *t, int cmd, unsigned int value)
 
static void teken_funcs_respond (teken_t *t, const void *buf, size_t len)
 
void teken_init (teken_t *t, const teken_funcs_t *tf, void *softc)
 
static void teken_input_char (teken_t *t, teken_char_t c)
 
static void teken_input_byte (teken_t *t, unsigned char c)
 
void teken_input (teken_t *t, const void *buf, size_t len)
 
void teken_set_cursor (teken_t *t, const teken_pos_t *p)
 
const teken_attr_tteken_get_curattr (teken_t *t)
 
void teken_set_curattr (teken_t *t, const teken_attr_t *a)
 
const teken_attr_tteken_get_defattr (teken_t *t)
 
void teken_set_defattr (teken_t *t, const teken_attr_t *a)
 
void teken_set_winsize (teken_t *t, const teken_pos_t *p)
 
static void teken_state_switch (teken_t *t, teken_state_t *s)
 
static int teken_state_numbers (teken_t *t, teken_char_t c)
 

Variables

static FILEdf
 
static teken_state_t teken_state_init
 

Macro Definition Documentation

◆ __unused

#define __unused   __attribute((unused))

Definition at line 29 of file teken.c.

◆ BLANK

#define BLANK   ' '

Definition at line 88 of file teken.c.

◆ teken_assert

#define teken_assert (   x)

Definition at line 43 of file teken.c.

◆ teken_printf

#define teken_printf (   x,
  ... 
)
Value:
do { \
if (df != NULL) \
printf(x, ## __VA_ARGS__); \
} while (0)

Definition at line 46 of file teken.c.

◆ teken_scs_process

#define teken_scs_process (   t,
 
)    (c)

Definition at line 69 of file teken.c.

◆ teken_scs_restore

#define teken_scs_restore (   t)

Definition at line 70 of file teken.c.

◆ teken_scs_save

#define teken_scs_save (   t)

Definition at line 71 of file teken.c.

◆ teken_scs_set

#define teken_scs_set (   t,
  g,
  ts 
)

Definition at line 72 of file teken.c.

◆ teken_scs_switch

#define teken_scs_switch (   t,
 
)

Definition at line 73 of file teken.c.

◆ teken_wcwidth

#define teken_wcwidth (   c)    (1)

Definition at line 62 of file teken.c.

◆ TS_AUTOWRAP

#define TS_AUTOWRAP   0x04 /* Autowrap. */

Definition at line 79 of file teken.c.

◆ TS_FIRSTDIGIT

#define TS_FIRSTDIGIT   0x01 /* First numeric digit in escape sequence. */

Definition at line 77 of file teken.c.

◆ TS_INSERT

#define TS_INSERT   0x02 /* Insert mode. */

Definition at line 78 of file teken.c.

◆ TS_ORIGIN

#define TS_ORIGIN   0x08 /* Origin mode. */

Definition at line 80 of file teken.c.

◆ TS_WRAPPED

#define TS_WRAPPED   0x00 /* Simple line wrapping. */

Definition at line 84 of file teken.c.

Function Documentation

◆ teken_funcs_bell()

static void teken_funcs_bell ( teken_t t)
inlinestatic

Definition at line 97 of file teken.c.

References __teken::t_funcs, __teken::t_softc, and teken_funcs_t::tf_bell.

Referenced by teken_subr_bell().

◆ teken_funcs_copy()

static void teken_funcs_copy ( teken_t t,
const teken_rect_t r,
const teken_pos_t p 
)
inlinestatic

◆ teken_funcs_cursor()

static void teken_funcs_cursor ( teken_t t)
inlinestatic

◆ teken_funcs_fill()

static void teken_funcs_fill ( teken_t t,
const teken_rect_t r,
const teken_char_t  c,
const teken_attr_t a 
)
inlinestatic

◆ teken_funcs_param()

static void teken_funcs_param ( teken_t t,
int  cmd,
unsigned int  value 
)
inlinestatic

◆ teken_funcs_putchar()

static void teken_funcs_putchar ( teken_t t,
const teken_pos_t p,
teken_char_t  c,
const teken_attr_t a 
)
inlinestatic

◆ teken_funcs_respond()

static void teken_funcs_respond ( teken_t t,
const void *  buf,
size_t  len 
)
inlinestatic

◆ teken_get_curattr()

const teken_attr_t* teken_get_curattr ( teken_t t)

Definition at line 309 of file teken.c.

References __teken::t_curattr.

◆ teken_get_defattr()

const teken_attr_t* teken_get_defattr ( teken_t t)

Definition at line 323 of file teken.c.

References __teken::t_defattr.

◆ teken_init()

void teken_init ( teken_t t,
const teken_funcs_t tf,
void *  softc 
)

◆ teken_input()

void teken_input ( teken_t t,
const void *  buf,
size_t  len 
)

Definition at line 289 of file teken.c.

References teken_input_byte().

Referenced by Terminal::writeTerminal().

◆ teken_input_byte()

static void teken_input_byte ( teken_t t,
unsigned char  c 
)
static

Definition at line 250 of file teken.c.

References teken_input_char(), and teken_printf.

Referenced by teken_input().

◆ teken_input_char()

static void teken_input_char ( teken_t t,
teken_char_t  c 
)
static

◆ teken_set_curattr()

void teken_set_curattr ( teken_t t,
const teken_attr_t a 
)

Definition at line 316 of file teken.c.

References __teken::t_curattr.

◆ teken_set_cursor()

void teken_set_cursor ( teken_t t,
const teken_pos_t p 
)

◆ teken_set_defattr()

void teken_set_defattr ( teken_t t,
const teken_attr_t a 
)

Definition at line 330 of file teken.c.

References __teken::t_curattr, __teken::t_defattr, and __teken::t_saved_curattr.

◆ teken_set_winsize()

void teken_set_winsize ( teken_t t,
const teken_pos_t p 
)

◆ teken_state_numbers()

static int teken_state_numbers ( teken_t t,
teken_char_t  c 
)
static

◆ teken_state_switch()

static void teken_state_switch ( teken_t t,
teken_state_t s 
)
static

Variable Documentation

◆ df

FILE* df
static

Definition at line 52 of file teken.c.

◆ teken_state_init

teken_state_t teken_state_init
static

Definition at line 90 of file teken.c.

Referenced by teken_init(), and teken_state_numbers().

NULL
#define NULL
NULL means zero.
Definition: Macros.h:39
df
static FILE * df
Definition: teken.c:52