Системные вызовы
Здесь перечислены наиболее важные системные вызовы, которые используются при работе с Linux.
Помните, что %eax хранит номера системных вызовов, и что возвращаемые значения и коды ошибок также сохраняются в %eax.
Таблица важных системных вызовов Linux
%eax | Имя | %ebx | %ecx | %edx | Примечание |
---|---|---|---|---|---|
1 | exit | возвращаемое значение (int) | Выход из программы | ||
3 | read | дескриптор файла | начало буфера | размер буфера (int) | Считывает данные в буфер |
4 | write | декриптор файла | начало буфера | размер буфера (int) | Записывает буфер в файл. |
5 | open | имя файла, завешаемое нулевым символом | список опций | режим доступа | Открывает указанный файл. Возвращает дескриптор файла или номер ошибки. |
6 | close | дескриптор файла | Закрывает файл по его дескриптору. | ||
12 | chdir | имя директории, завершаемое нулевым символом | Меняет текущую директория вашей программы. | ||
19 | lseek | дескриптор файла | смещение | режим | Меняет позицию текущего размещения в файле. Режим равен 1 для абсолютного и 0 для относительного смещения |
20 | getpid | Возвращает ID текущего процесса. | |||
39 | mkdir | имя директории, завершаемое нулевым символом | разрешения | Создаёт указанную директорию. Предполагает, что все директории в пути существуют. | |
40 | rmdir | имя директории, завершаемое нулевым символом | Удаляет указанную директорию. | ||
41 | dup | дескриптор файла | Возвращает новый дескриптор файла, который используется также как и существующий. | ||
42 | pipe | pipe array | Создаёт два дескриптора файлов и в один файл пишет то, что читает в другом файле. | ||
45 | brk | новое системное прерывание | Устанавливает системное прерывание. ... | ||
54 | ioctl | дескриптор файла | запрос | аргументы | Используется для установки параметров через файлы устройств. Его использование различается в зависимости от типа файла или устройства, на которое ссылается дескриптор. |
Полный список системных выховов для конкретных ядер
взято и переведено отсюда