root/src/libsir/include/sir/mutex.h

/* [previous][next][first][last][top][bottom][index][help] */

INCLUDED FROM


   1 /*
   2  * mutex.h
   3  *
   4  * Version: 2.2.5
   5  *
   6  * -----------------------------------------------------------------------------
   7  *
   8  * SPDX-License-Identifier: MIT
   9  *
  10  * Copyright (c) 2018-2024 Ryan M. Lederman <lederman@gmail.com>
  11  *
  12  * Permission is hereby granted, free of charge, to any person obtaining a copy of
  13  * this software and associated documentation files (the "Software"), to deal in
  14  * the Software without restriction, including without limitation the rights to
  15  * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
  16  * the Software, and to permit persons to whom the Software is furnished to do so,
  17  * subject to the following conditions:
  18  *
  19  * The above copyright notice and this permission notice shall be included in all
  20  * copies or substantial portions of the Software.
  21  *
  22  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  23  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
  24  * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
  25  * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
  26  * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
  27  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  28  *
  29  * -----------------------------------------------------------------------------
  30  */
  31 
  32 #ifndef _SIR_MUTEX_H_INCLUDED
  33 # define _SIR_MUTEX_H_INCLUDED
  34 
  35 # include "sir/types.h"
  36 
  37 /** Creates/initializes a new mutex. */
  38 bool _sir_mutexcreate(sir_mutex* mutex);
  39 
  40 /** Attempts to lock a mutex and waits indefinitely. */
  41 bool _sir_mutexlock(sir_mutex* mutex);
  42 
  43 /** Determines if a mutex is locked without waiting. */
  44 bool _sir_mutextrylock(sir_mutex* mutex);
  45 
  46 /** Unlocks a previously locked mutex. */
  47 bool _sir_mutexunlock(sir_mutex* mutex);
  48 
  49 /** Destroys a mutex. */
  50 bool _sir_mutexdestroy(sir_mutex* mutex);
  51 
  52 #endif /* !_SIR_MUTEX_H_INCLUDED */

/* [previous][next][first][last][top][bottom][index][help] */