public class jtermios.macosx.JTermiosImpl implements jtermios.JTermios$JTermiosInterface
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: jtermios.macosx.JTermiosImpl
  super_class: java.lang.Object
{
  private static int IOSSIOSPEED;
    descriptor: I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static java.lang.String DEVICE_DIR_PATH;
    descriptor: Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

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

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 48
            ldc -2147199998
            putstatic jtermios.macosx.JTermiosImpl.IOSSIOSPEED:I
         1: .line 49
            ldc "/dev/"
            putstatic jtermios.macosx.JTermiosImpl.DEVICE_DIR_PATH:Ljava/lang/String;
         2: .line 55
            iconst_1
            invokestatic com.sun.jna.Native.setPreserveLastError:(Z)V
         3: .line 57
            ldc Ljtermios/macosx/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.macosx.JTermiosImpl$C_lib_DirectMapping
            dup
            invokespecial jtermios.macosx.JTermiosImpl$C_lib_DirectMapping.<init>:()V
            putstatic jtermios.macosx.JTermiosImpl.m_ClibDM:Ljtermios/macosx/JTermiosImpl$C_lib_DirectMapping;
         5: .line 59
            getstatic jtermios.macosx.JTermiosImpl.m_ClibDM:Ljtermios/macosx/JTermiosImpl$C_lib_DirectMapping;
            putstatic jtermios.macosx.JTermiosImpl.m_Clib:Ljtermios/macosx/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.macosx.JTermiosImpl this
         0: .line 282
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 283
            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.macosx.JTermiosImpl
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: putstatic jtermios.JTermios$JTermiosLogging.log:Z
         4: .line 284
            return
        end local 0 // jtermios.macosx.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljtermios/macosx/JTermiosImpl;

  public int errno();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jtermios.macosx.JTermiosImpl this
         0: .line 287
            invokestatic com.sun.jna.Native.getLastError:()I
            ireturn
        end local 0 // jtermios.macosx.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljtermios/macosx/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.macosx.JTermiosImpl this
        start local 1 // jtermios.Termios termios
         0: .line 291
            new jtermios.macosx.JTermiosImpl$termios
            dup
            aload 1 /* termios */
            invokespecial jtermios.macosx.JTermiosImpl$termios.<init>:(Ljtermios/Termios;)V
            astore 2 /* t */
        start local 2 // jtermios.macosx.JTermiosImpl$termios t
         1: .line 292
            getstatic jtermios.macosx.JTermiosImpl.m_Clib:Ljtermios/macosx/JTermiosImpl$C_lib;
            aload 2 /* t */
            invokeinterface jtermios.macosx.JTermiosImpl$C_lib.cfmakeraw:(Ljtermios/macosx/JTermiosImpl$termios;)V
         2: .line 293
            aload 2 /* t */
            aload 1 /* termios */
            invokevirtual jtermios.macosx.JTermiosImpl$termios.update:(Ljtermios/Termios;)V
         3: .line 294
            return
        end local 2 // jtermios.macosx.JTermiosImpl$termios t
        end local 1 // jtermios.Termios termios
        end local 0 // jtermios.macosx.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Ljtermios/macosx/JTermiosImpl;
            0    4     1  termios  Ljtermios/Termios;
            1    4     2        t  Ljtermios/macosx/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.macosx.JTermiosImpl this
        start local 1 // int fd
        start local 2 // int cmd
        start local 3 // int arg
         0: .line 297
            getstatic jtermios.macosx.JTermiosImpl.m_Clib:Ljtermios/macosx/JTermiosImpl$C_lib;
            iload 1 /* fd */
            iload 2 /* cmd */
            iload 3 /* arg */
            invokeinterface jtermios.macosx.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.macosx.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljtermios/macosx/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.macosx.JTermiosImpl this
        start local 1 // int fd
         0: .line 301
            getstatic jtermios.macosx.JTermiosImpl.m_Clib:Ljtermios/macosx/JTermiosImpl$C_lib;
            iload 1 /* fd */
            invokeinterface jtermios.macosx.JTermiosImpl$C_lib.tcdrain:(I)I
            ireturn
        end local 1 // int fd
        end local 0 // jtermios.macosx.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljtermios/macosx/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.macosx.JTermiosImpl this
        start local 1 // jtermios.Termios termios
         0: .line 305
            getstatic jtermios.macosx.JTermiosImpl.m_Clib:Ljtermios/macosx/JTermiosImpl$C_lib;
            new jtermios.macosx.JTermiosImpl$termios
            dup
            aload 1 /* termios */
            invokespecial jtermios.macosx.JTermiosImpl$termios.<init>:(Ljtermios/Termios;)V
            invokeinterface jtermios.macosx.JTermiosImpl$C_lib.cfgetispeed:(Ljtermios/macosx/JTermiosImpl$termios;)Lcom/sun/jna/NativeLong;
            invokevirtual com.sun.jna.NativeLong.intValue:()I
            ireturn
        end local 1 // jtermios.Termios termios
        end local 0 // jtermios.macosx.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Ljtermios/macosx/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.macosx.JTermiosImpl this
        start local 1 // jtermios.Termios termios
         0: .line 309
            getstatic jtermios.macosx.JTermiosImpl.m_Clib:Ljtermios/macosx/JTermiosImpl$C_lib;
            new jtermios.macosx.JTermiosImpl$termios
            dup
            aload 1 /* termios */
            invokespecial jtermios.macosx.JTermiosImpl$termios.<init>:(Ljtermios/Termios;)V
            invokeinterface jtermios.macosx.JTermiosImpl$C_lib.cfgetospeed:(Ljtermios/macosx/JTermiosImpl$termios;)Lcom/sun/jna/NativeLong;
            invokevirtual com.sun.jna.NativeLong.intValue:()I
            ireturn
        end local 1 // jtermios.Termios termios
        end local 0 // jtermios.macosx.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Ljtermios/macosx/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.macosx.JTermiosImpl this
        start local 1 // jtermios.Termios termios
        start local 2 // int speed
         0: .line 313
            new jtermios.macosx.JTermiosImpl$termios
            dup
            aload 1 /* termios */
            invokespecial jtermios.macosx.JTermiosImpl$termios.<init>:(Ljtermios/Termios;)V
            astore 3 /* t */
        start local 3 // jtermios.macosx.JTermiosImpl$termios t
         1: .line 314
            getstatic jtermios.macosx.JTermiosImpl.m_Clib:Ljtermios/macosx/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.macosx.JTermiosImpl$C_lib.cfsetispeed:(Ljtermios/macosx/JTermiosImpl$termios;Lcom/sun/jna/NativeLong;)I
            istore 4 /* ret */
        start local 4 // int ret
         2: .line 315
            aload 3 /* t */
            aload 1 /* termios */
            invokevirtual jtermios.macosx.JTermiosImpl$termios.update:(Ljtermios/Termios;)V
         3: .line 316
            iload 4 /* ret */
            ireturn
        end local 4 // int ret
        end local 3 // jtermios.macosx.JTermiosImpl$termios t
        end local 2 // int speed
        end local 1 // jtermios.Termios termios
        end local 0 // jtermios.macosx.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Ljtermios/macosx/JTermiosImpl;
            0    4     1  termios  Ljtermios/Termios;
            0    4     2    speed  I
            1    4     3        t  Ljtermios/macosx/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.macosx.JTermiosImpl this
        start local 1 // jtermios.Termios termios
        start local 2 // int speed
         0: .line 320
            new jtermios.macosx.JTermiosImpl$termios
            dup
            aload 1 /* termios */
            invokespecial jtermios.macosx.JTermiosImpl$termios.<init>:(Ljtermios/Termios;)V
            astore 3 /* t */
        start local 3 // jtermios.macosx.JTermiosImpl$termios t
         1: .line 321
            getstatic jtermios.macosx.JTermiosImpl.m_Clib:Ljtermios/macosx/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.macosx.JTermiosImpl$C_lib.cfsetospeed:(Ljtermios/macosx/JTermiosImpl$termios;Lcom/sun/jna/NativeLong;)I
            istore 4 /* ret */
        start local 4 // int ret
         2: .line 322
            aload 3 /* t */
            aload 1 /* termios */
            invokevirtual jtermios.macosx.JTermiosImpl$termios.update:(Ljtermios/Termios;)V
         3: .line 323
            iload 4 /* ret */
            ireturn
        end local 4 // int ret
        end local 3 // jtermios.macosx.JTermiosImpl$termios t
        end local 2 // int speed
        end local 1 // jtermios.Termios termios
        end local 0 // jtermios.macosx.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Ljtermios/macosx/JTermiosImpl;
            0    4     1  termios  Ljtermios/Termios;
            0    4     2    speed  I
            1    4     3        t  Ljtermios/macosx/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.macosx.JTermiosImpl this
        start local 1 // java.lang.String s
        start local 2 // int t
         0: .line 327
            aload 1 /* s */
            ifnull 2
            aload 1 /* s */
            ldc "/"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 2
         1: .line 328
            new java.lang.StringBuilder
            dup
            getstatic jtermios.macosx.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 330
      StackMap locals:
      StackMap stack:
            getstatic jtermios.macosx.JTermiosImpl.m_Clib:Ljtermios/macosx/JTermiosImpl$C_lib;
            aload 1 /* s */
            iload 2 /* t */
            invokeinterface jtermios.macosx.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.macosx.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljtermios/macosx/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.macosx.JTermiosImpl this
        start local 1 // int fd
        start local 2 // byte[] buffer
        start local 3 // int len
         0: .line 334
            getstatic jtermios.macosx.JTermiosImpl.m_Clib:Ljtermios/macosx/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.macosx.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.macosx.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Ljtermios/macosx/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.macosx.JTermiosImpl this
        start local 1 // int fd
        start local 2 // byte[] buffer
        start local 3 // int len
         0: .line 338
            getstatic jtermios.macosx.JTermiosImpl.m_Clib:Ljtermios/macosx/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.macosx.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.macosx.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Ljtermios/macosx/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.macosx.JTermiosImpl this
        start local 1 // int fd
         0: .line 342
            getstatic jtermios.macosx.JTermiosImpl.m_Clib:Ljtermios/macosx/JTermiosImpl$C_lib;
            iload 1 /* fd */
            invokeinterface jtermios.macosx.JTermiosImpl$C_lib.close:(I)I
            ireturn
        end local 1 // int fd
        end local 0 // jtermios.macosx.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljtermios/macosx/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.macosx.JTermiosImpl this
        start local 1 // int fd
        start local 2 // int b
         0: .line 346
            getstatic jtermios.macosx.JTermiosImpl.m_Clib:Ljtermios/macosx/JTermiosImpl$C_lib;
            iload 1 /* fd */
            iload 2 /* b */
            invokeinterface jtermios.macosx.JTermiosImpl$C_lib.tcflush:(II)I
            ireturn
        end local 2 // int b
        end local 1 // int fd
        end local 0 // jtermios.macosx.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljtermios/macosx/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.macosx.JTermiosImpl this
        start local 1 // int fd
        start local 2 // jtermios.Termios termios
         0: .line 350
            new jtermios.macosx.JTermiosImpl$termios
            dup
            invokespecial jtermios.macosx.JTermiosImpl$termios.<init>:()V
            astore 3 /* t */
        start local 3 // jtermios.macosx.JTermiosImpl$termios t
         1: .line 351
            getstatic jtermios.macosx.JTermiosImpl.m_Clib:Ljtermios/macosx/JTermiosImpl$C_lib;
            iload 1 /* fd */
            aload 3 /* t */
            invokeinterface jtermios.macosx.JTermiosImpl$C_lib.tcgetattr:(ILjtermios/macosx/JTermiosImpl$termios;)I
            istore 4 /* ret */
        start local 4 // int ret
         2: .line 352
            aload 3 /* t */
            aload 2 /* termios */
            invokevirtual jtermios.macosx.JTermiosImpl$termios.update:(Ljtermios/Termios;)V
         3: .line 353
            iload 4 /* ret */
            ireturn
        end local 4 // int ret
        end local 3 // jtermios.macosx.JTermiosImpl$termios t
        end local 2 // jtermios.Termios termios
        end local 1 // int fd
        end local 0 // jtermios.macosx.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Ljtermios/macosx/JTermiosImpl;
            0    4     1       fd  I
            0    4     2  termios  Ljtermios/Termios;
            1    4     3        t  Ljtermios/macosx/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.macosx.JTermiosImpl this
        start local 1 // java.lang.String msg
         0: .line 357
            getstatic jtermios.macosx.JTermiosImpl.m_Clib:Ljtermios/macosx/JTermiosImpl$C_lib;
            aload 1 /* msg */
            invokeinterface jtermios.macosx.JTermiosImpl$C_lib.perror:(Ljava/lang/String;)V
         1: .line 358
            return
        end local 1 // java.lang.String msg
        end local 0 // jtermios.macosx.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljtermios/macosx/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.macosx.JTermiosImpl this
        start local 1 // int fd
        start local 2 // int duration
         0: .line 363
            getstatic jtermios.macosx.JTermiosImpl.m_Clib:Ljtermios/macosx/JTermiosImpl$C_lib;
            iload 1 /* fd */
            iload 2 /* duration */
            sipush 250
            idiv
            invokeinterface jtermios.macosx.JTermiosImpl$C_lib.tcsendbreak:(II)I
            ireturn
        end local 2 // int duration
        end local 1 // int fd
        end local 0 // jtermios.macosx.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Ljtermios/macosx/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.macosx.JTermiosImpl this
        start local 1 // int fd
        start local 2 // int cmd
        start local 3 // jtermios.Termios termios
         0: .line 367
            getstatic jtermios.macosx.JTermiosImpl.m_Clib:Ljtermios/macosx/JTermiosImpl$C_lib;
            iload 1 /* fd */
            iload 2 /* cmd */
            new jtermios.macosx.JTermiosImpl$termios
            dup
            aload 3 /* termios */
            invokespecial jtermios.macosx.JTermiosImpl$termios.<init>:(Ljtermios/Termios;)V
            invokeinterface jtermios.macosx.JTermiosImpl$C_lib.tcsetattr:(IILjtermios/macosx/JTermiosImpl$termios;)I
            ireturn
        end local 3 // jtermios.Termios termios
        end local 2 // int cmd
        end local 1 // int fd
        end local 0 // jtermios.macosx.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Ljtermios/macosx/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.macosx.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 371
            aconst_null
            astore 6 /* tout */
        start local 6 // jtermios.macosx.JTermiosImpl$timeval tout
         1: .line 372
            aload 5 /* timeout */
            ifnull 3
         2: .line 373
            new jtermios.macosx.JTermiosImpl$timeval
            dup
            aload 5 /* timeout */
            invokespecial jtermios.macosx.JTermiosImpl$timeval.<init>:(Ljtermios/TimeVal;)V
            astore 6 /* tout */
         3: .line 376
      StackMap locals: jtermios.macosx.JTermiosImpl$timeval
      StackMap stack:
            getstatic jtermios.macosx.JTermiosImpl.m_Clib:Ljtermios/macosx/JTermiosImpl$C_lib;
            iload 1 /* nfds */
            aload 2 /* rfds */
            checkcast jtermios.macosx.JTermiosImpl$fd_set
            aload 3 /* wfds */
            checkcast jtermios.macosx.JTermiosImpl$fd_set
            aload 4 /* efds */
            checkcast jtermios.macosx.JTermiosImpl$fd_set
            aload 6 /* tout */
            invokeinterface jtermios.macosx.JTermiosImpl$C_lib.select:(ILjtermios/macosx/JTermiosImpl$fd_set;Ljtermios/macosx/JTermiosImpl$fd_set;Ljtermios/macosx/JTermiosImpl$fd_set;Ljtermios/macosx/JTermiosImpl$timeval;)I
            ireturn
        end local 6 // jtermios.macosx.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.macosx.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Ljtermios/macosx/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/macosx/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=3, locals=4, args_size=4
        start local 0 // jtermios.macosx.JTermiosImpl this
        start local 1 // jtermios.Pollfd[] fds
        start local 2 // int nfds
        start local 3 // int timeout
         0: .line 380
            new java.lang.UnsupportedOperationException
            dup
            ldc "Poll not supported"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // int timeout
        end local 2 // int nfds
        end local 1 // jtermios.Pollfd[] fds
        end local 0 // jtermios.macosx.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Ljtermios/macosx/JTermiosImpl;
            0    1     1      fds  [Ljtermios/Pollfd;
            0    1     2     nfds  I
            0    1     3  timeout  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.macosx.JTermiosImpl this
         0: .line 384
            iconst_0
            ireturn
        end local 0 // jtermios.macosx.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljtermios/macosx/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.macosx.JTermiosImpl this
         0: .line 388
            new jtermios.macosx.JTermiosImpl$fd_set
            dup
            invokespecial jtermios.macosx.JTermiosImpl$fd_set.<init>:()V
            areturn
        end local 0 // jtermios.macosx.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljtermios/macosx/JTermiosImpl;

  public int ioctl(int, int, int[]);
    descriptor: (II[I)I
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=8, locals=4, args_size=4
        start local 0 // jtermios.macosx.JTermiosImpl this
        start local 1 // int fd
        start local 2 // int cmd
        start local 3 // int[] data
         0: .line 393
            getstatic jtermios.macosx.JTermiosImpl.m_Clib:Ljtermios/macosx/JTermiosImpl$C_lib;
            iload 1 /* fd */
            new com.sun.jna.NativeLong
            dup
            ldc 4294967295
            iload 2 /* cmd */
            i2l
            land
            invokespecial com.sun.jna.NativeLong.<init>:(J)V
            aload 3 /* data */
            invokeinterface jtermios.macosx.JTermiosImpl$C_lib.ioctl:(ILcom/sun/jna/NativeLong;[I)I
            ireturn
        end local 3 // int[] data
        end local 2 // int cmd
        end local 1 // int fd
        end local 0 // jtermios.macosx.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljtermios/macosx/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=7, args_size=1
        start local 0 // jtermios.macosx.JTermiosImpl this
         0: .line 397
            new java.io.File
            dup
            getstatic jtermios.macosx.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 398
            aload 1 /* dir */
            invokevirtual java.io.File.isDirectory:()Z
            ifne 6
         2: .line 399
            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.macosx.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 400
            aconst_null
            areturn
         6: .line 402
      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 403
            new java.util.LinkedList
            dup
            invokespecial java.util.LinkedList.<init>:()V
            astore 3 /* list */
        start local 3 // java.util.LinkedList list
         8: .line 405
            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 406
            aload 2 /* devs */
            ifnull 17
        10: .line 407
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        11: goto 16
        12: .line 408
      StackMap locals: jtermios.macosx.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 409
            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 410
            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 407
      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 413
      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.macosx.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   18     0  this  Ljtermios/macosx/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 java.lang.String getPortNamePattern();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jtermios.macosx.JTermiosImpl this
         0: .line 417
            ldc "^(tty\\.|cu\\.).*"
            areturn
        end local 0 // jtermios.macosx.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljtermios/macosx/JTermiosImpl;

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

  public int setspeed(int, jtermios.Termios, int);
    descriptor: (ILjtermios/Termios;I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=4
        start local 0 // jtermios.macosx.JTermiosImpl this
        start local 1 // int fd
        start local 2 // jtermios.Termios termios
        start local 3 // int speed
         0: .line 426
            aload 0 /* this */
            aload 2 /* termios */
            iload 3 /* speed */
            invokevirtual jtermios.macosx.JTermiosImpl.cfsetispeed:(Ljtermios/Termios;I)I
            istore 4 /* r */
        start local 4 // int r
         1: .line 427
            iload 4 /* r */
            ifne 3
         2: .line 428
            aload 0 /* this */
            aload 2 /* termios */
            iload 3 /* speed */
            invokevirtual jtermios.macosx.JTermiosImpl.cfsetospeed:(Ljtermios/Termios;I)I
            istore 4 /* r */
         3: .line 429
      StackMap locals: int
      StackMap stack:
            iload 4 /* r */
            ifne 5
         4: .line 430
            aload 0 /* this */
            iload 1 /* fd */
            getstatic jtermios.JTermios.TCSANOW:I
            aload 2 /* termios */
            invokevirtual jtermios.macosx.JTermiosImpl.tcsetattr:(IILjtermios/Termios;)I
            istore 4 /* r */
         5: .line 431
      StackMap locals:
      StackMap stack:
            iload 4 /* r */
            ifeq 8
         6: .line 433
            aload 0 /* this */
            aload 2 /* termios */
            getstatic jtermios.JTermios.B9600:I
            invokevirtual jtermios.macosx.JTermiosImpl.cfsetispeed:(Ljtermios/Termios;I)I
            ifne 8
            aload 0 /* this */
            aload 2 /* termios */
            getstatic jtermios.JTermios.B9600:I
            invokevirtual jtermios.macosx.JTermiosImpl.cfsetospeed:(Ljtermios/Termios;I)I
            ifne 8
            aload 0 /* this */
            iload 1 /* fd */
            getstatic jtermios.JTermios.TCSANOW:I
            aload 2 /* termios */
            invokevirtual jtermios.macosx.JTermiosImpl.tcsetattr:(IILjtermios/Termios;)I
            ifne 8
         7: .line 434
            aload 0 /* this */
            iload 1 /* fd */
            getstatic jtermios.macosx.JTermiosImpl.IOSSIOSPEED:I
            iconst_1
            newarray 10
            dup
            iconst_0
            iload 3 /* speed */
            iastore
            invokevirtual jtermios.macosx.JTermiosImpl.ioctl:(II[I)I
            istore 4 /* r */
         8: .line 436
      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.macosx.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Ljtermios/macosx/JTermiosImpl;
            0    9     1       fd  I
            0    9     2  termios  Ljtermios/Termios;
            0    9     3    speed  I
            1    9     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.macosx.JTermiosImpl this
        start local 1 // int[] fds
         0: .line 440
            getstatic jtermios.macosx.JTermiosImpl.m_Clib:Ljtermios/macosx/JTermiosImpl$C_lib;
            aload 1 /* fds */
            invokeinterface jtermios.macosx.JTermiosImpl$C_lib.pipe:([I)I
            ireturn
        end local 1 // int[] fds
        end local 0 // jtermios.macosx.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljtermios/macosx/JTermiosImpl;
            0    1     1   fds  [I
    MethodParameters:
      Name  Flags
      fds   
}
SourceFile: "JTermiosImpl.java"
NestMembers:
  jtermios.macosx.JTermiosImpl$C_lib  jtermios.macosx.JTermiosImpl$C_lib_DirectMapping  jtermios.macosx.JTermiosImpl$fd_set  jtermios.macosx.JTermiosImpl$pollfd  jtermios.macosx.JTermiosImpl$pollfd$ByReference  jtermios.macosx.JTermiosImpl$termios  jtermios.macosx.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.macosx.JTermiosImpl$C_lib of jtermios.macosx.JTermiosImpl
  public C_lib_DirectMapping = jtermios.macosx.JTermiosImpl$C_lib_DirectMapping of jtermios.macosx.JTermiosImpl
  public fd_set = jtermios.macosx.JTermiosImpl$fd_set of jtermios.macosx.JTermiosImpl
  public pollfd = jtermios.macosx.JTermiosImpl$pollfd of jtermios.macosx.JTermiosImpl
  public termios = jtermios.macosx.JTermiosImpl$termios of jtermios.macosx.JTermiosImpl
  public timeval = jtermios.macosx.JTermiosImpl$timeval of jtermios.macosx.JTermiosImpl