Issue #15359: Add CAN_BCM protocol support to the socket module. Patch by Brian

Thorne.
This commit is contained in:
Charles-François Natali 2013-02-05 19:42:01 +01:00
parent c44911f49a
commit 773e42dff8
8 changed files with 151 additions and 18 deletions

View file

@ -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