Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
megaco_flex_scanner(3)	   Erlang Module Definition	megaco_flex_scanner(3)

NAME
       megaco_flex_scanner  -  Interface  module to the	flex scanner linked in
       driver.

DESCRIPTION
       This module contains the	public interface to the	flex scanner linked in
       driver.	The  flex  scanner performs the	scanning phase of text message
       decoding.

       The flex	scanner	is written using a tool	called flex. In	 order	to  be
       able to compile the flex	scanner	driver,	this tool has to be available.

       By default the flex scanner reports line-number of an error. But	it can
       be built	without	line-number reporting. Instead token number  is	 used.
       This  will speed	up the scanning	some 5-10%. Use	--disable-megaco-flex-
       scanner-lineno when configuring the application.

       The scanner will, by default, be	built as a reentrant  scanner  if  the
       flex  utility  supports this (it	depends	on the version of flex). It is
       possible	to explicitly disable this even	when flex  support  this.  Use
       --disable-megaco-reentrant-flex-scanner	when  configuring the applica-
       tion.

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

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

	      Types:

		 PortOrPorts = megaco_ports()
		 Reason	= term()

	      This function is used to start the flex scanner. It locates  the
	      library and loads	the linked in driver.

	      On  a  single  core system or if it's a non-reentrant scanner, a
	      single port is created. On a multi-core system with a  reentrant
	      scanner, several ports will be created (one for each scheduler).

	      Note  that  the  process that calls this function	must be	perma-
	      nent. If it dies,	the port(s) will exit and the driver unload.

       stop(PortOrPorts) -> stopped

	      Types:

		 PortOrPorts = megaco_ports()

	      This function is used to stop the	flex scanner. It also  unloads
	      the driver.

       is_reentrant_enabled() -> Boolean

	      Types:

		 Boolean = boolean()

	      Is the flex scanner reentrant or not.

       is_scanner_port(Port, PortOrPorts) -> Boolean

	      Types:

		 Port =	port()
		 PortOrPorts = megaco_ports()
		 Boolean = boolean()

	      Checks if	a port is a flex scanner port or not (useful when if a
	      port exits).

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

	      Types:

		 Binary	= binary()
		 PortOrPorts = megaco_ports()
		 Tokens	= list()
		 Version = megaco_version()
		 LatestLine = integer()
		 Reason	= term()

	      Scans  a	megaco message and generates a token list to be	passed
	      on the parser.

Ericsson AB			  megaco 4.2		megaco_flex_scanner(3)

NAME | DESCRIPTION | DATA TYPES | EXPORTS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=megaco_flex_scanner&sektion=3&manpath=FreeBSD+13.1-RELEASE+and+Ports>

home | help