Главная » (2) Системные вызовы ядра (функции языка Си)





ИМЯ


mremap - изменяет отображение адреса виртуальной памяти



ОБЗОР


#define _GNU_SOURCE /* смотрите feature_test_macros(7) */
#include <sys/mman.h>

void *mremap(void *old_address, size_t old_size,
size_t new_size, int flags, ... /* void *new_address */);



ОПИСАНИЕ


Вызов mremap() увеличивает (или уменьшает) размер существующего отображения
памяти, при необходимости, перемещая его (это контролируется аргументом flags и
доступным виртуальным адресным пространством).

В old_address указывается старый адрес блока виртуальной памяти, который вы хотите
изменить. Заметим, что old_address должен быть выровнен по границе страницы. В
old_size задаётся старый размер блока виртуальной памяти. В new_size задаётся
запрашиваемый размер блока виртуальной памяти после изменения. Описание
необязате ... Читать дальше »

Категория: (2) Системные вызовы ядра (функции языка Си) | Просмотров: 439 | Добавил: Администратор | Дата: 21.11.2017 | Комментарии (0)





ИМЯ


mq_unlink - удаляет очередь сообщений



ОБЗОР


#include <mqueue.h>

int mq_unlink(const char *name);

Компонуется при указании параметра -lrt.



ОПИСАНИЕ


Функция mq_unlink() удаляет именованную очередь сообщений с именем name. Имя
очереди сообщений удаляется немедленно. А очередь сообщений уничтожается после
того, как все остальные процессы, в которых она открыт, закроют её.



ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ


При успешном выполнении mq_unlink() возвращается 0; при ошибке возвращается -1, а
в errno помещается код ошибки.



ОШИБКИ


EACCES Вызывающий не имеет прав на доступ для отсоединения очереди сообщений.

ENAMETOOLONG
Слишком длинное значение аргумента name.

ENOENT Очередь сообщений с указанным name отсутствует.



... Читать дальше »
Категория: (2) Системные вызовы ядра (функции языка Си) | Просмотров: 425 | Добавил: Администратор | Дата: 21.11.2017 | Комментарии (0)





ИМЯ


mq_send, mq_timedsend - отправляет сообщение в очередь сообщений



ОБЗОР


#include <mqueue.h>

int mq_send(mqd_t mqdes, const char *msg_ptr,
size_t msg_len, unsigned int msg_prio);

#include <time.h>
#include <mqueue.h>

int mq_timedsend(mqd_t mqdes, const char *msg_ptr,
size_t msg_len, unsigned int msg_prio,
const struct timespec *abs_timeout);

Компонуется при указании параметра -lrt.

Требования макроса тестирования свойств для glibc (смотрите feature_test_macros(7)):

mq_timedsend():
_POSIX_C_SOURCE >= 200112L



ОПИСАНИЕ


Функция mq_send() добавляет сообщение, на которое указывает msg_ptr, в очередь
сообщений, на которую ссылается дескриптор очереди сообщений mqdes. В аргументе
msg_len задаётся длина сообщения, на которое указывает msg_p ... Читать дальше »

Категория: (2) Системные вызовы ядра (функции языка Си) | Просмотров: 464 | Добавил: Администратор | Дата: 21.11.2017 | Комментарии (0)





ИМЯ


mq_receive, mq_timedreceive - выбирают сообщения из очереди сообщений



ОБЗОР


#include <mqueue.h>

ssize_t mq_receive(mqd_t mqdes, char *msg_ptr,
size_t msg_len, unsigned int *msg_prio);

#include <time.h>
#include <mqueue.h>

ssize_t mq_timedreceive(mqd_t mqdes, char *msg_ptr,
size_t msg_len, unsigned int *msg_prio,
const struct timespec *abs_timeout);

Компонуется при указании параметра -lrt.

Требования макроса тестирования свойств для glibc (смотрите feature_test_macros(7)):

mq_timedreceive():
_POSIX_C_SOURCE >= 200112L



ОПИСАНИЕ


Функция mq_receive() удаляет самое старое сообщение с наивысшим приоритетом из
очереди сообщений, на которою указывает дескриптор очереди сообщений mqdes, и
помещает сообщение в буфер, на который указывает m ... Читать дальше »

Категория: (2) Системные вызовы ядра (функции языка Си) | Просмотров: 477 | Добавил: Администратор | Дата: 21.11.2017 | Комментарии (0)





ИМЯ


mq_open - открывает очередь сообщений



ОБЗОР


#include <fcntl.h> /* Постоянные вида O_* */
#include <sys/stat.h> /* Постоянные для mode */
#include <mqueue.h>

mqd_t mq_open(const char *name, int oflag);
mqd_t mq_open(const char *name, int oflag, mode_t mode,
struct mq_attr *attr);

Компонуется при указании параметра -lrt.



ОПИСАНИЕ


Функция mq_open() создает новую очередь сообщений POSIX или открывает существующую
очередь. Очередь опознаётся по имени name. Для получения дополнительной информации
о создании имени name, смотрите mq_overview(7).

В параметре oflag задаются флаги, которые управляют работой вызова (значения
флагов могут быть получены при включении <fcntl.h>). Поместить в параметр oflag
можно только один из ниже приведенных флагов:

O ... Читать дальше »

Категория: (2) Системные вызовы ядра (функции языка Си) | Просмотров: 502 | Добавил: Администратор | Дата: 21.11.2017 | Комментарии (0)





ИМЯ


mq_getsetattr - получить/установить атрибуты очереди сообщений



ОБЗОР


#include <sys/types.h>
#include <mqueue.h>

int mq_getsetattr(mqd_t mqdes, struct mq_attr *newattr,
struct mq_attr *oldattr);

Замечание: В glibc нет обёрточной функции для данного системного вызова; смотрите
ЗАМЕЧАНИЯ.



ОПИСАНИЕ


Не используйте этот системный вызов.

Этот низкоуровневый системный вызов используется для реализации функций
mq_getattr(3) и mq_setattr(3). Более подробно о работе этого системного вызова
можно узнать на странице mq_setattr(3).



СООТВЕТСТВИЕ СТАНДАРТАМ


Этот интерфейс является нестандартным, не используйте его.



ЗАМЕЧАНИЯ


Glibc не предоставляет обертку (wrapper) для этого системного вызова; используй ... Читать дальше »

Категория: (2) Системные вызовы ядра (функции языка Си) | Просмотров: 468 | Добавил: Администратор | Дата: 21.11.2017 | Комментарии (0)





ИМЯ


afs_syscall, break, fattach, fdetach, ftime, getmsg, getpmsg, gtty, isastream,
lock, madvise1, mpx, prof, profil, putmsg, putpmsg, security, stty, tuxcall,
ulimit, vserver - нереализованные системные вызовы



ОБЗОР


Нереализованные системные вызовы.



ОПИСАНИЕ


Данные системные вызовы не реализованы в ядре Linux.



ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ


Эти системные вызовы всегда возвращают -1 и устанавливают для errno значение
ENOSYS.



ЗАМЕЧАНИЯ


Заметим, что ftime(3), profil(3) и ulimit(3) реализованы в виде библиотечных
функций.

Некоторые системные вызовы, такие как alloc_hugepages(2), free_hugepages(2),
ioperm(2), iopl(2) и vm86(2), существуют только для некоторых архитектур.

Некоторые системны ... Читать дальше »

Категория: (2) Системные вызовы ядра (функции языка Си) | Просмотров: 424 | Добавил: Администратор | Дата: 21.11.2017 | Комментарии (0)

« 1 2 ... 26 27 28 29 30 ... 59 60 »