Terminal and Device I/O API

POSIX terminal interface (termios) and device control system calls for managing terminals, serial ports, and device parameters.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/terminal-and-device-io-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

API entry from apis.yml

apis.yml Raw ↑
name: Terminal and Device I/O API
description: POSIX terminal interface (termios) and device control system calls for managing terminals,
  serial ports, and device parameters.
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/apis-json-logo.jpg
humanURL: https://man7.org/linux/man-pages/man3/termios.3.html
baseURL: system://unix/terminal
tags:
- Device-Io
- Serial
- Terminal
- Termios
- Tty
properties:
- type: Documentation
  url: https://man7.org/linux/man-pages/man3/termios.3.html
- type: APIReference
  url: https://man7.org/linux/man-pages/man0/termios.h.0p.html
- type: Documentation
  url: https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/termios.h.html
operations:
- name: tcgetattr
  description: Get terminal attributes
  parameters:
  - fd
  - termios_p
  returns: 0 on success, -1 on error
- name: tcsetattr
  description: Set terminal attributes
  parameters:
  - fd
  - optional_actions
  - termios_p
  returns: 0 on success, -1 on error
- name: tcsendbreak
  description: Send a break condition on a terminal
  parameters:
  - fd
  - duration
  returns: 0 on success, -1 on error
- name: tcdrain
  description: Wait until all output has been transmitted
  parameters:
  - fd
  returns: 0 on success, -1 on error
- name: tcflush
  description: Discard terminal data that has not been read or transmitted
  parameters:
  - fd
  - queue_selector
  returns: 0 on success, -1 on error
- name: tcflow
  description: Suspend or restart transmission or reception of data
  parameters:
  - fd
  - action
  returns: 0 on success, -1 on error
- name: cfgetispeed
  description: Get input baud rate from termios structure
  parameters:
  - termios_p
  returns: input baud rate
- name: cfgetospeed
  description: Get output baud rate from termios structure
  parameters:
  - termios_p
  returns: output baud rate
- name: cfsetispeed
  description: Set input baud rate in termios structure
  parameters:
  - termios_p
  - speed
  returns: 0 on success, -1 on error
- name: cfsetospeed
  description: Set output baud rate in termios structure
  parameters:
  - termios_p
  - speed
  returns: 0 on success, -1 on error
- name: isatty
  description: Test whether a file descriptor refers to a terminal
  parameters:
  - fd
  returns: 1 if terminal, 0 if not
- name: ttyname
  description: Get the name of the terminal associated with a file descriptor
  parameters:
  - fd
  returns: pointer to terminal name string
- name: ioctl
  description: Control device parameters and perform device-specific operations
  parameters:
  - fd
  - request
  - argp
  returns: depends on request, -1 on error