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