|
Packit |
15a96c |
/*
|
|
Packit |
15a96c |
* minicom.h Constants, defaults, globals etc.
|
|
Packit |
15a96c |
*
|
|
Packit |
15a96c |
* $Id: minicom.h,v 1.26 2009-06-06 21:19:36 al-guest Exp $
|
|
Packit |
15a96c |
*
|
|
Packit |
15a96c |
* This file is part of the minicom communications package,
|
|
Packit |
15a96c |
* Copyright 1991-1995 Miquel van Smoorenburg.
|
|
Packit |
15a96c |
*
|
|
Packit |
15a96c |
* This program is free software; you can redistribute it and/or
|
|
Packit |
15a96c |
* modify it under the terms of the GNU General Public License
|
|
Packit |
15a96c |
* as published by the Free Software Foundation; either version
|
|
Packit |
15a96c |
* 2 of the License, or (at your option) any later version.
|
|
Packit |
15a96c |
*
|
|
Packit |
15a96c |
* You should have received a copy of the GNU General Public License along
|
|
Packit |
15a96c |
* with this program; if not, write to the Free Software Foundation, Inc.,
|
|
Packit |
15a96c |
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
Packit |
15a96c |
*
|
|
Packit |
15a96c |
* fmg 1/11/94 colors
|
|
Packit |
15a96c |
* fmg 8/22/97 History Buffer Search support
|
|
Packit |
15a96c |
* jl 23.06.97 sec parameter to m_dtrtoggle
|
|
Packit |
15a96c |
* jl 04.09.97 conversion tables
|
|
Packit |
15a96c |
* jl 09.09.97 loadconv and saveconv protos
|
|
Packit |
15a96c |
* jl 05.10.97 changed return value of dial() to long
|
|
Packit |
15a96c |
* jseymour@jimsun.LinxNet.com (Jim Seymour) 03/26/98 - Added prototype
|
|
Packit |
15a96c |
* for new "get_port()" function in util.c.
|
|
Packit |
15a96c |
*/
|
|
Packit |
15a96c |
|
|
Packit |
15a96c |
/* First include all other application-dependant include files. */
|
|
Packit |
15a96c |
#include "config.h"
|
|
Packit |
15a96c |
#include "configsym.h"
|
|
Packit |
15a96c |
#include "window.h"
|
|
Packit |
15a96c |
#include "keyboard.h"
|
|
Packit |
15a96c |
#include "vt100.h"
|
|
Packit |
15a96c |
#include "libport.h"
|
|
Packit |
15a96c |
|
|
Packit |
15a96c |
#include <time.h>
|
|
Packit |
15a96c |
#include <stdbool.h>
|
|
Packit |
15a96c |
|
|
Packit |
15a96c |
#if HAVE_LOCKDEV
|
|
Packit |
15a96c |
#include <ttylock.h>
|
|
Packit |
15a96c |
#endif
|
|
Packit |
15a96c |
|
|
Packit |
15a96c |
#ifdef USE_SOCKET
|
|
Packit |
15a96c |
#include <sys/socket.h>
|
|
Packit |
15a96c |
#include <sys/un.h>
|
|
Packit |
15a96c |
#endif
|
|
Packit |
15a96c |
|
|
Packit |
15a96c |
/*
|
|
Packit |
15a96c |
* kubota@debian.or.jp 08/08/98
|
|
Packit |
15a96c |
* COLS must be equal to or less than MAXCOLS.
|
|
Packit |
15a96c |
*/
|
|
Packit |
15a96c |
#define MAXCOLS 256
|
|
Packit |
15a96c |
|
|
Packit |
15a96c |
#define XA_OK_EXIST 1
|
|
Packit |
15a96c |
#define XA_OK_NOTEXIST 2
|
|
Packit |
15a96c |
|
|
Packit |
15a96c |
#ifndef EXTERN
|
|
Packit |
15a96c |
# define EXTERN extern
|
|
Packit |
15a96c |
#endif
|
|
Packit |
15a96c |
|
|
Packit |
15a96c |
#ifdef _UWIN2P0
|
|
Packit |
15a96c |
EXTERN int LINES;
|
|
Packit |
15a96c |
EXTERN int COLS;
|
|
Packit |
15a96c |
#endif
|
|
Packit |
15a96c |
|
|
Packit |
15a96c |
EXTERN int dosetup;
|
|
Packit |
15a96c |
|
|
Packit |
15a96c |
EXTERN char stdattr; /* Standard attribute */
|
|
Packit |
15a96c |
|
|
Packit |
15a96c |
EXTERN WIN *us; /* User screen */
|
|
Packit |
15a96c |
EXTERN WIN *st; /* Status Line */
|
|
Packit |
15a96c |
|
|
Packit |
15a96c |
EXTERN short terminal; /* terminal type */
|
|
Packit |
15a96c |
EXTERN time_t online; /* Time online in minutes */
|
|
Packit |
15a96c |
EXTERN long linespd; /* Line speed */
|
|
Packit |
15a96c |
EXTERN short portfd; /* File descriptor of the serial port. */
|
|
Packit |
15a96c |
EXTERN short lines; /* Nr. of lines on the screen */
|
|
Packit |
15a96c |
EXTERN short cols; /* Nr. of cols of the screen */
|
|
Packit |
15a96c |
EXTERN int keypadmode; /* Mode of keypad */
|
|
Packit |
15a96c |
EXTERN int cursormode; /* Mode of cursor (arrow) keys */
|
|
Packit |
15a96c |
|
|
Packit |
15a96c |
EXTERN int docap; /* Capture data to capture file */
|
|
Packit |
15a96c |
EXTERN FILE *capfp; /* File to capture to */
|
|
Packit |
15a96c |
EXTERN int addlf; /* Add LF after CR */
|
|
Packit |
15a96c |
EXTERN int addcr; /* Insert CR before LF */
|
|
Packit |
15a96c |
EXTERN int wrapln; /* Linewrap default */
|
|
Packit |
15a96c |
EXTERN int display_hex; /* Display in hex */
|
|
Packit |
15a96c |
EXTERN int tempst; /* Status line is temporary */
|
|
Packit |
15a96c |
EXTERN int escape; /* Escape code. */
|
|
Packit |
15a96c |
EXTERN int option_T_used; /* option -T has been supplied, obsolete, print warning */
|
|
Packit |
15a96c |
|
|
Packit |
15a96c |
EXTERN char lockfile[128]; /* UUCP lock file of terminal */
|
|
Packit |
15a96c |
EXTERN char homedir[256]; /* Home directory of user */
|
|
Packit |
15a96c |
EXTERN char logfname[PARS_VAL_LEN]; /* Name of the logfile */
|
|
Packit |
15a96c |
EXTERN char username[16]; /* Who is using minicom? */
|
|
Packit |
15a96c |
|
|
Packit |
15a96c |
EXTERN int bogus_dcd; /* This indicates the dcd status if no 'real' dcd */
|
|
Packit |
15a96c |
EXTERN int alt_override;/* -m option */
|
|
Packit |
15a96c |
|
|
Packit |
15a96c |
EXTERN char parfile[256]; /* Global parameter file */
|
|
Packit |
15a96c |
EXTERN char pparfile[256]; /* Personal parameter file */
|
|
Packit |
15a96c |
|
|
Packit |
15a96c |
EXTERN char scr_name[256]; /* Name of last script */
|
|
Packit |
15a96c |
EXTERN char scr_user[33]; /* Login name to use with script */
|
|
Packit |
15a96c |
EXTERN char scr_passwd[33]; /* Password to use with script */
|
|
Packit |
15a96c |
|
|
Packit |
15a96c |
EXTERN char termtype[32]; /* Value of getenv("TERM"); */
|
|
Packit |
15a96c |
EXTERN char *dial_tty; /* tty to use. */
|
|
Packit |
15a96c |
|
|
Packit |
15a96c |
EXTERN char *dial_name; /* System we're conneced to */
|
|
Packit |
15a96c |
EXTERN char *dial_number; /* Number we've dialed. */
|
|
Packit |
15a96c |
EXTERN char *dial_user; /* Our username there */
|
|
Packit |
15a96c |
EXTERN char *dial_pass; /* Our password */
|
|
Packit |
15a96c |
|
|
Packit |
15a96c |
#ifdef USE_SOCKET
|
|
Packit |
15a96c |
EXTERN int portfd_is_socket; /* File descriptor is a unix socket */
|
|
Packit |
15a96c |
EXTERN int portfd_is_connected; /* 1 if the socket is connected */
|
|
Packit |
15a96c |
EXTERN struct sockaddr_un portfd_sock_addr; /* the unix socket address */
|
|
Packit |
15a96c |
#define portfd_connected ((portfd_is_socket && !portfd_is_connected) \
|
|
Packit |
15a96c |
? -1 : portfd)
|
|
Packit |
15a96c |
#else
|
|
Packit |
15a96c |
#define portfd_connected portfd
|
|
Packit |
15a96c |
#define portfd_is_socket 0
|
|
Packit |
15a96c |
#define portfd_is_connected 0
|
|
Packit |
15a96c |
#endif /* USE_SOCKET */
|
|
Packit |
15a96c |
|
|
Packit |
15a96c |
/*
|
|
Packit |
15a96c |
* fmg 8/22/97
|
|
Packit |
15a96c |
* Search pattern can be THIS long (x characters)
|
|
Packit |
15a96c |
*/
|
|
Packit |
15a96c |
#define MAX_SEARCH 30
|
|
Packit |
15a96c |
|
|
Packit |
15a96c |
/* fmg 1/11/94 colors */
|
|
Packit |
15a96c |
|
|
Packit |
15a96c |
EXTERN int mfcolor; /* Menu Foreground Color */
|
|
Packit |
15a96c |
EXTERN int mbcolor; /* Menu Background Color */
|
|
Packit |
15a96c |
EXTERN int tfcolor; /* Terminal Foreground Color */
|
|
Packit |
15a96c |
EXTERN int tbcolor; /* Terminal Background Color */
|
|
Packit |
15a96c |
EXTERN int sfcolor; /* Status Bar Foreground Color */
|
|
Packit |
15a96c |
EXTERN int sbcolor; /* Status Bar Background Color */
|
|
Packit |
15a96c |
EXTERN int st_attr; /* Status Bar attributes. */
|
|
Packit |
15a96c |
|
|
Packit |
15a96c |
/* jl 04.09.97 conversion tables */
|
|
Packit |
15a96c |
EXTERN unsigned char vt_outmap[256], vt_inmap[256];
|
|
Packit |
15a96c |
|
|
Packit |
15a96c |
/* MARK updated 02/17/95 - history buffer */
|
|
Packit |
15a96c |
EXTERN int num_hist_lines; /* History buffer size */
|
|
Packit |
15a96c |
|
|
Packit |
15a96c |
/* fmg 1/11/94 colors - convert color word to # */
|
|
Packit |
15a96c |
|
|
Packit |
15a96c |
int Jcolor(char *);
|
|
Packit |
15a96c |
|
|
Packit |
15a96c |
EXTERN int size_changed; /* Window size has changed */
|
|
Packit |
15a96c |
extern const char *Version; /* Minicom verson */
|
|
Packit |
15a96c |
|
|
Packit |
15a96c |
EXTERN int local_echo; /* Local echo on/off. */
|
|
Packit |
15a96c |
|
|
Packit |
15a96c |
/* Forward declaration. */
|
|
Packit |
15a96c |
struct dialent;
|
|
Packit |
15a96c |
|
|
Packit |
15a96c |
/* Global functions */
|
|
Packit |
15a96c |
|
|
Packit |
15a96c |
/* Prototypes from file: config.c */
|
|
Packit |
15a96c |
void read_parms(void);
|
|
Packit |
15a96c |
int waccess(char *s);
|
|
Packit |
15a96c |
int config(int setup);
|
|
Packit |
15a96c |
void get_bbp(char *ba, char *bi, char *pa, char *stopb, int curr_ok);
|
|
Packit |
15a96c |
int update_bbp_from_char(char c, char *ba, char *bi, char *pa, char *stopb,
|
|
Packit |
15a96c |
int curr_ok);
|
|
Packit |
15a96c |
const char *yesno(int k);
|
|
Packit |
15a96c |
int dotermmenu(void);
|
|
Packit |
15a96c |
int dodflsave(void); /* fmg - need it */
|
|
Packit |
15a96c |
void vdodflsave(void); /* fmg - need it */
|
|
Packit |
15a96c |
int domacsave(void); /* fmg - need it */
|
|
Packit |
15a96c |
int loadconv(char *); /* jl */
|
|
Packit |
15a96c |
int saveconv(char *); /* jl */
|
|
Packit |
15a96c |
int speed_valid(unsigned int);
|
|
Packit |
15a96c |
|
|
Packit |
15a96c |
/* Prototypes from file: common.c */
|
|
Packit |
15a96c |
char *pfix_home( char *s);
|
|
Packit |
15a96c |
void do_log(const char *line, ...);
|
|
Packit |
15a96c |
size_t one_mbtowc (wchar_t *pwc, const char *s, size_t n);
|
|
Packit |
15a96c |
size_t one_wctomb (char *s, wchar_t wchar);
|
|
Packit |
15a96c |
size_t mbslen (const char *s);
|
|
Packit |
15a96c |
|
|
Packit |
15a96c |
/* Prototypes from file: dial.c */
|
|
Packit |
15a96c |
#if VC_MUSIC
|
|
Packit |
15a96c |
void music(void);
|
|
Packit |
15a96c |
#endif
|
|
Packit |
15a96c |
void mputs(const char *s , int how);
|
|
Packit |
15a96c |
void modeminit(void);
|
|
Packit |
15a96c |
void modemreset(void);
|
|
Packit |
15a96c |
void hangup(void);
|
|
Packit |
15a96c |
void sendbreak(void);
|
|
Packit |
15a96c |
long dial(struct dialent *d , struct dialent **d2);
|
|
Packit |
15a96c |
int readdialdir(void);
|
|
Packit |
15a96c |
void dialone(char *entry);
|
|
Packit |
15a96c |
void dialdir(void);
|
|
Packit |
15a96c |
|
|
Packit |
15a96c |
/* Prototypes from file: file.c */
|
|
Packit |
15a96c |
char *filedir(int how_many, int downloading);
|
|
Packit |
15a96c |
void init_dir(char dir);
|
|
Packit |
15a96c |
|
|
Packit |
15a96c |
/* Prototypes from file: util.c */
|
|
Packit |
15a96c |
int fastexec(char *cmd);
|
|
Packit |
15a96c |
int fastsystem(char *cmd, char *in, char *out, char *err);
|
|
Packit |
15a96c |
char *get_port(char *);
|
|
Packit |
15a96c |
|
|
Packit |
15a96c |
/* Prototypes from file: help.c */
|
|
Packit |
15a96c |
int help(void);
|
|
Packit |
15a96c |
|
|
Packit |
15a96c |
/* Prototypes from file: ipc.c */
|
|
Packit |
15a96c |
int check_io(int fd1, int fd2, int tmout, char *buf, int buf_size, int *bytes_red);
|
|
Packit |
15a96c |
int keyboard(int cmd, int arg);
|
|
Packit |
15a96c |
|
|
Packit |
15a96c |
/* Prototypes from file: keyserv.c */
|
|
Packit |
15a96c |
void handler(int dummy);
|
|
Packit |
15a96c |
void sendstr(char *s);
|
|
Packit |
15a96c |
|
|
Packit |
15a96c |
/* Prototypes from file: main.c */
|
|
Packit |
15a96c |
extern time_t old_online;
|
|
Packit |
15a96c |
void leave(const char *s) __attribute__((noreturn));
|
|
Packit |
15a96c |
char *esc_key(void);
|
|
Packit |
15a96c |
void term_socket_connect(void);
|
|
Packit |
15a96c |
void term_socket_close(void);
|
|
Packit |
15a96c |
int open_term(int doinit, int show_win_on_error, int no_msgs);
|
|
Packit |
15a96c |
void init_emul(int type, int do_init);
|
|
Packit |
15a96c |
void timer_update(void);
|
|
Packit |
15a96c |
void show_status(void);
|
|
Packit |
15a96c |
void set_status_line_format(const char *s);
|
|
Packit |
15a96c |
void scriptname(const char *s);
|
|
Packit |
15a96c |
int do_terminal(void);
|
|
Packit |
15a96c |
void status_set_display(const char *text, int duration_s);
|
|
Packit |
15a96c |
|
|
Packit |
15a96c |
/* Prototypes from file: minicom.c */
|
|
Packit |
15a96c |
void port_init(void);
|
|
Packit |
15a96c |
void toggle_addlf(void);
|
|
Packit |
15a96c |
void toggle_local_echo(void);
|
|
Packit |
15a96c |
|
|
Packit |
15a96c |
void drawhist_look(WIN *w, int y, int r, wchar_t *look, int case_matters);
|
|
Packit |
15a96c |
void searchhist(WIN *w_hist, wchar_t *str);
|
|
Packit |
15a96c |
int find_next(WIN *w, WIN *w_hist, int hit_line, wchar_t *look,
|
|
Packit |
15a96c |
int case_matters);
|
|
Packit |
15a96c |
const wchar_t *upcase(wchar_t *dest, wchar_t *src);
|
|
Packit |
15a96c |
wchar_t *StrStr(wchar_t *str1, wchar_t *str2, int case_matters);
|
|
Packit |
15a96c |
|
|
Packit |
15a96c |
void do_iconv(char **inbuf, size_t *inbytesleft,
|
|
Packit |
15a96c |
char **outbuf, size_t *outbytesleft);
|
|
Packit |
15a96c |
int using_iconv(void);
|
|
Packit |
15a96c |
|
|
Packit |
15a96c |
/* Prototypes from file: rwconf.c */
|
|
Packit |
15a96c |
int writepars(FILE *fp, int all);
|
|
Packit |
15a96c |
int writemacs(FILE *fp);
|
|
Packit |
15a96c |
int readpars(FILE *fp, enum config_type conftype);
|
|
Packit |
15a96c |
int readmacs(FILE *fp, int init); /* fmg */
|
|
Packit |
15a96c |
|
|
Packit |
15a96c |
/* Prototypes from file: sysdep1.c */
|
|
Packit |
15a96c |
void m_sethwf(int fd, int on);
|
|
Packit |
15a96c |
void m_dtrtoggle(int fd, int sec);
|
|
Packit |
15a96c |
void m_break(int fd);
|
|
Packit |
15a96c |
int m_getdcd(int fd);
|
|
Packit |
15a96c |
void m_setdcd(int fd, int what);
|
|
Packit |
15a96c |
void m_savestate(int fd);
|
|
Packit |
15a96c |
void m_restorestate(int fd);
|
|
Packit |
15a96c |
void m_nohang(int fd);
|
|
Packit |
15a96c |
void m_hupcl(int fd, int on);
|
|
Packit |
15a96c |
void m_flush(int fd);
|
|
Packit |
15a96c |
void m_flush_script( int fd);
|
|
Packit |
15a96c |
unsigned m_getmaxspd(void);
|
|
Packit |
15a96c |
void m_setparms(int fd, char *baudr, char *par, char *bits,
|
|
Packit |
15a96c |
char *stopb, int hwf, int swf);
|
|
Packit |
15a96c |
int m_wait(int *st);
|
|
Packit |
15a96c |
|
|
Packit |
15a96c |
/* Prototypes from file: sysdep2.c */
|
|
Packit |
15a96c |
void getrowcols(int *rows, int *cols);
|
|
Packit |
15a96c |
int setcbreak(int mode);
|
|
Packit |
15a96c |
void enab_sig(int onoff, int intrchar);
|
|
Packit |
15a96c |
|
|
Packit |
15a96c |
/* Prototypes from file: updown.c */
|
|
Packit |
15a96c |
void updown(int what, int nr );
|
|
Packit |
15a96c |
int mc_setenv(const char *, const char *);
|
|
Packit |
15a96c |
void kermit(void);
|
|
Packit |
15a96c |
void runscript(int ask, const char *s, const char *l, const char *p);
|
|
Packit |
15a96c |
int paste_file(void);
|
|
Packit |
15a96c |
|
|
Packit |
15a96c |
/* Prototypes from file: windiv.c */
|
|
Packit |
15a96c |
WIN *mc_tell(const char *, ...);
|
|
Packit |
15a96c |
void werror(const char *, ...);
|
|
Packit |
15a96c |
int ask(const char *what, const char *s[]);
|
|
Packit |
15a96c |
char *input(char *s, char *buf);
|
|
Packit |
15a96c |
|
|
Packit |
15a96c |
/* Prototypes from file: wildmat.c */
|
|
Packit |
15a96c |
int wildmat(const char *, const char *);
|
|
Packit |
15a96c |
|
|
Packit |
15a96c |
/* Prototypes from file: wkeys.c */
|
|
Packit |
15a96c |
extern int io_pending, pendingkeys;
|
|
Packit |
15a96c |
|
|
Packit |
15a96c |
/* Prototypes from file: config.c */
|
|
Packit |
15a96c |
void domacros(void);
|
|
Packit |
15a96c |
|
|
Packit |
15a96c |
|
|
Packit |
15a96c |
int lockfile_create(int no_msgs);
|
|
Packit |
15a96c |
void lockfile_remove(void);
|
|
Packit |
15a96c |
|
|
Packit |
15a96c |
|
|
Packit |
15a96c |
|
|
Packit |
15a96c |
/* We want the ANSI offsetof macro to do some dirty stuff. */
|
|
Packit |
15a96c |
#ifndef offsetof
|
|
Packit |
15a96c |
# define offsetof(type, member) ((int) &((type *)0)->member)
|
|
Packit |
15a96c |
#endif
|
|
Packit |
15a96c |
|
|
Packit |
15a96c |
/* Values for the "flags". */
|
|
Packit |
15a96c |
#define FL_ECHO 0x01 /* Local echo on/off. */
|
|
Packit |
15a96c |
#define FL_DEL 0x02 /* Backspace or DEL */
|
|
Packit |
15a96c |
#define FL_WRAP 0x04 /* Use autowrap. */
|
|
Packit |
15a96c |
#define FL_ANSI 0x08 /* Type of term emulation */
|
|
Packit |
15a96c |
#define FL_TAG 0x80 /* This entry is tagged. */
|
|
Packit |
15a96c |
#define FL_SAVE 0x0f /* Which portions of flags to save. */
|
|
Packit |
15a96c |
|
|
Packit |
15a96c |
enum {
|
|
Packit |
15a96c |
TIMESTAMP_LINE_OFF,
|
|
Packit |
15a96c |
TIMESTAMP_LINE_SIMPLE,
|
|
Packit |
15a96c |
TIMESTAMP_LINE_EXTENDED,
|
|
Packit |
15a96c |
TIMESTAMP_LINE_PER_SECOND,
|
|
Packit |
15a96c |
TIMESTAMP_LINE_NR_OF_OPTIONS, // must be last
|
|
Packit |
15a96c |
};
|