Spec-Zone.ru › Elixir 1.3

Порт

Функции, связанные с портами Erlang.

Краткое описание

Типы

name()

Функции

call(port, operation, data)

Выполняет синхронный вызов port и возвращает его ответ в виде термина.

close(port)

Закрывает port.

command(port, data, options \\ [])

Отправляет data драйверу порта port.

connect(port, pid)

Связывает идентификатор port с pid.

control(port, operation, data)

Отправляет синхронную управляющую команду драйверу port и возвращает её ответ в виде двоичных данных.

info(port)

Возвращает информацию о port или nil, если порт закрыт.

info(port, spec)

Возвращает информацию о port или nil, если порт закрыт.

list()

Возвращает список портов для текущего узла.

open(name, settings)

Открывает порт Erlang, используя кортеж name и список settings.

Типы

name()

name ::
  {:spawn, charlist | binary} |
  {:spawn_driver, charlist | binary} |
  {:spawn_executable, charlist | atom} |
  {:fd, non_neg_integer, non_neg_integer}

Функции

call(port, operation, data)

call(port, integer, term) :: term

Выполняет синхронный вызов port и возвращает его ответ в виде термина.

Не все драйверы портов поддерживают эту функцию управления.

Для получения дополнительной информации см. :erlang.port_call/3.

Встроенная компилятором.

close(port)

close(port) :: true

Закрывает port.

Для получения дополнительной информации см. :erlang.port_close/1.

Встроенная компилятором.

command(port, data, options \\ [])

command(port, iodata, [:force | :nosuspend]) :: boolean

Отправляет data драйверу порта port.

Для получения дополнительной информации см. :erlang.port_command/2.

Встроенная компилятором.

connect(port, pid)

connect(port, pid) :: true

Связывает идентификатор port с pid.

Для получения дополнительной информации см. :erlang.port_connect/2.

Встроенная компилятором.

control(port, operation, data)

control(port, integer, iodata) :: iodata | binary

Отправляет синхронную управляющую команду драйверу port и возвращает её ответ в виде двоичных данных.

Не все драйверы портов поддерживают эту функцию.

Для получения дополнительной информации см. :erlang.port_control/3.

Встроенная компилятором.

info(port)

Возвращает информацию о port или nil, если порт закрыт.

Для получения дополнительной информации см. :erlang.port_info/1.

info(port, spec)

info(port, atom) :: {atom, term} | nil

Возвращает информацию о port или nil, если порт закрыт.

Для получения дополнительной информации см. :erlang.port_info/2.

list()

list() :: [port]

Возвращает список портов для текущего узла.

Для получения дополнительной информации см. :erlang.ports/0.

Встроенная компилятором.

open(name, settings)

open(name, list) :: port

Открывает порт Erlang, используя кортеж name и список settings.

Имя

Поддерживаемые значения для name:

  • {:spawn, command} — для запуска внешней программы. Первое слово в command, разделённое пробелом, будет считаться именем программы, поэтому используйте {:spawn_executable, command}, чтобы запустить программу с пробелами в имени.
  • {:spawn_driver, command} — аналогично {:spawn, command}, но для запуска загруженного драйвера.
  • {:spawn_executable, filename} — аналогично {:spawn, filename}, но для запуска внешнего исполняемого файла. В этом случае filename в целом считается именем исполняемой программы.
  • {:fd, fd_in, fd_out} — для доступа к дескрипторам файлов, используемым Erlang, fd_in используется для стандартного ввода, fd_out для стандартного вывода.

Для получения дополнительной информации см. :erlang.open_port/2.

Встроенная компилятором.

© 2012 Plataformatec
Licensed under the Apache License, Version 2.0.
https://hexdocs.pm/elixir/1.3.4/Port.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API