public class jtermios.linux.JTermiosImpl implements jtermios.JTermios$JTermiosInterface
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: jtermios.linux.JTermiosImpl
  super_class: java.lang.Object
{
  private static java.lang.String DEVICE_DIR_PATH;
    descriptor: Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  static jtermios.linux.JTermiosImpl$C_lib_DirectMapping m_ClibDM;
    descriptor: Ljtermios/linux/JTermiosImpl$C_lib_DirectMapping;
    flags: (0x0008) ACC_STATIC

  static jtermios.linux.JTermiosImpl$C_lib m_Clib;
    descriptor: Ljtermios/linux/JTermiosImpl$C_lib;
    flags: (0x0008) ACC_STATIC

  static jtermios.linux.JTermiosImpl$NonDirectCLib m_ClibND;
    descriptor: Ljtermios/linux/JTermiosImpl$NonDirectCLib;
    flags: (0x0008) ACC_STATIC

  private static final int TIOCGSERIAL;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 21534

  private static final int TIOCSSERIAL;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 21535

  private static final int ASYNC_SPD_MASK;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 4144

  private static final int ASYNC_SPD_CUST;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 48

  private static final int[] m_BaudRates;
    descriptor: [I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 52
            ldc "/dev/"
            putstatic jtermios.linux.JTermiosImpl.DEVICE_DIR_PATH:Ljava/lang/String;
         1: .line 58
            iconst_1
            invokestatic com.sun.jna.Native.setPreserveLastError:(Z)V
         2: .line 59
            getstatic com.sun.jna.Platform.C_LIBRARY_NAME:Ljava/lang/String;
            ldc Ljtermios/linux/JTermiosImpl$NonDirectCLib;
            invokestatic com.sun.jna.Native.loadLibrary:(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
            checkcast jtermios.linux.JTermiosImpl$NonDirectCLib
            putstatic jtermios.linux.JTermiosImpl.m_ClibND:Ljtermios/linux/JTermiosImpl$NonDirectCLib;
         3: .line 60
            ldc Ljtermios/linux/JTermiosImpl$C_lib_DirectMapping;
            getstatic com.sun.jna.Platform.C_LIBRARY_NAME:Ljava/lang/String;
            invokestatic com.sun.jna.NativeLibrary.getInstance:(Ljava/lang/String;)Lcom/sun/jna/NativeLibrary;
            invokestatic com.sun.jna.Native.register:(Ljava/lang/Class;Lcom/sun/jna/NativeLibrary;)V
         4: .line 61
            new jtermios.linux.JTermiosImpl$C_lib_DirectMapping
            dup
            invokespecial jtermios.linux.JTermiosImpl$C_lib_DirectMapping.<init>:()V
            putstatic jtermios.linux.JTermiosImpl.m_ClibDM:Ljtermios/linux/JTermiosImpl$C_lib_DirectMapping;
         5: .line 62
            getstatic jtermios.linux.JTermiosImpl.m_ClibDM:Ljtermios/linux/JTermiosImpl$C_lib_DirectMapping;
            putstatic jtermios.linux.JTermiosImpl.m_Clib:Ljtermios/linux/JTermiosImpl$C_lib;
         6: .line 72
            bipush 60
            newarray 10
            dup
            iconst_0
         7: .line 73
            bipush 50
            iastore
            dup
            iconst_1
            iconst_1
            iastore
            dup
            iconst_2
         8: .line 74
            bipush 75
            iastore
            dup
            iconst_3
            iconst_2
            iastore
            dup
            iconst_4
         9: .line 75
            bipush 110
            iastore
            dup
            iconst_5
            iconst_3
            iastore
            dup
            bipush 6
        10: .line 76
            sipush 134
            iastore
            dup
            bipush 7
            iconst_4
            iastore
            dup
            bipush 8
        11: .line 77
            sipush 150
            iastore
            dup
            bipush 9
            iconst_5
            iastore
            dup
            bipush 10
        12: .line 78
            sipush 200
            iastore
            dup
            bipush 11
            bipush 6
            iastore
            dup
            bipush 12
        13: .line 79
            sipush 300
            iastore
            dup
            bipush 13
            bipush 7
            iastore
            dup
            bipush 14
        14: .line 80
            sipush 600
            iastore
            dup
            bipush 15
            bipush 8
            iastore
            dup
            bipush 16
        15: .line 81
            sipush 1200
            iastore
            dup
            bipush 17
            bipush 9
            iastore
            dup
            bipush 18
        16: .line 82
            sipush 1800
            iastore
            dup
            bipush 19
            bipush 10
            iastore
            dup
            bipush 20
        17: .line 83
            sipush 2400
            iastore
            dup
            bipush 21
            bipush 11
            iastore
            dup
            bipush 22
        18: .line 84
            sipush 4800
            iastore
            dup
            bipush 23
            bipush 12
            iastore
            dup
            bipush 24
        19: .line 85
            sipush 9600
            iastore
            dup
            bipush 25
            bipush 13
            iastore
            dup
            bipush 26
        20: .line 86
            sipush 19200
            iastore
            dup
            bipush 27
            bipush 14
            iastore
            dup
            bipush 28
        21: .line 87
            ldc 38400
            iastore
            dup
            bipush 29
            bipush 15
            iastore
            dup
            bipush 30
        22: .line 88
            ldc 57600
            iastore
            dup
            bipush 31
            sipush 4097
            iastore
            dup
            bipush 32
        23: .line 89
            ldc 115200
            iastore
            dup
            bipush 33
            sipush 4098
            iastore
            dup
            bipush 34
        24: .line 90
            ldc 230400
            iastore
            dup
            bipush 35
            sipush 4099
            iastore
            dup
            bipush 36
        25: .line 91
            ldc 460800
            iastore
            dup
            bipush 37
            sipush 4100
            iastore
            dup
            bipush 38
        26: .line 92
            ldc 500000
            iastore
            dup
            bipush 39
            sipush 4101
            iastore
            dup
            bipush 40
        27: .line 93
            ldc 576000
            iastore
            dup
            bipush 41
            sipush 4102
            iastore
            dup
            bipush 42
        28: .line 94
            ldc 921600
            iastore
            dup
            bipush 43
            sipush 4103
            iastore
            dup
            bipush 44
        29: .line 95
            ldc 1000000
            iastore
            dup
            bipush 45
            sipush 4104
            iastore
            dup
            bipush 46
        30: .line 96
            ldc 1152000
            iastore
            dup
            bipush 47
            sipush 4105
            iastore
            dup
            bipush 48
        31: .line 97
            ldc 1500000
            iastore
            dup
            bipush 49
            sipush 4106
            iastore
            dup
            bipush 50
        32: .line 98
            ldc 2000000
            iastore
            dup
            bipush 51
            sipush 4107
            iastore
            dup
            bipush 52
        33: .line 99
            ldc 2500000
            iastore
            dup
            bipush 53
            sipush 4108
            iastore
            dup
            bipush 54
        34: .line 100
            ldc 3000000
            iastore
            dup
            bipush 55
            sipush 4109
            iastore
            dup
            bipush 56
        35: .line 101
            ldc 3500000
            iastore
            dup
            bipush 57
            sipush 4110
            iastore
            dup
            bipush 58
        36: .line 102
            ldc 4000000
            iastore
            dup
            bipush 59
            sipush 4111
            iastore
        37: .line 71
            putstatic jtermios.linux.JTermiosImpl.m_BaudRates:[I
        38: .line 103
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // jtermios.linux.JTermiosImpl this
         0: .line 377
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 378
            getstatic jtermios.JTermios$JTermiosLogging.log:Z
            ifeq 2
            iconst_1
            ldc "instantiating %s\n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getCanonicalName:()Ljava/lang/String;
            aastore
            invokestatic jtermios.JTermios$JTermiosLogging.log:(ILjava/lang/String;[Ljava/lang/Object;)Z
            ifeq 2
            iconst_1
            goto 3
      StackMap locals: jtermios.linux.JTermiosImpl
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: putstatic jtermios.JTermios$JTermiosLogging.log:Z
         4: .line 381
            sipush 21531
            putstatic jtermios.JTermios.FIONREAD:I
         5: .line 383
            iconst_2
            putstatic jtermios.JTermios.O_RDWR:I
         6: .line 384
            sipush 2048
            putstatic jtermios.JTermios.O_NONBLOCK:I
         7: .line 385
            sipush 256
            putstatic jtermios.JTermios.O_NOCTTY:I
         8: .line 386
            sipush 2048
            putstatic jtermios.JTermios.O_NDELAY:I
         9: .line 387
            iconst_3
            putstatic jtermios.JTermios.F_GETFL:I
        10: .line 388
            iconst_4
            putstatic jtermios.JTermios.F_SETFL:I
        11: .line 390
            bipush 11
            putstatic jtermios.JTermios.EAGAIN:I
        12: .line 391
            bipush 13
            putstatic jtermios.JTermios.EACCES:I
        13: .line 392
            bipush 17
            putstatic jtermios.JTermios.EEXIST:I
        14: .line 393
            iconst_4
            putstatic jtermios.JTermios.EINTR:I
        15: .line 394
            bipush 22
            putstatic jtermios.JTermios.EINVAL:I
        16: .line 395
            iconst_5
            putstatic jtermios.JTermios.EIO:I
        17: .line 396
            bipush 21
            putstatic jtermios.JTermios.EISDIR:I
        18: .line 397
            bipush 40
            putstatic jtermios.JTermios.ELOOP:I
        19: .line 398
            bipush 24
            putstatic jtermios.JTermios.EMFILE:I
        20: .line 399
            bipush 36
            putstatic jtermios.JTermios.ENAMETOOLONG:I
        21: .line 400
            bipush 23
            putstatic jtermios.JTermios.ENFILE:I
        22: .line 401
            iconst_2
            putstatic jtermios.JTermios.ENOENT:I
        23: .line 402
            bipush 63
            putstatic jtermios.JTermios.ENOSR:I
        24: .line 403
            bipush 28
            putstatic jtermios.JTermios.ENOSPC:I
        25: .line 404
            bipush 20
            putstatic jtermios.JTermios.ENOTDIR:I
        26: .line 405
            bipush 6
            putstatic jtermios.JTermios.ENXIO:I
        27: .line 406
            bipush 75
            putstatic jtermios.JTermios.EOVERFLOW:I
        28: .line 407
            bipush 30
            putstatic jtermios.JTermios.EROFS:I
        29: .line 408
            bipush 95
            putstatic jtermios.JTermios.ENOTSUP:I
        30: .line 410
            sipush 128
            putstatic jtermios.JTermios.TIOCM_RNG:I
        31: .line 411
            bipush 64
            putstatic jtermios.JTermios.TIOCM_CAR:I
        32: .line 412
            iconst_1
            putstatic jtermios.JTermios.IGNBRK:I
        33: .line 413
            iconst_2
            putstatic jtermios.JTermios.BRKINT:I
        34: .line 414
            iconst_4
            putstatic jtermios.JTermios.IGNPAR:I
        35: .line 415
            bipush 8
            putstatic jtermios.JTermios.PARMRK:I
        36: .line 416
            bipush 64
            putstatic jtermios.JTermios.INLCR:I
        37: .line 417
            sipush 128
            putstatic jtermios.JTermios.IGNCR:I
        38: .line 418
            sipush 256
            putstatic jtermios.JTermios.ICRNL:I
        39: .line 419
            bipush 64
            putstatic jtermios.JTermios.ECHONL:I
        40: .line 420
            ldc 32768
            putstatic jtermios.JTermios.IEXTEN:I
        41: .line 421
            sipush 2048
            putstatic jtermios.JTermios.CLOCAL:I
        42: .line 422
            iconst_1
            putstatic jtermios.JTermios.OPOST:I
        43: .line 423
            bipush 8
            putstatic jtermios.JTermios.VSTART:I
        44: .line 424
            iconst_0
            putstatic jtermios.JTermios.TCSANOW:I
        45: .line 425
            bipush 9
            putstatic jtermios.JTermios.VSTOP:I
        46: .line 426
            bipush 6
            putstatic jtermios.JTermios.VMIN:I
        47: .line 427
            iconst_5
            putstatic jtermios.JTermios.VTIME:I
        48: .line 428
            iconst_4
            putstatic jtermios.JTermios.VEOF:I
        49: .line 429
            sipush 21525
            putstatic jtermios.JTermios.TIOCMGET:I
        50: .line 430
            bipush 32
            putstatic jtermios.JTermios.TIOCM_CTS:I
        51: .line 431
            sipush 256
            putstatic jtermios.JTermios.TIOCM_DSR:I
        52: .line 432
            sipush 128
            putstatic jtermios.JTermios.TIOCM_RI:I
        53: .line 433
            bipush 64
            putstatic jtermios.JTermios.TIOCM_CD:I
        54: .line 434
            iconst_2
            putstatic jtermios.JTermios.TIOCM_DTR:I
        55: .line 435
            iconst_4
            putstatic jtermios.JTermios.TIOCM_RTS:I
        56: .line 436
            iconst_2
            putstatic jtermios.JTermios.ICANON:I
        57: .line 437
            bipush 8
            putstatic jtermios.JTermios.ECHO:I
        58: .line 438
            bipush 16
            putstatic jtermios.JTermios.ECHOE:I
        59: .line 439
            iconst_1
            putstatic jtermios.JTermios.ISIG:I
        60: .line 440
            sipush 21528
            putstatic jtermios.JTermios.TIOCMSET:I
        61: .line 441
            sipush 1024
            putstatic jtermios.JTermios.IXON:I
        62: .line 442
            sipush 4096
            putstatic jtermios.JTermios.IXOFF:I
        63: .line 443
            sipush 2048
            putstatic jtermios.JTermios.IXANY:I
        64: .line 444
            ldc -2147483648
            putstatic jtermios.JTermios.CRTSCTS:I
        65: .line 445
            iconst_1
            putstatic jtermios.JTermios.TCSADRAIN:I
        66: .line 446
            bipush 16
            putstatic jtermios.JTermios.INPCK:I
        67: .line 447
            bipush 32
            putstatic jtermios.JTermios.ISTRIP:I
        68: .line 448
            bipush 48
            putstatic jtermios.JTermios.CSIZE:I
        69: .line 449
            iconst_0
            putstatic jtermios.JTermios.TCIFLUSH:I
        70: .line 450
            iconst_1
            putstatic jtermios.JTermios.TCOFLUSH:I
        71: .line 451
            iconst_2
            putstatic jtermios.JTermios.TCIOFLUSH:I
        72: .line 452
            iconst_0
            putstatic jtermios.JTermios.CS5:I
        73: .line 453
            bipush 16
            putstatic jtermios.JTermios.CS6:I
        74: .line 454
            bipush 32
            putstatic jtermios.JTermios.CS7:I
        75: .line 455
            bipush 48
            putstatic jtermios.JTermios.CS8:I
        76: .line 456
            bipush 64
            putstatic jtermios.JTermios.CSTOPB:I
        77: .line 457
            sipush 128
            putstatic jtermios.JTermios.CREAD:I
        78: .line 458
            sipush 256
            putstatic jtermios.JTermios.PARENB:I
        79: .line 459
            sipush 512
            putstatic jtermios.JTermios.PARODD:I
        80: .line 460
            iconst_0
            putstatic jtermios.JTermios.B0:I
        81: .line 461
            iconst_1
            putstatic jtermios.JTermios.B50:I
        82: .line 462
            iconst_2
            putstatic jtermios.JTermios.B75:I
        83: .line 463
            iconst_3
            putstatic jtermios.JTermios.B110:I
        84: .line 464
            iconst_4
            putstatic jtermios.JTermios.B134:I
        85: .line 465
            iconst_5
            putstatic jtermios.JTermios.B150:I
        86: .line 466
            bipush 6
            putstatic jtermios.JTermios.B200:I
        87: .line 467
            bipush 7
            putstatic jtermios.JTermios.B300:I
        88: .line 468
            bipush 8
            putstatic jtermios.JTermios.B600:I
        89: .line 469
            bipush 9
            putstatic jtermios.JTermios.B1200:I
        90: .line 470
            bipush 10
            putstatic jtermios.JTermios.B1800:I
        91: .line 471
            bipush 11
            putstatic jtermios.JTermios.B2400:I
        92: .line 472
            bipush 12
            putstatic jtermios.JTermios.B4800:I
        93: .line 473
            bipush 13
            putstatic jtermios.JTermios.B9600:I
        94: .line 474
            bipush 14
            putstatic jtermios.JTermios.B19200:I
        95: .line 475
            bipush 15
            putstatic jtermios.JTermios.B38400:I
        96: .line 476
            sipush 4097
            putstatic jtermios.JTermios.B57600:I
        97: .line 477
            sipush 4098
            putstatic jtermios.JTermios.B115200:I
        98: .line 478
            sipush 4099
            putstatic jtermios.JTermios.B230400:I
        99: .line 480
            iconst_1
            putstatic jtermios.JTermios.POLLIN:S
       100: .line 481
            iconst_2
            putstatic jtermios.JTermios.POLLPRI:S
       101: .line 482
            iconst_4
            putstatic jtermios.JTermios.POLLOUT:S
       102: .line 483
            bipush 8
            putstatic jtermios.JTermios.POLLERR:S
       103: .line 484
            bipush 32
            putstatic jtermios.JTermios.POLLNVAL:S
       104: .line 485
            return
        end local 0 // jtermios.linux.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0  105     0  this  Ljtermios/linux/JTermiosImpl;

  public int errno();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jtermios.linux.JTermiosImpl this
         0: .line 488
            invokestatic com.sun.jna.Native.getLastError:()I
            ireturn
        end local 0 // jtermios.linux.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljtermios/linux/JTermiosImpl;

  public void cfmakeraw(jtermios.Termios);
    descriptor: (Ljtermios/Termios;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // jtermios.linux.JTermiosImpl this
        start local 1 // jtermios.Termios termios
         0: .line 492
            new jtermios.linux.JTermiosImpl$termios
            dup
            aload 1 /* termios */
            invokespecial jtermios.linux.JTermiosImpl$termios.<init>:(Ljtermios/Termios;)V
            astore 2 /* t */
        start local 2 // jtermios.linux.JTermiosImpl$termios t
         1: .line 493
            getstatic jtermios.linux.JTermiosImpl.m_Clib:Ljtermios/linux/JTermiosImpl$C_lib;
            aload 2 /* t */
            invokeinterface jtermios.linux.JTermiosImpl$C_lib.cfmakeraw:(Ljtermios/linux/JTermiosImpl$termios;)V
         2: .line 494
            aload 2 /* t */
            aload 1 /* termios */
            invokevirtual jtermios.linux.JTermiosImpl$termios.update:(Ljtermios/Termios;)V
         3: .line 495
            return
        end local 2 // jtermios.linux.JTermiosImpl$termios t
        end local 1 // jtermios.Termios termios
        end local 0 // jtermios.linux.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Ljtermios/linux/JTermiosImpl;
            0    4     1  termios  Ljtermios/Termios;
            1    4     2        t  Ljtermios/linux/JTermiosImpl$termios;
    MethodParameters:
         Name  Flags
      termios  

  public int fcntl(int, int, int);
    descriptor: (III)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // jtermios.linux.JTermiosImpl this
        start local 1 // int fd
        start local 2 // int cmd
        start local 3 // int arg
         0: .line 498
            getstatic jtermios.linux.JTermiosImpl.m_Clib:Ljtermios/linux/JTermiosImpl$C_lib;
            iload 1 /* fd */
            iload 2 /* cmd */
            iload 3 /* arg */
            invokeinterface jtermios.linux.JTermiosImpl$C_lib.fcntl:(III)I
            ireturn
        end local 3 // int arg
        end local 2 // int cmd
        end local 1 // int fd
        end local 0 // jtermios.linux.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljtermios/linux/JTermiosImpl;
            0    1     1    fd  I
            0    1     2   cmd  I
            0    1     3   arg  I
    MethodParameters:
      Name  Flags
      fd    
      cmd   
      arg   

  public int tcdrain(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jtermios.linux.JTermiosImpl this
        start local 1 // int fd
         0: .line 502
            getstatic jtermios.linux.JTermiosImpl.m_Clib:Ljtermios/linux/JTermiosImpl$C_lib;
            iload 1 /* fd */
            invokeinterface jtermios.linux.JTermiosImpl$C_lib.tcdrain:(I)I
            ireturn
        end local 1 // int fd
        end local 0 // jtermios.linux.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljtermios/linux/JTermiosImpl;
            0    1     1    fd  I
    MethodParameters:
      Name  Flags
      fd    

  public int cfgetispeed(jtermios.Termios);
    descriptor: (Ljtermios/Termios;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // jtermios.linux.JTermiosImpl this
        start local 1 // jtermios.Termios termios
         0: .line 506
            getstatic jtermios.linux.JTermiosImpl.m_Clib:Ljtermios/linux/JTermiosImpl$C_lib;
            new jtermios.linux.JTermiosImpl$termios
            dup
            aload 1 /* termios */
            invokespecial jtermios.linux.JTermiosImpl$termios.<init>:(Ljtermios/Termios;)V
            invokeinterface jtermios.linux.JTermiosImpl$C_lib.cfgetispeed:(Ljtermios/linux/JTermiosImpl$termios;)I
            ireturn
        end local 1 // jtermios.Termios termios
        end local 0 // jtermios.linux.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Ljtermios/linux/JTermiosImpl;
            0    1     1  termios  Ljtermios/Termios;
    MethodParameters:
         Name  Flags
      termios  

  public int cfgetospeed(jtermios.Termios);
    descriptor: (Ljtermios/Termios;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // jtermios.linux.JTermiosImpl this
        start local 1 // jtermios.Termios termios
         0: .line 510
            getstatic jtermios.linux.JTermiosImpl.m_Clib:Ljtermios/linux/JTermiosImpl$C_lib;
            new jtermios.linux.JTermiosImpl$termios
            dup
            aload 1 /* termios */
            invokespecial jtermios.linux.JTermiosImpl$termios.<init>:(Ljtermios/Termios;)V
            invokeinterface jtermios.linux.JTermiosImpl$C_lib.cfgetospeed:(Ljtermios/linux/JTermiosImpl$termios;)I
            ireturn
        end local 1 // jtermios.Termios termios
        end local 0 // jtermios.linux.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Ljtermios/linux/JTermiosImpl;
            0    1     1  termios  Ljtermios/Termios;
    MethodParameters:
         Name  Flags
      termios  

  public int cfsetispeed(jtermios.Termios, int);
    descriptor: (Ljtermios/Termios;I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // jtermios.linux.JTermiosImpl this
        start local 1 // jtermios.Termios termios
        start local 2 // int speed
         0: .line 514
            new jtermios.linux.JTermiosImpl$termios
            dup
            aload 1 /* termios */
            invokespecial jtermios.linux.JTermiosImpl$termios.<init>:(Ljtermios/Termios;)V
            astore 3 /* t */
        start local 3 // jtermios.linux.JTermiosImpl$termios t
         1: .line 515
            getstatic jtermios.linux.JTermiosImpl.m_Clib:Ljtermios/linux/JTermiosImpl$C_lib;
            aload 3 /* t */
            iload 2 /* speed */
            invokeinterface jtermios.linux.JTermiosImpl$C_lib.cfsetispeed:(Ljtermios/linux/JTermiosImpl$termios;I)I
            istore 4 /* ret */
        start local 4 // int ret
         2: .line 516
            aload 3 /* t */
            aload 1 /* termios */
            invokevirtual jtermios.linux.JTermiosImpl$termios.update:(Ljtermios/Termios;)V
         3: .line 517
            iload 4 /* ret */
            ireturn
        end local 4 // int ret
        end local 3 // jtermios.linux.JTermiosImpl$termios t
        end local 2 // int speed
        end local 1 // jtermios.Termios termios
        end local 0 // jtermios.linux.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Ljtermios/linux/JTermiosImpl;
            0    4     1  termios  Ljtermios/Termios;
            0    4     2    speed  I
            1    4     3        t  Ljtermios/linux/JTermiosImpl$termios;
            2    4     4      ret  I
    MethodParameters:
         Name  Flags
      termios  
      speed    

  public int cfsetospeed(jtermios.Termios, int);
    descriptor: (Ljtermios/Termios;I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // jtermios.linux.JTermiosImpl this
        start local 1 // jtermios.Termios termios
        start local 2 // int speed
         0: .line 521
            new jtermios.linux.JTermiosImpl$termios
            dup
            aload 1 /* termios */
            invokespecial jtermios.linux.JTermiosImpl$termios.<init>:(Ljtermios/Termios;)V
            astore 3 /* t */
        start local 3 // jtermios.linux.JTermiosImpl$termios t
         1: .line 522
            getstatic jtermios.linux.JTermiosImpl.m_Clib:Ljtermios/linux/JTermiosImpl$C_lib;
            aload 3 /* t */
            iload 2 /* speed */
            invokeinterface jtermios.linux.JTermiosImpl$C_lib.cfsetospeed:(Ljtermios/linux/JTermiosImpl$termios;I)I
            istore 4 /* ret */
        start local 4 // int ret
         2: .line 523
            aload 3 /* t */
            aload 1 /* termios */
            invokevirtual jtermios.linux.JTermiosImpl$termios.update:(Ljtermios/Termios;)V
         3: .line 524
            iload 4 /* ret */
            ireturn
        end local 4 // int ret
        end local 3 // jtermios.linux.JTermiosImpl$termios t
        end local 2 // int speed
        end local 1 // jtermios.Termios termios
        end local 0 // jtermios.linux.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Ljtermios/linux/JTermiosImpl;
            0    4     1  termios  Ljtermios/Termios;
            0    4     2    speed  I
            1    4     3        t  Ljtermios/linux/JTermiosImpl$termios;
            2    4     4      ret  I
    MethodParameters:
         Name  Flags
      termios  
      speed    

  public int open(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // jtermios.linux.JTermiosImpl this
        start local 1 // java.lang.String s
        start local 2 // int t
         0: .line 528
            aload 1 /* s */
            ifnull 2
            aload 1 /* s */
            ldc "/"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 2
         1: .line 529
            new java.lang.StringBuilder
            dup
            getstatic jtermios.linux.JTermiosImpl.DEVICE_DIR_PATH:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* s */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* s */
         2: .line 531
      StackMap locals:
      StackMap stack:
            getstatic jtermios.linux.JTermiosImpl.m_Clib:Ljtermios/linux/JTermiosImpl$C_lib;
            aload 1 /* s */
            iload 2 /* t */
            invokeinterface jtermios.linux.JTermiosImpl$C_lib.open:(Ljava/lang/String;I)I
            ireturn
        end local 2 // int t
        end local 1 // java.lang.String s
        end local 0 // jtermios.linux.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljtermios/linux/JTermiosImpl;
            0    3     1     s  Ljava/lang/String;
            0    3     2     t  I
    MethodParameters:
      Name  Flags
      s     
      t     

  public int read(int, byte[], int);
    descriptor: (I[BI)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=4
        start local 0 // jtermios.linux.JTermiosImpl this
        start local 1 // int fd
        start local 2 // byte[] buffer
        start local 3 // int len
         0: .line 535
            getstatic jtermios.linux.JTermiosImpl.m_Clib:Ljtermios/linux/JTermiosImpl$C_lib;
            iload 1 /* fd */
            aload 2 /* buffer */
            new jtermios.JTermios$JTermiosInterface$NativeSize
            dup
            iload 3 /* len */
            i2l
            invokespecial jtermios.JTermios$JTermiosInterface$NativeSize.<init>:(J)V
            invokeinterface jtermios.linux.JTermiosImpl$C_lib.read:(I[BLjtermios/JTermios$JTermiosInterface$NativeSize;)Ljtermios/JTermios$JTermiosInterface$NativeSize;
            invokevirtual jtermios.JTermios$JTermiosInterface$NativeSize.intValue:()I
            ireturn
        end local 3 // int len
        end local 2 // byte[] buffer
        end local 1 // int fd
        end local 0 // jtermios.linux.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Ljtermios/linux/JTermiosImpl;
            0    1     1      fd  I
            0    1     2  buffer  [B
            0    1     3     len  I
    MethodParameters:
        Name  Flags
      fd      
      buffer  
      len     

  public int write(int, byte[], int);
    descriptor: (I[BI)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=4
        start local 0 // jtermios.linux.JTermiosImpl this
        start local 1 // int fd
        start local 2 // byte[] buffer
        start local 3 // int len
         0: .line 539
            getstatic jtermios.linux.JTermiosImpl.m_Clib:Ljtermios/linux/JTermiosImpl$C_lib;
            iload 1 /* fd */
            aload 2 /* buffer */
            new jtermios.JTermios$JTermiosInterface$NativeSize
            dup
            iload 3 /* len */
            i2l
            invokespecial jtermios.JTermios$JTermiosInterface$NativeSize.<init>:(J)V
            invokeinterface jtermios.linux.JTermiosImpl$C_lib.write:(I[BLjtermios/JTermios$JTermiosInterface$NativeSize;)Ljtermios/JTermios$JTermiosInterface$NativeSize;
            invokevirtual jtermios.JTermios$JTermiosInterface$NativeSize.intValue:()I
            ireturn
        end local 3 // int len
        end local 2 // byte[] buffer
        end local 1 // int fd
        end local 0 // jtermios.linux.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Ljtermios/linux/JTermiosImpl;
            0    1     1      fd  I
            0    1     2  buffer  [B
            0    1     3     len  I
    MethodParameters:
        Name  Flags
      fd      
      buffer  
      len     

  public int close(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jtermios.linux.JTermiosImpl this
        start local 1 // int fd
         0: .line 543
            getstatic jtermios.linux.JTermiosImpl.m_Clib:Ljtermios/linux/JTermiosImpl$C_lib;
            iload 1 /* fd */
            invokeinterface jtermios.linux.JTermiosImpl$C_lib.close:(I)I
            ireturn
        end local 1 // int fd
        end local 0 // jtermios.linux.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljtermios/linux/JTermiosImpl;
            0    1     1    fd  I
    MethodParameters:
      Name  Flags
      fd    

  public int tcflush(int, int);
    descriptor: (II)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // jtermios.linux.JTermiosImpl this
        start local 1 // int fd
        start local 2 // int b
         0: .line 547
            getstatic jtermios.linux.JTermiosImpl.m_Clib:Ljtermios/linux/JTermiosImpl$C_lib;
            iload 1 /* fd */
            iload 2 /* b */
            invokeinterface jtermios.linux.JTermiosImpl$C_lib.tcflush:(II)I
            ireturn
        end local 2 // int b
        end local 1 // int fd
        end local 0 // jtermios.linux.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljtermios/linux/JTermiosImpl;
            0    1     1    fd  I
            0    1     2     b  I
    MethodParameters:
      Name  Flags
      fd    
      b     

  public int tcgetattr(int, jtermios.Termios);
    descriptor: (ILjtermios/Termios;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // jtermios.linux.JTermiosImpl this
        start local 1 // int fd
        start local 2 // jtermios.Termios termios
         0: .line 551
            new jtermios.linux.JTermiosImpl$termios
            dup
            invokespecial jtermios.linux.JTermiosImpl$termios.<init>:()V
            astore 3 /* t */
        start local 3 // jtermios.linux.JTermiosImpl$termios t
         1: .line 552
            getstatic jtermios.linux.JTermiosImpl.m_Clib:Ljtermios/linux/JTermiosImpl$C_lib;
            iload 1 /* fd */
            aload 3 /* t */
            invokeinterface jtermios.linux.JTermiosImpl$C_lib.tcgetattr:(ILjtermios/linux/JTermiosImpl$termios;)I
            istore 4 /* ret */
        start local 4 // int ret
         2: .line 553
            aload 3 /* t */
            aload 2 /* termios */
            invokevirtual jtermios.linux.JTermiosImpl$termios.update:(Ljtermios/Termios;)V
         3: .line 554
            iload 4 /* ret */
            ireturn
        end local 4 // int ret
        end local 3 // jtermios.linux.JTermiosImpl$termios t
        end local 2 // jtermios.Termios termios
        end local 1 // int fd
        end local 0 // jtermios.linux.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Ljtermios/linux/JTermiosImpl;
            0    4     1       fd  I
            0    4     2  termios  Ljtermios/Termios;
            1    4     3        t  Ljtermios/linux/JTermiosImpl$termios;
            2    4     4      ret  I
    MethodParameters:
         Name  Flags
      fd       
      termios  

  public void perror(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jtermios.linux.JTermiosImpl this
        start local 1 // java.lang.String msg
         0: .line 558
            getstatic jtermios.linux.JTermiosImpl.m_Clib:Ljtermios/linux/JTermiosImpl$C_lib;
            aload 1 /* msg */
            invokeinterface jtermios.linux.JTermiosImpl$C_lib.perror:(Ljava/lang/String;)V
         1: .line 559
            return
        end local 1 // java.lang.String msg
        end local 0 // jtermios.linux.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljtermios/linux/JTermiosImpl;
            0    2     1   msg  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      msg   

  public int tcsendbreak(int, int);
    descriptor: (II)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // jtermios.linux.JTermiosImpl this
        start local 1 // int fd
        start local 2 // int duration
         0: .line 564
            getstatic jtermios.linux.JTermiosImpl.m_Clib:Ljtermios/linux/JTermiosImpl$C_lib;
            iload 1 /* fd */
            iload 2 /* duration */
            sipush 250
            idiv
            invokeinterface jtermios.linux.JTermiosImpl$C_lib.tcsendbreak:(II)I
            ireturn
        end local 2 // int duration
        end local 1 // int fd
        end local 0 // jtermios.linux.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Ljtermios/linux/JTermiosImpl;
            0    1     1        fd  I
            0    1     2  duration  I
    MethodParameters:
          Name  Flags
      fd        
      duration  

  public int tcsetattr(int, int, jtermios.Termios);
    descriptor: (IILjtermios/Termios;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // jtermios.linux.JTermiosImpl this
        start local 1 // int fd
        start local 2 // int cmd
        start local 3 // jtermios.Termios termios
         0: .line 568
            getstatic jtermios.linux.JTermiosImpl.m_Clib:Ljtermios/linux/JTermiosImpl$C_lib;
            iload 1 /* fd */
            iload 2 /* cmd */
            new jtermios.linux.JTermiosImpl$termios
            dup
            aload 3 /* termios */
            invokespecial jtermios.linux.JTermiosImpl$termios.<init>:(Ljtermios/Termios;)V
            invokeinterface jtermios.linux.JTermiosImpl$C_lib.tcsetattr:(IILjtermios/linux/JTermiosImpl$termios;)I
            ireturn
        end local 3 // jtermios.Termios termios
        end local 2 // int cmd
        end local 1 // int fd
        end local 0 // jtermios.linux.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Ljtermios/linux/JTermiosImpl;
            0    1     1       fd  I
            0    1     2      cmd  I
            0    1     3  termios  Ljtermios/Termios;
    MethodParameters:
         Name  Flags
      fd       
      cmd      
      termios  

  public int select(int, jtermios.JTermios$FDSet, jtermios.JTermios$FDSet, jtermios.JTermios$FDSet, jtermios.TimeVal);
    descriptor: (ILjtermios/JTermios$FDSet;Ljtermios/JTermios$FDSet;Ljtermios/JTermios$FDSet;Ljtermios/TimeVal;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=7, args_size=6
        start local 0 // jtermios.linux.JTermiosImpl this
        start local 1 // int nfds
        start local 2 // jtermios.JTermios$FDSet rfds
        start local 3 // jtermios.JTermios$FDSet wfds
        start local 4 // jtermios.JTermios$FDSet efds
        start local 5 // jtermios.TimeVal timeout
         0: .line 572
            aconst_null
            astore 6 /* tout */
        start local 6 // jtermios.linux.JTermiosImpl$timeval tout
         1: .line 573
            aload 5 /* timeout */
            ifnull 3
         2: .line 574
            new jtermios.linux.JTermiosImpl$timeval
            dup
            aload 5 /* timeout */
            invokespecial jtermios.linux.JTermiosImpl$timeval.<init>:(Ljtermios/TimeVal;)V
            astore 6 /* tout */
         3: .line 577
      StackMap locals: jtermios.linux.JTermiosImpl$timeval
      StackMap stack:
            getstatic jtermios.linux.JTermiosImpl.m_ClibND:Ljtermios/linux/JTermiosImpl$NonDirectCLib;
            iload 1 /* nfds */
            aload 2 /* rfds */
            checkcast jtermios.linux.JTermiosImpl$fd_set
            aload 3 /* wfds */
            checkcast jtermios.linux.JTermiosImpl$fd_set
            aload 4 /* efds */
            checkcast jtermios.linux.JTermiosImpl$fd_set
            aload 6 /* tout */
            invokeinterface jtermios.linux.JTermiosImpl$NonDirectCLib.select:(ILjtermios/linux/JTermiosImpl$fd_set;Ljtermios/linux/JTermiosImpl$fd_set;Ljtermios/linux/JTermiosImpl$fd_set;Ljtermios/linux/JTermiosImpl$timeval;)I
            ireturn
        end local 6 // jtermios.linux.JTermiosImpl$timeval tout
        end local 5 // jtermios.TimeVal timeout
        end local 4 // jtermios.JTermios$FDSet efds
        end local 3 // jtermios.JTermios$FDSet wfds
        end local 2 // jtermios.JTermios$FDSet rfds
        end local 1 // int nfds
        end local 0 // jtermios.linux.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Ljtermios/linux/JTermiosImpl;
            0    4     1     nfds  I
            0    4     2     rfds  Ljtermios/JTermios$FDSet;
            0    4     3     wfds  Ljtermios/JTermios$FDSet;
            0    4     4     efds  Ljtermios/JTermios$FDSet;
            0    4     5  timeout  Ljtermios/TimeVal;
            1    4     6     tout  Ljtermios/linux/JTermiosImpl$timeval;
    MethodParameters:
         Name  Flags
      nfds     
      rfds     
      wfds     
      efds     
      timeout  

  public int poll(jtermios.Pollfd[], int, int);
    descriptor: ([Ljtermios/Pollfd;II)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=4
        start local 0 // jtermios.linux.JTermiosImpl this
        start local 1 // jtermios.Pollfd[] fds
        start local 2 // int nfds
        start local 3 // int timeout
         0: .line 581
            iload 2 /* nfds */
            ifle 1
            iload 2 /* nfds */
            aload 1 /* fds */
            arraylength
            if_icmple 2
         1: .line 582
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "nfds "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* nfds */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " must be <= fds.length "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* fds */
            arraylength
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 584
      StackMap locals:
      StackMap stack:
            new jtermios.linux.JTermiosImpl$pollfd$ByReference
            dup
            invokespecial jtermios.linux.JTermiosImpl$pollfd$ByReference.<init>:()V
            astore 4 /* parampfds */
        start local 4 // jtermios.linux.JTermiosImpl$pollfd$ByReference parampfds
         3: .line 585
            aload 4 /* parampfds */
            iload 2 /* nfds */
            invokevirtual jtermios.linux.JTermiosImpl$pollfd$ByReference.toArray:(I)[Lcom/sun/jna/Structure;
            checkcast jtermios.linux.JTermiosImpl$pollfd[]
            astore 5 /* pfds */
        start local 5 // jtermios.linux.JTermiosImpl$pollfd[] pfds
         4: .line 586
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         5: goto 9
         6: .line 587
      StackMap locals: jtermios.linux.JTermiosImpl$pollfd$ByReference jtermios.linux.JTermiosImpl$pollfd[] int
      StackMap stack:
            aload 5 /* pfds */
            iload 6 /* i */
            aaload
            aload 1 /* fds */
            iload 6 /* i */
            aaload
            getfield jtermios.Pollfd.fd:I
            putfield jtermios.linux.JTermiosImpl$pollfd.fd:I
         7: .line 588
            aload 5 /* pfds */
            iload 6 /* i */
            aaload
            aload 1 /* fds */
            iload 6 /* i */
            aaload
            getfield jtermios.Pollfd.events:S
            putfield jtermios.linux.JTermiosImpl$pollfd.events:S
         8: .line 586
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 6 /* i */
            iload 2 /* nfds */
            if_icmplt 6
        end local 6 // int i
        10: .line 590
            getstatic jtermios.linux.JTermiosImpl.m_ClibND:Ljtermios/linux/JTermiosImpl$NonDirectCLib;
            aload 4 /* parampfds */
            iload 2 /* nfds */
            iload 3 /* timeout */
            invokeinterface jtermios.linux.JTermiosImpl$NonDirectCLib.poll:(Ljtermios/linux/JTermiosImpl$pollfd$ByReference;II)I
            istore 6 /* ret */
        start local 6 // int ret
        11: .line 591
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        12: goto 15
        13: .line 592
      StackMap locals: int
      StackMap stack:
            aload 1 /* fds */
            iload 7 /* i */
            aaload
            aload 5 /* pfds */
            iload 7 /* i */
            aaload
            getfield jtermios.linux.JTermiosImpl$pollfd.revents:S
            putfield jtermios.Pollfd.revents:S
        14: .line 591
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 7 /* i */
            iload 2 /* nfds */
            if_icmplt 13
        end local 7 // int i
        16: .line 594
            iload 6 /* ret */
            ireturn
        end local 6 // int ret
        end local 5 // jtermios.linux.JTermiosImpl$pollfd[] pfds
        end local 4 // jtermios.linux.JTermiosImpl$pollfd$ByReference parampfds
        end local 3 // int timeout
        end local 2 // int nfds
        end local 1 // jtermios.Pollfd[] fds
        end local 0 // jtermios.linux.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   17     0       this  Ljtermios/linux/JTermiosImpl;
            0   17     1        fds  [Ljtermios/Pollfd;
            0   17     2       nfds  I
            0   17     3    timeout  I
            3   17     4  parampfds  Ljtermios/linux/JTermiosImpl$pollfd$ByReference;
            4   17     5       pfds  [Ljtermios/linux/JTermiosImpl$pollfd;
            5   10     6          i  I
           11   17     6        ret  I
           12   16     7          i  I
    MethodParameters:
         Name  Flags
      fds      
      nfds     
      timeout  

  public boolean canPoll();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jtermios.linux.JTermiosImpl this
         0: .line 598
            iconst_1
            ireturn
        end local 0 // jtermios.linux.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljtermios/linux/JTermiosImpl;

  public jtermios.JTermios$FDSet newFDSet();
    descriptor: ()Ljtermios/JTermios$FDSet;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jtermios.linux.JTermiosImpl this
         0: .line 602
            new jtermios.linux.JTermiosImpl$fd_set
            dup
            invokespecial jtermios.linux.JTermiosImpl$fd_set.<init>:()V
            areturn
        end local 0 // jtermios.linux.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljtermios/linux/JTermiosImpl;

  public int ioctl(int, int, int[]);
    descriptor: (II[I)I
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // jtermios.linux.JTermiosImpl this
        start local 1 // int fd
        start local 2 // int cmd
        start local 3 // int[] data
         0: .line 606
            getstatic jtermios.linux.JTermiosImpl.m_Clib:Ljtermios/linux/JTermiosImpl$C_lib;
            iload 1 /* fd */
            iload 2 /* cmd */
            aload 3 /* data */
            invokeinterface jtermios.linux.JTermiosImpl$C_lib.ioctl:(II[I)I
            ireturn
        end local 3 // int[] data
        end local 2 // int cmd
        end local 1 // int fd
        end local 0 // jtermios.linux.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljtermios/linux/JTermiosImpl;
            0    1     1    fd  I
            0    1     2   cmd  I
            0    1     3  data  [I
    MethodParameters:
      Name  Flags
      fd    
      cmd   
      data  

  private int ioctl(int, int, jtermios.linux.JTermiosImpl$serial_struct);
    descriptor: (IILjtermios/linux/JTermiosImpl$serial_struct;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // jtermios.linux.JTermiosImpl this
        start local 1 // int fd
        start local 2 // int cmd
        start local 3 // jtermios.linux.JTermiosImpl$serial_struct data
         0: .line 612
            getstatic jtermios.JTermios$JTermiosLogging.log:Z
            ifeq 1
            iconst_5
            ldc "> ioctl(%d,%d,%s)\n"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            iload 1 /* fd */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            iload 2 /* cmd */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            aload 3 /* data */
            aastore
            invokestatic jtermios.JTermios$JTermiosLogging.log:(ILjava/lang/String;[Ljava/lang/Object;)Z
            ifeq 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic jtermios.JTermios$JTermiosLogging.log:Z
         3: .line 613
            getstatic jtermios.linux.JTermiosImpl.m_Clib:Ljtermios/linux/JTermiosImpl$C_lib;
            iload 1 /* fd */
            iload 2 /* cmd */
            aload 3 /* data */
            invokeinterface jtermios.linux.JTermiosImpl$C_lib.ioctl:(IILjtermios/linux/JTermiosImpl$serial_struct;)I
            istore 4 /* ret */
        start local 4 // int ret
         4: .line 614
            getstatic jtermios.JTermios$JTermiosLogging.log:Z
            ifeq 5
            iconst_3
            ldc "< tcsetattr(%d,%d,%s) => %d\n"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            iload 1 /* fd */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            iload 2 /* cmd */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            aload 3 /* data */
            aastore
            dup
            iconst_3
            iload 4 /* ret */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic jtermios.JTermios$JTermiosLogging.log:(ILjava/lang/String;[Ljava/lang/Object;)Z
            ifeq 5
            iconst_1
            goto 6
      StackMap locals: int
      StackMap stack:
         5: iconst_0
      StackMap locals:
      StackMap stack: int
         6: putstatic jtermios.JTermios$JTermiosLogging.log:Z
         7: .line 615
            iload 4 /* ret */
            ireturn
        end local 4 // int ret
        end local 3 // jtermios.linux.JTermiosImpl$serial_struct data
        end local 2 // int cmd
        end local 1 // int fd
        end local 0 // jtermios.linux.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Ljtermios/linux/JTermiosImpl;
            0    8     1    fd  I
            0    8     2   cmd  I
            0    8     3  data  Ljtermios/linux/JTermiosImpl$serial_struct;
            4    8     4   ret  I
    MethodParameters:
      Name  Flags
      fd    
      cmd   
      data  

  public java.lang.String getPortNamePattern();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=1
        start local 0 // jtermios.linux.JTermiosImpl this
         0: .line 621
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* prefixes */
        start local 1 // java.util.List prefixes
         1: .line 624
            new java.io.BufferedReader
            dup
            new java.io.InputStreamReader
            dup
            new java.io.FileInputStream
            dup
            ldc "/proc/tty/drivers"
            invokespecial java.io.FileInputStream.<init>:(Ljava/lang/String;)V
            ldc "US-ASCII"
            invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;Ljava/lang/String;)V
            invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
            astore 2 /* drivers */
        start local 2 // java.io.BufferedReader drivers
         2: .line 626
            goto 11
        start local 3 // java.lang.String line
         3: .line 630
      StackMap locals: java.util.List java.io.BufferedReader java.lang.String
      StackMap stack:
            aload 3 /* line */
            ldc " +"
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 4 /* parts */
        start local 4 // java.lang.String[] parts
         4: .line 631
            aload 4 /* parts */
            arraylength
            iconst_5
            if_icmpeq 6
         5: .line 632
            goto 11
         6: .line 635
      StackMap locals: java.lang.String[]
      StackMap stack:
            ldc "serial"
            aload 4 /* parts */
            iconst_4
            aaload
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 8
         7: .line 636
            goto 11
         8: .line 640
      StackMap locals:
      StackMap stack:
            aload 4 /* parts */
            iconst_1
            aaload
            ldc "/dev/"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 10
         9: .line 641
            goto 11
        10: .line 644
      StackMap locals:
      StackMap stack:
            aload 1 /* prefixes */
            aload 4 /* parts */
            iconst_1
            aaload
            iconst_5
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // java.lang.String[] parts
        end local 3 // java.lang.String line
        11: .line 626
      StackMap locals:
      StackMap stack:
            aload 2 /* drivers */
            invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
            dup
            astore 3 /* line */
        start local 3 // java.lang.String line
        12: ifnonnull 3
        13: .line 646
            aload 2 /* drivers */
            invokevirtual java.io.BufferedReader.close:()V
        end local 3 // java.lang.String line
        end local 2 // java.io.BufferedReader drivers
        14: .line 647
            goto 22
      StackMap locals: jtermios.linux.JTermiosImpl java.util.List
      StackMap stack: java.io.IOException
        15: pop
        16: .line 648
            getstatic jtermios.JTermios$JTermiosLogging.log:Z
            ifeq 17
            iconst_1
            ldc "failed to read /proc/tty/drivers\n"
            iconst_0
            anewarray java.lang.Object
            invokestatic jtermios.JTermios$JTermiosLogging.log:(ILjava/lang/String;[Ljava/lang/Object;)Z
            ifeq 17
            iconst_1
            goto 18
      StackMap locals:
      StackMap stack:
        17: iconst_0
      StackMap locals:
      StackMap stack: int
        18: putstatic jtermios.JTermios$JTermiosLogging.log:Z
        19: .line 650
            aload 1 /* prefixes */
            ldc "ttyS"
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        20: .line 651
            aload 1 /* prefixes */
            ldc "ttyUSB"
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        21: .line 652
            aload 1 /* prefixes */
            ldc "ttyACM"
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        22: .line 656
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* pattern */
        start local 2 // java.lang.StringBuilder pattern
        23: .line 658
            aload 2 /* pattern */
            bipush 94
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        24: .line 660
            iconst_1
            istore 3 /* first */
        start local 3 // boolean first
        25: .line 661
            aload 1 /* prefixes */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 34
      StackMap locals: jtermios.linux.JTermiosImpl java.util.List java.lang.StringBuilder int top java.util.Iterator
      StackMap stack:
        26: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* prefix */
        start local 4 // java.lang.String prefix
        27: .line 662
            iload 3 /* first */
            ifeq 30
        28: .line 663
            iconst_0
            istore 3 /* first */
        29: .line 664
            goto 31
        30: .line 665
      StackMap locals: jtermios.linux.JTermiosImpl java.util.List java.lang.StringBuilder int java.lang.String java.util.Iterator
      StackMap stack:
            aload 2 /* pattern */
            bipush 124
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        31: .line 668
      StackMap locals:
      StackMap stack:
            aload 2 /* pattern */
            ldc "("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        32: .line 669
            aload 2 /* pattern */
            aload 4 /* prefix */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        33: .line 670
            aload 2 /* pattern */
            ldc ".+)"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 4 // java.lang.String prefix
        34: .line 661
      StackMap locals: jtermios.linux.JTermiosImpl java.util.List java.lang.StringBuilder int top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 26
        35: .line 673
            aload 2 /* pattern */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 3 // boolean first
        end local 2 // java.lang.StringBuilder pattern
        end local 1 // java.util.List prefixes
        end local 0 // jtermios.linux.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   36     0      this  Ljtermios/linux/JTermiosImpl;
            1   36     1  prefixes  Ljava/util/List<Ljava/lang/String;>;
            2   14     2   drivers  Ljava/io/BufferedReader;
            3   11     3      line  Ljava/lang/String;
           12   14     3      line  Ljava/lang/String;
            4   11     4     parts  [Ljava/lang/String;
           23   36     2   pattern  Ljava/lang/StringBuilder;
           25   36     3     first  Z
           27   34     4    prefix  Ljava/lang/String;
      Exception table:
        from    to  target  type
           1    14      15  Class java.io.IOException

  public java.util.List<java.lang.String> getPortList();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=7, args_size=1
        start local 0 // jtermios.linux.JTermiosImpl this
         0: .line 677
            new java.io.File
            dup
            getstatic jtermios.linux.JTermiosImpl.DEVICE_DIR_PATH:Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 1 /* dir */
        start local 1 // java.io.File dir
         1: .line 678
            aload 1 /* dir */
            invokevirtual java.io.File.isDirectory:()Z
            ifne 6
         2: .line 679
            getstatic jtermios.JTermios$JTermiosLogging.log:Z
            ifeq 3
            iconst_1
            ldc "device directory %s does not exist\n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            getstatic jtermios.linux.JTermiosImpl.DEVICE_DIR_PATH:Ljava/lang/String;
            aastore
            invokestatic jtermios.JTermios$JTermiosLogging.log:(ILjava/lang/String;[Ljava/lang/Object;)Z
            ifeq 3
            iconst_1
            goto 4
      StackMap locals: java.io.File
      StackMap stack:
         3: iconst_0
      StackMap locals:
      StackMap stack: int
         4: putstatic jtermios.JTermios$JTermiosLogging.log:Z
         5: .line 680
            aconst_null
            areturn
         6: .line 682
      StackMap locals:
      StackMap stack:
            aload 1 /* dir */
            invokevirtual java.io.File.list:()[Ljava/lang/String;
            astore 2 /* devs */
        start local 2 // java.lang.String[] devs
         7: .line 683
            new java.util.LinkedList
            dup
            invokespecial java.util.LinkedList.<init>:()V
            astore 3 /* list */
        start local 3 // java.util.LinkedList list
         8: .line 685
            aload 0 /* this */
            invokestatic jtermios.JTermios.getPortNamePattern:(Ljtermios/JTermios$JTermiosInterface;)Ljava/util/regex/Pattern;
            astore 4 /* p */
        start local 4 // java.util.regex.Pattern p
         9: .line 686
            aload 2 /* devs */
            ifnull 17
        10: .line 687
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        11: goto 16
        12: .line 688
      StackMap locals: jtermios.linux.JTermiosImpl java.io.File java.lang.String[] java.util.LinkedList java.util.regex.Pattern int
      StackMap stack:
            aload 2 /* devs */
            iload 5 /* i */
            aaload
            astore 6 /* s */
        start local 6 // java.lang.String s
        13: .line 689
            aload 4 /* p */
            aload 6 /* s */
            invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
            invokevirtual java.util.regex.Matcher.matches:()Z
            ifeq 15
        14: .line 690
            aload 3 /* list */
            aload 6 /* s */
            invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // java.lang.String s
        15: .line 687
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 5 /* i */
            aload 2 /* devs */
            arraylength
            if_icmplt 12
        end local 5 // int i
        17: .line 694
      StackMap locals:
      StackMap stack:
            aload 3 /* list */
            areturn
        end local 4 // java.util.regex.Pattern p
        end local 3 // java.util.LinkedList list
        end local 2 // java.lang.String[] devs
        end local 1 // java.io.File dir
        end local 0 // jtermios.linux.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   18     0  this  Ljtermios/linux/JTermiosImpl;
            1   18     1   dir  Ljava/io/File;
            7   18     2  devs  [Ljava/lang/String;
            8   18     3  list  Ljava/util/LinkedList<Ljava/lang/String;>;
            9   18     4     p  Ljava/util/regex/Pattern;
           11   17     5     i  I
           13   15     6     s  Ljava/lang/String;
    Signature: ()Ljava/util/List<Ljava/lang/String;>;

  public void shutDown();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // jtermios.linux.JTermiosImpl this
         0: .line 699
            return
        end local 0 // jtermios.linux.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljtermios/linux/JTermiosImpl;

  public int setspeed(int, jtermios.Termios, int);
    descriptor: (ILjtermios/Termios;I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=8, args_size=4
        start local 0 // jtermios.linux.JTermiosImpl this
        start local 1 // int fd
        start local 2 // jtermios.Termios termios
        start local 3 // int speed
         0: .line 702
            iload 3 /* speed */
            istore 4 /* c */
        start local 4 // int c
         1: .line 704
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         2: goto 18
         3: .line 705
      StackMap locals: jtermios.linux.JTermiosImpl int jtermios.Termios int int top int
      StackMap stack:
            getstatic jtermios.linux.JTermiosImpl.m_BaudRates:[I
            iload 6 /* i */
            iaload
            iload 3 /* speed */
            if_icmpne 17
         4: .line 709
            new jtermios.linux.JTermiosImpl$serial_struct
            dup
            invokespecial jtermios.linux.JTermiosImpl$serial_struct.<init>:()V
            astore 7 /* ss */
        start local 7 // jtermios.linux.JTermiosImpl$serial_struct ss
         5: .line 711
            aload 0 /* this */
            iload 1 /* fd */
            sipush 21534
            aload 7 /* ss */
            invokevirtual jtermios.linux.JTermiosImpl.ioctl:(IILjtermios/linux/JTermiosImpl$serial_struct;)I
            istore 5 /* r */
        start local 5 // int r
         6: .line 712
            iload 5 /* r */
            ifne 9
         7: .line 713
            aload 7 /* ss */
            dup
            getfield jtermios.linux.JTermiosImpl$serial_struct.flags:I
            sipush -4145
            iand
            putfield jtermios.linux.JTermiosImpl$serial_struct.flags:I
         8: .line 714
            aload 0 /* this */
            iload 1 /* fd */
            sipush 21535
            aload 7 /* ss */
            invokevirtual jtermios.linux.JTermiosImpl.ioctl:(IILjtermios/linux/JTermiosImpl$serial_struct;)I
            istore 5 /* r */
         9: .line 718
      StackMap locals: jtermios.linux.JTermiosImpl int jtermios.Termios int int int int jtermios.linux.JTermiosImpl$serial_struct
      StackMap stack:
            getstatic jtermios.linux.JTermiosImpl.m_BaudRates:[I
            iload 6 /* i */
            iconst_1
            iadd
            iaload
            istore 4 /* c */
        10: .line 719
            aload 2 /* termios */
            iload 4 /* c */
            invokestatic jtermios.JTermios.cfsetispeed:(Ljtermios/Termios;I)I
            dup
            istore 5 /* r */
            ifeq 12
        11: .line 720
            iload 5 /* r */
            ireturn
        12: .line 722
      StackMap locals:
      StackMap stack:
            aload 2 /* termios */
            iload 4 /* c */
            invokestatic jtermios.JTermios.cfsetospeed:(Ljtermios/Termios;I)I
            dup
            istore 5 /* r */
            ifeq 14
        13: .line 723
            iload 5 /* r */
            ireturn
        14: .line 725
      StackMap locals:
      StackMap stack:
            iload 1 /* fd */
            getstatic jtermios.JTermios.TCSANOW:I
            aload 2 /* termios */
            invokestatic jtermios.JTermios.tcsetattr:(IILjtermios/Termios;)I
            dup
            istore 5 /* r */
            ifeq 16
        15: .line 726
            iload 5 /* r */
            ireturn
        16: .line 729
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 7 // jtermios.linux.JTermiosImpl$serial_struct ss
        end local 5 // int r
        17: .line 704
      StackMap locals: jtermios.linux.JTermiosImpl int jtermios.Termios int int top int
      StackMap stack:
            iinc 6 /* i */ 2
      StackMap locals:
      StackMap stack:
        18: iload 6 /* i */
            getstatic jtermios.linux.JTermiosImpl.m_BaudRates:[I
            arraylength
            if_icmplt 3
        end local 6 // int i
        19: .line 735
            new jtermios.linux.JTermiosImpl$serial_struct
            dup
            invokespecial jtermios.linux.JTermiosImpl$serial_struct.<init>:()V
            astore 6 /* ss */
        start local 6 // jtermios.linux.JTermiosImpl$serial_struct ss
        20: .line 736
            aload 0 /* this */
            iload 1 /* fd */
            sipush 21534
            aload 6 /* ss */
            invokevirtual jtermios.linux.JTermiosImpl.ioctl:(IILjtermios/linux/JTermiosImpl$serial_struct;)I
            dup
            istore 5 /* r */
        start local 5 // int r
        21: ifeq 23
        22: .line 737
            iload 5 /* r */
            ireturn
        23: .line 739
      StackMap locals: jtermios.linux.JTermiosImpl int jtermios.Termios int int int jtermios.linux.JTermiosImpl$serial_struct
      StackMap stack:
            aload 6 /* ss */
            aload 6 /* ss */
            getfield jtermios.linux.JTermiosImpl$serial_struct.flags:I
            sipush -4145
            iand
            bipush 48
            ior
            putfield jtermios.linux.JTermiosImpl$serial_struct.flags:I
        24: .line 741
            iload 3 /* speed */
            ifne 29
        25: .line 742
            getstatic jtermios.JTermios$JTermiosLogging.log:Z
            ifeq 26
            iconst_1
            ldc "unable to set custom baudrate %d \n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 3 /* speed */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic jtermios.JTermios$JTermiosLogging.log:(ILjava/lang/String;[Ljava/lang/Object;)Z
            ifeq 26
            iconst_1
            goto 27
      StackMap locals:
      StackMap stack:
        26: iconst_0
      StackMap locals:
      StackMap stack: int
        27: putstatic jtermios.JTermios$JTermiosLogging.log:Z
        28: .line 743
            iconst_m1
            ireturn
        29: .line 746
      StackMap locals:
      StackMap stack:
            aload 6 /* ss */
            aload 6 /* ss */
            getfield jtermios.linux.JTermiosImpl$serial_struct.baud_base:I
            iload 3 /* speed */
            iconst_2
            idiv
            iadd
            iload 3 /* speed */
            idiv
            putfield jtermios.linux.JTermiosImpl$serial_struct.custom_divisor:I
        30: .line 748
            aload 6 /* ss */
            getfield jtermios.linux.JTermiosImpl$serial_struct.custom_divisor:I
            ifne 35
        31: .line 749
            getstatic jtermios.JTermios$JTermiosLogging.log:Z
            ifeq 32
            iconst_1
            ldc "unable to set custom baudrate %d (possible division by zero)\n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 3 /* speed */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic jtermios.JTermios$JTermiosLogging.log:(ILjava/lang/String;[Ljava/lang/Object;)Z
            ifeq 32
            iconst_1
            goto 33
      StackMap locals:
      StackMap stack:
        32: iconst_0
      StackMap locals:
      StackMap stack: int
        33: putstatic jtermios.JTermios$JTermiosLogging.log:Z
        34: .line 750
            iconst_m1
            ireturn
        35: .line 753
      StackMap locals:
      StackMap stack:
            aload 6 /* ss */
            getfield jtermios.linux.JTermiosImpl$serial_struct.baud_base:I
            aload 6 /* ss */
            getfield jtermios.linux.JTermiosImpl$serial_struct.custom_divisor:I
            idiv
            istore 7 /* closestSpeed */
        start local 7 // int closestSpeed
        36: .line 755
            iload 7 /* closestSpeed */
            iload 3 /* speed */
            bipush 98
            imul
            bipush 100
            idiv
            if_icmplt 37
            iload 7 /* closestSpeed */
            iload 3 /* speed */
            bipush 102
            imul
            bipush 100
            idiv
            if_icmple 41
        37: .line 756
      StackMap locals: int
      StackMap stack:
            getstatic jtermios.JTermios$JTermiosLogging.log:Z
            ifeq 38
            iconst_1
            ldc "best available baudrate %d not close enough to requested %d \n"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            iload 7 /* closestSpeed */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            iload 3 /* speed */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic jtermios.JTermios$JTermiosLogging.log:(ILjava/lang/String;[Ljava/lang/Object;)Z
            ifeq 38
            iconst_1
            goto 39
      StackMap locals:
      StackMap stack:
        38: iconst_0
      StackMap locals:
      StackMap stack: int
        39: putstatic jtermios.JTermios$JTermiosLogging.log:Z
        40: .line 757
            iconst_m1
            ireturn
        41: .line 760
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* fd */
            sipush 21535
            aload 6 /* ss */
            invokevirtual jtermios.linux.JTermiosImpl.ioctl:(IILjtermios/linux/JTermiosImpl$serial_struct;)I
            dup
            istore 5 /* r */
            ifeq 43
        42: .line 761
            iload 5 /* r */
            ireturn
        43: .line 764
      StackMap locals:
      StackMap stack:
            aload 2 /* termios */
            getstatic jtermios.JTermios.B38400:I
            invokestatic jtermios.JTermios.cfsetispeed:(Ljtermios/Termios;I)I
            dup
            istore 5 /* r */
            ifeq 45
        44: .line 765
            iload 5 /* r */
            ireturn
        45: .line 767
      StackMap locals:
      StackMap stack:
            aload 2 /* termios */
            getstatic jtermios.JTermios.B38400:I
            invokestatic jtermios.JTermios.cfsetospeed:(Ljtermios/Termios;I)I
            dup
            istore 5 /* r */
            ifeq 47
        46: .line 768
            iload 5 /* r */
            ireturn
        47: .line 770
      StackMap locals:
      StackMap stack:
            iload 1 /* fd */
            getstatic jtermios.JTermios.TCSANOW:I
            aload 2 /* termios */
            invokestatic jtermios.JTermios.tcsetattr:(IILjtermios/Termios;)I
            dup
            istore 5 /* r */
            ifeq 49
        48: .line 771
            iload 5 /* r */
            ireturn
        49: .line 773
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 7 // int closestSpeed
        end local 6 // jtermios.linux.JTermiosImpl$serial_struct ss
        end local 5 // int r
        end local 4 // int c
        end local 3 // int speed
        end local 2 // jtermios.Termios termios
        end local 1 // int fd
        end local 0 // jtermios.linux.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   50     0          this  Ljtermios/linux/JTermiosImpl;
            0   50     1            fd  I
            0   50     2       termios  Ljtermios/Termios;
            0   50     3         speed  I
            1   50     4             c  I
            6   17     5             r  I
           21   50     5             r  I
            2   19     6             i  I
            5   17     7            ss  Ljtermios/linux/JTermiosImpl$serial_struct;
           20   50     6            ss  Ljtermios/linux/JTermiosImpl$serial_struct;
           36   50     7  closestSpeed  I
    MethodParameters:
         Name  Flags
      fd       
      termios  
      speed    

  public int pipe(int[]);
    descriptor: ([I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jtermios.linux.JTermiosImpl this
        start local 1 // int[] fds
         0: .line 777
            getstatic jtermios.linux.JTermiosImpl.m_Clib:Ljtermios/linux/JTermiosImpl$C_lib;
            aload 1 /* fds */
            invokeinterface jtermios.linux.JTermiosImpl$C_lib.pipe:([I)I
            ireturn
        end local 1 // int[] fds
        end local 0 // jtermios.linux.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljtermios/linux/JTermiosImpl;
            0    1     1   fds  [I
    MethodParameters:
      Name  Flags
      fds   
}
SourceFile: "JTermiosImpl.java"
NestMembers:
  jtermios.linux.JTermiosImpl$C_lib  jtermios.linux.JTermiosImpl$C_lib_DirectMapping  jtermios.linux.JTermiosImpl$NonDirectCLib  jtermios.linux.JTermiosImpl$fd_set  jtermios.linux.JTermiosImpl$pollfd  jtermios.linux.JTermiosImpl$pollfd$ByReference  jtermios.linux.JTermiosImpl$serial_struct  jtermios.linux.JTermiosImpl$termios  jtermios.linux.JTermiosImpl$timeval
InnerClasses:
  public abstract FDSet = jtermios.JTermios$FDSet of jtermios.JTermios
  public abstract JTermiosInterface = jtermios.JTermios$JTermiosInterface of jtermios.JTermios
  public NativeSize = jtermios.JTermios$JTermiosInterface$NativeSize of jtermios.JTermios$JTermiosInterface
  public JTermiosLogging = jtermios.JTermios$JTermiosLogging of jtermios.JTermios
  public abstract C_lib = jtermios.linux.JTermiosImpl$C_lib of jtermios.linux.JTermiosImpl
  public C_lib_DirectMapping = jtermios.linux.JTermiosImpl$C_lib_DirectMapping of jtermios.linux.JTermiosImpl
  public abstract NonDirectCLib = jtermios.linux.JTermiosImpl$NonDirectCLib of jtermios.linux.JTermiosImpl
  public fd_set = jtermios.linux.JTermiosImpl$fd_set of jtermios.linux.JTermiosImpl
  public pollfd = jtermios.linux.JTermiosImpl$pollfd of jtermios.linux.JTermiosImpl
  public ByReference = jtermios.linux.JTermiosImpl$pollfd$ByReference of jtermios.linux.JTermiosImpl$pollfd
  public serial_struct = jtermios.linux.JTermiosImpl$serial_struct of jtermios.linux.JTermiosImpl
  public termios = jtermios.linux.JTermiosImpl$termios of jtermios.linux.JTermiosImpl
  public timeval = jtermios.linux.JTermiosImpl$timeval of jtermios.linux.JTermiosImpl