Functions
Functions that manage memory mappping.

This header provides the meomry map functions mmap and munmap. More...

Functions

EVIL_API void * mmap (void *addr, size_t len, int prot, int flags, int fd, off_t offset)
 Creates or opens a named or unnamed file mapping object for a specified file and maps a view of a file mapping into the address space of a calling process. More...
 
EVIL_API int munmap (void *addr, size_t len)
 Unmaps a mapped view of a file from the calling process's address space. More...
 
EVIL_API int mprotect (void *addr, size_t len, int prot)
 Changes protection for the calling process' address. More...
 

Detailed Description

This header provides the meomry map functions mmap and munmap.

Function Documentation

◆ mmap()

EVIL_API void * mmap ( void *  addr,
size_t  len,
int  prot,
int  flags,
int  fd,
off_t  offset 
)

Creates or opens a named or unnamed file mapping object for a specified file and maps a view of a file mapping into the address space of a calling process.

Parameters
addrUnused
lenNumber of bytes to be mapped.
protProtections.
flagsType of the mapped object.
fdFile descriptor that describes the object to map.
offsetNumber of bytes from which to start the mapping.
Returns
The starting address of the mapped view on success, -1 otherwise.

Create or open an unnamed file mapping object for a specified file described by the file descriptor fd. The number of bytes that are mapped is given by len and start after offset bytes. The parameter addr is unused.

The only type of the mapped object that is supported is MAP_SHARED. If another value if given, -1 is returned.

prot specifies the protection of the mapped region. If PROT_EXEC is used, it set the execute access. If PROT_READ is used, it sets the read access. If PROT_WRITE is used, it sets the write access.

If the map view of file can not be created, -1 is returned. If the mappping can not be done, -1 is returned.

If no error occurred, the starting address of the mapped view is returned.

Conformity: None.

Supported OS: Windows Vista, Windows XP or Windows 2000 Professional.

Referenced by ecore_drm2_fb_create(), eina_file_map_all(), and eina_file_map_new().

◆ munmap()

EVIL_API int munmap ( void *  addr,
size_t  len 
)

Unmaps a mapped view of a file from the calling process's address space.

Parameters
addrPointer to the base address.
lenUnused.
Returns
0 on success, -1 otherwise.

Unmaps a mapped view of a file from the calling process's address space. addr is the pointer to the base address. This value must be identical to the value returned by a previous call to mmap(). The parameter len is unused.

Conformity: None.

Supported OS: Windows Vista, Windows XP or Windows 2000 Professional.

Referenced by eina_file_map_free().

◆ mprotect()

EVIL_API int mprotect ( void *  addr,
size_t  len,
int  prot 
)

Changes protection for the calling process' address.

Parameters
addrPointer to the base address.
lenLength of the memory.
protNew protection.
Returns
0 on success, -1 otherwise.

Changes protection for the calling process' memory page. addr must be a valid adress in the user space. prot must be compatible with the old protection.

Conformity: None.

Supported OS: Windows Vista