1# loop.h
2
3
4## Overview
5
6The **loop.h** file declares the FFRT loop interfaces in C.
7
8**System capability**: SystemCapability.Resourceschedule.Ffrt.Core
9
10**Since**: 12
11
12**Related module**: [FFRT](_f_f_r_t.md)
13
14
15## Summary
16
17
18### Types
19
20| Name| Description|
21| -------- | -------- |
22|  typedef void\*  **ffrt_loop_t** |  |
23
24
25### Functions
26
27| Name| Description|
28| -------- | -------- |
29| FFRT_C_API ffrt_loop_t [ffrt_loop_create](_f_f_r_t.md#ffrt_loop_create) ([ffrt_queue_t](_f_f_r_t.md) queue) | Creates a loop. |
30| FFRT_C_API int [ffrt_loop_destroy](_f_f_r_t.md#ffrt_loop_destroy) (ffrt_loop_t loop) | Destroys a loop. |
31| FFRT_C_API int [ffrt_loop_run](_f_f_r_t.md#ffrt_loop_run) (ffrt_loop_t loop) | Runs a loop. |
32| FFRT_C_API void [ffrt_loop_stop](_f_f_r_t.md#ffrt_loop_stop) (ffrt_loop_t loop) | Stops a loop. |
33| FFRT_C_API int [ffrt_loop_epoll_ctl](_f_f_r_t.md#ffrt_loop_epoll_ctl) (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. |
34| 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 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. |
35| FFRT_C_API int [ffrt_loop_timer_stop](_f_f_r_t.md#ffrt_loop_timer_stop) (ffrt_loop_t loop, [ffrt_timer_t](_f_f_r_t.md#ffrt_timer_t) handle) | Stops the timer on a loop. |
36