Added all of the MH sources, including RCS files, in
[mmh] / docs / historical / mh-6.8.5 / h / mshsbr.h
1 /* mshsbr.h - definitions for msh */
2 /* @(#)$Id: mshsbr.h,v 1.8 1995/12/07 21:34:13 jromine Exp $ */
3
4 struct Cmd {
5     char    line[BUFSIZ];
6     char   *args[MAXARGS];
7
8     char   *redirect;
9
10     int     direction;
11 #define STDIO   0               /* regular stdoutput */
12 #define CRTIO   1               /* create  re-direct */
13 #define APPIO   2               /* append  re-direct */
14 #define PIPIO   3               /* pipe    re-direct */
15
16     FILE   *stream;
17 };
18 #define NULLCMD ((struct Cmd *) 0)
19
20
21 struct Msg {
22     struct drop m_drop;
23 #define m_bboard_id     m_drop.d_id
24 #define m_top           m_drop.d_size
25 #define m_start         m_drop.d_start
26 #define m_stop          m_drop.d_stop
27
28     char   *m_scanl;
29     
30     struct tws  m_tb;
31
32     short   m_flags;
33 #define MHNCHK  0x0001  /* did nontext check */
34 #define MHNYES  0x0002  /*   .. and known to be non-text */
35
36     int     m_stats;    /* ought to be unsigned (also in mh.h) */
37 #define CUR ((unsigned)1 << (FFATTRSLOT + NATTRS))
38 #ifdef  BPOP
39 #define VIRTUAL SELECT_EMPTY
40 #endif /* BPOP */
41 };
42
43 /* \f */
44
45                                 /* FOLDER */
46 extern char  *fmsh;             /* folder instead of file */
47 extern int    modified;         /* command modified folder */
48 extern struct msgs *mp;         /* used a lot */
49 extern struct Msg  *Msgs;       /* Msgs[0] not used */
50
51 FILE  *msh_ready ();
52
53
54                                 /* COMMAND */
55 extern int  interactive;        /* running from a /dev/tty */
56 extern int  redirected;         /* re-directing output */
57 extern  FILE  *sp;              /* original stdout */
58
59 extern char *cmd_name;          /* command being run */
60
61 extern char myfilter[];         /* path to mhl.forward */
62
63
64
65 extern char *BBoard_ID;         /* BBoard-ID constant */
66
67
68                                 /* SIGNALS */
69 extern TYPESIG  (*istat) ();    /* original SIGINT */
70 extern TYPESIG  (*qstat) ();    /* original SIGQUIT */
71 extern int  interrupted;        /* SIGINT detected */
72 extern int  broken_pipe;        /* SIGPIPE detected */
73 extern int  told_to_quit;       /* SIGQUIT detected */
74
75 #ifdef  BSD42
76 extern int  should_intr;        /* signal handler should interrupt call */
77 extern jmp_buf sigenv;          /* the environment pointer */
78 #endif /* BSD42 */
79
80
81 off_t    lseek ();