Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9e97fee0 authored by Scott Anderson's avatar Scott Anderson
Browse files

Enhance the ioctl toolbox command



1) Implement documented but unimplemented read-only option.
2) Allow standard input to be used as the <device> by passing
   "-".  On some devices, opening the device has side effects.
   Allowing standard input can prevent this by using a sequence
   of something like:

      # Open the device on file descriptor 3
      exec 3<> /dev/something
      ioctl -d - 0 0 <&3
      ioctl -d - 1 0 <&3
      dd if=myfile >&3
      # Close file descriptor 3
      exec 3>&-

Change-Id: If17ac3cffa7ccb159051550724b4ce7d8efa5feb
Signed-off-by: default avatarScott Anderson <saa@android.com>
parent 8ac7c9f6
Loading
Loading
Loading
Loading
+8 −4
Original line number Diff line number Diff line
@@ -63,11 +63,15 @@ int ioctl_main(int argc, char *argv[])
        exit(1);
    }

    fd = open(argv[optind], O_RDWR | O_SYNC);
    if (!strcmp(argv[optind], "-")) {
        fd = STDIN_FILENO;
    } else {
        fd = open(argv[optind], read_only ? O_RDONLY : (O_RDWR | O_SYNC));
        if (fd < 0) {
            fprintf(stderr, "cannot open %s\n", argv[optind]);
            return 1;
        }
    }
    optind++;
    
    ioctl_nr = strtol(argv[optind], NULL, 0);