使用SocketCAN编写自定义CAN协议

我正在尝试为SocketCAN编写一个稍微修改的CAN协议。 SocketCAN文档有一个关于这个的简短部分:

5.3 writing own CAN protocol modules To implement a new protocol in the protocol family PF_CAN a new protocol has to be defined in include/linux/can.h . The prototypes and definitions to use the SocketCAN core can be accessed by including include/linux/can/core.h . In addition to functions that register the CAN protocol and the CAN device notifier chain there are functions to subscribe CAN frames received by CAN interfaces and to send CAN frames: can_rx_register - subscribe CAN frames from a specific interface can_rx_unregister - unsubscribe CAN frames from a specific interface can_send - transmit a CAN frame (optional with local loopback) For details see the kerneldoc documentation in net/can/af_can.c or the source code of net/can/raw.c or net/can/bcm.c . 

( https://www.kernel.org/doc/Documentation/networking/can.txt )

问题是我找不到一些在这里引用的文件。 我对Linux内核不是很熟悉,所以我不知道我是否在错误的地方看。 我可以findinclude/linux/can.hinclude/linux/can/目录,但是没有core.h文件。 另外,我找不到所引用的net/目录。

其他信息:

  • 我能够发送和接收原始的CAN帧,所以我相信我已经正确地设置了SocketCAN

  • 目录的内容(其中core.h应该是):

      beaglebone:~# ls /usr/include/linux/can/ bcm.h error.h gw.h netlink.h raw.h 
  • 我在BeagleBone Black上使用Debian(我不确定系统的embedded性是否有所作为)

如果有人能帮我指点我应该在哪里寻找这些文件,我会非常感激。

非常感谢!