drivers/can_socket/can_socket.c
changeset 631 08b6b903f84a
parent 603 4dc76e662412
child 796 1c87f7a8cb8a
--- 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)
     {