X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=mts%2Fsmtp%2Fsmtp.h;fp=mts%2Fsmtp%2Fsmtp.h;h=0000000000000000000000000000000000000000;hp=c88620ea726b2c7d8d3ca1c21e17910b77acce04;hb=f6aa95b724fd8c791164abe7ee5468bf5c34f226;hpb=128545e06224233b7e91fc4c83f8830252fe16c9 diff --git a/mts/smtp/smtp.h b/mts/smtp/smtp.h deleted file mode 100644 index c88620e..0000000 --- a/mts/smtp/smtp.h +++ /dev/null @@ -1,291 +0,0 @@ - -/* - * smtp.h -- definitions for the nmh SMTP Interface - */ - -/* various modes for SMTP */ -#define S_MAIL 0 -#define S_SEND 1 -#define S_SOML 2 -#define S_SAML 3 - -/* length is the length of the string in text[], which is also NUL - * terminated, so s.text[s.length] should always be 0. - */ -struct smtp { - int code; - int length; - char text[BUFSIZ]; -}; - -/* - * prototypes - */ -/* int client (); */ -int sm_init (char *, char *, char *, int, int, int, int, int, int, char *, char *, int); -int sm_winit (int, char *); -int sm_wadr (char *, char *, char *); -int sm_waend (void); -int sm_wtxt (char *, int); -int sm_wtend (void); -int sm_end (int); -char *rp_string (int); - -/* The remainder of this file is derived from "mmdf.h" */ - -/* - * Copyright (C) 1979,1980,1981,1982,1983 University of Delaware - * Used by permission, May, 1984. - */ - -/* - * MULTI-CHANNEL MEMO DISTRIBUTION FACILITY (MMDF) - * - * - * Copyright (C) 1979,1980,1981,1982,1983 University of Delaware - * - * Department of Electrical Engineering - * University of Delaware - * Newark, Delaware 19711 - * - * Phone: (302) 738-1163 - * - * - * This program module was developed as part of the University - * of Delaware's Multi-Channel Memo Distribution Facility (MMDF). - * - * Acquisition, use, and distribution of this module and its listings - * are subject restricted to the terms of a license agreement. - * Documents describing systems using this module must cite its source. - * - * The above statements must be retained with all copies of this - * program and may not be removed without the consent of the - * University of Delaware. - * - */ - -/* Reply Codes for MMDF - * - * Based on: "Revised FTP Reply Codes", by Jon Postel & Nancy Neigus Arpanet - * RFC 640 / NIC 30843, in the "Arpanet Protocol Handbook", E. Feinler - * and J. Postel (eds.), NIC 7104, Network Information Center, SRI - * International: Menlo Park, CA. (NTIS AD-A0038901) - * - * Actual values are different, but scheme is same. Codes must fit into - * 8-bits (to pass on exit() calls); fields are packed 2-3-3 and interpreted - * as octal numbers. - * - * Basic format: - * - * 0yz: positive completion; entire action done - * 1yz: positive intermediate; only part done - * 2yz: Transient negative completion; may work later - * 3yz: Permanent negative completion; you lose forever - * - * x0z: syntax - * x1z: general; doesn't fit any other category - * x2z: connections; truly transfer-related - * x3z: user/authentication/account - * x4x: mail - * x5z: file system - * - * 3-bit z field is unique to the reply. In the following, - * the RP_xVAL defines are available for masking to obtain a field. - */ - -/* - * FIELD DEFINITIONS & BASIC VALUES - */ - -/* FIELD 1: Basic degree of success (2-bits) */ - -#define RP_BTYP '\200' /* good vs. bad; on => bad */ -#define RP_BVAL '\300' /* basic degree of success */ - -#define RP_BOK '\000' /* went fine; all done */ -#define RP_BPOK '\100' /* only the first part got done */ -#define RP_BTNO '\200' /* temporary failure; try later */ -#define RP_BNO '\300' /* not now, nor never; you lose */ - -/* FIELD 2: Basic domain of discourse (3-bits) */ - -#define RP_CVAL '\070' /* basic category (domain) of reply */ - -#define RP_CSYN '\000' /* purely a matter of form */ -#define RP_CGEN '\010' /* couldn't find anywhere else for it */ -#define RP_CCON '\020' /* data-transfer-related issue */ -#define RP_CUSR '\030' /* pertaining to the user */ -#define RP_CMAI '\040' /* specific to mail semantics */ -#define RP_CFIL '\050' /* file system */ -#define RP_CLIO '\060' /* local i/o system */ - -/* FIELD 3: Specific value for this reply (3-bits) */ - -#define RP_SVAL '\007' /* specific value of reply */ - - -/* - * SPECIFIC SUCCESS VALUES - */ - -/* - * Complete Success - */ - -/* done (e.g., w/transaction) */ -#define RP_DONE (RP_BOK | RP_CGEN | '\000') - -/* general-purpose OK */ -#define RP_OK (RP_BOK | RP_CGEN | '\001') - -/* message is accepted (w/text) */ -#define RP_MOK (RP_BOK | RP_CMAI | '\000') - - -/* - * Partial Success - */ - -/* you are the requestor */ -#define RP_MAST (RP_BPOK| RP_CGEN | '\000') - -/* you are the requestee */ -#define RP_SLAV (RP_BPOK| RP_CGEN | '\001') - -/* message address is accepted */ -#define RP_AOK (RP_BPOK| RP_CMAI | '\000') - - -/* - * SPECIFIC FALURE VALUES - */ - -/* - * Partial Failure - */ - -/* not now; maybe later */ -#define RP_AGN (RP_BTNO | RP_CGEN | '\000') - -/* timeout */ -#define RP_TIME (RP_BTNO | RP_CGEN | '\001') - -/* no-op; nothing done, this time */ -#define RP_NOOP (RP_BTNO | RP_CGEN | '\002') - -/* encountered an end of file */ -#define RP_EOF (RP_BTNO | RP_CGEN | '\003') - -/* channel went bad */ -#define RP_NET (RP_BTNO | RP_CCON | '\000') - -/* foreign host screwed up */ -#define RP_BHST (RP_BTNO | RP_CCON | '\001') - -/* host went away */ -#define RP_DHST (RP_BTNO | RP_CCON | '\002') - -/* general net i/o problem */ -#define RP_NIO (RP_BTNO | RP_CCON | '\004') - -/* error reading/writing file */ -#define RP_FIO (RP_BTNO | RP_CFIL | '\000') - -/* unable to create file */ -#define RP_FCRT (RP_BTNO | RP_CFIL | '\001') - -/* unable to open file */ -#define RP_FOPN (RP_BTNO | RP_CFIL | '\002') - -/* general local i/o problem */ -#define RP_LIO (RP_BTNO | RP_CLIO | '\000') - -/* resource currently locked */ -#define RP_LOCK (RP_BTNO | RP_CLIO | '\001') - - -/* - * Complete Failure - */ - -/* bad mechanism/path; try alternate? */ -#define RP_MECH (RP_BNO | RP_CGEN | '\000') - -/* general-purpose NO */ -#define RP_NO (RP_BNO | RP_CGEN | '\001') - -/* general prototocol error */ -#define RP_PROT (RP_BNO | RP_CCON | '\000') - -/* bad reply code (PERMANENT ERROR) */ -#define RP_RPLY (RP_BNO | RP_CCON | '\001') - -/* couldn't deliver */ -#define RP_NDEL (RP_BNO | RP_CMAI | '\000') - -/* couldn't parse the request */ -#define RP_HUH (RP_BNO | RP_CSYN | '\000') - -/* no such command defined */ -#define RP_NCMD (RP_BNO | RP_CSYN | '\001') - -/* bad parameter */ -#define RP_PARM (RP_BNO | RP_CSYN | '\002') - -/* command not implemented */ -#define RP_UCMD (RP_BNO | RP_CSYN | '\003') - -/* unknown user */ -#define RP_USER (RP_BNO | RP_CUSR | '\000') - - -/* - * Macros to access reply info - */ - -/* get the entire return value */ -#define rp_gval(val) ((signed char) (val)) - - -/* - * The next three give the field's bits, within the whole value - */ - -/* get the basic part of return value */ -#define rp_gbval(val) (rp_gval (val) & RP_BVAL) - -/* get the domain part of value */ -#define rp_gcval(val) (rp_gval (val) & RP_CVAL) - -/* get the specific part of value */ -#define rp_gsval(val) (rp_gval (val) & RP_SVAL) - - -/* - * The next three give the numeric value withing the field - */ - -/* get the basic part right-shifted */ -#define rp_gbbit(val) ((rp_gval (val) >> 6) & 03) - -/* get the domain part right-shifted */ -#define rp_gcbit(val) ((rp_gval (val) >> 3) & 07) - -/* get the specific part right-shifted */ -#define rp_gsbit(val) (rp_gval (val) & 07) - - -/* - * MACHINE DEPENDENCY - * - * The following treat the value as strictly numeric. - * It relies on the negative values being numerically - * negative. - */ - -/* is return value positive? */ -#define rp_isgood(val) (rp_gval (val) >= 0) - -/* is return value negative? */ -#define rp_isbad(val) (rp_gval (val) < 0) -