On Wednesday 04 February 2009, Jaswinder Singh Rajput wrote: > > +#define _SEQ_EXTERN extern > > +#define SEQ_USE_EXTBUF() \ > > + _SEQ_EXTERN unsigned char _seqbuf[]; \ > > + _SEQ_EXTERN int _seqbuflen;_SEQ_EXTERN int _seqbufptr > > hmm, you rename snake as rope, but actually snake is still there ;-) Yes, that's true. The alternative would be to remove all those macros entirely, breaking also the applications from number 2 in my list. I see this header as another example of the byteorder.h type where a kernel header provides functionality that is used by existing applications. While it should have been part of a library to start with, we cannot change it any more now without breaking stuff. Maybe a comment should be added to clarify this. Arnd <>< --- a/include/linux/soundcard.h +++ b/include/linux/soundcard.h @@ -1050,7 +1050,17 @@ typedef struct mixer_vol_table { * Some convenience macros to simplify programming of the * /dev/sequencer interface * - * These macros define the API which should be used when possible. + * This is a legacy interface for applications written against + * the OSSlib-3.8 style interface. It is no longer possible + * to actually link against OSSlib with this header, but we + * still provide these macros for programs using them. + * + * If you want to use OSSlib, it is recommended that you get + * the GPL version of OSS-4.x and build against that version + * of the header. + * + * We redefine the extern keyword so that make headers_check + * does not complain about SEQ_USE_EXTBUF. */ #define SEQ_DECLAREBUF() SEQ_USE_EXTBUF() _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel