<div dir="ltr"><br><div class="gmail_extra"><div class="gmail_quote">On Tue, Jul 16, 2013 at 8:25 PM, Sebastian Huber <span dir="ltr"><<a href="mailto:sebastian.huber@embedded-brains.de" target="_blank">sebastian.huber@embedded-brains.de</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hello Ashi,<br>
<br>
On 07/16/2013 05:57 AM, Ashi wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
diff --git a/cpukit/score/include/rtems/<u></u>score/freechain.h b/cpukit/score/include/rtems/<u></u>score/freechain.h<br>
new file mode 100644<br>
index 0000000..f645842<br>
--- /dev/null<br>
+++ b/cpukit/score/include/rtems/<u></u>score/freechain.h<div><br>
@@ -0,0 +1,138 @@<br>
+/**<br>
+ * @file<br>
+ *<br></div>
+ * @ingroup ScoreFreechain<br>
+ *<br>
+ * @brief Freechain Handler API<div><br>
+ */<br>
+/*<br>
+ * Copyright (c) 2013 Gedare Bloom.<br>
+ *<br>
+ * The license and distribution terms for this file may be<br>
+ * found in the file LICENSE in this distribution or at<br>
+ *<a href="http://www.rtems.com/license/LICENSE" target="_blank">http://www.rtems.com/license/<u></u>LICENSE</a>.<br>
+ */<br>
+<br></div>
+#ifndef _FREECHAIN_H<br>
+#define _FREECHAIN_H<div><br>
+<br>
+#include <rtems/score/chain.h><br>
+#include <rtems/rtems/types.h><br>
+#include <rtems/score/wkspace.h><br>
+<br>
+/**<br></div>
+ * @defgroup ScoreFreechain Freechain Handler API<div><br>
+ *<br>
+ * @ingroup Score<br>
+ *<br></div>
+ * The Freechain Handler is used to manage a chain of nodes, of which size can<div><br>
+ * automatically increase when there is no free node left. This handler provides one data structure:<br></div>
+ * Freechain_Control.<div><br>
+ */<br>
+/**@{*/<br>
+<br>
+#ifdef __cplusplus<br>
+extern "C" {<br>
+#endif<br></div>
+<br>
+/**<br>
+ * @typedef Freechain_Control<br>
+ */<br>
+typedef struct Freechain_Control Freechain_Control;<br>
+<br>
+/**<br>
+ * @brief Extends the freechain.<br>
+ *<br>
+ * @param[in] freechain The freechain control.<br>
+ */<br>
+typedef void *( *Freechain_Extend )( Freechain_Control *freechain );<br>
</blockquote>
<br>
since the return value is only used to indicate the status I would use a bool return type here.<br>
<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
+<br>
+/**<br>
+ * @typedef freechain_callout<br>
+ *<br>
+ * @param[in] freechain The freechain control.<br>
+ * @param[in] nodes The new added nodes.<br>
+ */<br>
+typedef void (*freechain_callout)(<br>
+  Freechain_Control *freechain,<br>
+  void *nodes<br>
+);<br>
</blockquote>
<br>
We no longer need this callout handler.<br>
<br>
The rest looks fine.<div><div><br>
<br>
-- <br>
Sebastian Huber, embedded brains GmbH<br>
<br>
Address : Dornierstr. 4, D-82178 Puchheim, Germany<br>
Phone   : +49 89 189 47 41-16<br>
Fax     : +49 89 189 47 41-09<br>
E-Mail  : <a href="mailto:sebastian.huber@embedded-brains.de" target="_blank">sebastian.huber@embedded-<u></u>brains.de</a><br>
PGP     : Public key available on request.<br>
<br>
Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.<br></div></div></blockquote><div> </div><div> Hi, Sebastian, Thanks, I've updated.</div></div><br>>the option you can use is "CONFIGURE_MEMORY_OVERHEAD". It is a "fudge<br>
>factor" specified in KiB.<br>
<br>Hi, Gedare, thanks, the workspace freechain test case is added now.<br><br>Cheers,<br>Zhongwei<br></div></div>