diff -r c81dd9fe0d87 Doc/whatsnew/3.5.rst --- a/Doc/whatsnew/3.5.rst Mon Apr 13 11:30:56 2015 -0400 +++ b/Doc/whatsnew/3.5.rst Mon Apr 13 12:59:57 2015 -0400 @@ -759,6 +759,9 @@ *LegalChars* parameter of :func:`~http.cookies.Morsel.set` is deprecated and is now ignored. (:issue:`2211`) + * The :mod:`socket` module now exports the CAN_RAW_FD_FRAMES constant on linux + 3.6 and greater. + Changes in the C API -------------------- diff -r c81dd9fe0d87 Modules/socketmodule.c --- a/Modules/socketmodule.c Mon Apr 13 11:30:56 2015 -0400 +++ b/Modules/socketmodule.c Mon Apr 13 12:59:57 2015 -0400 @@ -6617,6 +6617,9 @@ PyModule_AddIntMacro(m, CAN_RAW_LOOPBACK); PyModule_AddIntMacro(m, CAN_RAW_RECV_OWN_MSGS); #endif +#ifdef HAVE_LINUX_CAN_RAW_FD_FRAMES + PyModule_AddIntMacro(m, CAN_RAW_FD_FRAMES); +#endif #ifdef HAVE_LINUX_CAN_BCM_H PyModule_AddIntMacro(m, CAN_BCM); PyModule_AddIntConstant(m, "CAN_BCM_TX_SETUP", TX_SETUP); diff -r c81dd9fe0d87 configure.ac --- a/configure.ac Mon Apr 13 11:30:56 2015 -0400 +++ b/configure.ac Mon Apr 13 12:59:57 2015 -0400 @@ -2873,6 +2873,16 @@ fi fi +AC_MSG_CHECKING(for CAN_RAW_FD_FRAMES) +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ /* CAN_RAW_FD_FRAMES available check */ +#include ]], +[[int can_raw_fd_frames = CAN_RAW_FD_FRAMES;]])],[ + AC_DEFINE(HAVE_LINUX_CAN_RAW_FD_FRAMES, 1, [Define if compiling using Linux 3.6 or later.]) + AC_MSG_RESULT(yes) +],[ + AC_MSG_RESULT(no) +]) + AC_MSG_CHECKING(for OSX 10.5 SDK or later) AC_COMPILE_IFELSE([ AC_LANG_PROGRAM([[#include ]], [[FSIORefNum fRef = 0]]) diff -r c81dd9fe0d87 pyconfig.h.in --- a/pyconfig.h.in Mon Apr 13 11:30:56 2015 -0400 +++ b/pyconfig.h.in Mon Apr 13 12:59:57 2015 -0400 @@ -531,6 +531,9 @@ /* Define to 1 if you have the header file. */ #undef HAVE_LINUX_CAN_H +/* Define if compiling using Linux 3.6 or later. */ +#undef HAVE_LINUX_CAN_RAW_FD_FRAMES + /* Define to 1 if you have the header file. */ #undef HAVE_LINUX_CAN_RAW_H