diff -r 96919642e99c -r 08b6b903f84a drivers/can_socket/can_socket.c --- 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 #include #include #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) {