public abstract class oadd.org.apache.commons.net.tftp.TFTPRequestPacket extends oadd.org.apache.commons.net.tftp.TFTPPacket
{
static final java.lang.String[] modeStrings;
private static final byte[][] modeBytes;
private final int mode;
private final java.lang.String fileName;
void <init>(java.net.InetAddress, int, int, java.lang.String, int)
{
java.net.InetAddress v;
oadd.org.apache.commons.net.tftp.TFTPRequestPacket v;
int v, v, v;
java.lang.String v;
v := @this: oadd.org.apache.commons.net.tftp.TFTPRequestPacket;
v := @parameter: java.net.InetAddress;
v := @parameter: int;
v := @parameter: int;
v := @parameter: java.lang.String;
v := @parameter: int;
specialinvoke v.<oadd.org.apache.commons.net.tftp.TFTPPacket: void <init>(int,java.net.InetAddress,int)>(v, v, v);
v.<oadd.org.apache.commons.net.tftp.TFTPRequestPacket: java.lang.String fileName> = v;
v.<oadd.org.apache.commons.net.tftp.TFTPRequestPacket: int mode> = v;
return;
}
void <init>(int, java.net.DatagramPacket) throws oadd.org.apache.commons.net.tftp.TFTPPacketException
{
byte[] v;
java.lang.String[] v, v;
oadd.org.apache.commons.net.tftp.TFTPPacketException v, v, v;
java.net.InetAddress v;
byte v, v, v, v, v;
java.util.Locale v;
oadd.org.apache.commons.net.tftp.TFTPRequestPacket v;
int v, v, v, v, v, v, v, v, v;
java.lang.String v, v, v, v, v;
boolean v;
java.lang.StringBuilder v;
java.net.DatagramPacket v;
v := @this: oadd.org.apache.commons.net.tftp.TFTPRequestPacket;
v := @parameter: int;
v := @parameter: java.net.DatagramPacket;
v = virtualinvoke v.<java.net.DatagramPacket: java.net.InetAddress getAddress()>();
v = virtualinvoke v.<java.net.DatagramPacket: int getPort()>();
specialinvoke v.<oadd.org.apache.commons.net.tftp.TFTPPacket: void <init>(int,java.net.InetAddress,int)>(v, v, v);
v = virtualinvoke v.<java.net.DatagramPacket: byte[] getData()>();
v = virtualinvoke v.<oadd.org.apache.commons.net.tftp.TFTPRequestPacket: int getType()>();
v = v[1];
if v == v goto label;
v = new oadd.org.apache.commons.net.tftp.TFTPPacketException;
specialinvoke v.<oadd.org.apache.commons.net.tftp.TFTPPacketException: void <init>(java.lang.String)>("TFTP operator code does not match type.");
throw v;
label:
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>()>();
v = 2;
v = virtualinvoke v.<java.net.DatagramPacket: int getLength()>();
label:
if v >= v goto label;
v = v[v];
if v == 0 goto label;
v = v[v];
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(v);
v = v + 1;
goto label;
label:
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
v.<oadd.org.apache.commons.net.tftp.TFTPRequestPacket: java.lang.String fileName> = v;
if v < v goto label;
v = new oadd.org.apache.commons.net.tftp.TFTPPacketException;
specialinvoke v.<oadd.org.apache.commons.net.tftp.TFTPPacketException: void <init>(java.lang.String)>("Bad file name and mode format.");
throw v;
label:
virtualinvoke v.<java.lang.StringBuilder: void setLength(int)>(0);
v = v + 1;
label:
if v >= v goto label;
v = v[v];
if v == 0 goto label;
v = v[v];
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(v);
v = v + 1;
goto label;
label:
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
v = <java.util.Locale: java.util.Locale ENGLISH>;
v = virtualinvoke v.<java.lang.String: java.lang.String toLowerCase(java.util.Locale)>(v);
v = <oadd.org.apache.commons.net.tftp.TFTPRequestPacket: java.lang.String[] modeStrings>;
v = lengthof v;
v = 0;
v = 0;
label:
if v >= v goto label;
v = <oadd.org.apache.commons.net.tftp.TFTPRequestPacket: java.lang.String[] modeStrings>;
v = v[v];
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = v;
goto label;
label:
v = v + 1;
goto label;
label:
v.<oadd.org.apache.commons.net.tftp.TFTPRequestPacket: int mode> = v;
if v < v goto label;
v = new oadd.org.apache.commons.net.tftp.TFTPPacketException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Unrecognized TFTP transfer mode: \u0001");
specialinvoke v.<oadd.org.apache.commons.net.tftp.TFTPPacketException: void <init>(java.lang.String)>(v);
throw v;
label:
return;
}
public final java.lang.String getFilename()
{
java.lang.String v;
oadd.org.apache.commons.net.tftp.TFTPRequestPacket v;
v := @this: oadd.org.apache.commons.net.tftp.TFTPRequestPacket;
v = v.<oadd.org.apache.commons.net.tftp.TFTPRequestPacket: java.lang.String fileName>;
return v;
}
public final int getMode()
{
int v;
oadd.org.apache.commons.net.tftp.TFTPRequestPacket v;
v := @this: oadd.org.apache.commons.net.tftp.TFTPRequestPacket;
v = v.<oadd.org.apache.commons.net.tftp.TFTPRequestPacket: int mode>;
return v;
}
public final java.net.DatagramPacket newDatagram()
{
byte[] v, v, v, v;
java.net.InetAddress v;
oadd.org.apache.commons.net.tftp.TFTPRequestPacket v;
int v, v, v, v, v, v, v, v, v, v, v;
java.lang.String v, v;
byte[][] v, v;
java.net.DatagramPacket v;
v := @this: oadd.org.apache.commons.net.tftp.TFTPRequestPacket;
v = v.<oadd.org.apache.commons.net.tftp.TFTPRequestPacket: java.lang.String fileName>;
v = virtualinvoke v.<java.lang.String: int length()>();
v = <oadd.org.apache.commons.net.tftp.TFTPRequestPacket: byte[][] modeBytes>;
v = v.<oadd.org.apache.commons.net.tftp.TFTPRequestPacket: int mode>;
v = v[v];
v = lengthof v;
v = v + v;
v = v + 4;
v = newarray (byte)[v];
v[0] = 0;
v = v.<oadd.org.apache.commons.net.tftp.TFTPRequestPacket: int type>;
v[1] = v;
v = v.<oadd.org.apache.commons.net.tftp.TFTPRequestPacket: java.lang.String fileName>;
v = virtualinvoke v.<java.lang.String: byte[] getBytes()>();
staticinvoke <java.lang.System: void arraycopy(java.lang.Object,int,java.lang.Object,int,int)>(v, 0, v, 2, v);
v = v + 2;
v[v] = 0;
v = <oadd.org.apache.commons.net.tftp.TFTPRequestPacket: byte[][] modeBytes>;
v = v.<oadd.org.apache.commons.net.tftp.TFTPRequestPacket: int mode>;
v = v[v];
v = v + 3;
staticinvoke <java.lang.System: void arraycopy(java.lang.Object,int,java.lang.Object,int,int)>(v, 0, v, v, v);
v = new java.net.DatagramPacket;
v = lengthof v;
v = v.<oadd.org.apache.commons.net.tftp.TFTPRequestPacket: java.net.InetAddress address>;
v = v.<oadd.org.apache.commons.net.tftp.TFTPRequestPacket: int port>;
specialinvoke v.<java.net.DatagramPacket: void <init>(byte[],int,java.net.InetAddress,int)>(v, v, v, v);
return v;
}
final java.net.DatagramPacket newDatagram(java.net.DatagramPacket, byte[])
{
byte[] v, v, v, v;
java.net.InetAddress v;
oadd.org.apache.commons.net.tftp.TFTPRequestPacket v;
int v, v, v, v, v, v, v, v, v, v;
java.lang.String v, v;
byte[][] v, v;
java.net.DatagramPacket v;
v := @this: oadd.org.apache.commons.net.tftp.TFTPRequestPacket;
v := @parameter: java.net.DatagramPacket;
v := @parameter: byte[];
v = v.<oadd.org.apache.commons.net.tftp.TFTPRequestPacket: java.lang.String fileName>;
v = virtualinvoke v.<java.lang.String: int length()>();
v = <oadd.org.apache.commons.net.tftp.TFTPRequestPacket: byte[][] modeBytes>;
v = v.<oadd.org.apache.commons.net.tftp.TFTPRequestPacket: int mode>;
v = v[v];
v = lengthof v;
v[0] = 0;
v = v.<oadd.org.apache.commons.net.tftp.TFTPRequestPacket: int type>;
v[1] = v;
v = v.<oadd.org.apache.commons.net.tftp.TFTPRequestPacket: java.lang.String fileName>;
v = virtualinvoke v.<java.lang.String: byte[] getBytes()>();
staticinvoke <java.lang.System: void arraycopy(java.lang.Object,int,java.lang.Object,int,int)>(v, 0, v, 2, v);
v = v + 2;
v[v] = 0;
v = <oadd.org.apache.commons.net.tftp.TFTPRequestPacket: byte[][] modeBytes>;
v = v.<oadd.org.apache.commons.net.tftp.TFTPRequestPacket: int mode>;
v = v[v];
v = v + 3;
staticinvoke <java.lang.System: void arraycopy(java.lang.Object,int,java.lang.Object,int,int)>(v, 0, v, v, v);
v = v.<oadd.org.apache.commons.net.tftp.TFTPRequestPacket: java.net.InetAddress address>;
virtualinvoke v.<java.net.DatagramPacket: void setAddress(java.net.InetAddress)>(v);
v = v.<oadd.org.apache.commons.net.tftp.TFTPRequestPacket: int port>;
virtualinvoke v.<java.net.DatagramPacket: void setPort(int)>(v);
virtualinvoke v.<java.net.DatagramPacket: void setData(byte[])>(v);
v = v + v;
v = v + 3;
virtualinvoke v.<java.net.DatagramPacket: void setLength(int)>(v);
return v;
}
static void <clinit>()
{
byte[] v, v;
byte[][] v;
java.lang.String[] v;
v = newarray (java.lang.String)[2];
v[0] = "netascii";
v[1] = "octet";
<oadd.org.apache.commons.net.tftp.TFTPRequestPacket: java.lang.String[] modeStrings> = v;
v = newarray (byte[])[2];
v = newarray (byte)[9];
v[0] = 110;
v[1] = 101;
v[2] = 116;
v[3] = 97;
v[4] = 115;
v[5] = 99;
v[6] = 105;
v[7] = 105;
v[8] = 0;
v[0] = v;
v = newarray (byte)[6];
v[0] = 111;
v[1] = 99;
v[2] = 116;
v[3] = 101;
v[4] = 116;
v[5] = 0;
v[1] = v;
<oadd.org.apache.commons.net.tftp.TFTPRequestPacket: byte[][] modeBytes> = v;
return;
}
}