Core UNIX/POSIX system calls providing low-level operating system interfaces for process management, file operations, interprocess communication, and system control.
UNIX System Call is listed with 11 APIs on the APIs.io network. Tagged areas include C API, Ieee-1003, Kernel, Open-Group, and Operating System.
UNIX System Call’s developer surface includes documentation, getting-started guide, API reference, and 8 more developer resources.
Regulatory Posture applies to this provider. Its tags matched the
Horizontal (data, software, accessibility, platform) regime, so
Regulatory Posture carries 15 points of the composite.
If this regime is wrong for your business, say so on your
provider repo — the
applicability map is public and we will correct it.
Create-or-Update Ergonomics could not be measured. We hold no machine-readable contract for
this provider to read, so there is nothing to measure a write surface against. Excluded rather than scored zero:
never-measured and measured-empty are different facts. Publishing an OpenAPI is what makes this facet — and
several others — scorable at all.
The six quality facets above are damped to 85 points between them,
because the conditional facet above carries the other
15. That is why each facet's contribution is shown against a damped
maximum: raising a quality facet moves the composite by 85% of its nominal
weight, not 100%. The full arithmetic is at apis.io/rating/.
Show this score on your site.
It updates itself when the score changes. Paste this where you link to your API docs:
<a href="https://apis.io/providers/unix/"><img src="https://apis.io/badge/unix/card.svg" alt="UNIX System Call on APIs.io — Kin Score by API Evangelist"></a>
Other styles, a README pill and a shields.io endpoint are on the badge page.
Raise your score.
Agent readiness — checks not met, largest first (exact, from this profile):
Machine-Readable Auth+10 pts — a served openid-configuration/oauth-authorization-server carrying `issuer` (served), else the securitySchemes class in the provider OpenAPIs — bound (mutualTLS, DPoP, Signature) > negotiable (oauth2 authorizationCode/clientCredentials, openIdConnect) > bearer (http bearer, apiKey) Ask about this →
Idempotency+9 pts — OpenAPI mutating operations declare an idempotency key — a header, a request-body property, or a named de-duplication token whose own description says so (verified); else common[].type matches /idempoten/i (documented) Ask about this →
Stable Error Semantics+8 pts — OpenAPI $refs a shared error schema across 4xx/5xx responses (verified), else common[].type includes ErrorCatalog / ErrorCodes / DeclineCodes Ask about this →
11 more unmet checks in the Agent Readiness table above.
Kin Score — facets with the most composite points still available (weight × headroom):
Each check links to what satisfies it. Publish the artifact, or tell us where it already lives, and the score moves on the next scoring run.
Not sure how this applies to your stack? Ask about any one item. Kin Lane reads every question, looks at your profile and your situation, and replies with what a fix would take — scoped to that one area, priced up front, yours whether you ship it or not. Ask a question →
POSIX advisory file locking interfaces for coordinating file access between processes.
Scroll for all 11
UNIX System Call API pricing
Not yet checked against UNIX System Call's own pricing page. Compiled by API Evangelist on 2026-05-04; confirm before you rely on a figure. A free plan or tier is listed.
aid: unix
name: UNIX System Call
description: Core UNIX/POSIX system calls providing low-level operating system interfaces for process management, file operations,
interprocess communication, and system control.
deliveryModel:
model: unknown
open_source: false
commercial: false
callable_host: false
label: Delivery model not determined — needs a product licence on record
confidence: low
source:
- none
generated: '2026-08-28'
method: derived
accessModel:
pricing: freemium
onboarding: unknown
trial: false
try_now: false
public: false
label: Freemium
confidence: low
source:
- plans
- security
generated: '2026-11-13'
method: derived
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/icons/unix.png
url: https://raw.githubusercontent.com/api-evangelist/unix/refs/heads/main/apis.yml
type: Index
created: '2024-01-15'
modified: '2026-04-18'
specificationVersion: '0.23'
tags:
- C API
- Ieee-1003
- Kernel
- Open-Group
- Operating System
- POSIX
- System-Calls
- Unix
tags_raw:
- C-Api
- Ieee-1003
- Kernel
- Open-Group
- Operating-System
- Posix
- System-Calls
- Unix
common:
- type: Plans
url: plans/unix-plans-pricing.yml
- type: RateLimits
url: rate-limits/unix-rate-limits.yml
- type: FinOps
url: finops/unix-finops.yml
- type: DomainSecurity
url: security/unix-domain-security.yml
- type: Documentation
url: https://pubs.opengroup.org/onlinepubs/9799919799/
- type: Documentation
url: https://pubs.opengroup.org/onlinepubs/9699919799/
- type: Documentation
url: https://man7.org/linux/man-pages/dir_section_2.html
- type: GettingStarted
url: https://sourceware.org/glibc/manual/
- type: Resources
url: https://en.wikipedia.org/wiki/POSIX
- type: APIReference
url: https://unix.org/apis.html
- type: Documentation
url: https://standards.ieee.org/ieee/1003.1/7700/
- type: Features
data:
- File system operations and file descriptor management
- Process creation, execution, and control
- Interprocess communication via pipes, signals, and sockets
- Memory mapping and virtual memory management
- POSIX threads for concurrent programming
- I/O multiplexing with select and poll
- Named and unnamed semaphores
- Message queues for async process communication
- Terminal and device I/O control
- Advisory file locking
- type: UseCases
data:
- Operating system development
- Systems programming and embedded systems
- Network server and daemon development
- High-performance I/O applications
- Concurrent and multi-threaded programming
- Device driver and hardware interface development
- type: Integrations
data:
- Linux kernel
- macOS / Darwin
- FreeBSD
- GNU C Library (glibc)
- musl libc
- POSIX-compliant operating systems
apis:
- name: File System Operations API
description: System calls for file and directory manipulation, including open, read, write, and file descriptor management.
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/apis-json-logo.jpg
humanURL: https://man7.org/linux/man-pages/dir_section_2.html
baseURL: system://unix/fs
tags:
- Directories
- File
- Filesystem
- IO
tags_raw:
- Directories
- Files
- Filesystem
- Io
properties:
- type: Documentation
url: https://pubs.opengroup.org/onlinepubs/9699919799/functions/contents.html
- type: APIReference
url: https://man7.org/linux/man-pages/man2/
- type: Documentation
url: https://pubs.opengroup.org/onlinepubs/9799919799/functions/open.html
contact:
- FN: POSIX Standards Committee
email: standards@opengroup.org
operations:
- name: open
description: Open file and return file descriptor
parameters:
- pathname
- flags
- mode
returns: file descriptor (int)
- name: read
description: Read bytes from a file descriptor
parameters:
- fd
- buf
- count
returns: number of bytes read
- name: write
description: Write bytes to a file descriptor
parameters:
- fd
- buf
- count
returns: number of bytes written
- name: close
description: Close a file descriptor
parameters:
- fd
returns: 0 on success, -1 on error
- name: lseek
description: Reposition file offset
parameters:
- fd
- offset
- whence
returns: resulting offset
- name: stat
description: Get file status
parameters:
- pathname
- statbuf
returns: 0 on success, -1 on error
- name: fstat
description: Get file status by file descriptor
parameters:
- fd
- statbuf
returns: 0 on success, -1 on error
- name: lstat
description: Get file status without following symbolic links
parameters:
- pathname
- statbuf
returns: 0 on success, -1 on error
- name: chmod
description: Change file permissions
parameters:
- pathname
- mode
returns: 0 on success, -1 on error
- name: fchmod
description: Change file permissions by file descriptor
parameters:
- fd
- mode
returns: 0 on success, -1 on error
- name: chown
description: Change file owner and group
parameters:
- pathname
- owner
- group
returns: 0 on success, -1 on error
- name: mkdir
description: Create a directory
parameters:
- pathname
- mode
returns: 0 on success, -1 on error
- name: rmdir
description: Remove a directory
parameters:
- pathname
returns: 0 on success, -1 on error
- name: link
description: Create a hard link to a file
parameters:
- oldpath
- newpath
returns: 0 on success, -1 on error
- name: unlink
description: Delete a name and possibly the file it refers to
parameters:
- pathname
returns: 0 on success, -1 on error
- name: symlink
description: Create a symbolic link
parameters:
- target
- linkpath
returns: 0 on success, -1 on error
- name: readlink
description: Read value of a symbolic link
parameters:
- pathname
- buf
- bufsiz
returns: number of bytes placed in buf
- name: rename
description: Change the name or location of a file
parameters:
- oldpath
- newpath
returns: 0 on success, -1 on error
- name: dup
description: Duplicate a file descriptor
parameters:
- oldfd
returns: new file descriptor
- name: dup2
description: Duplicate a file descriptor to a specified descriptor number
parameters:
- oldfd
- newfd
returns: new file descriptor
- name: fcntl
description: Manipulate file descriptor properties and flags
parameters:
- fd
- cmd
- arg
returns: depends on cmd, -1 on error
- name: access
description: Check user permissions for a file
parameters:
- pathname
- mode
returns: 0 on success, -1 on error
- name: umask
description: Set file mode creation mask
parameters:
- mask
returns: previous value of the mask
- name: opendir
description: Open a directory stream
parameters:
- name
returns: pointer to directory stream
- name: readdir
description: Read a directory entry
parameters:
- dirp
returns: pointer to dirent structure
- name: closedir
description: Close a directory stream
parameters:
- dirp
returns: 0 on success, -1 on error
- name: chdir
description: Change working directory
parameters:
- path
returns: 0 on success, -1 on error
- name: getcwd
description: Get current working directory
parameters:
- buf
- size
returns: pointer to buf
- name: truncate
description: Truncate a file to a specified length
parameters:
- path
- length
returns: 0 on success, -1 on error
- name: ftruncate
description: Truncate an open file to a specified length
parameters:
- fd
- length
returns: 0 on success, -1 on error
- name: fsync
description: Synchronize file state with storage device
parameters:
- fd
returns: 0 on success, -1 on error
- name: Process Management API
description: System calls for process creation, execution, termination, and control.
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/apis-json-logo.jpg
humanURL: https://man7.org/linux/man-pages/man2/fork.2.html
baseURL: system://unix/process
tags:
- Execution
- Processes
- Scheduling
properties:
- type: Documentation
url: https://pubs.opengroup.org/onlinepubs/9699919799/functions/fork.html
- type: GettingStarted
url: https://sourceware.org/glibc/manual/
- type: APIReference
url: https://man7.org/linux/man-pages/man2/fork.2.html
operations:
- name: fork
description: Create a new process by duplicating the calling process
parameters: []
returns: PID of child (in parent), 0 (in child), -1 on error
- name: exec
description: Execute a program (family of functions - execl, execv, execve, etc.)
parameters:
- pathname
- argv
- envp
returns: does not return on success, -1 on error
- name: wait
description: Wait for process to change state
parameters:
- status
returns: PID of terminated child
- name: waitpid
description: Wait for specific process to change state
parameters:
- pid
- status
- options
returns: PID of child
- name: exit
description: Terminate the calling process
parameters:
- status
returns: does not return
- name: _exit
description: Terminate the calling process immediately without cleanup
parameters:
- status
returns: does not return
- name: getpid
description: Get process ID
parameters: []
returns: process ID
- name: getppid
description: Get parent process ID
parameters: []
returns: parent process ID
- name: kill
description: Send signal to a process
parameters:
- pid
- sig
returns: 0 on success, -1 on error
- name: nice
description: Change process priority
parameters:
- inc
returns: new nice value
- name: setpgid
description: Set process group ID
parameters:
- pid
- pgid
returns: 0 on success, -1 on error
- name: getpgid
description: Get process group ID
parameters:
- pid
returns: process group ID
- name: setsid
description: Create a new session and set process group ID
parameters: []
returns: session ID of new session
- name: getrlimit
description: Get resource limits for the process
parameters:
- resource
- rlim
returns: 0 on success, -1 on error
- name: setrlimit
description: Set resource limits for the process
parameters:
- resource
- rlim
returns: 0 on success, -1 on error
- name: alarm
description: Set an alarm clock for delivery of a signal
parameters:
- seconds
returns: remaining seconds of previous alarm
- name: pause
description: Wait for a signal
parameters: []
returns: -1 with errno set to EINTR
- name: posix_spawn
description: Spawn a new process without fork (POSIX.1-2001)
parameters:
- pid
- path
- file_actions
- attrp
- argv
- envp
returns: 0 on success, error number on failure
- name: Interprocess Communication API
description: System calls for communication between processes including pipes, signals, and shared memory.
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/apis-json-logo.jpg
humanURL: https://man7.org/linux/man-pages/man7/pipe.7.html
baseURL: system://unix/ipc
tags:
- IPC
- Pipes
- Shared-Memory
- Signals
- Sockets
tags_raw:
- Ipc
- Pipes
- Shared-Memory
- Signals
- Sockets
properties:
- type: Documentation
url: https://pubs.opengroup.org/onlinepubs/9699919799/functions/V2_chap02.html
- type: CodeExamples
url: https://beej.us/guide/bgipc/
- type: GettingStarted
url: https://beej.us/guide/bgnet/html/
- type: APIReference
url: https://man7.org/linux/man-pages/man7/pipe.7.html
operations:
- name: pipe
description: Create a pipe for interprocess communication
parameters:
- pipefd[2]
returns: 0 on success, -1 on error
- name: mkfifo
description: Create a named pipe (FIFO special file)
parameters:
- pathname
- mode
returns: 0 on success, -1 on error
- name: signal
description: Install signal handler
parameters:
- signum
- handler
returns: previous signal handler
- name: sigaction
description: Examine and change signal action
parameters:
- signum
- act
- oldact
returns: 0 on success, -1 on error
- name: sigprocmask
description: Examine and change blocked signals
parameters:
- how
- set
- oldset
returns: 0 on success, -1 on error
- name: sigpending
description: Examine pending signals
parameters:
- set
returns: 0 on success, -1 on error
- name: sigsuspend
description: Wait for a signal replacing the signal mask
parameters:
- mask
returns: -1 with errno set to EINTR
- name: socket
description: Create an endpoint for communication
parameters:
- domain
- type
- protocol
returns: file descriptor
- name: bind
description: Bind a name to a socket
parameters:
- sockfd
- addr
- addrlen
returns: 0 on success, -1 on error
- name: listen
description: Listen for connections on a socket
parameters:
- sockfd
- backlog
returns: 0 on success, -1 on error
- name: accept
description: Accept a connection on a socket
parameters:
- sockfd
- addr
- addrlen
returns: file descriptor
- name: connect
description: Initiate a connection on a socket
parameters:
- sockfd
- addr
- addrlen
returns: 0 on success, -1 on error
- name: send
description: Send a message on a socket
parameters:
- sockfd
- buf
- len
- flags
returns: number of bytes sent
- name: recv
description: Receive a message from a socket
parameters:
- sockfd
- buf
- len
- flags
returns: number of bytes received
- name: sendto
description: Send a message on a socket to a specified address
parameters:
- sockfd
- buf
- len
- flags
- dest_addr
- addrlen
returns: number of bytes sent
- name: recvfrom
description: Receive a message from a socket with sender address
parameters:
- sockfd
- buf
- len
- flags
- src_addr
- addrlen
returns: number of bytes received
- name: shutdown
description: Shut down part of a full-duplex connection
parameters:
- sockfd
- how
returns: 0 on success, -1 on error
- name: setsockopt
description: Set options on a socket
parameters:
- sockfd
- level
- optname
- optval
- optlen
returns: 0 on success, -1 on error
- name: getsockopt
description: Get options on a socket
parameters:
- sockfd
- level
- optname
- optval
- optlen
returns: 0 on success, -1 on error
- name: socketpair
description: Create a pair of connected sockets
parameters:
- domain
- type
- protocol
- sv[2]
returns: 0 on success, -1 on error
- name: shmget
description: Allocate shared memory segment
parameters:
- key
- size
- shmflg
returns: shared memory identifier
- name: shmat
description: Attach shared memory segment
parameters:
- shmid
- shmaddr
- shmflg
returns: pointer to shared memory
- name: shmdt
description: Detach shared memory segment
parameters:
- shmaddr
returns: 0 on success, -1 on error
- name: shmctl
description: Shared memory control operations
parameters:
- shmid
- cmd
- buf
returns: depends on cmd, -1 on error
- name: msgget
description: Get a System V message queue identifier
parameters:
- key
- msgflg
returns: message queue identifier
- name: msgsnd
description: Send a message to a System V message queue
parameters:
- msqid
- msgp
- msgsz
- msgflg
returns: 0 on success, -1 on error
- name: msgrcv
description: Receive a message from a System V message queue
parameters:
- msqid
- msgp
- msgsz
- msgtyp
- msgflg
returns: number of bytes copied into msgp
- name: msgctl
description: System V message queue control operations
parameters:
- msqid
- cmd
- buf
returns: depends on cmd, -1 on error
- name: Memory Management API
description: System calls for memory allocation, mapping, and protection.
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/apis-json-logo.jpg
humanURL: https://man7.org/linux/man-pages/man2/mmap.2.html
baseURL: system://unix/memory
tags:
- Allocations
- Memory
- Mmap
- Virtual-Memory
tags_raw:
- Allocation
- Memory
- Mmap
- Virtual-Memory
properties:
- type: Documentation
url: https://pubs.opengroup.org/onlinepubs/9699919799/functions/mmap.html
- type: APIReference
url: https://man7.org/linux/man-pages/man2/mmap.2.html
operations:
- name: brk
description: Change data segment size
parameters:
- addr
returns: 0 on success, -1 on error
- name: sbrk
description: Change data segment size
parameters:
- increment
returns: previous program break
- name: mmap
description: Map files or devices into memory
parameters:
- addr
- length
- prot
- flags
- fd
- offset
returns: pointer to mapped area
- name: munmap
description: Unmap files or devices from memory
parameters:
- addr
- length
returns: 0 on success, -1 on error
- name: mprotect
description: Set protection on a region of memory
parameters:
- addr
- len
- prot
returns: 0 on success, -1 on error
- name: mlock
description: Lock memory into RAM
parameters:
- addr
- len
returns: 0 on success, -1 on error
- name: munlock
description: Unlock memory from RAM
parameters:
- addr
- len
returns: 0 on success, -1 on error
- name: msync
description: Synchronize a memory-mapped file with its underlying storage
parameters:
- addr
- length
- flags
returns: 0 on success, -1 on error
- name: madvise
description: Give advice about use of memory to the kernel
parameters:
- addr
- length
- advice
returns: 0 on success, -1 on error
- name: posix_memalign
description: Allocate aligned memory
parameters:
- memptr
- alignment
- size
returns: 0 on success, error number on failure
- name: shm_open
description: Create or open a POSIX shared memory object
parameters:
- name
- oflag
- mode
returns: file descriptor
- name: shm_unlink
description: Remove a POSIX shared memory object
parameters:
- name
returns: 0 on success, -1 on error
- name: System Information API
description: System calls for retrieving system information and configuration.
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/apis-json-logo.jpg
humanURL: https://man7.org/linux/man-pages/man2/uname.2.html
baseURL: system://unix/sysinfo
tags:
- Configuration
- Group
- Information
- System
- User
tags_raw:
- Configuration
- Groups
- Information
- System
- Users
properties:
- type: Documentation
url: https://pubs.opengroup.org/onlinepubs/9699919799/functions/uname.html
- type: APIReference
url: https://man7.org/linux/man-pages/man2/uname.2.html
operations:
- name: uname
description: Get system information
parameters:
- buf
returns: 0 on success, -1 on error
- name: getuid
description: Get user identity
parameters: []
returns: user ID
- name: getgid
description: Get group identity
parameters: []
returns: group ID
- name: geteuid
description: Get effective user ID
parameters: []
returns: effective user ID
- name: getegid
description: Get effective group ID
parameters: []
returns: effective group ID
- name: setuid
description: Set user identity
parameters:
- uid
returns: 0 on success, -1 on error
- name: setgid
description: Set group identity
parameters:
- gid
returns: 0 on success, -1 on error
- name: seteuid
description: Set effective user ID
parameters:
- euid
returns: 0 on success, -1 on error
- name: setegid
description: Set effective group ID
parameters:
- egid
returns: 0 on success, -1 on error
- name: getgroups
description: Get supplementary group IDs
parameters:
- size
- list
returns: number of supplementary group IDs
- name: getlogin
description: Get login name
parameters: []
returns: pointer to login name string
- name: time
description: Get time in seconds since Epoch
parameters:
- tloc
returns: time value
- name: gettimeofday
description: Get time with microsecond precision
parameters:
- tv
- tz
returns: 0 on success, -1 on error
- name: clock_gettime
description: Get time from a specified clock with nanosecond precision
parameters:
- clockid
- tp
returns: 0 on success, -1 on error
- name: clock_settime
description: Set time for a specified clock
parameters:
- clockid
- tp
returns: 0 on success, -1 on error
- name: sysconf
description: Get configurable system variables at runtime
parameters:
- name
returns: value of system variable, -1 on error
- name: pathconf
description: Get configurable pathname variables
parameters:
- path
- name
returns: value of variable, -1 on error
- name: getenv
description: Get value of an environment variable
parameters:
- name
returns: pointer to value string, NULL if not found
- name: setenv
description: Set or change an environment variable
parameters:
- name
- value
- overwrite
returns: 0 on success, -1 on error
- name: gethostname
description: Get the hostname of the system
parameters:
- name
- len
returns: 0 on success, -1 on error
- name: POSIX Threads API
description: POSIX threads (pthreads) interface for creating and managing threads, mutexes, condition variables, and thread-specific
data.
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/apis-json-logo.jpg
humanURL: https://man7.org/linux/man-pages/man7/pthreads.7.html
baseURL: system://unix/pthreads
tags:
- Concurrency
- Mutexes
- Pthreads
- Synchronization
- Threads
properties:
- type: Documentation
url: https://pubs.opengroup.org/onlinepubs/9699919799/functions/pthread_create.html
- type: APIReference
url: https://man7.org/linux/man-pages/man7/pthreads.7.html
- type: APIReference
url: https://man7.org/linux/man-pages/man0/pthread.h.0p.html
- type: Documentation
url: https://pubs.opengroup.org/onlinepubs/9799919799/functions/pthread_create.html
operations:
- name: pthread_create
description: Create a new thread
parameters:
- thread
- attr
- start_routine
- arg
returns: 0 on success, error number on failure
- name: pthread_exit
description: Terminate the calling thread
parameters:
- retval
returns: does not return
- name: pthread_join
description: Wait for a thread to terminate
parameters:
- thread
- retval
returns: 0 on success, error number on failure
- name: pthread_detach
description: Detach a thread so its resources are freed on termination
parameters:
- thread
returns: 0 on success, error number on failure
- name: pthread_self
description: Obtain ID of the calling thread
parameters: []
returns: thread ID
- name: pthread_equal
description: Compare two thread IDs
parameters:
- t1
- t2
returns: nonzero if equal, 0 if not equal
- name: pthread_cancel
description: Send a cancellation request to a thread
parameters:
- thread
returns: 0 on success, error number on failure
- name: pthread_mutex_init
description: Initialize a mutex
parameters:
- mutex
- attr
returns: 0 on success, error number on failure
- name: pthread_mutex_destroy
description: Destroy a mutex
parameters:
- mutex
returns: 0 on success, error number on failure
- name: pthread_mutex_lock
description: Lock a mutex
parameters:
- mutex
returns: 0 on success, error number on failure
- name: pthread_mutex_trylock
description: Try to lock a mutex without blocking
parameters:
- mutex
returns: 0 on success, error number on failure
- name: pthread_mutex_unlock
description: Unlock a mutex
parameters:
- mutex
returns: 0 on success, error number on failure
- name: pthread_cond_init
description: Initialize a condition variable
parameters:
- cond
- attr
returns: 0 on success, error number on failure
- name: pthread_cond_destroy
description: Destroy a condition variable
parameters:
- cond
returns: 0 on success, error number on failure
- name: pthread_cond_wait
description: Wait on a condition variable
parameters:
- cond
- mutex
returns: 0 on success, error number on failure
- name: pthread_cond_signal
description: Signal a condition variable waking one waiting thread
parameters:
- cond
returns: 0 on success, error number on failure
- name: pthread_cond_broadcast
description: Broadcast a condition variable waking all waiting threads
parameters:
- cond
returns: 0 on success, error number on failure
- name: pthread_rwlock_init
description: Initialize a read-write lock
parameters:
- rwlock
- attr
returns: 0 on success, error number on failure
- name: pthread_rwlock_rdlock
description: Lock a read-write lock for reading
parameters:
- rwlock
returns: 0 on success, error number on failure
- name: pthread_rwlock_wrlock
description: Lock a read-write lock for writing
parameters:
- rwlock
returns: 0 on success, error number on failure
- name: pthread_rwlock_unlock
description: Unlock a read-write lock
parameters:
- rwlock
returns: 0 on success, error number on failure
- name: pthread_key_create
description: Create a thread-specific data key
parameters:
- key
- destructor
returns: 0 on success, error number on failure
- name: pthread_setspecific
description: Set thread-specific data value
parameters:
- key
- value
returns: 0 on success, error number on failure
- name: pthread_getspecific
description: Get thread-specific data value
parameters:
- key
returns: pointer to thread-specific data, NULL if no value set
- name: pthread_once
description: Ensure initialization routine is called exactly once
parameters:
- once_control
- init_routine
returns: 0 on success, error number on failure
- name: pthread_attr_init
description: Initialize thread attributes object
parameters:
- attr
returns: 0 on success, error number on failure
- name: pthread_attr_destroy
description: Destroy thread attributes object
parameters:
- attr
returns: 0 on success, error number on failure
- name: I/O Multiplexing API
description: System calls for monitoring multiple file descriptors for readiness, enabling event-driven and non-blocking
I/O patterns.
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/apis-json-logo.jpg
humanURL: https://man7.org/linux/man-pages/man2/select.2.html
baseURL: system://unix/io-multiplex
tags:
- Event-Driven
- IO
- Multiplexing
- Non-Blocking
- poll
- Select
tags_raw:
- Event-Driven
- Io
- Multiplexing
- Non-Blocking
- Poll
- Select
properties:
- type: Documentation
url: https://pubs.opengroup.org/onlinepubs/9699919799/functions/select.html
- type: APIReference
url: https://man7.org/linux/man-pages/man2/select.2.html
- type: Tutorials
url: https://man7.org/linux/man-pages/man2/select_tut.2.html
operations:
- name: select
description: Monitor multiple file descriptors for readiness using fd_set bitmasks
parameters:
- nfds
- readfds
- writefds
- exceptfds
- timeout
returns: number of ready descriptors, 0 on timeout, -1 on error
- name: pselect
description: Synchronous I/O multiplexing with signal mask and timespec timeout
parameters:
- nfds
- readfds
- writefds
- exceptfds
- timeout
- sigmask
returns: number of ready descriptors, 0 on timeout, -1 on error
- name: poll
description: Monitor multiple file descriptors using pollfd array
parameters:
- fds
- nfds
- timeout
returns: number of ready descriptors, 0 on timeout, -1 on error
- name: ppoll
description: Poll file descriptors with signal mask and timespec timeout
parameters:
- fds
- nfds
- tmo_p
- sigmask
returns: number of ready descriptors, 0 on timeout, -1 on error
- name: POSIX Semaphores API
description: POSIX named and unnamed semaphore interfaces for process and thread synchronization.
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/apis-json-logo.jpg
humanURL: https://man7.org/linux/man-pages/man7/sem_overview.7.html
baseURL: system://unix/semaphores
tags:
- Concurrency
- IPC
- Semaphores
- Synchronization
tags_raw:
- Concurrency
- Ipc
- Semaphores
- Synchronization
properties:
- type: Documentation
url: https://man7.org/linux/man-pages/man7/sem_overview.7.html
- type: Documentation
url: https://pubs.opengroup.org/onlinepubs/9699919799/functions/sem_open.html
operations:
- name: sem_open
description: Open or create a named semaphore
parameters:
- name
- oflag
- mode
- value
returns: pointer to semaphore, SEM_FAILED on error
- name: sem_close
description: Close a named semaphore
parameters:
- sem
returns: 0 on success, -1 on error
- name: sem_unlink
description: Remove a named semaphore
parameters:
- name
returns: 0 on success, -1 on error
- name: sem_init
description: Initialize an unnamed semaphore
parameters:
- sem
- pshared
- value
returns: 0 on success, -1 on error
- name: sem_destroy
description: Destroy an unnamed semaphore
parameters:
- sem
returns: 0 on success, -1 on error
- name: sem_wait
description: Lock (decrement) a semaphore, blocking if value is zero
parameters:
- sem
returns: 0 on success, -1 on error
- name: sem_trywait
description: Try to lock a semaphore without blocking
parameters:
- sem
returns: 0 on success, -1 on error
- name: sem_timedwait
description: Lock a semaphore with a timeout
parameters:
- sem
- abs_timeout
returns: 0 on success, -1 on error
- name: sem_post
description: Unlock (increment) a semaphore
parameters:
- sem
returns: 0 on success, -1 on error
- name: sem_getvalue
description: Get the current value of a semaphore
parameters:
- sem
- sval
returns: 0 on success, -1 on error
- name: POSIX Message Queues API
description: POSIX message queue interfaces for exchanging messages between processes with priority support.
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/apis-json-logo.jpg
humanURL: https://man7.org/linux/man-pages/man7/mq_overview.7.html
baseURL: system://unix/mqueue
tags:
- Asynchronous
- IPC
- Message Queue
- Messaging
tags_raw:
- Asynchronous
- Ipc
- Message-Queues
- Messaging
properties:
- type: Documentation
url: https://man7.org/linux/man-pages/man7/mq_overview.7.html
- type: Documentation
url: https://pubs.opengroup.org/onlinepubs/9699919799/functions/mq_open.html
operations:
- name: mq_open
description: Open or create a POSIX message queue
parameters:
- name
- oflag
- mode
- attr
returns: message queue descriptor, (mqd_t)-1 on error
- name: mq_close
description: Close a message queue descriptor
parameters:
- mqdes
returns: 0 on success, -1 on error
- name: mq_unlink
description: Remove a message queue
parameters:
- name
returns: 0 on success, -1 on error
# --- truncated at 32 KB (37 KB total) ---
# Full source: https://artifacts.apis.io/unix/apis.yml
UNIX System Call API — frequently asked questions
Does UNIX System Call have an API?
Yes. APIs.io lists 11 APIs from UNIX System Call, including File System Operations API, Process Management API and Interprocess Communication API, and 8 more.
How much does the UNIX System Call API cost?
APIs.io lists 3 pricing plans for UNIX System Call, with each plan's price, limits and inclusions under Pricing on this page.
Is the UNIX System Call API ready for AI agents?
UNIX System Call has a Kin Score of 13.5 out of 100 (emerging) and an Agent Readiness score of 1.9 (human-only), scored by API Evangelist on 2026-11-13.
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.