ИМЯ
mmap2 − тображает файлы или устройства в память
ОБЗОР
#include
<sys/mman.h>
#include <syscall.h>
_syscall6(void *, start, size_t, length, int, prot, int, flags, int, fd, off_t, pgoffset);
void * mmap2(void *start, size_t length, int prot, int flags, int fd, off_t pgoffset);
#endif
ОПИСАНИЕ
Функция mmap2 работает точно также как и mmap(2), за исключением того, что последний аргумент задаёт смещение в файле в единицах размера системной страницы (вместо байт). Это позволяет приложениям использовать 32-бинтое значение off_t для отображения больших файлов (обычно размером больше чем 2^44 байт).
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
В случае успеха, mmap2 возвращает указатель на область отображения. В случае ошибки, возвращается −1 и значение errno устанавливается соответствующим образом.
ОШИБКИ
EFAULT
Проблема с получением данных из пространства пользователя.
ЗАМЕЧАНИЯ
Функция mmap2 доступна начиная с Linux 2.3.31. Она является специфичной для Linux и не должна использоваться в приложениях, которые планируются как переносимые на другие платформы. См. также функцию mmap64(), которая является частью LFS (Large File Summit).
СМОТРИ ТАКЖЕ
getpagesize(2), mmap(2), mremap(2), msync(2), shm_open(2)
ПЕРЕВОД
Перевёл с английского Виктор Вислобоков <corochoone [AT] perm.ru> 2004