mirror of
https://github.com/python/cpython.git
synced 2024-11-27 03:45:08 +08:00
Issue #22631: Added Linux-specific socket constant CAN_RAW_FD_FRAMES.
Patch courtesy of Joe Jevnik.
This commit is contained in:
parent
d827be8ff1
commit
a6cc551502
@ -279,6 +279,18 @@ Constants
|
|||||||
|
|
||||||
.. versionadded:: 3.4
|
.. versionadded:: 3.4
|
||||||
|
|
||||||
|
.. data:: CAN_RAW_FD_FRAMES
|
||||||
|
|
||||||
|
Enables CAN FD support in a CAN_RAW socket. This is disabled by default.
|
||||||
|
This allows your application to send both CAN and CAN FD frames; however,
|
||||||
|
you one must accept both CAN and CAN FD frames when reading from the socket.
|
||||||
|
|
||||||
|
This constant is documented in the Linux documentation.
|
||||||
|
|
||||||
|
Availability: Linux >= 3.6.
|
||||||
|
|
||||||
|
.. versionadded:: 3.5
|
||||||
|
|
||||||
.. data:: AF_RDS
|
.. data:: AF_RDS
|
||||||
PF_RDS
|
PF_RDS
|
||||||
SOL_RDS
|
SOL_RDS
|
||||||
|
@ -792,6 +792,9 @@ Changes in the Python API
|
|||||||
in Python 3.5, all old `.pyo` files from previous versions of Python are
|
in Python 3.5, all old `.pyo` files from previous versions of Python are
|
||||||
invalid regardless of this PEP.
|
invalid regardless of this PEP.
|
||||||
|
|
||||||
|
* The :mod:`socket` module now exports the CAN_RAW_FD_FRAMES constant on linux
|
||||||
|
3.6 and greater.
|
||||||
|
|
||||||
Changes in the C API
|
Changes in the C API
|
||||||
--------------------
|
--------------------
|
||||||
|
|
||||||
|
@ -664,6 +664,7 @@ Flemming Kjær Jensen
|
|||||||
Philip H. Jensen
|
Philip H. Jensen
|
||||||
Philip Jenvey
|
Philip Jenvey
|
||||||
MunSic Jeong
|
MunSic Jeong
|
||||||
|
Joe Jevnik
|
||||||
Chris Jerdonek
|
Chris Jerdonek
|
||||||
Jim Jewett
|
Jim Jewett
|
||||||
Pedro Diaz Jimenez
|
Pedro Diaz Jimenez
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
+++++++++++
|
+++++++++++
|
||||||
Python News
|
Python News
|
||||||
+++++++++++
|
+++++++++++
|
||||||
|
|
||||||
@ -9,6 +9,8 @@ Release date: XXX
|
|||||||
|
|
||||||
Core and Builtins
|
Core and Builtins
|
||||||
-----------------
|
-----------------
|
||||||
|
- Issue #22631: Added Linux-specific socket constant CAN_RAW_FD_FRAMES.
|
||||||
|
Patch courtesy of Joe Jevnik.
|
||||||
|
|
||||||
- Issue #23731: Implement PEP 488: removal of .pyo files.
|
- Issue #23731: Implement PEP 488: removal of .pyo files.
|
||||||
|
|
||||||
|
@ -6617,6 +6617,9 @@ PyInit__socket(void)
|
|||||||
PyModule_AddIntMacro(m, CAN_RAW_LOOPBACK);
|
PyModule_AddIntMacro(m, CAN_RAW_LOOPBACK);
|
||||||
PyModule_AddIntMacro(m, CAN_RAW_RECV_OWN_MSGS);
|
PyModule_AddIntMacro(m, CAN_RAW_RECV_OWN_MSGS);
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef HAVE_LINUX_CAN_RAW_FD_FRAMES
|
||||||
|
PyModule_AddIntMacro(m, CAN_RAW_FD_FRAMES);
|
||||||
|
#endif
|
||||||
#ifdef HAVE_LINUX_CAN_BCM_H
|
#ifdef HAVE_LINUX_CAN_BCM_H
|
||||||
PyModule_AddIntMacro(m, CAN_BCM);
|
PyModule_AddIntMacro(m, CAN_BCM);
|
||||||
PyModule_AddIntConstant(m, "CAN_BCM_TX_SETUP", TX_SETUP);
|
PyModule_AddIntConstant(m, "CAN_BCM_TX_SETUP", TX_SETUP);
|
||||||
|
30
configure
vendored
30
configure
vendored
@ -10495,6 +10495,36 @@ if test "$ipv6" = "yes" -a "$ipv6lib" != "none"; then
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for CAN_RAW_FD_FRAMES" >&5
|
||||||
|
$as_echo_n "checking for CAN_RAW_FD_FRAMES... " >&6; }
|
||||||
|
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||||
|
/* end confdefs.h. */
|
||||||
|
/* CAN_RAW_FD_FRAMES available check */
|
||||||
|
#include <linux/can/raw.h>
|
||||||
|
int
|
||||||
|
main ()
|
||||||
|
{
|
||||||
|
int can_raw_fd_frames = CAN_RAW_FD_FRAMES;
|
||||||
|
;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
_ACEOF
|
||||||
|
if ac_fn_c_try_compile "$LINENO"; then :
|
||||||
|
|
||||||
|
|
||||||
|
$as_echo "#define HAVE_LINUX_CAN_RAW_FD_FRAMES 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
|
||||||
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for OSX 10.5 SDK or later" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for OSX 10.5 SDK or later" >&5
|
||||||
$as_echo_n "checking for OSX 10.5 SDK or later... " >&6; }
|
$as_echo_n "checking for OSX 10.5 SDK or later... " >&6; }
|
||||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||||
|
10
configure.ac
10
configure.ac
@ -2876,6 +2876,16 @@ if test "$ipv6" = "yes" -a "$ipv6lib" != "none"; then
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
AC_MSG_CHECKING(for CAN_RAW_FD_FRAMES)
|
||||||
|
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ /* CAN_RAW_FD_FRAMES available check */
|
||||||
|
#include <linux/can/raw.h>]],
|
||||||
|
[[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_MSG_CHECKING(for OSX 10.5 SDK or later)
|
||||||
AC_COMPILE_IFELSE([
|
AC_COMPILE_IFELSE([
|
||||||
AC_LANG_PROGRAM([[#include <Carbon/Carbon.h>]], [[FSIORefNum fRef = 0]])
|
AC_LANG_PROGRAM([[#include <Carbon/Carbon.h>]], [[FSIORefNum fRef = 0]])
|
||||||
|
@ -531,6 +531,9 @@
|
|||||||
/* Define to 1 if you have the <linux/can.h> header file. */
|
/* Define to 1 if you have the <linux/can.h> header file. */
|
||||||
#undef HAVE_LINUX_CAN_H
|
#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 <linux/can/raw.h> header file. */
|
/* Define to 1 if you have the <linux/can/raw.h> header file. */
|
||||||
#undef HAVE_LINUX_CAN_RAW_H
|
#undef HAVE_LINUX_CAN_RAW_H
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user