struct msgobj_t *obj;
struct canchip_t *chip;
struct canque_ends_t *qends;
-
+
if(!canuser || (canuser->magic != CAN_USER_MAGIC)){
CANMSG("can_ioctl: bad canuser magic\n");
return -ENODEV;
}
-
+
obj = canuser->msgobj;
if (obj == NULL) {
CANMSG("Could not assign buffer structure\n");
case CONF_FILTER: {
/* In- and output buffer re-initialization */
-
+
if(canuser->rx_edge0){
canque_set_filt(canuser->rx_edge0, arg, ~0, 0);
}
break;
}
-
+
case CANQUE_FILTER: {
struct canfilt_t canfilt;
int ret;
}
break;
}
-
+
case CANRTR_READ: {
int ret;
struct canmsg_t rtr_msg;
-
+
ret = copy_from_user(&rtr_msg, (void*)arg, sizeof(struct canmsg_t));
if(ret) return -EFAULT;
ret = can_ioctl_remote_read(canuser, &rtr_msg, rtr_msg.id, 0);
}
break;
}
-
+
case CONF_BAUDPARAMS: {
struct can_baudparams_t params;
int ret;
-
+
ret = copy_from_user(¶ms, (void*)arg, sizeof(struct can_baudparams_t));
if(ret) return -EFAULT;
CANMSG("Not a valid ioctl command\n");
return -EINVAL;
}
-
+
}
return 0;