[alsa-devel] portability: types

Clemens Ladisch clemens at ladisch.de
Fri Feb 26 09:45:56 CET 2016


Thomas Klausner wrote:
> The next big issue is that multiple places include Linux specific
> header files, easily recognizable by the path linux/*.h.

Once upon a time, alsa-lib was used only on Linux (and also on old
versions such as 2.2.x).

> I think these are used to define unusual types like __u32, __u64,
> __kernel_off_t, __kernel_pid_t. There are also a number of cases of
> u_xxx_t (which don't exist on Solaris) vs. the uxxx_t defined in C99.
>
> Many of these types have POSIX equivalents, like uint32_t, uint64_t,
> off_t, pid_t.
>
> Would it be better to switch to those, or should we define compat
> #typedefs or #defines in local.h?

Linux-specific types should be used only in code that actually is
Linux specific (i.e., the xxx_hw plugins).


Regards,
Clemens


More information about the Alsa-devel mailing list