📄 links.h
字号:
void set_char(struct terminal *, int, int, unsigned);unsigned get_char(struct terminal *, int, int);void set_color(struct terminal *, int, int, unsigned);void set_only_char(struct terminal *, int, int, unsigned);void set_line(struct terminal *, int, int, int, chr *);void set_line_color(struct terminal *, int, int, int, unsigned);void fill_area(struct terminal *, int, int, int, int, unsigned);void draw_frame(struct terminal *, int, int, int, int, unsigned, int);void print_text(struct terminal *, int, int, int, unsigned char *, unsigned);void set_cursor(struct terminal *, int, int, int, int);void destroy_all_terminals();void block_itrm(int);int unblock_itrm(int);void exec_thread(unsigned char *, int);void close_handle(void *);#define TERM_FN_TITLE 1#define TERM_FN_RESIZE 2void exec_on_terminal(struct terminal *, unsigned char *, unsigned char *, int);void set_terminal_title(struct terminal *, unsigned char *);void do_terminal_function(struct terminal *, unsigned char, unsigned char *);/* language.c */#include "language.h"extern unsigned char dummyarray[];extern int current_language;void init_trans();void shutdown_trans();unsigned char *get_text_translation(unsigned char *, struct terminal *term);unsigned char *get_english_translation(unsigned char *);void set_language(int);int n_languages();unsigned char *language_name(int);#define _(_x_, _y_) get_text_translation(_x_, _y_)#define TEXT(x) (dummyarray + x)#define TEXT_(x) (dummyarray + x) /* TEXT causes name clash on windows *//* af_unix.c */int bind_to_af_unix();void af_unix_close();/* main.c */extern int retval;extern unsigned char *path_to_exe;extern unsigned char **g_argv;extern int g_argc;void unhandle_terminal_signals(struct terminal *term);int attach_terminal(int, int, int, void *, int);void program_exit();void shrink_memory(int);/* types.c */struct assoc { struct assoc *next; struct assoc *prev; tcount cnt; unsigned char *label; unsigned char *ct; unsigned char *prog; int cons; int xwin; int block; int ask; int system;};struct extension { struct extension *next; struct extension *prev; tcount cnt; unsigned char *ext; unsigned char *ct;};struct protocol_program { struct protocol_program *next; struct protocol_program *prev; unsigned char *prog; int system;};extern struct list_head assoc;extern struct list_head extensions;extern struct list_head mailto_prog;extern struct list_head telnet_prog;extern struct list_head tn3270_prog;extern struct list_head mms_prog;unsigned char *get_content_type(unsigned char *, unsigned char *);struct assoc *get_type_assoc(struct terminal *term, unsigned char *);void update_assoc(struct assoc *);void update_ext(struct extension *);void update_prog(struct list_head *, unsigned char *, int);unsigned char *get_prog(struct list_head *);void free_types();void menu_add_ct(struct terminal *, void *, void *);void menu_del_ct(struct terminal *, void *, void *);void menu_list_assoc(struct terminal *, void *, void *);void menu_add_ext(struct terminal *, void *, void *);void menu_del_ext(struct terminal *, void *, void *);void menu_list_ext(struct terminal *, void *, void *);int is_html_type(unsigned char *ct);/* session.c */struct link_def { unsigned char *link; unsigned char *target;};struct line { int l; chr c; chr *d;};struct point { int x; int y;};struct form { unsigned char *action; unsigned char *target; int method; int num;};#define FM_GET 0#define FM_POST 1#define FM_POST_MP 2#define FC_TEXT 1#define FC_PASSWORD 2#define FC_FILE 3#define FC_TEXTAREA 4#define FC_CHECKBOX 5#define FC_RADIO 6#define FC_SELECT 7#define FC_SUBMIT 8#define FC_IMAGE 9#define FC_RESET 10#define FC_HIDDEN 11struct form_control { struct form_control *next; struct form_control *prev; int form_num; int ctrl_num; int g_ctrl_num; int position; int method; unsigned char *action; unsigned char *target; int type; unsigned char *name; unsigned char *alt; int ro; unsigned char *default_value; int default_state; int size; int cols, rows, wrap; int maxlength; int nvalues; unsigned char **values; unsigned char **labels; struct menu_item *menu;};struct form_state { int form_num; int ctrl_num; int g_ctrl_num; int position; int type; unsigned char *value; int state; int vpos; int vypos;};struct link { int type; int num; unsigned char *where; unsigned char *target; unsigned char *where_img; struct form_control *form; unsigned sel_color; int n; struct point *pos;};#define L_LINK 0#define L_BUTTON 1#define L_CHECKBOX 2#define L_SELECT 3#define L_FIELD 4#define L_AREA 5#define SIZEOF_F_DATA sizeof(struct f_data)struct link_bg { int x, y; unsigned c;};struct tag { struct tag *next; struct tag *prev; int x; int y; unsigned char name[1];};struct rgb { unsigned char r, g, b; unsigned char pad;};struct document_setup { int assume_cp, hard_assume; int tables, frames, images; int margin; int num_links, table_order;};struct document_options { int xw, yw; /* size of window */ int xp, yp; /* pos of window */ int col, cp, assume_cp, hard_assume; int tables, frames, images, margin; /* if you add anything, fix it in compare_opt */ int plain; int num_links, table_order; struct rgb default_fg; struct rgb default_bg; struct rgb default_link; struct rgb default_vlink; unsigned char *framename; int real_cp; /* codepage of document. Does not really belong here. Must not be compared. Used only in get_attr_val */};static inline void ds2do(struct document_setup *ds, struct document_options *doo){ doo->assume_cp = ds->assume_cp; doo->hard_assume = ds->hard_assume; doo->tables = ds->tables; doo->frames = ds->frames; doo->images = ds->images; doo->margin = ds->margin; doo->num_links = ds->num_links; doo->table_order = ds->table_order;}struct node { struct node *next; struct node *prev; int x, y; int xw, yw;};struct search { unsigned char c; int n:24; /* This structure is size-critical */ int x, y;};struct frameset_desc;struct frame_desc { struct frameset_desc *subframe; unsigned char *name; unsigned char *url; int line; int xw, yw;};struct frameset_desc { int n; int x, y; int xp, yp; struct frame_desc f[1];};struct f_data { struct f_data *next; struct f_data *prev; int refcount; unsigned char *url; struct document_options opt; unsigned char *title; int cp, ass; int x, y; /* size of document */ ttime time_to_get; tcount use_tag; int frame; struct frameset_desc *frame_desc; int bg; struct line *data; struct link *links; int nlinks; struct link **lines1; struct link **lines2; struct list_head forms; struct list_head tags; struct list_head nodes; struct search *search; int nsearch; struct search **slines1; struct search **slines2;};struct f_data_c { struct f_data_c *next; struct f_data_c *prev; int used; unsigned char *name; struct f_data *f_data; int xw, yw; /* size of window */ int xp, yp; /* pos of window */ int xl, yl; /* last pos of window */ struct link_bg *link_bg; int link_bg_n; unsigned char **search_word; struct view_state *vs; int depth;};struct view_state { int view_pos; int view_posx; int orig_view_pos; int orig_view_posx; int current_link; int orig_link; int plain; unsigned char *goto_position; unsigned char *goto_position_end; struct form_state *form_info; int form_info_len; unsigned char url[1];};struct frame { struct frame *next; struct frame *prev; unsigned char *name; int redirect_cnt; struct view_state vs;};struct location { struct location *next; struct location *prev; struct list_head frames; struct status stat; struct view_state vs;};#define WTD_NO 0#define WTD_FORWARD 1#define WTD_IMGMAP 2#define WTD_RELOAD 3#define WTD_BACK 4#define cur_loc(x) ((struct location *)((x)->history.next))struct kbdprefix { int rep; int rep_num; int prefix;};struct download { struct download *next; struct download *prev; unsigned char *url; struct status stat; unsigned char *file; off_t last_pos; int handle; int redirect_cnt; unsigned char *prog; int prog_flags; time_t remotetime; struct session *ses; struct window *win; struct window *ask;};extern struct list_head downloads;struct file_to_load { struct file_to_load *next; struct file_to_load *prev; struct session *ses; int req_sent; int pri; struct cache_entry *ce; unsigned char *url; struct status stat;};struct session { struct session *next; struct session *prev; struct list_head history; struct terminal *term; struct window *win; int id; struct f_data_c *screen; struct list_head scrn_frames; struct status loading; int wtd; unsigned char *wtd_target; unsigned char *loading_url; int display_timer; struct list_head more_files; unsigned char *goto_position; unsigned char *imgmap_href_base; unsigned char *imgmap_target_base; struct document_setup ds; struct kbdprefix kbdprefix; int reloadlevel; int redirect_cnt; struct status tq; unsigned char *tq_url; struct cache_entry *tq_ce; unsigned char *tq_goto_position; unsigned char *tq_prog; int tq_prog_flags; unsigned char *dn_url; unsigned char *search_word; unsigned char *last_search_word; int search_direction; int exit_query;};extern struct list_head sessions;time_t parse_http_date(const char *);unsigned char *encode_url(unsigned char *);unsigned char *decode_url(unsigned char *);unsigned char *subst_file(unsigned char *, unsigned char *);int are_there_downloads();void free_strerror_buf();unsigned char *get_err_msg(int);void print_screen_status(struct session *);void print_error_dialog(struct session *, struct status *, unsigned char *);void start_download(struct session *, unsigned char *);void display_download(struct terminal *, struct download *, struct session *);int create_download_file(struct terminal *, unsigned char *, int);struct file_to_load *request_additional_file(struct session *, unsigned char *, int);struct file_to_load *request_additional_loading_file(struct session *, unsigned char *, struct status *, int);void process_file_requests(struct session *);int read_session_info(int, struct session *, void *, int);void *create_session_info(int, unsigned char *, int *);void win_func(struct window *, struct event *, int);void goto_url_f(struct session *, unsigned char *, unsigned char *);void goto_url(struct session *, unsigned char *);void abort_loading(struct session *);void goto_imgmap(struct session *, unsigned char *, unsigned char *, unsigned char *);void go_back(struct session *);void reload(struct session*, int);struct frame *ses_find_frame(struct session *, unsigned char *);struct frame *ses_change_frame_url(struct session *, unsigned char *, unsigned char *);void map_selected(struct terminal *, struct link_def *, struct session *);void load_frames(struct session *, struct f_data_c *);void destroy_session(struct session *);void destroy_all_sessions();void abort_all_downloads();void destroy_location(struct location *);/* Information about the current document */unsigned char *get_current_url(struct session *, unsigned char *, size_t);unsigned char *get_current_title(struct session *, unsigned char *, size_t);unsigned char *get_current_link_url(struct session *, unsigned char *, size_t);/* bfu.c */struct memory_list { int n; void *p[1];};struct memory_list *getml(void *, ...);void add_to_ml(struct memory_list **, ...);void freeml(struct memory_list *);#define MENU_FUNC (void (*)(struct terminal *, void *, void *))extern unsigned char m_bar;#define M_BAR (&m_bar)struct menu_item { unsigned char *text; unsigned char *rtext; unsigned char *hotkey; void (*func)(struct terminal *, void *, void *); void *data; int in_m; int free_i;};struct menu { int selected; int view; int xp, yp; int x, y, xw, yw; int ni; void *data; struct window *win; struct menu_item *items;};struct mainmenu { int selected; int sp; int ni; void *data; struct window *win; struct menu_item *items;};struct history_item { struct history_item *next; struct history_item *prev; unsigned char d[1];};struct history { int n; struct list_head items;};#define D_END 0#define D_CHECKBOX 1#define D_FIELD 2#define D_FIELD_PASS 3#define D_BUTTON 4#define D_BOX 5#define B_ENTER 1#define B_ESC 2struct dialog_item_data;struct dialog_data;struct dialog_item { int type; int gid, gnum; /* for buttons: gid - flags B_XXX */ /* for fields: min/max */ /* for box: gid is box height */ int (*fn)(struct dialog_data *, struct dialog_item_data *); struct history *history; int dlen; unsigned char *data; void *udata; /* for box: holds list */ unsigned char *text;};struct dialog_item_data { int x, y, l;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -