diff --git a/libc/kernel/common/linux/soundcard.h b/libc/kernel/common/linux/soundcard.h
index 9093646..7159f62 100644
--- a/libc/kernel/common/linux/soundcard.h
+++ b/libc/kernel/common/linux/soundcard.h
@@ -77,18 +77,18 @@
 #define _SIOWR _IOWR
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #else
-#define SIOCPARM_MASK 0x1fff  
-#define SIOC_VOID 0x00000000  
-#define SIOC_OUT 0x20000000  
+#define SIOCPARM_MASK 0x1fff
+#define SIOC_VOID 0x00000000
+#define SIOC_OUT 0x20000000
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-#define SIOC_IN 0x40000000  
+#define SIOC_IN 0x40000000
 #define SIOC_INOUT (SIOC_IN|SIOC_OUT)
 #define _SIO(x,y) ((int)(SIOC_VOID|(x<<8)|y))
 #define _SIOR(x,y,t) ((int)(SIOC_OUT|((sizeof(t)&SIOCPARM_MASK)<<16)|(x<<8)|y))
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define _SIOW(x,y,t) ((int)(SIOC_IN|((sizeof(t)&SIOCPARM_MASK)<<16)|(x<<8)|y))
 #define _SIOWR(x,y,t) ((int)(SIOC_INOUT|((sizeof(t)&SIOCPARM_MASK)<<16)|(x<<8)|y))
-#define _SIOC_SIZE(x) ((x>>16)&SIOCPARM_MASK) 
+#define _SIOC_SIZE(x) ((x>>16)&SIOCPARM_MASK)
 #define _SIOC_DIR(x) (x & 0xf0000000)
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define _SIOC_NONE SIOC_VOID
@@ -101,12 +101,12 @@
 #define SNDCTL_SEQ_SYNC _SIO ('Q', 1)
 #define SNDCTL_SYNTH_INFO _SIOWR('Q', 2, struct synth_info)
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-#define SNDCTL_SEQ_CTRLRATE _SIOWR('Q', 3, int)  
+#define SNDCTL_SEQ_CTRLRATE _SIOWR('Q', 3, int)
 #define SNDCTL_SEQ_GETOUTCOUNT _SIOR ('Q', 4, int)
 #define SNDCTL_SEQ_GETINCOUNT _SIOR ('Q', 5, int)
 #define SNDCTL_SEQ_PERCMODE _SIOW ('Q', 6, int)
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-#define SNDCTL_FM_LOAD_INSTR _SIOW ('Q', 7, struct sbi_instrument)  
+#define SNDCTL_FM_LOAD_INSTR _SIOW ('Q', 7, struct sbi_instrument)
 #define SNDCTL_SEQ_TESTMIDI _SIOW ('Q', 8, int)
 #define SNDCTL_SEQ_RESETSAMPLES _SIOW ('Q', 9, int)
 #define SNDCTL_SEQ_NRSYNTHS _SIOR ('Q',10, int)
@@ -114,9 +114,9 @@
 #define SNDCTL_SEQ_NRMIDIS _SIOR ('Q',11, int)
 #define SNDCTL_MIDI_INFO _SIOWR('Q',12, struct midi_info)
 #define SNDCTL_SEQ_THRESHOLD _SIOW ('Q',13, int)
-#define SNDCTL_SYNTH_MEMAVL _SIOWR('Q',14, int)  
+#define SNDCTL_SYNTH_MEMAVL _SIOWR('Q',14, int)
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-#define SNDCTL_FM_4OP_ENABLE _SIOW ('Q',15, int)  
+#define SNDCTL_FM_4OP_ENABLE _SIOW ('Q',15, int)
 #define SNDCTL_SEQ_PANIC _SIO ('Q',17)
 #define SNDCTL_SEQ_OUTOFBAND _SIOW ('Q',18, struct seq_event_rec)
 #define SNDCTL_SEQ_GETTIME _SIOR ('Q',19, int)
@@ -184,24 +184,24 @@
  short device_no;
  short instr_no;
  unsigned int mode;
-#define WAVE_16_BITS 0x01  
+#define WAVE_16_BITS 0x01
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-#define WAVE_UNSIGNED 0x02  
-#define WAVE_LOOPING 0x04  
-#define WAVE_BIDIR_LOOP 0x08  
-#define WAVE_LOOP_BACK 0x10  
+#define WAVE_UNSIGNED 0x02
+#define WAVE_LOOPING 0x04
+#define WAVE_BIDIR_LOOP 0x08
+#define WAVE_LOOP_BACK 0x10
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-#define WAVE_SUSTAIN_ON 0x20  
-#define WAVE_ENVELOPES 0x40  
-#define WAVE_FAST_RELEASE 0x80  
-#define WAVE_VIBRATO 0x00010000  
+#define WAVE_SUSTAIN_ON 0x20
+#define WAVE_ENVELOPES 0x40
+#define WAVE_FAST_RELEASE 0x80
+#define WAVE_VIBRATO 0x00010000
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-#define WAVE_TREMOLO 0x00020000  
-#define WAVE_SCALE 0x00040000  
-#define WAVE_FRACTIONS 0x00080000  
-#define WAVE_ROM 0x40000000  
+#define WAVE_TREMOLO 0x00020000
+#define WAVE_SCALE 0x00040000
+#define WAVE_FRACTIONS 0x00080000
+#define WAVE_ROM 0x40000000
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-#define WAVE_MULAW 0x20000000  
+#define WAVE_MULAW 0x20000000
  int len;
  int loop_start, loop_end;
  unsigned int base_freq;
@@ -243,7 +243,7 @@
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  };
 #define SEQ_NOTEOFF 0
-#define SEQ_FMNOTEOFF SEQ_NOTEOFF  
+#define SEQ_FMNOTEOFF SEQ_NOTEOFF
 #define SEQ_NOTEON 1
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define SEQ_FMNOTEON SEQ_NOTEON
@@ -253,10 +253,10 @@
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define SEQ_SYNCTIMER TMR_START
 #define SEQ_MIDIPUTC 5
-#define SEQ_DRUMON 6  
-#define SEQ_DRUMOFF 7  
+#define SEQ_DRUMON 6
+#define SEQ_DRUMOFF 7
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-#define SEQ_ECHO TMR_ECHO  
+#define SEQ_ECHO TMR_ECHO
 #define SEQ_AFTERTOUCH 9
 #define SEQ_CONTROLLER 10
 #define CTL_BANK_SELECT 0x00
@@ -278,8 +278,8 @@
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define CTL_GENERAL_PURPOSE4 0x13
 #define CTL_DAMPER_PEDAL 0x40
-#define CTL_SUSTAIN 0x40  
-#define CTL_HOLD 0x40  
+#define CTL_SUSTAIN 0x40
+#define CTL_HOLD 0x40
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define CTL_PORTAMENTO 0x41
 #define CTL_SOSTENUTO 0x42
@@ -296,7 +296,7 @@
 #define CTL_CHORUS_DEPTH 0x5d
 #define CTL_DETUNE_DEPTH 0x5e
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-#define CTL_CELESTE_DEPTH 0x5e  
+#define CTL_CELESTE_DEPTH 0x5e
 #define CTL_PHASER_DEPTH 0x5f
 #define CTL_DATA_INCREMENT 0x60
 #define CTL_DATA_DECREMENT 0x61
@@ -308,17 +308,17 @@
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define CTRL_PITCH_BENDER 255
 #define CTRL_PITCH_BENDER_RANGE 254
