ladybird/Userland/Libraries/LibPthread/semaphore.h

34 lines
628 B
C
Raw Normal View History

2021-02-11 21:25:35 +03:00
/*
* Copyright (c) 2021, the SerenityOS developers.
*
* SPDX-License-Identifier: BSD-2-Clause
2021-02-11 21:25:35 +03:00
*/
#pragma once
#include <limits.h>
#include <pthread.h>
2021-02-11 21:25:35 +03:00
#include <sys/cdefs.h>
#include <sys/types.h>
__BEGIN_DECLS
typedef struct {
uint32_t value;
} sem_t;
2021-02-11 21:25:35 +03:00
int sem_close(sem_t*);
int sem_destroy(sem_t*);
int sem_getvalue(sem_t*, int*);
int sem_init(sem_t*, int, unsigned int);
sem_t* sem_open(const char*, int, ...);
int sem_post(sem_t*);
int sem_trywait(sem_t*);
int sem_unlink(const char*);
int sem_wait(sem_t*);
int sem_timedwait(sem_t*, const struct timespec* abstime);
2021-02-11 21:25:35 +03:00
#define SEM_VALUE_MAX INT_MAX
2021-02-11 21:25:35 +03:00
__END_DECLS