minicom.h
上传用户:tianjinjs
上传日期:2007-01-05
资源大小:309k
文件大小:9k
源码类别:

Modem编程

开发平台:

Unix_Linux

  1. /*
  2.  * minicom.h Constants, defaults, globals etc.
  3.  *
  4.  * This file is part of the minicom communications package,
  5.  * Copyright 1991-1995 Miquel van Smoorenburg.
  6.  *
  7.  * This program is free software; you can redistribute it and/or
  8.  * modify it under the terms of the GNU General Public License
  9.  * as published by the Free Software Foundation; either version
  10.  * 2 of the License, or (at your option) any later version.
  11.  *
  12.  * fmg 1/11/94 colors
  13.  * fmg 8/22/97 History Buffer Search support
  14.  * jl  23.06.97 sec parameter to m_dtrtoggle
  15.  * jl  04.09.97 conversion tables
  16.  * jl  09.09.97 loadconv and saveconv protos
  17.  * jl  05.10.97 changed return value of dial() to long
  18.  * jseymour@jimsun.LinxNet.com (Jim Seymour) 03/26/98 - Added prototype
  19.  *    for new "get_port()" function in util.c.
  20.  */
  21. /* First include all other application-dependant include files. */
  22. #include "config.h"
  23. #include "configsym.h"
  24. #include "window.h"
  25. #include "keyboard.h"
  26. #include "vt100.h"
  27. /*
  28.  * kubota@debian.or.jp 08/08/98
  29.  * COLS must be equal to or less than MAXCOLS.
  30.  */
  31. #define MAXCOLS 256
  32. #define XA_OK_EXIST 1
  33. #define XA_OK_NOTEXIST 2
  34. #ifndef EXTERN
  35. # define EXTERN extern
  36. #endif
  37. #ifdef _UWIN2P0
  38. EXTERN int LINES;
  39. EXTERN int COLS;
  40. #endif
  41. EXTERN char stdattr; /* Standard attribute */
  42. EXTERN WIN *us; /* User screen */
  43. EXTERN WIN *st; /* Status Line */
  44. EXTERN int real_uid; /* Real uid */
  45. EXTERN int real_gid; /* Real gid */
  46. EXTERN int eff_uid; /* Effective uid */
  47. EXTERN int eff_gid; /* Effective gid */
  48. EXTERN short terminal; /* terminal type */
  49. EXTERN time_t online; /* Time online in minutes */
  50. EXTERN long linespd; /* Line speed */
  51. EXTERN short portfd; /* File descriptor of the serial port. */
  52. EXTERN short lines; /* Nr. of lines on the screen */
  53. EXTERN short cols; /* Nr. of cols of the screen */
  54. EXTERN int keypadmode; /* Mode of keypad */
  55. EXTERN int cursormode; /* Mode of cursor (arrow) keys */
  56. EXTERN int docap; /* Capture data to capture file */
  57. EXTERN FILE *capfp; /* File to capture to */
  58. EXTERN int addlf; /* Add LF after CR */
  59. EXTERN int tempst; /* Status line is temporary */
  60. EXTERN int escape; /* Escape code. */
  61. EXTERN char lockfile[128]; /* UUCP lock file of terminal */
  62. EXTERN char homedir[256];  /* Home directory of user */
  63. EXTERN char logfname[PARS_VAL_LEN]; /* Name of the logfile */
  64. EXTERN char username[16];  /* Who is using minicom? */
  65. EXTERN int bogus_dcd; /* This indicates the dcd status if no 'real' dcd */
  66. EXTERN int alt_override;/* -m option */
  67. EXTERN char parfile[256]; /* Global parameter file */
  68. EXTERN char pparfile[256]; /* Personal parameter file */
  69. EXTERN char scr_name[33];   /* Name of last script */
  70. EXTERN char scr_user[33];   /* Login name to use with script */
  71. EXTERN char scr_passwd[33]; /* Password to use with script */
  72. EXTERN char termtype[32];  /* Value of getenv("TERM"); */
  73. EXTERN char *dial_tty;     /* tty to use. */
  74. EXTERN int portuid, portgid; /* Uid and Gid of /dev/ttyS... */
  75. EXTERN char *dial_name;     /* System we're conneced to */
  76. EXTERN char *dial_number;   /* Number we've dialed. */
  77. EXTERN char *dial_user;     /* Our username there */
  78. EXTERN char *dial_pass;     /* Our password */
  79. /*
  80.  * fmg 8/22/97
  81.  * Search pattern can be THIS long (x characters)
  82.  */
  83. #if _SEARCH_HISTORY
  84. #define MAX_SEARCH      30
  85. #endif /*SEARCH_HISTORY*/
  86. /* fmg 1/11/94 colors */
  87. EXTERN int mfcolor;     /* Menu Foreground Color */
  88. EXTERN int mbcolor;     /* Menu Background Color */
  89. EXTERN int tfcolor;     /* Terminal Foreground Color */
  90. EXTERN int tbcolor;     /* Terminal Background Color */
  91. EXTERN int sfcolor;     /* Status Bar Foreground Color */
  92. EXTERN int sbcolor;     /* Status Bar Background Color */
  93. EXTERN int st_attr; /* Status Bar attributes. */
  94. /* jl 04.09.97 conversion tables */
  95. EXTERN unsigned char vt_outmap[256], vt_inmap[256];
  96. /* MARK updated 02/17/95 - history buffer */
  97. EXTERN int num_hist_lines;  /* History buffer size */
  98. /* fmg 1/11/94 colors - convert color word to # */
  99. _PROTO(int Jcolor, ( char * ));
  100. EXTERN int size_changed;    /* Window size has changed */
  101. extern char *Version;     /* Minicom verson */
  102. #if _SELECT
  103. EXTERN int local_echo;      /* Local echo on/off. */
  104. #endif
  105. /* Forward declaration. */
  106. struct dialent;
  107. /* Global functions */
  108. /*      Prototypes from file: " config.c "      */
  109. _PROTO(void read_parms, ( void ));
  110. _PROTO(int waccess, ( char *s ));
  111. _PROTO(int config, ( int setup ));
  112. _PROTO(void get_bbp, ( char *ba , char *bi , char *pa , int curr_ok ));
  113. _PROTO(char *yesno, ( int k ));
  114. _PROTO(int dotermmenu, ( void ));
  115. _PROTO(int dodflsave, ( void )); /* fmg - need it */
  116. _PROTO(void vdodflsave, ( void )); /* fmg - need it */
  117. _PROTO(int domacsave, ( void )); /* fmg - need it */
  118. _PROTO(int loadconv, ( char *)); /* jl */
  119. _PROTO(int saveconv, ( char *)); /* jl */
  120. /* Prototypes from file: " common.c "    */
  121. _PROTO(char *pfix_home, ( char *s ));
  122. _PROTO(void do_log, ( char *line, ... ));
  123. /*      Prototypes from file: " dial.c "      */
  124. _PROTO(void mputs, ( char *s , int how ));
  125. _PROTO(void modeminit, ( void ));
  126. _PROTO(void modemreset, ( void ));
  127. _PROTO(void hangup, ( void ));
  128. _PROTO(void sendbreak, ( void ));
  129. _PROTO(long dial, ( struct dialent *d , struct dialent **d2 ));
  130. _PROTO(int readdialdir, ( void ));
  131. _PROTO(void dialone, ( char *entry ));
  132. _PROTO(void dialdir, ( void ));
  133. /*      Prototypes from file: " file.c "      */
  134. _PROTO(char *filedir, (int how_many, int downloading));
  135. /*      Prototypes from file: " util.c "      */
  136. _PROTO(int fastexec, ( char *cmd ));
  137. _PROTO(int fastsystem, ( char *cmd , char *in , char *out , char *err ));
  138. _PROTO(char * get_port, ( char * ));
  139. /*      Prototypes from file: " help.c "      */
  140. _PROTO(int help, ( void ));
  141. /*      Prototypes from file: " ipc.c "      */
  142. _PROTO(int check_io, ( int fd1, int fd2, int tmout, char *buf , int *buflen ));
  143. _PROTO(int keyboard, ( int cmd , int arg ));
  144. /*      Prototypes from file: " keyserv.c "      */
  145. _PROTO(void handler, ( int dummy ));
  146. _PROTO(void sendstr, ( char *s ));
  147. _PROTO(int main, ( int argc , char **argv ));
  148. /*      Prototypes from file: " main.c "      */
  149. _PROTO(char *mbasename, ( char *s ));
  150. _PROTO(void leave, ( char *s ));
  151. _PROTO(char *esc_key, ( void ));
  152. _PROTO(int open_term, ( int doinit ));
  153. _PROTO(void init_emul, ( int type , int do_init ));
  154. _PROTO(void timer_update, (void ));
  155. _PROTO(void mode_status, ( void ));
  156. _PROTO(void time_status, ( void ));
  157. _PROTO(void curs_status, ( void ));
  158. _PROTO(void show_status, ( void ));
  159. _PROTO(void scriptname, ( char *s ));
  160. _PROTO(int do_terminal, ( void ));
  161. /*      Prototypes from file: " minicom.c "      */
  162. _PROTO(void port_init, ( ));
  163. /*
  164.  * fmg 8/22/97
  165.  * Prototypes needed...
  166.  */
  167. #if _SEARCH_HISTORY
  168. _PROTO(void drawhist_look, (WIN *w, int y, int r, char *look, int case_matters));
  169. _PROTO(void searchhist, (WIN *w_orig, WIN *w_hist, int r, char *str));
  170. _PROTO(int find_next, (WIN *w, WIN *w_hist, int hit_line, char *look, int case_matters));
  171. _PROTO(const char *upcase, (char *dest, char *src));
  172. _PROTO(char *StrStr, (char *str1, char *str2, int case_matters));
  173. #endif /*SEARCH_HISTORY*/
  174. /*      Prototypes from file: " rwconf.c "      */
  175. _PROTO(int writepars, ( FILE *fp , int all ));
  176. _PROTO(int writemacs, ( FILE *fp , int all )); /* fmg */
  177. _PROTO(int readpars, ( FILE *fp , int init ));
  178. _PROTO(int readmacs, ( FILE *fp , int init )); /* fmg */
  179. #if 0 /* Only if you don't have it already */
  180. _PROTO(char *strtok, ( char *s , char *delim ));
  181. #endif
  182. #ifdef _SVR2
  183. _PROTO(int dup2, ( int from, int to ));
  184. #endif
  185. /*      Prototypes from file: " sysdep1.c "      */
  186. _PROTO(void m_sethwf, ( int fd , int on ));
  187. _PROTO(void m_dtrtoggle, ( int fd , int sec ));
  188. _PROTO(void m_break, ( int fd ));
  189. _PROTO(int m_getdcd, ( int fd ));
  190. _PROTO(void m_setdcd, ( int fd , int what ));
  191. _PROTO(void m_savestate, ( int fd ));
  192. _PROTO(void m_restorestate, ( int fd ));
  193. _PROTO(void m_nohang, ( int fd ));
  194. _PROTO(void m_hupcl, ( int fd, int on ));
  195. _PROTO(void m_flush, ( int fd ));
  196. _PROTO(int m_getmaxspd, ( void ));
  197. _PROTO(void m_setparms, ( int fd , char *baudr , char *par , char *bits, int hwf, int swf ));
  198. _PROTO(int m_wait, ( int *st ));
  199. /*      Prototypes from file: " sysdep2.c "      */
  200. _PROTO(void getrowcols, ( int *rows , int *cols ));
  201. _PROTO(int setcbreak, ( int mode ));
  202. _PROTO(void enab_sig, ( int onoff , int intrchar ));
  203. _PROTO(void drop_all_privs, ( void ));
  204. _PROTO(void drop_privs, ( void ));
  205. _PROTO(void set_privs, ( void ));
  206. _PROTO(FILE *sfopen, ( char *file, char *mode ));
  207. #if 0 /* Only if you don't have it already */
  208. _PROTO(char *strtok, ( char *s , char *delim ));
  209. #endif
  210. #ifdef _SVR2
  211. _PROTO(int dup2, ( int from, int to ));
  212. #endif
  213. /*      Prototypes from file: " updown.c "      */
  214. _PROTO(void updown, ( int what, int nr ));
  215. _PROTO(int mc_setenv, (char *, char *));
  216. _PROTO(void kermit, ( void ));
  217. _PROTO(void runscript, ( int ask, char *s , char *l , char *p ));
  218. /*      Prototypes from file: " windiv.c "      */
  219. /* Should use stdarg et al. */
  220. WIN *mc_tell();
  221. void werror();
  222. _PROTO(int ask, ( char *what , char *s []));
  223. _PROTO(char *input, ( char *s , char *buf ));
  224. /*      Prototypes from file: " wkeys.c "      */
  225. _PROTO(int wxgetch, ( void ));
  226. /*      Prototypes from file: " config.c "      */
  227. _PROTO(void domacros, ( void ));