Solaris defines VSWTCH instead of VSWTC; carefully make sure both are
defined and export both names.

Solaris also does not define CBAUDEX; it is not clear that CBAUDEXT
(which is defined there) is the same thing, so we only protect against
the lack of CBAUDEX.

Reported by Greg V. Wilson.
diff --git a/Modules/termios.c b/Modules/termios.c
index 4ec0a36..16a6d38 100644
--- a/Modules/termios.c
+++ b/Modules/termios.c
@@ -294,6 +294,14 @@
 };
 
 
+#if defined(VSWTCH) && !defined(VSWTC)
+#define VSWTC VSWTCH
+#endif
+
+#if defined(VSWTC) && !defined(VSWTCH)
+#define VSWTCH VSWTC
+#endif
+
 static struct constant {
 	char *name;
 	long value;
@@ -320,7 +328,9 @@
 #ifdef B230400
 	{"B230400", B230400},
 #endif
+#ifdef CBAUDEX
 	{"CBAUDEX", CBAUDEX},
+#endif
 
 	/* tcsetattr() constants */
 	{"TCSANOW", TCSANOW},
@@ -440,6 +450,7 @@
 	{"VTIME", VTIME},
 	{"VMIN", VMIN},
 	{"VSWTC", VSWTC},
+	{"VSWTCH", VSWTCH},
 	{"VSTART", VSTART},
 	{"VSTOP", VSTOP},
 	{"VSUSP", VSUSP},