1 /* $Id: proto.h,v 1.104 2010/07/25 09:55:05 htrb Exp $ */ 2 /* 3 * This file was automatically generated by version 1.7 of cextract. 4 * Manual editing not recommended. 5 * 6 * Created: Wed Feb 10 12:47:03 1999 7 */ 8 extern int main(int argc, char **argv, char **envp); 9 extern void nulcmd(void); 10 extern void pushEvent(int cmd, void *data); 11 extern MySignalHandler intTrap(SIGNAL_ARG); 12 extern void pgFore(void); 13 extern void pgBack(void); 14 extern void hpgFore(void); 15 extern void hpgBack(void); 16 extern void lup1(void); 17 extern void ldown1(void); 18 extern void ctrCsrV(void); 19 extern void ctrCsrH(void); 20 extern void rdrwSc(void); 21 extern void srchfor(void); 22 extern void isrchfor(void); 23 extern void srchbak(void); 24 extern void isrchbak(void); 25 extern void srchnxt(void); 26 extern void srchprv(void); 27 extern void shiftl(void); 28 extern void shiftr(void); 29 extern void col1R(void); 30 extern void col1L(void); 31 extern void setEnv(void); 32 extern void pipeBuf(void); 33 extern void pipesh(void); 34 extern void readsh(void); 35 extern void execsh(void); 36 extern void ldfile(void); 37 extern void ldhelp(void); 38 extern void movL(void); 39 extern void movL1(void); 40 extern void movD(void); 41 extern void movD1(void); 42 extern void movU(void); 43 extern void movU1(void); 44 extern void movR(void); 45 extern void movR1(void); 46 extern void movLW(void); 47 extern void movRW(void); 48 extern void qquitfm(void); 49 extern void quitfm(void); 50 extern void selBuf(void); 51 extern void susp(void); 52 extern void goLine(void); 53 extern void goLineF(void); 54 extern void goLineL(void); 55 extern void linbeg(void); 56 extern void linend(void); 57 extern void editBf(void); 58 extern void editScr(void); 59 extern void followA(void); 60 extern void bufferA(void); 61 extern void followI(void); 62 extern void submitForm(void); 63 extern void followForm(void); 64 extern void topA(void); 65 extern void lastA(void); 66 extern void nthA(void); 67 extern void onA(void); 68 69 extern void nextA(void); 70 extern void prevA(void); 71 extern void nextVA(void); 72 extern void prevVA(void); 73 extern void nextL(void); 74 extern void nextLU(void); 75 extern void nextR(void); 76 extern void nextRD(void); 77 extern void nextD(void); 78 extern void nextU(void); 79 extern void nextBf(void); 80 extern void prevBf(void); 81 extern void backBf(void); 82 extern void deletePrevBuf(void); 83 extern void goURL(void); 84 extern void goHome(void); 85 extern void gorURL(void); 86 extern void ldBmark(void); 87 extern void adBmark(void); 88 extern void ldOpt(void); 89 extern void setOpt(void); 90 extern void pginfo(void); 91 extern void msgs(void); 92 extern void svA(void); 93 extern void svI(void); 94 extern void svBuf(void); 95 extern void svSrc(void); 96 extern void peekURL(void); 97 extern void peekIMG(void); 98 extern void curURL(void); 99 extern void vwSrc(void); 100 extern void reload(void); 101 extern void reshape(void); 102 extern void chkURL(void); 103 extern void chkURLBuffer(Buffer *buf); 104 extern void chkWORD(void); 105 #ifdef USE_NNTP 106 extern void chkNMID(void); 107 extern void chkNMIDBuffer(Buffer *buf); 108 #else 109 #define chkNMID nulcmd 110 #endif 111 extern void rFrame(void); 112 extern void extbrz(void); 113 extern void linkbrz(void); 114 extern void curlno(void); 115 extern void execCmd(void); 116 #ifdef USE_IMAGE 117 extern void dispI(void); 118 extern void stopI(void); 119 #else 120 #define dispI nulcmd 121 #define stopI nulcmd 122 #endif 123 #ifdef USE_ALARM 124 extern void setAlarm(void); 125 extern AlarmEvent *setAlarmEvent(AlarmEvent * event, int sec, short status, 126 int cmd, void *data); 127 #else 128 #define setAlarm nulcmd 129 #endif 130 extern void reinit(void); 131 extern void defKey(void); 132 extern void newT(void); 133 extern void closeT(void); 134 extern void nextT(void); 135 extern void prevT(void); 136 extern void tabA(void); 137 extern void tabURL(void); 138 extern void tabrURL(void); 139 extern void tabR(void); 140 extern void tabL(void); 141 extern void ldDL(void); 142 extern void linkLst(void); 143 #ifdef USE_MENU 144 extern void linkMn(void); 145 extern LinkList *link_menu(Buffer *buf); 146 extern void accessKey(void); 147 extern Anchor *accesskey_menu(Buffer *buf); 148 extern void listMn(void); 149 extern void movlistMn(void); 150 extern Anchor *list_menu(Buffer *buf); 151 #else 152 #define linkMn nulcmd 153 #define accessKey nulcmd 154 #define listMn nulcmd 155 #define movlistMn nulcmd 156 #endif 157 extern void undoPos(void); 158 extern void redoPos(void); 159 extern void cursorTop(void); 160 extern void cursorMiddle(void); 161 extern void cursorBottom(void); 162 163 extern int currentLn(Buffer *buf); 164 extern void tmpClearBuffer(Buffer *buf); 165 extern char *filename_extension(char *patch, int is_url); 166 #ifdef USE_EXTERNAL_URI_LOADER 167 extern void initURIMethods(); 168 extern Str searchURIMethods(ParsedURL *pu); 169 extern void chkExternalURIBuffer(Buffer *buf); 170 #endif 171 extern ParsedURL *schemeToProxy(int scheme); 172 #ifdef USE_M17N 173 extern wc_ces url_to_charset(const char *url, const ParsedURL *base, 174 wc_ces doc_charset); 175 extern char *url_encode(const char *url, const ParsedURL *base, 176 wc_ces doc_charset); 177 #if 0 178 extern char *url_decode(const char *url, const ParsedURL *base, 179 wc_ces doc_charset); 180 #endif 181 extern char *url_decode2(const char *url, const Buffer *buf); 182 #else /* !defined(USE_M17N) */ 183 #define url_encode(url, base, cs) url_quote(url) 184 extern char *url_decode0(const char *url); 185 #if 0 186 #define url_decode(url, base, cs) url_decode0(url) 187 #endif 188 #define url_decode2(url, buf) url_decode0(url) 189 #endif /* !defined(USE_M17N) */ 190 extern void examineFile(char *path, URLFile *uf); 191 extern char *acceptableEncoding(); 192 extern int dir_exist(char *path); 193 extern int is_html_type(char *type); 194 #ifdef USE_M17N 195 extern char **get_symbol(wc_ces charset, int *width); 196 extern char **set_symbol(int width); 197 extern Str convertLine(URLFile *uf, Str line, int mode, wc_ces * charset, 198 wc_ces doc_charset); 199 #else 200 extern char **get_symbol(void); 201 extern Str convertLine0(URLFile *uf, Str line, int mode); 202 #define convertLine(uf,line,mode,charset,dcharset) convertLine0(uf,line,mode) 203 #endif 204 extern void push_symbol(Str str, char symbol, int width, int n); 205 #ifdef USE_UNICODE 206 extern void update_utf8_symbol(void); 207 #endif 208 extern Buffer *loadGeneralFile(char *path, ParsedURL *current, char *referer, 209 int flag, FormList *request); 210 extern int is_boundary(unsigned char *, unsigned char *); 211 extern int is_blank_line(char *line, int indent); 212 extern void push_render_image(Str str, int width, int limit, 213 struct html_feed_environ *h_env); 214 extern void flushline(struct html_feed_environ *h_env, struct readbuffer *obuf, 215 int indent, int force, int width); 216 extern void do_blankline(struct html_feed_environ *h_env, 217 struct readbuffer *obuf, int indent, int indent_incr, 218 int width); 219 extern void purgeline(struct html_feed_environ *h_env); 220 extern void save_fonteffect(struct html_feed_environ *h_env, 221 struct readbuffer *obuf); 222 extern void restore_fonteffect(struct html_feed_environ *h_env, 223 struct readbuffer *obuf); 224 #ifdef USE_IMAGE 225 extern void deleteImage(Buffer *buf); 226 extern void getAllImage(Buffer *buf); 227 extern void loadImage(Buffer *buf, int flag); 228 extern ImageCache *getImage(Image * image, ParsedURL *current, int flag); 229 extern int getImageSize(ImageCache * cache); 230 #endif 231 extern Str process_img(struct parsed_tag *tag, int width); 232 extern Str process_anchor(struct parsed_tag *tag, char *tagbuf); 233 extern Str process_input(struct parsed_tag *tag); 234 extern Str process_button(struct parsed_tag *tag); 235 extern Str process_n_button(void); 236 extern Str process_select(struct parsed_tag *tag); 237 extern Str process_n_select(void); 238 extern void feed_select(char *str); 239 extern void process_option(void); 240 extern Str process_textarea(struct parsed_tag *tag, int width); 241 extern Str process_n_textarea(void); 242 extern void feed_textarea(char *str); 243 extern Str process_form(struct parsed_tag *tag); 244 extern Str process_n_form(void); 245 extern int getMetaRefreshParam(char *q, Str *refresh_uri); 246 extern int HTMLtagproc1(struct parsed_tag *tag, 247 struct html_feed_environ *h_env); 248 extern void HTMLlineproc2(Buffer *buf, TextLineList *tl); 249 extern void HTMLlineproc0(char *istr, struct html_feed_environ *h_env, 250 int internal); 251 #define HTMLlineproc1(x,y) HTMLlineproc0(x,y,TRUE) 252 extern Buffer *loadHTMLBuffer(URLFile *f, Buffer *newBuf); 253 extern char *convert_size(clen_t size, int usefloat); 254 extern char *convert_size2(clen_t size1, clen_t size2, int usefloat); 255 extern void showProgress(clen_t * linelen, clen_t * trbyte); 256 extern void init_henv(struct html_feed_environ *, struct readbuffer *, 257 struct environment *, int, TextLineList *, int, int); 258 extern void completeHTMLstream(struct html_feed_environ *, 259 struct readbuffer *); 260 extern void loadHTMLstream(URLFile *f, Buffer *newBuf, FILE * src, 261 int internal); 262 extern Buffer *loadHTMLString(Str page); 263 #ifdef USE_GOPHER 264 #ifdef USE_M17N 265 extern Str loadGopherDir(URLFile *uf, ParsedURL *pu, wc_ces * charset); 266 extern Str loadGopherSearch(URLFile *uf, ParsedURL *pu, wc_ces * charset); 267 #else 268 extern Str loadGopherDir0(URLFile *uf, ParsedURL *pu); 269 extern Str loadGopherSearch0(URLFile *uf, ParsedURL *pu); 270 #define loadGopherDir(uf,pu,charset) loadGopherDir0(uf,pu) 271 #define loadGopherSearch(uf,pu,charset) loadGopherSearch0(uf,pu) 272 #endif 273 #endif /* USE_GOPHER */ 274 extern Buffer *loadBuffer(URLFile *uf, Buffer *newBuf); 275 #ifdef USE_IMAGE 276 extern Buffer *loadImageBuffer(URLFile *uf, Buffer *newBuf); 277 #endif 278 extern void saveBuffer(Buffer *buf, FILE * f, int cont); 279 extern void saveBufferBody(Buffer *buf, FILE * f, int cont); 280 extern Buffer *getshell(char *cmd); 281 extern Buffer *getpipe(char *cmd); 282 extern Buffer *openPagerBuffer(InputStream stream, Buffer *buf); 283 extern Buffer *openGeneralPagerBuffer(InputStream stream); 284 extern Line *getNextPage(Buffer *buf, int plen); 285 extern int save2tmp(URLFile uf, char *tmpf); 286 extern Buffer *doExternal(URLFile uf, char *type, Buffer *defaultbuf); 287 extern int _doFileCopy(char *tmpf, char *defstr, int download); 288 #define doFileCopy(tmpf, defstr) _doFileCopy(tmpf, defstr, FALSE); 289 extern int doFileMove(char *tmpf, char *defstr); 290 extern int doFileSave(URLFile uf, char *defstr); 291 extern int checkCopyFile(char *path1, char *path2); 292 extern int checkSaveFile(InputStream stream, char *path); 293 extern int checkOverWrite(char *path); 294 extern char *inputAnswer(char *prompt); 295 extern int matchattr(char *p, char *attr, int len, Str *value); 296 extern void readHeader(URLFile *uf, Buffer *newBuf, int thru, ParsedURL *pu); 297 extern char *checkHeader(Buffer *buf, char *field); 298 extern TabBuffer *newTab(void); 299 extern void calcTabPos(void); 300 extern TabBuffer *deleteTab(TabBuffer * tab); 301 extern void addDownloadList(pid_t pid, char *url, char *save, char *lock, 302 clen_t size); 303 extern void stopDownload(void); 304 extern int checkDownloadList(void); 305 extern void download_action(struct parsed_tagarg *arg); 306 extern Buffer *newBuffer(int width); 307 extern Buffer *nullBuffer(void); 308 extern void clearBuffer(Buffer *buf); 309 extern void discardBuffer(Buffer *buf); 310 extern Buffer *namedBuffer(Buffer *first, char *name); 311 extern Buffer *deleteBuffer(Buffer *first, Buffer *delbuf); 312 extern Buffer *replaceBuffer(Buffer *first, Buffer *delbuf, Buffer *newbuf); 313 extern Buffer *nthBuffer(Buffer *firstbuf, int n); 314 extern void gotoRealLine(Buffer *buf, int n); 315 extern void gotoLine(Buffer *buf, int n); 316 extern Buffer *selectBuffer(Buffer *firstbuf, Buffer *currentbuf, 317 char *selectchar); 318 extern void reshapeBuffer(Buffer *buf); 319 extern void copyBuffer(Buffer *a, Buffer *b); 320 extern Buffer *prevBuffer(Buffer *first, Buffer *buf); 321 extern int writeBufferCache(Buffer *buf); 322 extern int readBufferCache(Buffer *buf); 323 extern void fmTerm(void); 324 extern void fmInit(void); 325 extern void displayBuffer(Buffer *buf, int mode); 326 extern void addChar(char c, Lineprop mode); 327 #ifdef USE_M17N 328 extern void addMChar(char *c, Lineprop mode, size_t len); 329 #endif 330 extern void record_err_message(char *s); 331 extern Buffer *message_list_panel(void); 332 extern void message(char *s, int return_x, int return_y); 333 extern void disp_err_message(char *s, int redraw_current); 334 extern void disp_message_nsec(char *s, int redraw_current, int sec, int purge, 335 int mouse); 336 extern void disp_message(char *s, int redraw_current); 337 #ifdef USE_MOUSE 338 extern void disp_message_nomouse(char *s, int redraw_current); 339 #else 340 #define disp_message_nomouse disp_message 341 #endif 342 extern void set_delayed_message(char *s); 343 extern void cursorUp0(Buffer *buf, int n); 344 extern void cursorUp(Buffer *buf, int n); 345 extern void cursorDown0(Buffer *buf, int n); 346 extern void cursorDown(Buffer *buf, int n); 347 extern void cursorUpDown(Buffer *buf, int n); 348 extern void cursorRight(Buffer *buf, int n); 349 extern void cursorLeft(Buffer *buf, int n); 350 extern void cursorHome(Buffer *buf); 351 extern void arrangeCursor(Buffer *buf); 352 extern void arrangeLine(Buffer *buf); 353 extern void cursorXY(Buffer *buf, int x, int y); 354 extern void restorePosition(Buffer *buf, Buffer *orig); 355 extern int columnSkip(Buffer *buf, int offset); 356 extern int columnPos(Line *line, int column); 357 extern int columnLen(Line *line, int column); 358 extern Line *lineSkip(Buffer *buf, Line *line, int offset, int last); 359 extern Line *currentLineSkip(Buffer *buf, Line *line, int offset, int last); 360 extern int gethtmlcmd(char **s); 361 #ifndef USE_ANSI_COLOR 362 #define checkType(a,b,c) _checkType(a,b) 363 #endif 364 extern Str checkType(Str s, Lineprop **oprop, Linecolor **ocolor); 365 extern int calcPosition(char *l, Lineprop *pr, int len, int pos, int bpos, 366 int mode); 367 extern char *lastFileName(char *path); 368 extern char *mybasename(char *s); 369 extern char *mydirname(char *s); 370 extern int next_status(char c, int *status); 371 extern int read_token(Str buf, char **instr, int *status, int pre, int append); 372 extern Str correct_irrtag(int status); 373 #ifdef USE_MIGEMO 374 extern void init_migemo(void); 375 #endif 376 #ifdef USE_M17N 377 extern char *conv_search_string(char *str, wc_ces f_ces); 378 #else 379 #define conv_search_string(str, f_ces) str 380 #endif 381 extern int forwardSearch(Buffer *buf, char *str); 382 extern int backwardSearch(Buffer *buf, char *str); 383 extern void pcmap(void); 384 extern void escmap(void); 385 extern void escbmap(void); 386 extern void escdmap(char c); 387 extern void multimap(void); 388 extern char *inputLineHistSearch(char *prompt, char *def_str, int flag, 389 Hist *hist, int (*incfunc) (int ch, Str buf, 390 Lineprop *prop)); 391 extern Str unescape_spaces(Str s); 392 #ifdef USE_HISTORY 393 extern Buffer *historyBuffer(Hist *hist); 394 extern void loadHistory(Hist *hist); 395 extern void saveHistory(Hist *hist, size_t size); 396 extern void ldHist(void); 397 #else /* not USE_HISTORY */ 398 #define ldHist nulcmd 399 #endif /* not USE_HISTORY */ 400 extern double log_like(int x); 401 extern struct table *newTable(void); 402 extern void pushdata(struct table *t, int row, int col, char *data); 403 extern int visible_length(char *str); 404 extern void align(TextLine *lbuf, int width, int mode); 405 extern void print_item(struct table *t, int row, int col, int width, Str buf); 406 extern void print_sep(struct table *t, int row, int type, int maxcol, Str buf); 407 extern void do_refill(struct table *tbl, int row, int col, int maxlimit); 408 extern void initRenderTable(void); 409 extern void renderTable(struct table *t, int max_width, 410 struct html_feed_environ *h_env); 411 extern struct table *begin_table(int border, int spacing, int padding, 412 int vspace); 413 extern void end_table(struct table *tbl); 414 extern void check_rowcol(struct table *tbl, struct table_mode *mode); 415 extern int minimum_length(char *line); 416 extern int feed_table(struct table *tbl, char *line, struct table_mode *mode, 417 int width, int internal); 418 extern void feed_table1(struct table *tbl, Str tok, struct table_mode *mode, 419 int width); 420 extern void pushTable(struct table *, struct table *); 421 extern struct form_list *newFormList(char *action, char *method, char *charset, 422 char *enctype, char *target, char *name, 423 struct form_list *_next); 424 extern struct form_item_list *formList_addInput(struct form_list *fl, 425 struct parsed_tag *tag); 426 extern char *form2str(FormItemList *fi); 427 extern int formtype(char *typestr); 428 extern void formRecheckRadio(Anchor *a, Buffer *buf, FormItemList *form); 429 extern void formResetBuffer(Buffer *buf, AnchorList *formitem); 430 extern void formUpdateBuffer(Anchor *a, Buffer *buf, FormItemList *form); 431 extern void preFormUpdateBuffer(Buffer *buf); 432 extern Str textfieldrep(Str s, int width); 433 extern void input_textarea(FormItemList *fi); 434 extern void do_internal(char *action, char *data); 435 extern void form_write_data(FILE * f, char *boundary, char *name, char *value); 436 extern void form_write_from_file(FILE * f, char *boundary, char *name, 437 char *filename, char *file); 438 extern MapList *searchMapList(Buffer *buf, char *name); 439 extern void follow_map(struct parsed_tagarg *arg); 440 #if defined(MENU_MAP) || defined(USE_IMAGE) 441 extern MapArea *follow_map_menu(Buffer *buf, char *name, Anchor *a_img, int x, 442 int y); 443 #endif 444 #ifndef MENU_MAP 445 extern Buffer *follow_map_panel(Buffer *buf, char *name); 446 #endif 447 #ifdef USE_IMAGE 448 extern int getMapXY(Buffer *buf, Anchor *a, int *x, int *y); 449 extern MapArea *retrieveCurrentMapArea(Buffer *buf); 450 #endif 451 extern Anchor *retrieveCurrentMap(Buffer *buf); 452 extern MapArea *newMapArea(char *url, char *target, char *alt, char *shape, 453 char *coords); 454 extern Buffer *page_info_panel(Buffer *buf); 455 extern struct frame_body *newFrame(struct parsed_tag *tag, Buffer *buf); 456 extern struct frameset *newFrameSet(struct parsed_tag *tag); 457 extern void addFrameSetElement(struct frameset *f, 458 union frameset_element element); 459 extern void deleteFrame(struct frame_body *b); 460 extern void deleteFrameSet(struct frameset *f); 461 extern void deleteFrameSetElement(union frameset_element e); 462 extern struct frameset *copyFrameSet(struct frameset *of); 463 extern void pushFrameTree(struct frameset_queue **fqpp, struct frameset *fs, 464 Buffer *buf); 465 extern struct frameset *popFrameTree(struct frameset_queue **fqpp); 466 extern void resetFrameElement(union frameset_element *f_element, Buffer *buf, 467 char *referer, FormList *request); 468 extern Buffer *renderFrame(Buffer *Cbuf, int force_reload); 469 extern union frameset_element *search_frame(struct frameset *fset, char *name); 470 extern int set_tty(void); 471 extern void set_cc(int spec, int val); 472 extern void close_tty(void); 473 extern char *ttyname_tty(void); 474 extern void reset_tty(void); 475 extern MySignalHandler reset_exit(SIGNAL_ARG); 476 extern MySignalHandler error_dump(SIGNAL_ARG); 477 extern void set_int(void); 478 extern void getTCstr(void); 479 extern void setlinescols(void); 480 extern void setupscreen(void); 481 extern pid_t open_pipe_rw(FILE ** fr, FILE ** fw); 482 extern int initscr(void); 483 extern void move(int line, int column); 484 #ifdef USE_M17N 485 extern void addmch(char *p, size_t len); 486 #endif 487 extern void addch(char c); 488 extern void wrap(void); 489 extern void touch_line(void); 490 extern void standout(void); 491 extern void standend(void); 492 extern void bold(void); 493 extern void boldend(void); 494 extern void underline(void); 495 extern void underlineend(void); 496 extern void graphstart(void); 497 extern void graphend(void); 498 extern int graph_ok(void); 499 #ifdef USE_COLOR 500 extern void setfcolor(int color); 501 #ifdef USE_BG_COLOR 502 extern void setbcolor(int color); 503 #endif /* USE_BG_COLOR */ 504 #endif /* USE_COLOR */ 505 extern void refresh(void); 506 extern void clear(void); 507 #ifdef USE_RAW_SCROLL 508 extern void scroll(int); 509 extern void rscroll(int); 510 #endif 511 #if 0 512 extern void need_clrtoeol(void); 513 #endif 514 extern void clrtoeol(void); 515 extern void clrtoeolx(void); 516 extern void clrtobot(void); 517 extern void clrtobotx(void); 518 extern void no_clrtoeol(void); 519 extern void addstr(char *s); 520 extern void addnstr(char *s, int n); 521 extern void addnstr_sup(char *s, int n); 522 extern void crmode(void); 523 extern void nocrmode(void); 524 extern void term_echo(void); 525 extern void term_noecho(void); 526 extern void term_raw(void); 527 extern void term_cooked(void); 528 extern void term_cbreak(void); 529 extern void term_title(char *s); 530 extern void flush_tty(void); 531 extern void toggle_stand(void); 532 extern char getch(void); 533 extern void bell(void); 534 extern int sleep_till_anykey(int sec, int purge); 535 #ifdef USE_IMAGE 536 extern void touch_cursor(); 537 #endif 538 extern void initMimeTypes(); 539 extern void free_ssl_ctx(); 540 extern ParsedURL *baseURL(Buffer *buf); 541 extern int openSocket(char *hostname, char *remoteport_name, 542 unsigned short remoteport_num); 543 extern void parseURL(char *url, ParsedURL *p_url, ParsedURL *current); 544 extern void copyParsedURL(ParsedURL *p, const ParsedURL *q); 545 extern void parseURL2(char *url, ParsedURL *pu, ParsedURL *current); 546 extern Str parsedURL2Str(ParsedURL *pu); 547 extern Str parsedURL2RefererStr(ParsedURL *pu); 548 extern int getURLScheme(char **url); 549 extern void init_stream(URLFile *uf, int scheme, InputStream stream); 550 Str HTTPrequestMethod(HRequest *hr); 551 Str HTTPrequestURI(ParsedURL *pu, HRequest *hr); 552 extern URLFile openURL(char *url, ParsedURL *pu, ParsedURL *current, 553 URLOption *option, FormList *request, 554 TextList *extra_header, URLFile *ouf, 555 HRequest *hr, unsigned char *status); 556 extern int mailcapMatch(struct mailcap *mcap, char *type); 557 extern struct mailcap *searchMailcap(struct mailcap *table, char *type); 558 extern void initMailcap(); 559 extern char *acceptableMimeTypes(); 560 extern struct mailcap *searchExtViewer(char *type); 561 extern Str unquote_mailcap(char *qstr, char *type, char *name, char *attr, 562 int *mc_stat); 563 extern char *guessContentType(char *filename); 564 extern TextList *make_domain_list(char *domain_list); 565 extern int check_no_proxy(char *domain); 566 extern InputStream openFTPStream(ParsedURL *pu, URLFile *uf); 567 #ifdef USE_M17N 568 extern Str loadFTPDir(ParsedURL *pu, wc_ces * charset); 569 #else 570 extern Str loadFTPDir0(ParsedURL *pu); 571 #define loadFTPDir(pu,charset) loadFTPDir0(pu) 572 #endif 573 extern void closeFTP(void); 574 extern void disconnectFTP(void); 575 #ifdef USE_NNTP 576 extern InputStream openNewsStream(ParsedURL *pu); 577 #ifdef USE_M17N 578 extern Str loadNewsgroup(ParsedURL *pu, wc_ces * charset); 579 #else 580 extern Str loadNewsgroup0(ParsedURL *pu); 581 #define loadNewsgroup(pu,charset) loadNewsgroup0(pu) 582 #endif 583 extern void closeNews(void); 584 extern void disconnectNews(void); 585 #endif 586 extern AnchorList *putAnchor(AnchorList *al, char *url, char *target, 587 Anchor **anchor_return, char *referer, 588 char *title, unsigned char key, int line, 589 int pos); 590 extern Anchor *registerHref(Buffer *buf, char *url, char *target, 591 char *referer, char *title, unsigned char key, 592 int line, int pos); 593 extern Anchor *registerName(Buffer *buf, char *url, int line, int pos); 594 extern Anchor *registerImg(Buffer *buf, char *url, char *title, int line, 595 int pos); 596 extern Anchor *registerForm(Buffer *buf, FormList *flist, 597 struct parsed_tag *tag, int line, int pos); 598 extern int onAnchor(Anchor *a, int line, int pos); 599 extern Anchor *retrieveAnchor(AnchorList *al, int line, int pos); 600 extern Anchor *retrieveCurrentAnchor(Buffer *buf); 601 extern Anchor *retrieveCurrentImg(Buffer *buf); 602 extern Anchor *retrieveCurrentForm(Buffer *buf); 603 extern Anchor *searchAnchor(AnchorList *al, char *str); 604 extern Anchor *searchURLLabel(Buffer *buf, char *url); 605 extern void reAnchorWord(Buffer *buf, Line *l, int spos, int epos); 606 extern char *reAnchor(Buffer *buf, char *re); 607 #ifdef USE_NNTP 608 extern char *reAnchorNews(Buffer *buf, char *re); 609 extern char *reAnchorNewsheader(Buffer *buf); 610 #endif /* USE_NNTP */ 611 extern void addMultirowsForm(Buffer *buf, AnchorList *al); 612 extern Anchor *closest_next_anchor(AnchorList *a, Anchor *an, int x, int y); 613 extern Anchor *closest_prev_anchor(AnchorList *a, Anchor *an, int x, int y); 614 #ifdef USE_IMAGE 615 void addMultirowsImg(Buffer *buf, AnchorList *al); 616 #endif 617 extern HmarkerList *putHmarker(HmarkerList *ml, int line, int pos, int seq); 618 extern void shiftAnchorPosition(AnchorList *a, HmarkerList *hl, int line, 619 int pos, int shift); 620 extern char *getAnchorText(Buffer *buf, AnchorList *al, Anchor *a); 621 extern Buffer *link_list_panel(Buffer *buf); 622 623 extern Str decodeB(char **ww); 624 extern void decodeB_to_growbuf(struct growbuf *gb, char **ww); 625 extern Str decodeQ(char **ww); 626 extern Str decodeQP(char **ww); 627 extern void decodeQP_to_growbuf(struct growbuf *gb, char **ww); 628 extern Str decodeU(char **ww); 629 extern void decodeU_to_growbuf(struct growbuf *gb, char **ww); 630 #ifdef USE_M17N 631 extern Str decodeWord(char **ow, wc_ces * charset); 632 extern Str decodeMIME(Str orgstr, wc_ces * charset); 633 #else 634 extern Str decodeWord0(char **ow); 635 extern Str decodeMIME0(Str orgstr); 636 #define decodeWord(ow,charset) decodeWord0(ow) 637 #define decodeMIME(orgstr,charset) decodeMIME0(orgstr) 638 #endif 639 extern Str encodeB(char *a); 640 extern int set_param_option(char *option); 641 extern char *get_param_option(char *name); 642 extern void init_rc(void); 643 extern Buffer *load_option_panel(void); 644 extern void panel_set_option(struct parsed_tagarg *); 645 extern void sync_with_option(void); 646 extern char *rcFile(char *base); 647 extern char *etcFile(char *base); 648 extern char *confFile(char *base); 649 extern char *auxbinFile(char *base); 650 extern char *libFile(char *base); 651 extern char *helpFile(char *base); 652 extern const void *querySiteconf(const ParsedURL *query_pu, int field); 653 extern Str localCookie(void); 654 extern Str loadLocalDir(char *dirname); 655 extern void set_environ(char *var, char *value); 656 extern FILE *localcgi_post(char *, char *, FormList *, char *); 657 #define localcgi_get(u, q, r) localcgi_post((u), (q), NULL, (r)) 658 extern FILE *openSecretFile(char *fname); 659 extern void loadPasswd(void); 660 extern void loadPreForm(void); 661 extern int find_auth_user_passwd(ParsedURL *pu, char *realm, 662 Str *uname, Str *pwd, int is_proxy); 663 extern void add_auth_user_passwd(ParsedURL *pu, char *realm, 664 Str uname, Str pwd, int is_proxy); 665 extern void invalidate_auth_user_passwd(ParsedURL *pu, char *realm, 666 Str uname, Str pwd, int is_proxy); 667 extern char *last_modified(Buffer *buf); 668 extern Str romanNumeral(int n); 669 extern Str romanAlphabet(int n); 670 extern void setup_child(int child, int i, int f); 671 extern void myExec(char *command); 672 extern void mySystem(char *command, int background); 673 extern Str myExtCommand(char *cmd, char *arg, int redirect); 674 extern Str myEditor(char *cmd, char *file, int line); 675 extern int is_localhost(const char *host); 676 extern char *file_to_url(char *file); 677 #ifdef USE_M17N 678 extern char *url_unquote_conv(char *url, wc_ces charset); 679 #else 680 extern char *url_unquote_conv0(char *url); 681 #define url_unquote_conv(url, charset) url_unquote_conv0(url) 682 #endif 683 extern char *expandName(char *name); 684 extern Str tmpfname(int type, char *ext); 685 extern time_t mymktime(char *timestr); 686 extern void (*mySignal(int signal_number, void (*action) (int))) (int); 687 #ifdef USE_COOKIE 688 extern char *FQDN(char *host); 689 extern Str find_cookie(ParsedURL *pu); 690 extern int add_cookie(ParsedURL *pu, Str name, Str value, time_t expires, 691 Str domain, Str path, int flag, Str comment, int version, 692 Str port, Str commentURL); 693 extern void save_cookies(void); 694 extern void load_cookies(void); 695 extern void initCookie(void); 696 extern void cooLst(void); 697 extern Buffer *cookie_list_panel(void); 698 extern void set_cookie_flag(struct parsed_tagarg *arg); 699 extern int check_cookie_accept_domain(char *domain); 700 #else /* not USE_COOKIE */ 701 #define cooLst nulcmd 702 #endif /* not USE_COOKIE */ 703 #ifdef USE_M17N 704 extern void docCSet(void); 705 extern void defCSet(void); 706 extern void change_charset(struct parsed_tagarg *arg); 707 #else 708 #define docCSet nulcmd 709 #define defCSet nulcmd 710 #endif 711 712 #ifdef USE_MARK 713 extern void _mark(void); 714 extern void nextMk(void); 715 extern void prevMk(void); 716 extern void reMark(void); 717 #else /* not USE_MARK */ 718 #define _mark nulcmd 719 #define nextMk nulcmd 720 #define prevMk nulcmd 721 #define reMark nulcmd 722 #endif /* not USE_MARK */ 723 724 #ifdef USE_MOUSE 725 extern void mouse(void); 726 extern void sgrmouse(void); 727 extern void mouse_init(void); 728 extern void mouse_end(void); 729 extern void mouse_active(void); 730 extern void mouse_inactive(void); 731 extern void msToggle(void); 732 extern void movMs(void); 733 #ifdef USE_MENU 734 extern void menuMs(void); 735 #else 736 #define menuMs nulcmd 737 #endif 738 extern void tabMs(void); 739 extern void closeTMs(void); 740 #else /* not USE_MOUSE */ 741 #define mouse nulcmd 742 #define sgrmouse nulcmd 743 #define msToggle nulcmd 744 #define movMs nulcmd 745 #define menuMs nulcmd 746 #define tabMs nulcmd 747 #define closeTMs nulcmd 748 #endif /* not USE_MOUSE */ 749 750 #ifdef USE_IMAGE 751 extern void initImage(void); 752 extern void termImage(void); 753 extern void addImage(ImageCache * cache, int x, int y, int sx, int sy, int w, 754 int h); 755 extern void drawImage(void); 756 extern void clearImage(void); 757 #endif 758 759 extern char *searchKeyData(void); 760 761 extern void setKeymap(char *p, int lineno, int verbose); 762 extern void initKeymap(int force); 763 extern int getFuncList(char *id); 764 extern int getKey(char *s); 765 extern char *getKeyData(int key); 766 extern char *getWord(char **str); 767 extern char *getQWord(char **str); 768 struct regex; 769 extern char *getRegexWord(const char **str, struct regex **regex_ret); 770 #ifdef USE_MOUSE 771 extern void initMouseAction(void); 772 #endif 773 774 #ifdef USE_MENU 775 extern void new_menu(Menu *menu, MenuItem *item); 776 extern void geom_menu(Menu *menu, int x, int y, int mselect); 777 extern void draw_all_menu(Menu *menu); 778 extern void draw_menu(Menu *menu); 779 extern void draw_menu_item(Menu *menu, int mselect); 780 extern int select_menu(Menu *menu, int mselect); 781 extern void goto_menu(Menu *menu, int mselect, int down); 782 extern void up_menu(Menu *menu, int n); 783 extern void down_menu(Menu *menu, int n); 784 extern int action_menu(Menu *menu); 785 extern void popup_menu(Menu *parent, Menu *menu); 786 extern void guess_menu_xy(Menu *menu, int width, int *x, int *y); 787 extern void new_option_menu(Menu *menu, char **label, int *variable, 788 void (*func) ()); 789 790 extern int setMenuItem(MenuItem *item, char *type, char *line); 791 extern int addMenuList(MenuList **list, char *id); 792 extern int getMenuN(MenuList *list, char *id); 793 794 extern void popupMenu(int x, int y, Menu *menu); 795 extern void mainMenu(int x, int y); 796 extern void mainMn(void); 797 extern void selMn(void); 798 extern void tabMn(void); 799 extern void optionMenu(int x, int y, char **label, int *variable, int initial, 800 void (*func) ()); 801 extern void initMenu(void); 802 #else /* not USE_MENU */ 803 #define mainMn nulcmd 804 #define selMn selBuf 805 #define tabMn nulcmd 806 #endif /* not USE_MENU */ 807 808 #ifdef USE_DICT 809 extern void dictword(void); 810 extern void dictwordat(void); 811 #else /* not USE_DICT */ 812 #define dictword nulcmd 813 #define dictwordat nulcmd 814 #endif /* not USE_DICT */ 815 #if 0 816 extern void reloadBuffer(Buffer *buf); 817 #endif 818 extern char *guess_save_name(Buffer *buf, char *file); 819 820 extern void wrapToggle(void); 821 #ifdef USE_BUFINFO 822 extern void saveBufferInfo(void); 823 #endif 824 825 extern Str getLinkNumberStr(int correction); 826 827 extern void dispVer(void); 828 829 #ifdef USE_INCLUDED_SRAND48 830 void srand48(long); 831 long lrand48(void); 832 #endif 833 834 extern Str base64_encode(const unsigned char *src, size_t len); 835