1*10465441SEvalZero /* 2*10465441SEvalZero * Copyright (c) 2006-2018, RT-Thread Development Team 3*10465441SEvalZero * 4*10465441SEvalZero * SPDX-License-Identifier: Apache-2.0 5*10465441SEvalZero * 6*10465441SEvalZero * Change Logs: 7*10465441SEvalZero * Date Author Notes 8*10465441SEvalZero * 2016-09-19 Heyuanjie The first version. 9*10465441SEvalZero * 2016-12-26 Bernard Update poll interface 10*10465441SEvalZero */ 11*10465441SEvalZero #ifndef IPC_POLL_H__ 12*10465441SEvalZero #define IPC_POLL_H__ 13*10465441SEvalZero 14*10465441SEvalZero #ifdef __cplusplus 15*10465441SEvalZero extern "C" { 16*10465441SEvalZero #endif 17*10465441SEvalZero 18*10465441SEvalZero struct rt_pollreq; 19*10465441SEvalZero typedef void (*poll_queue_proc)(rt_wqueue_t *, struct rt_pollreq *); 20*10465441SEvalZero 21*10465441SEvalZero typedef struct rt_pollreq 22*10465441SEvalZero { 23*10465441SEvalZero poll_queue_proc _proc; 24*10465441SEvalZero short _key; 25*10465441SEvalZero } rt_pollreq_t; 26*10465441SEvalZero rt_poll_add(rt_wqueue_t * wq,rt_pollreq_t * req)27*10465441SEvalZerort_inline void rt_poll_add(rt_wqueue_t *wq, rt_pollreq_t *req) 28*10465441SEvalZero { 29*10465441SEvalZero if (req && req->_proc && wq) 30*10465441SEvalZero { 31*10465441SEvalZero req->_proc(wq, req); 32*10465441SEvalZero } 33*10465441SEvalZero } 34*10465441SEvalZero 35*10465441SEvalZero #ifdef __cplusplus 36*10465441SEvalZero } 37*10465441SEvalZero #endif 38*10465441SEvalZero 39*10465441SEvalZero #endif 40