在线文档教程

megaco_flex_scanner

megaco_flex_scanner

模块

megaco_flex_scanner

模块摘要

接口模块与FLEX扫描仪连接在驱动程序中。

描述

该模块包含与驱动程序中链接的Flex扫描器的公共接口。FLEX扫描仪执行文本信息解码的扫描阶段。

Flex扫描仪使用称为flex的工具编写。为了能够编译柔性扫描仪驱动程序,此工具必须可用。

默认情况下,柔性扫描仪会报告错误的行号。但它可以在没有行号报告的情况下构建。而是使用令牌号码。这将加快扫描5-10%。--disable-megaco-flex-scanner-lineno配置应用程序时使用。

默认情况下,如果 Flex实用程序支持此功能(这取决于Flex的版本),则扫描程序将被构建为可重入扫描程序。即使flex支持这一点,也可以明确地禁用它。--disable-megaco-reentrant-flex-scanner配置应用程序时使用。

数据类型

megaco_ports() = term() megaco_version() = integer() >= 1

输出

start() -> {ok, PortOrPorts} | {error, Reason}

类型

此函数用于启动FLEX扫描仪。它定位库并加载驱动程序中的链接。

在单个核心系统上,或者如果它是非重入式扫描程序,则会创建单个端口。在具有可重入扫描器的多核系统上,将创建多个端口(每个调度程序一个端口)。

请注意,调用此函数的进程必须是永久的。如果它被撤销了,端口将退出并且驱动程序卸载。

stop(PortOrPorts) -> stopped

类型

此函数用于停止FLEX扫描器。它也卸载驱动程序。

is_reentrant_enabled() -> Boolean

类型

flex扫描仪是否重新折叠?

is_scanner_port(Port, PortOrPorts) -> Boolean

类型

检查端口是否为灵活扫描器端口(如果端口退出,则有用)。

scan(Binary, PortOrPorts) -> {ok, Tokens, Version, LatestLine} | {error, Reason, LatestLine}

类型

扫描一个Megaco消息并生成一个令牌列表,以传递给解析器。