| /* SPDX-License-Identifier: GPL-2.0+ */ | |
| /* | |
| * Copyright (C) 2020 Philippe Reynes <philippe.reynes@softathome.com> | |
| */ | |
| #ifndef __UDP | |
| #define __UDP | |
| /** | |
| * struct udp_ops - function to handle udp packet | |
| * | |
| * This structure provides the function to handle udp packet in | |
| * the network loop. | |
| * | |
| * @prereq: callback called to check the requirement | |
| * @start: callback called to start the protocol/feature | |
| * @data: pointer to store private data (used by prereq and start) | |
| */ | |
| struct udp_ops { | |
| int (*prereq)(void *data); | |
| int (*start)(void *data); | |
| void *data; | |
| }; | |
| int udp_prereq(void); | |
| int udp_start(void); | |
| /** | |
| * udp_loop() - network loop for udp protocol | |
| * | |
| * Launch a network loop for udp protocol and use callbacks | |
| * provided in parameter @ops to initialize the loop, and then | |
| * to handle udp packet. | |
| * | |
| * @ops: udp callback | |
| * @return: 0 if success, otherwise < 0 on error | |
| */ | |
| int udp_loop(struct udp_ops *ops); | |
| #endif |