Skip to content

Commit 6d1d880

Browse files
committed
bpo-37085: Expose SocketCAN bcm_msg_head flags
Expose the CAN_BCM SocketCAN constants used in the bcm_msg_head struct flags (provided by <linux/can/bcm.h>) under the socket library. This adds the following constants with a CAN_BCM prefix: * SETTIMER * STARTTIMER * TX_COUNTEVT * TX_ANNOUNCE * TX_CP_CAN_ID * RX_FILTER_ID * RX_CHECK_DLC * RX_NO_AUTOTIMER * RX_ANNOUNCE_RESUME * TX_RESET_MULTI_IDX * RX_RTR_FRAME * CAN_FD_FRAME
1 parent 01b63ec commit 6d1d880

File tree

3 files changed

+38
-0
lines changed

3 files changed

+38
-0
lines changed

Misc/ACKS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -394,6 +394,7 @@ Alon Diamant
394394
Toby Dickenson
395395
Mark Dickinson
396396
Jack Diederich
397+
Karl Ding
397398
Daniel Diniz
398399
Humberto Diogenes
399400
Yves Dionne
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Added support for the Linux SocketCAN Broadcast Manager API constants.

Modules/socketmodule.c

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7668,6 +7668,42 @@ PyInit__socket(void)
76687668
PyModule_AddIntConstant(m, "CAN_BCM_RX_STATUS", RX_STATUS);
76697669
PyModule_AddIntConstant(m, "CAN_BCM_RX_TIMEOUT", RX_TIMEOUT);
76707670
PyModule_AddIntConstant(m, "CAN_BCM_RX_CHANGED", RX_CHANGED);
7671+
#ifdef SETTIMER
7672+
PyModule_AddIntConstant(m, "CAN_BCM_SETTIMER", SETTIMER);
7673+
#endif
7674+
#ifdef STARTTIMER
7675+
PyModule_AddIntConstant(m, "CAN_BCM_STARTTIMER", STARTTIMER);
7676+
#endif
7677+
#ifdef TX_COUNTEVT
7678+
PyModule_AddIntConstant(m, "CAN_BCM_TX_COUNTEVT", TX_COUNTEVT);
7679+
#endif
7680+
#ifdef TX_ANNOUNCE
7681+
PyModule_AddIntConstant(m, "CAN_BCM_TX_ANNOUNCE", TX_ANNOUNCE);
7682+
#endif
7683+
#ifdef TX_CP_CAN_ID
7684+
PyModule_AddIntConstant(m, "CAN_BCM_TX_CP_CAN_ID", TX_CP_CAN_ID);
7685+
#endif
7686+
#ifdef RX_FILTER_ID
7687+
PyModule_AddIntConstant(m, "CAN_BCM_RX_FILTER_ID", RX_FILTER_ID);
7688+
#endif
7689+
#ifdef RX_CHECK_DLC
7690+
PyModule_AddIntConstant(m, "CAN_BCM_RX_CHECK_DLC", RX_CHECK_DLC);
7691+
#endif
7692+
#ifdef RX_NO_AUTOTIMER
7693+
PyModule_AddIntConstant(m, "CAN_BCM_RX_NO_AUTOTIMER", RX_NO_AUTOTIMER);
7694+
#endif
7695+
#ifdef RX_ANNOUNCE_RESUME
7696+
PyModule_AddIntConstant(m, "CAN_BCM_RX_ANNOUNCE_RESUME", RX_ANNOUNCE_RESUME);
7697+
#endif
7698+
#ifdef TX_RESET_MULTI_IDX
7699+
PyModule_AddIntConstant(m, "CAN_BCM_TX_RESET_MULTI_IDX", TX_RESET_MULTI_IDX);
7700+
#endif
7701+
#ifdef RX_RTR_FRAME
7702+
PyModule_AddIntConstant(m, "CAN_BCM_RX_RTR_FRAME", RX_RTR_FRAME);
7703+
#endif
7704+
#ifdef CAN_FD_FRAME
7705+
PyModule_AddIntConstant(m, "CAN_BCM_CAN_FD_FRAME", CAN_FD_FRAME);
7706+
#endif
76717707
#endif
76727708
#ifdef SOL_RDS
76737709
PyModule_AddIntMacro(m, SOL_RDS);

0 commit comments

Comments
 (0)