From 7e61f38799366618bc4fa5dfb512c4451098f5ff Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Thu, 23 Mar 2006 22:37:05 +0000 Subject: Moved "hello world" protocol implementation out of prototester.c and into the first standalong uIP-based protocol module. --- src/include/gpxe/hello.h | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 src/include/gpxe/hello.h (limited to 'src/include') diff --git a/src/include/gpxe/hello.h b/src/include/gpxe/hello.h new file mode 100644 index 000000000..23ee336f1 --- /dev/null +++ b/src/include/gpxe/hello.h @@ -0,0 +1,46 @@ +#ifndef _HELLO_H +#define _HELLO_H + +/** @file + * + * "Hello world" TCP protocol + * + */ + +#include +#include + +enum hello_state { + HELLO_SENDING_MESSAGE = 1, + HELLO_SENDING_ENDL, +}; + +/** + * A "hello world" request + * + */ +struct hello_request { + /** TCP connection for this request */ + struct tcp_connection tcp; + /** Current state */ + enum hello_state state; + /** Message to be transmitted */ + const char *message; + /** Amount of message remaining to be transmitted */ + size_t remaining; + /** Callback function + * + * @v data Received data + * @v len Length of received data + * + * This function is called for all data received from the + * remote server. + */ + void ( *callback ) ( char *data, size_t len ); + /** Connection complete indicator */ + int complete; +}; + +extern int hello_connect ( struct hello_request *hello ); + +#endif -- cgit v1.2.3-55-g7522