| 601 | ****************************************************************************/ |
| 602 | |
| 603 | static ssize_t rpmsgdev_ioctl_arglen(int cmd, unsigned long arg) |
| 604 | { |
| 605 | switch (cmd) |
| 606 | { |
| 607 | case FIONBIO: |
| 608 | case FIONWRITE: |
| 609 | case FIONREAD: |
| 610 | case FIONSPACE: |
| 611 | case FBIOSET_POWER: |
| 612 | case FBIOGET_POWER: |
| 613 | case BATIOC_CURRENT: |
| 614 | case BATIOC_VOLTAGE: |
| 615 | case BATIOC_TEMPERATURE: |
| 616 | case BATIOC_INPUT_CURRENT: |
| 617 | case BATIOC_STATE: |
| 618 | return sizeof(int); |
| 619 | case TUNSETIFF: |
| 620 | case TUNGETIFF: |
| 621 | return sizeof(struct ifreq); |
| 622 | case FIOC_FILEPATH: |
| 623 | return PATH_MAX; |
| 624 | case BATIOC_GET_PROTOCOL: |
| 625 | case BATIOC_OPERATE: |
| 626 | return sizeof(struct batio_operate_msg_s); |
| 627 | case MSIOC_VENDOR: |
| 628 | return sizeof(struct mouse_vendor_cmd_s) + |
| 629 | ((FAR struct mouse_vendor_cmd_s *)(uintptr_t)arg)->len; |
| 630 | default: |
| 631 | return -ENOTTY; |
| 632 | } |
| 633 | } |
| 634 | |
| 635 | /**************************************************************************** |
| 636 | * Name: rpmsgdev_ioctl |