private static void Main(string[] args)
        {
            Console.WriteLine("(dir) << _IOC_DIRSHIFT: {0:D}", (IOCTL_H._IOC_READ | IOCTL_H._IOC_WRITE) << IOCTL_H._IOC_DIRSHIFT);
            Console.WriteLine("(uint)type) << _IOC_TYPESHIFT: {0:D}", 'q' << IOCTL_H._IOC_TYPESHIFT);
            Console.WriteLine("((uint)nr) << _IOC_NRSHIFT: {0:D}", 1 << IOCTL_H._IOC_NRSHIFT);
            Console.WriteLine("((uint)size) << _IOC_SIZESHIFT: {0:D}", IOCTL_H._IOC_TYPECHECK(typeof(lghtIO_arg_t)) << IOCTL_H._IOC_SIZESHIFT);

            Console.WriteLine("getLghtByIdx: {0:D}", lghtIO.getLghtByIdx());
            Console.WriteLine("setLghtByIdx: {0:D}", lghtIO.setLghtByIdx());
            Console.WriteLine("resetLghtByIdx: {0:D}", lghtIO.resetLghtByIdx());
            //string lghtIOdev = "/dev/lghtIO";
            //using (var lght = new UnixDevice(lghtIOdev, Libc.OpenFlags.O_RDWR))
            //{
            //    byte[] arg = new byte[1] { 0 };
            //    lghtIO_arg_t rq = new lghtIO_arg_t();
            //    lghtIO_arg_t answ = new lghtIO_arg_t();
            //    rq.idx = 13;
            //    rq.clrT = lghtColor.NoneColor;
            //    lght.IoCtl(lghtIO.getLghtByIdx(), ref rq, out answ);
            //    Console.WriteLine("color: {0:D}", (int)answ.clrT);
            //    lght.IoCtl(lghtIO.setLghtByIdx(), ref rq, out answ);
            //    Console.WriteLine("color: {0:D}", (int)answ.clrT);
            //    rq.clrT = lghtColor.Grn;
            //    lght.IoCtl(lghtIO.getLghtByIdx(), ref rq, out answ);
            //    Console.WriteLine("color: {0:D}", (int)answ.clrT);
            //    lght.IoCtl(lghtIO.setLghtByIdx(), ref rq, out answ);
            //    Console.WriteLine("color: {0:D}", (int)answ.clrT);
            //}
        }
 public static int setLghtByIdx() => IOCTL_H._IOW('q', 3, typeof(lghtIO_arg_t));
 public static int resetLghtByIdx() => IOCTL_H._IOWR('q', 2, typeof(lghtIO_arg_t));