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消息并生成一个令牌列表,以传递给解析器。