From c695c75b01c6cc99efe4ba54ebc23a9e9cdc6059 Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Fri, 13 May 2005 13:29:15 +0000 Subject: [PATCH] First version --- src/include/load_buffer.h | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 src/include/load_buffer.h diff --git a/src/include/load_buffer.h b/src/include/load_buffer.h new file mode 100644 index 00000000..5aa37410 --- /dev/null +++ b/src/include/load_buffer.h @@ -0,0 +1,39 @@ +#ifndef LOAD_BUFFER_H +#define LOAD_BUFFER_H + +#include "buffer.h" + +/* + * These functions are architecture-dependent, but the interface must + * be identical between architectures. + * + */ + +/* + * Initialise a buffer suitable for loading an image. Pass in a + * pointer to an uninitialised struct buffer. + * + * Note that this function may (for example) allocate all remaining + * allocatable memory, so it must be called *after* any other code + * that might want to allocate memory (e.g. device driver + * initialisation). + * + */ +extern int init_load_buffer ( struct buffer *buffer ); + +/* + * Cut a load buffer down to size once the image has been loaded. + * This will shrink the buffer down to the size of the data contained + * within the buffer, freeing up unused memory if applicable. + * + */ +extern void trim_load_buffer ( struct buffer *buffer ); + +/* + * Finish using a load buffer, once the image has been moved into its + * target location in memory. + * + */ +extern void done_load_buffer ( struct buffer *buffer ); + +#endif /* LOAD_BUFFER_H */