home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 15 / 15.iso / s / s053 / 8.ddi / usr / include / sys / map.h < prev    next >
Encoding:
C/C++ Source or Header  |  1990-12-08  |  1.5 KB  |  55 lines

  1. /*    Copyright (c) 1990 UNIX System Laboratories, Inc.    */
  2. /*    Copyright (c) 1984, 1986, 1987, 1988, 1989, 1990 AT&T    */
  3. /*      All Rights Reserved      */
  4.  
  5. /*    THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF         */
  6. /*    UNIX System Laboratories, Inc.                         */
  7. /*    The copyright notice above does not evidence any       */
  8. /*    actual or intended publication of such source code.    */
  9.  
  10. #ifndef _SYS_MAP_H
  11. #define _SYS_MAP_H
  12.  
  13. #ident    "@(#)/usr/include/sys/map.h.sl 1.1 4.0 12/08/90 16520 AT&T-USL"
  14.  
  15. /*
  16.  *        struct map    X[]    .m_size        .m_addr
  17.  *                ---    ------------    -----------
  18.  *                [0]    mapsize(X)    mapwant(X)
  19.  *                    # X[] unused    sleep value
  20.  *
  21.  *          mapstart(X)->    [1]    # units        unit number
  22.  *                 :        :          :
  23.  *                [ ]        0
  24.  */
  25.  
  26. struct map
  27. {
  28.     unsigned long m_size;    /* number of units available */
  29.     unsigned long m_addr;    /* address of first available unit */
  30. };
  31.  
  32. extern struct map sptmap[];    /* Map for system virtual space.   */
  33.  
  34. #define    mapstart(X)    &X[1]        /* start of map array */
  35. #define    mapwant(X)    X[0].m_addr
  36. #define    mapsize(X)    X[0].m_size    /* number of empty slots \
  37.                        remaining in map array */
  38. #define    mapdata(X) {(X)-2, 0} , {0, 0}
  39. #define    mapinit(X, Y)    X[0].m_size = (Y)-2
  40.  
  41.  
  42. #if defined(__STDC__)
  43. extern void rmfree(struct map *, size_t, u_long);
  44. extern void mfree(struct map *, size_t, u_long);
  45. extern u_long rmalloc(struct map *, size_t);
  46. extern u_long malloc(struct map *, size_t);
  47. #else
  48. extern void rmfree();
  49. extern void mfree();
  50. extern u_long malloc();
  51. extern u_long rmalloc();
  52. #endif
  53.  
  54. #endif    /* _SYS_MAP_H */
  55.