home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1997 May / Pcwk0597.iso / sybase / starbuck / java.z / monitor_cache.h < prev    next >
C/C++ Source or Header  |  1996-05-03  |  2KB  |  47 lines

  1. /*
  2.  * @(#)monitor_cache.h    1.16 96/02/07
  3.  *
  4.  * Copyright (c) 1994 Sun Microsystems, Inc. All Rights Reserved.
  5.  *
  6.  * Permission to use, copy, modify, and distribute this software
  7.  * and its documentation for NON-COMMERCIAL purposes and without
  8.  * fee is hereby granted provided that this copyright notice
  9.  * appears in all copies. Please refer to the file "copyright.html"
  10.  * for further important copyright and licensing information.
  11.  *
  12.  * SUN MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF
  13.  * THE SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
  14.  * TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
  15.  * PARTICULAR PURPOSE, OR NON-INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR
  16.  * ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR
  17.  * DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES.
  18.  */
  19.  
  20. /*
  21.  * Monitor cache definitions
  22.  */
  23.  
  24. #ifndef _MONITOR_CACHE_H_
  25. #define _MONITOR_CACHE_H_
  26.  
  27. #include "monitor.h"        /* For SYS_TIMEOUT_INFINITY */
  28.  
  29. extern sys_mon_t *_moncache_lock;
  30. #define CACHE_LOCK_INIT() monitorRegister(_moncache_lock, "Monitor cache lock");
  31. #define CACHE_LOCK()      sysMonitorEnter(_moncache_lock)
  32. #define CACHE_NOTIFY()      sysMonitorNotify(_moncache_lock)
  33. #define CACHE_WAIT()      sysMonitorWait(_moncache_lock, TIMEOUT_INFINITY)
  34. #define CACHE_LOCKED()      sysMonitorEntered(_moncache_lock)
  35. #define CACHE_UNLOCK()      sysMonitorExit(_moncache_lock)
  36.  
  37. /*
  38.  * External routines.
  39.  */
  40. monitor_t *lookupMonitor(unsigned int);
  41. monitor_t *createMonitor(unsigned int);
  42. void monitorDestroy(monitor_t *, unsigned int);
  43. void monitorEnumerate(void (*)(monitor_t *, void *), void *);
  44. void monitorEnumerate_unlocked(void (*)(monitor_t *, void *), void *);
  45.  
  46. #endif /* !_MONITOR_CACHE_H_ */
  47.