home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #16 / NN_1992_16.iso / spool / comp / lang / modula3 / 859 < prev    next >
Encoding:
Text File  |  1992-07-30  |  3.7 KB  |  162 lines

  1. Newsgroups: comp.lang.modula3
  2. Path: sparky!uunet!decwrl!pa.dec.com!src.dec.com!src.dec.com!muller
  3. From: muller@src.dec.com (Eric Muller)
  4. Subject: help with Umman.i3
  5. Message-ID: <1992Jul30.184907.3582@src.dec.com>
  6. Sender: news@src.dec.com (News)
  7. Organization: DEC Systems Research Center
  8. Date: Thu, 30 Jul 92 18:49:07 GMT
  9. Lines: 151
  10.  
  11. I wrote the interface Umman, which is supposed to capture the
  12. /usr/include/sys/mman.h header file.  I have a version for DECstation
  13. and VAX runing Ultrix, and a version for DEC OSF/1 (see below). 
  14.  
  15. If somebody could send me the versions for the other platforms, it would
  16. be great.
  17.  
  18. Thanks for your help,
  19. Eric.
  20.  
  21.  
  22. (* Copyright (C) 1992, Digital Equipment Corporation                         *)
  23. (* All rights reserved.                                                      *)
  24. (* See the file COPYRIGHT for a full description.                            *)
  25. (*                                                                           *)
  26. (* Last modified on Thu Jul 30 11:49:02 PDT 1992 by muller                   *)
  27.  
  28. INTERFACE Umman;  (* DS3100, VAX *)
  29.  
  30. FROM Ctypes IMPORT int;
  31. FROM Utypes IMPORT caddr_t, size_t, off_t;
  32.  
  33. (*** sys/mman.h ***)
  34.  
  35. CONST
  36.   PROT_READ  = 16_1;
  37.   PROT_WRITE = 16_2;
  38.   PROT_EXEC  = 16_4;
  39.  
  40.   MAP_SHARED  = 1;
  41.   MAP_PRIVATE = 2;
  42.  
  43.   MAP_FIXED   = 16_100;
  44.  
  45.   MADV_NORMAL     = 0;
  46.   MADV_RANDOM     = 1;
  47.   MADV_SEQUENTIAL = 2;
  48.   MADV_WILLNEED   = 3;
  49.   MADV_DONTNEED   = 4;
  50.  
  51. <*EXTERNAL*>
  52. PROCEDURE mmap (addr: caddr_t; len: size_t; prot,flags,fd: int; 
  53.                 off: off_t): caddr_t;
  54.  
  55. <*EXTERNAL*>
  56. PROCEDURE munmap (addr: caddr_t; len: size_t): caddr_t;
  57.  
  58. <*EXTERNAL*>
  59. PROCEDURE mprotect (addr: caddr_t; len, prot: int): int;
  60.  
  61. END Umman.
  62.  
  63.  
  64.  
  65. (* Copyright (C) 1992, Digital Equipment Corporation                         *)
  66. (* All rights reserved.                                                      *)
  67. (* See the file COPYRIGHT for a full description.                            *)
  68. (*                                                                           *)
  69.  
  70. INTERFACE Umman;  (* DEC OSF/1 *)
  71.  
  72. FROM Ctypes IMPORT int;
  73. FROM Utypes IMPORT caddr_t, size_t, off_t;
  74.  
  75. (*** sys/mman.h ***)
  76.  
  77. CONST
  78.   PROT_NONE  = 0;
  79.   PROT_READ  = 16_1;
  80.   PROT_WRITE = 16_2;
  81.   PROT_EXEC  = 16_4;
  82.  
  83.   MAP_SHARED  = 1;
  84.   MAP_PRIVATE = 2;
  85.  
  86.   MAP_FILE    = 16_00;
  87.   MAP_ANONYMOUS = 16_10;
  88.   MAP_ANON      = 16_10;
  89.   MAP_TYPE      = 16_F0;
  90.  
  91.   MAP_FIXED   = 16_100;
  92.   MAP_VARIABLE = 16_00
  93.  
  94.   MAP_HASSEMAPHORE = 16_0200;
  95.   MAP_INHERIT      = 16_0400;
  96.   MAP_UNALIGNED    = 16_0800;
  97.  
  98.   MADV_NORMAL     = 0;
  99.   MADV_RANDOM     = 1;
  100.   MADV_SEQUENTIAL = 2;
  101.   MADV_WILLNEED   = 3;
  102.   MADV_DONTNEED   = 4;
  103.   MADV_SPACEAVAIL = 5;
  104.  
  105. TYPE
  106.   msemaphore = RECORD
  107.     msem_state: int;
  108.     msem_wanted: int; END;
  109.   msemaphore_star = UNTRACED REF msemaphore;
  110.  
  111. CONST
  112.   MSEM_UNLOCKED =   0;
  113.   MSEM_LOCKED = 1;
  114.   MSEM_IF_NOWAIT = 2;
  115.   MSEM_IF_WAITERS = 3;
  116.  
  117.   MS_ASYNC = 1;
  118.   MS_SYNC = 3;
  119.   MS_INVALIDATE = 4;
  120.  
  121.  
  122. <*EXTERNAL*>
  123. PROCEDURE madvise (addr: caddr_t; len: size_t; behav: int): int;
  124.  
  125. <*EXTERNAL*>
  126. PROCEDURE mmap (addr: caddr_t; len: size_t; prot,flags,fd: int; off: off_t)
  127.   : caddr_t;
  128.  
  129. <*EXTERNAL*>
  130. PROCEDURE msync (addr: caddr_t; len: size_t; flags: int): int;
  131.  
  132. <*EXTERNAL*>
  133. PROCEDURE munmap (addr: caddr_t; len: size_t): int;
  134.  
  135. <*EXTERNAL*>
  136. PROCEDURE mprotect (addr: caddr_t; len: size_t; prot: int): int;
  137.  
  138. <*EXTERNAL*>
  139. PROCEDURE mvalid (addr: caddr_t; len: size_t; prot: int): int;
  140.  
  141. <*EXTERNAL*>
  142. PROCEDURE msem_init (sem: msemaphore_star; initial_value: int);
  143.  
  144. <*EXTERNAL*>
  145. PROCEDURE msem_lock (sem: msemaphore_star; condition: int): int;
  146.  
  147. <*EXTERNAL*>
  148. PROCEDURE msem_remove (sem: msemaphore_star): int;
  149.  
  150. <*EXTERNAL*>
  151. PROCEDURE msem_unlock (sem: msemapore_star; condition: int): int;
  152.  
  153. (* shm_open and shm_unlink have no man pages *)
  154.  
  155. END Umman.
  156.  
  157.  
  158.  
  159. -- 
  160. Eric.
  161.  
  162.