-#define CTRL_EXPRESSION 253  
-#define CTRL_MAIN_VOLUME 252  
+#define CTRL_EXPRESSION 253
+#define CTRL_MAIN_VOLUME 252
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define SEQ_BALANCE 11
 #define SEQ_VOLMODE 12
 #define VOL_METHOD_ADAGIO 1
 #define VOL_METHOD_LINEAR 2
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-#define SEQ_FULLSIZE 0xfd  
-#define SEQ_PRIVATE 0xfe  
-#define SEQ_EXTENDED 0xff  
+#define SEQ_FULLSIZE 0xfd
+#define SEQ_PRIVATE 0xfe
+#define SEQ_EXTENDED 0xff
 typedef unsigned char sbi_instr_data[32];
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 struct sbi_instrument {
@@ -338,7 +338,7 @@
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define SYNTH_TYPE_FM 0
 #define SYNTH_TYPE_SAMPLE 1
-#define SYNTH_TYPE_MIDI 2  
+#define SYNTH_TYPE_MIDI 2
  int synth_subtype;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define FM_TYPE_ADLIB 0x00
@@ -354,10 +354,10 @@
  int nr_drums;
  int instr_bank_size;
  unsigned int capabilities;
-#define SYNTH_CAP_PERCMODE 0x00000001  
+#define SYNTH_CAP_PERCMODE 0x00000001
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-#define SYNTH_CAP_OPL3 0x00000002  
-#define SYNTH_CAP_INPUT 0x00000004  
+#define SYNTH_CAP_OPL3 0x00000002
+#define SYNTH_CAP_INPUT 0x00000004
  int dummies[19];
  };
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
@@ -366,7 +366,7 @@
  int caps;
  };
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-#define MIDI_CAP_MPU401 1  
+#define MIDI_CAP_MPU401 1
 struct midi_info {
  char name[30];
  int device;
@@ -401,23 +401,23 @@
 #define SNDCTL_DSP_SUBDIVIDE _SIOWR('P', 9, int)
 #define SNDCTL_DSP_SETFRAGMENT _SIOWR('P',10, int)
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-#define SNDCTL_DSP_GETFMTS _SIOR ('P',11, int)  
-#define SNDCTL_DSP_SETFMT _SIOWR('P',5, int)  
-#define AFMT_QUERY 0x00000000  
+#define SNDCTL_DSP_GETFMTS _SIOR ('P',11, int)
+#define SNDCTL_DSP_SETFMT _SIOWR('P',5, int)
+#define AFMT_QUERY 0x00000000
 #define AFMT_MU_LAW 0x00000001
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define AFMT_A_LAW 0x00000002
 #define AFMT_IMA_ADPCM 0x00000004
 #define AFMT_U8 0x00000008
-#define AFMT_S16_LE 0x00000010  
+#define AFMT_S16_LE 0x00000010
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-#define AFMT_S16_BE 0x00000020  
+#define AFMT_S16_BE 0x00000020
 #define AFMT_S8 0x00000040
-#define AFMT_U16_LE 0x00000080  
-#define AFMT_U16_BE 0x00000100  
+#define AFMT_U16_LE 0x00000080
+#define AFMT_U16_BE 0x00000100
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-#define AFMT_MPEG 0x00000200  
-#define AFMT_AC3 0x00000400  
+#define AFMT_MPEG 0x00000200
+#define AFMT_AC3 0x00000400
 typedef struct audio_buf_info {
  int fragments;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
@@ -431,17 +431,17 @@
 #define SNDCTL_DSP_NONBLOCK _SIO ('P',14)
 #define SNDCTL_DSP_GETCAPS _SIOR ('P',15, int)
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-#define DSP_CAP_REVISION 0x000000ff  
-#define DSP_CAP_DUPLEX 0x00000100  
-#define DSP_CAP_REALTIME 0x00000200  
-#define DSP_CAP_BATCH 0x00000400  
+#define DSP_CAP_REVISION 0x000000ff
+#define DSP_CAP_DUPLEX 0x00000100
+#define DSP_CAP_REALTIME 0x00000200
+#define DSP_CAP_BATCH 0x00000400
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-#define DSP_CAP_COPROC 0x00000800  
-#define DSP_CAP_TRIGGER 0x00001000  
-#define DSP_CAP_MMAP 0x00002000  
-#define DSP_CAP_MULTI 0x00004000  
+#define DSP_CAP_COPROC 0x00000800
+#define DSP_CAP_TRIGGER 0x00001000
+#define DSP_CAP_MMAP 0x00002000
+#define DSP_CAP_MULTI 0x00004000
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-#define DSP_CAP_BIND 0x00008000  
+#define DSP_CAP_BIND 0x00008000
 #define SNDCTL_DSP_GETTRIGGER _SIOR ('P',16, int)
 #define SNDCTL_DSP_SETTRIGGER _SIOW ('P',16, int)
 #define PCM_ENABLE_INPUT 0x00000001
@@ -496,9 +496,9 @@
 #define SPDIF_V 0x8000
 #define SNDCTL_DSP_PROFILE _SIOW ('P', 23, int)
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-#define APF_NORMAL 0  
-#define APF_NETWORK 1  
-#define APF_CPUINTENS 2  
+#define APF_NORMAL 0
+#define APF_NETWORK 1
+#define APF_CPUINTENS 2
 #define SOUND_PCM_READ_RATE _SIOR ('P', 2, int)
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define SOUND_PCM_READ_CHANNELS _SIOR ('P', 6, int)
@@ -534,9 +534,9 @@
  int command;
  int flags;
 #define CPF_NONE 0x0000
-#define CPF_FIRST 0x0001  
+#define CPF_FIRST 0x0001
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-#define CPF_LAST 0x0002  
+#define CPF_LAST 0x0002
  int len;
  int offs;
  unsigned char data[4000];
@@ -581,25 +581,25 @@
 #define SOUND_MIXER_MIC 7
 #define SOUND_MIXER_CD 8
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-#define SOUND_MIXER_IMIX 9  
+#define SOUND_MIXER_IMIX 9
 #define SOUND_MIXER_ALTPCM 10
-#define SOUND_MIXER_RECLEV 11  
-#define SOUND_MIXER_IGAIN 12  
+#define SOUND_MIXER_RECLEV 11
+#define SOUND_MIXER_IGAIN 12
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-#define SOUND_MIXER_OGAIN 13  
-#define SOUND_MIXER_LINE1 14  
-#define SOUND_MIXER_LINE2 15  
-#define SOUND_MIXER_LINE3 16  
+#define SOUND_MIXER_OGAIN 13
+#define SOUND_MIXER_LINE1 14
+#define SOUND_MIXER_LINE2 15
+#define SOUND_MIXER_LINE3 16
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-#define SOUND_MIXER_DIGITAL1 17  
-#define SOUND_MIXER_DIGITAL2 18  
-#define SOUND_MIXER_DIGITAL3 19  
-#define SOUND_MIXER_PHONEIN 20  
+#define SOUND_MIXER_DIGITAL1 17
+#define SOUND_MIXER_DIGITAL2 18
+#define SOUND_MIXER_DIGITAL3 19
+#define SOUND_MIXER_PHONEIN 20
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-#define SOUND_MIXER_PHONEOUT 21  
-#define SOUND_MIXER_VIDEO 22  
-#define SOUND_MIXER_RADIO 23  
-#define SOUND_MIXER_MONITOR 24  
+#define SOUND_MIXER_PHONEOUT 21
+#define SOUND_MIXER_VIDEO 22
+#define SOUND_MIXER_RADIO 23
+#define SOUND_MIXER_MONITOR 24
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define SOUND_ONOFF_MIN 28
 #define SOUND_ONOFF_MAX 30
@@ -611,15 +611,15 @@
 #define SOUND_DEVICE_LABELS {"Vol  ", "Bass ", "Trebl", "Synth", "Pcm  ", "Spkr ", "Line ",   "Mic  ", "CD   ", "Mix  ", "Pcm2 ", "Rec  ", "IGain", "OGain",   "Line1", "Line2", "Line3", "Digital1", "Digital2", "Digital3",   "PhoneIn", "PhoneOut", "Video", "Radio", "Monitor"}
 #define SOUND_DEVICE_NAMES {"vol", "bass", "treble", "synth", "pcm", "speaker", "line",   "mic", "cd", "mix", "pcm2", "rec", "igain", "ogain",   "line1", "line2", "line3", "dig1", "dig2", "dig3",   "phin", "phout", "video", "radio", "monitor"}
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-#define SOUND_MIXER_RECSRC 0xff  
-#define SOUND_MIXER_DEVMASK 0xfe  
-#define SOUND_MIXER_RECMASK 0xfd  
+#define SOUND_MIXER_RECSRC 0xff
+#define SOUND_MIXER_DEVMASK 0xfe
+#define SOUND_MIXER_RECMASK 0xfd
 #define SOUND_MIXER_CAPS 0xfc
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-#define SOUND_CAP_EXCL_INPUT 0x00000001  
-#define SOUND_MIXER_STEREODEVS 0xfb  
-#define SOUND_MIXER_OUTSRC 0xfa  
-#define SOUND_MIXER_OUTMASK 0xf9  
+#define SOUND_CAP_EXCL_INPUT 0x00000001
+#define SOUND_MIXER_STEREODEVS 0xfb
+#define SOUND_MIXER_OUTSRC 0xfa
+#define SOUND_MIXER_OUTMASK 0xf9
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define SOUND_MASK_VOLUME (1 << SOUND_MIXER_VOLUME)
 #define SOUND_MASK_BASS (1 << SOUND_MIXER_BASS)
@@ -771,18 +771,18 @@
 #define MIDI_PITCH_BEND 0xE0
 #define MIDI_SYSTEM_PREFIX 0xF0
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-#define TMR_WAIT_REL 1  
-#define TMR_WAIT_ABS 2  
+#define TMR_WAIT_REL 1
+#define TMR_WAIT_ABS 2
 #define TMR_STOP 3
 #define TMR_START 4
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define TMR_CONTINUE 5
 #define TMR_TEMPO 6
 #define TMR_ECHO 8
-#define TMR_CLOCK 9  
+#define TMR_CLOCK 9
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-#define TMR_SPP 10  
-#define TMR_TIMESIG 11  
+#define TMR_SPP 10
+#define TMR_TIMESIG 11
 #define LOCL_STARTAUDIO 1
 #if !defined(__KERNEL__) && !defined(KERNEL) && !defined(INKERNEL) && !defined(_KERNEL) || defined(USE_SEQ_MACROS)
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
@@ -811,7 +811,7 @@
 #define SEQ_DUMPBUF seqbuf_dump
 #else
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-#define _SEQ_NEEDBUF(len)  
+#define _SEQ_NEEDBUF(len)
 #endif
 #endif
 #define SEQ_VOLUME_MODE(dev, mode) {_SEQ_NEEDBUF(8);  _seqbuf[_seqbufptr] = SEQ_EXTENDED;  _seqbuf[_seqbufptr+1] = SEQ_VOLMODE;  _seqbuf[_seqbufptr+2] = (dev);  _seqbuf[_seqbufptr+3] = (mode);  _seqbuf[_seqbufptr+4] = 0;  _seqbuf[_seqbufptr+5] = 0;  _seqbuf[_seqbufptr+6] = 0;  _seqbuf[_seqbufptr+7] = 0;  _SEQ_ADVBUF(8);}
