Packages

NIF for toggling a terminal's raw mode

Current section

Files

Jump to
raw_term lib raw_term.ex
Raw

lib/raw_term.ex

defmodule RawTerm do
@moduledoc """
https://en.wikipedia.org/wiki/Terminal_mode
"""
@on_load :load_nif
# escript support
@priv_dir Application.get_env(:raw_term, :priv_dir, :code.priv_dir(:raw_term))
@doc false
def load_nif do
@priv_dir
|> Path.join("raw_term")
|> to_charlist()
|> :erlang.load_nif(0)
end
@doc """
Enable raw mode
"""
@spec enable() :: :ok | {:error, :tcgetattr | :tcsetattr}
def enable do
raise "NIF enable/0 not implemented"
end
@doc """
Disable raw mode
"""
@spec enable() :: :ok | {:error, :tcsetattr}
def disable do
raise "NIF disable/0 not implemented"
end
end