Placeholder
authorMichael Brown <mcb30@etherboot.org>
Sat, 17 Jun 2006 23:34:48 +0000 (23:34 +0000)
committerMichael Brown <mcb30@etherboot.org>
Sat, 17 Jun 2006 23:34:48 +0000 (23:34 +0000)
src/include/gpxe/udp.h [new file with mode: 0644]

diff --git a/src/include/gpxe/udp.h b/src/include/gpxe/udp.h
new file mode 100644 (file)
index 0000000..d47b9d2
--- /dev/null
@@ -0,0 +1,49 @@
+#ifndef _GPXE_UDP_H
+#define _GPXE_UDP_H
+
+/** @file
+ *
+ * UDP protocol
+ *
+ * This file defines the gPXE UDP API.
+ *
+ */
+
+#include <stddef.h>
+#include <gpxe/in.h>
+
+struct udp_connection;
+
+/**
+ * UDP operations
+ *
+ */
+struct udp_operations {
+       /**
+        * New data received
+        *
+        * @v conn      UDP connection
+        * @v data      Data
+        * @v len       Length of data
+        */
+       void ( * newdata ) ( struct udp_connection *conn,
+                            void *data, size_t len );
+};
+
+/**
+ * A UDP connection
+ *
+ */
+struct udp_connection {
+       /** Address of the remote end of the connection */
+       struct sockaddr_in sin;
+       /** Operations table for this connection */
+       struct udp_operations *udp_op;
+};
+
+extern void udp_connect ( struct udp_connection *conn );
+extern void udp_send ( struct udp_connection *conn, const void *data,
+                      size_t len );
+extern void udp_close ( struct udp_connection *conn );
+
+#endif /* _GPXE_UDP_H */