eNSP 第三方接口是一个接口标准,任何第三方模拟设备只要按照该标准提供接口,都可以将第三方设备作为插件加入到 eNSP 中来,通过 eNSP 绘制拓扑和操作设备。
函数接口说明

该函数用于插件的初始化操作。
参数:
返回值:
该函数用来告诉eNSP当前用户是否已经在第三方设备商注册,如果第三方设备无须注册,直接返回TRUE即可。
参数:
返回值:
该函数用来创建设备。
参数:
返回值:
该函数用来启动第三方设备。
参数:
返回值:
该函数用来停止第三方设备。
参数:
返回值:
该函数用来导出设备的配置文件。
参数:
返回值:
该函数用来上传设备的配置文件。
参数:
返回值:
该函数用来获取设备命令行的虚拟串口号。
参数:
返回值:
该函数用来告诉设备的某个接口所连接的对端的IP和端口号,后续将与其进行通信。
参数:
返回值:
该函数用来断开设备的某个接口与对端的连接。
参数:
返回值:
该函数用来删除设备。
参数:
返回值:
该函数用于清除插件的资源。
参数:
无
返回值:
启动第三方设备时,eNSP为每台设备提供资源文件,加载适配dll后,适配dll读取资源文件信息,启动设备。流程如下:

设备接口之间通过socket UDP通信,配置文件resource.cfg格式如下:

注:
comport:eNSP 建议第三方设备使用的UDP端口号。
socketoffset:第三方设备多实例在自定义本地接口的UDP端口号时,ensp建议使用的UDP端口号偏移量,如:device1 本地接口使用的udp端口号为2000,2001,2002…,device2 本地接口使用的UDP端口号为 2000 + socketoffset,2000 + socketoffset +1,2000 + Socketoffset+2…。
systemmac:系统Mac地址。(格式:XX-XX-XX-XX-XX-XX)
资源文件详细内容如下:

| 错误码 | 值 | 说明 | 备注 |
| ERR_CODE_SEND_REQUEST | 1 | 发送请求失败。 | |
| ERR_CODE_RECV_RESPONSE | 2 | 接收响应失败。 | |
| ERR_CODE_CREATE_DIR | 3 | 创建目录失败。 | |
| ERR_CODE_DEL_DIR | 4 | 删除目录失败。 | |
| ERR_CODE_START_DEV | 5 | 启动设备失败。 | |
| ERR_CODE_STOP_DEV | 6 | 停止设备失败。 | |
| ERR_CODE_REMOVE_DEV | 7 | 删除设备设备。 | |
| ERR_CODE_COPY_FILE | 8 | 拷贝文件失败。 | |
| ERR_CODE_WRITE_HARDCFG | 9 | 写入配置文件失败。 | |
| ERR_CODE_ASSIGN_SOCKOFFSET | 10 | 分配端口失败。 | |
| ERR_CODE_COMPRESS_FILE | 11 | 压缩文件失败。 | |
| ERR_CODE_DECOMPRESS_FILE | 12 | 解压文件失败。 | |
| ERR_CODE_TRANMISSION_FILE | 13 | 传输文件失败。 | |
| ERR_CODE_SYNC_FILE | 14 | 同步文件失败。 | |
| ERR_CODE_SAVE_TOPO | 15 | 保存topo失败。 | |
| ERR_CODE_MALLOC_MEM | 16 | 分配内存失败。 | |
| ERR_CODE_BIND_PORT | 17 | 绑定端口失败。 | |
| ERR_CODE_INIT_TELNET | 18 | 初始化telnet服务失败。 | |
| ERR_CODE_GET_PEERINFO | 19 | 获取对端信息失败。 | |
| ERR_CODE_CONNECT_DEST | 20 | 连接失败。 | |
| ERR_CODE_CONNECT_SRC | 21 | 连接失败。 | |
| ERR_CODE_DISCONNECT_DEST | 22 | 断连失败。 | |
| ERR_CODE_DISCONNECT_SRC | 23 | 断连失败。 | |
| ERR_CODE_NO_MEM | 24 | 内存错误。 | |
| ERR_CODE_NO_WORKSPACE | 25 | 工作目录出错。 | |
| ERR_CODE_CREATE_WORKSPACE | 26 | 创建工作目录失败。 | |
| ERR_CODE_WORKSPACE_EXIST | 27 | 工作目录存在。 | |
| ERR_CODE_BIND_VIRTURE_COMPORT | 28 | 绑定虚拟端口失败。 | |
| ERR_CODE_SAVE_CFG_FILE | 29 | 保存配置文件失败。 | |
| ERR_CODE_EXTRACT_CFG | 30 | 导出配置文件失败。 | |
| ERR_CODE_OPEN_FLASH | 31 | 打开Flash失败。 | |
| ERR_CODE_IMPORT_CONFIG | 32 | 导入配置文件失败。 | |
| ERR_CODE_WRITE_INTO_FLASH | 33 | 写入flash失败。 | |
| ERR_CODE_EXPORT_RESULT | 34 | 导入失败。 | |
| ERR_CODE_OPEN_FILE | 35 | 打开文件失败。 | |
| ERR_CODE_CONFIG_EXIST | 36 | 配置文件已经存在。 | |
| ERR_CODE_ADDRESS_EXCERED | 37 | 获取flash信息失败。 | |
| ERR_CODE_PATCH_EXIST | 38 | 无法找到patch文件。 | |
| ERR_CODE_TRANSFER_RESOURCE | 39 | 生成资源文件失败。 | |
| ERR_CODE_START_ARLINK | 40 | 启动设备失败。 | |
| ERR_CODE_BASE_NOT_FOUND | 41 | 未找到Base设备。 | |
| ERR_CODE_SNAPSHOT_NOT_FOUND | 42 | 未找到snapshot设备。 | |
| ERR_CODE_VBOX_INIT_FAILED | 43 | vbox初始化设备。 | |
| ERR_CODE_VBOX_PACKAGE_NOT_FOUND | 44 | 设备包不存在。 | |
| ERR_CODE_REGIST_FAIL | 45 | 注册失败。 |

