.. versionadded:: 3.5
+.. data:: CAN_RAW_JOIN_FILTERS
+
+ Joins the applied CAN filters such that only CAN frames that match all
+ given CAN filters are passed to user space.
+
+ This constant is documented in the Linux documentation.
+
+ .. availability:: Linux >= 4.1.
+
+ .. versionadded:: 3.9
+
.. data:: CAN_ISOTP
CAN_ISOTP, in the CAN protocol family, is the ISO-TP (ISO 15765-2) protocol.
:class:`~smtplib.LMTP` constructor now has an optional *timeout* parameter.
(Contributed by Dong-hee Na in :issue:`39329`.)
+socket
+------
+
+The :mod:`socket` module now exports the :data:`~socket.CAN_RAW_JOIN_FILTERS`
+constant on Linux 4.1 and greater.
+(Contributed by Stefan Tatschner and Zackery Spytz in :issue:`25780`.)
+
threading
---------
Christian Tanzer
Steven Taschuk
Batuhan Taskaya
+Stefan Tatschner
Amy Taylor
Julian Taylor
Monty Taylor
--- /dev/null
+Expose :data:`~socket.CAN_RAW_JOIN_FILTERS` in the :mod:`socket` module.
#ifdef HAVE_LINUX_CAN_RAW_FD_FRAMES
PyModule_AddIntMacro(m, CAN_RAW_FD_FRAMES);
#endif
+#ifdef HAVE_LINUX_CAN_RAW_JOIN_FILTERS
+ PyModule_AddIntMacro(m, CAN_RAW_JOIN_FILTERS);
+#endif
#ifdef HAVE_LINUX_CAN_BCM_H
PyModule_AddIntMacro(m, CAN_BCM);
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for CAN_RAW_JOIN_FILTERS" >&5
+$as_echo_n "checking for CAN_RAW_JOIN_FILTERS... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <linux/can/raw.h>
+int
+main ()
+{
+int can_raw_join_filters = CAN_RAW_JOIN_FILTERS;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+
+$as_echo "#define HAVE_LINUX_CAN_RAW_JOIN_FILTERS 1" >>confdefs.h
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+else
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
# Check for --with-doc-strings
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for --with-doc-strings" >&5
$as_echo_n "checking for --with-doc-strings... " >&6; }
AC_MSG_RESULT(no)
])
+AC_MSG_CHECKING(for CAN_RAW_JOIN_FILTERS)
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+#include <linux/can/raw.h>]],
+[[int can_raw_join_filters = CAN_RAW_JOIN_FILTERS;]])],[
+ AC_DEFINE(HAVE_LINUX_CAN_RAW_JOIN_FILTERS, 1, [Define if compiling using Linux 4.1 or later.])
+ AC_MSG_RESULT(yes)
+],[
+ AC_MSG_RESULT(no)
+])
+
# Check for --with-doc-strings
AC_MSG_CHECKING(for --with-doc-strings)
AC_ARG_WITH(doc-strings,
/* Define to 1 if you have the <linux/can/raw.h> header file. */
#undef HAVE_LINUX_CAN_RAW_H
+/* Define if compiling using Linux 4.1 or later. */
+#undef HAVE_LINUX_CAN_RAW_JOIN_FILTERS
+
/* Define to 1 if you have the <linux/memfd.h> header file. */
#undef HAVE_LINUX_MEMFD_H