--- a/drivers/can_socket/can_socket.c Fri Nov 12 22:49:26 2010 +0100
+++ b/drivers/can_socket/can_socket.c Sat Nov 13 00:03:24 2010 +0100
@@ -40,13 +40,18 @@
#define CAN_SETSOCKOPT rt_dev_setsockopt
#define CAN_ERRNO(err) (-err)
#else
+#include <unistd.h>
#include <sys/socket.h>
#include <sys/ioctl.h>
#include "linux/can.h"
#include "linux/can/raw.h"
#include "net/if.h"
+#ifndef PF_CAN
#define PF_CAN 29
+#endif
+#ifndef AF_CAN
#define AF_CAN PF_CAN
+#endif
//#include "af_can.h"
#define CAN_IFNAME "can%s"
#define CAN_SOCKET socket
@@ -93,7 +98,7 @@
/***************************************************************************/
UNS8
-canSend_driver (CAN_HANDLE fd0, Message * m)
+canSend_driver (CAN_HANDLE fd0, Message const * m)
{
int res;
struct can_frame frame;
@@ -174,6 +179,11 @@
can_mode_t *mode;
#endif
+ if(!fd0)
+ {
+ return NULL;
+ }
+
*(int *) fd0 = CAN_SOCKET (PF_CAN, SOCK_RAW, CAN_RAW);
if (*(int *) fd0 < 0)
{