diff options
author | Charles-François Natali <cf.natali@gmail.com> | 2013-02-05 18:42:01 (GMT) |
---|---|---|
committer | Charles-François Natali <cf.natali@gmail.com> | 2013-02-05 18:42:01 (GMT) |
commit | 773e42dff813bb18cb25016ae1fe1ed0886fd484 (patch) | |
tree | d0a6331ff5cdd70f2d3e73ac851e626c8ebdb968 /Modules | |
parent | c44911f49aeb0cdb54f006f99111b562b29fc46f (diff) | |
download | cpython-773e42dff813bb18cb25016ae1fe1ed0886fd484.zip cpython-773e42dff813bb18cb25016ae1fe1ed0886fd484.tar.gz cpython-773e42dff813bb18cb25016ae1fe1ed0886fd484.tar.bz2 |
Issue #15359: Add CAN_BCM protocol support to the socket module. Patch by Brian
Thorne.
Diffstat (limited to 'Modules')
-rw-r--r-- | Modules/socketmodule.c | 17 | ||||
-rw-r--r-- | Modules/socketmodule.h | 4 |
2 files changed, 21 insertions, 0 deletions
diff --git a/Modules/socketmodule.c b/Modules/socketmodule.c index 94793c9..f405130 100644 --- a/Modules/socketmodule.c +++ b/Modules/socketmodule.c @@ -1598,6 +1598,8 @@ getsockaddrarg(PySocketSockObject *s, PyObject *args, case AF_CAN: switch (s->sock_proto) { case CAN_RAW: + /* fall-through */ + case CAN_BCM: { struct sockaddr_can *addr; PyObject *interfaceName; @@ -6031,6 +6033,21 @@ PyInit__socket(void) PyModule_AddIntConstant(m, "CAN_RAW_LOOPBACK", CAN_RAW_LOOPBACK); PyModule_AddIntConstant(m, "CAN_RAW_RECV_OWN_MSGS", CAN_RAW_RECV_OWN_MSGS); #endif +#ifdef HAVE_LINUX_CAN_BCM_H + PyModule_AddIntConstant(m, "CAN_BCM", CAN_BCM); + PyModule_AddIntConstant(m, "CAN_BCM_TX_SETUP", TX_SETUP); + PyModule_AddIntConstant(m, "CAN_BCM_TX_DELETE", TX_DELETE); + PyModule_AddIntConstant(m, "CAN_BCM_TX_READ", TX_READ); + PyModule_AddIntConstant(m, "CAN_BCM_TX_SEND", TX_SEND); + PyModule_AddIntConstant(m, "CAN_BCM_RX_SETUP", RX_SETUP); + PyModule_AddIntConstant(m, "CAN_BCM_RX_DELETE", RX_DELETE); + PyModule_AddIntConstant(m, "CAN_BCM_RX_READ", RX_READ); + PyModule_AddIntConstant(m, "CAN_BCM_TX_STATUS", TX_STATUS); + PyModule_AddIntConstant(m, "CAN_BCM_TX_EXPIRED", TX_EXPIRED); + PyModule_AddIntConstant(m, "CAN_BCM_RX_STATUS", RX_STATUS); + PyModule_AddIntConstant(m, "CAN_BCM_RX_TIMEOUT", RX_TIMEOUT); + PyModule_AddIntConstant(m, "CAN_BCM_RX_CHANGED", RX_CHANGED); +#endif #ifdef SOL_RDS PyModule_AddIntConstant(m, "SOL_RDS", SOL_RDS); #endif diff --git a/Modules/socketmodule.h b/Modules/socketmodule.h index 48e0fd4..b83f9af 100644 --- a/Modules/socketmodule.h +++ b/Modules/socketmodule.h @@ -80,6 +80,10 @@ typedef int socklen_t; #include <linux/can/raw.h> #endif +#ifdef HAVE_LINUX_CAN_BCM_H +#include <linux/can/bcm.h> +#endif + #ifdef HAVE_SYS_SYS_DOMAIN_H #include <sys/sys_domain.h> #endif |