- bullseye-backports 4.18.1-1~bpo11+1
- testing 4.18.1-1
- unstable 4.18.1-1
MMAP2(2) | Руководство программиста Linux | MMAP2(2) |
ИМЯ¶
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 байтам.
СМ. ТАКЖЕ¶
ЗАМЕЧАНИЯ¶
Эта страница является частью проекта Linux man-pages версии 5.10. Описание проекта, информацию об ошибках и последнюю версию этой страницы можно найти по адресу https://www.kernel.org/doc/man-pages/.
ПЕРЕВОД¶
Русский перевод этой страницы руководства был сделан aereiae <aereiae@gmail.com>, Alexey <a.chepugov@gmail.com>, Azamat Hackimov <azamat.hackimov@gmail.com>, Dmitriy S. Seregin <dseregin@59.ru>, Dmitry Bolkhovskikh <d20052005@yandex.ru>, ITriskTI <ITriskTI@gmail.com>, Max Is <ismax799@gmail.com>, Yuri Kozlov <yuray@komyakino.ru>, Иван Павлов <pavia00@gmail.com> и Малянов Евгений Викторович <maljanow@outlook.com>
Этот перевод является бесплатной документацией; прочитайте Стандартную общественную лицензию GNU версии 3 или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.
Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на man-pages-ru-talks@lists.sourceforge.net.
15 сентября 2017 г. | Linux |