blob: 005ac3201b5c8f9aa5b18c44bb27f2949ed1a9cd [file] [log] [blame]
// Copyright 2018 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#pragma once
#include <inc/config.h>
#include <targetos.h>
#ifdef __cplusplus
extern "C" {
// Flags for Semaphore/Queue Mode for Task Queueing
#define OS_FIFO 0
// Flags for Wait-Option
#define WAIT_FOREVER -1
typedef struct scb* SEM; /* Semaphore Control Block */
// Semaphore Related Routines
SEM semCreate(const char name[8], int init_count, int mode);
void semDelete(SEM* semp);
void semPostBin(SEM sem);
int semPend(SEM sem, int wait_opt);
#ifdef __cplusplus