1// SPDX-License-Identifier: GPL-2.0+
2/*
3 * Copyright (C) 2020 Philippe Reynes <philippe.reynes@softathome.com>
4 */
5
6#include <common.h>
7#include <net.h>
8#include <net/udp.h>
9
10static struct udp_ops *udp_ops;
11
12int udp_prereq(void)
13{
14	int ret = 0;
15
16	if (udp_ops->prereq)
17		ret = udp_ops->prereq(udp_ops->data);
18
19	return ret;
20}
21
22int udp_start(void)
23{
24	return udp_ops->start(udp_ops->data);
25}
26
27int udp_loop(struct udp_ops *ops)
28{
29	int ret = -1;
30
31	if (!ops) {
32		printf("%s: ops should not be null\n", __func__);
33		goto out;
34	}
35
36	if (!ops->start) {
37		printf("%s: no start function defined\n", __func__);
38		goto out;
39	}
40
41	udp_ops = ops;
42	ret = net_loop(UDP);
43
44 out:
45	return ret;
46}
47