Create Xref-Html Frames                    Remove All Frames
file:c:/local/Cygwin/usr/include/sys/lock.h        (Tue May 25 21:07:30 2004 )


   1: /* sys/lock.h
   2: 
   3:    Copyright 2004 Red Hat, Inc.
   4: 
   5: This file is part of Cygwin.
   6: 
   7: This software is a copyrighted work licensed under the terms of the
   8: Cygwin license.  Please consult the file "CYGWIN_LICENSE" for
   9: details. */
  10: 
  11: #ifndef _SYS_LOCK_H_
  12: #define _SYS_LOCK_H_
  13: 
  14: typedef void *_LOCK_T;
  15: #define _LOCK_RECURSIVE_T _LOCK_T
  16: 
  17: /*
  18:  * This must match cygwins PTHREAD_XXX_MUTEX_INITIALIZER_NP which are
  19:  * defined in <pthread.h>
  20:  */
  21: #define _LOCK_T_RECURSIVE_INITIALIZER ((_LOCK_T)18)
  22: #define _LOCK_T_INITIALIZER ((_LOCK_T)19)
  23: 
  24: #define __LOCK_INIT(CLASS,NAME) \
  25:   CLASS _LOCK_T NAME = _LOCK_T_INITIALIZER; 
  26: #define __LOCK_INIT_RECURSIVE(CLASS,NAME) \
  27:   CLASS _LOCK_T NAME = _LOCK_T_RECURSIVE_INITIALIZER;
  28: 
  29: #define __lock_init(__lock) __cygwin_lock_init(&__lock)
  30: #define __lock_init_recursive(__lock) __cygwin_lock_init_recursive(&__lock)
  31: #define __lock_close(__lock) __cygwin_lock_fini(&__lock)
  32: #define __lock_close_recursive(__lock) __cygwin_lock_fini(&__lock)
  33: #define __lock_acquire(__lock) __cygwin_lock_lock(&__lock)
  34: #define __lock_acquire_recursive(__lock) __cygwin_lock_lock(&__lock)
  35: #define __lock_try_acquire(lock) __cygwin_lock_trylock(&__lock)
  36: #define __lock_try_acquire_recursive(lock) __cygwin_lock_trylock(&__lock)
  37: #define __lock_release(__lock) __cygwin_lock_unlock(&__lock)
  38: #define __lock_release_recursive(__lock) __cygwin_lock_unlock(&__lock)
  39: 
  40: #ifdef __cplusplus
  41: extern "C"
  42: {
  43: #endif
  44: void __cygwin_lock_init(_LOCK_T *);
  45: void __cygwin_lock_init_recursive(_LOCK_T *);
  46: void __cygwin_lock_fini(_LOCK_T *);
  47: void __cygwin_lock_lock(_LOCK_T *);
  48: int __cygwin_lock_trylock(_LOCK_T *);
  49: void __cygwin_lock_unlock(_LOCK_T *);
  50: #ifdef __cplusplus
  51: }
  52: #endif
  53: 
  54: #endif
  55: 








































Html form generated by Xrefactory version 1.6.7 on Fri Sep 03 17:18:59 2004