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: ldc "/dev/"
putstatic jtermios.freebsd.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/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: 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: 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: getstatic jtermios.freebsd.JTermiosImpl.m_ClibDM:Ljtermios/freebsd/JTermiosImpl$C_lib_DirectMapping;
putstatic jtermios.freebsd.JTermiosImpl.m_Clib:Ljtermios/freebsd/JTermiosImpl$C_lib;
6: 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.freebsd.JTermiosImpl
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: putstatic jtermios.JTermios$JTermiosLogging.log:Z
4: ldc 1074030207
putstatic jtermios.JTermios.FIONREAD:I
5: iconst_2
putstatic jtermios.JTermios.O_RDWR:I
6: iconst_4
putstatic jtermios.JTermios.O_NONBLOCK:I
7: ldc 32768
putstatic jtermios.JTermios.O_NOCTTY:I
8: iconst_4
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 35
putstatic jtermios.JTermios.EAGAIN:I
12: bipush 9
putstatic jtermios.JTermios.EBADF:I
13: bipush 22
putstatic jtermios.JTermios.EACCES:I
14: bipush 17
putstatic jtermios.JTermios.EEXIST:I
15: iconst_4
putstatic jtermios.JTermios.EINTR:I
16: bipush 22
putstatic jtermios.JTermios.EINVAL:I
17: iconst_5
putstatic jtermios.JTermios.EIO:I
18: bipush 21
putstatic jtermios.JTermios.EISDIR:I
19: bipush 62
putstatic jtermios.JTermios.ELOOP:I
20: bipush 24
putstatic jtermios.JTermios.EMFILE:I
21: bipush 63
putstatic jtermios.JTermios.ENAMETOOLONG:I
22: bipush 23
putstatic jtermios.JTermios.ENFILE:I
23: iconst_2
putstatic jtermios.JTermios.ENOENT: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 84
putstatic jtermios.JTermios.EOVERFLOW:I
28: bipush 30
putstatic jtermios.JTermios.EROFS:I
29: bipush 45
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: bipush 8
putstatic jtermios.JTermios.PARMRK:I
35: bipush 64
putstatic jtermios.JTermios.INLCR:I
36: sipush 128
putstatic jtermios.JTermios.IGNCR:I
37: sipush 256
putstatic jtermios.JTermios.ICRNL:I
38: bipush 16
putstatic jtermios.JTermios.ECHONL:I
39: sipush 1024
putstatic jtermios.JTermios.IEXTEN:I
40: ldc 32768
putstatic jtermios.JTermios.CLOCAL:I
41: iconst_1
putstatic jtermios.JTermios.OPOST:I
42: bipush 12
putstatic jtermios.JTermios.VSTART:I
43: iconst_0
putstatic jtermios.JTermios.TCSANOW:I
44: bipush 13
putstatic jtermios.JTermios.VSTOP:I
45: bipush 16
putstatic jtermios.JTermios.VMIN:I
46: bipush 17
putstatic jtermios.JTermios.VTIME:I
47: iconst_0
putstatic jtermios.JTermios.VEOF:I
48: ldc 1074033770
putstatic jtermios.JTermios.TIOCMGET:I
49: bipush 32
putstatic jtermios.JTermios.TIOCM_CTS:I
50: sipush 256
putstatic jtermios.JTermios.TIOCM_DSR:I
51: sipush 128
putstatic jtermios.JTermios.TIOCM_RI:I
52: bipush 64
putstatic jtermios.JTermios.TIOCM_CD:I
53: iconst_2
putstatic jtermios.JTermios.TIOCM_DTR:I
54: iconst_4
putstatic jtermios.JTermios.TIOCM_RTS:I
55: sipush 256
putstatic jtermios.JTermios.ICANON:I
56: bipush 8
putstatic jtermios.JTermios.ECHO:I
57: iconst_2
putstatic jtermios.JTermios.ECHOE:I
58: sipush 128
putstatic jtermios.JTermios.ISIG:I
59: ldc -2147191699
putstatic jtermios.JTermios.TIOCMSET:I
60: sipush 512
putstatic jtermios.JTermios.IXON:I
61: sipush 1024
putstatic jtermios.JTermios.IXOFF:I
62: sipush 2048
putstatic jtermios.JTermios.IXANY:I
63: ldc 196608
putstatic jtermios.JTermios.CRTSCTS:I
64: iconst_1
putstatic jtermios.JTermios.TCSADRAIN:I
65: bipush 16
putstatic jtermios.JTermios.INPCK:I
66: bipush 32
putstatic jtermios.JTermios.ISTRIP:I
67: sipush 768
putstatic jtermios.JTermios.CSIZE:I
68: iconst_1
putstatic jtermios.JTermios.TCIFLUSH:I
69: iconst_2
putstatic jtermios.JTermios.TCOFLUSH:I
70: iconst_3
putstatic jtermios.JTermios.TCIOFLUSH:I
71: iconst_0
putstatic jtermios.JTermios.CS5:I
72: sipush 256
putstatic jtermios.JTermios.CS6:I
73: sipush 512
putstatic jtermios.JTermios.CS7:I
74: sipush 768
putstatic jtermios.JTermios.CS8:I
75: sipush 1024
putstatic jtermios.JTermios.CSTOPB:I
76: sipush 2048
putstatic jtermios.JTermios.CREAD:I
77: sipush 4096
putstatic jtermios.JTermios.PARENB:I
78: sipush 8192
putstatic jtermios.JTermios.PARODD:I
79: iconst_0
putstatic jtermios.JTermios.B0:I
80: bipush 50
putstatic jtermios.JTermios.B50:I
81: bipush 75
putstatic jtermios.JTermios.B75:I
82: bipush 110
putstatic jtermios.JTermios.B110:I
83: sipush 134
putstatic jtermios.JTermios.B134:I
84: sipush 150
putstatic jtermios.JTermios.B150:I
85: sipush 200
putstatic jtermios.JTermios.B200:I
86: sipush 300
putstatic jtermios.JTermios.B300:I
87: sipush 600
putstatic jtermios.JTermios.B600:I
88: sipush 600
putstatic jtermios.JTermios.B1200:I
89: sipush 1800
putstatic jtermios.JTermios.B1800:I
90: sipush 2400
putstatic jtermios.JTermios.B2400:I
91: sipush 4800
putstatic jtermios.JTermios.B4800:I
92: sipush 9600
putstatic jtermios.JTermios.B9600:I
93: sipush 19200
putstatic jtermios.JTermios.B19200:I
94: ldc 38400
putstatic jtermios.JTermios.B38400:I
95: sipush 7200
putstatic jtermios.JTermios.B7200:I
96: sipush 14400
putstatic jtermios.JTermios.B14400:I
97: sipush 28800
putstatic jtermios.JTermios.B28800:I
98: ldc 57600
putstatic jtermios.JTermios.B57600:I
99: ldc 76800
putstatic jtermios.JTermios.B76800:I
100: ldc 115200
putstatic jtermios.JTermios.B115200:I
101: ldc 230400
putstatic jtermios.JTermios.B230400:I
102: iconst_1
putstatic jtermios.JTermios.POLLIN:S
103: iconst_2
putstatic jtermios.JTermios.POLLPRI:S
104: iconst_4
putstatic jtermios.JTermios.POLLOUT:S
105: bipush 8
putstatic jtermios.JTermios.POLLERR:S
106: bipush 32
putstatic jtermios.JTermios.POLLNVAL:S
107: return
end local 0 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 0: invokestatic com.sun.jna.Native.getLastError:()I
ireturn
end local 0 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 start local 1 0: new jtermios.freebsd.JTermiosImpl$termios
dup
aload 1
invokespecial jtermios.freebsd.JTermiosImpl$termios.<init>:(Ljtermios/Termios;)V
astore 2
start local 2 1: getstatic jtermios.freebsd.JTermiosImpl.m_Clib:Ljtermios/freebsd/JTermiosImpl$C_lib;
aload 2
invokeinterface jtermios.freebsd.JTermiosImpl$C_lib.cfmakeraw:(Ljtermios/freebsd/JTermiosImpl$termios;)V
2: aload 2
aload 1
invokevirtual jtermios.freebsd.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/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 start local 1 start local 2 start local 3 0: getstatic jtermios.freebsd.JTermiosImpl.m_Clib:Ljtermios/freebsd/JTermiosImpl$C_lib;
iload 1
iload 2
iload 3
invokeinterface jtermios.freebsd.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/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 start local 1 0: getstatic jtermios.freebsd.JTermiosImpl.m_Clib:Ljtermios/freebsd/JTermiosImpl$C_lib;
iload 1
invokeinterface jtermios.freebsd.JTermiosImpl$C_lib.tcdrain:(I)I
ireturn
end local 1 end local 0 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 start local 1 0: getstatic jtermios.freebsd.JTermiosImpl.m_Clib:Ljtermios/freebsd/JTermiosImpl$C_lib;
new jtermios.freebsd.JTermiosImpl$termios
dup
aload 1
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 end local 0 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 start local 1 0: getstatic jtermios.freebsd.JTermiosImpl.m_Clib:Ljtermios/freebsd/JTermiosImpl$C_lib;
new jtermios.freebsd.JTermiosImpl$termios
dup
aload 1
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 end local 0 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 start local 1 start local 2 0: new jtermios.freebsd.JTermiosImpl$termios
dup
aload 1
invokespecial jtermios.freebsd.JTermiosImpl$termios.<init>:(Ljtermios/Termios;)V
astore 3
start local 3 1: getstatic jtermios.freebsd.JTermiosImpl.m_Clib:Ljtermios/freebsd/JTermiosImpl$C_lib;
aload 3
new com.sun.jna.NativeLong
dup
iload 2
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
start local 4 2: aload 3
aload 1
invokevirtual jtermios.freebsd.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/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 start local 1 start local 2 0: new jtermios.freebsd.JTermiosImpl$termios
dup
aload 1
invokespecial jtermios.freebsd.JTermiosImpl$termios.<init>:(Ljtermios/Termios;)V
astore 3
start local 3 1: getstatic jtermios.freebsd.JTermiosImpl.m_Clib:Ljtermios/freebsd/JTermiosImpl$C_lib;
aload 3
new com.sun.jna.NativeLong
dup
iload 2
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
start local 4 2: aload 3
aload 1
invokevirtual jtermios.freebsd.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/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 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.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
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.freebsd.JTermiosImpl.m_Clib:Ljtermios/freebsd/JTermiosImpl$C_lib;
aload 1
iload 2
invokeinterface jtermios.freebsd.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/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 start local 1 start local 2 start local 3 0: getstatic jtermios.freebsd.JTermiosImpl.m_Clib:Ljtermios/freebsd/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.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 end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 0: getstatic jtermios.freebsd.JTermiosImpl.m_Clib:Ljtermios/freebsd/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.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 end local 2 end local 1 end local 0 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 start local 1 0: getstatic jtermios.freebsd.JTermiosImpl.m_Clib:Ljtermios/freebsd/JTermiosImpl$C_lib;
iload 1
invokeinterface jtermios.freebsd.JTermiosImpl$C_lib.close:(I)I
ireturn
end local 1 end local 0 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 start local 1 start local 2 0: getstatic jtermios.freebsd.JTermiosImpl.m_Clib:Ljtermios/freebsd/JTermiosImpl$C_lib;
iload 1
iload 2
invokeinterface jtermios.freebsd.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/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 start local 1 start local 2 0: new jtermios.freebsd.JTermiosImpl$termios
dup
invokespecial jtermios.freebsd.JTermiosImpl$termios.<init>:()V
astore 3
start local 3 1: getstatic jtermios.freebsd.JTermiosImpl.m_Clib:Ljtermios/freebsd/JTermiosImpl$C_lib;
iload 1
aload 3
invokeinterface jtermios.freebsd.JTermiosImpl$C_lib.tcgetattr:(ILjtermios/freebsd/JTermiosImpl$termios;)I
istore 4
start local 4 2: aload 3
aload 2
invokevirtual jtermios.freebsd.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/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 start local 1 0: getstatic jtermios.freebsd.JTermiosImpl.m_Clib:Ljtermios/freebsd/JTermiosImpl$C_lib;
aload 1
invokeinterface jtermios.freebsd.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/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 start local 1 start local 2 0: getstatic jtermios.freebsd.JTermiosImpl.m_Clib:Ljtermios/freebsd/JTermiosImpl$C_lib;
iload 1
iload 2
sipush 250
idiv
invokeinterface jtermios.freebsd.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/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 start local 1 start local 2 start local 3 0: getstatic jtermios.freebsd.JTermiosImpl.m_Clib:Ljtermios/freebsd/JTermiosImpl$C_lib;
iload 1
iload 2
new jtermios.freebsd.JTermiosImpl$termios
dup
aload 3
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 end local 2 end local 1 end local 0 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 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.freebsd.JTermiosImpl$timeval
dup
aload 5
invokespecial jtermios.freebsd.JTermiosImpl$timeval.<init>:(Ljtermios/TimeVal;)V
astore 6
3: StackMap locals: jtermios.freebsd.JTermiosImpl$timeval
StackMap stack:
getstatic jtermios.freebsd.JTermiosImpl.m_Clib:Ljtermios/freebsd/JTermiosImpl$C_lib;
iload 1
aload 2
checkcast jtermios.freebsd.JTermiosImpl$fd_set
aload 3
checkcast jtermios.freebsd.JTermiosImpl$fd_set
aload 4
checkcast jtermios.freebsd.JTermiosImpl$fd_set
aload 6
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 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/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 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.freebsd.JTermiosImpl$pollfd$ByReference
dup
invokespecial jtermios.freebsd.JTermiosImpl$pollfd$ByReference.<init>:()V
astore 4
start local 4 3: aload 4
iload 2
invokevirtual jtermios.freebsd.JTermiosImpl$pollfd$ByReference.toArray:(I)[Lcom/sun/jna/Structure;
checkcast jtermios.freebsd.JTermiosImpl$pollfd[]
astore 5
start local 5 4: iconst_0
istore 6
start local 6 5: goto 9
6: StackMap locals: jtermios.freebsd.JTermiosImpl$pollfd$ByReference jtermios.freebsd.JTermiosImpl$pollfd[] int
StackMap stack:
aload 5
iload 6
aaload
aload 1
iload 6
aaload
getfield jtermios.Pollfd.fd:I
putfield jtermios.freebsd.JTermiosImpl$pollfd.fd:I
7: aload 5
iload 6
aaload
aload 1
iload 6
aaload
getfield jtermios.Pollfd.events:S
putfield jtermios.freebsd.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.freebsd.JTermiosImpl.m_ClibND:Ljtermios/freebsd/JTermiosImpl$NonDirectCLib;
aload 4
iload 2
iload 3
invokeinterface jtermios.freebsd.JTermiosImpl$NonDirectCLib.poll:(Ljtermios/freebsd/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.freebsd.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/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 0: iconst_1
ireturn
end local 0 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 0: new jtermios.freebsd.JTermiosImpl$fd_set
dup
invokespecial jtermios.freebsd.JTermiosImpl$fd_set.<init>:()V
areturn
end local 0 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 start local 1 start local 2 start local 3 0: getstatic jtermios.freebsd.JTermiosImpl.m_Clib:Ljtermios/freebsd/JTermiosImpl$C_lib;
iload 1
iload 2
aload 3
invokeinterface jtermios.freebsd.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/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 0: 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
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.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: 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 2
ifnull 16
9: iconst_0
istore 4
start local 4 10: goto 15
11: StackMap locals: java.lang.String[] java.util.LinkedList int
StackMap stack:
aload 2
iload 4
aaload
astore 5
start local 5 12: aload 5
ldc "cua"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 13
aload 5
ldc "tty"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 14
13: StackMap locals: java.lang.String
StackMap stack:
aload 3
aload 5
invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
pop
end local 5 14: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
15: iload 4
aload 2
arraylength
if_icmplt 11
end local 4 16: StackMap locals:
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 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 0: return
end local 0 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 0: ldc "^(tty\\.|cu\\.).*"
areturn
end local 0 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 start local 1 start local 2 start local 3 0: aload 0
aload 2
iload 3
invokevirtual jtermios.freebsd.JTermiosImpl.cfsetispeed:(Ljtermios/Termios;I)I
istore 4
start local 4 1: iload 4
ifne 3
2: aload 0
aload 2
iload 3
invokevirtual jtermios.freebsd.JTermiosImpl.cfsetospeed:(Ljtermios/Termios;I)I
istore 4
3: StackMap locals: int
StackMap stack:
iload 4
ifne 5
4: aload 0
iload 1
getstatic jtermios.JTermios.TCSANOW:I
aload 2
invokevirtual jtermios.freebsd.JTermiosImpl.tcsetattr:(IILjtermios/Termios;)I
istore 4
5: StackMap locals:
StackMap stack:
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 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 start local 1 0: getstatic jtermios.freebsd.JTermiosImpl.m_Clib:Ljtermios/freebsd/JTermiosImpl$C_lib;
aload 1
invokeinterface jtermios.freebsd.JTermiosImpl$C_lib.pipe:([I)I
ireturn
end local 1 end local 0 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