public class jtermios.solaris.JTermiosImpl implements jtermios.JTermios$JTermiosInterface
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: jtermios.solaris.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.solaris.JTermiosImpl$C_lib_DirectMapping m_ClibDM;
    descriptor: Ljtermios/solaris/JTermiosImpl$C_lib_DirectMapping;
    flags: (0x0008) ACC_STATIC

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

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 49
            ldc "/dev/"
            putstatic jtermios.solaris.JTermiosImpl.DEVICE_DIR_PATH:Ljava/lang/String;
         1: .line 55
            iconst_1
            invokestatic com.sun.jna.Native.setPreserveLastError:(Z)V
         2: .line 56
            getstatic com.sun.jna.Platform.C_LIBRARY_NAME:Ljava/lang/String;
            ldc Ljtermios/solaris/JTermiosImpl$NonDirectCLib;
            invokestatic com.sun.jna.Native.loadLibrary:(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
            checkcast jtermios.solaris.JTermiosImpl$NonDirectCLib
            putstatic jtermios.solaris.JTermiosImpl.m_ClibND:Ljtermios/solaris/JTermiosImpl$NonDirectCLib;
         3: .line 57
            ldc Ljtermios/solaris/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 58
            new jtermios.solaris.JTermiosImpl$C_lib_DirectMapping
            dup
            invokespecial jtermios.solaris.JTermiosImpl$C_lib_DirectMapping.<init>:()V
            putstatic jtermios.solaris.JTermiosImpl.m_ClibDM:Ljtermios/solaris/JTermiosImpl$C_lib_DirectMapping;
         5: .line 59
            getstatic jtermios.solaris.JTermiosImpl.m_ClibDM:Ljtermios/solaris/JTermiosImpl$C_lib_DirectMapping;
            putstatic jtermios.solaris.JTermiosImpl.m_Clib:Ljtermios/solaris/JTermiosImpl$C_lib;
         6: .line 60
            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.solaris.JTermiosImpl this
         0: .line 272
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 273
            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.solaris.JTermiosImpl
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: putstatic jtermios.JTermios$JTermiosLogging.log:Z
         4: .line 276
            ldc 1074030207
            putstatic jtermios.JTermios.FIONREAD:I
         5: .line 279
            iconst_2
            putstatic jtermios.JTermios.O_RDWR:I
         6: .line 280
            sipush 128
            putstatic jtermios.JTermios.O_NONBLOCK:I
         7: .line 281
            sipush 2048
            putstatic jtermios.JTermios.O_NOCTTY:I
         8: .line 282
            iconst_4
            putstatic jtermios.JTermios.O_NDELAY:I
         9: .line 283
            iconst_3
            putstatic jtermios.JTermios.F_GETFL:I
        10: .line 284
            iconst_4
            putstatic jtermios.JTermios.F_SETFL:I
        11: .line 287
            bipush 11
            putstatic jtermios.JTermios.EAGAIN:I
        12: .line 288
            bipush 9
            putstatic jtermios.JTermios.EBADF:I
        13: .line 289
            bipush 22
            putstatic jtermios.JTermios.EACCES:I
        14: .line 290
            bipush 17
            putstatic jtermios.JTermios.EEXIST:I
        15: .line 291
            iconst_4
            putstatic jtermios.JTermios.EINTR:I
        16: .line 292
            bipush 22
            putstatic jtermios.JTermios.EINVAL:I
        17: .line 293
            iconst_5
            putstatic jtermios.JTermios.EIO:I
        18: .line 294
            bipush 21
            putstatic jtermios.JTermios.EISDIR:I
        19: .line 295
            bipush 90
            putstatic jtermios.JTermios.ELOOP:I
        20: .line 296
            bipush 24
            putstatic jtermios.JTermios.EMFILE:I
        21: .line 297
            bipush 78
            putstatic jtermios.JTermios.ENAMETOOLONG:I
        22: .line 298
            bipush 23
            putstatic jtermios.JTermios.ENFILE:I
        23: .line 299
            iconst_2
            putstatic jtermios.JTermios.ENOENT:I
        24: .line 300
            bipush 63
            putstatic jtermios.JTermios.ENOSR:I
        25: .line 301
            bipush 28
            putstatic jtermios.JTermios.ENOSPC:I
        26: .line 302
            bipush 20
            putstatic jtermios.JTermios.ENOTDIR:I
        27: .line 303
            bipush 6
            putstatic jtermios.JTermios.ENXIO:I
        28: .line 304
            bipush 79
            putstatic jtermios.JTermios.EOVERFLOW:I
        29: .line 305
            bipush 30
            putstatic jtermios.JTermios.EROFS:I
        30: .line 306
            bipush 48
            putstatic jtermios.JTermios.ENOTSUP:I
        31: .line 309
            sipush 128
            putstatic jtermios.JTermios.TIOCM_RNG:I
        32: .line 310
            bipush 64
            putstatic jtermios.JTermios.TIOCM_CAR:I
        33: .line 311
            iconst_1
            putstatic jtermios.JTermios.IGNBRK:I
        34: .line 312
            iconst_2
            putstatic jtermios.JTermios.BRKINT:I
        35: .line 313
            iconst_4
            putstatic jtermios.JTermios.IGNPAR:I
        36: .line 314
            bipush 8
            putstatic jtermios.JTermios.PARMRK:I
        37: .line 315
            bipush 64
            putstatic jtermios.JTermios.INLCR:I
        38: .line 316
            sipush 128
            putstatic jtermios.JTermios.IGNCR:I
        39: .line 317
            sipush 256
            putstatic jtermios.JTermios.ICRNL:I
        40: .line 318
            bipush 64
            putstatic jtermios.JTermios.ECHONL:I
        41: .line 319
            ldc 32768
            putstatic jtermios.JTermios.IEXTEN:I
        42: .line 320
            sipush 2048
            putstatic jtermios.JTermios.CLOCAL:I
        43: .line 321
            iconst_1
            putstatic jtermios.JTermios.OPOST:I
        44: .line 322
            bipush 8
            putstatic jtermios.JTermios.VSTART:I
        45: .line 323
            sipush 21518
            putstatic jtermios.JTermios.TCSANOW:I
        46: .line 324
            bipush 9
            putstatic jtermios.JTermios.VSTOP:I
        47: .line 325
            iconst_4
            putstatic jtermios.JTermios.VMIN:I
        48: .line 326
            iconst_5
            putstatic jtermios.JTermios.VTIME:I
        49: .line 327
            iconst_4
            putstatic jtermios.JTermios.VEOF:I
        50: .line 328
            sipush 29725
            putstatic jtermios.JTermios.TIOCMGET:I
        51: .line 329
            bipush 32
            putstatic jtermios.JTermios.TIOCM_CTS:I
        52: .line 330
            sipush 256
            putstatic jtermios.JTermios.TIOCM_DSR:I
        53: .line 331
            sipush 128
            putstatic jtermios.JTermios.TIOCM_RI:I
        54: .line 332
            bipush 64
            putstatic jtermios.JTermios.TIOCM_CD:I
        55: .line 333
            iconst_2
            putstatic jtermios.JTermios.TIOCM_DTR:I
        56: .line 334
            iconst_4
            putstatic jtermios.JTermios.TIOCM_RTS:I
        57: .line 335
            iconst_2
            putstatic jtermios.JTermios.ICANON:I
        58: .line 336
            bipush 8
            putstatic jtermios.JTermios.ECHO:I
        59: .line 337
            bipush 16
            putstatic jtermios.JTermios.ECHOE:I
        60: .line 338
            iconst_1
            putstatic jtermios.JTermios.ISIG:I
        61: .line 339
            sipush 29722
            putstatic jtermios.JTermios.TIOCMSET:I
        62: .line 340
            sipush 1024
            putstatic jtermios.JTermios.IXON:I
        63: .line 341
            sipush 4096
            putstatic jtermios.JTermios.IXOFF:I
        64: .line 342
            sipush 2048
            putstatic jtermios.JTermios.IXANY:I
        65: .line 343
            ldc -2147483648
            putstatic jtermios.JTermios.CRTSCTS:I
        66: .line 344
            sipush 21519
            putstatic jtermios.JTermios.TCSADRAIN:I
        67: .line 345
            bipush 16
            putstatic jtermios.JTermios.INPCK:I
        68: .line 346
            bipush 32
            putstatic jtermios.JTermios.ISTRIP:I
        69: .line 347
            bipush 48
            putstatic jtermios.JTermios.CSIZE:I
        70: .line 348
            iconst_0
            putstatic jtermios.JTermios.TCIFLUSH:I
        71: .line 349
            iconst_1
            putstatic jtermios.JTermios.TCOFLUSH:I
        72: .line 350
            iconst_2
            putstatic jtermios.JTermios.TCIOFLUSH:I
        73: .line 351
            iconst_0
            putstatic jtermios.JTermios.CS5:I
        74: .line 352
            bipush 16
            putstatic jtermios.JTermios.CS6:I
        75: .line 353
            bipush 32
            putstatic jtermios.JTermios.CS7:I
        76: .line 354
            bipush 48
            putstatic jtermios.JTermios.CS8:I
        77: .line 355
            bipush 64
            putstatic jtermios.JTermios.CSTOPB:I
        78: .line 356
            sipush 128
            putstatic jtermios.JTermios.CREAD:I
        79: .line 357
            sipush 256
            putstatic jtermios.JTermios.PARENB:I
        80: .line 358
            sipush 512
            putstatic jtermios.JTermios.PARODD:I
        81: .line 359
            iconst_0
            putstatic jtermios.JTermios.B0:I
        82: .line 360
            iconst_1
            putstatic jtermios.JTermios.B50:I
        83: .line 361
            iconst_2
            putstatic jtermios.JTermios.B75:I
        84: .line 362
            iconst_3
            putstatic jtermios.JTermios.B110:I
        85: .line 363
            iconst_4
            putstatic jtermios.JTermios.B134:I
        86: .line 364
            iconst_5
            putstatic jtermios.JTermios.B150:I
        87: .line 365
            bipush 6
            putstatic jtermios.JTermios.B200:I
        88: .line 366
            bipush 7
            putstatic jtermios.JTermios.B300:I
        89: .line 367
            bipush 8
            putstatic jtermios.JTermios.B600:I
        90: .line 368
            bipush 8
            putstatic jtermios.JTermios.B1200:I
        91: .line 369
            bipush 10
            putstatic jtermios.JTermios.B1800:I
        92: .line 370
            bipush 11
            putstatic jtermios.JTermios.B2400:I
        93: .line 371
            bipush 12
            putstatic jtermios.JTermios.B4800:I
        94: .line 372
            bipush 13
            putstatic jtermios.JTermios.B9600:I
        95: .line 373
            bipush 14
            putstatic jtermios.JTermios.B19200:I
        96: .line 374
            bipush 15
            putstatic jtermios.JTermios.B38400:I
        97: .line 375
            bipush 16
            putstatic jtermios.JTermios.B57600:I
        98: .line 376
            bipush 17
            putstatic jtermios.JTermios.B76800:I
        99: .line 377
            bipush 18
            putstatic jtermios.JTermios.B115200:I
       100: .line 378
            bipush 20
            putstatic jtermios.JTermios.B230400:I
       101: .line 381
            iconst_1
            putstatic jtermios.JTermios.POLLIN:S
       102: .line 382
            iconst_2
            putstatic jtermios.JTermios.POLLPRI:S
       103: .line 383
            iconst_4
            putstatic jtermios.JTermios.POLLOUT:S
       104: .line 384
            bipush 8
            putstatic jtermios.JTermios.POLLERR:S
       105: .line 385
            bipush 32
            putstatic jtermios.JTermios.POLLNVAL:S
       106: .line 389
            return
        end local 0 // jtermios.solaris.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0  107     0  this  Ljtermios/solaris/JTermiosImpl;

  public int errno();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jtermios.solaris.JTermiosImpl this
         0: .line 392
            invokestatic com.sun.jna.Native.getLastError:()I
            ireturn
        end local 0 // jtermios.solaris.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljtermios/solaris/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.solaris.JTermiosImpl this
        start local 1 // jtermios.Termios termios
         0: .line 396
            new jtermios.solaris.JTermiosImpl$termios
            dup
            aload 1 /* termios */
            invokespecial jtermios.solaris.JTermiosImpl$termios.<init>:(Ljtermios/Termios;)V
            astore 2 /* t */
        start local 2 // jtermios.solaris.JTermiosImpl$termios t
         1: .line 397
            getstatic jtermios.solaris.JTermiosImpl.m_Clib:Ljtermios/solaris/JTermiosImpl$C_lib;
            aload 2 /* t */
            invokeinterface jtermios.solaris.JTermiosImpl$C_lib.cfmakeraw:(Ljtermios/solaris/JTermiosImpl$termios;)V
         2: .line 398
            aload 2 /* t */
            aload 1 /* termios */
            invokevirtual jtermios.solaris.JTermiosImpl$termios.update:(Ljtermios/Termios;)V
         3: .line 399
            return
        end local 2 // jtermios.solaris.JTermiosImpl$termios t
        end local 1 // jtermios.Termios termios
        end local 0 // jtermios.solaris.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Ljtermios/solaris/JTermiosImpl;
            0    4     1  termios  Ljtermios/Termios;
            1    4     2        t  Ljtermios/solaris/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.solaris.JTermiosImpl this
        start local 1 // int fd
        start local 2 // int cmd
        start local 3 // int arg
         0: .line 402
            getstatic jtermios.solaris.JTermiosImpl.m_Clib:Ljtermios/solaris/JTermiosImpl$C_lib;
            iload 1 /* fd */
            iload 2 /* cmd */
            iload 3 /* arg */
            invokeinterface jtermios.solaris.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.solaris.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljtermios/solaris/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.solaris.JTermiosImpl this
        start local 1 // int fd
         0: .line 406
            getstatic jtermios.solaris.JTermiosImpl.m_Clib:Ljtermios/solaris/JTermiosImpl$C_lib;
            iload 1 /* fd */
            invokeinterface jtermios.solaris.JTermiosImpl$C_lib.tcdrain:(I)I
            ireturn
        end local 1 // int fd
        end local 0 // jtermios.solaris.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljtermios/solaris/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.solaris.JTermiosImpl this
        start local 1 // jtermios.Termios termios
         0: .line 410
            getstatic jtermios.solaris.JTermiosImpl.m_Clib:Ljtermios/solaris/JTermiosImpl$C_lib;
            new jtermios.solaris.JTermiosImpl$termios
            dup
            aload 1 /* termios */
            invokespecial jtermios.solaris.JTermiosImpl$termios.<init>:(Ljtermios/Termios;)V
            invokeinterface jtermios.solaris.JTermiosImpl$C_lib.cfgetispeed:(Ljtermios/solaris/JTermiosImpl$termios;)Lcom/sun/jna/NativeLong;
            invokevirtual com.sun.jna.NativeLong.intValue:()I
            ireturn
        end local 1 // jtermios.Termios termios
        end local 0 // jtermios.solaris.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Ljtermios/solaris/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.solaris.JTermiosImpl this
        start local 1 // jtermios.Termios termios
         0: .line 414
            getstatic jtermios.solaris.JTermiosImpl.m_Clib:Ljtermios/solaris/JTermiosImpl$C_lib;
            new jtermios.solaris.JTermiosImpl$termios
            dup
            aload 1 /* termios */
            invokespecial jtermios.solaris.JTermiosImpl$termios.<init>:(Ljtermios/Termios;)V
            invokeinterface jtermios.solaris.JTermiosImpl$C_lib.cfgetospeed:(Ljtermios/solaris/JTermiosImpl$termios;)Lcom/sun/jna/NativeLong;
            invokevirtual com.sun.jna.NativeLong.intValue:()I
            ireturn
        end local 1 // jtermios.Termios termios
        end local 0 // jtermios.solaris.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Ljtermios/solaris/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=6, locals=5, args_size=3
        start local 0 // jtermios.solaris.JTermiosImpl this
        start local 1 // jtermios.Termios termios
        start local 2 // int speed
         0: .line 418
            new jtermios.solaris.JTermiosImpl$termios
            dup
            aload 1 /* termios */
            invokespecial jtermios.solaris.JTermiosImpl$termios.<init>:(Ljtermios/Termios;)V
            astore 3 /* t */
        start local 3 // jtermios.solaris.JTermiosImpl$termios t
         1: .line 419
            getstatic jtermios.solaris.JTermiosImpl.m_Clib:Ljtermios/solaris/JTermiosImpl$C_lib;
            aload 3 /* t */
            new com.sun.jna.NativeLong
            dup
            iload 2 /* speed */
            i2l
            invokespecial com.sun.jna.NativeLong.<init>:(J)V
            invokeinterface jtermios.solaris.JTermiosImpl$C_lib.cfsetispeed:(Ljtermios/solaris/JTermiosImpl$termios;Lcom/sun/jna/NativeLong;)I
            istore 4 /* ret */
        start local 4 // int ret
         2: .line 420
            aload 3 /* t */
            aload 1 /* termios */
            invokevirtual jtermios.solaris.JTermiosImpl$termios.update:(Ljtermios/Termios;)V
         3: .line 421
            iload 4 /* ret */
            ireturn
        end local 4 // int ret
        end local 3 // jtermios.solaris.JTermiosImpl$termios t
        end local 2 // int speed
        end local 1 // jtermios.Termios termios
        end local 0 // jtermios.solaris.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Ljtermios/solaris/JTermiosImpl;
            0    4     1  termios  Ljtermios/Termios;
            0    4     2    speed  I
            1    4     3        t  Ljtermios/solaris/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=6, locals=5, args_size=3
        start local 0 // jtermios.solaris.JTermiosImpl this
        start local 1 // jtermios.Termios termios
        start local 2 // int speed
         0: .line 425
            new jtermios.solaris.JTermiosImpl$termios
            dup
            aload 1 /* termios */
            invokespecial jtermios.solaris.JTermiosImpl$termios.<init>:(Ljtermios/Termios;)V
            astore 3 /* t */
        start local 3 // jtermios.solaris.JTermiosImpl$termios t
         1: .line 426
            getstatic jtermios.solaris.JTermiosImpl.m_Clib:Ljtermios/solaris/JTermiosImpl$C_lib;
            aload 3 /* t */
            new com.sun.jna.NativeLong
            dup
            iload 2 /* speed */
            i2l
            invokespecial com.sun.jna.NativeLong.<init>:(J)V
            invokeinterface jtermios.solaris.JTermiosImpl$C_lib.cfsetospeed:(Ljtermios/solaris/JTermiosImpl$termios;Lcom/sun/jna/NativeLong;)I
            istore 4 /* ret */
        start local 4 // int ret
         2: .line 427
            aload 3 /* t */
            aload 1 /* termios */
            invokevirtual jtermios.solaris.JTermiosImpl$termios.update:(Ljtermios/Termios;)V
         3: .line 428
            iload 4 /* ret */
            ireturn
        end local 4 // int ret
        end local 3 // jtermios.solaris.JTermiosImpl$termios t
        end local 2 // int speed
        end local 1 // jtermios.Termios termios
        end local 0 // jtermios.solaris.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Ljtermios/solaris/JTermiosImpl;
            0    4     1  termios  Ljtermios/Termios;
            0    4     2    speed  I
            1    4     3        t  Ljtermios/solaris/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.solaris.JTermiosImpl this
        start local 1 // java.lang.String s
        start local 2 // int t
         0: .line 432
            aload 1 /* s */
            ifnull 2
            aload 1 /* s */
            ldc "/"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 2
         1: .line 433
            new java.lang.StringBuilder
            dup
            getstatic jtermios.solaris.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 435
      StackMap locals:
      StackMap stack:
            getstatic jtermios.solaris.JTermiosImpl.m_Clib:Ljtermios/solaris/JTermiosImpl$C_lib;
            aload 1 /* s */
            iload 2 /* t */
            invokeinterface jtermios.solaris.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.solaris.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljtermios/solaris/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.solaris.JTermiosImpl this
        start local 1 // int fd
        start local 2 // byte[] buffer
        start local 3 // int len
         0: .line 439
            getstatic jtermios.solaris.JTermiosImpl.m_Clib:Ljtermios/solaris/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.solaris.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.solaris.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Ljtermios/solaris/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.solaris.JTermiosImpl this
        start local 1 // int fd
        start local 2 // byte[] buffer
        start local 3 // int len
         0: .line 443
            getstatic jtermios.solaris.JTermiosImpl.m_Clib:Ljtermios/solaris/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.solaris.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.solaris.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Ljtermios/solaris/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.solaris.JTermiosImpl this
        start local 1 // int fd
         0: .line 447
            getstatic jtermios.solaris.JTermiosImpl.m_Clib:Ljtermios/solaris/JTermiosImpl$C_lib;
            iload 1 /* fd */
            invokeinterface jtermios.solaris.JTermiosImpl$C_lib.close:(I)I
            ireturn
        end local 1 // int fd
        end local 0 // jtermios.solaris.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljtermios/solaris/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.solaris.JTermiosImpl this
        start local 1 // int fd
        start local 2 // int b
         0: .line 451
            getstatic jtermios.solaris.JTermiosImpl.m_Clib:Ljtermios/solaris/JTermiosImpl$C_lib;
            iload 1 /* fd */
            iload 2 /* b */
            invokeinterface jtermios.solaris.JTermiosImpl$C_lib.tcflush:(II)I
            ireturn
        end local 2 // int b
        end local 1 // int fd
        end local 0 // jtermios.solaris.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljtermios/solaris/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.solaris.JTermiosImpl this
        start local 1 // int fd
        start local 2 // jtermios.Termios termios
         0: .line 455
            new jtermios.solaris.JTermiosImpl$termios
            dup
            invokespecial jtermios.solaris.JTermiosImpl$termios.<init>:()V
            astore 3 /* t */
        start local 3 // jtermios.solaris.JTermiosImpl$termios t
         1: .line 456
            getstatic jtermios.solaris.JTermiosImpl.m_Clib:Ljtermios/solaris/JTermiosImpl$C_lib;
            iload 1 /* fd */
            aload 3 /* t */
            invokeinterface jtermios.solaris.JTermiosImpl$C_lib.tcgetattr:(ILjtermios/solaris/JTermiosImpl$termios;)I
            istore 4 /* ret */
        start local 4 // int ret
         2: .line 457
            aload 3 /* t */
            aload 2 /* termios */
            invokevirtual jtermios.solaris.JTermiosImpl$termios.update:(Ljtermios/Termios;)V
         3: .line 458
            iload 4 /* ret */
            ireturn
        end local 4 // int ret
        end local 3 // jtermios.solaris.JTermiosImpl$termios t
        end local 2 // jtermios.Termios termios
        end local 1 // int fd
        end local 0 // jtermios.solaris.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Ljtermios/solaris/JTermiosImpl;
            0    4     1       fd  I
            0    4     2  termios  Ljtermios/Termios;
            1    4     3        t  Ljtermios/solaris/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.solaris.JTermiosImpl this
        start local 1 // java.lang.String msg
         0: .line 462
            getstatic jtermios.solaris.JTermiosImpl.m_Clib:Ljtermios/solaris/JTermiosImpl$C_lib;
            aload 1 /* msg */
            invokeinterface jtermios.solaris.JTermiosImpl$C_lib.perror:(Ljava/lang/String;)V
         1: .line 463
            return
        end local 1 // java.lang.String msg
        end local 0 // jtermios.solaris.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljtermios/solaris/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.solaris.JTermiosImpl this
        start local 1 // int fd
        start local 2 // int duration
         0: .line 468
            getstatic jtermios.solaris.JTermiosImpl.m_Clib:Ljtermios/solaris/JTermiosImpl$C_lib;
            iload 1 /* fd */
            iload 2 /* duration */
            sipush 250
            idiv
            invokeinterface jtermios.solaris.JTermiosImpl$C_lib.tcsendbreak:(II)I
            ireturn
        end local 2 // int duration
        end local 1 // int fd
        end local 0 // jtermios.solaris.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Ljtermios/solaris/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.solaris.JTermiosImpl this
        start local 1 // int fd
        start local 2 // int cmd
        start local 3 // jtermios.Termios termios
         0: .line 472
            getstatic jtermios.solaris.JTermiosImpl.m_Clib:Ljtermios/solaris/JTermiosImpl$C_lib;
            iload 1 /* fd */
            iload 2 /* cmd */
            new jtermios.solaris.JTermiosImpl$termios
            dup
            aload 3 /* termios */
            invokespecial jtermios.solaris.JTermiosImpl$termios.<init>:(Ljtermios/Termios;)V
            invokeinterface jtermios.solaris.JTermiosImpl$C_lib.tcsetattr:(IILjtermios/solaris/JTermiosImpl$termios;)I
            ireturn
        end local 3 // jtermios.Termios termios
        end local 2 // int cmd
        end local 1 // int fd
        end local 0 // jtermios.solaris.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Ljtermios/solaris/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.solaris.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 476
            aconst_null
            astore 6 /* tout */
        start local 6 // jtermios.solaris.JTermiosImpl$timeval tout
         1: .line 477
            aload 5 /* timeout */
            ifnull 3
         2: .line 478
            new jtermios.solaris.JTermiosImpl$timeval
            dup
            aload 5 /* timeout */
            invokespecial jtermios.solaris.JTermiosImpl$timeval.<init>:(Ljtermios/TimeVal;)V
            astore 6 /* tout */
         3: .line 481
      StackMap locals: jtermios.solaris.JTermiosImpl$timeval
      StackMap stack:
            getstatic jtermios.solaris.JTermiosImpl.m_ClibND:Ljtermios/solaris/JTermiosImpl$NonDirectCLib;
            iload 1 /* nfds */
            aload 2 /* rfds */
            checkcast jtermios.solaris.JTermiosImpl$fd_set
            aload 3 /* wfds */
            checkcast jtermios.solaris.JTermiosImpl$fd_set
            aload 4 /* efds */
            checkcast jtermios.solaris.JTermiosImpl$fd_set
            aload 6 /* tout */
            invokeinterface jtermios.solaris.JTermiosImpl$NonDirectCLib.select:(ILjtermios/solaris/JTermiosImpl$fd_set;Ljtermios/solaris/JTermiosImpl$fd_set;Ljtermios/solaris/JTermiosImpl$fd_set;Ljtermios/solaris/JTermiosImpl$timeval;)I
            ireturn
        end local 6 // jtermios.solaris.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.solaris.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Ljtermios/solaris/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/solaris/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.solaris.JTermiosImpl this
        start local 1 // jtermios.Pollfd[] fds
        start local 2 // int nfds
        start local 3 // int timeout
         0: .line 485
            iload 2 /* nfds */
            ifle 1
            iload 2 /* nfds */
            aload 1 /* fds */
            arraylength
            if_icmple 2
         1: .line 486
      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 488
      StackMap locals:
      StackMap stack:
            new jtermios.solaris.JTermiosImpl$pollfd$ByReference
            dup
            invokespecial jtermios.solaris.JTermiosImpl$pollfd$ByReference.<init>:()V
            astore 4 /* parampfds */
        start local 4 // jtermios.solaris.JTermiosImpl$pollfd$ByReference parampfds
         3: .line 489
            aload 4 /* parampfds */
            iload 2 /* nfds */
            invokevirtual jtermios.solaris.JTermiosImpl$pollfd$ByReference.toArray:(I)[Lcom/sun/jna/Structure;
            checkcast jtermios.solaris.JTermiosImpl$pollfd[]
            astore 5 /* pfds */
        start local 5 // jtermios.solaris.JTermiosImpl$pollfd[] pfds
         4: .line 490
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         5: goto 9
         6: .line 491
      StackMap locals: jtermios.solaris.JTermiosImpl$pollfd$ByReference jtermios.solaris.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.solaris.JTermiosImpl$pollfd.fd:I
         7: .line 492
            aload 5 /* pfds */
            iload 6 /* i */
            aaload
            aload 1 /* fds */
            iload 6 /* i */
            aaload
            getfield jtermios.Pollfd.events:S
            putfield jtermios.solaris.JTermiosImpl$pollfd.events:S
         8: .line 490
            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 494
            getstatic jtermios.solaris.JTermiosImpl.m_ClibND:Ljtermios/solaris/JTermiosImpl$NonDirectCLib;
            aload 4 /* parampfds */
            iload 2 /* nfds */
            iload 3 /* timeout */
            invokeinterface jtermios.solaris.JTermiosImpl$NonDirectCLib.poll:(Ljtermios/solaris/JTermiosImpl$pollfd$ByReference;II)I
            istore 6 /* ret */
        start local 6 // int ret
        11: .line 495
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        12: goto 15
        13: .line 496
      StackMap locals: int
      StackMap stack:
            aload 1 /* fds */
            iload 7 /* i */
            aaload
            aload 5 /* pfds */
            iload 7 /* i */
            aaload
            getfield jtermios.solaris.JTermiosImpl$pollfd.revents:S
            putfield jtermios.Pollfd.revents:S
        14: .line 495
            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 498
            iload 6 /* ret */
            ireturn
        end local 6 // int ret
        end local 5 // jtermios.solaris.JTermiosImpl$pollfd[] pfds
        end local 4 // jtermios.solaris.JTermiosImpl$pollfd$ByReference parampfds
        end local 3 // int timeout
        end local 2 // int nfds
        end local 1 // jtermios.Pollfd[] fds
        end local 0 // jtermios.solaris.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   17     0       this  Ljtermios/solaris/JTermiosImpl;
            0   17     1        fds  [Ljtermios/Pollfd;
            0   17     2       nfds  I
            0   17     3    timeout  I
            3   17     4  parampfds  Ljtermios/solaris/JTermiosImpl$pollfd$ByReference;
            4   17     5       pfds  [Ljtermios/solaris/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.solaris.JTermiosImpl this
         0: .line 502
            iconst_1
            ireturn
        end local 0 // jtermios.solaris.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljtermios/solaris/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.solaris.JTermiosImpl this
         0: .line 506
            new jtermios.solaris.JTermiosImpl$fd_set
            dup
            invokespecial jtermios.solaris.JTermiosImpl$fd_set.<init>:()V
            areturn
        end local 0 // jtermios.solaris.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljtermios/solaris/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.solaris.JTermiosImpl this
        start local 1 // int fd
        start local 2 // int cmd
        start local 3 // int[] data
         0: .line 511
            getstatic jtermios.solaris.JTermiosImpl.m_Clib:Ljtermios/solaris/JTermiosImpl$C_lib;
            iload 1 /* fd */
            iload 2 /* cmd */
            aload 3 /* data */
            invokeinterface jtermios.solaris.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.solaris.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljtermios/solaris/JTermiosImpl;
            0    1     1    fd  I
            0    1     2   cmd  I
            0    1     3  data  [I
    MethodParameters:
      Name  Flags
      fd    
      cmd   
      data  

  public java.lang.String getPortNamePattern();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jtermios.solaris.JTermiosImpl this
         0: .line 515
            ldc ".*"
            areturn
        end local 0 // jtermios.solaris.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljtermios/solaris/JTermiosImpl;

  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.solaris.JTermiosImpl this
         0: .line 519
            new java.io.File
            dup
            getstatic jtermios.solaris.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 520
            aload 1 /* dir */
            invokevirtual java.io.File.isDirectory:()Z
            ifne 6
         2: .line 521
            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.solaris.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 522
            aconst_null
            areturn
         6: .line 524
      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 525
            new java.util.LinkedList
            dup
            invokespecial java.util.LinkedList.<init>:()V
            astore 3 /* list */
        start local 3 // java.util.LinkedList list
         8: .line 527
            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 528
            aload 2 /* devs */
            ifnull 17
        10: .line 529
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        11: goto 16
        12: .line 530
      StackMap locals: jtermios.solaris.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 531
            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 532
            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 529
      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 535
      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.solaris.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   18     0  this  Ljtermios/solaris/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.solaris.JTermiosImpl this
         0: .line 539
            return
        end local 0 // jtermios.solaris.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljtermios/solaris/JTermiosImpl;

  public int setspeed(int, jtermios.Termios, int);
    descriptor: (ILjtermios/Termios;I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // jtermios.solaris.JTermiosImpl this
        start local 1 // int fd
        start local 2 // jtermios.Termios termios
        start local 3 // int speed
         0: .line 542
            iload 3 /* speed */
            istore 4 /* br */
        start local 4 // int br
         1: .line 543
            iload 3 /* speed */
            lookupswitch { // 22
                   50: 2
                   75: 4
                  110: 6
                  134: 8
                  150: 10
                  200: 12
                  300: 14
                  600: 16
                 1200: 18
                 1800: 20
                 2400: 22
                 4800: 24
                 7200: 32
                 9600: 26
                14400: 34
                19200: 28
                28800: 36
                38400: 30
                57600: 38
                76800: 40
               115200: 42
               230400: 44
              default: 45
          }
         2: .line 545
      StackMap locals: int
      StackMap stack:
            getstatic jtermios.JTermios.B50:I
            istore 4 /* br */
         3: .line 546
            goto 45
         4: .line 548
      StackMap locals:
      StackMap stack:
            getstatic jtermios.JTermios.B75:I
            istore 4 /* br */
         5: .line 549
            goto 45
         6: .line 551
      StackMap locals:
      StackMap stack:
            getstatic jtermios.JTermios.B110:I
            istore 4 /* br */
         7: .line 552
            goto 45
         8: .line 554
      StackMap locals:
      StackMap stack:
            getstatic jtermios.JTermios.B134:I
            istore 4 /* br */
         9: .line 555
            goto 45
        10: .line 557
      StackMap locals:
      StackMap stack:
            getstatic jtermios.JTermios.B150:I
            istore 4 /* br */
        11: .line 558
            goto 45
        12: .line 560
      StackMap locals:
      StackMap stack:
            getstatic jtermios.JTermios.B200:I
            istore 4 /* br */
        13: .line 561
            goto 45
        14: .line 563
      StackMap locals:
      StackMap stack:
            getstatic jtermios.JTermios.B300:I
            istore 4 /* br */
        15: .line 564
            goto 45
        16: .line 566
      StackMap locals:
      StackMap stack:
            getstatic jtermios.JTermios.B600:I
            istore 4 /* br */
        17: .line 567
            goto 45
        18: .line 569
      StackMap locals:
      StackMap stack:
            getstatic jtermios.JTermios.B1200:I
            istore 4 /* br */
        19: .line 570
            goto 45
        20: .line 572
      StackMap locals:
      StackMap stack:
            getstatic jtermios.JTermios.B1800:I
            istore 4 /* br */
        21: .line 573
            goto 45
        22: .line 575
      StackMap locals:
      StackMap stack:
            getstatic jtermios.JTermios.B2400:I
            istore 4 /* br */
        23: .line 576
            goto 45
        24: .line 578
      StackMap locals:
      StackMap stack:
            getstatic jtermios.JTermios.B4800:I
            istore 4 /* br */
        25: .line 579
            goto 45
        26: .line 581
      StackMap locals:
      StackMap stack:
            getstatic jtermios.JTermios.B9600:I
            istore 4 /* br */
        27: .line 582
            goto 45
        28: .line 584
      StackMap locals:
      StackMap stack:
            getstatic jtermios.JTermios.B19200:I
            istore 4 /* br */
        29: .line 585
            goto 45
        30: .line 587
      StackMap locals:
      StackMap stack:
            getstatic jtermios.JTermios.B38400:I
            istore 4 /* br */
        31: .line 588
            goto 45
        32: .line 590
      StackMap locals:
      StackMap stack:
            getstatic jtermios.JTermios.B7200:I
            istore 4 /* br */
        33: .line 591
            goto 45
        34: .line 593
      StackMap locals:
      StackMap stack:
            getstatic jtermios.JTermios.B14400:I
            istore 4 /* br */
        35: .line 594
            goto 45
        36: .line 596
      StackMap locals:
      StackMap stack:
            getstatic jtermios.JTermios.B28800:I
            istore 4 /* br */
        37: .line 597
            goto 45
        38: .line 599
      StackMap locals:
      StackMap stack:
            getstatic jtermios.JTermios.B57600:I
            istore 4 /* br */
        39: .line 600
            goto 45
        40: .line 602
      StackMap locals:
      StackMap stack:
            getstatic jtermios.JTermios.B76800:I
            istore 4 /* br */
        41: .line 603
            goto 45
        42: .line 605
      StackMap locals:
      StackMap stack:
            getstatic jtermios.JTermios.B115200:I
            istore 4 /* br */
        43: .line 606
            goto 45
        44: .line 608
      StackMap locals:
      StackMap stack:
            getstatic jtermios.JTermios.B230400:I
            istore 4 /* br */
        45: .line 612
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* termios */
            iload 4 /* br */
            invokevirtual jtermios.solaris.JTermiosImpl.cfsetispeed:(Ljtermios/Termios;I)I
            dup
            istore 5 /* r */
        start local 5 // int r
        46: ifeq 48
        47: .line 613
            iload 5 /* r */
            ireturn
        48: .line 614
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 2 /* termios */
            iload 4 /* br */
            invokevirtual jtermios.solaris.JTermiosImpl.cfsetospeed:(Ljtermios/Termios;I)I
            dup
            istore 5 /* r */
            ifeq 50
        49: .line 615
            iload 5 /* r */
            ireturn
        50: .line 616
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* fd */
            getstatic jtermios.JTermios.TCSANOW:I
            aload 2 /* termios */
            invokevirtual jtermios.solaris.JTermiosImpl.tcsetattr:(IILjtermios/Termios;)I
            dup
            istore 5 /* r */
            ifeq 52
        51: .line 617
            iload 5 /* r */
            ireturn
        52: .line 618
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 5 // int r
        end local 4 // int br
        end local 3 // int speed
        end local 2 // jtermios.Termios termios
        end local 1 // int fd
        end local 0 // jtermios.solaris.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   53     0     this  Ljtermios/solaris/JTermiosImpl;
            0   53     1       fd  I
            0   53     2  termios  Ljtermios/Termios;
            0   53     3    speed  I
            1   53     4       br  I
           46   53     5        r  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.solaris.JTermiosImpl this
        start local 1 // int[] fds
         0: .line 622
            getstatic jtermios.solaris.JTermiosImpl.m_Clib:Ljtermios/solaris/JTermiosImpl$C_lib;
            aload 1 /* fds */
            invokeinterface jtermios.solaris.JTermiosImpl$C_lib.pipe:([I)I
            ireturn
        end local 1 // int[] fds
        end local 0 // jtermios.solaris.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljtermios/solaris/JTermiosImpl;
            0    1     1   fds  [I
    MethodParameters:
      Name  Flags
      fds   
}
SourceFile: "JTermiosImpl.java"
NestMembers:
  jtermios.solaris.JTermiosImpl$C_lib  jtermios.solaris.JTermiosImpl$C_lib_DirectMapping  jtermios.solaris.JTermiosImpl$NonDirectCLib  jtermios.solaris.JTermiosImpl$fd_set  jtermios.solaris.JTermiosImpl$pollfd  jtermios.solaris.JTermiosImpl$pollfd$ByReference  jtermios.solaris.JTermiosImpl$termios  jtermios.solaris.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.solaris.JTermiosImpl$C_lib of jtermios.solaris.JTermiosImpl
  public C_lib_DirectMapping = jtermios.solaris.JTermiosImpl$C_lib_DirectMapping of jtermios.solaris.JTermiosImpl
  public abstract NonDirectCLib = jtermios.solaris.JTermiosImpl$NonDirectCLib of jtermios.solaris.JTermiosImpl
  public fd_set = jtermios.solaris.JTermiosImpl$fd_set of jtermios.solaris.JTermiosImpl
  public pollfd = jtermios.solaris.JTermiosImpl$pollfd of jtermios.solaris.JTermiosImpl
  public ByReference = jtermios.solaris.JTermiosImpl$pollfd$ByReference of jtermios.solaris.JTermiosImpl$pollfd
  public termios = jtermios.solaris.JTermiosImpl$termios of jtermios.solaris.JTermiosImpl
  public timeval = jtermios.solaris.JTermiosImpl$timeval of jtermios.solaris.JTermiosImpl