Sophie

Sophie

distrib > Mandriva > 2009.0 > i586 > by-pkgid > 10962d0b39f03506647f0454fe08287d > files > 67

nmh-debug-1.2-4mdv2009.0.i586.rpm


/*
 * msh.h -- definitions for msh
 *
 * $Id: msh.h,v 1.1.1.1 1999/04/30 18:08:34 doug Exp $
 */

/* flags for stream */
#define	STDIO	0		/* regular stdoutput */
#define	CRTIO	1		/* create  re-direct */
#define	APPIO	2		/* append  re-direct */
#define	PIPIO	3		/* pipe    re-direct */

struct Cmd {
    char line[BUFSIZ];
    char *args[MAXARGS];
    char *redirect;
    int direction;
    FILE *stream;
};

#define	NULLCMD	((struct Cmd *) 0)

#define	MHNCHK 0x0001	/* did nontext check           */
#define	MHNYES 0x0002	/* .. and known to be non-text */

#define CUR (1 << (FFATTRSLOT + NUMATTRS - 1))

#ifdef BPOP
# define VIRTUAL SELECT_EMPTY

# define is_virtual(mp,msgnum)    ((mp)->msgstats[msgnum] & VIRTUAL)
# define unset_virtual(mp,msgnum) ((mp)->msgstats[msgnum] &= ~VIRTUAL)
# define set_virtual(mp,msgnum)   ((mp)->msgstats[msgnum] |= VIRTUAL)
#endif

struct Msg {
    struct drop m_drop;
    char *m_scanl;
    struct tws m_tb;
    short m_flags;
    seqset_t m_stats;
};

#define	m_bboard_id  m_drop.d_id
#define	m_top        m_drop.d_size
#define	m_start      m_drop.d_start
#define	m_stop       m_drop.d_stop

/*
 * FOLDER
 */
extern char *fmsh;		/* folder instead of file  */
extern int modified;		/* command modified folder */
extern struct msgs *mp;		/* used a lot              */
extern struct Msg *Msgs;	/* Msgs[0] not used        */

FILE *msh_ready ();

/*
 * COMMAND
 */
extern int interactive;		/* running from a /dev/tty */
extern int redirected;		/* re-directing output     */
extern FILE *sp;		/* original stdout         */
extern char *cmd_name;		/* command being run       */
extern char myfilter[];		/* path to mhl.forward     */

extern char *BBoard_ID;		/* BBoard-ID constant */

/*
 * SIGNALS
 */
extern SIGNAL_HANDLER istat;	/* original SIGINT  */
extern SIGNAL_HANDLER qstat;	/* original SIGQUIT */
extern int interrupted;		/* SIGINT detected  */
extern int broken_pipe;		/* SIGPIPE detected */
extern int told_to_quit;	/* SIGQUIT detected */

#ifdef BSD42
extern int should_intr;		/* signal handler should interrupt call */
extern jmp_buf sigenv;		/* the environment pointer */
#endif

/*
 * prototypes
 */
int readid (int);
int expand (char *);
void m_reset (void);
void fsetup (char *);
void setup (char *);
void readids (int);
void display_info (int);

void forkcmd (char **s, char *);
void distcmd (char **);
void explcmd (char **);
int filehak (char **);
void filecmd (char **);
void foldcmd (char **);
void forwcmd (char **);
void helpcmd (char **);
void markcmd (char **);
void mhncmd (char **);
void showcmd (char **);
int pack (char *, int, int);
int packhak (char **);
void packcmd (char **);
void pickcmd (char **);
void replcmd (char **);
void rmmcmd (char **);
void scancmd (char **);
void sortcmd (char **);