Copyright (C) 1994, Digital Equipment Corp.
INTERFACE** sys/mman.h **Umman ; FROM Ctypes IMPORT int; FROM Utypes IMPORT caddr_t, size_t, off_t;
CONST PROT_NONE = 0; PROT_READ = 16_1; PROT_WRITE = 16_2; PROT_EXEC = 16_4; MAP_SHARED = 1; MAP_PRIVATE = 2; MAP_TYPE = 16_f; MAP_FIXED = 16_10; MAP_RENAME = 16_20; (* Doesn't appear to be supported any more - rrw *) MAP_ANONYMOUS = 16_20; MAP_NORESERVE = 16_40; (* Neither does this - rrw *) MAP_GROWSDOWN = 16_400; (* Stack-like segment *) MAP_DENYWRITE = 16_800; (* ETXTBSY *) MAP_EXECUTABLE = 16_1000; (* Mark it as an executable *) (* Up to & including MDV_DONTNEED appears not to be used any more *) MAP_NEW = 16_80000000; MADV_NORMAL = 0; MADV_RANDOM = 1; MADV_SEQUENTIAL = 2; MADV_WILLNEED = 3; MADV_DONTNEED = 4; MS_ASYNC = 16_1; MS_INVALIDATE = 16_2; MS_SYNC = 16_4; (* Synchronous memory sync., apparently *) (* The following appear not to exist any more either - rrw *) MC_SYNC = 1; MC_LOCK = 2; MC_UNLOCK = 3; MC_ADVISE = 4; MC_LOCKAS = 5; MC_UNLOCKAS = 6; MCL_CURRENT = 16_1; MCL_FUTURE = 16_2; <*EXTERNAL*> PROCEDURE mmap (addr: caddr_t; len: size_t; prot,flags,fd: int; off: off_t) : caddr_t; <*EXTERNAL*> PROCEDURE munmap (addr: caddr_t; len: size_t): int; <*EXTERNAL*> PROCEDURE mprotect(addr: caddr_t; len: size_t; prot: int): int; <*EXTERNAL*> PROCEDURE msync(addr: caddr_t; len: size_t; flags: int): int; <*EXTERNAL*> PROCEDURE mlock(addr: caddr_t; len: size_t): int; <*EXTERNAL*> PROCEDURE munlock(addr: caddr_t; len: size_t): int; <*EXTERNAL*> PROCEDURE mlockall(flags: int): int; <*EXTERNAL*> PROCEDURE munlockall(): int; END Umman.