UNPKG

tuntap2

Version:

a opensource, asynchronized, napi-based, business friendly tuntap device driver addon for nodejs.

90 lines (89 loc) 1.86 kB
/// <reference types="node" /> import { Duplex } from "stream"; /** * basic tuntap interface */ export interface TuntapI extends Duplex { /** * the name of this tun/tap device. * This will be generated. * @type {string} * @memberof TuntapI * @since 0.0.1 */ readonly name: string; /** * returns `true` if this is a Tap device * @type {boolean} * @memberof TuntapI * @since 0.0.1 */ readonly isTap: boolean; /** * returns `true` if this is a Tun device * @type {boolean} * @memberof TuntapI * @since 0.0.1 */ readonly isTun: boolean; /** * the mac address of this interface * @example * ```js * this.mac = '00:11:22:33:44:55'; * ``` * @type {string} * @memberof TuntapI * @since 0.1.1 */ mac: string; /** * mtu of this interface * @example * ```js * this.mtu = 1500; * ``` * @type {number} * @memberof TuntapI * @since 0.0.1 */ mtu: number; /** * ipv4 address/subnet in cidr format of this interface * @example * ```js * this.ipv4='127.0.0.1/24'; * ``` * @type {string} * @memberof TuntapI * @since 0.0.1 */ ipv4: string; /** * ipv6 address/subnet in cidr format of this interface * @example * ```js * this.ipv6='abcd:0:1::/64'; * ``` * @type {string} * @memberof TuntapI * @since 0.0.1 */ ipv6: string; /** * get/set the interface to up/down status * @example * ```js * this.isUp = true; //set this interface up * ``` * @type {boolean} * @memberof TuntapI * @since 0.0.1 */ isUp: boolean; /** * release this interface * @memberof TuntapI */ release: () => void; }