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

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

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

  public int errno();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jtermios.freebsd.JTermiosImpl this
         0: .line 392
            invokestatic com.sun.jna.Native.getLastError:()I
            ireturn
        end local 0 // jtermios.freebsd.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljtermios/freebsd/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.freebsd.JTermiosImpl this
        start local 1 // jtermios.Termios termios
         0: .line 396
            new jtermios.freebsd.JTermiosImpl$termios
            dup
            aload 1 /* termios */
            invokespecial jtermios.freebsd.JTermiosImpl$termios.<init>:(Ljtermios/Termios;)V
            astore 2 /* t */
        start local 2 // jtermios.freebsd.JTermiosImpl$termios t
         1: .line 397
            getstatic jtermios.freebsd.JTermiosImpl.m_Clib:Ljtermios/freebsd/JTermiosImpl$C_lib;
            aload 2 /* t */
            invokeinterface jtermios.freebsd.JTermiosImpl$C_lib.cfmakeraw:(Ljtermios/freebsd/JTermiosImpl$termios;)V
         2: .line 398
            aload 2 /* t */
            aload 1 /* termios */
            invokevirtual jtermios.freebsd.JTermiosImpl$termios.update:(Ljtermios/Termios;)V
         3: .line 399
            return
        end local 2 // jtermios.freebsd.JTermiosImpl$termios t
        end local 1 // jtermios.Termios termios
        end local 0 // jtermios.freebsd.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Ljtermios/freebsd/JTermiosImpl;
            0    4     1  termios  Ljtermios/Termios;
            1    4     2        t  Ljtermios/freebsd/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.freebsd.JTermiosImpl this
        start local 1 // int fd
        start local 2 // int cmd
        start local 3 // int arg
         0: .line 402
            getstatic jtermios.freebsd.JTermiosImpl.m_Clib:Ljtermios/freebsd/JTermiosImpl$C_lib;
            iload 1 /* fd */
            iload 2 /* cmd */
            iload 3 /* arg */
            invokeinterface jtermios.freebsd.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.freebsd.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljtermios/freebsd/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.freebsd.JTermiosImpl this
        start local 1 // int fd
         0: .line 406
            getstatic jtermios.freebsd.JTermiosImpl.m_Clib:Ljtermios/freebsd/JTermiosImpl$C_lib;
            iload 1 /* fd */
            invokeinterface jtermios.freebsd.JTermiosImpl$C_lib.tcdrain:(I)I
            ireturn
        end local 1 // int fd
        end local 0 // jtermios.freebsd.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljtermios/freebsd/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.freebsd.JTermiosImpl this
        start local 1 // jtermios.Termios termios
         0: .line 410
            getstatic jtermios.freebsd.JTermiosImpl.m_Clib:Ljtermios/freebsd/JTermiosImpl$C_lib;
            new jtermios.freebsd.JTermiosImpl$termios
            dup
            aload 1 /* termios */
            invokespecial jtermios.freebsd.JTermiosImpl$termios.<init>:(Ljtermios/Termios;)V
            invokeinterface jtermios.freebsd.JTermiosImpl$C_lib.cfgetispeed:(Ljtermios/freebsd/JTermiosImpl$termios;)Lcom/sun/jna/NativeLong;
            invokevirtual com.sun.jna.NativeLong.intValue:()I
            ireturn
        end local 1 // jtermios.Termios termios
        end local 0 // jtermios.freebsd.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Ljtermios/freebsd/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.freebsd.JTermiosImpl this
        start local 1 // jtermios.Termios termios
         0: .line 414
            getstatic jtermios.freebsd.JTermiosImpl.m_Clib:Ljtermios/freebsd/JTermiosImpl$C_lib;
            new jtermios.freebsd.JTermiosImpl$termios
            dup
            aload 1 /* termios */
            invokespecial jtermios.freebsd.JTermiosImpl$termios.<init>:(Ljtermios/Termios;)V
            invokeinterface jtermios.freebsd.JTermiosImpl$C_lib.cfgetospeed:(Ljtermios/freebsd/JTermiosImpl$termios;)Lcom/sun/jna/NativeLong;
            invokevirtual com.sun.jna.NativeLong.intValue:()I
            ireturn
        end local 1 // jtermios.Termios termios
        end local 0 // jtermios.freebsd.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Ljtermios/freebsd/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.freebsd.JTermiosImpl this
        start local 1 // jtermios.Termios termios
        start local 2 // int speed
         0: .line 418
            new jtermios.freebsd.JTermiosImpl$termios
            dup
            aload 1 /* termios */
            invokespecial jtermios.freebsd.JTermiosImpl$termios.<init>:(Ljtermios/Termios;)V
            astore 3 /* t */
        start local 3 // jtermios.freebsd.JTermiosImpl$termios t
         1: .line 419
            getstatic jtermios.freebsd.JTermiosImpl.m_Clib:Ljtermios/freebsd/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.freebsd.JTermiosImpl$C_lib.cfsetispeed:(Ljtermios/freebsd/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.freebsd.JTermiosImpl$termios.update:(Ljtermios/Termios;)V
         3: .line 421
            iload 4 /* ret */
            ireturn
        end local 4 // int ret
        end local 3 // jtermios.freebsd.JTermiosImpl$termios t
        end local 2 // int speed
        end local 1 // jtermios.Termios termios
        end local 0 // jtermios.freebsd.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Ljtermios/freebsd/JTermiosImpl;
            0    4     1  termios  Ljtermios/Termios;
            0    4     2    speed  I
            1    4     3        t  Ljtermios/freebsd/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.freebsd.JTermiosImpl this
        start local 1 // jtermios.Termios termios
        start local 2 // int speed
         0: .line 425
            new jtermios.freebsd.JTermiosImpl$termios
            dup
            aload 1 /* termios */
            invokespecial jtermios.freebsd.JTermiosImpl$termios.<init>:(Ljtermios/Termios;)V
            astore 3 /* t */
        start local 3 // jtermios.freebsd.JTermiosImpl$termios t
         1: .line 426
            getstatic jtermios.freebsd.JTermiosImpl.m_Clib:Ljtermios/freebsd/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.freebsd.JTermiosImpl$C_lib.cfsetospeed:(Ljtermios/freebsd/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.freebsd.JTermiosImpl$termios.update:(Ljtermios/Termios;)V
         3: .line 428
            iload 4 /* ret */
            ireturn
        end local 4 // int ret
        end local 3 // jtermios.freebsd.JTermiosImpl$termios t
        end local 2 // int speed
        end local 1 // jtermios.Termios termios
        end local 0 // jtermios.freebsd.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Ljtermios/freebsd/JTermiosImpl;
            0    4     1  termios  Ljtermios/Termios;
            0    4     2    speed  I
            1    4     3        t  Ljtermios/freebsd/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.freebsd.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.freebsd.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.freebsd.JTermiosImpl.m_Clib:Ljtermios/freebsd/JTermiosImpl$C_lib;
            aload 1 /* s */
            iload 2 /* t */
            invokeinterface jtermios.freebsd.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.freebsd.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljtermios/freebsd/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.freebsd.JTermiosImpl this
        start local 1 // int fd
        start local 2 // byte[] buffer
        start local 3 // int len
         0: .line 439
            getstatic jtermios.freebsd.JTermiosImpl.m_Clib:Ljtermios/freebsd/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.freebsd.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.freebsd.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Ljtermios/freebsd/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.freebsd.JTermiosImpl this
        start local 1 // int fd
        start local 2 // byte[] buffer
        start local 3 // int len
         0: .line 443
            getstatic jtermios.freebsd.JTermiosImpl.m_Clib:Ljtermios/freebsd/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.freebsd.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.freebsd.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Ljtermios/freebsd/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.freebsd.JTermiosImpl this
        start local 1 // int fd
         0: .line 447
            getstatic jtermios.freebsd.JTermiosImpl.m_Clib:Ljtermios/freebsd/JTermiosImpl$C_lib;
            iload 1 /* fd */
            invokeinterface jtermios.freebsd.JTermiosImpl$C_lib.close:(I)I
            ireturn
        end local 1 // int fd
        end local 0 // jtermios.freebsd.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljtermios/freebsd/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.freebsd.JTermiosImpl this
        start local 1 // int fd
        start local 2 // int b
         0: .line 451
            getstatic jtermios.freebsd.JTermiosImpl.m_Clib:Ljtermios/freebsd/JTermiosImpl$C_lib;
            iload 1 /* fd */
            iload 2 /* b */
            invokeinterface jtermios.freebsd.JTermiosImpl$C_lib.tcflush:(II)I
            ireturn
        end local 2 // int b
        end local 1 // int fd
        end local 0 // jtermios.freebsd.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljtermios/freebsd/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.freebsd.JTermiosImpl this
        start local 1 // int fd
        start local 2 // jtermios.Termios termios
         0: .line 455
            new jtermios.freebsd.JTermiosImpl$termios
            dup
            invokespecial jtermios.freebsd.JTermiosImpl$termios.<init>:()V
            astore 3 /* t */
        start local 3 // jtermios.freebsd.JTermiosImpl$termios t
         1: .line 456
            getstatic jtermios.freebsd.JTermiosImpl.m_Clib:Ljtermios/freebsd/JTermiosImpl$C_lib;
            iload 1 /* fd */
            aload 3 /* t */
            invokeinterface jtermios.freebsd.JTermiosImpl$C_lib.tcgetattr:(ILjtermios/freebsd/JTermiosImpl$termios;)I
            istore 4 /* ret */
        start local 4 // int ret
         2: .line 457
            aload 3 /* t */
            aload 2 /* termios */
            invokevirtual jtermios.freebsd.JTermiosImpl$termios.update:(Ljtermios/Termios;)V
         3: .line 458
            iload 4 /* ret */
            ireturn
        end local 4 // int ret
        end local 3 // jtermios.freebsd.JTermiosImpl$termios t
        end local 2 // jtermios.Termios termios
        end local 1 // int fd
        end local 0 // jtermios.freebsd.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Ljtermios/freebsd/JTermiosImpl;
            0    4     1       fd  I
            0    4     2  termios  Ljtermios/Termios;
            1    4     3        t  Ljtermios/freebsd/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.freebsd.JTermiosImpl this
        start local 1 // java.lang.String msg
         0: .line 462
            getstatic jtermios.freebsd.JTermiosImpl.m_Clib:Ljtermios/freebsd/JTermiosImpl$C_lib;
            aload 1 /* msg */
            invokeinterface jtermios.freebsd.JTermiosImpl$C_lib.perror:(Ljava/lang/String;)V
         1: .line 463
            return
        end local 1 // java.lang.String msg
        end local 0 // jtermios.freebsd.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljtermios/freebsd/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.freebsd.JTermiosImpl this
        start local 1 // int fd
        start local 2 // int duration
         0: .line 468
            getstatic jtermios.freebsd.JTermiosImpl.m_Clib:Ljtermios/freebsd/JTermiosImpl$C_lib;
            iload 1 /* fd */
            iload 2 /* duration */
            sipush 250
            idiv
            invokeinterface jtermios.freebsd.JTermiosImpl$C_lib.tcsendbreak:(II)I
            ireturn
        end local 2 // int duration
        end local 1 // int fd
        end local 0 // jtermios.freebsd.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Ljtermios/freebsd/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.freebsd.JTermiosImpl this
        start local 1 // int fd
        start local 2 // int cmd
        start local 3 // jtermios.Termios termios
         0: .line 472
            getstatic jtermios.freebsd.JTermiosImpl.m_Clib:Ljtermios/freebsd/JTermiosImpl$C_lib;
            iload 1 /* fd */
            iload 2 /* cmd */
            new jtermios.freebsd.JTermiosImpl$termios
            dup
            aload 3 /* termios */
            invokespecial jtermios.freebsd.JTermiosImpl$termios.<init>:(Ljtermios/Termios;)V
            invokeinterface jtermios.freebsd.JTermiosImpl$C_lib.tcsetattr:(IILjtermios/freebsd/JTermiosImpl$termios;)I
            ireturn
        end local 3 // jtermios.Termios termios
        end local 2 // int cmd
        end local 1 // int fd
        end local 0 // jtermios.freebsd.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Ljtermios/freebsd/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.freebsd.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.freebsd.JTermiosImpl$timeval tout
         1: .line 477
            aload 5 /* timeout */
            ifnull 3
         2: .line 478
            new jtermios.freebsd.JTermiosImpl$timeval
            dup
            aload 5 /* timeout */
            invokespecial jtermios.freebsd.JTermiosImpl$timeval.<init>:(Ljtermios/TimeVal;)V
            astore 6 /* tout */
         3: .line 481
      StackMap locals: jtermios.freebsd.JTermiosImpl$timeval
      StackMap stack:
            getstatic jtermios.freebsd.JTermiosImpl.m_Clib:Ljtermios/freebsd/JTermiosImpl$C_lib;
            iload 1 /* nfds */
            aload 2 /* rfds */
            checkcast jtermios.freebsd.JTermiosImpl$fd_set
            aload 3 /* wfds */
            checkcast jtermios.freebsd.JTermiosImpl$fd_set
            aload 4 /* efds */
            checkcast jtermios.freebsd.JTermiosImpl$fd_set
            aload 6 /* tout */
            invokeinterface jtermios.freebsd.JTermiosImpl$C_lib.select:(ILjtermios/freebsd/JTermiosImpl$fd_set;Ljtermios/freebsd/JTermiosImpl$fd_set;Ljtermios/freebsd/JTermiosImpl$fd_set;Ljtermios/freebsd/JTermiosImpl$timeval;)I
            ireturn
        end local 6 // jtermios.freebsd.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.freebsd.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Ljtermios/freebsd/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/freebsd/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.freebsd.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.freebsd.JTermiosImpl$pollfd$ByReference
            dup
            invokespecial jtermios.freebsd.JTermiosImpl$pollfd$ByReference.<init>:()V
            astore 4 /* parampfds */
        start local 4 // jtermios.freebsd.JTermiosImpl$pollfd$ByReference parampfds
         3: .line 489
            aload 4 /* parampfds */
            iload 2 /* nfds */
            invokevirtual jtermios.freebsd.JTermiosImpl$pollfd$ByReference.toArray:(I)[Lcom/sun/jna/Structure;
            checkcast jtermios.freebsd.JTermiosImpl$pollfd[]
            astore 5 /* pfds */
        start local 5 // jtermios.freebsd.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.freebsd.JTermiosImpl$pollfd$ByReference jtermios.freebsd.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.freebsd.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.freebsd.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.freebsd.JTermiosImpl.m_ClibND:Ljtermios/freebsd/JTermiosImpl$NonDirectCLib;
            aload 4 /* parampfds */
            iload 2 /* nfds */
            iload 3 /* timeout */
            invokeinterface jtermios.freebsd.JTermiosImpl$NonDirectCLib.poll:(Ljtermios/freebsd/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.freebsd.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.freebsd.JTermiosImpl$pollfd[] pfds
        end local 4 // jtermios.freebsd.JTermiosImpl$pollfd$ByReference parampfds
        end local 3 // int timeout
        end local 2 // int nfds
        end local 1 // jtermios.Pollfd[] fds
        end local 0 // jtermios.freebsd.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   17     0       this  Ljtermios/freebsd/JTermiosImpl;
            0   17     1        fds  [Ljtermios/Pollfd;
            0   17     2       nfds  I
            0   17     3    timeout  I
            3   17     4  parampfds  Ljtermios/freebsd/JTermiosImpl$pollfd$ByReference;
            4   17     5       pfds  [Ljtermios/freebsd/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.freebsd.JTermiosImpl this
         0: .line 502
            iconst_1
            ireturn
        end local 0 // jtermios.freebsd.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljtermios/freebsd/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.freebsd.JTermiosImpl this
         0: .line 506
            new jtermios.freebsd.JTermiosImpl$fd_set
            dup
            invokespecial jtermios.freebsd.JTermiosImpl$fd_set.<init>:()V
            areturn
        end local 0 // jtermios.freebsd.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljtermios/freebsd/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.freebsd.JTermiosImpl this
        start local 1 // int fd
        start local 2 // int cmd
        start local 3 // int[] data
         0: .line 511
            getstatic jtermios.freebsd.JTermiosImpl.m_Clib:Ljtermios/freebsd/JTermiosImpl$C_lib;
            iload 1 /* fd */
            iload 2 /* cmd */
            aload 3 /* data */
            invokeinterface jtermios.freebsd.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.freebsd.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljtermios/freebsd/JTermiosImpl;
            0    1     1    fd  I
            0    1     2   cmd  I
            0    1     3  data  [I
    MethodParameters:
      Name  Flags
      fd    
      cmd   
      data  

  public java.util.List<java.lang.String> getPortList();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=1
        start local 0 // jtermios.freebsd.JTermiosImpl this
         0: .line 515
            new java.io.File
            dup
            getstatic jtermios.freebsd.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 516
            aload 1 /* dir */
            invokevirtual java.io.File.isDirectory:()Z
            ifne 6
         2: .line 517
            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.freebsd.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 518
            aconst_null
            areturn
         6: .line 520
      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 521
            new java.util.LinkedList
            dup
            invokespecial java.util.LinkedList.<init>:()V
            astore 3 /* list */
        start local 3 // java.util.LinkedList list
         8: .line 522
            aload 2 /* devs */
            ifnull 16
         9: .line 523
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        10: goto 15
        11: .line 524
      StackMap locals: java.lang.String[] java.util.LinkedList int
      StackMap stack:
            aload 2 /* devs */
            iload 4 /* i */
            aaload
            astore 5 /* s */
        start local 5 // java.lang.String s
        12: .line 525
            aload 5 /* s */
            ldc "cua"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 13
            aload 5 /* s */
            ldc "tty"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 14
        13: .line 526
      StackMap locals: java.lang.String
      StackMap stack:
            aload 3 /* list */
            aload 5 /* s */
            invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
            pop
        end local 5 // java.lang.String s
        14: .line 523
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 4 /* i */
            aload 2 /* devs */
            arraylength
            if_icmplt 11
        end local 4 // int i
        16: .line 531
      StackMap locals:
      StackMap stack:
            aload 3 /* list */
            areturn
        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.freebsd.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   17     0  this  Ljtermios/freebsd/JTermiosImpl;
            1   17     1   dir  Ljava/io/File;
            7   17     2  devs  [Ljava/lang/String;
            8   17     3  list  Ljava/util/LinkedList<Ljava/lang/String;>;
           10   16     4     i  I
           12   14     5     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.freebsd.JTermiosImpl this
         0: .line 536
            return
        end local 0 // jtermios.freebsd.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljtermios/freebsd/JTermiosImpl;

  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.freebsd.JTermiosImpl this
         0: .line 539
            ldc "^(tty\\.|cu\\.).*"
            areturn
        end local 0 // jtermios.freebsd.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljtermios/freebsd/JTermiosImpl;

  public int setspeed(int, jtermios.Termios, int);
    descriptor: (ILjtermios/Termios;I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // jtermios.freebsd.JTermiosImpl this
        start local 1 // int fd
        start local 2 // jtermios.Termios termios
        start local 3 // int speed
         0: .line 544
            aload 0 /* this */
            aload 2 /* termios */
            iload 3 /* speed */
            invokevirtual jtermios.freebsd.JTermiosImpl.cfsetispeed:(Ljtermios/Termios;I)I
            istore 4 /* r */
        start local 4 // int r
         1: .line 545
            iload 4 /* r */
            ifne 3
         2: .line 546
            aload 0 /* this */
            aload 2 /* termios */
            iload 3 /* speed */
            invokevirtual jtermios.freebsd.JTermiosImpl.cfsetospeed:(Ljtermios/Termios;I)I
            istore 4 /* r */
         3: .line 547
      StackMap locals: int
      StackMap stack:
            iload 4 /* r */
            ifne 5
         4: .line 548
            aload 0 /* this */
            iload 1 /* fd */
            getstatic jtermios.JTermios.TCSANOW:I
            aload 2 /* termios */
            invokevirtual jtermios.freebsd.JTermiosImpl.tcsetattr:(IILjtermios/Termios;)I
            istore 4 /* r */
         5: .line 549
      StackMap locals:
      StackMap stack:
            iload 4 /* r */
            ireturn
        end local 4 // int r
        end local 3 // int speed
        end local 2 // jtermios.Termios termios
        end local 1 // int fd
        end local 0 // jtermios.freebsd.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Ljtermios/freebsd/JTermiosImpl;
            0    6     1       fd  I
            0    6     2  termios  Ljtermios/Termios;
            0    6     3    speed  I
            1    6     4        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.freebsd.JTermiosImpl this
        start local 1 // int[] fds
         0: .line 553
            getstatic jtermios.freebsd.JTermiosImpl.m_Clib:Ljtermios/freebsd/JTermiosImpl$C_lib;
            aload 1 /* fds */
            invokeinterface jtermios.freebsd.JTermiosImpl$C_lib.pipe:([I)I
            ireturn
        end local 1 // int[] fds
        end local 0 // jtermios.freebsd.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljtermios/freebsd/JTermiosImpl;
            0    1     1   fds  [I
    MethodParameters:
      Name  Flags
      fds   
}
SourceFile: "JTermiosImpl.java"
NestMembers:
  jtermios.freebsd.JTermiosImpl$C_lib  jtermios.freebsd.JTermiosImpl$C_lib_DirectMapping  jtermios.freebsd.JTermiosImpl$NonDirectCLib  jtermios.freebsd.JTermiosImpl$fd_set  jtermios.freebsd.JTermiosImpl$pollfd  jtermios.freebsd.JTermiosImpl$pollfd$ByReference  jtermios.freebsd.JTermiosImpl$termios  jtermios.freebsd.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.freebsd.JTermiosImpl$C_lib of jtermios.freebsd.JTermiosImpl
  public C_lib_DirectMapping = jtermios.freebsd.JTermiosImpl$C_lib_DirectMapping of jtermios.freebsd.JTermiosImpl
  public abstract NonDirectCLib = jtermios.freebsd.JTermiosImpl$NonDirectCLib of jtermios.freebsd.JTermiosImpl
  public fd_set = jtermios.freebsd.JTermiosImpl$fd_set of jtermios.freebsd.JTermiosImpl
  public pollfd = jtermios.freebsd.JTermiosImpl$pollfd of jtermios.freebsd.JTermiosImpl
  public ByReference = jtermios.freebsd.JTermiosImpl$pollfd$ByReference of jtermios.freebsd.JTermiosImpl$pollfd
  public termios = jtermios.freebsd.JTermiosImpl$termios of jtermios.freebsd.JTermiosImpl
  public timeval = jtermios.freebsd.JTermiosImpl$timeval of jtermios.freebsd.JTermiosImpl