1# loop.h 2 3 4## Overview 5 6The **loop.h** file declares the loop interfaces in C. 7 8**File to include**: <ffrt/condition_variable.h> 9 10**Library**: libffrt.z.so 11 12**System capability**: SystemCapability.Resourceschedule.Ffrt.Core 13 14**Since**: 12 15 16**Related module**: [FFRT](_f_f_r_t.md) 17 18 19## Summary 20 21 22### Types 23 24| Name| Description| 25| -------- | -------- | 26| typedef void \* [ffrt_loop_t](_f_f_r_t.md#ffrt_loop_t) | Loop handle. | 27 28 29### Functions 30 31| Name| Description| 32| -------- | -------- | 33| FFRT_C_API [ffrt_loop_t](_f_f_r_t.md#ffrt_loop_t) [ffrt_loop_create](_f_f_r_t.md#ffrt_loop_create) ([ffrt_queue_t](_f_f_r_t.md#ffrt_queue_t) queue) | Creates a loop. | 34| FFRT_C_API int [ffrt_loop_destroy](_f_f_r_t.md#ffrt_loop_destroy) ([ffrt_loop_t](_f_f_r_t.md#ffrt_loop_t) loop) | Destroys a loop. | 35| FFRT_C_API int [ffrt_loop_run](_f_f_r_t.md#ffrt_loop_run) ([ffrt_loop_t](_f_f_r_t.md#ffrt_loop_t) loop) | Runs a loop. | 36| FFRT_C_API void [ffrt_loop_stop](_f_f_r_t.md#ffrt_loop_stop) ([ffrt_loop_t](_f_f_r_t.md#ffrt_loop_t) loop) | Stops a loop. | 37| FFRT_C_API int [ffrt_loop_epoll_ctl](_f_f_r_t.md#ffrt_loop_epoll_ctl) ([ffrt_loop_t](_f_f_r_t.md#ffrt_loop_t) loop, int op, int fd, uint32_t events, void \*data, [ffrt_poller_cb](_f_f_r_t.md#ffrt_poller_cb) cb) | Manages listening events on a loop. | 38| FFRT_C_API [ffrt_timer_t](_f_f_r_t.md#ffrt_timer_t) [ffrt_loop_timer_start](_f_f_r_t.md#ffrt_loop_timer_start) ([ffrt_loop_t](_f_f_r_t.md#ffrt_loop_t) loop, uint64_t timeout, void \*data, [ffrt_timer_cb](_f_f_r_t.md#ffrt_timer_cb) cb, bool repeat) | Starts the timer on a loop. | 39| FFRT_C_API int [ffrt_loop_timer_stop](_f_f_r_t.md#ffrt_loop_timer_stop) ([ffrt_loop_t](_f_f_r_t.md#ffrt_loop_t) loop, [ffrt_timer_t](_f_f_r_t.md#ffrt_timer_t) handle) | Stops the timer on a loop. | 40