История изменений
Исправление
kirk_johnson,
(текущая версия)
:
$ grep '#\s*include\s*<linux/' /usr/include/*.h
/usr/include/cap-ng.h:#include <linux/capability.h>
/usr/include/libdevmapper.h:# include <linux/types.h>
/usr/include/libnetlink.h:#include <linux/netlink.h>
/usr/include/libnetlink.h:#include <linux/rtnetlink.h>
/usr/include/libnetlink.h:#include <linux/if_link.h>
/usr/include/libnetlink.h:#include <linux/if_addr.h>
/usr/include/libnetlink.h:#include <linux/neighbour.h>
/usr/include/libsync.h: * something newer than v4.7 drop this and #include <linux/sync_file.h>
/usr/include/mtdev.h:#include <linux/input.h>
/usr/include/seccomp.h:#include <linux/audit.h>
/usr/include/xtables.h:#include <linux/types.h>
/usr/include/xtables.h:#include <linux/netfilter.h>
/usr/include/xtables.h:#include <linux/netfilter/x_tables.h>
Ну чот не густо (Gentoo).
PS. Это если не считаем libc.
Ну я к этому и веду, в общем-то. Большая часть интерфейсов скрыта за glibc и авторами специфчных библиотек и напрямую авторами программ не используется. А поцоны из glibc уже сами занимаются поддержанием обратной совместимости, чтобы апдейты ядра никого не заботили.
Как там у musl дела обстоят, я не знаю, но вроде не сильно хуже.
Исправление
kirk_johnson,
:
$ grep '#\s*include\s*<linux/' /usr/include/*.h
/usr/include/cap-ng.h:#include <linux/capability.h>
/usr/include/libdevmapper.h:# include <linux/types.h>
/usr/include/libnetlink.h:#include <linux/netlink.h>
/usr/include/libnetlink.h:#include <linux/rtnetlink.h>
/usr/include/libnetlink.h:#include <linux/if_link.h>
/usr/include/libnetlink.h:#include <linux/if_addr.h>
/usr/include/libnetlink.h:#include <linux/neighbour.h>
/usr/include/libsync.h: * something newer than v4.7 drop this and #include <linux/sync_file.h>
/usr/include/mtdev.h:#include <linux/input.h>
/usr/include/seccomp.h:#include <linux/audit.h>
/usr/include/xtables.h:#include <linux/types.h>
/usr/include/xtables.h:#include <linux/netfilter.h>
/usr/include/xtables.h:#include <linux/netfilter/x_tables.h>
Ну чот не густо (Gentoo).
PS. Это если не считаем libc.
Ну я к этому и веду, в общем-то. Большая часть интерфейсов скрыта за glibc и напрямую авторами программ не используется. А поцоны из glibc уже сами занимаются поддержанием обратной совместимости, чтобы апдейты ядра никого не заботили.
Как там у musl дела обстоят, я не знаю, но вроде не сильно хуже.
Исправление
kirk_johnson,
:
$ grep '#\s*include\s*<linux/' /usr/include/*.h
/usr/include/cap-ng.h:#include <linux/capability.h>
/usr/include/libdevmapper.h:# include <linux/types.h>
/usr/include/libnetlink.h:#include <linux/netlink.h>
/usr/include/libnetlink.h:#include <linux/rtnetlink.h>
/usr/include/libnetlink.h:#include <linux/if_link.h>
/usr/include/libnetlink.h:#include <linux/if_addr.h>
/usr/include/libnetlink.h:#include <linux/neighbour.h>
/usr/include/libsync.h: * something newer than v4.7 drop this and #include <linux/sync_file.h>
/usr/include/mtdev.h:#include <linux/input.h>
/usr/include/seccomp.h:#include <linux/audit.h>
/usr/include/xtables.h:#include <linux/types.h>
/usr/include/xtables.h:#include <linux/netfilter.h>
/usr/include/xtables.h:#include <linux/netfilter/x_tables.h>
Ну чот не густо (Gentoo).
PS. Это если не считаем libc.
Ну я к этому и веду, в общем-то. Большая часть интерфейсов скрыта за glibc и напрямую авторами программ не используется. А поцоны из glibc уже сами занимаются поддержанием обратной совместимости, чтобы апдейты ядра никого не заботили.
Исходная версия
kirk_johnson,
:
$ grep '#\s*include\s*<linux/' /usr/include/*.h
/usr/include/cap-ng.h:#include <linux/capability.h>
/usr/include/libdevmapper.h:# include <linux/types.h>
/usr/include/libnetlink.h:#include <linux/netlink.h>
/usr/include/libnetlink.h:#include <linux/rtnetlink.h>
/usr/include/libnetlink.h:#include <linux/if_link.h>
/usr/include/libnetlink.h:#include <linux/if_addr.h>
/usr/include/libnetlink.h:#include <linux/neighbour.h>
/usr/include/libsync.h: * something newer than v4.7 drop this and #include <linux/sync_file.h>
/usr/include/mtdev.h:#include <linux/input.h>
/usr/include/seccomp.h:#include <linux/audit.h>
/usr/include/xtables.h:#include <linux/types.h>
/usr/include/xtables.h:#include <linux/netfilter.h>
/usr/include/xtables.h:#include <linux/netfilter/x_tables.h>
Ну чот не густо (Gentoo).
PS. Это если не считаем libc.
Ну я к этому и веду, в общем-то. Большая часть интерфейсов скрыта за glibc и напрямую авторами программ не используется. А поцоны из glibc уже сами занимаются поддержанием обратной совместимости, чтобы апдейты ядро никого не заботили.