https://github.com/cybersecurity-dev/linux-apis
Linux-APIs
https://github.com/cybersecurity-dev/linux-apis
Last synced: about 2 months ago
JSON representation
Linux-APIs
- Host: GitHub
- URL: https://github.com/cybersecurity-dev/linux-apis
- Owner: cybersecurity-dev
- License: mit
- Created: 2025-05-06T11:44:52.000Z (about 2 months ago)
- Default Branch: main
- Last Pushed: 2025-05-06T22:17:55.000Z (about 2 months ago)
- Last Synced: 2025-05-06T23:24:17.959Z (about 2 months ago)
- Size: 2.93 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Linux API Documentation
| Category | Description | Key System Calls |
| :--------------------- | :------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Process Management** | System calls for creating, controlling, and terminating processes. | `fork`, `execve`, `waitpid`, `exit`, `kill`, `getpid`, `getppid`, `nice`, `sched_setscheduler`, `sched_getscheduler` |
| **Memory Management** | System calls for allocating and managing memory regions. | `mmap`, `munmap`, `brk`, `sbrk`, `mprotect`, `mlock`, `munlock` |
| **File System** | System calls for interacting with files and directories. | `open`, `close`, `read`, `write`, `lseek`, `stat`, `fstat`, `access`, `chmod`, `chown`, `truncate`, `unlink`, `mkdir`, `rmdir`, `rename`, `link`, `symlink`, `readlink`, `mount`, `umount` |
| **Inter-Process Communication (IPC)** | System calls that allow different processes to communicate and synchronize with each other. | **Pipes:** `pipe`, **Message Queues:** `msgget`, `msgsnd`, `msgrcv`, `msgctl`, **Shared Memory:** `shmget`, `shmat`, `shmdt`, `shmctl`, **Semaphores:** `semget`, `semop`, `semctl`, **Sockets:** `socket`, `bind`, `listen`, `accept`, `connect`, `send`, `recv`, `close` (also used for network communication) |
| **Signal Handling** | System calls for managing signals, which are asynchronous notifications sent to a process to indicate events. | `signal`, `sigaction`, `kill`, `raise`, `pause`, `sigprocmask`, `sigsuspend`, `sigpending` |
| **Device I/O** | System calls for interacting with hardware devices. Files are often used as an abstraction for devices in Linux. | `ioctl` (general device control), `read`, `write` (on device files), `mmap` (for memory-mapped device I/O) |
| **Networking** | System calls specifically for network communication. (Note: Sockets are also a form of IPC). | `socket`, `bind`, `listen`, `accept`, `connect`, `send`, `recv`, `sendto`, `recvfrom`, `getsockname`, `getpeername`, `setsockopt`, `getsockopt`, `shutdown` |
| **Time Management** | System calls for getting and setting the system time and timers. | `time`, `gettimeofday`, `settimeofday`, `nanosleep`, `alarm`, `timer_create`, `timer_settime`, `timer_gettime`, `timer_delete` |
| **User and Group IDs** | System calls for getting and setting user and group identifiers associated with a process. | `getuid`, `geteuid`, `setuid`, `seteuid`, `getgid`, `getegid`, `setgid`, `setegid`, `getgroups`, `setgroups` |
| **System Information** | System calls for retrieving various information about the system. | `uname`, `gethostname`, `sysinfo`, `sysconf`, `pathconf` |
| **Security** | System calls related to security features and access control. | `chmod`, `chown`, `access`, `setuid`, `seteuid`, `setgid`, `setegid`, `capget`, `capset` (capabilities), `prctl` (process control with security-related options) |
| **Real-time Extensions** | System calls that provide real-time scheduling and memory locking capabilities. | `sched_setscheduler` (with real-time policies), `sched_getparam`, `sched_setparam`, `mlock`, `munlock`, `mlockall`, `munlockall`, `timer_create` (with `CLOCK_REALTIME` or `CLOCK_MONOTONIC`), `timer_settime` |