===================================
SocketCAN - Controller Area Network
===================================
Overview / What is SocketCAN
============================
The socketcan package is an implementation of CAN protocols
(Controller Area Network) for Linux. CAN is a networking technology
which has widespread use in automation, embedded devices, and
automotive fields. While there have been other CAN implementations
for Linux based on character devices, SocketCAN uses the Berkeley
socket API, the Linux network stack and implements the CAN device
drivers as network interfaces. The CAN socket API has been designed
as similar as possible to the TCP/IP protocols to allow programmers,
familiar with network programming, to easily learn how to use CAN
sockets.
.. _socketcan-motivation:
Motivation / Why Using the Socket API
=====================================
There have been CAN implementations for Linux before SocketCAN so the
question arises, why we have started another project. Most existing
implementat