Category : Network Files
Archive   : KA9Q.ZIP
Filename : SMTP.H

 
Output of file : SMTP.H contained in archive : KA9Q.ZIP
#define SMTPTRACE /* enable tracing for smtp */
#define MAXSESSIONS 10 /* most connections allowed */
#define JOBNAME 13 /* max size of a job name with null */
#define LINELEN 128
#define SLINELEN 32
#define MBOXLEN 8 /* max size of a mail box name */


/* types of address used by smtp in an address list */
#define BADADDR 0
#define LOCAL 1
#define DOMAIN 2

/* a list entry */
struct list {
struct list *next;
char *val;
char type;
};


/* Per-session control block used by smtp server */
struct mail {
struct tcb *tcb; /* TCP control block pointer */
char state;
#define COMMAND_STATE 0
#define DATA_STATE 1
char *system; /* Name of remote system */
char *from; /* sender address */
struct list *to; /* Linked list of recipients */
char buf[LINELEN]; /* Input buffer */
char cnt; /* Length of input buffer */
FILE *data; /* Temporary input file pointer */
};

/* used by smtpcli as a queue entry for a single message */
struct smtp_job {
struct smtp_job *next; /* pointer to next mail job for this system */
char jobname[9]; /* the prefix of the job file name */
char *from; /* address of sender */
struct list *to; /* Linked list of recipients */
};

/* control structure used by an smtp client session */
struct smtp_cb {
struct tcb *tcb; /* tcp task control buffer */
int32 ipdest; /* address of forwarding system */
char state; /* state machine placeholder */
#define CLI_INIT_STATE 0
#define CLI_OPEN_STATE 1
#define CLI_HELO_STATE 2
#define CLI_MAIL_STATE 3
#define CLI_RCPT_STATE 4
#define CLI_SEND_STATE 5
#define CLI_UNLK_STATE 6
#define CLI_QUIT_STATE 7
#define CLI_IDLE_STATE 8
char *wname; /* name of workfile */
char *tname; /* name of data file */
char buf[LINELEN]; /* Input buffer */
char cnt; /* Length of input buffer */
FILE *tfile;
struct smtp_job *jobq;
char goodrcpt; /* are any of the rcpt ok */
char cts; /* clear to send state indication */
int rcpts; /* number of unacked rcpt commands */
struct list *errlog;
};

/* smpt server routing mode */
#define QUEUE 1

#define NULLLIST (struct list *)0
#define NULLMAIL (struct mail *)0
#define NULLCB (struct smtp_cb *)0
#define NULLJOB (struct smtp_job *)0


extern char *mailspool;
extern char *mailqdir; /* Outgoing spool directory */
extern char *routeqdir; /* spool directory for a router program */
extern char *mailqueue; /* Prototype of work file */
extern char *maillock; /* Mail system lock */
extern char hostname[];
extern char *alias;
extern int32 mailroute();
extern int mlock(),rmlock(),queuejob();
extern char *ptime();
extern void del_list();
extern long get_msgid();
extern int16 smtpmode;
extern char *fgets();
extern struct list *addlist();


  3 Responses to “Category : Network Files
Archive   : KA9Q.ZIP
Filename : SMTP.H

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/