]> diplodocus.org Git - nmh/blobdiff - mts/smtp/smtp.h
new.c: Order two return statements to match comment.
[nmh] / mts / smtp / smtp.h
index 2ed5cc22c176ba00ef1325da169a2e2f6e1f765d..6de4e5143e2b20744be06ed65c183386ad90423b 100644 (file)
@@ -1,6 +1,4 @@
-
-/*
- * smtp.h -- definitions for the nmh SMTP Interface
+/* smtp.h -- definitions for the nmh SMTP Interface
  */
 
 /* length is the length of the string in text[], which is also NUL
@@ -16,9 +14,14 @@ struct smtp {
  * prototypes
  */
 /* int client (); */
-int sm_init (char *, char *, char *, int, int, int, int, int, char *, char *,
-             const char *, int);
-int sm_winit (char *);
+/* TLS flags */
+#define S_STARTTLS 0x01
+#define S_INITTLS 0x02
+#define S_TLSENABLEMASK 0x03
+#define S_NOVERIFY 0x04
+int sm_init (char *, char *, char *, int, int, int, int, const char *,
+             const char *, const char *, int);
+int sm_winit (char *, int, int);
 int sm_wadr (char *, char *, char *);
 int sm_waend (void);
 int sm_wtxt (char *, int);
@@ -94,9 +97,6 @@ char *rp_string (int);
 
 /* 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       */
@@ -104,19 +104,11 @@ char *rp_string (int);
 
 /* 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            */
 
 
 /*
@@ -127,9 +119,6 @@ char *rp_string (int);
  * 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')
 
@@ -141,89 +130,35 @@ char *rp_string (int);
  * 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
+ * SPECIFIC FAILURE 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')
 
@@ -234,42 +169,6 @@ char *rp_string (int);
 #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 within 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
  *
@@ -278,9 +177,5 @@ char *rp_string (int);
  * 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)
-
+#define rp_isbad(val)   (((signed char)(val)) < 0)