public class sun.nio.ch.sctp.SctpNet
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.nio.ch.sctp.SctpNet
  super_class: java.lang.Object
{
  static final java.lang.String osName;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 44
            new sun.security.action.GetPropertyAction
            dup
            ldc "os.name"
            invokespecial sun.security.action.GetPropertyAction.<init>:(Ljava/lang/String;)V
         1: .line 43
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.String
            putstatic sun.nio.ch.sctp.SctpNet.osName:Ljava/lang/String;
         2: .line 338
            invokestatic sun.nio.ch.sctp.SctpNet.init:()V
         3: .line 339
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.nio.ch.sctp.SctpNet this
         0: .line 42
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // sun.nio.ch.sctp.SctpNet this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/nio/ch/sctp/SctpNet;

  private static boolean IPv4MappedAddresses();
    descriptor: ()Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 49
            ldc "SunOS"
            getstatic sun.nio.ch.sctp.SctpNet.osName:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 51
            iconst_1
            ireturn
         2: .line 55
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static boolean throwAlreadyBoundException();
    descriptor: ()Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 59
            new java.nio.channels.AlreadyBoundException
            dup
            invokespecial java.nio.channels.AlreadyBoundException.<init>:()V
            athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.io.IOException

  static void listen(int, int);
    descriptor: (II)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // int fd
        start local 1 // int backlog
         0: .line 63
            iload 0 /* fd */
            iload 1 /* backlog */
            invokestatic sun.nio.ch.sctp.SctpNet.listen0:(II)V
         1: .line 64
            return
        end local 1 // int backlog
        end local 0 // int fd
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0       fd  I
            0    2     1  backlog  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      fd       
      backlog  

  static int connect(int, java.net.InetAddress, int);
    descriptor: (ILjava/net/InetAddress;I)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // int fd
        start local 1 // java.net.InetAddress remote
        start local 2 // int remotePort
         0: .line 68
            iload 0 /* fd */
            aload 1 /* remote */
            iload 2 /* remotePort */
            invokestatic sun.nio.ch.sctp.SctpNet.connect0:(ILjava/net/InetAddress;I)I
            ireturn
        end local 2 // int remotePort
        end local 1 // java.net.InetAddress remote
        end local 0 // int fd
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0          fd  I
            0    1     1      remote  Ljava/net/InetAddress;
            0    1     2  remotePort  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      fd          
      remote      
      remotePort  

  static void close(int);
    descriptor: (I)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // int fd
         0: .line 72
            iload 0 /* fd */
            invokestatic sun.nio.ch.sctp.SctpNet.close0:(I)V
         1: .line 73
            return
        end local 0 // int fd
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0    fd  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      fd    

  static void preClose(int);
    descriptor: (I)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // int fd
         0: .line 76
            iload 0 /* fd */
            invokestatic sun.nio.ch.sctp.SctpNet.preClose0:(I)V
         1: .line 77
            return
        end local 0 // int fd
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0    fd  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      fd    

  static java.io.FileDescriptor socket(boolean);
    descriptor: (Z)Ljava/io/FileDescriptor;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // boolean oneToOne
         0: .line 85
            iload 0 /* oneToOne */
            invokestatic sun.nio.ch.sctp.SctpNet.socket0:(Z)I
            istore 1 /* nativefd */
        start local 1 // int nativefd
         1: .line 86
            iload 1 /* nativefd */
            invokestatic sun.nio.ch.IOUtil.newFD:(I)Ljava/io/FileDescriptor;
            areturn
        end local 1 // int nativefd
        end local 0 // boolean oneToOne
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0  oneToOne  Z
            1    2     1  nativefd  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      oneToOne  

  static void bindx(int, java.net.InetAddress[], int, boolean);
    descriptor: (I[Ljava/net/InetAddress;IZ)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // int fd
        start local 1 // java.net.InetAddress[] addrs
        start local 2 // int port
        start local 3 // boolean add
         0: .line 91
            iload 0 /* fd */
            aload 1 /* addrs */
            iload 2 /* port */
            aload 1 /* addrs */
            arraylength
            iload 3 /* add */
         1: .line 92
            invokestatic sun.nio.ch.sctp.SctpNet.IPv4MappedAddresses:()Z
         2: .line 91
            invokestatic sun.nio.ch.sctp.SctpNet.bindx:(I[Ljava/net/InetAddress;IIZZ)V
         3: .line 93
            return
        end local 3 // boolean add
        end local 2 // int port
        end local 1 // java.net.InetAddress[] addrs
        end local 0 // int fd
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0     fd  I
            0    4     1  addrs  [Ljava/net/InetAddress;
            0    4     2   port  I
            0    4     3    add  Z
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      fd     
      addrs  
      port   
      add    

  static java.util.Set<java.net.SocketAddress> getLocalAddresses(int);
    descriptor: (I)Ljava/util/Set;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=3, args_size=1
        start local 0 // int fd
         0: .line 97
            aconst_null
            astore 1 /* set */
        start local 1 // java.util.Set set
         1: .line 98
            iload 0 /* fd */
            invokestatic sun.nio.ch.sctp.SctpNet.getLocalAddresses0:(I)[Ljava/net/SocketAddress;
            astore 2 /* saa */
        start local 2 // java.net.SocketAddress[] saa
         2: .line 100
            aload 2 /* saa */
            ifnull 4
         3: .line 101
            aload 2 /* saa */
            invokestatic sun.nio.ch.sctp.SctpNet.getRevealedLocalAddressSet:([Ljava/net/SocketAddress;)Ljava/util/Set;
            astore 1 /* set */
         4: .line 104
      StackMap locals: java.util.Set java.net.SocketAddress[]
      StackMap stack:
            aload 1 /* set */
            areturn
        end local 2 // java.net.SocketAddress[] saa
        end local 1 // java.util.Set set
        end local 0 // int fd
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0    fd  I
            1    5     1   set  Ljava/util/Set<Ljava/net/SocketAddress;>;
            2    5     2   saa  [Ljava/net/SocketAddress;
    Exceptions:
      throws java.io.IOException
    Signature: (I)Ljava/util/Set<Ljava/net/SocketAddress;>;
    MethodParameters:
      Name  Flags
      fd    

  private static java.util.Set<java.net.SocketAddress> getRevealedLocalAddressSet(java.net.SocketAddress[]);
    descriptor: ([Ljava/net/SocketAddress;)Ljava/util/Set;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=7, args_size=1
        start local 0 // java.net.SocketAddress[] saa
         0: .line 110
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 1 /* sm */
        start local 1 // java.lang.SecurityManager sm
         1: .line 111
            new java.util.HashSet
            dup
            aload 0 /* saa */
            arraylength
            invokespecial java.util.HashSet.<init>:(I)V
            astore 2 /* set */
        start local 2 // java.util.Set set
         2: .line 112
            aload 0 /* saa */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 6
      StackMap locals: java.net.SocketAddress[] java.lang.SecurityManager java.util.Set top int int java.net.SocketAddress[]
      StackMap stack:
         3: aload 6
            iload 4
            aaload
            astore 3 /* sa */
        start local 3 // java.net.SocketAddress sa
         4: .line 113
            aload 2 /* set */
            aload 3 /* sa */
            aload 1 /* sm */
            invokestatic sun.nio.ch.sctp.SctpNet.getRevealedLocalAddress:(Ljava/net/SocketAddress;Ljava/lang/SecurityManager;)Ljava/net/SocketAddress;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // java.net.SocketAddress sa
         5: .line 112
            iinc 4 1
      StackMap locals:
      StackMap stack:
         6: iload 4
            iload 5
            if_icmplt 3
         7: .line 115
            aload 2 /* set */
            areturn
        end local 2 // java.util.Set set
        end local 1 // java.lang.SecurityManager sm
        end local 0 // java.net.SocketAddress[] saa
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0   saa  [Ljava/net/SocketAddress;
            1    8     1    sm  Ljava/lang/SecurityManager;
            2    8     2   set  Ljava/util/Set<Ljava/net/SocketAddress;>;
            4    5     3    sa  Ljava/net/SocketAddress;
    Signature: ([Ljava/net/SocketAddress;)Ljava/util/Set<Ljava/net/SocketAddress;>;
    MethodParameters:
      Name  Flags
      saa   

  private static java.net.SocketAddress getRevealedLocalAddress(java.net.SocketAddress, java.lang.SecurityManager);
    descriptor: (Ljava/net/SocketAddress;Ljava/lang/SecurityManager;)Ljava/net/SocketAddress;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.net.SocketAddress sa
        start local 1 // java.lang.SecurityManager sm
         0: .line 121
            aload 1 /* sm */
            ifnull 1
            aload 0 /* sa */
            ifnonnull 2
         1: .line 122
      StackMap locals:
      StackMap stack:
            aload 0 /* sa */
            areturn
         2: .line 123
      StackMap locals:
      StackMap stack:
            aload 0 /* sa */
            checkcast java.net.InetSocketAddress
            astore 2 /* ia */
        start local 2 // java.net.InetSocketAddress ia
         3: .line 125
            aload 1 /* sm */
            aload 2 /* ia */
            invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
            invokevirtual java.net.InetAddress.getHostAddress:()Ljava/lang/String;
            iconst_m1
            invokevirtual java.lang.SecurityManager.checkConnect:(Ljava/lang/String;I)V
         4: .line 127
            goto 9
      StackMap locals: java.net.SocketAddress java.lang.SecurityManager java.net.InetSocketAddress
      StackMap stack: java.lang.SecurityException
         5: pop
         6: .line 129
            new java.net.InetSocketAddress
            dup
            invokestatic java.net.InetAddress.getLoopbackAddress:()Ljava/net/InetAddress;
         7: .line 130
            aload 2 /* ia */
            invokevirtual java.net.InetSocketAddress.getPort:()I
         8: .line 129
            invokespecial java.net.InetSocketAddress.<init>:(Ljava/net/InetAddress;I)V
            areturn
         9: .line 132
      StackMap locals:
      StackMap stack:
            aload 0 /* sa */
            areturn
        end local 2 // java.net.InetSocketAddress ia
        end local 1 // java.lang.SecurityManager sm
        end local 0 // java.net.SocketAddress sa
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0    sa  Ljava/net/SocketAddress;
            0   10     1    sm  Ljava/lang/SecurityManager;
            3   10     2    ia  Ljava/net/InetSocketAddress;
      Exception table:
        from    to  target  type
           3     4       5  Class java.lang.SecurityException
    MethodParameters:
      Name  Flags
      sa    
      sm    

  static java.util.Set<java.net.SocketAddress> getRemoteAddresses(int, int);
    descriptor: (II)Ljava/util/Set;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=8, args_size=2
        start local 0 // int fd
        start local 1 // int assocId
         0: .line 137
            aconst_null
            astore 2 /* set */
        start local 2 // java.util.HashSet set
         1: .line 138
            iload 0 /* fd */
            iload 1 /* assocId */
            invokestatic sun.nio.ch.sctp.SctpNet.getRemoteAddresses0:(II)[Ljava/net/SocketAddress;
            astore 3 /* saa */
        start local 3 // java.net.SocketAddress[] saa
         2: .line 140
            aload 3 /* saa */
            ifnull 9
         3: .line 141
            new java.util.HashSet
            dup
            aload 3 /* saa */
            arraylength
            invokespecial java.util.HashSet.<init>:(I)V
            astore 2 /* set */
         4: .line 142
            aload 3 /* saa */
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 8
      StackMap locals: int int java.util.HashSet java.net.SocketAddress[] top int int java.net.SocketAddress[]
      StackMap stack:
         5: aload 7
            iload 5
            aaload
            astore 4 /* sa */
        start local 4 // java.net.SocketAddress sa
         6: .line 143
            aload 2 /* set */
            aload 4 /* sa */
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // java.net.SocketAddress sa
         7: .line 142
            iinc 5 1
      StackMap locals:
      StackMap stack:
         8: iload 5
            iload 6
            if_icmplt 5
         9: .line 146
      StackMap locals: int int java.util.HashSet java.net.SocketAddress[]
      StackMap stack:
            aload 2 /* set */
            areturn
        end local 3 // java.net.SocketAddress[] saa
        end local 2 // java.util.HashSet set
        end local 1 // int assocId
        end local 0 // int fd
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0       fd  I
            0   10     1  assocId  I
            1   10     2      set  Ljava/util/HashSet<Ljava/net/SocketAddress;>;
            2   10     3      saa  [Ljava/net/SocketAddress;
            6    7     4       sa  Ljava/net/SocketAddress;
    Exceptions:
      throws java.io.IOException
    Signature: (II)Ljava/util/Set<Ljava/net/SocketAddress;>;
    MethodParameters:
         Name  Flags
      fd       
      assocId  

  static <T> void setSocketOption(int, com.sun.nio.sctp.SctpSocketOption<T>, T, );
    descriptor: (ILcom/sun/nio/sctp/SctpSocketOption;Ljava/lang/Object;I)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // int fd
        start local 1 // com.sun.nio.sctp.SctpSocketOption name
        start local 2 // java.lang.Object value
        start local 3 // int assocId
         0: .line 154
            aload 2 /* value */
            ifnonnull 2
         1: .line 155
            new java.lang.IllegalArgumentException
            dup
            ldc "Invalid option value"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 157
      StackMap locals:
      StackMap stack:
            aload 1 /* name */
            getstatic com.sun.nio.sctp.SctpStandardSocketOptions.SCTP_INIT_MAXSTREAMS:Lcom/sun/nio/sctp/SctpSocketOption;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 8
         3: .line 158
            aload 2 /* value */
            checkcast com.sun.nio.sctp.SctpStandardSocketOptions$InitMaxStreams
            astore 4 /* maxStreamValue */
        start local 4 // com.sun.nio.sctp.SctpStandardSocketOptions$InitMaxStreams maxStreamValue
         4: .line 159
            iload 0 /* fd */
         5: .line 160
            aload 4 /* maxStreamValue */
            invokevirtual com.sun.nio.sctp.SctpStandardSocketOptions$InitMaxStreams.maxInStreams:()I
            aload 4 /* maxStreamValue */
            invokevirtual com.sun.nio.sctp.SctpStandardSocketOptions$InitMaxStreams.maxOutStreams:()I
         6: .line 159
            invokestatic sun.nio.ch.sctp.SctpNet.setInitMsgOption0:(III)V
        end local 4 // com.sun.nio.sctp.SctpStandardSocketOptions$InitMaxStreams maxStreamValue
         7: .line 161
            goto 39
      StackMap locals:
      StackMap stack:
         8: aload 1 /* name */
            getstatic com.sun.nio.sctp.SctpStandardSocketOptions.SCTP_PRIMARY_ADDR:Lcom/sun/nio/sctp/SctpSocketOption;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 10
         9: .line 162
            aload 1 /* name */
            getstatic com.sun.nio.sctp.SctpStandardSocketOptions.SCTP_SET_PEER_PRIMARY_ADDR:Lcom/sun/nio/sctp/SctpSocketOption;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 29
        10: .line 164
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            checkcast java.net.SocketAddress
            astore 4 /* addr */
        start local 4 // java.net.SocketAddress addr
        11: .line 165
            aload 4 /* addr */
            ifnonnull 13
        12: .line 166
            new java.lang.IllegalArgumentException
            dup
            ldc "Invalid option value"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        13: .line 168
      StackMap locals: java.net.SocketAddress
      StackMap stack:
            aload 4 /* addr */
            invokestatic sun.nio.ch.Net.checkAddress:(Ljava/net/SocketAddress;)Ljava/net/InetSocketAddress;
            pop
        14: .line 169
            aload 4 /* addr */
            checkcast java.net.InetSocketAddress
            astore 5 /* netAddr */
        start local 5 // java.net.InetSocketAddress netAddr
        15: .line 171
            aload 1 /* name */
            getstatic com.sun.nio.sctp.SctpStandardSocketOptions.SCTP_PRIMARY_ADDR:Lcom/sun/nio/sctp/SctpSocketOption;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 22
        16: .line 172
            iload 0 /* fd */
        17: .line 173
            iload 3 /* assocId */
        18: .line 174
            aload 5 /* netAddr */
            invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
        19: .line 175
            aload 5 /* netAddr */
            invokevirtual java.net.InetSocketAddress.getPort:()I
        20: .line 172
            invokestatic sun.nio.ch.sctp.SctpNet.setPrimAddrOption0:(IILjava/net/InetAddress;I)V
        21: .line 176
            goto 39
        22: .line 177
      StackMap locals: java.net.InetSocketAddress
      StackMap stack:
            iload 0 /* fd */
        23: .line 178
            iload 3 /* assocId */
        24: .line 179
            aload 5 /* netAddr */
            invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
        25: .line 180
            aload 5 /* netAddr */
            invokevirtual java.net.InetSocketAddress.getPort:()I
        26: .line 181
            invokestatic sun.nio.ch.sctp.SctpNet.IPv4MappedAddresses:()Z
        27: .line 177
            invokestatic sun.nio.ch.sctp.SctpNet.setPeerPrimAddrOption0:(IILjava/net/InetAddress;IZ)V
        end local 5 // java.net.InetSocketAddress netAddr
        end local 4 // java.net.SocketAddress addr
        28: .line 183
            goto 39
      StackMap locals:
      StackMap stack:
        29: aload 1 /* name */
            getstatic com.sun.nio.sctp.SctpStandardSocketOptions.SCTP_DISABLE_FRAGMENTS:Lcom/sun/nio/sctp/SctpSocketOption;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 36
        30: .line 184
            aload 1 /* name */
            getstatic com.sun.nio.sctp.SctpStandardSocketOptions.SCTP_EXPLICIT_COMPLETE:Lcom/sun/nio/sctp/SctpSocketOption;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 36
        31: .line 185
            aload 1 /* name */
            getstatic com.sun.nio.sctp.SctpStandardSocketOptions.SCTP_FRAGMENT_INTERLEAVE:Lcom/sun/nio/sctp/SctpSocketOption;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 36
        32: .line 186
            aload 1 /* name */
            getstatic com.sun.nio.sctp.SctpStandardSocketOptions.SCTP_NODELAY:Lcom/sun/nio/sctp/SctpSocketOption;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 36
        33: .line 187
            aload 1 /* name */
            getstatic com.sun.nio.sctp.SctpStandardSocketOptions.SO_SNDBUF:Lcom/sun/nio/sctp/SctpSocketOption;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 36
        34: .line 188
            aload 1 /* name */
            getstatic com.sun.nio.sctp.SctpStandardSocketOptions.SO_RCVBUF:Lcom/sun/nio/sctp/SctpSocketOption;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 36
        35: .line 189
            aload 1 /* name */
            getstatic com.sun.nio.sctp.SctpStandardSocketOptions.SO_LINGER:Lcom/sun/nio/sctp/SctpSocketOption;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 38
        36: .line 190
      StackMap locals:
      StackMap stack:
            iload 0 /* fd */
            aload 1 /* name */
            aload 2 /* value */
            invokestatic sun.nio.ch.sctp.SctpNet.setIntOption:(ILcom/sun/nio/sctp/SctpSocketOption;Ljava/lang/Object;)V
        37: .line 191
            goto 39
        38: .line 192
      StackMap locals:
      StackMap stack:
            new java.lang.AssertionError
            dup
            ldc "Unknown socket option"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        39: .line 194
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int assocId
        end local 2 // java.lang.Object value
        end local 1 // com.sun.nio.sctp.SctpSocketOption name
        end local 0 // int fd
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   40     0              fd  I
            0   40     1            name  Lcom/sun/nio/sctp/SctpSocketOption<TT;>;
            0   40     2           value  TT;
            0   40     3         assocId  I
            4    7     4  maxStreamValue  Lcom/sun/nio/sctp/SctpStandardSocketOptions$InitMaxStreams;
           11   28     4            addr  Ljava/net/SocketAddress;
           15   28     5         netAddr  Ljava/net/InetSocketAddress;
    Exceptions:
      throws java.io.IOException
    Signature: <T:Ljava/lang/Object;>(ILcom/sun/nio/sctp/SctpSocketOption<TT;>;TT;I)V
    MethodParameters:
         Name  Flags
      fd       
      name     
      value    
      assocId  

  static  getSocketOption(int, com.sun.nio.sctp.SctpSocketOption<?>, int);
    descriptor: (ILcom/sun/nio/sctp/SctpSocketOption;I)Ljava/lang/Object;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // int fd
        start local 1 // com.sun.nio.sctp.SctpSocketOption name
        start local 2 // int assocId
         0: .line 198
            aload 1 /* name */
            getstatic com.sun.nio.sctp.SctpStandardSocketOptions.SCTP_SET_PEER_PRIMARY_ADDR:Lcom/sun/nio/sctp/SctpSocketOption;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 4
         1: .line 199
            new java.lang.IllegalArgumentException
            dup
         2: .line 200
            ldc "SCTP_SET_PEER_PRIMARY_ADDR cannot be retrieved"
         3: .line 199
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 201
      StackMap locals:
      StackMap stack:
            aload 1 /* name */
            getstatic com.sun.nio.sctp.SctpStandardSocketOptions.SCTP_INIT_MAXSTREAMS:Lcom/sun/nio/sctp/SctpSocketOption;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 8
         5: .line 203
            iconst_2
            newarray 10
            astore 3 /* values */
        start local 3 // int[] values
         6: .line 204
            iload 0 /* fd */
            aload 3 /* values */
            invokestatic sun.nio.ch.sctp.SctpNet.getInitMsgOption0:(I[I)V
         7: .line 205
            aload 3 /* values */
            iconst_0
            iaload
            aload 3 /* values */
            iconst_1
            iaload
            invokestatic com.sun.nio.sctp.SctpStandardSocketOptions$InitMaxStreams.create:(II)Lcom/sun/nio/sctp/SctpStandardSocketOptions$InitMaxStreams;
            areturn
        end local 3 // int[] values
         8: .line 206
      StackMap locals:
      StackMap stack:
            aload 1 /* name */
            getstatic com.sun.nio.sctp.SctpStandardSocketOptions.SCTP_PRIMARY_ADDR:Lcom/sun/nio/sctp/SctpSocketOption;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 10
         9: .line 207
            iload 0 /* fd */
            iload 2 /* assocId */
            invokestatic sun.nio.ch.sctp.SctpNet.getPrimAddrOption0:(II)Ljava/net/SocketAddress;
            areturn
        10: .line 208
      StackMap locals:
      StackMap stack:
            aload 1 /* name */
            getstatic com.sun.nio.sctp.SctpStandardSocketOptions.SCTP_DISABLE_FRAGMENTS:Lcom/sun/nio/sctp/SctpSocketOption;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 17
        11: .line 209
            aload 1 /* name */
            getstatic com.sun.nio.sctp.SctpStandardSocketOptions.SCTP_EXPLICIT_COMPLETE:Lcom/sun/nio/sctp/SctpSocketOption;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 17
        12: .line 210
            aload 1 /* name */
            getstatic com.sun.nio.sctp.SctpStandardSocketOptions.SCTP_FRAGMENT_INTERLEAVE:Lcom/sun/nio/sctp/SctpSocketOption;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 17
        13: .line 211
            aload 1 /* name */
            getstatic com.sun.nio.sctp.SctpStandardSocketOptions.SCTP_NODELAY:Lcom/sun/nio/sctp/SctpSocketOption;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 17
        14: .line 212
            aload 1 /* name */
            getstatic com.sun.nio.sctp.SctpStandardSocketOptions.SO_SNDBUF:Lcom/sun/nio/sctp/SctpSocketOption;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 17
        15: .line 213
            aload 1 /* name */
            getstatic com.sun.nio.sctp.SctpStandardSocketOptions.SO_RCVBUF:Lcom/sun/nio/sctp/SctpSocketOption;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 17
        16: .line 214
            aload 1 /* name */
            getstatic com.sun.nio.sctp.SctpStandardSocketOptions.SO_LINGER:Lcom/sun/nio/sctp/SctpSocketOption;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 18
        17: .line 215
      StackMap locals:
      StackMap stack:
            iload 0 /* fd */
            aload 1 /* name */
            invokestatic sun.nio.ch.sctp.SctpNet.getIntOption:(ILcom/sun/nio/sctp/SctpSocketOption;)Ljava/lang/Object;
            areturn
        18: .line 217
      StackMap locals:
      StackMap stack:
            new java.lang.AssertionError
            dup
            ldc "Unknown socket option"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        end local 2 // int assocId
        end local 1 // com.sun.nio.sctp.SctpSocketOption name
        end local 0 // int fd
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   19     0       fd  I
            0   19     1     name  Lcom/sun/nio/sctp/SctpSocketOption<*>;
            0   19     2  assocId  I
            6    8     3   values  [I
    Exceptions:
      throws java.io.IOException
    Signature: (ILcom/sun/nio/sctp/SctpSocketOption<*>;I)Ljava/lang/Object;
    MethodParameters:
         Name  Flags
      fd       
      name     
      assocId  

  static void setIntOption(int, com.sun.nio.sctp.SctpSocketOption<?>, );
    descriptor: (ILcom/sun/nio/sctp/SctpSocketOption;Ljava/lang/Object;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // int fd
        start local 1 // com.sun.nio.sctp.SctpSocketOption name
        start local 2 // java.lang.Object value
         0: .line 223
            aload 2 /* value */
            ifnonnull 2
         1: .line 224
            new java.lang.IllegalArgumentException
            dup
            ldc "Invalid option value"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 226
      StackMap locals:
      StackMap stack:
            aload 1 /* name */
            invokeinterface com.sun.nio.sctp.SctpSocketOption.type:()Ljava/lang/Class;
            astore 3 /* type */
        start local 3 // java.lang.Class type
         3: .line 227
            aload 3 /* type */
            ldc Ljava/lang/Integer;
            if_acmpeq 5
            aload 3 /* type */
            ldc Ljava/lang/Boolean;
            if_acmpeq 5
         4: .line 228
            new java.lang.AssertionError
            dup
            ldc "Should not reach here"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         5: .line 230
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 1 /* name */
            getstatic com.sun.nio.sctp.SctpStandardSocketOptions.SO_RCVBUF:Lcom/sun/nio/sctp/SctpSocketOption;
            if_acmpeq 7
         6: .line 231
            aload 1 /* name */
            getstatic com.sun.nio.sctp.SctpStandardSocketOptions.SO_SNDBUF:Lcom/sun/nio/sctp/SctpSocketOption;
            if_acmpne 12
         7: .line 233
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            istore 4 /* i */
        start local 4 // int i
         8: .line 234
            iload 4 /* i */
            ifge 25
         9: .line 235
            new java.lang.IllegalArgumentException
            dup
        10: .line 236
            ldc "Invalid send/receive buffer size"
        11: .line 235
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // int i
        12: .line 237
      StackMap locals:
      StackMap stack:
            aload 1 /* name */
            getstatic com.sun.nio.sctp.SctpStandardSocketOptions.SO_LINGER:Lcom/sun/nio/sctp/SctpSocketOption;
            if_acmpne 19
        13: .line 238
            aload 2 /* value */
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            istore 4 /* i */
        start local 4 // int i
        14: .line 239
            iload 4 /* i */
            ifge 16
        15: .line 240
            iconst_m1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            astore 2 /* value */
        16: .line 241
      StackMap locals: int
      StackMap stack:
            iload 4 /* i */
            ldc 65535
            if_icmple 25
        17: .line 242
            ldc 65535
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            astore 2 /* value */
        end local 4 // int i
        18: .line 243
            goto 25
      StackMap locals:
      StackMap stack:
        19: aload 1 /* name */
            getstatic com.sun.nio.sctp.SctpStandardSocketOptions.SCTP_FRAGMENT_INTERLEAVE:Lcom/sun/nio/sctp/SctpSocketOption;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 25
        20: .line 244
            aload 2 /* value */
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            istore 4 /* i */
        start local 4 // int i
        21: .line 245
            iload 4 /* i */
            iflt 22
            iload 4 /* i */
            iconst_2
            if_icmple 25
        22: .line 246
      StackMap locals: int
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
        23: .line 247
            ldc "Invalid value for SCTP_FRAGMENT_INTERLEAVE"
        24: .line 246
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // int i
        25: .line 251
      StackMap locals:
      StackMap stack:
            aload 3 /* type */
            ldc Ljava/lang/Integer;
            if_acmpne 28
        26: .line 252
            aload 2 /* value */
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            istore 4 /* arg */
        start local 4 // int arg
        27: .line 253
            goto 32
        end local 4 // int arg
        28: .line 254
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            istore 5 /* b */
        start local 5 // boolean b
        29: .line 255
            iload 5 /* b */
            ifeq 30
            iconst_1
            goto 31
      StackMap locals: int com.sun.nio.sctp.SctpSocketOption java.lang.Object java.lang.Class top int
      StackMap stack:
        30: iconst_0
      StackMap locals:
      StackMap stack: int
        31: istore 4 /* arg */
        end local 5 // boolean b
        start local 4 // int arg
        32: .line 258
      StackMap locals: int com.sun.nio.sctp.SctpSocketOption java.lang.Object java.lang.Class int
      StackMap stack:
            iload 0 /* fd */
            aload 1 /* name */
            checkcast sun.nio.ch.sctp.SctpStdSocketOption
            invokevirtual sun.nio.ch.sctp.SctpStdSocketOption.constValue:()I
            iload 4 /* arg */
            invokestatic sun.nio.ch.sctp.SctpNet.setIntOption0:(III)V
        33: .line 259
            return
        end local 4 // int arg
        end local 3 // java.lang.Class type
        end local 2 // java.lang.Object value
        end local 1 // com.sun.nio.sctp.SctpSocketOption name
        end local 0 // int fd
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   34     0     fd  I
            0   34     1   name  Lcom/sun/nio/sctp/SctpSocketOption<*>;
            0   34     2  value  Ljava/lang/Object;
            3   34     3   type  Ljava/lang/Class<*>;
            8   12     4      i  I
           14   18     4      i  I
           21   25     4      i  I
           27   28     4    arg  I
           32   34     4    arg  I
           29   32     5      b  Z
    Exceptions:
      throws java.io.IOException
    Signature: (ILcom/sun/nio/sctp/SctpSocketOption<*>;Ljava/lang/Object;)V
    MethodParameters:
       Name  Flags
      fd     
      name   
      value  

  static  getIntOption(int, com.sun.nio.sctp.SctpSocketOption<?>);
    descriptor: (ILcom/sun/nio/sctp/SctpSocketOption;)Ljava/lang/Object;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // int fd
        start local 1 // com.sun.nio.sctp.SctpSocketOption name
         0: .line 263
            aload 1 /* name */
            invokeinterface com.sun.nio.sctp.SctpSocketOption.type:()Ljava/lang/Class;
            astore 2 /* type */
        start local 2 // java.lang.Class type
         1: .line 265
            aload 2 /* type */
            ldc Ljava/lang/Integer;
            if_acmpeq 3
            aload 2 /* type */
            ldc Ljava/lang/Boolean;
            if_acmpeq 3
         2: .line 266
            new java.lang.AssertionError
            dup
            ldc "Should not reach here"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         3: .line 268
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 1 /* name */
            instanceof sun.nio.ch.sctp.SctpStdSocketOption
            ifne 5
         4: .line 269
            new java.lang.AssertionError
            dup
            ldc "Should not reach here"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         5: .line 271
      StackMap locals:
      StackMap stack:
            iload 0 /* fd */
         6: .line 272
            aload 1 /* name */
            checkcast sun.nio.ch.sctp.SctpStdSocketOption
            invokevirtual sun.nio.ch.sctp.SctpStdSocketOption.constValue:()I
         7: .line 271
            invokestatic sun.nio.ch.sctp.SctpNet.getIntOption0:(II)I
            istore 3 /* value */
        start local 3 // int value
         8: .line 274
            aload 2 /* type */
            ldc Ljava/lang/Integer;
            if_acmpne 10
         9: .line 275
            iload 3 /* value */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            areturn
        10: .line 277
      StackMap locals: int
      StackMap stack:
            iload 3 /* value */
            ifne 11
            getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
            goto 12
      StackMap locals:
      StackMap stack:
        11: getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
      StackMap locals:
      StackMap stack: java.lang.Boolean
        12: areturn
        end local 3 // int value
        end local 2 // java.lang.Class type
        end local 1 // com.sun.nio.sctp.SctpSocketOption name
        end local 0 // int fd
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   13     0     fd  I
            0   13     1   name  Lcom/sun/nio/sctp/SctpSocketOption<*>;
            1   13     2   type  Ljava/lang/Class<*>;
            8   13     3  value  I
    Exceptions:
      throws java.io.IOException
    Signature: (ILcom/sun/nio/sctp/SctpSocketOption<*>;)Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      fd    
      name  

  static void shutdown(int, int);
    descriptor: (II)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // int fd
        start local 1 // int assocId
         0: .line 283
            iload 0 /* fd */
            iload 1 /* assocId */
            invokestatic sun.nio.ch.sctp.SctpNet.shutdown0:(II)V
         1: .line 284
            return
        end local 1 // int assocId
        end local 0 // int fd
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0       fd  I
            0    2     1  assocId  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      fd       
      assocId  

  static java.io.FileDescriptor branch(int, int);
    descriptor: (II)Ljava/io/FileDescriptor;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // int fd
        start local 1 // int assocId
         0: .line 287
            iload 0 /* fd */
            iload 1 /* assocId */
            invokestatic sun.nio.ch.sctp.SctpNet.branch0:(II)I
            istore 2 /* nativefd */
        start local 2 // int nativefd
         1: .line 288
            iload 2 /* nativefd */
            invokestatic sun.nio.ch.IOUtil.newFD:(I)Ljava/io/FileDescriptor;
            areturn
        end local 2 // int nativefd
        end local 1 // int assocId
        end local 0 // int fd
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0        fd  I
            0    2     1   assocId  I
            1    2     2  nativefd  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      fd       
      assocId  

  static native int socket0(boolean);
    descriptor: (Z)I
    flags: (0x0108) ACC_STATIC, ACC_NATIVE
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      oneToOne  

  static native void listen0(int, int);
    descriptor: (II)V
    flags: (0x0108) ACC_STATIC, ACC_NATIVE
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      fd       
      backlog  

  static native int connect0(int, java.net.InetAddress, int);
    descriptor: (ILjava/net/InetAddress;I)I
    flags: (0x0108) ACC_STATIC, ACC_NATIVE
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      fd          
      remote      
      remotePort  

  static native void close0(int);
    descriptor: (I)V
    flags: (0x0108) ACC_STATIC, ACC_NATIVE
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      fd    

  static native void preClose0(int);
    descriptor: (I)V
    flags: (0x0108) ACC_STATIC, ACC_NATIVE
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      fd    

  static native void bindx(int, java.net.InetAddress[], int, int, boolean, boolean);
    descriptor: (I[Ljava/net/InetAddress;IIZZ)V
    flags: (0x0108) ACC_STATIC, ACC_NATIVE
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      fd          
      addrs       
      port        
      length      
      add         
      preferIPv6  

  static native int getIntOption0(int, int);
    descriptor: (II)I
    flags: (0x0108) ACC_STATIC, ACC_NATIVE
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      fd    
      opt   

  static native void setIntOption0(int, int, int);
    descriptor: (III)V
    flags: (0x0108) ACC_STATIC, ACC_NATIVE
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      fd    
      opt   
      arg   

  static native java.net.SocketAddress[] getLocalAddresses0(int);
    descriptor: (I)[Ljava/net/SocketAddress;
    flags: (0x0108) ACC_STATIC, ACC_NATIVE
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      fd    

  static native java.net.SocketAddress[] getRemoteAddresses0(int, int);
    descriptor: (II)[Ljava/net/SocketAddress;
    flags: (0x0108) ACC_STATIC, ACC_NATIVE
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      fd       
      assocId  

  static native int branch0(int, int);
    descriptor: (II)I
    flags: (0x0108) ACC_STATIC, ACC_NATIVE
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      fd       
      assocId  

  static native void setPrimAddrOption0(int, int, java.net.InetAddress, int);
    descriptor: (IILjava/net/InetAddress;I)V
    flags: (0x0108) ACC_STATIC, ACC_NATIVE
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      fd       
      assocId  
      ia       
      port     

  static native void setPeerPrimAddrOption0(int, int, java.net.InetAddress, int, boolean);
    descriptor: (IILjava/net/InetAddress;IZ)V
    flags: (0x0108) ACC_STATIC, ACC_NATIVE
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      fd          
      assocId     
      ia          
      port        
      preferIPv6  

  static native java.net.SocketAddress getPrimAddrOption0(int, int);
    descriptor: (II)Ljava/net/SocketAddress;
    flags: (0x0108) ACC_STATIC, ACC_NATIVE
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      fd       
      assocId  

  static native void getInitMsgOption0(int, int[]);
    descriptor: (I[I)V
    flags: (0x0108) ACC_STATIC, ACC_NATIVE
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      fd       
      retVals  

  static native void setInitMsgOption0(int, int, int);
    descriptor: (III)V
    flags: (0x0108) ACC_STATIC, ACC_NATIVE
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      fd    
      arg1  
      arg2  

  static native void shutdown0(int, int);
    descriptor: (II)V
    flags: (0x0108) ACC_STATIC, ACC_NATIVE
    MethodParameters:
         Name  Flags
      fd       
      assocId  

  static native void init();
    descriptor: ()V
    flags: (0x0108) ACC_STATIC, ACC_NATIVE
}
SourceFile: "SctpNet.java"
InnerClasses:
  public InitMaxStreams = com.sun.nio.sctp.SctpStandardSocketOptions$InitMaxStreams of com.sun.nio.sctp.SctpStandardSocketOptions