mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-14 00:47:26 +00:00
36 lines
874 B
Text
36 lines
874 B
Text
|
Udp framework
|
||
|
|
||
|
The udp framework is build on top of network framework and is designed
|
||
|
to define new protocol or new command based on udp without modifying
|
||
|
the network framework.
|
||
|
|
||
|
The udp framework define a function udp_loop that take as argument
|
||
|
a structure udp_ops (defined in include/net/udp.h) :
|
||
|
|
||
|
struct udp_ops {
|
||
|
int (*prereq)(void *data);
|
||
|
int (*start)(void *data);
|
||
|
void *data;
|
||
|
};
|
||
|
|
||
|
The callback prereq define if all the requirements are
|
||
|
valid before running the network/udp loop.
|
||
|
|
||
|
The callback start define the first step in the network/udp loop,
|
||
|
and it may also be used to configure a timemout and udp handler.
|
||
|
|
||
|
The pointer data is used to store private data that
|
||
|
could be used by both callback.
|
||
|
|
||
|
A simple example to use this framework:
|
||
|
|
||
|
static struct udp_ops udp_ops = {
|
||
|
.prereq = wmp_prereq,
|
||
|
.start = wmp_start,
|
||
|
.data = NULL,
|
||
|
};
|
||
|
|
||
|
...
|
||
|
|
||
|
err = udp_loop(&udp_ops);
|