ИМЯ¶
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@perm.ru> 2004