Linux repositories inspector
Linux
2017-09-15

man-pages-ru

Russian man pages from the Linux Documentation Project

manpages-dev

Manual pages about using GNU/Linux for development

man-pages

Linux kernel and C library user-space interface documentation

ИМЯ

mmap2 - отображает файлы или устройства в память

ОБЗОР

#include <sys/mman.h>

void *mmap2(void *addr, size_t length, int prot, int flags, int fd, off_t pgoffset);

ОПИСАНИЕ

Вероятно, вам нужен не сам системный вызов; смотрите mmap(2), описывающую обёрточную функцию glibc, которая вызывает данный системный вызов.
Системный вызов mmap2() предоставляет тот же интерфейс что и mmap(2), за исключением того, что последний аргумент задаёт смещение в файле в 4096-байтовых единицах (вместо байт, как это делается в mmap(2)). Это позволяет приложениям использовать 32-битное значение off_t для отображения больших файлов (до 2^44 байт).

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

При удачном завершении mmap2() возвращает указатель на область отображения. В случае ошибки возвращается -1, а errno устанавливается в соответствующее значение.

ОШИБКИ

EFAULT Проблема получения данных из пользовательского пространства.
EINVAL (Различные платформы, где размер страницы не равен 4096 байтам.) Значение offset * 4096 не кратно размеру страницы системы.
Вызов mmap2() также может вернуть любую ошибку из описанных в mmap(2).

ВЕРСИИ

Вызов mmap2() доступен начиная с Linux 2.3.31.

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

Данный вызов есть только в Linux.

ЗАМЕЧАНИЯ

На архитектурах, имеющих данный системный вызов, обёрточная функция glibc mmap() вызывает данный системный вызов вместо системного вызова mmap(2).
Этот системный вызов отсутствует на x86-64.
На ia64 единица offset на самом деле имеет размер страницы системы, а не равна 4096 байтам.

СМОТРИТЕ ТАКЖЕ

⇧ Top