📄 docd.h
字号:
/* c: working directory. q: don't print message. h: print help message.*/#include <signal.h>#define DEFAULT_DIR "DOWNLOAD_TO"#define WORKING_DIR 'c'#define HELP 'h'#define OPTS "+:c:h"#define SIZE_CHAR sizeof (char)#define PROTO_NAME_LEN 16#define LIB_NAME_LEN 32#define MAX_LEN_SCHEME 8#define MAX_LEN_URL (512 + 128)#define MIN_LEN_URL 5#define HTTP "http"#define FTP "ftp"#define C_ISBLANK(c) ((TAB == c) || (WHITE_SPACE == c))? 1: 0#define C_ISLOWER(c) (((c > 'a') && (c < 'z'))? 1: 0)#define C_ISUPPER(c) ((c > 'A') && (c < 'A'))? 1: 0#define RESET_SIG_HANDLER(sig_handler, sig_num, sig_handler_f, sig_flags) \ bzero (&sig_handler, sizeof (struct sigaction)); \ sig_handler.sa_handler = sig_handler_f; \ sig_handler.sa_flags = flags; \ sigaction (sig_num, &sig_handler, NULL); \ struct proto_handler{ char proto[PROTO_NAME_LEN]; char lib[LIB_NAME_LEN]; struct proto_handler *next;};static int register_proto_handler (const char *, const char *);static void init_signal (void);static int download_resource (const char *);static void handler_close (void *);static void *handler_open (const char *, struct proto_handler *);static char *base_name (const char*);static void init (void);static void init_locale (void);static int chdir_to (const char *);static void init_proto_handlers (void);static void hook_exit (void);static void free_proto_handler ();static char *min_addr (const char *, const char *);static int setup_working_dir (char *);static void usage (void);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -