login
void
struct utmp *ut
login_tty
int
int fd
logout
int
char *line
logwtmp
void
const char *line, const char *name, const char *host
openpty
int
int *amaster, int *aslave, char *name, struct termios *termp, struct winsize *winp
forkpty
int
int *amaster, char *name, struct termios *termp, struct winsize *winp
openpty
int
int *master_fd, int *slavefd, char *name, struct termios *termp, struct winsize *winp
forkpty
pid_t
int *master_fd, char *name, struct termios *termp, struct winsize *winp
login_tty
int
int fd
n_read
int
int fd, void *buffer, int size
GnomePtyOps
typedef enum {
GNOME_PTY_OPEN_PTY_UTMP = 1,
GNOME_PTY_OPEN_PTY_UWTMP,
GNOME_PTY_OPEN_PTY_WTMP,
GNOME_PTY_OPEN_NO_DB_UPDATE,
GNOME_PTY_CLOSE_PTY
} GnomePtyOps;
update_dbs
void *
int utmp, int wtmp, char *login_name, char *display_name, char *term_name
write_login_record
void *
char *login_name, char *display_name, char *term_name, int utmp, int wtmp
write_logout_record
void
void *data, int utmp, int wtmp
vt_list_new
void
struct vt_list *v
vt_list_empty
int
struct vt_list *l
WEXITSTATUS
# define WEXITSTATUS(stat_val) ((unsigned)(stat_val) >> 8)
WIFEXITED
# define WIFEXITED(stat_val) (((stat_val) & 255) == 0)
zvt_init_subshell
int
struct vt_em *vt, char *pty_name, int full
zvt_shutdown_subshell
int
struct vt_em *vt
zvt_resize_subshell
int
int fd, int col, int row, int xpixel, int ypixel
ZVT_UTF
#define ZVT_UTF 1
UPDATE_CHANGES
#define UPDATE_CHANGES 0x00 /* only update changed areas */
UPDATE_REFRESH
#define UPDATE_REFRESH 0x01 /* just refersh all */
UPDATE_SCROLLBACK
#define UPDATE_SCROLLBACK 0x02 /* if in scrollback mode, make sure everything is redrawn */
uint32
typedef unsigned int uint32;
VTPARAM_MAXARGS
#define VTPARAM_MAXARGS 5 /* maximum number of arguments */
VTPARAM_ARGMAX
#define VTPARAM_ARGMAX 20 /* number of characters in each arg maximum */
VTPARAM_INTARGS
#define VTPARAM_INTARGS 20 /* maximum args for integers, should be less than MAXARGS*ARGMAX bytes! */
VT_LINE_SIZE
#define VT_LINE_SIZE(width) (sizeof(struct vt_line) + (sizeof(uint32) * (width)))
VTTITLE_TYPE
typedef enum {
VTTITLE_WINDOWICON=0,
VTTITLE_ICON,
VTTITLE_WINDOW
} VTTITLE_TYPE;
VTATTR_BOLD
#define VTATTR_BOLD 0x40000000
VTATTR_UNDERLINE
#define VTATTR_UNDERLINE 0x20000000
VTATTR_BLINK
#define VTATTR_BLINK 0x10000000
VTATTR_REVERSE
#define VTATTR_REVERSE 0x08000000
VTATTR_CONCEALED
#define VTATTR_CONCEALED 0x04000000
VTATTR_MASK
#define VTATTR_MASK 0xffff0000
VTATTR_DATAMASK
#define VTATTR_DATAMASK (~VTATTR_MASK)
VTATTR_CLEARMASK
#define VTATTR_CLEARMASK (~(VTATTR_BOLD|VTATTR_UNDERLINE|VTATTR_BLINK|VTATTR_REVERSE))
VTATTR_FORECOLOURM
#define VTATTR_FORECOLOURM 0x03e00000
VTATTR_BACKCOLOURM
#define VTATTR_BACKCOLOURM 0x001f0000
VTATTR_FORECOLOURB
#define VTATTR_FORECOLOURB 21
VTATTR_BACKCOLOURB
#define VTATTR_BACKCOLOURB 16
VTATTR_CLEAR
#define VTATTR_CLEAR (16<
ZVT_CODE_ISOLATIN1
#define ZVT_CODE_ISOLATIN1 0
ZVT_CODE_UTF8
#define ZVT_CODE_UTF8 1
VTMODE_INSERT
#define VTMODE_INSERT 0x00000001 /* insert mode active */
VTMODE_SEND_MOUSE
#define VTMODE_SEND_MOUSE 0x00000002 /* send mouse clicks */
VTMODE_WRAPOFF
#define VTMODE_WRAPOFF 0x04 /* wrap screenmode? (default = on) */
VTMODE_APP_CURSOR
#define VTMODE_APP_CURSOR 0x00000008 /* application cursor keys */
VTMODE_RELATIVE
#define VTMODE_RELATIVE 0x10 /* relative origin mode */
VTMODE_APP_KEYPAD
#define VTMODE_APP_KEYPAD 0x20 /* application keypad on */
VTMODE_ALTSCREEN
#define VTMODE_ALTSCREEN 0x80000000 /* on alternate screen? */
VT_BLANK
#define VT_BLANK(n) ((n)==0 || (n)==9 || (n)==32)
VT_BMASK
#define VT_BMASK(n) ((n) & (VTATTR_FORECOLOURM|VTATTR_BACKCOLOURM|VTATTR_REVERSE|VTATTR_UNDERLINE))
VT_ASCII
#define VT_ASCII(n) ((((n)&VTATTR_DATAMASK)==0 || ((n)&VTATTR_DATAMASK)==9)?32:((n)&VTATTR_DATAMASK))
VT_THRESHHOLD
#define VT_THRESHHOLD (4)
vt_destroy
void
struct vt_em *vt
vt_resize
void
struct vt_em *vt, int width, int height,int pixwidth, int pixheight
vt_parse_vt
void
struct vt_em *vt, char *ptr, int length
vt_swap_buffers
void
struct vt_em *vt
vt_forkpty
pid_t
struct vt_em *vt, int do_uwtmp_log
vt_readchild
int
struct vt_em *vt, char *buffer, int len
vt_writechild
int
struct vt_em *vt, char *buffer, int len
vt_report_button
int
struct vt_em *vt, int button, int qual,int x, int y
vt_scrollback_set
void
struct vt_em *vt, int lines
vt_killchild
int
struct vt_em *vt, int signal
vt_closepty
int
struct vt_em *vt
vt_reset_terminal
void
struct vt_em *vt, int hard
UPDATE_CHANGES
#define UPDATE_CHANGES 0x00 /* only update changed areas */
UPDATE_REFRESH
#define UPDATE_REFRESH 0x01 /* just refersh all */
UPDATE_SCROLLBACK
#define UPDATE_SCROLLBACK 0x02 /* if in scrollback mode, make sure everything is redrawn */
VT_SELTYPE
typedef enum {
VT_SELTYPE_NONE=0, /* selection inactive */
VT_SELTYPE_CHAR, /* selection by char */
VT_SELTYPE_WORD, /* selection by word */
VT_SELTYPE_LINE, /* selection by whole line */
VT_SELTYPE_MAGIC /* 'magic' or 'active tag' select */
} VT_SELTYPE;
VT_SELTYPE_MASK
#define VT_SELTYPE_MASK 0xff
VT_SELTYPE_BYEND
#define VT_SELTYPE_BYEND 0x8000
VT_SELTYPE_BYSTART
#define VT_SELTYPE_BYSTART 0x4000
VT_SELTYPE_MOVED
#define VT_SELTYPE_MOVED 0x2000 /* has motion occured? */
VT_SCROLLTYPE
typedef enum {
VT_SCROLL_ALWAYS=0, /* normal display */
VT_SCROLL_SOMETIMES, /* with 'fast scroll' background pixmap */
VT_SCROLL_NEVER /* with transparency pixmap or fixed pixmap */
} VT_SCROLLTYPE;
vtx
struct vtx
{
struct vt_em vt;
/* when updating, background colour matches for whole contents of line */
unsigned int back_match:1;
/* selection stuff */
uint32 *selection_data; /* actual selection */
int selection_size;
/* 256 bits of word class characters (assumes a char is 8 bits or more) */
unsigned char wordclass[32];
/* rendering buffer, for building output strings */
char *runbuffer_donotuse; /* TBR! */
int runbuffer_size_donotuse;
/* true if something selected */
int selected;
/* if selection active, what type? (by char/word/line) */
VT_SELTYPE selectiontype;
int selstartx, selstarty;
int selendx, selendy;
/* previously rendered values */
int selstartxold, selstartyold;
int selendxold, selendyold;
/* rendering callbacks */
void (*draw_text)(void *user_data, struct vt_line *line, int row, int col, int len, int attr);
void (*scroll_area)(void *user_data, int firstrow, int count, int offset, int fill);
/* set the cursor on/off, return old state */
int (*cursor_state)(void *user_data, int state);
/* added in gnome-libs 1.0.10
... this shouldn't break bin compatibility? */
unsigned char scroll_type; /* how we scroll (see VT_SCROLLTYPE enum) */
};
vt_get_selection
char *
struct _vtx *vx, int size, int *len
vt_clear_selection
void
struct _vtx *vx
vt_fix_selection
void
struct _vtx *vx
vt_draw_selection
void
struct _vtx *vx
vt_update_rect
void
struct _vtx *vx, int fill, int sx, int sy, int ex, int ey
vt_update
void
struct _vtx *vt, int state
vt_draw_cursor
void
struct _vtx *vx, int state
vt_set_wordclass
void
struct _vtx *vx, unsigned char *s
vt_get_attr_at
int
struct _vtx *vx, int col, int row
ZVT_TERM
#define ZVT_TERM(obj) GTK_CHECK_CAST (obj, zvt_term_get_type (), ZvtTerm)
ZVT_TERM_CLASS
#define ZVT_TERM_CLASS(klass) GTK_CHECK_CLASS_CAST (klass, zvt_term_get_type (), ZvtTermClass)
ZVT_IS_TERM
#define ZVT_IS_TERM(obj) GTK_CHECK_TYPE (obj, zvt_term_get_type ())
ZVT_TERM_PIXMAP_SUPPORT
#define ZVT_TERM_PIXMAP_SUPPORT 0x01
ZVT_TERM_EMBOLDEN_SUPPORT
#define ZVT_TERM_EMBOLDEN_SUPPORT 0x02
ZVT_TERM_TRANSPARENCY_SUPPORT
#define ZVT_TERM_TRANSPARENCY_SUPPORT 0x04
ZVT_TERM_PIXMAPSCROLL_SUPPORT
#define ZVT_TERM_PIXMAPSCROLL_SUPPORT 0x08
ZvtTerm
ZvtTermClass
ZvtTerm
struct ZvtTerm
{
GtkWidget widget;
/* scrollback position adjustement */
GtkAdjustment *adjustment;
GtkShadowType shadow_type;
GdkWindow *term_window;
/* zvt emulator */
struct _vtx *vx;
/* size of characters */
int charwidth;
int charheight;
/* input handler, message handler, cursor blink timeout */
gint input_id;
gint msg_id;
gint timeout_id;
/* resizing */
gboolean set_grid_size_pending;
guint grid_width;
guint grid_height;
/* internal data */
GdkCursor *cursor_bar; /* I beam cursor */
GdkCursor *cursor_dot; /* the blank cursor */
GdkCursor *cursor_current; /* current active cursor */
GdkFont *font; /* current normal font */
GdkFont *font_bold; /* current bold font */
GdkGC *scroll_gc; /* special GC used for scrolling */
GdkGC *fore_gc, *back_gc; /* GCs for the foreground and background colors */
int fore_last, back_last; /* last colour for foreground/background gc's */
GdkColorContext *color_ctx; /* Color context in use, where we allocate our colors */
gulong colors [18]; /* Our colors, pixel values. */
GdkIC *ic; /* input context */
/* file name of a pixmap, if NULL, none is loaded
* and normal mode is used
*/
char *pixmap_filename;
/* transparency stuff, it's left in even if we don't compile
* transparency/background pixmaps, if we don't, it will just be ignored
*/
struct
{
GdkPixmap *pix; /* background pixmap */
int x,y,w,h; /* these are used to know if the position changed
* and we need to get new shaded transparent pixmap
*/
} background;
ZvtTermClass
struct ZvtTermClass
{
GtkWidgetClass parent_class;
void (* child_died) (ZvtTerm *term);
void (* title_changed) (ZvtTerm *term, VTTITLE_TYPE type, char *newtitle);
};
zvtfont_t
typedef enum {
ZVT_FONT_1BYTE=0, /* simple, 1-byte fonts */
ZVT_FONT_2BYTE, /* 2-byte fonts */
ZVT_FONT_FONTSET, /* fontset fonts */
} zvtfont_t;
zvtprivate
struct zvtprivate
{
gint scrollselect_id;
int scrollselect_dir; /* scrolling selection direction/step */
void *text_expand; /* text expansion area */
int text_expandlen; /* how much space here */
zvtfont_t fonttype; /* type of font */
uint32 default_char; /* what to use for unknown characters (a box, or ?) */
int lastselectiontype; /* last tried type for a selection query (see request_paste()) */
int scroll_position; /* offset for background pixmap when scrolling */
GdkPixmap *bold_save; /* when drawing bold, use this to save the
maybe-overwritten line. */
};
ZVT_TERM_DO_UTMP_LOG
#define ZVT_TERM_DO_UTMP_LOG 1
ZVT_TERM_DO_WTMP_LOG
#define ZVT_TERM_DO_WTMP_LOG 2
ZVT_BACKGROUND_SHADED
#define ZVT_BACKGROUND_SHADED 0x01 /* shade background image. This must be left as 1 for api compat! */
ZVT_BACKGROUND_SCROLL
#define ZVT_BACKGROUND_SCROLL 0x02 /* background can scroll, exclusive option with transparency */
zvt_term_new
GtkWidget *
void
zvt_term_new_with_size
GtkWidget *
int cols, int rows
zvt_term_reset
void
ZvtTerm *term, int hard
zvt_term_feed
void
ZvtTerm *term,char *text, int len
zvt_term_forkpty
int
ZvtTerm *term, int do_uwtmp_log
zvt_term_closepty
int
ZvtTerm *term
zvt_term_killchild
int
ZvtTerm *term, int signal
zvt_term_bell
void
void *zvt_term
zvt_term_get_type
guint
void
zvt_term_set_scrollback
void
ZvtTerm *term, int lines
zvt_term_get_buffer
char *
ZvtTerm *term, int *len,int type,int sx, int sy,int ex, int ey
zvt_term_set_font_name
void
ZvtTerm *term, char *name
zvt_term_set_fonts
void
ZvtTerm *term,GdkFont *font,GdkFont *font_bold
zvt_term_hide_pointer
void
ZvtTerm *term
zvt_term_show_pointer
void
ZvtTerm *term
zvt_term_set_bell
void
ZvtTerm *term, int state
zvt_term_get_bell
gboolean
ZvtTerm *term
zvt_term_set_blink
void
ZvtTerm *term, int state
zvt_term_set_scroll_on_keystroke
void
ZvtTerm *term, int state
zvt_term_set_scroll_on_output
void
ZvtTerm *term, int state
zvt_term_set_color_scheme
void
ZvtTerm *term,gushort *red,gushort *grn,gushort *blu
zvt_term_set_default_color_scheme
void
ZvtTerm *term
zvt_term_set_del_key_swap
void
ZvtTerm *term, int state
zvt_term_set_wordclass
void
ZvtTerm *term, unsigned char *klass
zvt_term_set_background
void
ZvtTerm *terminal,char *pixmap_file,int transparent,int flags
zvt_term_set_shadow_type
void
ZvtTerm *term,GtkShadowType type
zvt_term_set_size
void
ZvtTerm *term,guint width,guint height
zvt_term_get_capabilities
guint32
ZvtTerm *term
zvt_term_get_adjustment
GtkAdjustment *
ZvtTerm *terminal
zvk_term_set_adjustment
void
ZvtTerm *dial,GtkAdjustment *adjustment