LCOV - code coverage report
Current view: top level - nsprpub/pr/include - prpdce.h (source / functions) Hit Total Coverage
Test: output.info Lines: 0 6 0.0 %
Date: 2017-07-14 16:53:18 Functions: 0 6 0.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
       2             : /* This Source Code Form is subject to the terms of the Mozilla Public
       3             :  * License, v. 2.0. If a copy of the MPL was not distributed with this
       4             :  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
       5             : 
       6             : /*
       7             :  * File:                prpdce.h
       8             :  * Description: This file is the API defined to allow for DCE (aka POSIX)
       9             :  *                              thread emulation in an NSPR environment. It is not the
      10             :  *                              intent that this be a fully supported API.
      11             :  */
      12             : 
      13             : #if !defined(PRPDCE_H)
      14             : #define PRPDCE_H
      15             : 
      16             : #include "prlock.h"
      17             : #include "prcvar.h"
      18             : #include "prtypes.h"
      19             : #include "prinrval.h"
      20             : 
      21             : PR_BEGIN_EXTERN_C
      22             : 
      23             : #define _PR_NAKED_CV_LOCK (PRLock*)0xdce1dce1
      24             : 
      25             : /*
      26             : ** Test and acquire a lock.
      27             : **
      28             : ** If the lock is acquired by the calling thread, the
      29             : ** return value will be PR_SUCCESS. If the lock is
      30             : ** already held, by another thread or this thread, the
      31             : ** result will be PR_FAILURE.
      32             : */
      33           0 : NSPR_API(PRStatus) PRP_TryLock(PRLock *lock);
      34             : 
      35             : /*
      36             : ** Create a naked condition variable
      37             : **
      38             : ** A "naked" condition variable is one that is not created bound
      39             : ** to a lock. The CV created with this function is the only type
      40             : ** that may be used in the subsequent "naked" condition variable
      41             : ** operations (see PRP_NakedWait, PRP_NakedNotify, PRP_NakedBroadcast);
      42             : */
      43           0 : NSPR_API(PRCondVar*) PRP_NewNakedCondVar(void);
      44             : 
      45             : /*
      46             : ** Destroy a naked condition variable
      47             : **
      48             : ** Destroy the condition variable created by PR_NewNakedCondVar.
      49             : */
      50           0 : NSPR_API(void) PRP_DestroyNakedCondVar(PRCondVar *cvar);
      51             : 
      52             : /*
      53             : ** Wait on a condition
      54             : **
      55             : ** Wait on the condition variable 'cvar'. It is asserted that
      56             : ** the lock protecting the condition 'lock' is held by the
      57             : ** calling thread. If more time expires than that declared in
      58             : ** 'timeout' the condition will be notified. Waits can be
      59             : ** interrupted by another thread.
      60             : **
      61             : ** NB: The CV ('cvar') must be one created using PR_NewNakedCondVar.
      62             : */
      63           0 : NSPR_API(PRStatus) PRP_NakedWait(
      64             :         PRCondVar *cvar, PRLock *lock, PRIntervalTime timeout);
      65             : 
      66             : /*
      67             : ** Notify a thread waiting on a condition
      68             : **
      69             : ** Notify the condition specified 'cvar'.
      70             : **
      71             : ** NB: The CV ('cvar') must be one created using PR_NewNakedCondVar.
      72             : */
      73           0 : NSPR_API(PRStatus) PRP_NakedNotify(PRCondVar *cvar);
      74             : 
      75             : /*
      76             : ** Notify all threads waiting on a condition
      77             : **
      78             : ** Notify the condition specified 'cvar'.
      79             : **
      80             : ** NB: The CV ('cvar') must be one created using PR_NewNakedCondVar.
      81             : */
      82           0 : NSPR_API(PRStatus) PRP_NakedBroadcast(PRCondVar *cvar);
      83             : 
      84             : PR_END_EXTERN_C
      85             : 
      86             : #endif /* PRPDCE_H */

Generated by: LCOV version 1.13