// Path: jxnet-core/src/main/java/com/ardikars/jxnet/exception/BpfProgramCloseException.java
// public class BpfProgramCloseException extends RuntimeException {
// 
// 	private static final long serialVersionUID = 981862853161292421L;
// 
// 	public BpfProgramCloseException() {
// 		this("");
// 	}
// 	
// 	public BpfProgramCloseException(final String message) {
// 		this(message, new RuntimeException(message));
// 	}
// 
// 	public BpfProgramCloseException(final Throwable cause) {
// 		this(cause.getMessage(), cause);
// 	}
// 	
// 	public BpfProgramCloseException(final String message, final Throwable cause) {
// 		super(message, cause);
// 	}
// 	
// }
// 
// Path: jxnet-core/src/main/java/com/ardikars/jxnet/exception/PcapCloseException.java
// public class PcapCloseException extends RuntimeException {
// 
// 	private static final long serialVersionUID = 8393262940022738877L;
// 
// 	public PcapCloseException() {
// 		this("");
// 	}
// 	
// 	public PcapCloseException(final String message) {
// 		this(message, new RuntimeException(message));
// 	}
// 
// 	public PcapCloseException(final Throwable cause) {
// 		this(cause.getMessage(), cause);
// 	}
// 
// 	public PcapCloseException(final String message, final Throwable cause) {
// 		super(message, cause);
// 	}
// 
// }
// 
// Path: jxnet-core/src/main/java/com/ardikars/jxnet/exception/PcapDumperCloseException.java
// public class PcapDumperCloseException extends RuntimeException {
// 
// 	private static final long serialVersionUID = -3728289207910510051L;
// 
// 	public PcapDumperCloseException() {
// 		this("");
// 	}
// 	
// 	public PcapDumperCloseException(final String message) {
// 		this(message, new RuntimeException(message));
// 	}
// 
// 	public PcapDumperCloseException(final Throwable cause) {
// 		this(cause.getMessage(), cause);
// 	}
// 
// 	public PcapDumperCloseException(final String message, final Throwable cause) {
// 		super(message, cause);
// 	}
// 
// }
// 
// Path: jxnet-core/src/main/java/com/ardikars/jxnet/exception/PlatformNotSupportedException.java
// public class PlatformNotSupportedException extends RuntimeException {
// 
//     private static final long serialVersionUID = -5714154798477963289L;
// 
//     public PlatformNotSupportedException() {
//         this("");
//     }
// 
//     public PlatformNotSupportedException(final String message) {
//         this(message, new RuntimeException(message));
//     }
// 
//     public PlatformNotSupportedException(final Throwable cause) {
//         this(cause.getMessage(), cause);
//     }
// 
//     public PlatformNotSupportedException(final String message, final Throwable cause) {
//         super(message, cause);
//     }
// 
// }


import com.ardikars.common.net.Inet4Address;
import com.ardikars.common.util.Builder;
import com.ardikars.common.util.Factory;
import com.ardikars.jxnet.exception.BpfProgramCloseException;
import com.ardikars.jxnet.exception.PcapCloseException;
import com.ardikars.jxnet.exception.PcapDumperCloseException;
import com.ardikars.jxnet.exception.PlatformNotSupportedException;
import java.nio.ByteBuffer;
import java.util.List;
import java.util.concurrent.Executor;
import java.util.concurrent.ExecutorService;
     * return value indicates what error condition occurred. The possible
     * error values are:
     * PCAP_ERROR_NO_SUCH_DEVICE(-5): The capture source specified when the handle was created doesn' exist.
     * PCAP_ERROR_PERM_DENIED(-8): The  process  doesn't  have  permission to check whether monitor mode could be supported.
     * PCAP_ERROR_ACTIVATED(-3): The capture handle has already been activated.
     * PCAP_ERROR(-1): Generic error.
     * @throws PcapCloseException pcap close exception.
     * @since 1.1.4
     */
    PcapCode pcapCanSetRfMon() throws PcapCloseException;

    /**
     * used to specify a direction that packets will be
     * captured. Direction is one of the constants PCAP_D_IN, PCAP_D_OUT or
     * PCAP_D_INOUT. PCAP_D_IN will only capture packets received by the
     * device, PCAP_D_OUT will only capture packets sent by the device and
     * PCAP_D_INOUT will capture packets received by or sent by the device.
     * PCAP_D_INOUT is the default setting if this function is not called.
     *
     * <p>PcapSetdirection() isn't necessarily fully supported on all platforms;
     * some platforms might return an error for all  values,  and  some  other
     * platforms might not support PCAP_D_OUT.</p>
     *
     * <p>This operation is not supported if a savefile is being read.</p>
     * @param direction direction.
     * @return returns  0 on success and -1 on failure (not supported by operating system).
     * @throws PcapCloseException pcap close exception.
     * @throws PlatformNotSupportedException platform not supported exception.
     * @since 1.1.4
     */
