``` ByteBuffer buf = ByteBuffer.allocate(256); IntBuffer len = IntBuffer.allocate(256); int ret = SOCKOPT.getsockoptInt(fd.realFileno, intLevel, intOpt, buf, len); if (ret != 0) { throw runtime.newErrnoEINVALError(SOCKOPT.strerror(ret)); } len.flip(); buf.flip(); ByteList bytes = new ByteList(buf.array(), buf.position(), len.get()); return new Option(runtime, ProtocolFamily.PF_INET, level, opt, bytes); ```