| 
| 
		
		
 
 
 ИМЯ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  » |