// Path: jxnet-core/src/main/java/com/ardikars/jxnet/exception/BpfProgramCloseException.java
// public class BpfProgramCloseException extends RuntimeException {
// 
// 	private static final long serialVersionUID = 981862853161292421L;
// 
// 	public BpfProgramCloseException() {
// 		this("");
// 	}
// 	
// 	public BpfProgramCloseException(final String message) {
// 		this(message, new RuntimeException(message));
// 	}
// 
// 	public BpfProgramCloseException(final Throwable cause) {
// 		this(cause.getMessage(), cause);
// 	}
// 	
// 	public BpfProgramCloseException(final String message, final Throwable cause) {
// 		super(message, cause);
// 	}
// 	
// }
// 
// Path: jxnet-core/src/main/java/com/ardikars/jxnet/exception/PcapCloseException.java
// public class PcapCloseException extends RuntimeException {
// 
// 	private static final long serialVersionUID = 8393262940022738877L;
// 
// 	public PcapCloseException() {
// 		this("");
// 	}
// 	
// 	public PcapCloseException(final String message) {
// 		this(message, new RuntimeException(message));
// 	}
// 
// 	public PcapCloseException(final Throwable cause) {
// 		this(cause.getMessage(), cause);
// 	}
// 
// 	public PcapCloseException(final String message, final Throwable cause) {
// 		super(message, cause);
// 	}
// 
// }
// 
// Path: jxnet-core/src/main/java/com/ardikars/jxnet/exception/PcapDumperCloseException.java
// public class PcapDumperCloseException extends RuntimeException {
// 
// 	private static final long serialVersionUID = -3728289207910510051L;
// 
// 	public PcapDumperCloseException() {
// 		this("");
// 	}
// 	
// 	public PcapDumperCloseException(final String message) {
// 		this(message, new RuntimeException(message));
// 	}
// 
// 	public PcapDumperCloseException(final Throwable cause) {
// 		this(cause.getMessage(), cause);
// 	}
// 
// 	public PcapDumperCloseException(final String message, final Throwable cause) {
// 		super(message, cause);
// 	}
// 
// }
// 
// Path: jxnet-core/src/main/java/com/ardikars/jxnet/exception/PlatformNotSupportedException.java
// public class PlatformNotSupportedException extends RuntimeException {
// 
//     private static final long serialVersionUID = -5714154798477963289L;
// 
//     public PlatformNotSupportedException() {
//         this("");
//     }
// 
//     public PlatformNotSupportedException(final String message) {
//         this(message, new RuntimeException(message));
//     }
// 
//     public PlatformNotSupportedException(final Throwable cause) {
//         this(cause.getMessage(), cause);
//     }
// 
//     public PlatformNotSupportedException(final String message, final Throwable cause) {
//         super(message, cause);
//     }
// 
// }


// Path: jxnet-context/src/main/java/com/ardikars/jxnet/Context.java
import com.ardikars.common.net.Inet4Address;
import com.ardikars.common.util.Builder;
import com.ardikars.common.util.Factory;
import com.ardikars.jxnet.exception.BpfProgramCloseException;
import com.ardikars.jxnet.exception.PcapCloseException;
import com.ardikars.jxnet.exception.PcapDumperCloseException;
import com.ardikars.jxnet.exception.PlatformNotSupportedException;
import java.nio.ByteBuffer;
import java.util.List;
import java.util.concurrent.Executor;
import java.util.concurrent.ExecutorService;

     * return value indicates what error condition occurred. The possible
     * error values are:
     * PCAP_ERROR_NO_SUCH_DEVICE(-5): The capture source specified when the handle was created doesn' exist.
     * PCAP_ERROR_PERM_DENIED(-8): The  process  doesn't  have  permission to check whether monitor mode could be supported.
     * PCAP_ERROR_ACTIVATED(-3): The capture handle has already been activated.
     * PCAP_ERROR(-1): Generic error.
     * @throws PcapCloseException pcap close exception.
     * @since 1.1.4
     */
    PcapCode pcapCanSetRfMon() throws PcapCloseException;

    /**
     * used to specify a direction that packets will be
     * captured. Direction is one of the constants PCAP_D_IN, PCAP_D_OUT or
     * PCAP_D_INOUT. PCAP_D_IN will only capture packets received by the
     * device, PCAP_D_OUT will only capture packets sent by the device and
     * PCAP_D_INOUT will capture packets received by or sent by the device.
     * PCAP_D_INOUT is the default setting if this function is not called.
     *
     * <p>PcapSetdirection() isn't necessarily fully supported on all platforms;
     * some platforms might return an error for all  values,  and  some  other
     * platforms might not support PCAP_D_OUT.</p>
     *
     * <p>This operation is not supported if a savefile is being read.</p>
     * @param direction direction.
     * @return returns  0 on success and -1 on failure (not supported by operating system).
     * @throws PcapCloseException pcap close exception.
     * @throws PlatformNotSupportedException platform not supported exception.
     * @since 1.1.4
     */
    PcapCode pcapSetDirection(PcapDirection direction) throws PcapCloseException, PlatformNotSupportedException;