akaros/user/pthread/semaphore.h
<<
>>
Prefs
   1/* Copyright (C) 2002, 2003 Free Software Foundation, Inc.
   2   This file is part of the GNU C Library.
   3
   4   The GNU C Library is free software; you can redistribute it and/or
   5   modify it under the terms of the GNU Lesser General Public
   6   License as published by the Free Software Foundation; either
   7   version 2.1 of the License, or (at your option) any later version.
   8
   9   The GNU C Library is distributed in the hope that it will be useful,
  10   but WITHOUT ANY WARRANTY; without even the implied warranty of
  11   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  12   Lesser General Public License for more details.
  13
  14   You should have received a copy of the GNU Lesser General Public
  15   License along with the GNU C Library; if not, write to the Free
  16   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
  17   02111-1307 USA.  */
  18
  19#pragma once
  20
  21#include <parlib/uthread.h>
  22
  23__BEGIN_DECLS
  24
  25/* Value returned if `sem_open' failed.  */
  26#define SEM_FAILED      ((sem_t *) 0)
  27
  28typedef struct {
  29        uth_semaphore_t         real_sem;
  30} sem_t;
  31
  32int sem_init(sem_t *__sem, int __pshared, unsigned int __value);
  33int sem_destroy(sem_t *__sem);
  34sem_t *sem_open(__const char *__name, int __oflag, ...);
  35int sem_close(sem_t *__sem);
  36int sem_unlink(__const char *__name);
  37int sem_wait(sem_t *__sem);
  38int sem_timedwait(sem_t *sem, const struct timespec *abs_timeout);
  39int sem_trywait(sem_t *__sem);
  40int sem_post(sem_t *__sem);
  41int sem_getvalue(sem_t *__restrict __sem, int *__restrict __sval);
  42
  43__END_DECLS
  44