. it's a good extra interface to have but doesn't meet standardised functionality . applications (in pkgsrc) find it and expect full functionality the minix mmap doesn't offter . on the whole probably better to hide these functions (mmap and friends) until they are grown up; the base system can use the new minix_* names
37 lines
1.4 KiB
C
37 lines
1.4 KiB
C
|
|
#ifndef _MMAN_H
|
|
#define _MMAN_H
|
|
|
|
#ifndef _TYPE_H
|
|
#include <minix/type.h>
|
|
#endif
|
|
|
|
/* prot argument for mmap() */
|
|
#define PROT_NONE 0x00 /* no permissions */
|
|
#define PROT_READ 0x01 /* pages can be read */
|
|
#define PROT_WRITE 0x02 /* pages can be written */
|
|
#define PROT_EXEC 0x04 /* pages can be executed */
|
|
|
|
/* flags argument for mmap() */
|
|
#define MAP_PRIVATE 0x0002 /* changes are private */
|
|
#define MAP_ANON 0x0004 /* anonymous memory */
|
|
#define MAP_PREALLOC 0x0008 /* not on-demand */
|
|
#define MAP_CONTIG 0x0010 /* contiguous in physical memory */
|
|
#define MAP_LOWER16M 0x0020 /* physically below 16MB */
|
|
#define MAP_ALIGN64K 0x0040 /* physically aligned at 64kB */
|
|
#define MAP_LOWER1M 0x0080 /* physically below 16MB */
|
|
#define MAP_IPC_SHARED 0x0100 /* used to implement shared memory */
|
|
|
|
/* mmap() error return */
|
|
#define MAP_FAILED ((void *)-1)
|
|
|
|
_PROTOTYPE( void *minix_mmap, (void *, size_t, int, int, int, off_t));
|
|
_PROTOTYPE( int minix_munmap, (void *, size_t));
|
|
_PROTOTYPE( int minix_munmap_text, (void *, size_t));
|
|
_PROTOTYPE( void *vm_remap, (endpoint_t d, endpoint_t s, void *da,
|
|
void *sa, size_t si));
|
|
_PROTOTYPE( int vm_unmap, (endpoint_t endpt, void *addr));
|
|
_PROTOTYPE( unsigned long vm_getphys, (endpoint_t endpt, void *addr));
|
|
_PROTOTYPE( u8_t vm_getrefcount, (endpoint_t endpt, void *addr));
|
|
|
|
#endif /* _MMAN_H */
|