* Added gmtime/localtime/mktime and SYSV timezone globals to timemodule.c.
  Added $(SYSDEF) to its build rule in Makefile.
* cgensupport.[ch], modsupport.[ch]: removed some old stuff.  Also
  changed files that still used it...  And made several things static
  that weren't but should have been...  And other minor cleanups...
* listobject.[ch]: add external interfaces {set,get}listslice
* socketmodule.c: fix bugs in new send() argument parsing.
* sunaudiodevmodule.c: added flush() and close().
diff --git a/Modules/sunaudiodev.c b/Modules/sunaudiodev.c
index b4470dd..4e63123 100644
--- a/Modules/sunaudiodev.c
+++ b/Modules/sunaudiodev.c
@@ -28,6 +28,7 @@
 #include "modsupport.h"
 #include "structmember.h"
 
+#include <stropts.h>
 #include <sys/ioctl.h>
 #include <sun/audioio.h>
 
@@ -255,6 +256,38 @@
     return None;
 }
 
+static object *
+sad_flush(self, args)
+    sadobject *self;
+    object *args;
+{
+    
+    if ( !getargs(args, "") )
+      return 0;
+    if ( ioctl(self->x_fd, I_FLUSH, FLUSHW) < 0 ) {
+	err_errno(SunAudioError);
+	return NULL;
+    }
+    INCREF(None);
+    return None;
+}
+
+static object *
+sad_close(self, args)
+    sadobject *self;
+    object *args;
+{
+    
+    if ( !getargs(args, "") )
+      return 0;
+    if ( self->x_fd >= 0 ) {
+	close(self->x_fd);
+	self->x_fd = -1;
+    }
+    INCREF(None);
+    return None;
+}
+
 static struct methodlist sad_methods[] = {
         { "read",	sad_read },
         { "write",	sad_write },
@@ -264,6 +297,8 @@
         { "getinfo",	sad_getinfo },
         { "setinfo",	sad_setinfo },
         { "drain",	sad_drain },
+        { "flush",	sad_flush },
+        { "close",	sad_close },
 	{NULL,		NULL}		/* sentinel */
 };