/*
 *	clipdlyq.h
 *
 *	遅延コールバックキュー
 *
 *	CLiP - Common Library for P/ECE
 *	Copyright (C) 2017 Naoyuki Sawa
 *
 *	* Mon Jan 30 21:41:16 JST 2017 Naoyuki Sawa
 *	- 1st リリース。
 */
#ifndef __CLIP_DLYQ_H__
#define __CLIP_DLYQ_H__
#ifdef  __cplusplus
extern "C" {
#endif//__cplusplus
/*****************************************************************************
 *	構造体
 *****************************************************************************/
typedef struct _ST_DlyQue ST_DlyQue;	//opaque datatype
/*****************************************************************************
 *	グローバル関数
 *****************************************************************************/
ST_DlyQue* DlyQue_New();
void DlyQue_Free(ST_DlyQue* pDlyQue);
void DlyQue_Add(ST_DlyQue* pDlyQue, int dly, int pri/*SHRT_MIN〜SHRT_MAX*/, void (*fn)(ST_DlyQue* pDlyQue, int pri, void* param), void* param);
void* DlyQue_AddMem(ST_DlyQue* pDlyQue, int dly, int pri/*SHRT_MIN〜SHRT_MAX*/, void (*fn)(ST_DlyQue* pDlyQue, int pri, void* param), int memBytes);
void DlyQue_Exec(ST_DlyQue* pDlyQue);
#ifdef  __cplusplus
}//extern "C"
#endif//__cplusplus
#endif//__CLIP_DLYQ_H__
