⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 links.h

📁 this is the file used to browse web
💻 H
📖 第 1 页 / 共 4 页
字号:
};void close_fork_tty();int get_system_env();int is_xterm();int can_twterm();int get_terminal_size(int, int *, int *);void handle_terminal_resize(int, void (*)());void unhandle_terminal_resize(int);void set_bin(int);int c_pipe(int *);int get_input_handle();int get_output_handle();int get_ctl_handle();void want_draw();void done_draw();void terminate_osdep();void *handle_mouse(int, void (*)(void *, unsigned char *, int), void *);void unhandle_mouse(void *);int check_file_name(unsigned char *);int start_thread(void (*)(void *, int), void *, int);char *get_clipboard_text();void set_clipboard_text(char *);void set_window_title(unsigned char *);unsigned char *get_window_title();int is_safe_in_shell(unsigned char);unsigned char *escape_path(unsigned char *);void check_shell_security(unsigned char **);int check_shell_url(unsigned char *);void block_stdin();void unblock_stdin();void get_path_to_exe(void);int exe(char *);int resize_window(int, int);int can_resize_window(int);int can_open_os_shell(int);struct open_in_new *get_open_in_new(int);void set_highpri();#ifdef HAVE_OPEN_PREALLOCint can_prealloc(char *);int open_prealloc(char *, int, int, off_t);void prealloc_truncate(int, off_t);#elsestatic inline void prealloc_truncate(int x, off_t y) {}#endifvoid os_cfmakeraw(struct termios *t);/* select.c */#ifndef FD_SETSIZE#define FD_SETSIZE 1024#endiftypedef long ttime;typedef unsigned long uttime;typedef unsigned tcount;extern int terminate;long select_info(int);void select_loop(void (*)());int register_bottom_half(void (*)(void *), void *);void check_bottom_halves();int install_timer(ttime, void (*)(void *), void *);void kill_timer(int);ttime get_time();#define H_READ	0#define H_WRITE	1#define H_ERROR	2#define H_DATA	3void *get_handler(int, int);void set_handlers(int, void (*)(void *), void (*)(void *), void (*)(void *), void *);void install_signal_handler(int, void (*)(void *), void *, int);void interruptible_signal(int sig, int in);void set_sigcld();/* dns.c */typedef unsigned ip;int do_real_lookup(unsigned char *, ip *);void shrink_dns_cache(int);int find_host(unsigned char *, ip *, void **, void (*)(void *, int), void *);int find_host_no_cache(unsigned char *, ip *, void **, void (*)(void *, int), void *);void kill_dns_request(void **);/* cache.c */struct cache_entry {	struct cache_entry *next;	struct cache_entry *prev;	unsigned char *url;	unsigned char *head;	unsigned char *redirect;	int redirect_get;	off_t length;	int incomplete;	int tgc;	unsigned char *last_modified;	off_t data_size;	struct list_head frag;	tcount count;	int refcount;#ifdef HAVE_SSL	unsigned char *ssl_info;#endif};struct fragment {	struct fragment *next;	struct fragment *prev;	off_t offset;	off_t length;	off_t real_length;	unsigned char data[1];};extern int page_size;void init_cache();long cache_info(int);int find_in_cache(unsigned char *, struct cache_entry **);int get_cache_entry(unsigned char *, struct cache_entry **);int add_fragment(struct cache_entry *, off_t, unsigned char *, off_t);void defrag_entry(struct cache_entry *);void truncate_entry(struct cache_entry *, off_t, int);void free_entry_to(struct cache_entry *, off_t);void delete_entry_content(struct cache_entry *);void delete_cache_entry(struct cache_entry *);void garbage_collection(int);/* sched.c */#define PRI_MAIN	0#define PRI_DOWNLOAD	0#define PRI_FRAME	1#define PRI_NEED_IMG	2#define PRI_IMG		3#define PRI_PRELOAD	4#define PRI_CANCEL	5#define N_PRI		6struct remaining_info {	int valid;	off_t size, loaded, last_loaded, cur_loaded;	off_t pos;	ttime elapsed;	ttime last_time;	ttime dis_b;	int data_in_secs[CURRENT_SPD_SEC];	int timer;};struct connection {	struct connection *next;	struct connection *prev;	tcount count;	unsigned char *url;	int running;	int state;	int prev_error;	off_t from;	int pri[N_PRI];	int no_cache;	int sock1;	int sock2;	void *dnsquery;	pid_t pid;	int tries;	struct list_head statuss;	void *info;	void *buffer;	void (*conn_func)(void *);	struct cache_entry *cache;	off_t received;	off_t est_length;	int unrestartable;	struct remaining_info prg;	int timer;	int detached;#ifdef HAVE_SSL	SSL *ssl;	int no_tsl;#endif};extern struct list_head queue;struct k_conn {	struct k_conn *next;	struct k_conn *prev;	void (*protocol)(struct connection *);	unsigned char *host;	int port;	int conn;	ttime timeout;	ttime add_time;};extern struct list_head keepalive_connections;static inline int getpri(struct connection *c){	int i;	for (i = 0; i < N_PRI; i++) if (c->pri[i]) return i;	internal("connection has no owner");	return N_PRI;}#define NC_ALWAYS_CACHE	0#define NC_CACHE	1#define NC_IF_MOD	2#define NC_RELOAD	3#define NC_PR_NO_CACHE	4#define S_WAIT		0#define S_DNS		1#define S_CONN		2#define S_SSL_NEG	3#define S_SENT		4#define S_LOGIN		5#define S_GETH		6#define S_PROC		7#define S_TRANS		8#define S_WAIT_REDIR		-999#define S_OK			-1000#define S_INTERRUPTED		-1001#define S_EXCEPT		-1002#define S_INTERNAL		-1003#define S_OUT_OF_MEM		-1004#define S_NO_DNS		-1005#define S_CANT_WRITE		-1006#define S_CANT_READ		-1007#define S_MODIFIED		-1008#define S_BAD_URL		-1009#define S_TIMEOUT		-1010#define S_RESTART		-1011#define S_STATE			-1012#define S_LARGE_FILE		-1014#define S_HTTP_ERROR		-1100#define S_HTTP_100		-1101#define S_HTTP_204		-1102#define S_FILE_TYPE		-1200#define S_FILE_ERROR		-1201#define S_FTP_ERROR		-1300#define S_FTP_UNAVAIL		-1301#define S_FTP_LOGIN		-1302#define S_FTP_PORT		-1303#define S_FTP_NO_FILE		-1304#define S_FTP_FILE_ERROR	-1305#define S_SSL_ERROR		-1400#define S_NO_SSL		-1401#define S_NO_SMB_CLIENT		-1500extern struct s_msg_dsc {	int n;	unsigned char *msg;} msg_dsc[];struct status {	struct status *next;	struct status *prev;	struct connection *c;	struct cache_entry *ce;	int state;	int prev_error;	int pri;	void (*end)(struct status *, void *);	void *data;	struct remaining_info *prg;};void check_queue(void *dummy);long connect_info(int);void send_connection_info(struct connection *c);void setcstate(struct connection *c, int);int get_keepalive_socket(struct connection *c);void add_keepalive_socket(struct connection *c, ttime);void run_connection(struct connection *c);int is_connection_restartable(struct connection *c);void retry_connection(struct connection *c);void abort_connection(struct connection *c);void end_connection(struct connection *c);int load_url(unsigned char *, struct status *, int, int);void change_connection(struct status *, struct status *, int);void detach_connection(struct status *, off_t);void abort_all_connections();void abort_background_connections();int is_entry_used(struct cache_entry *);void connection_timeout(struct connection *);void set_timeout(struct connection *);void add_blacklist_entry(unsigned char *, int);void del_blacklist_entry(unsigned char *, int);int get_blacklist_flags(unsigned char *);void free_blacklist();#define BL_HTTP10		1#define BL_NO_ACCEPT_LANGUAGE	2#define BL_NO_CHARSET		4#define BL_NO_RANGE		8
/* url.c */struct session;#define POST_CHAR 1static inline int end_of_dir(unsigned char c){	return c == POST_CHAR || c == '#' || c == ';' || c == '?';}int parse_url(unsigned char *, int *, unsigned char **, int *, unsigned char **, int *, unsigned char **, int *, unsigned char **, int *, unsigned char **, int *, unsigned char **);unsigned char *get_host_name(unsigned char *);unsigned char *get_host_and_pass(unsigned char *);unsigned char *get_user_name(unsigned char *);unsigned char *get_pass(unsigned char *);unsigned char *get_port_str(unsigned char *);int get_port(unsigned char *);void (*get_protocol_handle(unsigned char *))(struct connection *);void (*get_external_protocol_function(unsigned char *))(struct session *, unsigned char *);unsigned char *get_url_data(unsigned char *);unsigned char *join_urls(unsigned char *, unsigned char *);unsigned char *translate_url(unsigned char *, unsigned char *);unsigned char *extract_position(unsigned char *);void get_filename_from_url(unsigned char *, unsigned char **, int *);void add_conv_str(unsigned char **s, int *l, unsigned char *b, int ll, int encode_special);/* connect.c */struct read_buffer {	int sock;	int len;	int close;	void (*done)(struct connection *, struct read_buffer *);	unsigned char data[1];};void exception(struct connection *);void close_socket(int *);void make_connection(struct connection *, int, int *, void (*)(struct connection *));int get_pasv_socket(struct connection *, int, int *, unsigned char *);void write_to_socket(struct connection *, int, unsigned char *, int, void (*)(struct connection *));struct read_buffer *alloc_read_buffer(struct connection *c);void read_from_socket(struct connection *, int, struct read_buffer *, void (*)(struct connection *, struct read_buffer *));void kill_buffer_data(struct read_buffer *, int);/* cookies.c */int set_cookie(struct terminal *, unsigned char *, unsigned char *);void send_cookies(unsigned char **, int *, unsigned char *);void init_cookies();void cleanup_cookies();/* http.c */unsigned char *parse_http_header(unsigned char *, unsigned char *, unsigned char **);unsigned char *parse_header_param(unsigned char *, unsigned char *);void http_func(struct connection *);void proxy_func(struct connection *);/* https.c */void https_func(struct connection *c);#ifdef HAVE_SSLvoid ssl_finish(void);SSL *getSSL(void);#endif/* file.c */void file_func(struct connection *);/* finger.c */void finger_func(struct connection *);/* ftp.c */#if defined(IP_TOS) && defined(IPTOS_THROUGHPUT)#define HAVE_IPTOS#endifvoid ftp_func(struct connection *);/* smb.c */void smb_func(struct connection *);/* mailto.c */void mailto_func(struct session *, unsigned char *);void telnet_func(struct session *, unsigned char *);void tn3270_func(struct session *, unsigned char *);void mms_func(struct session *, unsigned char *);/* kbd.c */#define BM_BUTT		3#define B_LEFT		0#define B_MIDDLE	1#define B_RIGHT		2#define BM_ACT		12#define B_DOWN		0#define B_UP		4#define B_DRAG		8#define KBD_ENTER	0x100#define KBD_BS		0x101#define KBD_TAB		0x102#define KBD_ESC		0x103#define KBD_LEFT	0x104#define KBD_RIGHT	0x105#define KBD_UP		0x106#define KBD_DOWN	0x107#define KBD_INS		0x108#define KBD_DEL		0x109#define KBD_HOME	0x10a#define KBD_END		0x10b#define KBD_PAGE_UP	0x10c#define KBD_PAGE_DOWN	0x10d#define KBD_F1		0x120#define KBD_F2		0x121#define KBD_F3		0x122#define KBD_F4		0x123#define KBD_F5		0x124#define KBD_F6		0x125#define KBD_F7		0x126#define KBD_F8		0x127#define KBD_F9		0x128#define KBD_F10		0x129#define KBD_F11		0x12a#define KBD_F12		0x12b#define KBD_CTRL_C	0x200#define KBD_SHIFT	1#define KBD_CTRL	2#define KBD_ALT		4void handle_trm(int, int, int, int, int, void *, int);void free_all_itrms();void resize_terminal();void dispatch_special(unsigned char *);void kbd_ctrl_c();int is_blocked();extern unsigned char init_seq[];extern unsigned char init_seq_x_mouse[];extern unsigned char init_seq_tw_mouse[];extern unsigned char term_seq[];extern unsigned char term_seq_x_mouse[];extern unsigned char term_seq_tw_mouse[];/* terminal.c */typedef unsigned short chr;struct event {	long ev;	long x;	long y;	long b;};#define EV_INIT		0#define EV_KBD		1#define EV_MOUSE	2#define EV_REDRAW	3#define EV_RESIZE	4#define EV_ABORT	5struct window {	struct window *next;	struct window *prev;	void (*handler)(struct window *, struct event *, int fwd);	void *data;	int xp, yp;	struct terminal *term;};#define MAX_TERM_LEN	32	/* this must be multiple of 8! (alignment problems) */#define MAX_CWD_LEN	256	/* this must be multiple of 8! (alignment problems) */	#define ENV_XWIN	1#define ENV_SCREEN	2#define ENV_OS2VIO	4#define ENV_BE		8#define ENV_TWIN	16#define ENV_WIN32	32struct terminal {	struct terminal *next;	struct terminal *prev;	int master;	int fdin;	int fdout;	int x;	int y;	int environment;	unsigned char term[MAX_TERM_LEN];	unsigned char cwd[MAX_CWD_LEN];	unsigned *screen;	unsigned *last_screen;	struct term_spec *spec;	int cx;	int cy;	int lcx;	int lcy;	int dirty;	int redrawing;	int blocked;	unsigned char *input_queue;	int qlen;	struct list_head windows;	unsigned char *title;};struct term_spec {	struct term_spec *next;	struct term_spec *prev;	unsigned char term[MAX_TERM_LEN];	int mode;	int m11_hack;	int restrict_852;	int block_cursor;	int col;	int charset;};#define TERM_DUMB	0#define TERM_VT100	1#define TERM_LINUX	2#define TERM_KOI8	3#define TERM_FREEBSD	4#define ATTR_FRAME	0x8000extern struct list_head term_specs;extern struct list_head terminals;int hard_write(int, unsigned char *, int);int hard_read(int, unsigned char *, int);unsigned char *get_cwd();void set_cwd(unsigned char *);struct terminal *init_term(int, int, void (*)(struct window *, struct event *, int));void sync_term_specs();struct term_spec *new_term_spec(unsigned char *);void free_term_specs();void destroy_terminal(struct terminal *);void redraw_terminal(struct terminal *);void redraw_terminal_all(struct terminal *);void redraw_terminal_cls(struct terminal *);void cls_redraw_all_terminals();void redraw_from_window(struct window *);void redraw_below_window(struct window *);void add_window(struct terminal *, void (*)(struct window *, struct event *, int), void *);void add_window_at_pos(struct terminal *, void (*)(struct window *, struct event *, int), void *, struct window *);void delete_window(struct window *);void delete_window_ev(struct window *, struct event *ev);void set_window_ptr(struct window *, int, int);void get_parent_ptr(struct window *, int *, int *);struct window *get_root_window(struct terminal *);void add_empty_window(struct terminal *, void (*)(void *), void *);void redraw_screen(struct terminal *);void redraw_all_terminals();

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -