/***************************************************************************** * file include/mtimer.h * author YuLiang * version 1.0.0 * date 22-Sep-2021 * brief This file provides all the headers of the timer functions. ****************************************************************************** * Attention * *

© COPYRIGHT(c) 2021 LandPower

* * Redistribution and use in source and binary forms, with or without modification, * are permitted provided that the following conditions are met: * 1. Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * 3. Neither the name of LandPower nor the names of its contributors may be used to * endorse or promote products derived from this software without specific * prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * ******************************************************************************/ #ifndef __MTIMER_H__ #define __MTIMER_H__ /* Includes ------------------------------------------------------------------*/ #include /* Define --------------------------------------------------------------------*/ /* 以太网连接类型类型. */ typedef enum { MTIMER_S_STOP = 0, MTIMER_S_RUN, } MTIMER_STATE_E; /* Exported types ------------------------------------------------------------*/ typedef void* (*MTIMER_CALLBACK)(void *arg); /* 定时器属性结构体. */ typedef struct _mtimer_t { MTIMER_CALLBACK handle; /* 回调函数 */ void *arg; /* 运行参数 */ char name[DEV_NAME_STR_LEN]; /* 定时器名字 */ uint16_t interval; /* 间隔时间s */ uint32_t time; /* 加入定时器的时间 */ } mtimer_t; /* Extern global variables ---------------------------------------------------*/ /* Exported macro ------------------------------------------------------------*/ /* Exported functions --------------------------------------------------------*/ extern int32_t mtimer_add(MTIMER_CALLBACK func, void *arg, uint16_t interval, char *name); extern int32_t mtimer_init(void); #endif /************************ (C) COPYRIGHT LandPower ***** END OF FILE ****/