public class jtermios.linux.JTermiosImpl implements jtermios.JTermios$JTermiosInterface
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: jtermios.linux.JTermiosImpl
super_class: java.lang.Object
{
private static java.lang.String DEVICE_DIR_PATH;
descriptor: Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
static jtermios.linux.JTermiosImpl$C_lib_DirectMapping m_ClibDM;
descriptor: Ljtermios/linux/JTermiosImpl$C_lib_DirectMapping;
flags: (0x0008) ACC_STATIC
static jtermios.linux.JTermiosImpl$C_lib m_Clib;
descriptor: Ljtermios/linux/JTermiosImpl$C_lib;
flags: (0x0008) ACC_STATIC
static jtermios.linux.JTermiosImpl$NonDirectCLib m_ClibND;
descriptor: Ljtermios/linux/JTermiosImpl$NonDirectCLib;
flags: (0x0008) ACC_STATIC
private static final int TIOCGSERIAL;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 21534
private static final int TIOCSSERIAL;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 21535
private static final int ASYNC_SPD_MASK;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 4144
private static final int ASYNC_SPD_CUST;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 48
private static final int[] m_BaudRates;
descriptor: [I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: ldc "/dev/"
putstatic jtermios.linux.JTermiosImpl.DEVICE_DIR_PATH:Ljava/lang/String;
1: iconst_1
invokestatic com.sun.jna.Native.setPreserveLastError:(Z)V
2: getstatic com.sun.jna.Platform.C_LIBRARY_NAME:Ljava/lang/String;
ldc Ljtermios/linux/JTermiosImpl$NonDirectCLib;
invokestatic com.sun.jna.Native.loadLibrary:(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
checkcast jtermios.linux.JTermiosImpl$NonDirectCLib
putstatic jtermios.linux.JTermiosImpl.m_ClibND:Ljtermios/linux/JTermiosImpl$NonDirectCLib;
3: ldc Ljtermios/linux/JTermiosImpl$C_lib_DirectMapping;
getstatic com.sun.jna.Platform.C_LIBRARY_NAME:Ljava/lang/String;
invokestatic com.sun.jna.NativeLibrary.getInstance:(Ljava/lang/String;)Lcom/sun/jna/NativeLibrary;
invokestatic com.sun.jna.Native.register:(Ljava/lang/Class;Lcom/sun/jna/NativeLibrary;)V
4: new jtermios.linux.JTermiosImpl$C_lib_DirectMapping
dup
invokespecial jtermios.linux.JTermiosImpl$C_lib_DirectMapping.<init>:()V
putstatic jtermios.linux.JTermiosImpl.m_ClibDM:Ljtermios/linux/JTermiosImpl$C_lib_DirectMapping;
5: getstatic jtermios.linux.JTermiosImpl.m_ClibDM:Ljtermios/linux/JTermiosImpl$C_lib_DirectMapping;
putstatic jtermios.linux.JTermiosImpl.m_Clib:Ljtermios/linux/JTermiosImpl$C_lib;
6: bipush 60
newarray 10
dup
iconst_0
7: bipush 50
iastore
dup
iconst_1
iconst_1
iastore
dup
iconst_2
8: bipush 75
iastore
dup
iconst_3
iconst_2
iastore
dup
iconst_4
9: bipush 110
iastore
dup
iconst_5
iconst_3
iastore
dup
bipush 6
10: sipush 134
iastore
dup
bipush 7
iconst_4
iastore
dup
bipush 8
11: sipush 150
iastore
dup
bipush 9
iconst_5
iastore
dup
bipush 10
12: sipush 200
iastore
dup
bipush 11
bipush 6
iastore
dup
bipush 12
13: sipush 300
iastore
dup
bipush 13
bipush 7
iastore
dup
bipush 14
14: sipush 600
iastore
dup
bipush 15
bipush 8
iastore
dup
bipush 16
15: sipush 1200
iastore
dup
bipush 17
bipush 9
iastore
dup
bipush 18
16: sipush 1800
iastore
dup
bipush 19
bipush 10
iastore
dup
bipush 20
17: sipush 2400
iastore
dup
bipush 21
bipush 11
iastore
dup
bipush 22
18: sipush 4800
iastore
dup
bipush 23
bipush 12
iastore
dup
bipush 24
19: sipush 9600
iastore
dup
bipush 25
bipush 13
iastore
dup
bipush 26
20: sipush 19200
iastore
dup
bipush 27
bipush 14
iastore
dup
bipush 28
21: ldc 38400
iastore
dup
bipush 29
bipush 15
iastore
dup
bipush 30
22: ldc 57600
iastore
dup
bipush 31
sipush 4097
iastore
dup
bipush 32
23: ldc 115200
iastore
dup
bipush 33
sipush 4098
iastore
dup
bipush 34
24: ldc 230400
iastore
dup
bipush 35
sipush 4099
iastore
dup
bipush 36
25: ldc 460800
iastore
dup
bipush 37
sipush 4100
iastore
dup
bipush 38
26: ldc 500000
iastore
dup
bipush 39
sipush 4101
iastore
dup
bipush 40
27: ldc 576000
iastore
dup
bipush 41
sipush 4102
iastore
dup
bipush 42
28: ldc 921600
iastore
dup
bipush 43
sipush 4103
iastore
dup
bipush 44
29: ldc 1000000
iastore
dup
bipush 45
sipush 4104
iastore
dup
bipush 46
30: ldc 1152000
iastore
dup
bipush 47
sipush 4105
iastore
dup
bipush 48
31: ldc 1500000
iastore
dup
bipush 49
sipush 4106
iastore
dup
bipush 50
32: ldc 2000000
iastore
dup
bipush 51
sipush 4107
iastore
dup
bipush 52
33: ldc 2500000
iastore
dup
bipush 53
sipush 4108
iastore
dup
bipush 54
34: ldc 3000000
iastore
dup
bipush 55
sipush 4109
iastore
dup
bipush 56
35: ldc 3500000
iastore
dup
bipush 57
sipush 4110
iastore
dup
bipush 58
36: ldc 4000000
iastore
dup
bipush 59
sipush 4111
iastore
37: putstatic jtermios.linux.JTermiosImpl.m_BaudRates:[I
38: 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 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: 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
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getCanonicalName:()Ljava/lang/String;
aastore
invokestatic jtermios.JTermios$JTermiosLogging.log:(ILjava/lang/String;[Ljava/lang/Object;)Z
ifeq 2
iconst_1
goto 3
StackMap locals: jtermios.linux.JTermiosImpl
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: putstatic jtermios.JTermios$JTermiosLogging.log:Z
4: sipush 21531
putstatic jtermios.JTermios.FIONREAD:I
5: iconst_2
putstatic jtermios.JTermios.O_RDWR:I
6: sipush 2048
putstatic jtermios.JTermios.O_NONBLOCK:I
7: sipush 256
putstatic jtermios.JTermios.O_NOCTTY:I
8: sipush 2048
putstatic jtermios.JTermios.O_NDELAY:I
9: iconst_3
putstatic jtermios.JTermios.F_GETFL:I
10: iconst_4
putstatic jtermios.JTermios.F_SETFL:I
11: bipush 11
putstatic jtermios.JTermios.EAGAIN:I
12: bipush 13
putstatic jtermios.JTermios.EACCES:I
13: bipush 17
putstatic jtermios.JTermios.EEXIST:I
14: iconst_4
putstatic jtermios.JTermios.EINTR:I
15: bipush 22
putstatic jtermios.JTermios.EINVAL:I
16: iconst_5
putstatic jtermios.JTermios.EIO:I
17: bipush 21
putstatic jtermios.JTermios.EISDIR:I
18: bipush 40
putstatic jtermios.JTermios.ELOOP:I
19: bipush 24
putstatic jtermios.JTermios.EMFILE:I
20: bipush 36
putstatic jtermios.JTermios.ENAMETOOLONG:I
21: bipush 23
putstatic jtermios.JTermios.ENFILE:I
22: iconst_2
putstatic jtermios.JTermios.ENOENT:I
23: bipush 63
putstatic jtermios.JTermios.ENOSR:I
24: bipush 28
putstatic jtermios.JTermios.ENOSPC:I
25: bipush 20
putstatic jtermios.JTermios.ENOTDIR:I
26: bipush 6
putstatic jtermios.JTermios.ENXIO:I
27: bipush 75
putstatic jtermios.JTermios.EOVERFLOW:I
28: bipush 30
putstatic jtermios.JTermios.EROFS:I
29: bipush 95
putstatic jtermios.JTermios.ENOTSUP:I
30: sipush 128
putstatic jtermios.JTermios.TIOCM_RNG:I
31: bipush 64
putstatic jtermios.JTermios.TIOCM_CAR:I
32: iconst_1
putstatic jtermios.JTermios.IGNBRK:I
33: iconst_2
putstatic jtermios.JTermios.BRKINT:I
34: iconst_4
putstatic jtermios.JTermios.IGNPAR:I
35: bipush 8
putstatic jtermios.JTermios.PARMRK:I
36: bipush 64
putstatic jtermios.JTermios.INLCR:I
37: sipush 128
putstatic jtermios.JTermios.IGNCR:I
38: sipush 256
putstatic jtermios.JTermios.ICRNL:I
39: bipush 64
putstatic jtermios.JTermios.ECHONL:I
40: ldc 32768
putstatic jtermios.JTermios.IEXTEN:I
41: sipush 2048
putstatic jtermios.JTermios.CLOCAL:I
42: iconst_1
putstatic jtermios.JTermios.OPOST:I
43: bipush 8
putstatic jtermios.JTermios.VSTART:I
44: iconst_0
putstatic jtermios.JTermios.TCSANOW:I
45: bipush 9
putstatic jtermios.JTermios.VSTOP:I
46: bipush 6
putstatic jtermios.JTermios.VMIN:I
47: iconst_5
putstatic jtermios.JTermios.VTIME:I
48: iconst_4
putstatic jtermios.JTermios.VEOF:I
49: sipush 21525
putstatic jtermios.JTermios.TIOCMGET:I
50: bipush 32
putstatic jtermios.JTermios.TIOCM_CTS:I
51: sipush 256
putstatic jtermios.JTermios.TIOCM_DSR:I
52: sipush 128
putstatic jtermios.JTermios.TIOCM_RI:I
53: bipush 64
putstatic jtermios.JTermios.TIOCM_CD:I
54: iconst_2
putstatic jtermios.JTermios.TIOCM_DTR:I
55: iconst_4
putstatic jtermios.JTermios.TIOCM_RTS:I
56: iconst_2
putstatic jtermios.JTermios.ICANON:I
57: bipush 8
putstatic jtermios.JTermios.ECHO:I
58: bipush 16
putstatic jtermios.JTermios.ECHOE:I
59: iconst_1
putstatic jtermios.JTermios.ISIG:I
60: sipush 21528
putstatic jtermios.JTermios.TIOCMSET:I
61: sipush 1024
putstatic jtermios.JTermios.IXON:I
62: sipush 4096
putstatic jtermios.JTermios.IXOFF:I
63: sipush 2048
putstatic jtermios.JTermios.IXANY:I
64: ldc -2147483648
putstatic jtermios.JTermios.CRTSCTS:I
65: iconst_1
putstatic jtermios.JTermios.TCSADRAIN:I
66: bipush 16
putstatic jtermios.JTermios.INPCK:I
67: bipush 32
putstatic jtermios.JTermios.ISTRIP:I
68: bipush 48
putstatic jtermios.JTermios.CSIZE:I
69: iconst_0
putstatic jtermios.JTermios.TCIFLUSH:I
70: iconst_1
putstatic jtermios.JTermios.TCOFLUSH:I
71: iconst_2
putstatic jtermios.JTermios.TCIOFLUSH:I
72: iconst_0
putstatic jtermios.JTermios.CS5:I
73: bipush 16
putstatic jtermios.JTermios.CS6:I
74: bipush 32
putstatic jtermios.JTermios.CS7:I
75: bipush 48
putstatic jtermios.JTermios.CS8:I
76: bipush 64
putstatic jtermios.JTermios.CSTOPB:I
77: sipush 128
putstatic jtermios.JTermios.CREAD:I
78: sipush 256
putstatic jtermios.JTermios.PARENB:I
79: sipush 512
putstatic jtermios.JTermios.PARODD:I
80: iconst_0
putstatic jtermios.JTermios.B0:I
81: iconst_1
putstatic jtermios.JTermios.B50:I
82: iconst_2
putstatic jtermios.JTermios.B75:I
83: iconst_3
putstatic jtermios.JTermios.B110:I
84: iconst_4
putstatic jtermios.JTermios.B134:I
85: iconst_5
putstatic jtermios.JTermios.B150:I
86: bipush 6
putstatic jtermios.JTermios.B200:I
87: bipush 7
putstatic jtermios.JTermios.B300:I
88: bipush 8
putstatic jtermios.JTermios.B600:I
89: bipush 9
putstatic jtermios.JTermios.B1200:I
90: bipush 10
putstatic jtermios.JTermios.B1800:I
91: bipush 11
putstatic jtermios.JTermios.B2400:I
92: bipush 12
putstatic jtermios.JTermios.B4800:I
93: bipush 13
putstatic jtermios.JTermios.B9600:I
94: bipush 14
putstatic jtermios.JTermios.B19200:I
95: bipush 15
putstatic jtermios.JTermios.B38400:I
96: sipush 4097
putstatic jtermios.JTermios.B57600:I
97: sipush 4098
putstatic jtermios.JTermios.B115200:I
98: sipush 4099
putstatic jtermios.JTermios.B230400:I
99: iconst_1
putstatic jtermios.JTermios.POLLIN:S
100: iconst_2
putstatic jtermios.JTermios.POLLPRI:S
101: iconst_4
putstatic jtermios.JTermios.POLLOUT:S
102: bipush 8
putstatic jtermios.JTermios.POLLERR:S
103: bipush 32
putstatic jtermios.JTermios.POLLNVAL:S
104: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 105 0 this Ljtermios/linux/JTermiosImpl;
public int errno();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: invokestatic com.sun.jna.Native.getLastError:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljtermios/linux/JTermiosImpl;
public void cfmakeraw(jtermios.Termios);
descriptor: (Ljtermios/Termios;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: new jtermios.linux.JTermiosImpl$termios
dup
aload 1
invokespecial jtermios.linux.JTermiosImpl$termios.<init>:(Ljtermios/Termios;)V
astore 2
start local 2 1: getstatic jtermios.linux.JTermiosImpl.m_Clib:Ljtermios/linux/JTermiosImpl$C_lib;
aload 2
invokeinterface jtermios.linux.JTermiosImpl$C_lib.cfmakeraw:(Ljtermios/linux/JTermiosImpl$termios;)V
2: aload 2
aload 1
invokevirtual jtermios.linux.JTermiosImpl$termios.update:(Ljtermios/Termios;)V
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljtermios/linux/JTermiosImpl;
0 4 1 termios Ljtermios/Termios;
1 4 2 t Ljtermios/linux/JTermiosImpl$termios;
MethodParameters:
Name Flags
termios
public int fcntl(int, int, int);
descriptor: (III)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic jtermios.linux.JTermiosImpl.m_Clib:Ljtermios/linux/JTermiosImpl$C_lib;
iload 1
iload 2
iload 3
invokeinterface jtermios.linux.JTermiosImpl$C_lib.fcntl:(III)I
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljtermios/linux/JTermiosImpl;
0 1 1 fd I
0 1 2 cmd I
0 1 3 arg I
MethodParameters:
Name Flags
fd
cmd
arg
public int tcdrain(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: getstatic jtermios.linux.JTermiosImpl.m_Clib:Ljtermios/linux/JTermiosImpl$C_lib;
iload 1
invokeinterface jtermios.linux.JTermiosImpl$C_lib.tcdrain:(I)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljtermios/linux/JTermiosImpl;
0 1 1 fd I
MethodParameters:
Name Flags
fd
public int cfgetispeed(jtermios.Termios);
descriptor: (Ljtermios/Termios;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: getstatic jtermios.linux.JTermiosImpl.m_Clib:Ljtermios/linux/JTermiosImpl$C_lib;
new jtermios.linux.JTermiosImpl$termios
dup
aload 1
invokespecial jtermios.linux.JTermiosImpl$termios.<init>:(Ljtermios/Termios;)V
invokeinterface jtermios.linux.JTermiosImpl$C_lib.cfgetispeed:(Ljtermios/linux/JTermiosImpl$termios;)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljtermios/linux/JTermiosImpl;
0 1 1 termios Ljtermios/Termios;
MethodParameters:
Name Flags
termios
public int cfgetospeed(jtermios.Termios);
descriptor: (Ljtermios/Termios;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: getstatic jtermios.linux.JTermiosImpl.m_Clib:Ljtermios/linux/JTermiosImpl$C_lib;
new jtermios.linux.JTermiosImpl$termios
dup
aload 1
invokespecial jtermios.linux.JTermiosImpl$termios.<init>:(Ljtermios/Termios;)V
invokeinterface jtermios.linux.JTermiosImpl$C_lib.cfgetospeed:(Ljtermios/linux/JTermiosImpl$termios;)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljtermios/linux/JTermiosImpl;
0 1 1 termios Ljtermios/Termios;
MethodParameters:
Name Flags
termios
public int cfsetispeed(jtermios.Termios, int);
descriptor: (Ljtermios/Termios;I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: new jtermios.linux.JTermiosImpl$termios
dup
aload 1
invokespecial jtermios.linux.JTermiosImpl$termios.<init>:(Ljtermios/Termios;)V
astore 3
start local 3 1: getstatic jtermios.linux.JTermiosImpl.m_Clib:Ljtermios/linux/JTermiosImpl$C_lib;
aload 3
iload 2
invokeinterface jtermios.linux.JTermiosImpl$C_lib.cfsetispeed:(Ljtermios/linux/JTermiosImpl$termios;I)I
istore 4
start local 4 2: aload 3
aload 1
invokevirtual jtermios.linux.JTermiosImpl$termios.update:(Ljtermios/Termios;)V
3: iload 4
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljtermios/linux/JTermiosImpl;
0 4 1 termios Ljtermios/Termios;
0 4 2 speed I
1 4 3 t Ljtermios/linux/JTermiosImpl$termios;
2 4 4 ret I
MethodParameters:
Name Flags
termios
speed
public int cfsetospeed(jtermios.Termios, int);
descriptor: (Ljtermios/Termios;I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: new jtermios.linux.JTermiosImpl$termios
dup
aload 1
invokespecial jtermios.linux.JTermiosImpl$termios.<init>:(Ljtermios/Termios;)V
astore 3
start local 3 1: getstatic jtermios.linux.JTermiosImpl.m_Clib:Ljtermios/linux/JTermiosImpl$C_lib;
aload 3
iload 2
invokeinterface jtermios.linux.JTermiosImpl$C_lib.cfsetospeed:(Ljtermios/linux/JTermiosImpl$termios;I)I
istore 4
start local 4 2: aload 3
aload 1
invokevirtual jtermios.linux.JTermiosImpl$termios.update:(Ljtermios/Termios;)V
3: iload 4
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljtermios/linux/JTermiosImpl;
0 4 1 termios Ljtermios/Termios;
0 4 2 speed I
1 4 3 t Ljtermios/linux/JTermiosImpl$termios;
2 4 4 ret I
MethodParameters:
Name Flags
termios
speed
public int open(java.lang.String, int);
descriptor: (Ljava/lang/String;I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnull 2
aload 1
ldc "/"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 2
1: new java.lang.StringBuilder
dup
getstatic jtermios.linux.JTermiosImpl.DEVICE_DIR_PATH:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 1
2: StackMap locals:
StackMap stack:
getstatic jtermios.linux.JTermiosImpl.m_Clib:Ljtermios/linux/JTermiosImpl$C_lib;
aload 1
iload 2
invokeinterface jtermios.linux.JTermiosImpl$C_lib.open:(Ljava/lang/String;I)I
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljtermios/linux/JTermiosImpl;
0 3 1 s Ljava/lang/String;
0 3 2 t I
MethodParameters:
Name Flags
s
t
public int read(int, byte[], int);
descriptor: (I[BI)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic jtermios.linux.JTermiosImpl.m_Clib:Ljtermios/linux/JTermiosImpl$C_lib;
iload 1
aload 2
new jtermios.JTermios$JTermiosInterface$NativeSize
dup
iload 3
i2l
invokespecial jtermios.JTermios$JTermiosInterface$NativeSize.<init>:(J)V
invokeinterface jtermios.linux.JTermiosImpl$C_lib.read:(I[BLjtermios/JTermios$JTermiosInterface$NativeSize;)Ljtermios/JTermios$JTermiosInterface$NativeSize;
invokevirtual jtermios.JTermios$JTermiosInterface$NativeSize.intValue:()I
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljtermios/linux/JTermiosImpl;
0 1 1 fd I
0 1 2 buffer [B
0 1 3 len I
MethodParameters:
Name Flags
fd
buffer
len
public int write(int, byte[], int);
descriptor: (I[BI)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic jtermios.linux.JTermiosImpl.m_Clib:Ljtermios/linux/JTermiosImpl$C_lib;
iload 1
aload 2
new jtermios.JTermios$JTermiosInterface$NativeSize
dup
iload 3
i2l
invokespecial jtermios.JTermios$JTermiosInterface$NativeSize.<init>:(J)V
invokeinterface jtermios.linux.JTermiosImpl$C_lib.write:(I[BLjtermios/JTermios$JTermiosInterface$NativeSize;)Ljtermios/JTermios$JTermiosInterface$NativeSize;
invokevirtual jtermios.JTermios$JTermiosInterface$NativeSize.intValue:()I
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljtermios/linux/JTermiosImpl;
0 1 1 fd I
0 1 2 buffer [B
0 1 3 len I
MethodParameters:
Name Flags
fd
buffer
len
public int close(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: getstatic jtermios.linux.JTermiosImpl.m_Clib:Ljtermios/linux/JTermiosImpl$C_lib;
iload 1
invokeinterface jtermios.linux.JTermiosImpl$C_lib.close:(I)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljtermios/linux/JTermiosImpl;
0 1 1 fd I
MethodParameters:
Name Flags
fd
public int tcflush(int, int);
descriptor: (II)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic jtermios.linux.JTermiosImpl.m_Clib:Ljtermios/linux/JTermiosImpl$C_lib;
iload 1
iload 2
invokeinterface jtermios.linux.JTermiosImpl$C_lib.tcflush:(II)I
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljtermios/linux/JTermiosImpl;
0 1 1 fd I
0 1 2 b I
MethodParameters:
Name Flags
fd
b
public int tcgetattr(int, jtermios.Termios);
descriptor: (ILjtermios/Termios;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: new jtermios.linux.JTermiosImpl$termios
dup
invokespecial jtermios.linux.JTermiosImpl$termios.<init>:()V
astore 3
start local 3 1: getstatic jtermios.linux.JTermiosImpl.m_Clib:Ljtermios/linux/JTermiosImpl$C_lib;
iload 1
aload 3
invokeinterface jtermios.linux.JTermiosImpl$C_lib.tcgetattr:(ILjtermios/linux/JTermiosImpl$termios;)I
istore 4
start local 4 2: aload 3
aload 2
invokevirtual jtermios.linux.JTermiosImpl$termios.update:(Ljtermios/Termios;)V
3: iload 4
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljtermios/linux/JTermiosImpl;
0 4 1 fd I
0 4 2 termios Ljtermios/Termios;
1 4 3 t Ljtermios/linux/JTermiosImpl$termios;
2 4 4 ret I
MethodParameters:
Name Flags
fd
termios
public void perror(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: getstatic jtermios.linux.JTermiosImpl.m_Clib:Ljtermios/linux/JTermiosImpl$C_lib;
aload 1
invokeinterface jtermios.linux.JTermiosImpl$C_lib.perror:(Ljava/lang/String;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljtermios/linux/JTermiosImpl;
0 2 1 msg Ljava/lang/String;
MethodParameters:
Name Flags
msg
public int tcsendbreak(int, int);
descriptor: (II)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic jtermios.linux.JTermiosImpl.m_Clib:Ljtermios/linux/JTermiosImpl$C_lib;
iload 1
iload 2
sipush 250
idiv
invokeinterface jtermios.linux.JTermiosImpl$C_lib.tcsendbreak:(II)I
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljtermios/linux/JTermiosImpl;
0 1 1 fd I
0 1 2 duration I
MethodParameters:
Name Flags
fd
duration
public int tcsetattr(int, int, jtermios.Termios);
descriptor: (IILjtermios/Termios;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic jtermios.linux.JTermiosImpl.m_Clib:Ljtermios/linux/JTermiosImpl$C_lib;
iload 1
iload 2
new jtermios.linux.JTermiosImpl$termios
dup
aload 3
invokespecial jtermios.linux.JTermiosImpl$termios.<init>:(Ljtermios/Termios;)V
invokeinterface jtermios.linux.JTermiosImpl$C_lib.tcsetattr:(IILjtermios/linux/JTermiosImpl$termios;)I
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljtermios/linux/JTermiosImpl;
0 1 1 fd I
0 1 2 cmd I
0 1 3 termios Ljtermios/Termios;
MethodParameters:
Name Flags
fd
cmd
termios
public int select(int, jtermios.JTermios$FDSet, jtermios.JTermios$FDSet, jtermios.JTermios$FDSet, jtermios.TimeVal);
descriptor: (ILjtermios/JTermios$FDSet;Ljtermios/JTermios$FDSet;Ljtermios/JTermios$FDSet;Ljtermios/TimeVal;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=7, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aconst_null
astore 6
start local 6 1: aload 5
ifnull 3
2: new jtermios.linux.JTermiosImpl$timeval
dup
aload 5
invokespecial jtermios.linux.JTermiosImpl$timeval.<init>:(Ljtermios/TimeVal;)V
astore 6
3: StackMap locals: jtermios.linux.JTermiosImpl$timeval
StackMap stack:
getstatic jtermios.linux.JTermiosImpl.m_ClibND:Ljtermios/linux/JTermiosImpl$NonDirectCLib;
iload 1
aload 2
checkcast jtermios.linux.JTermiosImpl$fd_set
aload 3
checkcast jtermios.linux.JTermiosImpl$fd_set
aload 4
checkcast jtermios.linux.JTermiosImpl$fd_set
aload 6
invokeinterface jtermios.linux.JTermiosImpl$NonDirectCLib.select:(ILjtermios/linux/JTermiosImpl$fd_set;Ljtermios/linux/JTermiosImpl$fd_set;Ljtermios/linux/JTermiosImpl$fd_set;Ljtermios/linux/JTermiosImpl$timeval;)I
ireturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljtermios/linux/JTermiosImpl;
0 4 1 nfds I
0 4 2 rfds Ljtermios/JTermios$FDSet;
0 4 3 wfds Ljtermios/JTermios$FDSet;
0 4 4 efds Ljtermios/JTermios$FDSet;
0 4 5 timeout Ljtermios/TimeVal;
1 4 6 tout Ljtermios/linux/JTermiosImpl$timeval;
MethodParameters:
Name Flags
nfds
rfds
wfds
efds
timeout
public int poll(jtermios.Pollfd[], int, int);
descriptor: ([Ljtermios/Pollfd;II)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 2
ifle 1
iload 2
aload 1
arraylength
if_icmple 2
1: 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
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
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: StackMap locals:
StackMap stack:
new jtermios.linux.JTermiosImpl$pollfd$ByReference
dup
invokespecial jtermios.linux.JTermiosImpl$pollfd$ByReference.<init>:()V
astore 4
start local 4 3: aload 4
iload 2
invokevirtual jtermios.linux.JTermiosImpl$pollfd$ByReference.toArray:(I)[Lcom/sun/jna/Structure;
checkcast jtermios.linux.JTermiosImpl$pollfd[]
astore 5
start local 5 4: iconst_0
istore 6
start local 6 5: goto 9
6: StackMap locals: jtermios.linux.JTermiosImpl$pollfd$ByReference jtermios.linux.JTermiosImpl$pollfd[] int
StackMap stack:
aload 5
iload 6
aaload
aload 1
iload 6
aaload
getfield jtermios.Pollfd.fd:I
putfield jtermios.linux.JTermiosImpl$pollfd.fd:I
7: aload 5
iload 6
aaload
aload 1
iload 6
aaload
getfield jtermios.Pollfd.events:S
putfield jtermios.linux.JTermiosImpl$pollfd.events:S
8: iinc 6 1
StackMap locals:
StackMap stack:
9: iload 6
iload 2
if_icmplt 6
end local 6 10: getstatic jtermios.linux.JTermiosImpl.m_ClibND:Ljtermios/linux/JTermiosImpl$NonDirectCLib;
aload 4
iload 2
iload 3
invokeinterface jtermios.linux.JTermiosImpl$NonDirectCLib.poll:(Ljtermios/linux/JTermiosImpl$pollfd$ByReference;II)I
istore 6
start local 6 11: iconst_0
istore 7
start local 7 12: goto 15
13: StackMap locals: int
StackMap stack:
aload 1
iload 7
aaload
aload 5
iload 7
aaload
getfield jtermios.linux.JTermiosImpl$pollfd.revents:S
putfield jtermios.Pollfd.revents:S
14: iinc 7 1
StackMap locals:
StackMap stack:
15: iload 7
iload 2
if_icmplt 13
end local 7 16: iload 6
ireturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Ljtermios/linux/JTermiosImpl;
0 17 1 fds [Ljtermios/Pollfd;
0 17 2 nfds I
0 17 3 timeout I
3 17 4 parampfds Ljtermios/linux/JTermiosImpl$pollfd$ByReference;
4 17 5 pfds [Ljtermios/linux/JTermiosImpl$pollfd;
5 10 6 i I
11 17 6 ret I
12 16 7 i I
MethodParameters:
Name Flags
fds
nfds
timeout
public boolean canPoll();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljtermios/linux/JTermiosImpl;
public jtermios.JTermios$FDSet newFDSet();
descriptor: ()Ljtermios/JTermios$FDSet;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: new jtermios.linux.JTermiosImpl$fd_set
dup
invokespecial jtermios.linux.JTermiosImpl$fd_set.<init>:()V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljtermios/linux/JTermiosImpl;
public int ioctl(int, int, int[]);
descriptor: (II[I)I
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic jtermios.linux.JTermiosImpl.m_Clib:Ljtermios/linux/JTermiosImpl$C_lib;
iload 1
iload 2
aload 3
invokeinterface jtermios.linux.JTermiosImpl$C_lib.ioctl:(II[I)I
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljtermios/linux/JTermiosImpl;
0 1 1 fd I
0 1 2 cmd I
0 1 3 data [I
MethodParameters:
Name Flags
fd
cmd
data
private int ioctl(int, int, jtermios.linux.JTermiosImpl$serial_struct);
descriptor: (IILjtermios/linux/JTermiosImpl$serial_struct;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic jtermios.JTermios$JTermiosLogging.log:Z
ifeq 1
iconst_5
ldc "> ioctl(%d,%d,%s)\n"
iconst_3
anewarray java.lang.Object
dup
iconst_0
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
aload 3
aastore
invokestatic jtermios.JTermios$JTermiosLogging.log:(ILjava/lang/String;[Ljava/lang/Object;)Z
ifeq 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic jtermios.JTermios$JTermiosLogging.log:Z
3: getstatic jtermios.linux.JTermiosImpl.m_Clib:Ljtermios/linux/JTermiosImpl$C_lib;
iload 1
iload 2
aload 3
invokeinterface jtermios.linux.JTermiosImpl$C_lib.ioctl:(IILjtermios/linux/JTermiosImpl$serial_struct;)I
istore 4
start local 4 4: getstatic jtermios.JTermios$JTermiosLogging.log:Z
ifeq 5
iconst_3
ldc "< tcsetattr(%d,%d,%s) => %d\n"
iconst_4
anewarray java.lang.Object
dup
iconst_0
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
aload 3
aastore
dup
iconst_3
iload 4
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic jtermios.JTermios$JTermiosLogging.log:(ILjava/lang/String;[Ljava/lang/Object;)Z
ifeq 5
iconst_1
goto 6
StackMap locals: int
StackMap stack:
5: iconst_0
StackMap locals:
StackMap stack: int
6: putstatic jtermios.JTermios$JTermiosLogging.log:Z
7: iload 4
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljtermios/linux/JTermiosImpl;
0 8 1 fd I
0 8 2 cmd I
0 8 3 data Ljtermios/linux/JTermiosImpl$serial_struct;
4 8 4 ret I
MethodParameters:
Name Flags
fd
cmd
data
public java.lang.String getPortNamePattern();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=6, args_size=1
start local 0 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 1
start local 1 1: new java.io.BufferedReader
dup
new java.io.InputStreamReader
dup
new java.io.FileInputStream
dup
ldc "/proc/tty/drivers"
invokespecial java.io.FileInputStream.<init>:(Ljava/lang/String;)V
ldc "US-ASCII"
invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;Ljava/lang/String;)V
invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
astore 2
start local 2 2: goto 11
start local 3 3: StackMap locals: java.util.List java.io.BufferedReader java.lang.String
StackMap stack:
aload 3
ldc " +"
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 4
start local 4 4: aload 4
arraylength
iconst_5
if_icmpeq 6
5: goto 11
6: StackMap locals: java.lang.String[]
StackMap stack:
ldc "serial"
aload 4
iconst_4
aaload
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 8
7: goto 11
8: StackMap locals:
StackMap stack:
aload 4
iconst_1
aaload
ldc "/dev/"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 10
9: goto 11
10: StackMap locals:
StackMap stack:
aload 1
aload 4
iconst_1
aaload
iconst_5
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 4 end local 3 11: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
dup
astore 3
start local 3 12: ifnonnull 3
13: aload 2
invokevirtual java.io.BufferedReader.close:()V
end local 3 end local 2 14: goto 22
StackMap locals: jtermios.linux.JTermiosImpl java.util.List
StackMap stack: java.io.IOException
15: pop
16: getstatic jtermios.JTermios$JTermiosLogging.log:Z
ifeq 17
iconst_1
ldc "failed to read /proc/tty/drivers\n"
iconst_0
anewarray java.lang.Object
invokestatic jtermios.JTermios$JTermiosLogging.log:(ILjava/lang/String;[Ljava/lang/Object;)Z
ifeq 17
iconst_1
goto 18
StackMap locals:
StackMap stack:
17: iconst_0
StackMap locals:
StackMap stack: int
18: putstatic jtermios.JTermios$JTermiosLogging.log:Z
19: aload 1
ldc "ttyS"
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
20: aload 1
ldc "ttyUSB"
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
21: aload 1
ldc "ttyACM"
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
22: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 2
start local 2 23: aload 2
bipush 94
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
24: iconst_1
istore 3
start local 3 25: aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 34
StackMap locals: jtermios.linux.JTermiosImpl java.util.List java.lang.StringBuilder int top java.util.Iterator
StackMap stack:
26: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 4
start local 4 27: iload 3
ifeq 30
28: iconst_0
istore 3
29: goto 31
30: StackMap locals: jtermios.linux.JTermiosImpl java.util.List java.lang.StringBuilder int java.lang.String java.util.Iterator
StackMap stack:
aload 2
bipush 124
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
31: StackMap locals:
StackMap stack:
aload 2
ldc "("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
32: aload 2
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
33: aload 2
ldc ".+)"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 4 34: StackMap locals: jtermios.linux.JTermiosImpl java.util.List java.lang.StringBuilder int top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 26
35: aload 2
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 this Ljtermios/linux/JTermiosImpl;
1 36 1 prefixes Ljava/util/List<Ljava/lang/String;>;
2 14 2 drivers Ljava/io/BufferedReader;
3 11 3 line Ljava/lang/String;
12 14 3 line Ljava/lang/String;
4 11 4 parts [Ljava/lang/String;
23 36 2 pattern Ljava/lang/StringBuilder;
25 36 3 first Z
27 34 4 prefix Ljava/lang/String;
Exception table:
from to target type
1 14 15 Class java.io.IOException
public java.util.List<java.lang.String> getPortList();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=7, args_size=1
start local 0 0: new java.io.File
dup
getstatic jtermios.linux.JTermiosImpl.DEVICE_DIR_PATH:Ljava/lang/String;
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 1
start local 1 1: aload 1
invokevirtual java.io.File.isDirectory:()Z
ifne 6
2: getstatic jtermios.JTermios$JTermiosLogging.log:Z
ifeq 3
iconst_1
ldc "device directory %s does not exist\n"
iconst_1
anewarray java.lang.Object
dup
iconst_0
getstatic jtermios.linux.JTermiosImpl.DEVICE_DIR_PATH:Ljava/lang/String;
aastore
invokestatic jtermios.JTermios$JTermiosLogging.log:(ILjava/lang/String;[Ljava/lang/Object;)Z
ifeq 3
iconst_1
goto 4
StackMap locals: java.io.File
StackMap stack:
3: iconst_0
StackMap locals:
StackMap stack: int
4: putstatic jtermios.JTermios$JTermiosLogging.log:Z
5: aconst_null
areturn
6: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.io.File.list:()[Ljava/lang/String;
astore 2
start local 2 7: new java.util.LinkedList
dup
invokespecial java.util.LinkedList.<init>:()V
astore 3
start local 3 8: aload 0
invokestatic jtermios.JTermios.getPortNamePattern:(Ljtermios/JTermios$JTermiosInterface;)Ljava/util/regex/Pattern;
astore 4
start local 4 9: aload 2
ifnull 17
10: iconst_0
istore 5
start local 5 11: goto 16
12: StackMap locals: jtermios.linux.JTermiosImpl java.io.File java.lang.String[] java.util.LinkedList java.util.regex.Pattern int
StackMap stack:
aload 2
iload 5
aaload
astore 6
start local 6 13: aload 4
aload 6
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
invokevirtual java.util.regex.Matcher.matches:()Z
ifeq 15
14: aload 3
aload 6
invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
pop
end local 6 15: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
16: iload 5
aload 2
arraylength
if_icmplt 12
end local 5 17: StackMap locals:
StackMap stack:
aload 3
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Ljtermios/linux/JTermiosImpl;
1 18 1 dir Ljava/io/File;
7 18 2 devs [Ljava/lang/String;
8 18 3 list Ljava/util/LinkedList<Ljava/lang/String;>;
9 18 4 p Ljava/util/regex/Pattern;
11 17 5 i I
13 15 6 s Ljava/lang/String;
Signature: ()Ljava/util/List<Ljava/lang/String;>;
public void shutDown();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=1, args_size=1
start local 0 0: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljtermios/linux/JTermiosImpl;
public int setspeed(int, jtermios.Termios, int);
descriptor: (ILjtermios/Termios;I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 3
istore 4
start local 4 1: iconst_0
istore 6
start local 6 2: goto 18
3: StackMap locals: jtermios.linux.JTermiosImpl int jtermios.Termios int int top int
StackMap stack:
getstatic jtermios.linux.JTermiosImpl.m_BaudRates:[I
iload 6
iaload
iload 3
if_icmpne 17
4: new jtermios.linux.JTermiosImpl$serial_struct
dup
invokespecial jtermios.linux.JTermiosImpl$serial_struct.<init>:()V
astore 7
start local 7 5: aload 0
iload 1
sipush 21534
aload 7
invokevirtual jtermios.linux.JTermiosImpl.ioctl:(IILjtermios/linux/JTermiosImpl$serial_struct;)I
istore 5
start local 5 6: iload 5
ifne 9
7: aload 7
dup
getfield jtermios.linux.JTermiosImpl$serial_struct.flags:I
sipush -4145
iand
putfield jtermios.linux.JTermiosImpl$serial_struct.flags:I
8: aload 0
iload 1
sipush 21535
aload 7
invokevirtual jtermios.linux.JTermiosImpl.ioctl:(IILjtermios/linux/JTermiosImpl$serial_struct;)I
istore 5
9: StackMap locals: jtermios.linux.JTermiosImpl int jtermios.Termios int int int int jtermios.linux.JTermiosImpl$serial_struct
StackMap stack:
getstatic jtermios.linux.JTermiosImpl.m_BaudRates:[I
iload 6
iconst_1
iadd
iaload
istore 4
10: aload 2
iload 4
invokestatic jtermios.JTermios.cfsetispeed:(Ljtermios/Termios;I)I
dup
istore 5
ifeq 12
11: iload 5
ireturn
12: StackMap locals:
StackMap stack:
aload 2
iload 4
invokestatic jtermios.JTermios.cfsetospeed:(Ljtermios/Termios;I)I
dup
istore 5
ifeq 14
13: iload 5
ireturn
14: StackMap locals:
StackMap stack:
iload 1
getstatic jtermios.JTermios.TCSANOW:I
aload 2
invokestatic jtermios.JTermios.tcsetattr:(IILjtermios/Termios;)I
dup
istore 5
ifeq 16
15: iload 5
ireturn
16: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 7 end local 5 17: StackMap locals: jtermios.linux.JTermiosImpl int jtermios.Termios int int top int
StackMap stack:
iinc 6 2
StackMap locals:
StackMap stack:
18: iload 6
getstatic jtermios.linux.JTermiosImpl.m_BaudRates:[I
arraylength
if_icmplt 3
end local 6 19: new jtermios.linux.JTermiosImpl$serial_struct
dup
invokespecial jtermios.linux.JTermiosImpl$serial_struct.<init>:()V
astore 6
start local 6 20: aload 0
iload 1
sipush 21534
aload 6
invokevirtual jtermios.linux.JTermiosImpl.ioctl:(IILjtermios/linux/JTermiosImpl$serial_struct;)I
dup
istore 5
start local 5 21: ifeq 23
22: iload 5
ireturn
23: StackMap locals: jtermios.linux.JTermiosImpl int jtermios.Termios int int int jtermios.linux.JTermiosImpl$serial_struct
StackMap stack:
aload 6
aload 6
getfield jtermios.linux.JTermiosImpl$serial_struct.flags:I
sipush -4145
iand
bipush 48
ior
putfield jtermios.linux.JTermiosImpl$serial_struct.flags:I
24: iload 3
ifne 29
25: getstatic jtermios.JTermios$JTermiosLogging.log:Z
ifeq 26
iconst_1
ldc "unable to set custom baudrate %d \n"
iconst_1
anewarray java.lang.Object
dup
iconst_0
iload 3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic jtermios.JTermios$JTermiosLogging.log:(ILjava/lang/String;[Ljava/lang/Object;)Z
ifeq 26
iconst_1
goto 27
StackMap locals:
StackMap stack:
26: iconst_0
StackMap locals:
StackMap stack: int
27: putstatic jtermios.JTermios$JTermiosLogging.log:Z
28: iconst_m1
ireturn
29: StackMap locals:
StackMap stack:
aload 6
aload 6
getfield jtermios.linux.JTermiosImpl$serial_struct.baud_base:I
iload 3
iconst_2
idiv
iadd
iload 3
idiv
putfield jtermios.linux.JTermiosImpl$serial_struct.custom_divisor:I
30: aload 6
getfield jtermios.linux.JTermiosImpl$serial_struct.custom_divisor:I
ifne 35
31: getstatic jtermios.JTermios$JTermiosLogging.log:Z
ifeq 32
iconst_1
ldc "unable to set custom baudrate %d (possible division by zero)\n"
iconst_1
anewarray java.lang.Object
dup
iconst_0
iload 3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic jtermios.JTermios$JTermiosLogging.log:(ILjava/lang/String;[Ljava/lang/Object;)Z
ifeq 32
iconst_1
goto 33
StackMap locals:
StackMap stack:
32: iconst_0
StackMap locals:
StackMap stack: int
33: putstatic jtermios.JTermios$JTermiosLogging.log:Z
34: iconst_m1
ireturn
35: StackMap locals:
StackMap stack:
aload 6
getfield jtermios.linux.JTermiosImpl$serial_struct.baud_base:I
aload 6
getfield jtermios.linux.JTermiosImpl$serial_struct.custom_divisor:I
idiv
istore 7
start local 7 36: iload 7
iload 3
bipush 98
imul
bipush 100
idiv
if_icmplt 37
iload 7
iload 3
bipush 102
imul
bipush 100
idiv
if_icmple 41
37: StackMap locals: int
StackMap stack:
getstatic jtermios.JTermios$JTermiosLogging.log:Z
ifeq 38
iconst_1
ldc "best available baudrate %d not close enough to requested %d \n"
iconst_2
anewarray java.lang.Object
dup
iconst_0
iload 7
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
iload 3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic jtermios.JTermios$JTermiosLogging.log:(ILjava/lang/String;[Ljava/lang/Object;)Z
ifeq 38
iconst_1
goto 39
StackMap locals:
StackMap stack:
38: iconst_0
StackMap locals:
StackMap stack: int
39: putstatic jtermios.JTermios$JTermiosLogging.log:Z
40: iconst_m1
ireturn
41: StackMap locals:
StackMap stack:
aload 0
iload 1
sipush 21535
aload 6
invokevirtual jtermios.linux.JTermiosImpl.ioctl:(IILjtermios/linux/JTermiosImpl$serial_struct;)I
dup
istore 5
ifeq 43
42: iload 5
ireturn
43: StackMap locals:
StackMap stack:
aload 2
getstatic jtermios.JTermios.B38400:I
invokestatic jtermios.JTermios.cfsetispeed:(Ljtermios/Termios;I)I
dup
istore 5
ifeq 45
44: iload 5
ireturn
45: StackMap locals:
StackMap stack:
aload 2
getstatic jtermios.JTermios.B38400:I
invokestatic jtermios.JTermios.cfsetospeed:(Ljtermios/Termios;I)I
dup
istore 5
ifeq 47
46: iload 5
ireturn
47: StackMap locals:
StackMap stack:
iload 1
getstatic jtermios.JTermios.TCSANOW:I
aload 2
invokestatic jtermios.JTermios.tcsetattr:(IILjtermios/Termios;)I
dup
istore 5
ifeq 49
48: iload 5
ireturn
49: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 50 0 this Ljtermios/linux/JTermiosImpl;
0 50 1 fd I
0 50 2 termios Ljtermios/Termios;
0 50 3 speed I
1 50 4 c I
6 17 5 r I
21 50 5 r I
2 19 6 i I
5 17 7 ss Ljtermios/linux/JTermiosImpl$serial_struct;
20 50 6 ss Ljtermios/linux/JTermiosImpl$serial_struct;
36 50 7 closestSpeed I
MethodParameters:
Name Flags
fd
termios
speed
public int pipe(int[]);
descriptor: ([I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: getstatic jtermios.linux.JTermiosImpl.m_Clib:Ljtermios/linux/JTermiosImpl$C_lib;
aload 1
invokeinterface jtermios.linux.JTermiosImpl$C_lib.pipe:([I)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljtermios/linux/JTermiosImpl;
0 1 1 fds [I
MethodParameters:
Name Flags
fds
}
SourceFile: "JTermiosImpl.java"
NestMembers:
jtermios.linux.JTermiosImpl$C_lib jtermios.linux.JTermiosImpl$C_lib_DirectMapping jtermios.linux.JTermiosImpl$NonDirectCLib jtermios.linux.JTermiosImpl$fd_set jtermios.linux.JTermiosImpl$pollfd jtermios.linux.JTermiosImpl$pollfd$ByReference jtermios.linux.JTermiosImpl$serial_struct jtermios.linux.JTermiosImpl$termios jtermios.linux.JTermiosImpl$timeval
InnerClasses:
public abstract FDSet = jtermios.JTermios$FDSet of jtermios.JTermios
public abstract JTermiosInterface = jtermios.JTermios$JTermiosInterface of jtermios.JTermios
public NativeSize = jtermios.JTermios$JTermiosInterface$NativeSize of jtermios.JTermios$JTermiosInterface
public JTermiosLogging = jtermios.JTermios$JTermiosLogging of jtermios.JTermios
public abstract C_lib = jtermios.linux.JTermiosImpl$C_lib of jtermios.linux.JTermiosImpl
public C_lib_DirectMapping = jtermios.linux.JTermiosImpl$C_lib_DirectMapping of jtermios.linux.JTermiosImpl
public abstract NonDirectCLib = jtermios.linux.JTermiosImpl$NonDirectCLib of jtermios.linux.JTermiosImpl
public fd_set = jtermios.linux.JTermiosImpl$fd_set of jtermios.linux.JTermiosImpl
public pollfd = jtermios.linux.JTermiosImpl$pollfd of jtermios.linux.JTermiosImpl
public ByReference = jtermios.linux.JTermiosImpl$pollfd$ByReference of jtermios.linux.JTermiosImpl$pollfd
public serial_struct = jtermios.linux.JTermiosImpl$serial_struct of jtermios.linux.JTermiosImpl
public termios = jtermios.linux.JTermiosImpl$termios of jtermios.linux.JTermiosImpl
public timeval = jtermios.linux.JTermiosImpl$timeval of jtermios.linux.JTermiosImpl