ИМЯ dup, dup2, dup3 - создать дубликат файлового дескриптора
ОБЗОР #include <unistd.h>
int dup(int oldfd); int dup2(int oldfd, int newfd);
#define _GNU_SOURCE /* Смотрите feature_test_macros(7) */ #include <fcntl.h> /* Определение констант O_* */ #include <unistd.h>
int dup3(int oldfd, int newfd, int flags);
ОПИСАНИЕ Системный вызов dup() создаёт копию файлового дескриптора oldfd, используя для нового дескриптора самый маленький свободный номер файлового дескриптора.
После успешного выполнения старый и новый файловые дескрипторы являются взаимозаменяемыми. Они указывают на одно и то же открытое файловое описание (смотрите open(2)<
...
Читать дальше »
|
ИМЯ delete_module - выгружает модуль ядра
ОБЗОР int delete_module(const char *name, int flags);
Замечание: В заголовочных файлах glibc этой системный вызов отсутствует; смотрите ЗАМЕЧАНИЯ.
ОПИСАНИЕ Вызов delete_module() пытается удалить неиспользуемый загруженный модуль с именем name. Если у модуля есть функция exit, то она выполняется перед выгрузкой. Аргумент flags используется для изменения поведения системного вызова — это описано далее. Данный системный вызов требует особых прав.
Удаление модуля выполняется по следующим правилам:
1. Если какой-то другой модуль зависит от выгружаемого (т.е., использует его символы), то вызов завершается с ошибкой.
2. В противном случае, если счётчик
...
Читать дальше »
|
ИМЯ create_module - создать элемент загружаемого модуля
ОБЗОР #include <linux/module.h>
caddr_t create_module(const char *name, size_t size);
Замечание: В заголовочных файлах glibc этой системный вызов отсутствует; смотрите ЗАМЕЧАНИЯ.
ОПИСАНИЕ Замечание: Данный системный вызов доступен только в ядрах до Linux 2.6.
create_module() пытается создать элемент загружаемого модуля и зарезервировать память ядра, которая необходима для хранения модуля. Данный системный вызов требует особых прав.
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ При успешном выполнении возвращается адрес в ядре, где будет располагаться модуль. В случае ошибки возвращается -1, а errno устанавливается в соответствующее
...
Читать дальше »
|
ИМЯ open, openat, creat - открывает и, возможно, создаёт файл
ОБЗОР #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h>
int open(const char *pathname, int flags); int open(const char *pathname, int flags, mode_t mode);
int creat(const char *pathname, mode_t mode);
int openat(int dirfd, const char *pathname, int flags); int openat(int dirfd, const char *pathname, int flags, mode_t mode);
Требования макроса тестирования свойств для glibc (см. feature_test_macros(7)):
openat(): Начиная с glibc 2.10: _POSIX_C_SOURCE >= 200809L До glibc 2.10: _ATFILE_SOURCE
ОПИСАНИЕ Получив в pathname имя файла, open() возвращает ф
...
Читать дальше »
|
ИМЯ copy_file_range - копирует часть данных из одного файла в другой
ОБЗОР #include <sys/syscall.h> #include <unistd.h>
ssize_t copy_file_range(int fd_in, loff_t *off_in, int fd_out, loff_t *off_out, size_t len, unsigned int flags);
ОПИСАНИЕ Системный вызов copy_file_range() выполняет внутриядерное копирование между двумя файловыми дескрипторами без дополнительных накладных расходов по передаче данных из ядра в пользовательское пространство и затем обратно в ядро. Он копирует до len байт данных из файлового дескриптора fd_in в файловый дескриптор fd_out, перезаписывая существующие данные внутри запрашиваемой области файла назначения.
Следующая семант
...
Читать дальше »
|
ИМЯ connect - инициирует соединение на сокете
ОБЗОР #include <sys/types.h> /* Смотрите ЗАМЕЧАНИЯ */ #include <sys/socket.h>
int connect(int sockfd, const struct sockaddr *addr, socklen_t addrlen);
ОПИСАНИЕ Системный вызов connect() устанавливает соединение с сокетом, заданным файловый дескриптором sockfd, ссылающимся на адрес addr. Аргумент addrlen определяет размер addr. Формат адреса в addr определяется адресным пространством сокета sockfd; подробнее можно узнать в socket(2).
Если сокет sockfd имеет тип SOCK_DGRAM, то адрес addr является адресом по умолчанию, куда посылаются датаграммы, и единственным адресом, откуда они принимаются. Если сокет имеет ти
...
Читать дальше »
|
ИМЯ close - закрывает файловый дескриптор
ОБЗОР #include <unistd.h>
int close(int fd);
ОПИСАНИЕ Функция close() закрывает файловый дескриптор, который после этого не ссылается ни на один и файл и может быть использован повторно. Все блокировки (см. fcntl(2)), связанные с соответствующим файлом и принадлежащие процессу, снимаются (независимо от того, какой файловый дескриптор был ли использован для установки блокировки).
Если fd является последней копией какого-либо файлового дескриптора, ссылающегося на используемое описание открытого файла, (см. open(2)), то ресурсы, связанные с описанием открытого файла, освобождаются; если файловый дескриптор был последней ссылкой на файл, удалённый с помощью unlink
...
Читать дальше »
| « 1 2 ... 52 53 54 55 56 ... 59 60 » |