This simulates a NAND chip.&lt;/p&gt;\n  &lt;/td&gt;\n&lt;/tr&gt;&lt;tr valign=\"top\"&gt;&lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 28%;\"&gt;\n &lt;p&gt;nandstore_file.c&lt;/p&gt;\n  &lt;/td&gt;\n &lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 72%;\"&gt;\n &lt;p&gt;A storage backend for a NAND simulator that stores the data to file.&lt;/p&gt;\n  &lt;/td&gt;\n&lt;/tr&gt;&lt;tr valign=\"top\"&gt;&lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 28%;\"&gt;\n &lt;p&gt;nandsim_file.c&lt;/p&gt;\n  &lt;/td&gt;\n &lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 72%;\"&gt;\n &lt;p&gt;A wrapper around nandsim.c and nandstore_file.c which makes a NAND simulator that saves its data in a file.&lt;/p&gt;\n  &lt;/td&gt;\n&lt;/tr&gt;&lt;tr valign=\"top\"&gt;&lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 28%;\"&gt;\n &lt;p&gt;yaffs_nandsim_file.c&lt;/p&gt;\n  &lt;/td&gt;\n &lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 72%;\"&gt;\n &lt;p&gt;A wrapper which creates a nand simulator instance, hooks up the yaffs NAND driver and then adds it to yaffs for use.&lt;/p&gt;\n  &lt;/td&gt;\n&lt;/tr&gt;&lt;tr valign=\"top\"&gt;&lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 28%;\"&gt;\n &lt;p&gt;yaffs_nor_drv.c&lt;/p&gt;\n  &lt;/td&gt;\n &lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 72%;\"&gt;\n &lt;ol&gt;&lt;/ol&gt;&lt;/td&gt;\n&lt;/tr&gt;&lt;tr valign=\"top\"&gt;&lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 28%;\"&gt;\n &lt;p&gt;yaffs_m18_drv.c&lt;/p&gt;\n  &lt;/td&gt;\n &lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 72%;\"&gt;\n &lt;p&gt;A driver for Intel M18-style NOR flash.&lt;/p&gt;\n  &lt;/td&gt;\n&lt;/tr&gt;&lt;tr valign=\"top\"&gt;&lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 28%;\"&gt;\n &lt;p&gt;yaffs_osglue.c&lt;/p&gt;\n  &lt;/td&gt;\n &lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 72%;\"&gt;\n &lt;p&gt;An OS glue layer example used in the test harness.&lt;/p&gt;\n  &lt;/td&gt;\n&lt;/tr&gt;&lt;/table&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;\n&lt;p&gt;Example and testing build files:&lt;/p&gt;\n&lt;table cellpadding=\"4\" style=\"width: 100%; border-spacing: 0px;\"&gt;&lt;col width=\"71*\" /&gt;&lt;col width=\"185*\" /&gt;&lt;tr valign=\"top\"&gt;&lt;td style=\"border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0.1cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 28%;\"&gt;\n &lt;p&gt;dtest.c&lt;/p&gt;\n  &lt;/td&gt;\n &lt;td style=\"border: 1px solid #000000; padding: 0.1cm; width: 72%;\"&gt;\n &lt;p&gt;A test harness. Also has sample code that can be used for better understanding of how some function calls work.&lt;/p&gt;\n  &lt;/td&gt;\n&lt;/tr&gt;&lt;tr valign=\"top\"&gt;&lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 28%;\"&gt;\n &lt;p&gt;yaffscfg2k.c&lt;/p&gt;\n  &lt;/td&gt;\n &lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 72%;\"&gt;\n &lt;p&gt;A test configuration.&lt;/p&gt;\n  &lt;/td&gt;\n&lt;/tr&gt;&lt;tr valign=\"top\"&gt;&lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 28%;\"&gt;\n &lt;p&gt;yaffs_fileem.c&lt;br /&gt;\n  yaffs_fileem2k.c&lt;/p&gt;\n  &lt;/td&gt;\n &lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 72%;\"&gt;\n &lt;p&gt;Nand flash simulation using a file as backing store.&lt;/p&gt;\n  &lt;/td&gt;\n&lt;/tr&gt;&lt;/table&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;\n&lt;p&gt;Further testing files are in direct/tests and direct/python.&lt;/p&gt;\n&lt;h2 class=\"western\" style=\"page-break-before: always\"&gt;7.2 Integrating the POSIX Application Interface&lt;/h2&gt;\n&lt;p&gt;The application interface is defined in yaffsfs.h. These provide a POSIX file system interface. For the most part, this interface consists of the standard clib function names prefixed with &lt;code class=\"western\"&gt;yaffs_&lt;/code&gt;. For example, &lt;code class=\"western\"&gt;yaffs_open(), yaffs_close()&lt;/code&gt; etc.&lt;/p&gt;\n&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;\n&lt;p&gt;There is a lot of flexibility in how these functions are used and the system integrator needs to determine the best strategy for the system.&lt;/p&gt;\n&lt;p&gt;These functions can be used directly, with the code written using these names. For example&lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;int main(...)&lt;br /&gt;\n{&lt;br /&gt;\n// initialisation&lt;br /&gt;\nf = yaffs_open(...);&lt;br /&gt;\nyaffs_read(f,...);&lt;br /&gt;\nyaffs_close(f);&lt;br /&gt;\n}&lt;/code&gt;&lt;/p&gt;\n&lt;p&gt;The &lt;span style=\"font-family: Times New Roman;\"&gt;yaffs&lt;/span&gt; functions can also be wrapped in some way to allow existing code to use yaffs without modification. For example:&lt;/p&gt;\n&lt;p style=\"margin-bottom: 0cm; orphans: 0; widows: 0; page-break-before: auto; page-break-after: avoid\"&gt;&lt;br /&gt;&lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;#define open(path, oflag, mode) yaffs_open(path, oflag, mode)&lt;br /&gt;\n..&lt;br /&gt;&lt;br /&gt;\nint main(...)&lt;br /&gt;\n{&lt;br /&gt;\n// initialisation&lt;br /&gt;\nf = open(...);&lt;br /&gt;\nread(f,...);&lt;br /&gt;\nclose(f);&lt;br /&gt;\n}&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;\n&lt;p style=\"margin-bottom: 0cm; orphans: 0; widows: 0; page-break-before: auto\"&gt;&lt;br /&gt;&lt;/p&gt;\n&lt;p&gt;A more complex approach that can be used if more than one file-system is used is to provide redirection functions. For example:&lt;/p&gt;\n&lt;p style=\"margin-bottom: 0cm; orphans: 0; widows: 0; page-break-before: auto; page-break-after: avoid\"&gt;&lt;br /&gt;&lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;int open(const char *path,...)&lt;br /&gt;\n{&lt;br /&gt;\n// Determine which file system is being used&lt;br /&gt;&lt;/code&gt;&lt;code class=\"western\"&gt;i&lt;/code&gt;&lt;code class=\"western\"&gt;f(it_is_a_yaffs_path(path))&lt;br /&gt;\nreturn yaffs_open(...);&lt;br /&gt;\nelse {&lt;br /&gt;\n// Do something else&lt;br /&gt;\n}&lt;br /&gt;\n}&lt;/code&gt;&lt;/p&gt;\n&lt;p style=\"margin-left: 1.25cm; margin-bottom: 0cm; page-break-inside: avoid; orphans: 0; widows: 0; page-break-before: auto; page-break-after: auto\"&gt;&lt;br /&gt;&lt;/p&gt;\n&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;\n&lt;p&gt;Some RTOS\'s provide a flexible way to integrate file systems in which case YDI can typically use these interfaces to access yaffs file systems.&lt;/p&gt;\n&lt;h1 class=\"western\" style=\"page-break-before: always\"&gt;8 RTOS Integration Interface&lt;/h1&gt;\n&lt;p&gt;Before Yaffs can be used, it needs to be integrated with the system and configured so that the correct actions are performed.&lt;/p&gt;\n&lt;p&gt;To do this, you need to modify the configuration file. An example configuration file is presented in &lt;span style=\"font-family: Bitstream Vera Sans;\"&gt;&lt;span style=\"font-family: Times New Roman;\"&gt;yaffscfg.c and yaffscfg2k.c.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;\n&lt;p&gt;This is a relatively straight forward process and defines the RTOS access functions.&lt;/p&gt;\n&lt;p&gt;The RTOS access functions are:&lt;/p&gt;\n&lt;ul&gt;&lt;li&gt;\n&lt;p&gt;&lt;code class=\"western\"&gt;void yaffsfs_SetError(int err)&lt;/code&gt;: Called by Yaffs to set the system error.&lt;/p&gt;\n &lt;/li&gt;\n&lt;li&gt;\n&lt;p&gt;&lt;code class=\"western\"&gt;void yaffsfs_Lock(void)&lt;/code&gt;: Called by Yaffs to lock Yaffs from multi-threaded access.&lt;/p&gt;\n &lt;/li&gt;\n&lt;li&gt;\n&lt;p&gt;&lt;code class=\"western\"&gt;void yaffsfs_Unlock(void)&lt;/code&gt;: Called by Yaffs to unlock Yaffs.&lt;/p&gt;\n &lt;/li&gt;\n&lt;li&gt;\n&lt;p&gt;&lt;code class=\"western\"&gt;u32 yaffsfs_CurrentTime(void)&lt;/code&gt;: Get current time from RTOS.&lt;/p&gt;\n &lt;/li&gt;\n&lt;li&gt;\n&lt;p&gt;&lt;span style=\"font-family: Liberation Mono, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;b&gt;void *yaffsfs_malloc(size_t size)&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;: Called to allocate memory.&lt;/p&gt;\n &lt;/li&gt;\n&lt;li&gt;\n&lt;p&gt;&lt;span style=\"font-family: Liberation Mono, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;b&gt;void yaffsfs_free(void *ptr)&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;: Called to free memory.&lt;/p&gt;\n &lt;/li&gt;\n&lt;li&gt;\n&lt;p&gt;&lt;code class=\"western\"&gt;void yaffsfs_&lt;/code&gt;&lt;code class=\"western\"&gt;OS&lt;/code&gt;&lt;code class=\"western\"&gt;Initialisation(void)&lt;/code&gt;: Called to initialise RTOS context.&lt;/p&gt;\n &lt;/li&gt;\n&lt;li&gt;\n&lt;p&gt;&lt;span style=\"font-family: Liberation Mono, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;b&gt;void yaffs_bug_fn(const char *file_name, int line_no)&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;: Function to report a bug.&lt;/p&gt;\n &lt;/li&gt;\n&lt;li&gt;\n&lt;p&gt;&lt;span style=\"font-family: Liberation Mono, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;b&gt;int yaffsfs_CheckMemRegion(const void *addr, size_t size, int writ&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=\"font-family: Liberation Mono, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;b&gt;e_request&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;) : Function to check if accesses to a memory region is valid. This function must return zero if the test passes and negative if it fails.&lt;/p&gt;\n &lt;/li&gt;\n&lt;/ul&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;\n&lt;p&gt;If Yaffs is being used in a multi-threaded environment, then typically &lt;code class=\"western\"&gt;yaffs_LocalInitialisation()&lt;/code&gt; will initialise a suitable RTOS semaphore and &lt;code class=\"western\"&gt;yaffs_Lock()&lt;/code&gt; and &lt;code class=\"western\"&gt;yaffs_Unlock()&lt;/code&gt; will call the appropriate functions to lock and release the semaphore.&lt;/p&gt;\n&lt;p&gt;&lt;code class=\"western\"&gt;yaffs_CurrentTime()&lt;/code&gt; can be any time increment of use to the system. If this is not required, then it is fine to just use a function that is hard-wired to return zero.&lt;/p&gt;\n&lt;p&gt;Before the application code uses Yaffs, the &lt;code class=\"western\"&gt;yaffs&lt;/code&gt;&lt;code class=\"western\"&gt;fs&lt;/code&gt;&lt;code class=\"western\"&gt;_&lt;/code&gt;&lt;code class=\"western\"&gt;OSInitialisation&lt;/code&gt;&lt;code class=\"western\"&gt;()&lt;/code&gt; function must be called.&lt;/p&gt;\n&lt;p&gt;&lt;span style=\"font-family: Liberation Mono, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;b&gt;yaffsfs_CheckMemRegion()&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=\"font-family: Liberation Serif, serif;\"&gt;&lt;span style=\"font-size: 12pt; font-size: medium; font-size: medium;\"&gt;&lt;span style=\"font-weight: normal\"&gt;is used to check addresses passed to the various yaffs_xxx functions (yaffs_open(), yaffs_read() etc)). If the function returns -1, then the yaffs_xxx function will return -EFAULT rather than attempt to dereference the address and crash.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;\n&lt;p style=\"font-weight: normal\"&gt;&lt;span style=\"font-family: Liberation Serif, serif;\"&gt;&lt;span style=\"font-size: 12pt; font-size: medium; font-size: medium;\"&gt;An implementation might do something like:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;\n&lt;p style=\"font-weight: normal\"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;span style=\"font-family: Liberation Mono, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;b&gt;int yaffsfs_CheckMemRegion(const void addr, size_t size, &lt;br /&gt;\nint write_&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=\"font-family: Liberation Mono, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;b&gt;request&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=\"font-family: Liberation Mono, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;b&gt;) &lt;br /&gt;\n{&lt;br /&gt;\nu32 uaddr&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=\"font-family: Liberation Mono, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;b&gt;b&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=\"font-family: Liberation Mono, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;b&gt;= (u32) addr;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=\"font-family: Liberation Mono, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;b&gt;u32 uaddrt = uaddrb + size -1;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=\"font-family: Liberation Mono, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;b&gt;&lt;br /&gt;\nif( uaddr&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=\"font-family: Liberation Mono, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;b&gt;b&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=\"font-family: Liberation Mono, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;b&gt;&gt;= stack_bottom &amp;&amp; uaddr&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=\"font-family: Liberation Mono, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;b&gt;b&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=\"font-family: Liberation Mono, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;b&gt;&lt;= stack_top &amp;&amp;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=\"font-family: Liberation Mono, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;b&gt;uaddrt &gt;= stack_bottom &amp;&amp; uaddrt &lt;= stack_top)&lt;br /&gt;\nreturn 0; /* &lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=\"font-family: Liberation Mono, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;b&gt;r/w &lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=\"font-family: Liberation Mono, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;b&gt;access is OK */&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=\"font-family: Liberation Mono, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;b&gt;&lt;br /&gt;\nif( uaddr&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=\"font-family: Liberation Mono, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;b&gt;b&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=\"font-family: Liberation Mono, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;b&gt;&gt;= &lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=\"font-family: Liberation Mono, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;b&gt;heap&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=\"font-family: Liberation Mono, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;b&gt;_bottom &amp;&amp; uaddr&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=\"font-family: Liberation Mono, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;b&gt;b&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=\"font-family: Liberation Mono, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;b&gt;&lt;= &lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=\"font-family: Liberation Mono, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;b&gt;heap&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=\"font-family: Liberation Mono, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;b&gt;_top &amp;&amp;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=\"font-family: Liberation Mono, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;b&gt;uaddrt &gt;= heap_bottom &amp;&amp; uaddrt &lt;= heap_top)&lt;br /&gt;\nreturn 0; /* &lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=\"font-family: Liberation Mono, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;b&gt;r/w&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=\"font-family: Liberation Mono, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;b&gt;access is OK /&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=\"font-family: Liberation Mono, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;b&gt;&lt;br /&gt;\nif( !&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=\"font-family: Liberation Mono, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;b&gt;write_request &amp;&amp;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=\"font-family: Liberation Mono, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;b&gt;uaddr&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=\"font-family: Liberation Mono, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;b&gt;b&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=\"font-family: Liberation Mono, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;b&gt;&gt;= &lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=\"font-family: Liberation Mono, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;b&gt;rom&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=\"font-family: Liberation Mono, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;b&gt;_bottom &amp;&amp; uaddr&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=\"font-family: Liberation Mono, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;b&gt;b&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=\"font-family: Liberation Mono, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;b&gt;&lt;= &lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=\"font-family: Liberation Mono, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;b&gt;rom&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=\"font-family: Liberation Mono, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;b&gt;_top &amp;&amp;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=\"font-family: Liberation Mono, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;b&gt;uaddrt &gt;= rom_bottom &amp;&amp; uaddrt &lt;= rom_top)&lt;br /&gt;\nreturn 0; / &lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=\"font-family: Liberation Mono, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;b&gt;read &lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=\"font-family: Liberation Mono, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;b&gt;access is OK /&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=\"font-family: Liberation Mono, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;b&gt;&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=\"font-family: Liberation Mono, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;b&gt;return -1; /* Bad access */&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=\"font-family: Liberation Mono, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;b&gt;&lt;br /&gt;&lt;br /&gt;\n}&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;\n&lt;h1 class=\"western\" style=\"page-break-before: always\"&gt;9 Yaffs NAND Model&lt;/h1&gt;\n&lt;p&gt;Before defining the flash integration interface, it is important to understand the model and corresponding nomenclature used throughout Yaffs and its documentation.&lt;/p&gt;\n&lt;p&gt;Yaffs uses a fairly abstract model for NAND flash. This allows a lot of flexibility in the way it can be used.&lt;/p&gt;\n&lt;p&gt;Yaffs is designed for NAND flash and makes the following assumptions and definitions:&lt;/p&gt;\n&lt;ul&gt;&lt;li&gt;\n&lt;p&gt;The flash is arranged in &lt;i&gt;&lt;b&gt;blocks&lt;/b&gt;&lt;/i&gt;. Each block is the same size and comprises an integer number of &lt;span style=\"font-style: normal\"&gt;&lt;span style=\"font-weight: normal\"&gt;chunks&lt;/span&gt;&lt;/span&gt;. Each block is treated as a single erasable item. A block contains a number of chunks.&lt;/p&gt;\n &lt;/li&gt;\n&lt;li&gt;\n&lt;p&gt;A &lt;i&gt;&lt;b&gt;chunk&lt;/b&gt;&lt;/i&gt; equates to the allocation units of flash. For Yaffs1, each chunk equates to a 512-byte or larger NAND page (that is, a 512-byte or larger data portion and a 16-byte spare area). For Yaffs2, a chunk will typically be larger (eg. on 2k page devices, a chunk will typically be a single 2k page: 2kbytes of data and 64 bytes of spare). Yaffs2 is capable of working with smaller chunk sizes by using inband tags.&lt;/p&gt;\n &lt;/li&gt;\n&lt;li&gt;\n&lt;p&gt;All accesses (reads and writes) are page chunk aligned. Some reads might only read the spare area where the tags are kept.&lt;/p&gt;\n &lt;/li&gt;\n&lt;li&gt;\n&lt;p&gt;When programming a NAND flash, only the zero bits in the pattern being programmed are relevant, and one bits are \"don\'t care\". For example, if a byte already contains the binary pattern b1010, then programming b1001 will result in the pattern which is the logical AND of these two patterns ie. b1000. This is different to NOR flash which would typically abort the attempt to convert a 0 into a 1.&lt;/p&gt;\n &lt;/li&gt;\n&lt;/ul&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;\n&lt;p&gt;Yaffs ide&lt;span style=\"font-weight: normal\"&gt;ntifies&lt;/span&gt; blocks by their block number and chunks by the chunk Id. A chunk Id is calculated as:&lt;/p&gt;\n&lt;p&gt;&lt;code class=\"western\"&gt;chunkId = block_id * chunks_per_block + chunk_offset_in_block&lt;/code&gt;&lt;/p&gt;\n&lt;p&gt;Yaffs treats a blank (0xFF filled) block as being free or erased. Thus, the equivalent of formatting for a Yaffs partition is to erase all the blocks that are not bad.&lt;/p&gt;\n&lt;p&gt;Yaffs2 has a generalised tags interface to provide better flexibility to cater for a wider range of devices with larger pages and stricter programming limitations. Yaffs2 thus handles more abstract constructs than Yaffs1 and, in older versions of Yaffs, more effort was required to interface to the NAND.&lt;/p&gt;\n&lt;p&gt;In newer versions of Yaffs, the tags management has been abstracted out of the driver. This makes the driver interface far simpler.&lt;/p&gt;\n&lt;h2 class=\"western\"&gt;9.1 Formatting&lt;/h2&gt;\n&lt;p&gt;Yaffs treats erased blocks as empty. That makes it really easy to “format” a device: just erase it.. Note that this should be done while the partition is not mounted.&lt;/p&gt;\n&lt;p&gt;Unmounting will not normally work when the file system is busy (eg. files are open), Some extra non-standard unmount options are provided to enable an unmount to be forced. Note that using these will break any current handles and you will no longer be able to use open files.&lt;/p&gt;\n&lt;p&gt;&lt;code class=\"western\"&gt;&lt;span style=\"font-family: Liberation Serif, serif;\"&gt;&lt;span style=\"font-size: 12pt; font-size: medium; font-size: medium;\"&gt;&lt;span style=\"font-weight: normal\"&gt;There is a &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;code class=\"western\"&gt;&lt;span style=\"font-family: Liberation Mono, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;b&gt;yaffs_format() &lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;code class=\"western\"&gt;&lt;span style=\"font-family: Liberation Serif, serif;\"&gt;&lt;span style=\"font-size: 12pt; font-size: medium; font-size: medium;\"&gt;&lt;span style=\"font-weight: normal\"&gt;function that will take care of the details.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;\n&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;\n&lt;h2 class=\"western\"&gt;9.2 NAND Model considerations for Yaffs1&lt;/h2&gt;\n&lt;p&gt;The historical Yaffs1 tags structure was laid out in accordance with the SmartMedia specification for use with 512-byte pages. There is now much more flexibility in the way things can be configured.&lt;/p&gt;\n&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;\n&lt;p&gt;Yaffs1 is capable of being used with a variety of memory layouts so long as the flash supports the ability to overwrite the tags area to set the deletion marker to zero.&lt;/p&gt;\n&lt;p&gt;If the yaffs_dev\'s use_nand_ecc field is not set, then yaffs will perform the ECC calculations. If this is set then yaffs will expect the NAND driver to do any required ECC checks. On devices that are not using ECC, for example NOR, set use_nand_ecc=1 and then don\'t do any ECC anyway.&lt;/p&gt;\n&lt;p&gt;The Yaffs1 flash model expects an area of 16 spare bytes, some of which are used for tags. The mapping between the spare bytes and the usage of the bytes is specified in yaffs_packedtags1.c&lt;/p&gt;\n&lt;p&gt;The Yaffs1 model has been used in many NOR-based systems. One particularly instructive example is in yaffs_nor_drv.c which implements a driver for Yaffs1 mode on CFI-style NOR flash. This does not use ECC but uses checksumming instead.&lt;/p&gt;\n&lt;p&gt;The yaffs_dev structure has a yaffs_driver structure which holds the function pointers to the driver. For Yaffs1 mode of operations the following are required:&lt;/p&gt;\n&lt;table cellpadding=\"4\" style=\"page-break-inside: avoid; width: 100%; border-spacing: 0px;\"&gt;&lt;col width=\"77*\" /&gt;&lt;col width=\"179*\" /&gt;&lt;tr valign=\"top\"&gt;&lt;td style=\"border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0.1cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 30%;\"&gt;\n &lt;p&gt;drv_write_chunk_fn&lt;/p&gt;\n  &lt;/td&gt;\n &lt;td style=\"border: 1px solid #000000; padding: 0.1cm; width: 70%;\"&gt;\n &lt;p&gt;Write a data chunk&lt;/p&gt;\n  &lt;/td&gt;\n&lt;/tr&gt;&lt;tr valign=\"top\"&gt;&lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 30%;\"&gt;\n &lt;p&gt;drv_read_chunk_fn&lt;/p&gt;\n  &lt;/td&gt;\n &lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 70%;\"&gt;\n &lt;p&gt;Read a data chunk.&lt;/p&gt;\n  &lt;/td&gt;\n&lt;/tr&gt;&lt;tr valign=\"top\"&gt;&lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 30%;\"&gt;\n &lt;p&gt;drv_erase_fn&lt;/p&gt;\n  &lt;/td&gt;\n &lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 70%;\"&gt;\n &lt;p&gt;Erase a block&lt;/p&gt;\n  &lt;/td&gt;\n&lt;/tr&gt;&lt;tr valign=\"top\"&gt;&lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 30%;\"&gt;\n &lt;p&gt;drv_initialise_fn&lt;/p&gt;\n  &lt;/td&gt;\n &lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 70%;\"&gt;\n &lt;p&gt;Initialisation.&lt;/p&gt;\n  &lt;/td&gt;\n&lt;/tr&gt;&lt;tr valign=\"top\"&gt;&lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 30%;\"&gt;\n &lt;p&gt;drv_deinitialise_fn&lt;/p&gt;\n  &lt;/td&gt;\n &lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 70%;\"&gt;\n &lt;p&gt;De-initialise&lt;/p&gt;\n  &lt;/td&gt;\n&lt;/tr&gt;&lt;/table&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;\n&lt;p&gt;These functions are described later.&lt;/p&gt;\n&lt;h2 class=\"western\"&gt;9.3 NAND Model for Yaffs2&lt;/h2&gt;\n&lt;p&gt;The Yaffs2 interface is far more flexible than Yaffs1, but that means a bit more effort must be done in the driver. In particular:&lt;/p&gt;\n&lt;ul&gt;&lt;li&gt;\n&lt;p&gt;There is is no standard spare area/ECC layout. The driver must handle all the layout of the spare area and ECC handling.&lt;/p&gt;\n &lt;/li&gt;\n&lt;li&gt;\n&lt;p&gt;There is not a standard implementation for bad block markers. Thus, the driver must provide functions for checking and marking bad blocks.&lt;/p&gt;\n &lt;/li&gt;\n&lt;/ul&gt;&lt;p&gt;The yaffs_driver structure for Yaffs2 mode requires the following functions:&lt;/p&gt;\n&lt;p style=\"margin-bottom: 0cm; orphans: 0; widows: 0; page-break-before: auto\"&gt;&lt;br /&gt;&lt;/p&gt;\n&lt;table cellpadding=\"4\" style=\"page-break-inside: avoid; width: 100%; border-spacing: 0px;\"&gt;&lt;col width=\"77*\" /&gt;&lt;col width=\"179*\" /&gt;&lt;tr valign=\"top\"&gt;&lt;td style=\"border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0.1cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 30%;\"&gt;\n &lt;p&gt;drv_write_chunk_fn&lt;/p&gt;\n  &lt;/td&gt;\n &lt;td style=\"border: 1px solid #000000; padding: 0.1cm; width: 70%;\"&gt;\n &lt;p&gt;Write a data chunk&lt;/p&gt;\n  &lt;/td&gt;\n&lt;/tr&gt;&lt;tr valign=\"top\"&gt;&lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 30%;\"&gt;\n &lt;p&gt;drv_read_chunk_fn&lt;/p&gt;\n  &lt;/td&gt;\n &lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 70%;\"&gt;\n &lt;p&gt;Read a data chunk.&lt;/p&gt;\n  &lt;/td&gt;\n&lt;/tr&gt;&lt;tr valign=\"top\"&gt;&lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 30%;\"&gt;\n &lt;p&gt;drv_erase_fn&lt;/p&gt;\n  &lt;/td&gt;\n &lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 70%;\"&gt;\n &lt;p&gt;Erase a block&lt;/p&gt;\n  &lt;/td&gt;\n&lt;/tr&gt;&lt;tr valign=\"top\"&gt;&lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 30%;\"&gt;\n &lt;p&gt;drv_mark_bad_fn&lt;/p&gt;\n  &lt;/td&gt;\n &lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 70%;\"&gt;\n &lt;p&gt;Mark a block bad&lt;/p&gt;\n  &lt;/td&gt;\n&lt;/tr&gt;&lt;tr valign=\"top\"&gt;&lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 30%;\"&gt;\n &lt;p&gt;drv_check_bad_fn&lt;/p&gt;\n  &lt;/td&gt;\n &lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 70%;\"&gt;\n &lt;p&gt;Check bad block status of a block.&lt;/p&gt;\n  &lt;/td&gt;\n&lt;/tr&gt;&lt;tr valign=\"top\"&gt;&lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 30%;\"&gt;\n &lt;p&gt;drv_initialise_fn&lt;/p&gt;\n  &lt;/td&gt;\n &lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 70%;\"&gt;\n &lt;p&gt;Initialisation.&lt;/p&gt;\n  &lt;/td&gt;\n&lt;/tr&gt;&lt;tr valign=\"top\"&gt;&lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 30%;\"&gt;\n &lt;p&gt;drv_deinitialise_fn&lt;/p&gt;\n  &lt;/td&gt;\n &lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 70%;\"&gt;\n &lt;p&gt;De-initialise&lt;/p&gt;\n  &lt;/td&gt;\n&lt;/tr&gt;&lt;/table&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;\n&lt;h2 class=\"western\"&gt;9.4 Overview of flash driver function&lt;/h2&gt;\n&lt;p&gt;The best way to understand how to write these functions is to look at the example drivers.&lt;/p&gt;\n&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;\n&lt;p class=\"code-western\"&gt;int (*drv_write_chunk_fn) (struct yaffs_dev *dev, int nand_chunk, &lt;/p&gt;\n&lt;p class=\"code-western\"&gt;const u8 *data, int data_len, &lt;/p&gt;\n&lt;p class=\"code-western\"&gt;const u8 *oob, int oob_len)&lt;/p&gt;\n&lt;p&gt;This function writes the specified chunk data and oob/spare data to flash.&lt;/p&gt;\n&lt;p&gt;This function should return YAFFS_OK on success or YAFFS_FAIL on failure.&lt;/p&gt;\n&lt;p&gt;If this is a Yaffs2 device, or Yaffs1 with use_nand_ecc set, then this function must take care of any ECC that is required.&lt;/p&gt;\n&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;\n&lt;p class=\"code-western\"&gt;int (*drv_read_chunk_fn) (struct yaffs_dev *dev, int nand_chunk, &lt;/p&gt;\n&lt;p class=\"code-western\"&gt;u8 *data, int data_len, &lt;/p&gt;\n&lt;p class=\"code-western\"&gt;u8 *oob, int oob_len,&lt;/p&gt;\n&lt;p class=\"code-western\"&gt;enum yaffs_ecc_result *ecc_result)&lt;/p&gt;\n&lt;p&gt;This function reads the specified chunk data and oob/spare data from flash.&lt;/p&gt;\n&lt;p&gt;This function should return YAFFS_OK on success or YAFFS_FAIL on failure.&lt;/p&gt;\n&lt;p&gt;If this is a Yaffs2 device, or Yaffs1 with use_nand_ecc set, then this function must take care of any ECC that is required and set the ecc_result.&lt;/p&gt;\n&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;\n&lt;p class=\"code-western\"&gt;int (*drv_erase_fn) (struct yaffs_dev *dev, int block_no) &lt;/p&gt;\n&lt;p&gt;This function erases the specified block.&lt;/p&gt;\n&lt;p&gt;This function should return YAFFS_OK on success or YAFFS_FAIL on failure.&lt;/p&gt;\n&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;\n&lt;p class=\"code-western\"&gt;int (*drv_mark_bad_fn) (struct yaffs_dev *dev, int block_no); &lt;/p&gt;\n&lt;p class=\"code-western\"&gt;int (*drv_check_bad_fn) (struct yaffs_dev *dev, int block_no); &lt;/p&gt;\n&lt;p&gt;These functions are only required for Yaffs2 mode. They mark a block bad or check if it is bad.&lt;/p&gt;\n&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;\n&lt;p class=\"code-western\"&gt;int (*drv_initialise_fn) (struct yaffs_dev *dev); &lt;/p&gt;\n&lt;p class=\"code-western\"&gt;int (*drv_deinitialise_fn) (struct yaffs_dev *dev); &lt;/p&gt;\n&lt;p&gt;These functions provide hooks for initialising or deinitialising the flash driver.&lt;/p&gt;\n&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;\n&lt;h1 class=\"western\" style=\"page-break-before: always\"&gt;10 Configuration and flash driver installation&lt;/h1&gt;\n&lt;p&gt;For an example of how to do the configuration, refer to yaffs_cfg2k.c and one of the drivers such as yaffs_nand_drv.c&lt;/p&gt;\n&lt;p&gt;The old mechanism was static and required a table of devices that was installed at start up. This mechanism had shortcomings – in particular it broke modularity and did not allow devices to be added dynamically.&lt;/p&gt;\n&lt;p&gt;Things are different now. As any time, a yaffs_dev structure can be configured and then registered with Yaffs by using the yaffs_add_device() function.&lt;/p&gt;\n&lt;p&gt;A yaffs_dev structure has two parts which must be configured before yaffs_add_device() is called: the paramers (dev-&gt;param) and the driver (dev-&gt;drv). The driver configuration (plugging in the driver functions) has already been described above, so we will now look at the yaffs parameters.&lt;/p&gt;\n&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;\n&lt;p&gt;The yaffs_param structure must be set before the yaffs_dev is added with yaffs_add_device() and should not be modified after that.&lt;/p&gt;\n&lt;p&gt;The params are defined in the Yaffs Tuning Document.&lt;/p&gt;\n&lt;h1 class=\"western\" style=\"page-break-before: always\"&gt;11 Using the POSIX file system interface&lt;/h1&gt;\n&lt;p&gt;This section is directed to readers that might not be very familiar with accessing a file system via POSIX and POSIX-like interfaces.&lt;/p&gt;\n&lt;h2 class=\"western\"&gt;11.1 Difference to Windows POSIX-like interfaces&lt;/h2&gt;\n&lt;p&gt;MSDOS and Windows provide a POSIX-lke interface. If you are familiar with this then that will help you. There are are however some slight differences, most importantly:&lt;/p&gt;\n&lt;ul&gt;&lt;li&gt;\n&lt;p&gt;Windows has no concept of links and has a 1:1 mapping between file names and files.POSIX supports files with zero, one or many names. Refer to the sections on linking and unlinking files. For instance POSIX allows you to unlink a file (ie delete the name for a file) while it is still in use. You can continue to read/write the file but it will be deleted as soon as the last file handle to the file is closed. Windows, on the other hand, does not allow you to unlink a file while it is in use.&lt;/p&gt;\n &lt;/li&gt;\n&lt;li&gt;\n&lt;p&gt;Windows names drives with a letter. POSIX has no drive letters. The whole POSIX file system is in a single directory tree.&lt;/p&gt;\n &lt;/li&gt;\n&lt;li&gt;\n&lt;p&gt;Directories and “folders” are the same thing.&lt;/p&gt;\n &lt;/li&gt;\n&lt;/ul&gt;&lt;h2 class=\"western\"&gt;11.2 Fundamental concepts&lt;/h2&gt;\n&lt;table cellpadding=\"4\" style=\"width: 642px; border-spacing: 0px;\"&gt;&lt;col width=\"126\" /&gt;&lt;col width=\"499\" /&gt;&lt;tr valign=\"top\"&gt;&lt;td style=\"border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0.1cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 126px;\"&gt;\n &lt;p&gt;File&lt;/p&gt;\n  &lt;/td&gt;\n &lt;td style=\"border: 1px solid #000000; padding: 0.1cm; width: 499px;\"&gt;\n &lt;p&gt;A file is an object that is stored in the file system. yaffs supports the following file types:&lt;/p&gt;\n &lt;p&gt;A regular file is a sequence of bytes stored in the file system.&lt;/p&gt;\n &lt;p&gt;A directory holds links to other files.&lt;/p&gt;\n &lt;p&gt;A symbolic link holds a name to another file.&lt;/p&gt;\n &lt;p&gt;A special file holds device ids or similar information.&lt;/p&gt;\n  &lt;/td&gt;\n&lt;/tr&gt;&lt;tr valign=\"top\"&gt;&lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 126px;\"&gt;\n &lt;p&gt;Directory&lt;/p&gt;\n  &lt;/td&gt;\n &lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 499px;\"&gt;\n &lt;p&gt;This is a structure that holds links and allows a file to be found by name. Note that a single file may have many links(ie names) and many be found in many places in the directory structure.&lt;/p&gt;\n  &lt;/td&gt;\n&lt;/tr&gt;&lt;tr valign=\"top\"&gt;&lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 126px;\"&gt;\n &lt;p&gt;Link&lt;/p&gt;\n  &lt;/td&gt;\n &lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 499px;\"&gt;\n &lt;p&gt;This is a name that allows the file to be found. There are two types of link: real links (sometimes called hard links) and symbolic (or soft) links. &lt;/p&gt;\n  &lt;/td&gt;\n&lt;/tr&gt;&lt;tr valign=\"top\"&gt;&lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 126px;\"&gt;\n &lt;p&gt;Handle&lt;/p&gt;\n  &lt;/td&gt;\n &lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 499px;\"&gt;\n &lt;p&gt;A file handle provides a context from which a file can be accessed and manipulated. A handle has a current file position pointer which points to where the file is being read or written. Multiple handles can simultaneously access a single file.&lt;/p&gt;\n  &lt;/td&gt;\n&lt;/tr&gt;&lt;tr valign=\"top\"&gt;&lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 126px;\"&gt;\n &lt;p&gt;File mode&lt;/p&gt;\n  &lt;/td&gt;\n &lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 499px;\"&gt;\n &lt;p&gt;The mode is the set of flags that define the type of file as well as the current permissions associated with the file.&lt;/p&gt;\n  &lt;/td&gt;\n&lt;/tr&gt;&lt;tr valign=\"top\"&gt;&lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 126px;\"&gt;\n &lt;p&gt;Path&lt;/p&gt;\n  &lt;/td&gt;\n &lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 499px;\"&gt;\n &lt;p&gt;This is a string that defines the directories and file name. For example:&lt;/p&gt;\n &lt;p&gt;“/data/direct-1/file1”&lt;/p&gt;\n  &lt;/td&gt;\n&lt;/tr&gt;&lt;tr valign=\"top\"&gt;&lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 126px;\"&gt;\n &lt;p&gt;File metadata&lt;/p&gt;\n  &lt;/td&gt;\n &lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 499px;\"&gt;\n &lt;p&gt;This is the information about the file, excluding the file contents. The metadata includes the name, mode, size and other details.&lt;/p&gt;\n  &lt;/td&gt;\n&lt;/tr&gt;&lt;tr valign=\"top\"&gt;&lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 126px;\"&gt;\n &lt;p&gt;Mount,&lt;br /&gt;\n  partition,&lt;br /&gt;\n  file system&lt;/p&gt;\n  &lt;/td&gt;\n &lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 499px;\"&gt;\n &lt;p&gt;These terms all refer to a single mounted flash area. Each mount is hooked into a common directory structure.&lt;br /&gt;\n  The term file system can sometimes be confusing because it is used both for a single mounted partition as well as the the file system code. In other words, we might say that both “/boot” is a file system and might also say that yaffs is a file system.&lt;/p&gt;\n  &lt;/td&gt;\n&lt;/tr&gt;&lt;tr valign=\"top\"&gt;&lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 126px;\"&gt;\n &lt;p&gt;inode number&lt;/p&gt;\n  &lt;/td&gt;\n &lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 499px;\"&gt;\n &lt;p&gt;The inode number is a unique number that identifies the object within the mount. Note that inodes are not unique between two or more mounts. There is no way to reach a file by inode, only via its links.&lt;/p&gt;\n  &lt;/td&gt;\n&lt;/tr&gt;&lt;/table&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;\n&lt;h2 class=\"western\"&gt;11.3 Error code&lt;/h2&gt;\n&lt;p&gt;Most functions result in error codes if the function does not execute successfully. In these cases yaffs calls a function called &lt;code class=\"western\"&gt;yaffs_SetError()&lt;/code&gt; with the error value. This function can be configured to deliver the error into the system\'s error mechanism.&lt;/p&gt;\n&lt;p&gt;In the case of functions that return integers, a returned value smaller than 0 indicates an error occurred. Functions returning pointers will return NULL if an error occurred.&lt;/p&gt;\n&lt;h2 class=\"western\"&gt;11.4 Links – the hard kind (not symbolic links)&lt;/h2&gt;\n&lt;p&gt;At first we\'re just considering real links and not symbolic links. Sometimes real links are also called hard links to differentiate them from symbolic links (which are sometimes called soft links).&lt;/p&gt;\n&lt;p&gt;The difference between links and files is subtle and can be confusing. Briefly:&lt;/p&gt;\n&lt;ul&gt;&lt;li&gt;\n&lt;p&gt;a file is the stored object in the file system&lt;/p&gt;\n &lt;/li&gt;\n&lt;li&gt;\n&lt;p&gt;the link is how it is hooked into the directory structure.&lt;/p&gt;\n &lt;/li&gt;\n&lt;/ul&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;\n&lt;p&gt;The first link to a file is created by using the file creation calls: &lt;code class=\"western\"&gt;yaffs_open()&lt;/code&gt;, &lt;code class=\"western\"&gt;yaffs_mknod()&lt;/code&gt;, &lt;code class=\"western\"&gt;yaffs_symlink()&lt;/code&gt; and &lt;code class=\"western\"&gt;yaffs_mkdir()&lt;/code&gt;.&lt;/p&gt;\n&lt;p&gt;A link can be destroyed by using the &lt;code class=\"western\"&gt;yaffs_unlink()&lt;/code&gt; function. Directories are destroyed using the &lt;code class=\"western\"&gt;yaffs_rmdir()&lt;/code&gt; function (oh, and the directory must be empty).&lt;/p&gt;\n&lt;p&gt;Once a file is both unused (there are no handles open to it) and there are no links to it it is then deleted.&lt;/p&gt;\n&lt;p&gt;A link can be renamed by using the &lt;code class=\"western\"&gt;yaffs_rename()&lt;/code&gt; function.&lt;/p&gt;\n&lt;p&gt;A file may have many links. These may be created using the &lt;code class=\"western\"&gt;yaffs_link()&lt;/code&gt; function. All the links access the same file and there is no one link that is considered “the real link” and others being “the duplicate link”. All links to a file have the same priority. If you look at the inode number for “a” and for “b” then they will be the same because they are refering to exactly the same file.&lt;/p&gt;\n&lt;p&gt;Thus:&lt;/p&gt;\n&lt;ol&gt;&lt;li&gt;\n&lt;p&gt;If we start with a file called “a” and then call &lt;code class=\"western\"&gt;yaffs_link(“a”, “b”)&lt;/code&gt; we now have two links to the same file. We can\'t tell them apart.&lt;/p&gt;\n &lt;/li&gt;\n&lt;li&gt;\n&lt;p&gt;If we now unlink “a”, the file still exists under the link “b”.&lt;/p&gt;\n &lt;/li&gt;\n&lt;li&gt;\n&lt;p&gt;If we now unlink “b” the file will no longer be linked. If there is a handle open to the file then we can still access the file through the handle and continue to read or modify the file. If there is no link to the file it is deleted.&lt;/p&gt;\n &lt;/li&gt;\n&lt;li&gt;\n&lt;p&gt;If an unlinked file was kept alive because of a handle being open, the file will not show up in the directory structure (because it has no link) and will be deleted as soon as the handle is closed (or if the file system is unmounted).&lt;/p&gt;\n &lt;/li&gt;\n&lt;/ol&gt;&lt;p&gt;There are some limitations in how links are used:&lt;/p&gt;\n&lt;ul&gt;&lt;li&gt;\n&lt;p&gt;The existing file you are linking to must exist.&lt;/p&gt;\n &lt;/li&gt;\n&lt;li&gt;\n&lt;p&gt;The file you are linking to must be in the same mount (partition) as the link you are creating.&lt;/p&gt;\n &lt;/li&gt;\n&lt;li&gt;\n&lt;p&gt;You cannot create a link to a directory because this would allow the creation of recursive loops.&lt;/p&gt;\n &lt;/li&gt;\n&lt;li&gt;\n&lt;p&gt;The new link name must not exist.&lt;/p&gt;\n &lt;/li&gt;\n&lt;/ul&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;\n&lt;h2 class=\"western\"&gt;11.5 Symbolic links&lt;/h2&gt;\n&lt;p&gt;Now that you understand how hard links work, we\'ll introduce symbolic (or soft) links.&lt;/p&gt;\n&lt;p&gt;A symbolic link holds an alias for a different object. When you use that symbolic link in a path the alias is used instead. To that extent symbolic link and hard links are the same.&lt;/p&gt;\n&lt;p&gt;You can remove symbolic links with the &lt;code class=\"western\"&gt;yaffs_unlink()&lt;/code&gt; function, just like hard links.&lt;/p&gt;\n&lt;p&gt;There are, however, some important differences. A symbolic link only does its linking function when the path is being evaluated and thus:&lt;/p&gt;\n&lt;ul&gt;&lt;li&gt;\n&lt;p&gt;The file you are creating an alias to does not have to exist.&lt;/p&gt;\n &lt;/li&gt;\n&lt;li&gt;\n&lt;p&gt;The file you are creating an alias to does not have to be in the same mount.&lt;/p&gt;\n &lt;/li&gt;\n&lt;li&gt;\n&lt;p&gt;You can create symbolic links to directories.&lt;/p&gt;\n &lt;/li&gt;\n&lt;li&gt;\n&lt;p&gt;A symbolic link will not keep a file alive by itself. Only a hard link can do that.&lt;/p&gt;\n &lt;/li&gt;\n&lt;/ul&gt;&lt;p&gt;Thus:&lt;/p&gt;\n&lt;ol&gt;&lt;li&gt;\n&lt;p&gt;If we start with a file called “a” and then call &lt;code class=\"western\"&gt;yaffs_symlink(“a”, “b”)&lt;/code&gt; we now have one link to the file called “a” and a symbolic link aliasising from “b” to “a”.&lt;/p&gt;\n &lt;/li&gt;\n&lt;li&gt;\n&lt;p&gt;If we use &lt;code class=\"western\"&gt;yaffs_open(“a”)&lt;/code&gt; or &lt;code class=\"western\"&gt;yaffs_open(“b”)&lt;/code&gt; they will open the same file. The path resolution mechanism substitutes in the alias and so will look up “a”. The same applies to almost all functions that takes a path, such as &lt;code class=\"western\"&gt;yaffs_truncate()&lt;/code&gt;, &lt;code class=\"western\"&gt;yaffs_stat()&lt;/code&gt; etc. The only exceptions are &lt;code class=\"western\"&gt;yaffs_lstat()&lt;/code&gt; and &lt;code class=\"western\"&gt;yaffs_readlink()&lt;/code&gt; which will treat the path as pointing to the symbolic link and not the file.&lt;/p&gt;\n &lt;/li&gt;\n&lt;li&gt;\n&lt;p&gt;You can tell “a” and “b” apart by using &lt;code class=\"western\"&gt;yaffs_lstat()&lt;/code&gt;. &lt;code class=\"western\"&gt;yaffs_lstat(“a”)&lt;/code&gt; will show the information for file “a”. &lt;code class=\"western\"&gt;yaffs_lstat(“b”)&lt;/code&gt; will show the information for the symbolic link itself. Note the difference with hard links. With hard links &lt;code class=\"western\"&gt;yaffs_lstat(“a”)&lt;/code&gt; and &lt;code class=\"western\"&gt;yaffs_lstat(“b”)&lt;/code&gt; would show the same results since they are EXACTLY the same thing being referenced.&lt;/p&gt;\n &lt;/li&gt;\n&lt;li&gt;\n&lt;p&gt;If we now unlink “a”. then the file is no longer linked and will no longer be accessible from “b”. Note the difference with hard links.&lt;/p&gt;\n &lt;/li&gt;\n&lt;/ol&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;\n&lt;h2 class=\"western\"&gt;11.6 Handle-based file handling&lt;/h2&gt;\n&lt;p&gt;A handle is file accessor that allows us to access the contents of a regular file. The handle identifies the file being accessed as well as a position pointer tracking where the next read or write operation will take place.&lt;/p&gt;\n&lt;p&gt;A handle is identified by an integer of value 0 or greater.&lt;/p&gt;\n&lt;p&gt;A handle is created by using the &lt;code class=\"western\"&gt;yaffs_open()&lt;/code&gt; call and returns the handle value. If the handle could not be created then a negative value is returned and the yaffs error code is set.&lt;/p&gt;\n&lt;p&gt;A handle remains valid until the handle is closed by &lt;code class=\"western\"&gt;yaffs_close()&lt;/code&gt;.&lt;/p&gt;\n&lt;p&gt;The &lt;code class=\"western\"&gt;yaffs_open()&lt;/code&gt; call takes three parameters:&lt;/p&gt;\n&lt;ul&gt;&lt;li&gt;\n&lt;p&gt;name: Full path name of the file being opened.&lt;/p&gt;\n &lt;/li&gt;\n&lt;li&gt;\n&lt;p&gt;access flags: Flags being used to open this handle&lt;/p&gt;\n &lt;/li&gt;\n&lt;li&gt;\n&lt;p&gt;creation mode: Mode flags used when creating a file.&lt;/p&gt;\n &lt;/li&gt;\n&lt;/ul&gt;&lt;p&gt;The access flags are one or more of:&lt;/p&gt;\n&lt;table cellpadding=\"4\" style=\"width: 100%; border-spacing: 0px;\"&gt;&lt;col width=\"59*\" /&gt;&lt;col width=\"197*\" /&gt;&lt;tr valign=\"top\"&gt;&lt;td style=\"border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0.1cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 23%;\"&gt;\n &lt;p&gt;&lt;span style=\"font-family: Courier, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;code class=\"western\"&gt;O_CREAT&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;\n  &lt;/td&gt;\n &lt;td style=\"border: 1px solid #000000; padding: 0.1cm; width: 77%;\"&gt;\n &lt;p&gt;Create file if it does not already exist.&lt;/p&gt;\n  &lt;/td&gt;\n&lt;/tr&gt;&lt;tr valign=\"top\"&gt;&lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 23%;\"&gt;\n &lt;p&gt;&lt;span style=\"font-family: Courier, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;code class=\"western\"&gt;O_EXCL&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;\n  &lt;/td&gt;\n &lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 77%;\"&gt;\n &lt;p&gt;Only use with O_CREAT. Create file if it does not exist. If the file already exists then fail.&lt;/p&gt;\n  &lt;/td&gt;\n&lt;/tr&gt;&lt;tr valign=\"top\"&gt;&lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 23%;\"&gt;\n &lt;p&gt;&lt;span style=\"font-family: Courier, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;code class=\"western\"&gt;O_TRUNC&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;\n  &lt;/td&gt;\n &lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 77%;\"&gt;\n &lt;p&gt;If the file exists, and opening with write access, then truncate the file to zero bytes long.&lt;/p&gt;\n  &lt;/td&gt;\n&lt;/tr&gt;&lt;tr valign=\"top\"&gt;&lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 23%;\"&gt;\n &lt;p&gt;&lt;br /&gt;&lt;/p&gt;\n  &lt;/td&gt;\n &lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 77%;\"&gt;\n &lt;p&gt;&lt;br /&gt;&lt;/p&gt;\n  &lt;/td&gt;\n&lt;/tr&gt;&lt;tr valign=\"top\"&gt;&lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 23%;\"&gt;\n &lt;p&gt;&lt;span style=\"font-family: Courier, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;code class=\"western\"&gt;O_APPEND&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;\n  &lt;/td&gt;\n &lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 77%;\"&gt;\n &lt;p&gt;Regardless of the handle position, always write to the end of the file.&lt;/p&gt;\n  &lt;/td&gt;\n&lt;/tr&gt;&lt;tr valign=\"top\"&gt;&lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 23%;\"&gt;\n &lt;p&gt;&lt;br /&gt;&lt;/p&gt;\n  &lt;/td&gt;\n &lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 77%;\"&gt;\n &lt;p&gt;&lt;br /&gt;&lt;/p&gt;\n  &lt;/td&gt;\n&lt;/tr&gt;&lt;tr valign=\"top\"&gt;&lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 23%;\"&gt;\n &lt;p&gt;&lt;span style=\"font-family: Courier, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;code class=\"western\"&gt;O_RDWR&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;\n  &lt;/td&gt;\n &lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 77%;\"&gt;\n &lt;p&gt;Open for read/write access.&lt;/p&gt;\n  &lt;/td&gt;\n&lt;/tr&gt;&lt;tr valign=\"top\"&gt;&lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 23%;\"&gt;\n &lt;p&gt;&lt;span style=\"font-family: Courier, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;code class=\"western\"&gt;O_WRONLY&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;\n  &lt;/td&gt;\n &lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 77%;\"&gt;\n &lt;p&gt;Open for write access and no read access.&lt;/p&gt;\n &lt;p&gt;&lt;br /&gt;&lt;/p&gt;\n  &lt;/td&gt;\n&lt;/tr&gt;&lt;tr valign=\"top\"&gt;&lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 23%;\"&gt;\n &lt;p&gt;&lt;span style=\"font-family: Liberation Mono, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;b&gt;0 (zero)&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;\n  &lt;/td&gt;\n &lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 77%;\"&gt;\n &lt;p&gt;If neither O_RDWR or O_WRONLY is set then the file will be opened for read-only access.&lt;/p&gt;\n  &lt;/td&gt;\n&lt;/tr&gt;&lt;/table&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;\n&lt;p&gt;Where they are not mutually exclusive, these flags are typically combined. For example:&lt;/p&gt;\n&lt;p&gt;&lt;code class=\"western\"&gt;O_CREAT | O_TRUNC | O_RDWR&lt;/code&gt; : Create a new file if it does not exist otherwise if the file already exists then truncate to zero length. Typically used to overwrite a file or create if it does not already exist.&lt;/p&gt;\n&lt;p&gt;&lt;code class=\"western\"&gt;O_CREAT | OEXCL | O_WRONLY&lt;/code&gt; : Create a new file, opening it for write only. Fails if file already exists.&lt;/p&gt;\n&lt;p&gt;There are three mode flags that can be controlled or set. These flags may be set by the open that creates the file or later by the &lt;code class=\"western\"&gt;yaffs_chmod()&lt;/code&gt;.&lt;/p&gt;\n&lt;table cellpadding=\"4\" style=\"width: 100%; border-spacing: 0px;\"&gt;&lt;col width=\"59*\" /&gt;&lt;col width=\"197*\" /&gt;&lt;tr valign=\"top\"&gt;&lt;td style=\"border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0.1cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 23%;\"&gt;\n &lt;p&gt;&lt;span style=\"font-family: Courier New, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;code class=\"western\"&gt;S_IREAD&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;\n  &lt;/td&gt;\n &lt;td style=\"border: 1px solid #000000; padding: 0.1cm; width: 77%;\"&gt;\n &lt;p&gt;The file may be opened for read access.&lt;/p&gt;\n  &lt;/td&gt;\n&lt;/tr&gt;&lt;tr valign=\"top\"&gt;&lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 23%;\"&gt;\n &lt;p&gt;&lt;span style=\"font-family: Courier New, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;code class=\"western\"&gt;S_IWRITE&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;\n  &lt;/td&gt;\n &lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 77%;\"&gt;\n &lt;p&gt;The file may be opened for write access.&lt;/p&gt;\n  &lt;/td&gt;\n&lt;/tr&gt;&lt;tr valign=\"top\"&gt;&lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 23%;\"&gt;\n &lt;p&gt;&lt;span style=\"font-family: Courier New, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;code class=\"western\"&gt;S_IEXEC&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;\n  &lt;/td&gt;\n &lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 77%;\"&gt;\n &lt;p&gt;The file may be opened for execution. This is not enforced by yaffs.&lt;/p&gt;\n  &lt;/td&gt;\n&lt;/tr&gt;&lt;/table&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;\n&lt;p&gt;Once you have opened a handle you can then do various operations on the file.&lt;/p&gt;\n&lt;table cellpadding=\"4\" style=\"width: 605px; border-spacing: 0px;\"&gt;&lt;col width=\"248\" /&gt;&lt;col width=\"339\" /&gt;&lt;tr valign=\"top\"&gt;&lt;td style=\"border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0.1cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 248px;\"&gt;\n &lt;p&gt;&lt;span style=\"font-family: Courier New, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;code class=\"western\"&gt;yaffs_close(handle)&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;\n  &lt;/td&gt;\n &lt;td style=\"border: 1px solid #000000; padding: 0.1cm; width: 339px;\"&gt;\n &lt;p&gt;Close the handle. It is no longer usable.&lt;/p&gt;\n  &lt;/td&gt;\n&lt;/tr&gt;&lt;tr valign=\"top\"&gt;&lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 248px;\"&gt;\n &lt;p&gt;&lt;span style=\"font-family: Courier New, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;code class=\"western\"&gt;yaffs_fsync(handle)&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;\n  &lt;/td&gt;\n &lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 339px;\"&gt;\n &lt;p&gt;Flush out any cached writes to the file, as well as the file meta-data.&lt;/p&gt;\n  &lt;/td&gt;\n&lt;/tr&gt;&lt;tr valign=\"top\"&gt;&lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 248px;\"&gt;\n &lt;p&gt;&lt;span style=\"font-family: Courier New, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;code class=\"western\"&gt;yaffs_datasync(handle)&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;\n  &lt;/td&gt;\n &lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 339px;\"&gt;\n &lt;p&gt;Same as yaffs_fsync() but no file metadata.&lt;/p&gt;\n  &lt;/td&gt;\n&lt;/tr&gt;&lt;tr valign=\"top\"&gt;&lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 248px;\"&gt;\n &lt;p&gt;&lt;span style=\"font-family: Courier New, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;code class=\"western\"&gt;yaffs_flush(handle)&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;\n  &lt;/td&gt;\n &lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 339px;\"&gt;\n &lt;p&gt;Same as yaffs_fsync()&lt;/p&gt;\n  &lt;/td&gt;\n&lt;/tr&gt;&lt;tr valign=\"top\"&gt;&lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 248px;\"&gt;\n &lt;p&gt;&lt;span style=\"font-family: Courier New, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;code class=\"western\"&gt;yaffs_dup(handle)&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;\n  &lt;/td&gt;\n &lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 339px;\"&gt;\n &lt;p&gt;Duplicates a handle.&lt;/p&gt;\n  &lt;/td&gt;\n&lt;/tr&gt;&lt;tr valign=\"top\"&gt;&lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 248px;\"&gt;\n &lt;p&gt;&lt;span style=\"font-family: Courier New, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;code class=\"western\"&gt;yaffs_lseek(handle, offset, whence)&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;\n  &lt;/td&gt;\n &lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 339px;\"&gt;\n &lt;p&gt;Set the handle read/write position. Note that this does not modify the file. You can seek past the end of the file. This does not modify the file size.&lt;/p&gt;\n  &lt;/td&gt;\n&lt;/tr&gt;&lt;tr valign=\"top\"&gt;&lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 248px;\"&gt;\n &lt;p&gt;&lt;span style=\"font-family: Courier New, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;code class=\"western\"&gt;yaffs_ftruncate(handle, size)&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;\n  &lt;/td&gt;\n &lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 339px;\"&gt;\n &lt;p&gt;Change the file size. It can be made bigger or smaller. This does not change the handle read/write position.&lt;/p&gt;\n  &lt;/td&gt;\n&lt;/tr&gt;&lt;tr valign=\"top\"&gt;&lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 248px;\"&gt;\n &lt;p&gt;&lt;span style=\"font-family: Courier New, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;code class=\"western\"&gt;yaffs_fstat(handle, buf)&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;\n  &lt;/td&gt;\n &lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 339px;\"&gt;\n &lt;p&gt;Get file status.&lt;/p&gt;\n  &lt;/td&gt;\n&lt;/tr&gt;&lt;tr valign=\"top\"&gt;&lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 248px;\"&gt;\n &lt;p&gt;&lt;span style=\"font-family: Courier New, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;code class=\"western\"&gt;yaffs_fchmod(handle, mode)&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;\n  &lt;/td&gt;\n &lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 339px;\"&gt;\n &lt;p&gt;Change the file mode.&lt;/p&gt;\n  &lt;/td&gt;\n&lt;/tr&gt;&lt;tr valign=\"top\"&gt;&lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 248px;\"&gt;\n &lt;p&gt;&lt;br /&gt;&lt;/p&gt;\n  &lt;/td&gt;\n &lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 339px;\"&gt;\n &lt;p&gt;&lt;br /&gt;&lt;/p&gt;\n  &lt;/td&gt;\n&lt;/tr&gt;&lt;tr valign=\"top\"&gt;&lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 248px;\"&gt;\n &lt;p&gt;&lt;span style=\"font-family: Courier New, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;code class=\"western\"&gt;yaffs_read(handle, buffer, nbytes)&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;\n  &lt;/td&gt;\n &lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 339px;\"&gt;\n &lt;p&gt;Read data from file at file pointer and update pointer.&lt;/p&gt;\n  &lt;/td&gt;\n&lt;/tr&gt;&lt;tr valign=\"top\"&gt;&lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 248px;\"&gt;\n &lt;p&gt;&lt;span style=\"font-family: Courier New, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;code class=\"western\"&gt;yaffs_pread(handle, buffer, nbytes, position)&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;\n  &lt;/td&gt;\n &lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 339px;\"&gt;\n &lt;p&gt;Read data from file at specified position. Does not modify file pointer&lt;/p&gt;\n  &lt;/td&gt;\n&lt;/tr&gt;&lt;tr valign=\"top\"&gt;&lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 248px;\"&gt;\n &lt;p&gt;&lt;span style=\"font-family: Courier New, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;code class=\"western\"&gt;yaffs_write(handle, buffer, nbytes)&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;\n  &lt;/td&gt;\n &lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 339px;\"&gt;\n &lt;p&gt;Write data to file at file pointer and update pointer.&lt;/p&gt;\n  &lt;/td&gt;\n&lt;/tr&gt;&lt;tr valign=\"top\"&gt;&lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 248px;\"&gt;\n &lt;p&gt;&lt;span style=\"font-family: Courier New, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;code class=\"western\"&gt;yaffs_pread(handle, buffer, nbytes, position)&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;\n  &lt;/td&gt;\n &lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 339px;\"&gt;\n &lt;p&gt;Write data to file at specified position. Does not modify file pointer&lt;/p&gt;\n  &lt;/td&gt;\n&lt;/tr&gt;&lt;/table&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;\n&lt;h2 class=\"western\"&gt;11.7 Changing file size&lt;/h2&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;yaffs_truncate(path, newSize)&lt;/code&gt;&lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;yaffs_ftruncate(handle, newSize)&lt;/code&gt;&lt;/p&gt;\n&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;\n&lt;p&gt;These change a file\'s size. Note that truncating does not just mean make the file smaller. The file can also be made larger.&lt;/p&gt;\n&lt;p&gt;Yaffs does not store bytes that it does not need to. If you use truncate to make a file larger then this will not necessarily occupt more flash space.&lt;/p&gt;\n&lt;p&gt;See also &lt;code class=\"western\"&gt;yaffs_lseek()&lt;/code&gt; too. Note that &lt;code class=\"western\"&gt;yaffs_lseek() &lt;/code&gt;only changes the position of the write pointer and does not impact on the file size unless the file is written.&lt;/p&gt;\n&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;\n&lt;h2 class=\"western\"&gt;11.8 Getting/setting information about files&lt;/h2&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;yaffs_chmod(path, mode)&lt;/code&gt;&lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;yaffs_fchmod(handle, mode)&lt;/code&gt;&lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;yaffs_access(path,amode)&lt;/code&gt;&lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;yaffs_stat(path, struct yaffs_stat *buf) &lt;/code&gt; &lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;yaffs_fstat(handle, struct yaffs_stat *buf)&lt;/code&gt;&lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;yaffs_lstat(path, struct yaffs_stat *buf)&lt;/code&gt;&lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;yaffs_readlink(path, buf, bufsize)&lt;/code&gt;&lt;/p&gt;\n&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;\n&lt;p&gt;The chmod calls allow you to set different mode flags for the file. These can only be used to manipulate the permissions flags and not change the mode flags relating to the type of file.&lt;/p&gt;\n&lt;p&gt;&lt;code class=\"western\"&gt;yaffs_access() &lt;/code&gt;tests that the file can be accessed in the specified mode. This call returns zero on success and -1 is returned&lt;/p&gt;\n&lt;p&gt;amode is a bitmask of the following values:&lt;/p&gt;\n&lt;table cellpadding=\"4\" style=\"width: 100%; border-spacing: 0px;\"&gt;&lt;col width=\"43*\" /&gt;&lt;col width=\"213*\" /&gt;&lt;tr valign=\"top\"&gt;&lt;td style=\"border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0.1cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 17%;\"&gt;\n &lt;p&gt;&lt;span style=\"font-family: Courier New, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;code class=\"western\"&gt;R_OK&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;\n  &lt;/td&gt;\n &lt;td style=\"border: 1px solid #000000; padding: 0.1cm; width: 83%;\"&gt;\n &lt;p&gt;Check read is OK&lt;/p&gt;\n  &lt;/td&gt;\n&lt;/tr&gt;&lt;tr valign=\"top\"&gt;&lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 17%;\"&gt;\n &lt;p&gt;&lt;span style=\"font-family: Courier New, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;code class=\"western\"&gt;W_OK&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;\n  &lt;/td&gt;\n &lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 83%;\"&gt;\n &lt;p&gt;Check write is OK&lt;/p&gt;\n  &lt;/td&gt;\n&lt;/tr&gt;&lt;tr valign=\"top\"&gt;&lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 17%;\"&gt;\n &lt;p&gt;&lt;span style=\"font-family: Courier New, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;code class=\"western\"&gt;X_OK&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;\n  &lt;/td&gt;\n &lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 83%;\"&gt;\n &lt;p&gt;Check execute is OK.&lt;/p&gt;\n  &lt;/td&gt;\n&lt;/tr&gt;&lt;tr valign=\"top\"&gt;&lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 17%;\"&gt;\n &lt;p&gt;&lt;span style=\"font-family: Courier New, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;code class=\"western\"&gt;0 (zero)&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;\n  &lt;/td&gt;\n &lt;td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 83%;\"&gt;\n &lt;p&gt;Just checks the file exists&lt;/p&gt;\n  &lt;/td&gt;\n&lt;/tr&gt;&lt;/table&gt;&lt;p&gt;These can be combined.&lt;/p&gt;\n&lt;p&gt;For example:&lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;if(yaffs_access(path, R_OK | W_OK) == 0)&lt;/code&gt;&lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;the file exists and can be read and written&lt;/code&gt;&lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;if(yaffs_access(path, 0) == 0)&lt;/code&gt;&lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;the file exists&lt;/code&gt;&lt;/p&gt;\n&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;\n&lt;p&gt;The stat calls retrieve a yaffs_stat structure of data which is defined in yaffsfs.h. There are three versions:&lt;/p&gt;\n&lt;p&gt;&lt;code class=\"western\"&gt;yaffs_fstat&lt;/code&gt;: Takes a handle.&lt;/p&gt;\n&lt;p&gt;&lt;code class=\"western\"&gt;yaffs_stat&lt;/code&gt;: Takes a path name and follows symbolic links.&lt;/p&gt;\n&lt;p&gt;&lt;code class=\"western\"&gt;yaffs_lstat&lt;/code&gt;: Takes a path but does not follow symbolic links.&lt;/p&gt;\n&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;\n&lt;p&gt;Thus, if path is a symbolic link, &lt;code class=\"western\"&gt;yaffs_fstat() &lt;/code&gt;will give information on the file that the link points to while &lt;code class=\"western\"&gt;yaffs_lstat()&lt;/code&gt; will give information about the link itself.&lt;/p&gt;\n&lt;p&gt;&lt;code class=\"western\"&gt;yaffs_readlink()&lt;/code&gt; will read the read the link value into the buffer provided. For example:&lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;yaffs_symlink(“target”,”/link”); /* create a link called link to target */&lt;/code&gt;&lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;yaffs_readlink(“/link”,buffer,10); /* now buffer contains “target” */&lt;/code&gt;&lt;/p&gt;\n&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;\n&lt;h2 class=\"western\"&gt;11.9 Changing the directory structure and names&lt;/h2&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;yaffs_open(path, flags, mode)&lt;/code&gt;&lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;yaffs_mkdir(path, mode)&lt;/code&gt;&lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;yaffs_symlink(targetPath, linkPath)&lt;/code&gt;&lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;yaffs_mknod(pathname, mode, dev)&lt;/code&gt;&lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;yaffs_link(existingPath, newath)&lt;/code&gt;&lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;yaffs_unlink(path)&lt;/code&gt;&lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;yaffs_rmdir(path)&lt;/code&gt;&lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;yaffs_rename(oldPath, newPath)&lt;/code&gt;&lt;/p&gt;\n&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;\n&lt;p&gt;Files of various types, and their first link, are created via the &lt;code class=\"western\"&gt;yaffs_open()&lt;/code&gt;&lt;code class=\"western\"&gt;&lt;span style=\"font-family: Liberation Serif, serif;\"&gt;&lt;span style=\"font-weight: normal\"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;span style=\"font-family: Courier New, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;/span&gt;&lt;/span&gt;&lt;code class=\"western\"&gt;yaffs_mkdir()&lt;/code&gt;&lt;span style=\"font-family: Liberation Serif, serif;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;, &lt;/span&gt;&lt;/span&gt;&lt;code class=\"western\"&gt;yaffs_symlink()&lt;/code&gt; and &lt;code class=\"western\"&gt;yaffs_mknod()&lt;/code&gt;&lt;span style=\"font-family: Liberation Serif, serif;\"&gt;&lt;span style=\"font-size: 12pt; font-size: medium; font-size: medium;\"&gt;&lt;/span&gt;&lt;/span&gt;functions.&lt;/p&gt;\n&lt;p&gt;&lt;code class=\"western\"&gt;yaffs_link()&lt;/code&gt; can be used to create subsequent links to files. Note that you cannot create a link to a directory.&lt;/p&gt;\n&lt;p&gt;&lt;code class=\"western\"&gt;yaffs_rename()&lt;/code&gt; allows you to rename a link. Note that renaming one link over another link is an atomic operation. That means that even if the operation is interrupted by a power failure, the result will either complete or not happen at all. If the target link is for a directory, then the rename will only work if the target directory is empty.&lt;/p&gt;\n&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;\n&lt;h2 class=\"western\"&gt;11.10 Searching directories&lt;/h2&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;yaffs_DIR *yaffs_opendir(const YCHAR *dirname) ; &lt;/code&gt; &lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;struct yaffs_dirent *yaffs_readdir(yaffs_DIR *dirp) ; &lt;/code&gt; &lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;void yaffs_rewinddir(yaffs_DIR *dirp) ; &lt;/code&gt; &lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;int yaffs_closedir(yaffs_DIR *dirp) ; &lt;/code&gt; &lt;/p&gt;\n&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;\n&lt;p&gt;Searching is performed by the following sequence of operations:&lt;/p&gt;\n&lt;ul&gt;&lt;li&gt;\n&lt;p&gt;Open the directory for reading with &lt;code class=\"western\"&gt;yaffs_opendir()&lt;/code&gt;.&lt;/p&gt;\n &lt;/li&gt;\n&lt;li&gt;\n&lt;p&gt;Iterate through the entries in the directory using &lt;code class=\"western\"&gt;yaffs_readdir()&lt;/code&gt;. Each read will advance the directory read position.&lt;/p&gt;\n &lt;/li&gt;\n&lt;li&gt;\n&lt;p&gt;You can reset to the start of the directory with &lt;code class=\"western\"&gt;yaffs_rewinddir()&lt;/code&gt;.&lt;/p&gt;\n &lt;/li&gt;\n&lt;li&gt;\n&lt;p&gt;Close the directory when finished with &lt;code class=\"western\"&gt;yaffs_closedir()&lt;/code&gt;.&lt;/p&gt;\n &lt;/li&gt;\n&lt;/ul&gt;&lt;h2 class=\"western\"&gt;11.11 Searching directories (fd interface)&lt;/h2&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;int &lt;/code&gt;&lt;code class=\"western\"&gt;yaffs_open(const YCHAR *dirname, &lt;/code&gt;&lt;code class=\"western\"&gt;O_RDONLY, 0&lt;/code&gt;&lt;code class=\"western\"&gt;) ; &lt;/code&gt; &lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;struct yaffs_dirent *yaffs_readdir_&lt;/code&gt;&lt;code class=\"western\"&gt;fd&lt;/code&gt;&lt;code class=\"western\"&gt;(&lt;/code&gt;&lt;code class=\"western\"&gt;int fd&lt;/code&gt;&lt;code class=\"western\"&gt;) ; &lt;/code&gt; &lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;void yaffs_rewinddir_&lt;/code&gt;&lt;code class=\"western\"&gt;fd&lt;/code&gt;&lt;code class=\"western\"&gt;(&lt;/code&gt;&lt;code class=\"western\"&gt;int fd&lt;/code&gt;&lt;code class=\"western\"&gt;) ; &lt;/code&gt; &lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;int yaffs_close(&lt;/code&gt;&lt;code class=\"western\"&gt;int fd&lt;/code&gt;&lt;code class=\"western\"&gt;) ; &lt;/code&gt; &lt;/p&gt;\n&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;\n&lt;p&gt;This is not a POSIX interface, but provides an alternate interface for reading directories.&lt;/p&gt;\n&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;\n&lt;p&gt;Searching is performed by the following sequence of operations:&lt;/p&gt;\n&lt;ul&gt;&lt;li&gt;\n&lt;p&gt;Open the directory for reading with &lt;code class=\"western\"&gt;yaffs_open( &lt;/code&gt;&lt;code class=\"western\"&gt;name, O_RDONLY, 0&lt;/code&gt;&lt;code class=\"western\"&gt;)&lt;/code&gt;.&lt;/p&gt;\n &lt;/li&gt;\n&lt;li&gt;\n&lt;p&gt;Iterate through the entries in the directory using &lt;code class=\"western\"&gt;yaffs_readdir_&lt;/code&gt;&lt;code class=\"western\"&gt;fd&lt;/code&gt;&lt;code class=\"western\"&gt;()&lt;/code&gt;. Each read will advance the directory read position.&lt;/p&gt;\n &lt;/li&gt;\n&lt;li&gt;\n&lt;p&gt;You can reset to the start of the directory with &lt;code class=\"western\"&gt;yaffs_rewinddir_&lt;/code&gt;&lt;code class=\"western\"&gt;fd&lt;/code&gt;&lt;code class=\"western\"&gt;()&lt;/code&gt;.&lt;/p&gt;\n &lt;/li&gt;\n&lt;li&gt;\n&lt;p&gt;Close the directory when finished with &lt;code class=\"western\"&gt;yaffs_close()&lt;/code&gt;.&lt;/p&gt;\n &lt;/li&gt;\n&lt;/ul&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;\n&lt;h2 class=\"western\"&gt;11.12 Mount control and similar&lt;/h2&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;yaffs_mount(path) ; &lt;/code&gt; &lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;yaffs_mount2(path, readOnly); &lt;/code&gt; &lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;yaffs_unmount(path);&lt;/code&gt;&lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;yaffs_unmount2(path, int force); &lt;/code&gt; &lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;yaffs_remount(path, force, readOnly);&lt;/code&gt;&lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;yaffs_sync(path) ;&lt;/code&gt;&lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;yaffs_format(const YCHAR *path, &lt;/code&gt; &lt;/p&gt;\n&lt;p&gt;&lt;code class=\"western\"&gt;&lt;/code&gt; &lt;code class=\"western\"&gt;int unmount_flag, &lt;/code&gt; &lt;/p&gt;\n&lt;p&gt;&lt;code class=\"western\"&gt;&lt;/code&gt; &lt;code class=\"western\"&gt;int force_unmount_flag, &lt;/code&gt; &lt;/p&gt;\n&lt;p&gt;&lt;code class=\"western\"&gt;&lt;/code&gt; &lt;code class=\"western\"&gt;int remount_flag) &lt;/code&gt; &lt;/p&gt;\n&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;\n&lt;p&gt;A partition must be mounted to be accessed. &lt;code class=\"western\"&gt;yaffs_mount()&lt;/code&gt; will mount the partition for read/write access. &lt;code class=\"western\"&gt;yaffs_mount2()&lt;/code&gt; can be used to control whether the access is read/write or read only.&lt;/p&gt;\n&lt;p&gt;A partition can be unmounted to remove it from use. &lt;code class=\"western\"&gt;yaffs_unmount()&lt;/code&gt; will fail if any files are in use whereas &lt;code class=\"western\"&gt;yaffs_unmount2()&lt;/code&gt; allows you to force the unmount even if files are open. Note that any file handles will then be broken and will no longer access the files.&lt;/p&gt;\n&lt;p&gt;&lt;code class=\"western\"&gt;yaffs_remount()&lt;/code&gt; can be used to change the access to a currently mounted partition and is equivalent to making an &lt;code class=\"western\"&gt;unmount2()&lt;/code&gt; call followed by a &lt;code class=\"western\"&gt;mount2()&lt;/code&gt; call.&lt;/p&gt;\n&lt;p&gt;&lt;code class=\"western\"&gt;yaffs_sync()&lt;/code&gt; does not change the mount status but flushes out any pending data on a partition that is mounted with write access.&lt;/p&gt;\n&lt;p&gt;&lt;span style=\"font-family: Liberation Mono, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;b&gt;yaffs_format()&lt;/b&gt;&lt;/span&gt;&lt;/span&gt; provides a mechanism to format a device. It has various parameters.&lt;br /&gt;&lt;span style=\"font-family: Liberation Mono, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;b&gt;unmount_flag&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;: If set, yaffs_format() will unmount the device before formatting. If this flag is not set and the device is mounted, then the format will fail with EBUSY.&lt;/p&gt;\n&lt;p&gt;&lt;span style=\"font-family: Liberation Mono, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;b&gt;force_unmount&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;: If set, then an unmount is allowed even if the device is busy (eg. files open). If not set, then yaffs_format() will fail (EBUSY) if files are open.&lt;/p&gt;\n&lt;p&gt;&lt;span style=\"font-family: Liberation Mono, monospace;\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;b&gt;remount_flag&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;: If set, then the device will be remounted after the format if it was mounted.&lt;/p&gt;\n&lt;p&gt;The force_unmount and remount_flag options only have meaning if unmount_flag is set.&lt;/p&gt;\n&lt;h2 class=\"western\"&gt;11.13 Extended attributes (xattrt)&lt;/h2&gt;\n&lt;p&gt;Extended attributes provide a mechanism to attach a limited amount of extra data to a file without actually modifying the file. Each xattribute is a named pair of name and some data. Each file can have as many xattribs as there is space for. In Yaffs, this is around chunk-size – 512 bytes. So on devices with 2kbyte chunks you can store up to 1.5kbytes of xattribute information.&lt;/p&gt;\n&lt;p&gt;Although there are 12 xattr functions, there are really only four basic functions, each with 3 different flavours.&lt;/p&gt;\n&lt;p&gt;The basic functions are: set an xattr, get an xattr, remove an xattribute and list the xattribute names.&lt;/p&gt;\n&lt;p class=\"code-western\"&gt;int yaffs_setxattr(const char *path, const char *name, &lt;/p&gt;\n&lt;p class=\"code-western\"&gt;const void *data, int size, int flags); &lt;/p&gt;\n&lt;p class=\"code-western\"&gt;int yaffs_lsetxattr(const char *path, const char *name, &lt;/p&gt;\n&lt;p class=\"code-western\"&gt;const void *data, int size, int flags); &lt;/p&gt;\n&lt;p class=\"code-western\"&gt;int yaffs_fsetxattr(int fd, const char *name, &lt;/p&gt;\n&lt;p class=\"code-western\"&gt;const void *data, int size, int flags); &lt;/p&gt;\n&lt;p&gt;These functions are called with name being the name of the xattr, a pointer to the data and the size of the data, and flags.&lt;/p&gt;\n&lt;p&gt;The flags are:&lt;/p&gt;\n&lt;p&gt;XATTR_CREATE: Create a new xattr, fail with -EEXIST if the xattrib already exists.&lt;/p&gt;\n&lt;p&gt;XATTR_REPLACE: Replace an existing xattr, fail with -ENOATTR if it does not exist.&lt;/p&gt;\n&lt;p&gt;zero: Just create with no checks, replace if it already exists.&lt;/p&gt;\n&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;\n&lt;p&gt;Setting can fail with -ENOSPC if there is not enough space to store the xattrib.&lt;/p&gt;\n&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;\n&lt;p class=\"code-western\"&gt;int yaffs_getxattr(const char *path, const char *name, &lt;/p&gt;\n&lt;p class=\"code-western\"&gt;void *data, int size); &lt;/p&gt;\n&lt;p class=\"code-western\"&gt;int yaffs_lgetxattr(const char *path, const char *name, &lt;/p&gt;\n&lt;p class=\"code-western\"&gt;void *data, int size); &lt;/p&gt;\n&lt;p class=\"code-western\"&gt;int yaffs_fgetxattr(int fd, const char *name, &lt;/p&gt;\n&lt;p class=\"code-western\"&gt;void *data, int size); &lt;/p&gt;\n&lt;p&gt;These get (fetch) an xattrib.&lt;/p&gt;\n&lt;p&gt;If the call succeeds, the length of the retrieved xattrib is returned. This call can fail with -ENOATTR if the requested xattr does not exist or -ERANGE if the buffer was too small.&lt;/p&gt;\n&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;\n&lt;p class=\"code-western\"&gt;int yaffs_removexattr(const char *path, const char *name); &lt;/p&gt;\n&lt;p class=\"code-western\"&gt;int yaffs_lremovexattr(const char *path, const char *name); &lt;/p&gt;\n&lt;p class=\"code-western\"&gt;int yaffs_fremovexattr(int fd, const char *name); &lt;/p&gt;\n&lt;p&gt;These functions delete an existing xattr. If the xattr does not exist then -ENOATTR is returned.&lt;/p&gt;\n&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;\n&lt;p class=\"code-western\"&gt;int yaffs_listxattr(const char *path, char *list, int size); &lt;/p&gt;\n&lt;p class=\"code-western\"&gt;int yaffs_llistxattr(const char *path, char *list, int size); &lt;/p&gt;\n&lt;p class=\"code-western\"&gt;int yaffs_flistxattr(int fd, char *list, int size); &lt;/p&gt;\n&lt;p&gt;These functions fetch a list of the xattrib names into the list buffer. The names are NUL terminated. eg. “attrib0\\0attrib1\\0...”.&lt;/p&gt;\n&lt;p&gt;The function returns the length of the list, otherwise if the list buffer is too short it returns -ERANGE.&lt;/p&gt;\n&lt;p&gt;Note: If you call these functions with a list buffer size of zero, this acts as a query of the required buffer size. No data is actually transferred into the list.&lt;/p&gt;\n&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;\n&lt;p&gt;For example we might choose to add some xattribs to a media file:&lt;/p&gt;\n&lt;p class=\"code-western\"&gt;//Set description&lt;/p&gt;\n&lt;p class=\"code-western\"&gt;yaffs_fsetxattr(fd, “user-comment”, “I hate this song!”,18);&lt;/p&gt;\n&lt;p class=\"code-western\"&gt;yaffs_fsetxattr(fd, “price-in-cents”, &amp;cost, sizeof(cost));&lt;/p&gt;\n&lt;p class=\"code-western\"&gt;// Get the comment&lt;/p&gt;\n&lt;p class=\"code-western\"&gt;yaffs_fgetxattr(fd, “user_comment”, buffer, sizeof(buffer);&lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;\n&lt;p class=\"code-western\"&gt;//List the attributes in a NUL delimited list&lt;/p&gt;\n&lt;p class=\"code-western\"&gt;yaffs_flistxattr(fd, list_buf, sizeof(list_buf));&lt;/p&gt;\n&lt;p class=\"code-western\"&gt;// Now list_buf has user-comment\\0price-in-cents\\0&lt;/p&gt;\n&lt;p class=\"code-western\"&gt;yaffs_fremovexattr(fd, ”user-comment”);&lt;/p&gt;\n&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;\n&lt;h2 class=\"western\"&gt;11.14 Other&lt;/h2&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;yaffs_freespace(path); &lt;/code&gt; &lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;yaffs_totalspace(path); &lt;/code&gt; &lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;yaffs_inodecount(path); &lt;/code&gt; &lt;/p&gt;\n&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;\n&lt;p&gt;These functions provide information on the free and total space (in bytes) for the mount that the path addresses.&lt;/p&gt;\n&lt;p&gt;&lt;code class=\"western\"&gt;yaffs_inodecount()&lt;/code&gt; returns the number of files on the mount that the path addresses.&lt;/p&gt;\n&lt;h1 class=\"western\" style=\"page-break-before: always\"&gt;12 Example: yaffs_readdir() and yaffs_stat()&lt;/h1&gt;\n&lt;p&gt;This code snippet illustrates using &lt;code class=\"western\"&gt;yaffs_readdir()&lt;/code&gt; and associated functions to iterate through a directory. It also shows how to use &lt;code class=\"western\"&gt;yaffs_lstat() &lt;/code&gt;to get information on a file and interpret it.&lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;void dump_directory(const char *dname) &lt;/span&gt;&lt;/code&gt; &lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;{ &lt;/span&gt;&lt;/code&gt; &lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;yaffs_DIR *d; &lt;/span&gt;&lt;/code&gt; &lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;yaffs_dirent *de; &lt;/span&gt;&lt;/code&gt; &lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;struct yaffs_stat s; &lt;/span&gt;&lt;/code&gt; &lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;char str[100]; &lt;/span&gt;&lt;/code&gt; &lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;/span&gt;&lt;/code&gt; &lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;d = yaffs_opendir(dname); &lt;/span&gt;&lt;/code&gt; &lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;/span&gt;&lt;/code&gt; &lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;if(!d) { &lt;/span&gt;&lt;/code&gt; &lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;printf(\"opendir failed\\n\"); &lt;/span&gt;&lt;/code&gt; &lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;} else { &lt;/span&gt;&lt;/code&gt; &lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;while((de = yaffs_readdir(d)) != NULL) { &lt;/span&gt;&lt;/code&gt; &lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;sprintf(str,\"%s/%s\",dname,de-&gt;d_name); &lt;/span&gt;&lt;/code&gt; &lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;/span&gt;&lt;/code&gt; &lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;yaffs_lstat(str,&amp;s); &lt;/span&gt;&lt;/code&gt; &lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;/span&gt;&lt;/code&gt; &lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;printf(\"%s inode %d length %d mode %X \",&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;str,s.st_ino,(int)s.st_size,s.st_mode); &lt;/span&gt;&lt;/code&gt; &lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;switch(s.st_mode &amp; S_IFMT) { &lt;/span&gt;&lt;/code&gt; &lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;case S_IFREG: printf(\"data file\"); break; &lt;/span&gt;&lt;/code&gt; &lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;case S_IFDIR: printf(\"directory\"); break; &lt;/span&gt;&lt;/code&gt; &lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;case S_IFLNK: printf(\"symlink --&gt;\"); &lt;/span&gt;&lt;/code&gt; &lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;if(yaffs_readlink(str,str,100) &lt; 0) &lt;/span&gt;&lt;/code&gt; &lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;printf(\"no alias\"); &lt;/span&gt;&lt;/code&gt; &lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;else &lt;/span&gt;&lt;/code&gt; &lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;printf(\"\\\"%s\\\"\",str);&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;break; &lt;/span&gt;&lt;/code&gt; &lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;default: printf(\"unknown\"); break; &lt;/span&gt;&lt;/code&gt; &lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;printf(\"\\n\"); &lt;/span&gt;&lt;/code&gt; &lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;if((s.st_mode &amp; S_IFMT) == S_IFDIR)&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;dump_directory_tree_worker(str); &lt;/span&gt;&lt;/code&gt; &lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;} &lt;/span&gt;&lt;/code&gt; &lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;&lt;/span&gt;&lt;/code&gt; &lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;yaffs_closedir(d); &lt;/span&gt;&lt;/code&gt; &lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;} &lt;/span&gt;&lt;/code&gt; &lt;/p&gt;\n&lt;p class=\"code-western\"&gt;&lt;code class=\"western\"&gt;&lt;span style=\"font-size: 10pt; font-size: small; font-size: small;\"&gt;} &lt;/span&gt;&lt;/code&gt; &lt;/p&gt;\n&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;\n&lt;/div&gt;\n      </description>\n  <pubDate>Sun, 22 Jul 2012 23:37:14 +0000</pubDate>\n    <dc:creator>Admin</dc:creator>\n    <guid isPermaLink=\"false\">453 at https://yaffs.net</guid>\n    </item>\n<item>\n  <title>Yaffs Tuning</title>\n  <link>https://yaffs.net/documents/yaffs-tuning</link>\n  <description>&lt;span&gt;Yaffs Tuning&lt;/span&gt;\n&lt;span&gt;&lt;span lang=\"\" about=\"https://yaffs.net/user/admin\" typeof=\"schema:Person\" property=\"schema:name\" datatype=\"\" xml:lang=\"\"&gt;Admin&lt;/span&gt;&lt;/span&gt;\n&lt;span&gt;22 July, 2012 - 8:23pm&lt;/span&gt;\n\n      &lt;div class=\"field field--name-upload field--type-file field--label-hidden field--items\"&gt;\n              &lt;div class=\"field--item\"&gt;&lt;span class=\"file file--mime-application-pdf file--application-pdf icon-before\"&gt;&lt;span class=\"file-icon\"&gt;&lt;span class=\"icon glyphicon glyphicon-file text-primary\" aria-hidden=\"true\"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=\"file-link\"&gt;&lt;a href=\"https://yaffs.net/sites/default/files/downloads/YaffsTuning.pdf\" type=\"application/pdf; length=93667\" title=\"Open file in new window\" target=\"_blank\" data-toggle=\"tooltip\" data-placement=\"bottom\"&gt;YaffsTuning.pdf&lt;/a&gt;&lt;/span&gt;&lt;span class=\"file-size\"&gt;91.47 KB&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;\n          &lt;/div&gt;\n  \n            &lt;div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\"&gt;&lt;p&gt; &lt;/p&gt;\n\n&lt;h2&gt;1 Yaffs Direct Configuration&lt;/h2&gt;\n\n&lt;p&gt;Yaffs behaviour is dictated by compile time and run-time flags.&lt;/p&gt;\n\n&lt;h3&gt;1.1 Initialisation Parameters&lt;/h3&gt;\n\n&lt;p&gt;Each yaffs device is configured by a yaffs_DeviceParameterStruct structure which is part of the yaffs_DeviceStruct structure. This contains the following fields:&lt;/p&gt;\n\n&lt;table&gt;&lt;colgroup&gt;&lt;col /&gt;&lt;col /&gt;&lt;/colgroup&gt;&lt;tr&gt;&lt;td&gt;\n			&lt;p&gt;name&lt;/p&gt;\n			&lt;/td&gt;\n			&lt;td&gt;\n			&lt;p&gt;An optional name for the device&lt;/p&gt;\n			&lt;/td&gt;\n		&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;\n			&lt;p&gt;totalBytesPerChunk&lt;/p&gt;\n			&lt;/td&gt;\n			&lt;td&gt;\n			&lt;p&gt;The number of bytes in the data area of the flash page. If inbandTags is not set then this whole area will be used to store data and the tags will be stored in the spare area. If inbandTags is set then part of this area will be used to store tags and the rest will be used to store data.&lt;/p&gt;\n			&lt;/td&gt;\n		&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;\n			&lt;p&gt;spareBytesPerChunk&lt;/p&gt;\n			&lt;/td&gt;\n			&lt;td&gt;\n			&lt;p&gt;The number of available bytes in the spare area of the flash page. This excludes space used by ECC, bad block markers etc.&lt;/p&gt;\n			&lt;/td&gt;\n		&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;\n			&lt;p&gt;startBlock&lt;/p&gt;\n			&lt;/td&gt;\n			&lt;td&gt;\n			&lt;p&gt;The first block in the partition to be used. 0 for first block.&lt;/p&gt;\n			&lt;/td&gt;\n		&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;\n			&lt;p&gt;endBlock&lt;/p&gt;\n			&lt;/td&gt;\n			&lt;td&gt;\n			&lt;p&gt;The last block in the partition to be used.&lt;/p&gt;\n			&lt;/td&gt;\n		&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;\n			&lt;p&gt; &lt;/p&gt;\n			&lt;/td&gt;\n			&lt;td&gt;\n			&lt;p&gt; &lt;/p&gt;\n			&lt;/td&gt;\n		&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;\n			&lt;p&gt;nReservedBlocks&lt;/p&gt;\n			&lt;/td&gt;\n			&lt;td&gt;\n			&lt;p&gt;Number of good blocks blocks reserved for garbage collection etc. Needs to be at least 2, but 5 would be a more typical number.&lt;/p&gt;\n			&lt;/td&gt;\n		&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;\n			&lt;p&gt;inbandTags&lt;/p&gt;\n			&lt;/td&gt;\n			&lt;td&gt;\n			&lt;p&gt;Yaffs2 only:Flag indicating whether tags should be stored in the data area. If inbandTags is set then the short Op cache must be enabled (ie nShortOpCaches must be non-zero.&lt;/p&gt;\n			&lt;/td&gt;\n		&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;\n			&lt;p&gt;useNANDECC&lt;/p&gt;\n			&lt;/td&gt;\n			&lt;td&gt;\n			&lt;p&gt;Yaffs1 only: Flag indicating whether the driver performs ECC. If this is zero then Yaffs will perform ECC.&lt;/p&gt;\n			&lt;/td&gt;\n		&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;\n			&lt;p&gt;noTagsECC&lt;/p&gt;\n			&lt;/td&gt;\n			&lt;td&gt;\n			&lt;p&gt;Yaffs2 only: Flag indicating whether the tags have ECC attached to them.&lt;/p&gt;\n			&lt;/td&gt;\n		&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;\n			&lt;p&gt;isYaffs2&lt;/p&gt;\n			&lt;/td&gt;\n			&lt;td&gt;\n			&lt;p&gt;Flag indicating if this is using the Yaffs2 mechanism. If this is not set then Yaffs1 mode of operation is provided.&lt;/p&gt;\n			&lt;/td&gt;\n		&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;\n			&lt;p&gt; &lt;/p&gt;\n			&lt;/td&gt;\n			&lt;td&gt;\n			&lt;p&gt; &lt;/p&gt;\n			&lt;/td&gt;\n		&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;\n			&lt;p&gt;nShortOpCaches&lt;/p&gt;\n			&lt;/td&gt;\n			&lt;td&gt;\n			&lt;p&gt;Number of chunks to store in the short operation cache. Zero disables caching. Typical value is 10 to 20 or so. Caching is required for inband tags.&lt;/p&gt;\n			&lt;/td&gt;\n		&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;\n			&lt;p&gt;emptyLostAndFound&lt;/p&gt;\n			&lt;/td&gt;\n			&lt;td&gt;\n			&lt;p&gt;Flag to delete all files in lost and found on mount.&lt;/p&gt;\n			&lt;/td&gt;\n		&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;\n			&lt;p&gt;skipCheckpointRead&lt;/p&gt;\n			&lt;/td&gt;\n			&lt;td&gt;\n			&lt;p&gt;Yaffs2 only: Flag to skip reading checkpoint on mount. If set then a re-scan is forced.&lt;/p&gt;\n			&lt;/td&gt;\n		&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;\n			&lt;p&gt;skipCheckpointWrite&lt;/p&gt;\n			&lt;/td&gt;\n			&lt;td&gt;\n			&lt;p&gt;Yaffs2 only: Flag to skip writing checkpoint on sync or unmount.&lt;/p&gt;\n			&lt;/td&gt;\n		&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;\n			&lt;p&gt;refreshPeriod&lt;/p&gt;\n			&lt;/td&gt;\n			&lt;td&gt;\n			&lt;p&gt;Yaffs2 only: How often Yaffs should do a block refresh. Values less than 10 disable block refreshing. Typical values would be1000.&lt;/p&gt;\n			&lt;/td&gt;\n		&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;\n			&lt;p&gt; &lt;/p&gt;\n			&lt;/td&gt;\n			&lt;td&gt;\n			&lt;p&gt; &lt;/p&gt;\n			&lt;/td&gt;\n		&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;\n			&lt;p&gt;initialiseNAND&lt;/p&gt;\n			&lt;/td&gt;\n			&lt;td&gt;\n			&lt;p&gt;Pointer to function to initialise flash driver.&lt;/p&gt;\n			&lt;/td&gt;\n		&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;\n			&lt;p&gt;deinitialiseNAND&lt;/p&gt;\n			&lt;/td&gt;\n			&lt;td&gt;\n			&lt;p&gt;Pointer to function to de-initialise flash driver&lt;/p&gt;\n			&lt;/td&gt;\n		&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;\n			&lt;p&gt;eraseBlockInNAND&lt;/p&gt;\n			&lt;/td&gt;\n			&lt;td&gt;\n			&lt;p&gt;Pointer to function to erase a flash block&lt;/p&gt;\n			&lt;/td&gt;\n		&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;\n			&lt;p&gt; &lt;/p&gt;\n			&lt;/td&gt;\n			&lt;td&gt;\n			&lt;p&gt; &lt;/p&gt;\n			&lt;/td&gt;\n		&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;\n			&lt;p&gt;writeChunkToNAND&lt;/p&gt;\n			&lt;/td&gt;\n			&lt;td&gt;\n			&lt;p&gt;Yaffs1 only: Pointer to function to write a chunk&lt;/p&gt;\n			&lt;/td&gt;\n		&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;\n			&lt;p&gt;readChunkFromNAND&lt;/p&gt;\n			&lt;/td&gt;\n			&lt;td&gt;\n			&lt;p&gt;Yaffs1 only: Pointer to function to read a chunk.&lt;/p&gt;\n			&lt;/td&gt;\n		&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;\n			&lt;p&gt; &lt;/p&gt;\n			&lt;/td&gt;\n			&lt;td&gt;\n			&lt;p&gt; &lt;/p&gt;\n			&lt;/td&gt;\n		&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;\n			&lt;p&gt;writeChunkWithTagsToNAND&lt;/p&gt;\n			&lt;/td&gt;\n			&lt;td&gt;\n			&lt;p&gt;Yaffs2 only: Pointer to function to write a chunk plus tags&lt;/p&gt;\n			&lt;/td&gt;\n		&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;\n			&lt;p&gt;readChunkWithTagsFromNAND&lt;/p&gt;\n			&lt;/td&gt;\n			&lt;td&gt;\n			&lt;p&gt;Yaffs2 only: Pointer to function to read a chunk plus tags&lt;/p&gt;\n			&lt;/td&gt;\n		&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;\n			&lt;p&gt;markNANDBlockBad&lt;/p&gt;\n			&lt;/td&gt;\n			&lt;td&gt;\n			&lt;p&gt;Yaffs2 only: Function to mark a block bad&lt;/p&gt;\n			&lt;/td&gt;\n		&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;\n			&lt;p&gt;queryNANDBlock&lt;/p&gt;\n			&lt;/td&gt;\n			&lt;td&gt;\n			&lt;p&gt;Yaffs2 only: Function to query a block state&lt;/p&gt;\n			&lt;/td&gt;\n		&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;\n			&lt;p&gt; &lt;/p&gt;\n			&lt;/td&gt;\n			&lt;td&gt;\n			&lt;p&gt; &lt;/p&gt;\n			&lt;/td&gt;\n		&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;\n			&lt;p&gt;gcControl&lt;/p&gt;\n			&lt;/td&gt;\n			&lt;td&gt;\n			&lt;p&gt;Callback function that returns the garbage collector control flags. This is optional.&lt;/p&gt;\n			&lt;/td&gt;\n		&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;\n			&lt;p&gt;removeObjectCallback&lt;/p&gt;\n			&lt;/td&gt;\n			&lt;td&gt;\n			&lt;p&gt;Callback function called when an object is removed. This is set by the wrapper.&lt;/p&gt;\n			&lt;/td&gt;\n		&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;\n			&lt;p&gt;markSuperBlockDirty&lt;/p&gt;\n			&lt;/td&gt;\n			&lt;td&gt;\n			&lt;p&gt;Callback function that is called when a clean file system is first modified. This is set by the wrapper.&lt;/p&gt;\n			&lt;/td&gt;\n		&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;\n			&lt;p&gt; &lt;/p&gt;\n			&lt;/td&gt;\n			&lt;td&gt;\n			&lt;p&gt; &lt;/p&gt;\n			&lt;/td&gt;\n		&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;\n			&lt;p&gt;disableSoftDelete&lt;/p&gt;\n			&lt;/td&gt;\n			&lt;td&gt;\n			&lt;p&gt;Yaffs1 only. Debug only. Disables soft deletion if non-zero.&lt;/p&gt;\n			&lt;/td&gt;\n		&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;\n			&lt;p&gt; &lt;/p&gt;\n			&lt;/td&gt;\n			&lt;td&gt;\n			&lt;p&gt; &lt;/p&gt;\n			&lt;/td&gt;\n		&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;\n			&lt;p&gt;useHeaderFileSize&lt;/p&gt;\n			&lt;/td&gt;\n			&lt;td&gt;\n			&lt;p&gt;Debug only. Leave as zero&lt;/p&gt;\n			&lt;/td&gt;\n		&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;\n			&lt;p&gt;disableLazyLoading&lt;/p&gt;\n			&lt;/td&gt;\n			&lt;td&gt;\n			&lt;p&gt;Debug only. Leave as zero.&lt;/p&gt;\n			&lt;/td&gt;\n		&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;\n			&lt;p&gt;wideTnodeDisabled&lt;/p&gt;\n			&lt;/td&gt;\n			&lt;td&gt;\n			&lt;p&gt;Debug only. Leave as zero.&lt;/p&gt;\n			&lt;/td&gt;\n		&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;\n			&lt;p&gt; &lt;/p&gt;\n			&lt;/td&gt;\n			&lt;td&gt;\n			&lt;p&gt; &lt;/p&gt;\n			&lt;/td&gt;\n		&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;\n			&lt;p&gt;deferDirectoryUpdate&lt;/p&gt;\n			&lt;/td&gt;\n			&lt;td&gt;\n			&lt;p&gt;Used to defer directory updates.&lt;/p&gt;\n			&lt;/td&gt;\n		&lt;/tr&gt;&lt;/table&gt;&lt;p&gt; &lt;/p&gt;\n\n&lt;h3&gt;1.2 Compile-time settings&lt;/h3&gt;\n\n&lt;p&gt;These setting are used to apply compile-time configurations.&lt;/p&gt;\n\n&lt;p&gt;CONFIG_YAFFS_ALWAYS_CHECK_CHUNK_ERASED&lt;/p&gt;\n\n&lt;p&gt;Normally Yaffs checks that chunks are erased only on the first chunk write to each block. This flag allows you to force all chunks to be checked. This is slower, but is worth using when doing early debugging.&lt;/p&gt;\n\n&lt;p&gt;CONFIG_YAFFS_CASE_INSENSITIVE&lt;/p&gt;\n\n&lt;p&gt;When selected case insensitive name comparisons are used. Note that this will not magically change Yaffs to be case insensitive in a case sensitive OS. This needs to be set according to the OS policy. Typically this is only used in Windows CE.&lt;/p&gt;\n\n&lt;p&gt;CONFIG_YAFFS_DIRECT&lt;/p&gt;\n\n&lt;p&gt;Used when compiling Yaffs Direct.&lt;/p&gt;\n\n&lt;p&gt;CONFIG_YAFFS_DISABLE_LAZY_LOAD&lt;/p&gt;\n\n&lt;p&gt;Lazy loading is used to defer loading up object details until the objects are accessed. This makes mount time faster. This flag can disable lazy loading. Debug only.&lt;/p&gt;\n\n&lt;p&gt;CONFIG_YAFFS_ECC_WRONG_ORDER&lt;/p&gt;\n\n&lt;p&gt;This flag should only be used with old Linux MTD code which had a bug in the ECC byte ordering.&lt;/p&gt;\n\n&lt;p&gt;CONFIG_YAFFS_NO_YAFFS1&lt;/p&gt;\n\n&lt;p&gt;Used to say that only Yaffs2 operation should be compiled in. Not currently supported.&lt;/p&gt;\n\n&lt;p&gt;CONFIG_YAFFS_SHORT_NAMES_IN_RAM&lt;/p&gt;\n\n&lt;p&gt;Set to configure Yaffs to store short object names in RAM. This is faster, but uses up more memory.&lt;/p&gt;\n\n&lt;p&gt;CONFIG_YAFFS_UNICODE&lt;/p&gt;\n\n&lt;p&gt;Set to configure Yaffs to use Unicode file names (eg. With WinCE).&lt;/p&gt;\n\n&lt;p&gt;CONFIG_YAFFS_USE_OWN_SORT&lt;/p&gt;\n\n&lt;p&gt;By default, Yaffs uses qsort for sorting blocks at mount scanning time. This is faster. Using this flag forces Yaffs to use a slow internal sort instead. Debug only.&lt;/p&gt;\n\n&lt;p&gt;CONFIG_YAFFS_UTIL&lt;/p&gt;\n\n&lt;p&gt;Used when compiling Yaffs for utilities.&lt;/p&gt;\n\n&lt;p&gt;CONFIG_YAFFS_WINCE&lt;/p&gt;\n\n&lt;p&gt;Set when compiling Yaffs for WinCE.&lt;/p&gt;\n\n&lt;p&gt;CONFIG_YAFFS_YAFFS2&lt;/p&gt;\n\n&lt;p&gt;Set when using Yaffs2 mode. At present this must always be set.&lt;/p&gt;\n\n&lt;p&gt;CONFIG_YAFFSFS_PROVIDE_VALUES&lt;/p&gt;\n\n&lt;p&gt;Used when compiling Yaffs Direct only.&lt;/p&gt;\n\n&lt;h3&gt;2 Tracing mechanism&lt;/h3&gt;\n\n&lt;p&gt;Yaffs has a lot of built in tracing to help debug and integrate. The tracing is controlled by yaffs_traceMask bitmask which allows various sets of tracing to be disabled or enabled at runtime.&lt;/p&gt;\n\n&lt;p&gt;The trace bits are specified in the yaffs_trace.h file.&lt;/p&gt;\n\n&lt;p&gt;The tracing mechanism has also been \'hijacked\' to provide a control mask for extra verification code when the YAFFS_TRACE_VERIFYxxx trace bits are selected.&lt;/p&gt;\n\n&lt;p&gt;The tracing mechanism is readily integrated into the system via printf-like statements. Tracing is all done through macros which allow the strings to be converted into unicode or similar if need be.&lt;/p&gt;\n\n&lt;h2&gt;3 Linux&lt;/h2&gt;\n\n&lt;h3&gt;3.1 Linux compile-time flags&lt;/h3&gt;\n\n&lt;p&gt;The Linux compile time flags are documented in the Kconfig file and will not be duplicated here.&lt;/p&gt;\n\n&lt;h3&gt;3.2 Linux: /proc/yaffs trace adjustment&lt;/h3&gt;\n\n&lt;p&gt;Under Linux, the tracing mechanism is hooked up to both the /proc/yaffs and the sys interface. The /proc/yaffs interface is very user friendly.&lt;/p&gt;\n\n&lt;p&gt;&lt;code&gt;#cat +os &gt; /proc/yaffs # Enables YAFFS_TRACE_OS&lt;br /&gt;\n#cat -all+gc &gt; /proc/yaffs # Disables everything then enable YAFFS_TRACE_GC&lt;br /&gt;\n#cat 0xf000 &gt; /proc/yaffs # Set trace mask to specified bitmask.&lt;/code&gt;&lt;/p&gt;\n\n&lt;h3&gt;3.3 Linux: /sys/ interface&lt;/h3&gt;\n\n&lt;p&gt;The Linux /sys/ interface is used by many Linux OS components to access the state of control variables. Some Yaffs variables are available via /sys/module/yaffs2/parameters/ *. Values can be read and modified using standard shell commands or from application programs.&lt;/p&gt;\n\n&lt;p&gt;&lt;code&gt;# ls /sys/module/yaffs2/parameters/ yaffs_auto_checkpoint yaffs_traceMask yaffs_wr_attempts&lt;br /&gt;\n# cat /sys/module/yaffs2/parameters/yaffs_auto_checkpoint 1&lt;br /&gt;\n# echo \"2\" &gt; /sys/module/yaffs2/parameters/yaffs_auto_checkpoint&lt;br /&gt;\n# cat /sys/module/yaffs2/parameters/yaffs_auto_checkpoint 2 &lt;/code&gt;&lt;/p&gt;\n\n&lt;p&gt;Yaffs currently supports the following variables:&lt;/p&gt;\n\n&lt;p&gt;yaffs_auto_checkpoint: Controls when checkpoints should be written.&lt;/p&gt;\n\n&lt;p&gt;yaffs_traceMask: An alternative, and less user friendly,interface to modify tracing.&lt;/p&gt;\n\n&lt;p&gt;yaffs_wr_attempts: The number of attempts that Yaffs will make to write a chunk.&lt;/p&gt;\n\n&lt;p&gt;yaffs_gc_control: Controls the garbage collector.&lt;/p&gt;\n\n&lt;h3&gt;3.4 Linux: /proc/yaffs state dumping&lt;/h3&gt;\n\n&lt;p&gt;Some of the state of Yaffs mounts can be determined by reading the /proc/yaffs entry.&lt;/p&gt;\n\n&lt;p&gt;&lt;code&gt;# cat /proc/yaffs&lt;br /&gt;\ncharles@charles-laptop:/opt/y/cvs/yaffs2$ cat /proc/yaffs&lt;br /&gt;\nYAFFS built:Mar 16 2010 11:52:25&lt;br /&gt;\n$Id: yaffs_fs.c,v 1.101 2010-03-15 22:27:15 charles Exp $&lt;br /&gt;\n$Id: yaffs_guts.c,v 1.119 2010-03-12 02:48:34 charles Exp $&lt;br /&gt;&lt;br /&gt;\nDevice 0 \"NAND simulator partition 0\" &lt;/code&gt;&lt;br /&gt;&lt;code&gt;startBlock......... 0&lt;br /&gt;\nendBlock........... 511&lt;br /&gt;\ntotalBytesPerChunk. 2048&lt;br /&gt;\nuseNANDECC......... 1&lt;br /&gt;\nnoTagsECC.......... 0&lt;br /&gt;\nisYaffs2........... 1&lt;br /&gt;\ninbandTags......... 0&lt;br /&gt;\nemptyLostAndFound.. 1&lt;br /&gt;\ndisableLazyLoad.... 0&lt;br /&gt;\nrefreshPeriod...... 10000&lt;br /&gt;\nnShortOpCaches..... 10&lt;br /&gt;\nnReservedBlocks.... 5&lt;br /&gt;&lt;br /&gt;\nnDataBytesPerChunk. 2048&lt;br /&gt;\nchunkGroupBits..... 0&lt;br /&gt;\nchunkGroupSize..... 1&lt;br /&gt;\nnErasedBlocks...... 152&lt;br /&gt;\nblocksInCheckpoint. 0&lt;br /&gt;&lt;br /&gt;\nnTnodesCreated..... 2300&lt;br /&gt;\nnFreeTnodes........ 1852&lt;br /&gt;\nnObjectsCreated.... 2300&lt;br /&gt;\nnFreeObjects....... 1842&lt;br /&gt;\nnFreeChunks........ 27843&lt;br /&gt;&lt;br /&gt;\nnPageWrites........ 65993&lt;br /&gt;\nnPageReads......... 19631&lt;br /&gt;\nnBlockErasures..... 1133&lt;br /&gt;\nnGCCopies.......... 37&lt;br /&gt;\ngarbageCollections. 161&lt;br /&gt;\npassiveGCs......... 137&lt;br /&gt;\nnRetriedWrites..... 0&lt;br /&gt;\nnRetireBlocks...... 0&lt;br /&gt;\neccFixed........... 0&lt;br /&gt;\neccUnfixed......... 0&lt;br /&gt;\ntagsEccFixed....... 0&lt;br /&gt;\ntagsEccUnfixed..... 0&lt;br /&gt;\ncacheHits.......... 44110&lt;br /&gt;\nnDeletedFiles...... 0&lt;br /&gt;\nnUnlinkedFiles..... 42917&lt;br /&gt;\nrefreshCount....... 1&lt;br /&gt;\nnBackgroudDeletions 0&lt;/code&gt;&lt;/p&gt;\n\n&lt;p&gt; &lt;/p&gt;\n\n&lt;h2&gt;4 Conclusions&lt;/h2&gt;\n\n&lt;p&gt;Yaffs includes many options for changing speed or memory use, with specific flags for the Yaffs Direct Interface as well as Linux. Under Linux many of the control variables can be altered using standard Linux systems.&lt;/p&gt;&lt;/div&gt;\n      </description>\n  <pubDate>Sun, 22 Jul 2012 19:23:42 +0000</pubDate>\n    <dc:creator>Admin</dc:creator>\n    <guid isPermaLink=\"false\">451 at https://yaffs.net</guid>\n    </item>\n\n  </channel>\n</rss>\n\";s:10:\"\0*\0version\";s:3:\"1.0\";s:13:\"\0*\0statusCode\";i:200;s:13:\"\0*\0statusText\";s:2:\"OK\";s:10:\"\0*\0charset\";N;s:23:\"\0*\0cacheabilityMetadata\";O:35:\"Drupal\\Core\\Cache\\CacheableMetadata\":3:{s:16:\"\0*\0cacheContexts\";a:7:{i:0;s:28:\"languages:language_interface\";i:1;s:5:\"theme\";i:2;s:8:\"timezone\";i:3;s:17:\"url.path.is_front\";i:4;s:8:\"url.site\";i:5;s:21:\"user.node_grants:view\";i:6;s:16:\"user.permissions\";}s:12:\"\0*\0cacheTags\";a:29:{i:0;s:31:\"config:filter.format.basic_html\";i:1;s:30:\"config:filter.format.full_html\";i:2;s:29:\"config:filter.format.raw_html\";i:3;s:32:\"config:image.style.max_1300x1300\";i:4;s:30:\"config:image.style.max_325x325\";i:5;s:30:\"config:image.style.max_650x650\";i:6;s:37:\"config:responsive_image.styles.narrow\";i:7;s:26:\"config:user.role.anonymous\";i:8;s:27:\"config:views.view.frontpage\";i:9;s:7:\"file:77\";i:10;s:7:\"file:80\";i:11;s:7:\"file:83\";i:12;s:7:\"file:85\";i:13;s:13:\"http_response\";i:14;s:8:\"node:347\";i:15;s:8:\"node:351\";i:16;s:8:\"node:451\";i:17;s:8:\"node:453\";i:18;s:8:\"node:454\";i:19;s:8:\"node:455\";i:20;s:8:\"node:466\";i:21;s:8:\"node:479\";i:22;s:8:\"node:502\";i:23;s:8:\"node:503\";i:24;s:9:\"node_list\";i:25;s:9:\"node_view\";i:26;s:6:\"user:1\";i:27;s:6:\"user:3\";i:28;s:6:\"user:4\";}s:14:\"\0*\0cacheMaxAge\";i:-1;}}',-1,1505408030.338,1,'config:filter.format.basic_html config:filter.format.full_html config:filter.format.raw_html config:image.style.max_1300x1300 config:image.style.max_325x325 config:image.style.max_650x650 config:responsive_image.styles.narrow config:user.role.anonymous config:views.view.frontpage file:77 file:80 file:83 file:85 http_response node:347 node:351 node:451 node:453 node:454 node:455 node:466 node:479 node:502 node:503 node_list node_view user:1 user:3 user:4','1147'),('https://yaffs.net/running-yaffs-direct-tests:html','O:31:\"Drupal\\Core\\Render\\HtmlResponse\":8:{s:7:\"headers\";O:50:\"Symfony\\Component\\HttpFoundation\\ResponseHeaderBag\":5:{s:23:\"\0*\0computedCacheControl\";a:2:{s:7:\"max-age\";s:3:\"300\";s:6:\"public\";b:1;}s:10:\"\0*\0cookies\";a:0:{}s:14:\"\0*\0headerNames\";a:14:{s:12:\"content-type\";s:12:\"Content-Type\";s:13:\"cache-control\";s:13:\"Cache-Control\";s:4:\"date\";s:4:\"Date\";s:22:\"x-drupal-dynamic-cache\";s:22:\"X-Drupal-Dynamic-Cache\";s:4:\"link\";s:4:\"Link\";s:15:\"x-ua-compatible\";s:15:\"X-UA-Compatible\";s:16:\"content-language\";s:16:\"Content-language\";s:22:\"x-content-type-options\";s:22:\"X-Content-Type-Options\";s:15:\"x-frame-options\";s:15:\"X-Frame-Options\";s:7:\"expires\";s:7:\"Expires\";s:13:\"last-modified\";s:13:\"Last-Modified\";s:4:\"etag\";s:4:\"ETag\";s:4:\"vary\";s:4:\"Vary\";s:11:\"x-generator\";s:11:\"X-Generator\";}s:10:\"\0*\0headers\";a:14:{s:12:\"content-type\";a:1:{i:0;s:24:\"text/html; charset=UTF-8\";}s:13:\"cache-control\";a:1:{i:0;s:19:\"max-age=300, public\";}s:4:\"date\";a:1:{i:0;s:29:\"Fri, 27 Oct 2017 01:25:30 GMT\";}s:22:\"x-drupal-dynamic-cache\";a:1:{i:0;s:4:\"MISS\";}s:4:\"link\";a:6:{i:0;s:46:\"</running-yaffs-direct-tests>; rel=\"canonical\"\";i:1;s:28:\"</node/454>; rel=\"shortlink\"\";i:2;s:45:\"</running-yaffs-direct-tests>; rel=\"revision\"\";i:3;s:108:\"</sites/default/files/css/css_YGKHk3qOgVcGqV_6s_kZUGJkGYQEouHb462Ja18qfRA.css?ovtedh>; rel=preload; as=style\";i:4;s:108:\"</sites/default/files/css/css_6qeLA6GBkZNPHWp9GdQIYovV3tYuKU-ts-HicZ-WeQQ.css?ovtedh>; rel=preload; as=style\";i:5;s:99:\"</sites/default/files/js/js_2l0lF4i9o3aztHULbfajMT_RTqGCEN_lVC8JI48SILw.js>; rel=preload; as=script\";}s:15:\"x-ua-compatible\";a:1:{i:0;s:7:\"IE=edge\";}s:16:\"content-language\";a:1:{i:0;s:2:\"en\";}s:22:\"x-content-type-options\";a:1:{i:0;s:7:\"nosniff\";}s:15:\"x-frame-options\";a:1:{i:0;s:10:\"SAMEORIGIN\";}s:7:\"expires\";a:1:{i:0;s:29:\"Sun, 19 Nov 1978 05:00:00 GMT\";}s:13:\"last-modified\";a:1:{i:0;s:29:\"Fri, 27 Oct 2017 01:25:30 GMT\";}s:4:\"etag\";a:1:{i:0;s:12:\"\"1509067530\"\";}s:4:\"vary\";a:1:{i:0;s:6:\"Cookie\";}s:11:\"x-generator\";a:1:{i:0;s:33:\"Drupal 8 (https://www.drupal.org)\";}}s:15:\"\0*\0cacheControl\";a:2:{s:7:\"max-age\";s:3:\"300\";s:6:\"public\";b:1;}}s:10:\"\0*\0content\";s:14395:\"<!DOCTYPE html>\n<html  lang=\"en\" dir=\"ltr\" prefix=\"content: http://purl.org/rss/1.0/modules/content/  dc: http://purl.org/dc/terms/  foaf: http://xmlns.com/foaf/0.1/  og: http://ogp.me/ns#  rdfs: http://www.w3.org/2000/01/rdf-schema#  schema: http://schema.org/  sioc: http://rdfs.org/sioc/ns#  sioct: http://rdfs.org/sioc/types#  skos: http://www.w3.org/2004/02/skos/core#  xsd: http://www.w3.org/2001/XMLSchema# \">\n  <head>\n    <meta charset=\"utf-8\" />\n<meta name=\"title\" content=\"Running Yaffs Direct Tests | Yaffs - A Flash File System for embedded use\" />\n<meta name=\"news_keywords\" content=\"Flash File System\" />\n<meta name=\"description\" content=\"This provides a outline to the various tests that are incorporated into Yaffs Direct. Most of these tests were written as debug tools to test error response by various Yaffs functions. These and others can be used to check if Yaffs is working properly.\" />\n<meta name=\"abstract\" content=\"Yaffs (Yet Another Flash File System) is an open-source file system specifically designed to be fast, robust and suitable for embedded use with NAND and NOR Flash. It is widely used with Linux, RTOSs, or no OS at all, in consumer devices and critical infrastructure. It is available under GNU Public License, GPL, or on commercial terms from Aleph One.\" />\n<meta name=\"keywords\" content=\"flash File System, flash, file System, flash storage, NAND flash, NOR flash, Yaffs\" />\n<meta name=\"Generator\" content=\"Drupal 8 (https://www.drupal.org)\" />\n<meta name=\"MobileOptimized\" content=\"width\" />\n<meta name=\"HandheldFriendly\" content=\"true\" />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansRegular-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBold-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBold-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBoldItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifRegular-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBoldItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"shortcut icon\" href=\"/sites/default/files/yaffs_favicon.png\" type=\"image/png\" />\n<link rel=\"canonical\" href=\"/running-yaffs-direct-tests\" />\n<link rel=\"shortlink\" href=\"/node/454\" />\n<link rel=\"revision\" href=\"/running-yaffs-direct-tests\" />\n\n    <title>Running Yaffs Direct Tests | Yaffs - A Flash File System for embedded use</title>\n    <link rel=\"stylesheet\" href=\"/sites/default/files/css/css_YGKHk3qOgVcGqV_6s_kZUGJkGYQEouHb462Ja18qfRA.css?ovtedh\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"/sites/default/files/css/css_6qeLA6GBkZNPHWp9GdQIYovV3tYuKU-ts-HicZ-WeQQ.css?ovtedh\" media=\"all\" />\n\n    \n<!--[if lte IE 8]>\n<script src=\"/sites/default/files/js/js_VtafjXmRvoUgAzqzYTA3Wrjkx9wcWhjP0G4ZnnqRamA.js\"></script>\n<![endif]-->\n\n  </head>\n  <body class=\"fontyourface path-node page-node-type-article navbar-is-fixed-top has-glyphicons\">\n    <a href=\"#main-content\" class=\"visually-hidden focusable skip-link\">\n      Skip to main content\n    </a>\n    <div style=\"background-color: ; color: \" id=\"environment-indicator\">\n  \n    </div>\n\n              <header class=\"navbar navbar-default navbar-fixed-top\" id=\"navbar\" role=\"banner\">\n              <div class=\"container\">\n            <div class=\"navbar-header\">\n          <div class=\"region region-navigation\">\n          <a class=\"logo navbar-btn pull-left\" href=\"/\" title=\"Home\" rel=\"home\">\n      <img src=\"/themes/custom/yaffs/logo.svg\" alt=\"Home\" />\n    </a>\n      \n  </div>\n\n                          <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar-collapse\">\n            <span class=\"sr-only\">Toggle navigation</span>\n            <span class=\"icon-bar\"></span>\n            <span class=\"icon-bar\"></span>\n            <span class=\"icon-bar\"></span>\n          </button>\n              </div>\n\n                    <div id=\"navbar-collapse\" class=\"navbar-collapse collapse\">\n            <div class=\"region region-navigation-collapsible\">\n    <nav role=\"navigation\" aria-labelledby=\"block-mainnavigation-menu\" id=\"block-mainnavigation\">\n            <h2 class=\"sr-only\" id=\"block-mainnavigation-menu\">Main navigation</h2>\n\n      \n              <ul class=\"menu nav navbar-nav\">\n                            <li>\n        <a href=\"/\" data-drupal-link-system-path=\"&lt;front&gt;\">Home</a>\n                  </li>\n                        <li>\n        <a href=\"/support\" title=\"Help for Yaffs\" data-drupal-link-system-path=\"node/380\">Support</a>\n                  </li>\n                        <li>\n        <a href=\"/documents\" data-drupal-link-system-path=\"documents\">Documents</a>\n                  </li>\n                        <li>\n        <a href=\"/get-yaffs\" data-drupal-link-system-path=\"node/382\">Download</a>\n                  </li>\n                        <li>\n        <a href=\"/about-us\" data-drupal-link-system-path=\"node/325\">About us</a>\n                  </li>\n                        <li>\n        <a href=\"/contact\" data-drupal-link-system-path=\"node/73\">Contact</a>\n                  </li>\n        </ul>\n  \n\n\n  </nav>\n<div class=\"search-block-form block block-search block-search-form-block\" data-drupal-selector=\"search-block-form\" id=\"block-searchform\" role=\"search\">\n  \n    \n      <form action=\"/search/node\" method=\"get\" id=\"search-block-form\" accept-charset=\"UTF-8\">\n  <div class=\"form-item js-form-item form-type-search js-form-type-search form-item-keys js-form-item-keys form-no-label form-group\">\n      <label for=\"edit-keys\" class=\"control-label sr-only\">Search</label>\n  \n  \n  <div class=\"input-group\"><input title=\"Enter the terms you wish to search for.\" data-drupal-selector=\"edit-keys\" class=\"form-search form-control\" placeholder=\"Search\" type=\"search\" id=\"edit-keys\" name=\"keys\" value=\"\" size=\"15\" maxlength=\"128\" data-toggle=\"tooltip\" /><span class=\"input-group-btn\"><button type=\"submit\" value=\"Search\" class=\"button js-form-submit form-submit btn-primary btn icon-only\" name=\"\"><span class=\"sr-only\">Search</span><span class=\"icon glyphicon glyphicon-search\" aria-hidden=\"true\"></span></button></span></div>\n\n  \n  \n  </div>\n<div class=\"form-actions form-group js-form-wrapper form-wrapper\" data-drupal-selector=\"edit-actions\" id=\"edit-actions\"></div>\n\n</form>\n\n  </div>\n\n  </div>\n\n        </div>\n                    </div>\n          </header>\n  \n  <div role=\"main\" class=\"main-container container js-quickedit-main-content\">\n    <div class=\"row\">\n\n            \n            \n                  <section class=\"col-sm-12\">\n\n                                      <div class=\"highlighted\">  <div class=\"region region-highlighted\">\n      \n\n\n  </div>\n</div>\n                  \n                \n                \n                                      \n                  \n                          <a id=\"main-content\"></a>\n            <div class=\"region region-content\">\n        <h1 class=\"page-header\"><span property=\"schema:name\">Running Yaffs Direct Tests</span>\n</h1>\n\n  <article role=\"article\" about=\"/running-yaffs-direct-tests\" typeof=\"schema:Article\" class=\"article is-promoted full clearfix\">\n\n  \n      <span property=\"schema:name\" content=\"Running Yaffs Direct Tests\" class=\"hidden\"></span>\n\n\n  \n  <div class=\"content\">\n    \n      <div class=\"field field--name-upload field--type-file field--label-hidden field--items\">\n              <div class=\"field--item\"><span class=\"file file--mime-application-pdf file--application-pdf icon-before\"><span class=\"file-icon\"><span class=\"icon glyphicon glyphicon-file text-primary\" aria-hidden=\"true\"></span></span><span class=\"file-link\"><a href=\"https://yaffs.net/sites/default/files/downloads/YaffsDirectTests.pdf\" type=\"application/pdf; length=53457\" title=\"Open file in new window\" target=\"_blank\" data-toggle=\"tooltip\" data-placement=\"bottom\">YaffsDirectTests.pdf</a></span><span class=\"file-size\">52.2 KB</span></span></div>\n          </div>\n  \n            <div property=\"schema:text\" class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<p>&nbsp;</p>\n<h2>1 Background</h2>\n<p>This document is intended to provide a outline to the various tests that are incorporated into Yaffs Direct. Most of these tests were written as debug tools to test error response by various Yaffs functions. These and others can be used to check if Yaffs is working properly.</p>\n<h2>2 Running the tests</h2>\n<p>All of the test directories should have a Makefile. Run it to compile the test. The Readme.txt file should tell you how to run the tests.</p>\n<h2>3 Tests</h2>\n<ul>\n<li>\n<p>is_yaffs_working_tests folder contains a the tests related to simply seeing if yaffs is working. There is only one test at the moment, test_1_yaffs_mount.c, which tests if yaffs will mount, create a file and be able to read the file after remounting.</p>\n </li>\n<li>\n<p>stress_tester folder contains yaffs_tester.c which stress tests yaffs by opening and closing files at random. This test will run forever (or until it crashes).</p>\n </li>\n<li>\n<p>handle_tests folder contains the test handle_tests.c which just creates files and duplicates the file handle.</p>\n </li>\n<li>\n<p>The yaffs_and_linux_mirror_tests folder runs a yaffs operation and then compares the response the same command run under linux. This test is used to check that yaffs responds in expected manner with respect to linux.</p>\n </li>\n<li>\n<p>quick_tests folder contains the quick_test which tests almost all of yaffs functions\' error handling and error codes.</p>\n </li>\n<li>\n<p>The threading folder contains the test_threading.c which tests the thread locking ability of yaffs.</p>\n </li>\n</ul>\n<p>&nbsp;</p>\n<p>The folder linux_tests contains the linux_test.c test which tests yaffs running under linux using the nandsim generator. &nbsp;</p>\n</div>\n      \n  </div>\n\n</article>\n\n\n  </div>\n\n              </section>\n\n                </div>\n  </div>\n\n      <footer class=\"footer container\" role=\"contentinfo\">\n        <div class=\"primary_footer row\">\n            <div class=\"col-sm-3\">\n                  <div class=\"region region-footer-col1\">\n    <section id=\"block-yaffs-block-6\" class=\"block block-block-content block-block-content6c2d4b45-4dba-4b2d-8b9f-76701bf27533 clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<ul class=\"fa-ul\">\n<li><i class=\"fa-li fa fa-phone\"></i>+44 (0)1223 811679</li>\n<li><i class=\"fa-li fa fa-envelope\"></i><a href=\"denied:mailto:info@aleph1.co.uk?Subject=Website contact\" target=\"_top\">info@aleph1.co.uk</a></li>\n</ul>\n</div>\n      \n  </section>\n\n\n  </div>\n\n            </div>\n            <div class=\"col-sm-3\">\n                \n            </div>\n            <div class=\"col-sm-3\">\n                \n            </div>\n            <div class=\"col-sm-3\">\n                  <div class=\"region region-footer-col4\">\n    <section id=\"block-footerlegal\" class=\"block block-block-content block-block-content78ab593d-35b6-4772-a141-30216e7fcbb2 clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<p class=\"text-align-right\">&nbsp;<a href=\"/legal\">Legal &amp; Cookies</a></p>\n</div>\n      \n  </section>\n\n<section id=\"block-cookieinfo\" class=\"block block-block-content block-block-content4848c58d-90df-4819-81d8-0f9568eeeaac clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<p class=\"text-align-justify\"><br />\nWe use <a href=\"/legal\">cookies on this site</a>. By using it, you are giving us consent to set cookies.</p>\n</div>\n      \n  </section>\n\n\n  </div>\n\n            </div>\n        </div>\n        <div class = \"secondary_footer row\">\n            <div class=\"col-sm-12\">\n                <div class=\"region region-footer\">\n    <nav role=\"navigation\" aria-labelledby=\"block-yaffs-account-menu-menu\" id=\"block-yaffs-account-menu\">\n            <h2 class=\"sr-only\" id=\"block-yaffs-account-menu-menu\">User account menu</h2>\n\n      \n              <ul class=\"menu nav navbar-nav navbar-right\">\n                            <li>\n        <a href=\"/user/login\" data-drupal-link-system-path=\"user/login\">Log in</a>\n                  </li>\n        </ul>\n  \n\n\n  </nav>\n\n  </div>\n\n            </div>\n        </div>\n    </footer>\n  \n    \n    <script type=\"application/json\" data-drupal-selector=\"drupal-settings-json\">{\"path\":{\"baseUrl\":\"\\/\",\"scriptPath\":null,\"pathPrefix\":\"\",\"currentPath\":\"node\\/454\",\"currentPathIsAdmin\":false,\"isFront\":false,\"currentLanguage\":\"en\"},\"pluralDelimiter\":\"\\u0003\",\"bootstrap\":{\"forms_has_error_value_toggle\":1,\"modal_animation\":1,\"modal_backdrop\":\"true\",\"modal_keyboard\":1,\"modal_show\":1,\"modal_size\":\"\",\"popover_enabled\":1,\"popover_animation\":1,\"popover_container\":\"body\",\"popover_content\":\"\",\"popover_delay\":\"0\",\"popover_html\":0,\"popover_placement\":\"right\",\"popover_selector\":\"\",\"popover_title\":\"\",\"popover_trigger\":\"click\",\"popover_trigger_autoclose\":1,\"tooltip_enabled\":1,\"tooltip_animation\":1,\"tooltip_container\":\"body\",\"tooltip_delay\":\"0\",\"tooltip_html\":0,\"tooltip_placement\":\"auto left\",\"tooltip_selector\":\"\",\"tooltip_trigger\":\"hover\"},\"ajaxTrustedUrl\":{\"\\/search\\/node\":true},\"user\":{\"uid\":0,\"permissionsHash\":\"aa7fc4c8fb40c7a8665ccd12fea07926dff0f59b9ee3346bc513c6399bee5b01\"}}</script>\n<script src=\"/sites/default/files/js/js_2l0lF4i9o3aztHULbfajMT_RTqGCEN_lVC8JI48SILw.js\"></script>\n\n  </body>\n</html>\n\";s:10:\"\0*\0version\";s:3:\"1.0\";s:13:\"\0*\0statusCode\";i:200;s:13:\"\0*\0statusText\";s:2:\"OK\";s:10:\"\0*\0charset\";N;s:23:\"\0*\0cacheabilityMetadata\";O:35:\"Drupal\\Core\\Cache\\CacheableMetadata\":3:{s:16:\"\0*\0cacheContexts\";a:18:{i:0;s:28:\"languages:language_interface\";i:1;s:5:\"route\";i:2;s:32:\"route.menu_active_trails:account\";i:3;s:29:\"route.menu_active_trails:main\";i:4;s:30:\"route.menu_active_trails:tools\";i:5;s:5:\"theme\";i:6;s:8:\"timezone\";i:7;s:3:\"url\";i:8;s:8:\"url.path\";i:9;s:17:\"url.path.is_front\";i:10;s:15:\"url.path.parent\";i:11;s:30:\"url.query_args:_wrapper_format\";i:12;s:4:\"user\";i:13;s:21:\"user.node_grants:view\";i:14;s:16:\"user.permissions\";i:15;s:10:\"user.roles\";i:16;s:20:\"user.roles:anonymous\";i:17;s:24:\"user.roles:authenticated\";}s:12:\"\0*\0cacheTags\";a:51:{i:0;s:16:\"block_content:18\";i:1;s:16:\"block_content:23\";i:2;s:15:\"block_content:7\";i:3;s:18:\"block_content_view\";i:4;s:10:\"block_view\";i:5;s:32:\"config:block.block.choosingyaffs\";i:6;s:29:\"config:block.block.cookieinfo\";i:7;s:32:\"config:block.block.downloadyaffs\";i:8;s:30:\"config:block.block.footerlegal\";i:9;s:39:\"config:block.block.frontimagehighlight2\";i:10;s:32:\"config:block.block.frontpagehero\";i:11;s:39:\"config:block.block.frontpageprimeryaffs\";i:12;s:33:\"config:block.block.mainnavigation\";i:13;s:35:\"config:block.block.mainnavigation_2\";i:14;s:29:\"config:block.block.searchform\";i:15;s:31:\"config:block.block.sitebranding\";i:16;s:66:\"config:block.block.views_block__highlighted_yaffs_features_block_1\";i:17;s:66:\"config:block.block.views_block__yaffs_admin_recent_content_block_1\";i:18;s:66:\"config:block.block.views_block__yaffs_documents_highlights_block_1\";i:19;s:56:\"config:block.block.views_block__yaffs_user_logos_block_1\";i:20;s:37:\"config:block.block.yaffs_account_menu\";i:21;s:33:\"config:block.block.yaffs_block_10\";i:22;s:32:\"config:block.block.yaffs_block_5\";i:23;s:32:\"config:block.block.yaffs_block_6\";i:24;s:32:\"config:block.block.yaffs_block_8\";i:25;s:32:\"config:block.block.yaffs_block_9\";i:26;s:36:\"config:block.block.yaffs_breadcrumbs\";i:27;s:32:\"config:block.block.yaffs_content\";i:28;s:29:\"config:block.block.yaffs_help\";i:29;s:36:\"config:block.block.yaffs_local_tasks\";i:30;s:33:\"config:block.block.yaffs_messages\";i:31;s:35:\"config:block.block.yaffs_page_title\";i:32;s:32:\"config:block.block.yaffs_user_21\";i:33;s:31:\"config:block.block.yaffsinspace\";i:34;s:17:\"config:block_list\";i:35;s:24:\"config:color.theme.yaffs\";i:36;s:30:\"config:filter.format.full_html\";i:37;s:29:\"config:filter.format.raw_html\";i:38;s:22:\"config:search.settings\";i:39;s:26:\"config:system.menu.account\";i:40;s:23:\"config:system.menu.main\";i:41;s:24:\"config:system.menu.tools\";i:42;s:18:\"config:system.site\";i:43;s:26:\"config:user.role.anonymous\";i:44;s:7:\"file:82\";i:45;s:13:\"http_response\";i:46;s:8:\"node:454\";i:47;s:9:\"node_view\";i:48;s:8:\"rendered\";i:49;s:6:\"user:0\";i:50;s:6:\"user:1\";}s:14:\"\0*\0cacheMaxAge\";i:-1;}s:14:\"\0*\0attachments\";a:5:{s:7:\"library\";a:9:{i:0;s:14:\"core/html5shiv\";i:1;s:11:\"system/base\";i:2;s:15:\"bootstrap/theme\";i:3;s:20:\"yaffs/global-styling\";i:4;s:23:\"yaffs/bootstrap-scripts\";i:5;s:19:\"yaffs/yaffs-helpers\";i:6;s:17:\"bootstrap/popover\";i:7;s:17:\"bootstrap/tooltip\";i:8;s:50:\"environment_indicator/drupal.environment_indicator\";}s:9:\"html_head\";a:22:{i:0;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:5:\"title\";s:7:\"content\";s:73:\"Running Yaffs Direct Tests | Yaffs - A Flash File System for embedded use\";}}i:1;s:5:\"title\";}i:1;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:13:\"news_keywords\";s:7:\"content\";s:17:\"Flash File System\";}}i:1;s:13:\"news_keywords\";}i:2;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:11:\"description\";s:7:\"content\";s:252:\"This provides a outline to the various tests that are incorporated into Yaffs Direct. Most of these tests were written as debug tools to test error response by various Yaffs functions. These and others can be used to check if Yaffs is working properly.\";}}i:1;s:11:\"description\";}i:3;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:8:\"abstract\";s:7:\"content\";s:352:\"Yaffs (Yet Another Flash File System) is an open-source file system specifically designed to be fast, robust and suitable for embedded use with NAND and NOR Flash. It is widely used with Linux, RTOSs, or no OS at all, in consumer devices and critical infrastructure. It is available under GNU Public License, GPL, or on commercial terms from Aleph One.\";}}i:1;s:8:\"abstract\";}i:4;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:8:\"keywords\";s:7:\"content\";s:82:\"flash File System, flash, file System, flash storage, NAND flash, NOR flash, Yaffs\";}}i:1;s:8:\"keywords\";}i:5;a:2:{i:0;a:3:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:1:{s:7:\"charset\";s:5:\"utf-8\";}s:7:\"#weight\";i:-1000;}i:1;s:24:\"system_meta_content_type\";}i:6;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:9:\"Generator\";s:7:\"content\";s:33:\"Drupal 8 (https://www.drupal.org)\";}}i:1;s:21:\"system_meta_generator\";}i:7;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:15:\"MobileOptimized\";s:7:\"content\";s:5:\"width\";}}i:1;s:15:\"MobileOptimized\";}i:8;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:16:\"HandheldFriendly\";s:7:\"content\";s:4:\"true\";}}i:1;s:16:\"HandheldFriendly\";}i:9;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:8:\"viewport\";s:7:\"content\";s:37:\"width=device-width, initial-scale=1.0\";}}i:1;s:8:\"viewport\";}i:10;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:125:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansRegular-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1151\";}i:11;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:124:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1152\";}i:12;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:122:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBold-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1153\";}i:13;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:123:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBold-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1149\";}i:14;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:129:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBoldItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1150\";}i:15;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:125:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1148\";}i:16;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:126:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifRegular-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1147\";}i:17;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:128:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBoldItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1154\";}i:18;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:13:\"shortcut icon\";s:4:\"href\";s:38:\"/sites/default/files/yaffs_favicon.png\";s:4:\"type\";s:9:\"image/png\";}}i:1;s:67:\"html_head_link:shortcut icon:/sites/default/files/yaffs_favicon.png\";}i:19;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:2:{s:3:\"rel\";s:9:\"canonical\";s:4:\"href\";s:27:\"/running-yaffs-direct-tests\";}}i:1;s:52:\"html_head_link:canonical:/running-yaffs-direct-tests\";}i:20;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:2:{s:3:\"rel\";s:9:\"shortlink\";s:4:\"href\";s:9:\"/node/454\";}}i:1;s:34:\"html_head_link:shortlink:/node/454\";}i:21;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:2:{s:3:\"rel\";s:8:\"revision\";s:4:\"href\";s:27:\"/running-yaffs-direct-tests\";}}i:1;s:51:\"html_head_link:revision:/running-yaffs-direct-tests\";}}s:12:\"placeholders\";a:0:{}s:14:\"drupalSettings\";a:5:{s:4:\"path\";a:7:{s:7:\"baseUrl\";s:1:\"/\";s:10:\"scriptPath\";N;s:10:\"pathPrefix\";s:0:\"\";s:11:\"currentPath\";s:8:\"node/454\";s:18:\"currentPathIsAdmin\";b:0;s:7:\"isFront\";b:0;s:15:\"currentLanguage\";s:2:\"en\";}s:15:\"pluralDelimiter\";s:1:\"\";s:9:\"bootstrap\";a:25:{s:28:\"forms_has_error_value_toggle\";i:1;s:15:\"modal_animation\";i:1;s:14:\"modal_backdrop\";s:4:\"true\";s:14:\"modal_keyboard\";i:1;s:10:\"modal_show\";i:1;s:10:\"modal_size\";s:0:\"\";s:15:\"popover_enabled\";i:1;s:17:\"popover_animation\";i:1;s:17:\"popover_container\";s:4:\"body\";s:15:\"popover_content\";s:0:\"\";s:13:\"popover_delay\";s:1:\"0\";s:12:\"popover_html\";i:0;s:17:\"popover_placement\";s:5:\"right\";s:16:\"popover_selector\";s:0:\"\";s:13:\"popover_title\";s:0:\"\";s:15:\"popover_trigger\";s:5:\"click\";s:25:\"popover_trigger_autoclose\";i:1;s:15:\"tooltip_enabled\";i:1;s:17:\"tooltip_animation\";i:1;s:17:\"tooltip_container\";s:4:\"body\";s:13:\"tooltip_delay\";s:1:\"0\";s:12:\"tooltip_html\";i:0;s:17:\"tooltip_placement\";s:9:\"auto left\";s:16:\"tooltip_selector\";s:0:\"\";s:15:\"tooltip_trigger\";s:5:\"hover\";}s:14:\"ajaxTrustedUrl\";a:1:{s:12:\"/search/node\";b:1;}s:4:\"user\";a:2:{s:3:\"uid\";i:0;s:15:\"permissionsHash\";s:64:\"aa7fc4c8fb40c7a8665ccd12fea07926dff0f59b9ee3346bc513c6399bee5b01\";}}s:11:\"http_header\";a:3:{i:0;a:3:{i:0;s:4:\"Link\";i:1;s:46:\"</running-yaffs-direct-tests>; rel=\"canonical\"\";i:2;b:0;}i:1;a:3:{i:0;s:4:\"Link\";i:1;s:28:\"</node/454>; rel=\"shortlink\"\";i:2;b:0;}i:2;a:3:{i:0;s:4:\"Link\";i:1;s:45:\"</running-yaffs-direct-tests>; rel=\"revision\"\";i:2;b:0;}}}}',-1,1509067530.214,1,'block_content:18 block_content:23 block_content:7 block_content_view block_view config:block.block.choosingyaffs config:block.block.cookieinfo config:block.block.downloadyaffs config:block.block.footerlegal config:block.block.frontimagehighlight2 config:block.block.frontpagehero config:block.block.frontpageprimeryaffs config:block.block.mainnavigation config:block.block.mainnavigation_2 config:block.block.searchform config:block.block.sitebranding config:block.block.views_block__highlighted_yaffs_features_block_1 config:block.block.views_block__yaffs_admin_recent_content_block_1 config:block.block.views_block__yaffs_documents_highlights_block_1 config:block.block.views_block__yaffs_user_logos_block_1 config:block.block.yaffs_account_menu config:block.block.yaffs_block_10 config:block.block.yaffs_block_5 config:block.block.yaffs_block_6 config:block.block.yaffs_block_8 config:block.block.yaffs_block_9 config:block.block.yaffs_breadcrumbs config:block.block.yaffs_content config:block.block.yaffs_help config:block.block.yaffs_local_tasks config:block.block.yaffs_messages config:block.block.yaffs_page_title config:block.block.yaffs_user_21 config:block.block.yaffsinspace config:block_list config:color.theme.yaffs config:filter.format.full_html config:filter.format.raw_html config:search.settings config:system.menu.account config:system.menu.main config:system.menu.tools config:system.site config:user.role.anonymous file:82 http_response node:454 node_view rendered user:0 user:1','3157'),('https://yaffs.net/search/node:html','O:31:\"Drupal\\Core\\Render\\HtmlResponse\":8:{s:7:\"headers\";O:50:\"Symfony\\Component\\HttpFoundation\\ResponseHeaderBag\":5:{s:23:\"\0*\0computedCacheControl\";a:2:{s:7:\"max-age\";s:3:\"300\";s:6:\"public\";b:1;}s:10:\"\0*\0cookies\";a:0:{}s:14:\"\0*\0headerNames\";a:14:{s:12:\"content-type\";s:12:\"Content-Type\";s:13:\"cache-control\";s:13:\"Cache-Control\";s:4:\"date\";s:4:\"Date\";s:22:\"x-drupal-dynamic-cache\";s:22:\"X-Drupal-Dynamic-Cache\";s:4:\"link\";s:4:\"Link\";s:15:\"x-ua-compatible\";s:15:\"X-UA-Compatible\";s:16:\"content-language\";s:16:\"Content-language\";s:22:\"x-content-type-options\";s:22:\"X-Content-Type-Options\";s:15:\"x-frame-options\";s:15:\"X-Frame-Options\";s:7:\"expires\";s:7:\"Expires\";s:13:\"last-modified\";s:13:\"Last-Modified\";s:4:\"etag\";s:4:\"ETag\";s:4:\"vary\";s:4:\"Vary\";s:11:\"x-generator\";s:11:\"X-Generator\";}s:10:\"\0*\0headers\";a:14:{s:12:\"content-type\";a:1:{i:0;s:24:\"text/html; charset=UTF-8\";}s:13:\"cache-control\";a:1:{i:0;s:19:\"max-age=300, public\";}s:4:\"date\";a:1:{i:0;s:29:\"Thu, 02 Nov 2017 08:31:23 GMT\";}s:22:\"x-drupal-dynamic-cache\";a:1:{i:0;s:4:\"MISS\";}s:4:\"link\";a:3:{i:0;s:108:\"</sites/default/files/css/css_YGKHk3qOgVcGqV_6s_kZUGJkGYQEouHb462Ja18qfRA.css?ovtedh>; rel=preload; as=style\";i:1;s:108:\"</sites/default/files/css/css_6qeLA6GBkZNPHWp9GdQIYovV3tYuKU-ts-HicZ-WeQQ.css?ovtedh>; rel=preload; as=style\";i:2;s:99:\"</sites/default/files/js/js_2l0lF4i9o3aztHULbfajMT_RTqGCEN_lVC8JI48SILw.js>; rel=preload; as=script\";}s:15:\"x-ua-compatible\";a:1:{i:0;s:7:\"IE=edge\";}s:16:\"content-language\";a:1:{i:0;s:2:\"en\";}s:22:\"x-content-type-options\";a:1:{i:0;s:7:\"nosniff\";}s:15:\"x-frame-options\";a:1:{i:0;s:10:\"SAMEORIGIN\";}s:7:\"expires\";a:1:{i:0;s:29:\"Sun, 19 Nov 1978 05:00:00 GMT\";}s:13:\"last-modified\";a:1:{i:0;s:29:\"Thu, 02 Nov 2017 08:31:22 GMT\";}s:4:\"etag\";a:1:{i:0;s:12:\"\"1509611482\"\";}s:4:\"vary\";a:1:{i:0;s:6:\"Cookie\";}s:11:\"x-generator\";a:1:{i:0;s:33:\"Drupal 8 (https://www.drupal.org)\";}}s:15:\"\0*\0cacheControl\";a:2:{s:7:\"max-age\";s:3:\"300\";s:6:\"public\";b:1;}}s:10:\"\0*\0content\";s:13156:\"<!DOCTYPE html>\n<html  lang=\"en\" dir=\"ltr\" prefix=\"content: http://purl.org/rss/1.0/modules/content/  dc: http://purl.org/dc/terms/  foaf: http://xmlns.com/foaf/0.1/  og: http://ogp.me/ns#  rdfs: http://www.w3.org/2000/01/rdf-schema#  schema: http://schema.org/  sioc: http://rdfs.org/sioc/ns#  sioct: http://rdfs.org/sioc/types#  skos: http://www.w3.org/2004/02/skos/core#  xsd: http://www.w3.org/2001/XMLSchema# \">\n  <head>\n    <meta charset=\"utf-8\" />\n<meta name=\"title\" content=\"Search | Yaffs - A Flash File System for embedded use\" />\n<meta name=\"news_keywords\" content=\"Flash File System\" />\n<meta name=\"description\" content=\"Yaffs (Yet Another Flash File System) is an open-source file system specifically designed to be fast, robust and suitable for embedded use with NAND and NOR Flash. It is widely used with Linux, RTOSs, or no OS at all, in consumer devices and critical infrastructure. It is available under GNU Public License, GPL, or on commercial terms from Aleph One.\" />\n<meta name=\"abstract\" content=\"Yaffs (Yet Another Flash File System) is an open-source file system specifically designed to be fast, robust and suitable for embedded use with NAND and NOR Flash. It is widely used with Linux, RTOSs, or no OS at all, in consumer devices and critical infrastructure. It is available under GNU Public License, GPL, or on commercial terms from Aleph One.\" />\n<meta name=\"keywords\" content=\"flash File System, flash, file System, flash storage, NAND flash, NOR flash, Yaffs\" />\n<meta name=\"Generator\" content=\"Drupal 8 (https://www.drupal.org)\" />\n<meta name=\"MobileOptimized\" content=\"width\" />\n<meta name=\"HandheldFriendly\" content=\"true\" />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansRegular-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBold-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBold-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBoldItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifRegular-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBoldItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"shortcut icon\" href=\"/sites/default/files/yaffs_favicon.png\" type=\"image/png\" />\n\n    <title>Search | Yaffs - A Flash File System for embedded use</title>\n    <link rel=\"stylesheet\" href=\"/sites/default/files/css/css_YGKHk3qOgVcGqV_6s_kZUGJkGYQEouHb462Ja18qfRA.css?ovtedh\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"/sites/default/files/css/css_6qeLA6GBkZNPHWp9GdQIYovV3tYuKU-ts-HicZ-WeQQ.css?ovtedh\" media=\"all\" />\n\n    \n<!--[if lte IE 8]>\n<script src=\"/sites/default/files/js/js_VtafjXmRvoUgAzqzYTA3Wrjkx9wcWhjP0G4ZnnqRamA.js\"></script>\n<![endif]-->\n\n  </head>\n  <body class=\"fontyourface path-search navbar-is-fixed-top has-glyphicons\">\n    <a href=\"#main-content\" class=\"visually-hidden focusable skip-link\">\n      Skip to main content\n    </a>\n    <div style=\"background-color: ; color: \" id=\"environment-indicator\">\n  \n    </div>\n\n              <header class=\"navbar navbar-default navbar-fixed-top\" id=\"navbar\" role=\"banner\">\n              <div class=\"container\">\n            <div class=\"navbar-header\">\n          <div class=\"region region-navigation\">\n          <a class=\"logo navbar-btn pull-left\" href=\"/\" title=\"Home\" rel=\"home\">\n      <img src=\"/themes/custom/yaffs/logo.svg\" alt=\"Home\" />\n    </a>\n      \n  </div>\n\n                          <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar-collapse\">\n            <span class=\"sr-only\">Toggle navigation</span>\n            <span class=\"icon-bar\"></span>\n            <span class=\"icon-bar\"></span>\n            <span class=\"icon-bar\"></span>\n          </button>\n              </div>\n\n                    <div id=\"navbar-collapse\" class=\"navbar-collapse collapse\">\n            <div class=\"region region-navigation-collapsible\">\n    <nav role=\"navigation\" aria-labelledby=\"block-mainnavigation-menu\" id=\"block-mainnavigation\">\n            <h2 class=\"sr-only\" id=\"block-mainnavigation-menu\">Main navigation</h2>\n\n      \n              <ul class=\"menu nav navbar-nav\">\n                            <li>\n        <a href=\"/\" data-drupal-link-system-path=\"&lt;front&gt;\">Home</a>\n                  </li>\n                        <li>\n        <a href=\"/support\" title=\"Help for Yaffs\" data-drupal-link-system-path=\"node/380\">Support</a>\n                  </li>\n                        <li>\n        <a href=\"/documents\" data-drupal-link-system-path=\"documents\">Documents</a>\n                  </li>\n                        <li>\n        <a href=\"/get-yaffs\" data-drupal-link-system-path=\"node/382\">Download</a>\n                  </li>\n                        <li>\n        <a href=\"/about-us\" data-drupal-link-system-path=\"node/325\">About us</a>\n                  </li>\n                        <li>\n        <a href=\"/contact\" data-drupal-link-system-path=\"node/73\">Contact</a>\n                  </li>\n        </ul>\n  \n\n\n  </nav>\n<div class=\"search-block-form block block-search block-search-form-block\" data-drupal-selector=\"search-block-form\" id=\"block-searchform\" role=\"search\">\n  \n    \n      <form action=\"/search/node\" method=\"get\" id=\"search-block-form\" accept-charset=\"UTF-8\">\n  <div class=\"form-item js-form-item form-type-search js-form-type-search form-item-keys js-form-item-keys form-no-label form-group\">\n      <label for=\"edit-keys\" class=\"control-label sr-only\">Search</label>\n  \n  \n  <div class=\"input-group\"><input title=\"Enter the terms you wish to search for.\" data-drupal-selector=\"edit-keys\" class=\"form-search form-control\" placeholder=\"Search\" type=\"search\" id=\"edit-keys\" name=\"keys\" value=\"\" size=\"15\" maxlength=\"128\" data-toggle=\"tooltip\" /><span class=\"input-group-btn\"><button type=\"submit\" value=\"Search\" class=\"button js-form-submit form-submit btn-primary btn icon-only\" name=\"\"><span class=\"sr-only\">Search</span><span class=\"icon glyphicon glyphicon-search\" aria-hidden=\"true\"></span></button></span></div>\n\n  \n  \n  </div>\n<div class=\"form-actions form-group js-form-wrapper form-wrapper\" data-drupal-selector=\"edit-actions\" id=\"edit-actions\"></div>\n\n</form>\n\n  </div>\n\n  </div>\n\n        </div>\n                    </div>\n          </header>\n  \n  <div role=\"main\" class=\"main-container container js-quickedit-main-content\">\n    <div class=\"row\">\n\n            \n            \n                  <section class=\"col-sm-12\">\n\n                                      <div class=\"highlighted\">  <div class=\"region region-highlighted\">\n        <ol class=\"breadcrumb\">\n          <li >\n                  <a href=\"/search\">Search</a>\n              </li>\n          <li  class=\"active\">\n                  Search\n              </li>\n      </ol>\n\n\n\n  </div>\n</div>\n                  \n                \n                \n                                      \n                  \n                          <a id=\"main-content\"></a>\n            <div class=\"region region-content\">\n        <h1 class=\"page-header\">Search</h1>\n\n  <form class=\"search-form search-page-form\" data-drupal-selector=\"search-form\" action=\"/search/node\" method=\"post\" id=\"search-form\" accept-charset=\"UTF-8\">\n  <div class=\"form-group js-form-wrapper form-wrapper\" data-drupal-selector=\"edit-basic\" id=\"edit-basic\"><div class=\"form-item js-form-item form-type-search js-form-type-search form-item-keys js-form-item-keys form-no-label form-group\">\n      <label for=\"edit-keys\" class=\"control-label sr-only\">Enter your keywords</label>\n  \n  \n  <div class=\"input-group\"><input data-drupal-selector=\"edit-keys\" class=\"form-search form-control\" placeholder=\"Enter your keywords\" type=\"search\" id=\"edit-keys\" name=\"keys\" value=\"\" size=\"30\" maxlength=\"255\" title=\"Enter the terms you wish to search for.\" data-toggle=\"tooltip\" /><span class=\"input-group-btn\"><button type=\"submit\" name=\"op\" value=\"Search\" class=\"button js-form-submit form-submit btn-primary btn icon-only\"><span class=\"sr-only\">Search</span><span class=\"icon glyphicon glyphicon-search\" aria-hidden=\"true\"></span></button></span></div>\n\n  \n  \n  </div>\n</div>\n<a href=\"/search/node/help\" class=\"search-help-link\" data-drupal-selector=\"edit-help-link\" id=\"edit-help-link\">Search help</a><input data-drupal-selector=\"form-jokdbga0iphvxcxwzbggg57cqa1uwerh-yhtd1usdbu\" type=\"hidden\" name=\"form_build_id\" value=\"form-jokdBGA0IPhvXcxWzbggG57CqA1UweRH_yHtD1usdBU\" /><input data-drupal-selector=\"edit-search-form\" type=\"hidden\" name=\"form_id\" value=\"search_form\" />\n</form>\n<h3>Your search yielded no results.</h3>\n\n  </div>\n\n              </section>\n\n                </div>\n  </div>\n\n      <footer class=\"footer container\" role=\"contentinfo\">\n        <div class=\"primary_footer row\">\n            <div class=\"col-sm-3\">\n                  <div class=\"region region-footer-col1\">\n    <section id=\"block-yaffs-block-6\" class=\"block block-block-content block-block-content6c2d4b45-4dba-4b2d-8b9f-76701bf27533 clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<ul class=\"fa-ul\">\n<li><i class=\"fa-li fa fa-phone\"></i>+44 (0)1223 811679</li>\n<li><i class=\"fa-li fa fa-envelope\"></i><a href=\"denied:mailto:info@aleph1.co.uk?Subject=Website contact\" target=\"_top\">info@aleph1.co.uk</a></li>\n</ul>\n</div>\n      \n  </section>\n\n\n  </div>\n\n            </div>\n            <div class=\"col-sm-3\">\n                \n            </div>\n            <div class=\"col-sm-3\">\n                \n            </div>\n            <div class=\"col-sm-3\">\n                  <div class=\"region region-footer-col4\">\n    <section id=\"block-footerlegal\" class=\"block block-block-content block-block-content78ab593d-35b6-4772-a141-30216e7fcbb2 clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<p class=\"text-align-right\">&nbsp;<a href=\"/legal\">Legal &amp; Cookies</a></p>\n</div>\n      \n  </section>\n\n<section id=\"block-cookieinfo\" class=\"block block-block-content block-block-content4848c58d-90df-4819-81d8-0f9568eeeaac clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<p class=\"text-align-justify\"><br />\nWe use <a href=\"/legal\">cookies on this site</a>. By using it, you are giving us consent to set cookies.</p>\n</div>\n      \n  </section>\n\n\n  </div>\n\n            </div>\n        </div>\n        <div class = \"secondary_footer row\">\n            <div class=\"col-sm-12\">\n                <div class=\"region region-footer\">\n    <nav role=\"navigation\" aria-labelledby=\"block-yaffs-account-menu-menu\" id=\"block-yaffs-account-menu\">\n            <h2 class=\"sr-only\" id=\"block-yaffs-account-menu-menu\">User account menu</h2>\n\n      \n              <ul class=\"menu nav navbar-nav navbar-right\">\n                            <li>\n        <a href=\"/user/login\" data-drupal-link-system-path=\"user/login\">Log in</a>\n                  </li>\n        </ul>\n  \n\n\n  </nav>\n\n  </div>\n\n            </div>\n        </div>\n    </footer>\n  \n    \n    <script type=\"application/json\" data-drupal-selector=\"drupal-settings-json\">{\"path\":{\"baseUrl\":\"\\/\",\"scriptPath\":null,\"pathPrefix\":\"\",\"currentPath\":\"search\\/node\",\"currentPathIsAdmin\":false,\"isFront\":false,\"currentLanguage\":\"en\"},\"pluralDelimiter\":\"\\u0003\",\"bootstrap\":{\"forms_has_error_value_toggle\":1,\"modal_animation\":1,\"modal_backdrop\":\"true\",\"modal_keyboard\":1,\"modal_show\":1,\"modal_size\":\"\",\"popover_enabled\":1,\"popover_animation\":1,\"popover_container\":\"body\",\"popover_content\":\"\",\"popover_delay\":\"0\",\"popover_html\":0,\"popover_placement\":\"right\",\"popover_selector\":\"\",\"popover_title\":\"\",\"popover_trigger\":\"click\",\"popover_trigger_autoclose\":1,\"tooltip_enabled\":1,\"tooltip_animation\":1,\"tooltip_container\":\"body\",\"tooltip_delay\":\"0\",\"tooltip_html\":0,\"tooltip_placement\":\"auto left\",\"tooltip_selector\":\"\",\"tooltip_trigger\":\"hover\"},\"ajaxTrustedUrl\":{\"form_action_p_pvdeGsVG5zNF_XLGPTvYSKCf43t8qZYSwcfZl2uzM\":true,\"\\/search\\/node\":true},\"user\":{\"uid\":0,\"permissionsHash\":\"aa7fc4c8fb40c7a8665ccd12fea07926dff0f59b9ee3346bc513c6399bee5b01\"}}</script>\n<script src=\"/sites/default/files/js/js_2l0lF4i9o3aztHULbfajMT_RTqGCEN_lVC8JI48SILw.js\"></script>\n\n  </body>\n</html>\n\";s:10:\"\0*\0version\";s:3:\"1.0\";s:13:\"\0*\0statusCode\";i:200;s:13:\"\0*\0statusText\";s:2:\"OK\";s:10:\"\0*\0charset\";N;s:23:\"\0*\0cacheabilityMetadata\";O:35:\"Drupal\\Core\\Cache\\CacheableMetadata\":3:{s:16:\"\0*\0cacheContexts\";a:19:{i:0;s:28:\"languages:language_interface\";i:1;s:5:\"route\";i:2;s:32:\"route.menu_active_trails:account\";i:3;s:29:\"route.menu_active_trails:main\";i:4;s:30:\"route.menu_active_trails:tools\";i:5;s:5:\"theme\";i:6;s:3:\"url\";i:7;s:8:\"url.path\";i:8;s:17:\"url.path.is_front\";i:9;s:15:\"url.path.parent\";i:10;s:14:\"url.query_args\";i:11;s:23:\"url.query_args.pagers:0\";i:12;s:30:\"url.query_args:_wrapper_format\";i:13;s:19:\"url.query_args:keys\";i:14;s:4:\"user\";i:15;s:21:\"user.node_grants:view\";i:16;s:16:\"user.permissions\";i:17;s:10:\"user.roles\";i:18;s:24:\"user.roles:authenticated\";}s:12:\"\0*\0cacheTags\";a:52:{i:0;s:16:\"block_content:18\";i:1;s:16:\"block_content:23\";i:2;s:15:\"block_content:7\";i:3;s:18:\"block_content_view\";i:4;s:10:\"block_view\";i:5;s:32:\"config:block.block.choosingyaffs\";i:6;s:29:\"config:block.block.cookieinfo\";i:7;s:32:\"config:block.block.downloadyaffs\";i:8;s:30:\"config:block.block.footerlegal\";i:9;s:39:\"config:block.block.frontimagehighlight2\";i:10;s:32:\"config:block.block.frontpagehero\";i:11;s:39:\"config:block.block.frontpageprimeryaffs\";i:12;s:33:\"config:block.block.mainnavigation\";i:13;s:35:\"config:block.block.mainnavigation_2\";i:14;s:29:\"config:block.block.searchform\";i:15;s:31:\"config:block.block.sitebranding\";i:16;s:66:\"config:block.block.views_block__highlighted_yaffs_features_block_1\";i:17;s:66:\"config:block.block.views_block__yaffs_admin_recent_content_block_1\";i:18;s:66:\"config:block.block.views_block__yaffs_documents_highlights_block_1\";i:19;s:56:\"config:block.block.views_block__yaffs_user_logos_block_1\";i:20;s:37:\"config:block.block.yaffs_account_menu\";i:21;s:33:\"config:block.block.yaffs_block_10\";i:22;s:32:\"config:block.block.yaffs_block_5\";i:23;s:32:\"config:block.block.yaffs_block_6\";i:24;s:32:\"config:block.block.yaffs_block_8\";i:25;s:32:\"config:block.block.yaffs_block_9\";i:26;s:36:\"config:block.block.yaffs_breadcrumbs\";i:27;s:32:\"config:block.block.yaffs_content\";i:28;s:29:\"config:block.block.yaffs_help\";i:29;s:36:\"config:block.block.yaffs_local_tasks\";i:30;s:33:\"config:block.block.yaffs_messages\";i:31;s:35:\"config:block.block.yaffs_page_title\";i:32;s:32:\"config:block.block.yaffs_user_21\";i:33;s:31:\"config:block.block.yaffsinspace\";i:34;s:17:\"config:block_list\";i:35;s:24:\"config:color.theme.yaffs\";i:36;s:30:\"config:filter.format.full_html\";i:37;s:29:\"config:filter.format.raw_html\";i:38;s:30:\"config:search.page.node_search\";i:39;s:30:\"config:search.page.user_search\";i:40;s:22:\"config:search.settings\";i:41;s:26:\"config:system.menu.account\";i:42;s:23:\"config:system.menu.main\";i:43;s:24:\"config:system.menu.tools\";i:44;s:18:\"config:system.site\";i:45;s:26:\"config:user.role.anonymous\";i:46;s:13:\"http_response\";i:47;s:9:\"node_list\";i:48;s:8:\"rendered\";i:49;s:12:\"search_index\";i:50;s:24:\"search_index:node_search\";i:51;s:6:\"user:0\";}s:14:\"\0*\0cacheMaxAge\";i:-1;}s:14:\"\0*\0attachments\";a:4:{s:7:\"library\";a:9:{i:0;s:14:\"core/html5shiv\";i:1;s:11:\"system/base\";i:2;s:15:\"bootstrap/theme\";i:3;s:20:\"yaffs/global-styling\";i:4;s:23:\"yaffs/bootstrap-scripts\";i:5;s:19:\"yaffs/yaffs-helpers\";i:6;s:17:\"bootstrap/popover\";i:7;s:17:\"bootstrap/tooltip\";i:8;s:50:\"environment_indicator/drupal.environment_indicator\";}s:9:\"html_head\";a:19:{i:0;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:5:\"title\";s:7:\"content\";s:53:\"Search | Yaffs - A Flash File System for embedded use\";}}i:1;s:5:\"title\";}i:1;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:13:\"news_keywords\";s:7:\"content\";s:17:\"Flash File System\";}}i:1;s:13:\"news_keywords\";}i:2;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:11:\"description\";s:7:\"content\";s:352:\"Yaffs (Yet Another Flash File System) is an open-source file system specifically designed to be fast, robust and suitable for embedded use with NAND and NOR Flash. It is widely used with Linux, RTOSs, or no OS at all, in consumer devices and critical infrastructure. It is available under GNU Public License, GPL, or on commercial terms from Aleph One.\";}}i:1;s:11:\"description\";}i:3;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:8:\"abstract\";s:7:\"content\";s:352:\"Yaffs (Yet Another Flash File System) is an open-source file system specifically designed to be fast, robust and suitable for embedded use with NAND and NOR Flash. It is widely used with Linux, RTOSs, or no OS at all, in consumer devices and critical infrastructure. It is available under GNU Public License, GPL, or on commercial terms from Aleph One.\";}}i:1;s:8:\"abstract\";}i:4;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:8:\"keywords\";s:7:\"content\";s:82:\"flash File System, flash, file System, flash storage, NAND flash, NOR flash, Yaffs\";}}i:1;s:8:\"keywords\";}i:5;a:2:{i:0;a:3:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:1:{s:7:\"charset\";s:5:\"utf-8\";}s:7:\"#weight\";i:-1000;}i:1;s:24:\"system_meta_content_type\";}i:6;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:9:\"Generator\";s:7:\"content\";s:33:\"Drupal 8 (https://www.drupal.org)\";}}i:1;s:21:\"system_meta_generator\";}i:7;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:15:\"MobileOptimized\";s:7:\"content\";s:5:\"width\";}}i:1;s:15:\"MobileOptimized\";}i:8;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:16:\"HandheldFriendly\";s:7:\"content\";s:4:\"true\";}}i:1;s:16:\"HandheldFriendly\";}i:9;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:8:\"viewport\";s:7:\"content\";s:37:\"width=device-width, initial-scale=1.0\";}}i:1;s:8:\"viewport\";}i:10;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:125:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansRegular-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1151\";}i:11;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:124:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1152\";}i:12;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:122:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBold-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1153\";}i:13;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:123:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBold-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1149\";}i:14;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:129:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBoldItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1150\";}i:15;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:125:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1148\";}i:16;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:126:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifRegular-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1147\";}i:17;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:128:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBoldItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1154\";}i:18;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:13:\"shortcut icon\";s:4:\"href\";s:38:\"/sites/default/files/yaffs_favicon.png\";s:4:\"type\";s:9:\"image/png\";}}i:1;s:67:\"html_head_link:shortcut icon:/sites/default/files/yaffs_favicon.png\";}}s:12:\"placeholders\";a:0:{}s:14:\"drupalSettings\";a:5:{s:4:\"path\";a:7:{s:7:\"baseUrl\";s:1:\"/\";s:10:\"scriptPath\";N;s:10:\"pathPrefix\";s:0:\"\";s:11:\"currentPath\";s:11:\"search/node\";s:18:\"currentPathIsAdmin\";b:0;s:7:\"isFront\";b:0;s:15:\"currentLanguage\";s:2:\"en\";}s:15:\"pluralDelimiter\";s:1:\"\";s:9:\"bootstrap\";a:25:{s:28:\"forms_has_error_value_toggle\";i:1;s:15:\"modal_animation\";i:1;s:14:\"modal_backdrop\";s:4:\"true\";s:14:\"modal_keyboard\";i:1;s:10:\"modal_show\";i:1;s:10:\"modal_size\";s:0:\"\";s:15:\"popover_enabled\";i:1;s:17:\"popover_animation\";i:1;s:17:\"popover_container\";s:4:\"body\";s:15:\"popover_content\";s:0:\"\";s:13:\"popover_delay\";s:1:\"0\";s:12:\"popover_html\";i:0;s:17:\"popover_placement\";s:5:\"right\";s:16:\"popover_selector\";s:0:\"\";s:13:\"popover_title\";s:0:\"\";s:15:\"popover_trigger\";s:5:\"click\";s:25:\"popover_trigger_autoclose\";i:1;s:15:\"tooltip_enabled\";i:1;s:17:\"tooltip_animation\";i:1;s:17:\"tooltip_container\";s:4:\"body\";s:13:\"tooltip_delay\";s:1:\"0\";s:12:\"tooltip_html\";i:0;s:17:\"tooltip_placement\";s:9:\"auto left\";s:16:\"tooltip_selector\";s:0:\"\";s:15:\"tooltip_trigger\";s:5:\"hover\";}s:14:\"ajaxTrustedUrl\";a:2:{s:55:\"form_action_p_pvdeGsVG5zNF_XLGPTvYSKCf43t8qZYSwcfZl2uzM\";b:1;s:12:\"/search/node\";b:1;}s:4:\"user\";a:2:{s:3:\"uid\";i:0;s:15:\"permissionsHash\";s:64:\"aa7fc4c8fb40c7a8665ccd12fea07926dff0f59b9ee3346bc513c6399bee5b01\";}}}}',-1,1509611483.045,1,'block_content:18 block_content:23 block_content:7 block_content_view block_view config:block.block.choosingyaffs config:block.block.cookieinfo config:block.block.downloadyaffs config:block.block.footerlegal config:block.block.frontimagehighlight2 config:block.block.frontpagehero config:block.block.frontpageprimeryaffs config:block.block.mainnavigation config:block.block.mainnavigation_2 config:block.block.searchform config:block.block.sitebranding config:block.block.views_block__highlighted_yaffs_features_block_1 config:block.block.views_block__yaffs_admin_recent_content_block_1 config:block.block.views_block__yaffs_documents_highlights_block_1 config:block.block.views_block__yaffs_user_logos_block_1 config:block.block.yaffs_account_menu config:block.block.yaffs_block_10 config:block.block.yaffs_block_5 config:block.block.yaffs_block_6 config:block.block.yaffs_block_8 config:block.block.yaffs_block_9 config:block.block.yaffs_breadcrumbs config:block.block.yaffs_content config:block.block.yaffs_help config:block.block.yaffs_local_tasks config:block.block.yaffs_messages config:block.block.yaffs_page_title config:block.block.yaffs_user_21 config:block.block.yaffsinspace config:block_list config:color.theme.yaffs config:filter.format.full_html config:filter.format.raw_html config:search.page.node_search config:search.page.user_search config:search.settings config:system.menu.account config:system.menu.main config:system.menu.tools config:system.site config:user.role.anonymous http_response node_list rendered search_index search_index:node_search user:0','3459'),('https://yaffs.net/search/node?keys=+unyaffs:html','O:31:\"Drupal\\Core\\Render\\HtmlResponse\":8:{s:7:\"headers\";O:50:\"Symfony\\Component\\HttpFoundation\\ResponseHeaderBag\":5:{s:23:\"\0*\0computedCacheControl\";a:2:{s:7:\"max-age\";s:3:\"300\";s:6:\"public\";b:1;}s:10:\"\0*\0cookies\";a:0:{}s:14:\"\0*\0headerNames\";a:14:{s:12:\"content-type\";s:12:\"Content-Type\";s:13:\"cache-control\";s:13:\"Cache-Control\";s:4:\"date\";s:4:\"Date\";s:22:\"x-drupal-dynamic-cache\";s:22:\"X-Drupal-Dynamic-Cache\";s:4:\"link\";s:4:\"Link\";s:15:\"x-ua-compatible\";s:15:\"X-UA-Compatible\";s:16:\"content-language\";s:16:\"Content-language\";s:22:\"x-content-type-options\";s:22:\"X-Content-Type-Options\";s:15:\"x-frame-options\";s:15:\"X-Frame-Options\";s:7:\"expires\";s:7:\"Expires\";s:13:\"last-modified\";s:13:\"Last-Modified\";s:4:\"etag\";s:4:\"ETag\";s:4:\"vary\";s:4:\"Vary\";s:11:\"x-generator\";s:11:\"X-Generator\";}s:10:\"\0*\0headers\";a:14:{s:12:\"content-type\";a:1:{i:0;s:24:\"text/html; charset=UTF-8\";}s:13:\"cache-control\";a:1:{i:0;s:19:\"max-age=300, public\";}s:4:\"date\";a:1:{i:0;s:29:\"Sun, 29 Oct 2017 01:12:00 GMT\";}s:22:\"x-drupal-dynamic-cache\";a:1:{i:0;s:4:\"MISS\";}s:4:\"link\";a:3:{i:0;s:108:\"</sites/default/files/css/css_YGKHk3qOgVcGqV_6s_kZUGJkGYQEouHb462Ja18qfRA.css?ovtedh>; rel=preload; as=style\";i:1;s:108:\"</sites/default/files/css/css_6qeLA6GBkZNPHWp9GdQIYovV3tYuKU-ts-HicZ-WeQQ.css?ovtedh>; rel=preload; as=style\";i:2;s:99:\"</sites/default/files/js/js_2l0lF4i9o3aztHULbfajMT_RTqGCEN_lVC8JI48SILw.js>; rel=preload; as=script\";}s:15:\"x-ua-compatible\";a:1:{i:0;s:7:\"IE=edge\";}s:16:\"content-language\";a:1:{i:0;s:2:\"en\";}s:22:\"x-content-type-options\";a:1:{i:0;s:7:\"nosniff\";}s:15:\"x-frame-options\";a:1:{i:0;s:10:\"SAMEORIGIN\";}s:7:\"expires\";a:1:{i:0;s:29:\"Sun, 19 Nov 1978 05:00:00 GMT\";}s:13:\"last-modified\";a:1:{i:0;s:29:\"Sun, 29 Oct 2017 01:11:59 GMT\";}s:4:\"etag\";a:1:{i:0;s:12:\"\"1509239519\"\";}s:4:\"vary\";a:1:{i:0;s:6:\"Cookie\";}s:11:\"x-generator\";a:1:{i:0;s:33:\"Drupal 8 (https://www.drupal.org)\";}}s:15:\"\0*\0cacheControl\";a:2:{s:7:\"max-age\";s:3:\"300\";s:6:\"public\";b:1;}}s:10:\"\0*\0content\";s:13226:\"<!DOCTYPE html>\n<html  lang=\"en\" dir=\"ltr\" prefix=\"content: http://purl.org/rss/1.0/modules/content/  dc: http://purl.org/dc/terms/  foaf: http://xmlns.com/foaf/0.1/  og: http://ogp.me/ns#  rdfs: http://www.w3.org/2000/01/rdf-schema#  schema: http://schema.org/  sioc: http://rdfs.org/sioc/ns#  sioct: http://rdfs.org/sioc/types#  skos: http://www.w3.org/2004/02/skos/core#  xsd: http://www.w3.org/2001/XMLSchema# \">\n  <head>\n    <meta charset=\"utf-8\" />\n<meta name=\"title\" content=\"Search | Yaffs - A Flash File System for embedded use\" />\n<meta name=\"news_keywords\" content=\"Flash File System\" />\n<meta name=\"description\" content=\"Yaffs (Yet Another Flash File System) is an open-source file system specifically designed to be fast, robust and suitable for embedded use with NAND and NOR Flash. It is widely used with Linux, RTOSs, or no OS at all, in consumer devices and critical infrastructure. It is available under GNU Public License, GPL, or on commercial terms from Aleph One.\" />\n<meta name=\"abstract\" content=\"Yaffs (Yet Another Flash File System) is an open-source file system specifically designed to be fast, robust and suitable for embedded use with NAND and NOR Flash. It is widely used with Linux, RTOSs, or no OS at all, in consumer devices and critical infrastructure. It is available under GNU Public License, GPL, or on commercial terms from Aleph One.\" />\n<meta name=\"keywords\" content=\"flash File System, flash, file System, flash storage, NAND flash, NOR flash, Yaffs\" />\n<meta name=\"Generator\" content=\"Drupal 8 (https://www.drupal.org)\" />\n<meta name=\"MobileOptimized\" content=\"width\" />\n<meta name=\"HandheldFriendly\" content=\"true\" />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansRegular-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBold-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBold-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBoldItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifRegular-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBoldItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"shortcut icon\" href=\"/sites/default/files/yaffs_favicon.png\" type=\"image/png\" />\n\n    <title>Search | Yaffs - A Flash File System for embedded use</title>\n    <link rel=\"stylesheet\" href=\"/sites/default/files/css/css_YGKHk3qOgVcGqV_6s_kZUGJkGYQEouHb462Ja18qfRA.css?ovtedh\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"/sites/default/files/css/css_6qeLA6GBkZNPHWp9GdQIYovV3tYuKU-ts-HicZ-WeQQ.css?ovtedh\" media=\"all\" />\n\n    \n<!--[if lte IE 8]>\n<script src=\"/sites/default/files/js/js_VtafjXmRvoUgAzqzYTA3Wrjkx9wcWhjP0G4ZnnqRamA.js\"></script>\n<![endif]-->\n\n  </head>\n  <body class=\"fontyourface path-search navbar-is-fixed-top has-glyphicons\">\n    <a href=\"#main-content\" class=\"visually-hidden focusable skip-link\">\n      Skip to main content\n    </a>\n    <div style=\"background-color: ; color: \" id=\"environment-indicator\">\n  \n    </div>\n\n              <header class=\"navbar navbar-default navbar-fixed-top\" id=\"navbar\" role=\"banner\">\n              <div class=\"container\">\n            <div class=\"navbar-header\">\n          <div class=\"region region-navigation\">\n          <a class=\"logo navbar-btn pull-left\" href=\"/\" title=\"Home\" rel=\"home\">\n      <img src=\"/themes/custom/yaffs/logo.svg\" alt=\"Home\" />\n    </a>\n      \n  </div>\n\n                          <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar-collapse\">\n            <span class=\"sr-only\">Toggle navigation</span>\n            <span class=\"icon-bar\"></span>\n            <span class=\"icon-bar\"></span>\n            <span class=\"icon-bar\"></span>\n          </button>\n              </div>\n\n                    <div id=\"navbar-collapse\" class=\"navbar-collapse collapse\">\n            <div class=\"region region-navigation-collapsible\">\n    <nav role=\"navigation\" aria-labelledby=\"block-mainnavigation-menu\" id=\"block-mainnavigation\">\n            <h2 class=\"sr-only\" id=\"block-mainnavigation-menu\">Main navigation</h2>\n\n      \n              <ul class=\"menu nav navbar-nav\">\n                            <li>\n        <a href=\"/\" data-drupal-link-system-path=\"&lt;front&gt;\">Home</a>\n                  </li>\n                        <li>\n        <a href=\"/support\" title=\"Help for Yaffs\" data-drupal-link-system-path=\"node/380\">Support</a>\n                  </li>\n                        <li>\n        <a href=\"/documents\" data-drupal-link-system-path=\"documents\">Documents</a>\n                  </li>\n                        <li>\n        <a href=\"/get-yaffs\" data-drupal-link-system-path=\"node/382\">Download</a>\n                  </li>\n                        <li>\n        <a href=\"/about-us\" data-drupal-link-system-path=\"node/325\">About us</a>\n                  </li>\n                        <li>\n        <a href=\"/contact\" data-drupal-link-system-path=\"node/73\">Contact</a>\n                  </li>\n        </ul>\n  \n\n\n  </nav>\n<div class=\"search-block-form block block-search block-search-form-block\" data-drupal-selector=\"search-block-form\" id=\"block-searchform\" role=\"search\">\n  \n    \n      <form action=\"/search/node\" method=\"get\" id=\"search-block-form\" accept-charset=\"UTF-8\">\n  <div class=\"form-item js-form-item form-type-search js-form-type-search form-item-keys js-form-item-keys form-no-label form-group\">\n      <label for=\"edit-keys\" class=\"control-label sr-only\">Search</label>\n  \n  \n  <div class=\"input-group\"><input title=\"Enter the terms you wish to search for.\" data-drupal-selector=\"edit-keys\" class=\"form-search form-control\" placeholder=\"Search\" type=\"search\" id=\"edit-keys\" name=\"keys\" value=\"\" size=\"15\" maxlength=\"128\" data-toggle=\"tooltip\" /><span class=\"input-group-btn\"><button type=\"submit\" value=\"Search\" class=\"button js-form-submit form-submit btn-primary btn icon-only\" name=\"\"><span class=\"sr-only\">Search</span><span class=\"icon glyphicon glyphicon-search\" aria-hidden=\"true\"></span></button></span></div>\n\n  \n  \n  </div>\n<div class=\"form-actions form-group js-form-wrapper form-wrapper\" data-drupal-selector=\"edit-actions\" id=\"edit-actions\"></div>\n\n</form>\n\n  </div>\n\n  </div>\n\n        </div>\n                    </div>\n          </header>\n  \n  <div role=\"main\" class=\"main-container container js-quickedit-main-content\">\n    <div class=\"row\">\n\n            \n            \n                  <section class=\"col-sm-12\">\n\n                                      <div class=\"highlighted\">  <div class=\"region region-highlighted\">\n        <ol class=\"breadcrumb\">\n          <li >\n                  <a href=\"/search\">Search</a>\n              </li>\n          <li  class=\"active\">\n                  Search\n              </li>\n      </ol>\n\n\n\n  </div>\n</div>\n                  \n                \n                \n                                      \n                  \n                          <a id=\"main-content\"></a>\n            <div class=\"region region-content\">\n        <h1 class=\"page-header\">Search for unyaffs</h1>\n\n  <form class=\"search-form search-page-form\" data-drupal-selector=\"search-form\" action=\"/search/node?keys=%20unyaffs\" method=\"post\" id=\"search-form\" accept-charset=\"UTF-8\">\n  <div class=\"form-group js-form-wrapper form-wrapper\" data-drupal-selector=\"edit-basic\" id=\"edit-basic\"><div class=\"form-item js-form-item form-type-search js-form-type-search form-item-keys js-form-item-keys form-no-label form-group\">\n      <label for=\"edit-keys\" class=\"control-label sr-only\">Enter your keywords</label>\n  \n  \n  <div class=\"input-group\"><input data-drupal-selector=\"edit-keys\" class=\"form-search form-control\" placeholder=\"Enter your keywords\" type=\"search\" id=\"edit-keys\" name=\"keys\" value=\"unyaffs\" size=\"30\" maxlength=\"255\" title=\"Enter the terms you wish to search for.\" data-toggle=\"tooltip\" /><span class=\"input-group-btn\"><button type=\"submit\" name=\"op\" value=\"Search\" class=\"button js-form-submit form-submit btn-primary btn icon-only\"><span class=\"sr-only\">Search</span><span class=\"icon glyphicon glyphicon-search\" aria-hidden=\"true\"></span></button></span></div>\n\n  \n  \n  </div>\n</div>\n<a href=\"/search/node/help\" class=\"search-help-link\" data-drupal-selector=\"edit-help-link\" id=\"edit-help-link\">Search help</a><input data-drupal-selector=\"form-zch8rw7lc4tcl5q-zp5j8ujiga9-4ykfqpexe8qbqbu\" type=\"hidden\" name=\"form_build_id\" value=\"form-ZcH8rW7Lc4Tcl5q_zp5J8ujIGa9-4yKFqpexe8qBqBU\" /><input data-drupal-selector=\"edit-search-form\" type=\"hidden\" name=\"form_id\" value=\"search_form\" />\n</form>\n<h3>Your search yielded no results.</h3>\n\n  </div>\n\n              </section>\n\n                </div>\n  </div>\n\n      <footer class=\"footer container\" role=\"contentinfo\">\n        <div class=\"primary_footer row\">\n            <div class=\"col-sm-3\">\n                  <div class=\"region region-footer-col1\">\n    <section id=\"block-yaffs-block-6\" class=\"block block-block-content block-block-content6c2d4b45-4dba-4b2d-8b9f-76701bf27533 clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<ul class=\"fa-ul\">\n<li><i class=\"fa-li fa fa-phone\"></i>+44 (0)1223 811679</li>\n<li><i class=\"fa-li fa fa-envelope\"></i><a href=\"denied:mailto:info@aleph1.co.uk?Subject=Website contact\" target=\"_top\">info@aleph1.co.uk</a></li>\n</ul>\n</div>\n      \n  </section>\n\n\n  </div>\n\n            </div>\n            <div class=\"col-sm-3\">\n                \n            </div>\n            <div class=\"col-sm-3\">\n                \n            </div>\n            <div class=\"col-sm-3\">\n                  <div class=\"region region-footer-col4\">\n    <section id=\"block-footerlegal\" class=\"block block-block-content block-block-content78ab593d-35b6-4772-a141-30216e7fcbb2 clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<p class=\"text-align-right\">&nbsp;<a href=\"/legal\">Legal &amp; Cookies</a></p>\n</div>\n      \n  </section>\n\n<section id=\"block-cookieinfo\" class=\"block block-block-content block-block-content4848c58d-90df-4819-81d8-0f9568eeeaac clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<p class=\"text-align-justify\"><br />\nWe use <a href=\"/legal\">cookies on this site</a>. By using it, you are giving us consent to set cookies.</p>\n</div>\n      \n  </section>\n\n\n  </div>\n\n            </div>\n        </div>\n        <div class = \"secondary_footer row\">\n            <div class=\"col-sm-12\">\n                <div class=\"region region-footer\">\n    <nav role=\"navigation\" aria-labelledby=\"block-yaffs-account-menu-menu\" id=\"block-yaffs-account-menu\">\n            <h2 class=\"sr-only\" id=\"block-yaffs-account-menu-menu\">User account menu</h2>\n\n      \n              <ul class=\"menu nav navbar-nav navbar-right\">\n                            <li>\n        <a href=\"/user/login\" data-drupal-link-system-path=\"user/login\">Log in</a>\n                  </li>\n        </ul>\n  \n\n\n  </nav>\n\n  </div>\n\n            </div>\n        </div>\n    </footer>\n  \n    \n    <script type=\"application/json\" data-drupal-selector=\"drupal-settings-json\">{\"path\":{\"baseUrl\":\"\\/\",\"scriptPath\":null,\"pathPrefix\":\"\",\"currentPath\":\"search\\/node\",\"currentPathIsAdmin\":false,\"isFront\":false,\"currentLanguage\":\"en\",\"currentQuery\":{\"keys\":\" unyaffs\"}},\"pluralDelimiter\":\"\\u0003\",\"bootstrap\":{\"forms_has_error_value_toggle\":1,\"modal_animation\":1,\"modal_backdrop\":\"true\",\"modal_keyboard\":1,\"modal_show\":1,\"modal_size\":\"\",\"popover_enabled\":1,\"popover_animation\":1,\"popover_container\":\"body\",\"popover_content\":\"\",\"popover_delay\":\"0\",\"popover_html\":0,\"popover_placement\":\"right\",\"popover_selector\":\"\",\"popover_title\":\"\",\"popover_trigger\":\"click\",\"popover_trigger_autoclose\":1,\"tooltip_enabled\":1,\"tooltip_animation\":1,\"tooltip_container\":\"body\",\"tooltip_delay\":\"0\",\"tooltip_html\":0,\"tooltip_placement\":\"auto left\",\"tooltip_selector\":\"\",\"tooltip_trigger\":\"hover\"},\"ajaxTrustedUrl\":{\"form_action_p_pvdeGsVG5zNF_XLGPTvYSKCf43t8qZYSwcfZl2uzM\":true,\"\\/search\\/node\":true},\"user\":{\"uid\":0,\"permissionsHash\":\"aa7fc4c8fb40c7a8665ccd12fea07926dff0f59b9ee3346bc513c6399bee5b01\"}}</script>\n<script src=\"/sites/default/files/js/js_2l0lF4i9o3aztHULbfajMT_RTqGCEN_lVC8JI48SILw.js\"></script>\n\n  </body>\n</html>\n\";s:10:\"\0*\0version\";s:3:\"1.0\";s:13:\"\0*\0statusCode\";i:200;s:13:\"\0*\0statusText\";s:2:\"OK\";s:10:\"\0*\0charset\";N;s:23:\"\0*\0cacheabilityMetadata\";O:35:\"Drupal\\Core\\Cache\\CacheableMetadata\":3:{s:16:\"\0*\0cacheContexts\";a:19:{i:0;s:28:\"languages:language_interface\";i:1;s:5:\"route\";i:2;s:32:\"route.menu_active_trails:account\";i:3;s:29:\"route.menu_active_trails:main\";i:4;s:30:\"route.menu_active_trails:tools\";i:5;s:5:\"theme\";i:6;s:3:\"url\";i:7;s:8:\"url.path\";i:8;s:17:\"url.path.is_front\";i:9;s:15:\"url.path.parent\";i:10;s:14:\"url.query_args\";i:11;s:23:\"url.query_args.pagers:0\";i:12;s:30:\"url.query_args:_wrapper_format\";i:13;s:19:\"url.query_args:keys\";i:14;s:4:\"user\";i:15;s:21:\"user.node_grants:view\";i:16;s:16:\"user.permissions\";i:17;s:10:\"user.roles\";i:18;s:24:\"user.roles:authenticated\";}s:12:\"\0*\0cacheTags\";a:52:{i:0;s:16:\"block_content:18\";i:1;s:16:\"block_content:23\";i:2;s:15:\"block_content:7\";i:3;s:18:\"block_content_view\";i:4;s:10:\"block_view\";i:5;s:32:\"config:block.block.choosingyaffs\";i:6;s:29:\"config:block.block.cookieinfo\";i:7;s:32:\"config:block.block.downloadyaffs\";i:8;s:30:\"config:block.block.footerlegal\";i:9;s:39:\"config:block.block.frontimagehighlight2\";i:10;s:32:\"config:block.block.frontpagehero\";i:11;s:39:\"config:block.block.frontpageprimeryaffs\";i:12;s:33:\"config:block.block.mainnavigation\";i:13;s:35:\"config:block.block.mainnavigation_2\";i:14;s:29:\"config:block.block.searchform\";i:15;s:31:\"config:block.block.sitebranding\";i:16;s:66:\"config:block.block.views_block__highlighted_yaffs_features_block_1\";i:17;s:66:\"config:block.block.views_block__yaffs_admin_recent_content_block_1\";i:18;s:66:\"config:block.block.views_block__yaffs_documents_highlights_block_1\";i:19;s:56:\"config:block.block.views_block__yaffs_user_logos_block_1\";i:20;s:37:\"config:block.block.yaffs_account_menu\";i:21;s:33:\"config:block.block.yaffs_block_10\";i:22;s:32:\"config:block.block.yaffs_block_5\";i:23;s:32:\"config:block.block.yaffs_block_6\";i:24;s:32:\"config:block.block.yaffs_block_8\";i:25;s:32:\"config:block.block.yaffs_block_9\";i:26;s:36:\"config:block.block.yaffs_breadcrumbs\";i:27;s:32:\"config:block.block.yaffs_content\";i:28;s:29:\"config:block.block.yaffs_help\";i:29;s:36:\"config:block.block.yaffs_local_tasks\";i:30;s:33:\"config:block.block.yaffs_messages\";i:31;s:35:\"config:block.block.yaffs_page_title\";i:32;s:32:\"config:block.block.yaffs_user_21\";i:33;s:31:\"config:block.block.yaffsinspace\";i:34;s:17:\"config:block_list\";i:35;s:24:\"config:color.theme.yaffs\";i:36;s:30:\"config:filter.format.full_html\";i:37;s:29:\"config:filter.format.raw_html\";i:38;s:30:\"config:search.page.node_search\";i:39;s:30:\"config:search.page.user_search\";i:40;s:22:\"config:search.settings\";i:41;s:26:\"config:system.menu.account\";i:42;s:23:\"config:system.menu.main\";i:43;s:24:\"config:system.menu.tools\";i:44;s:18:\"config:system.site\";i:45;s:26:\"config:user.role.anonymous\";i:46;s:13:\"http_response\";i:47;s:9:\"node_list\";i:48;s:8:\"rendered\";i:49;s:12:\"search_index\";i:50;s:24:\"search_index:node_search\";i:51;s:6:\"user:0\";}s:14:\"\0*\0cacheMaxAge\";i:-1;}s:14:\"\0*\0attachments\";a:4:{s:7:\"library\";a:9:{i:0;s:14:\"core/html5shiv\";i:1;s:11:\"system/base\";i:2;s:15:\"bootstrap/theme\";i:3;s:20:\"yaffs/global-styling\";i:4;s:23:\"yaffs/bootstrap-scripts\";i:5;s:19:\"yaffs/yaffs-helpers\";i:6;s:17:\"bootstrap/popover\";i:7;s:17:\"bootstrap/tooltip\";i:8;s:50:\"environment_indicator/drupal.environment_indicator\";}s:9:\"html_head\";a:19:{i:0;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:5:\"title\";s:7:\"content\";s:53:\"Search | Yaffs - A Flash File System for embedded use\";}}i:1;s:5:\"title\";}i:1;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:13:\"news_keywords\";s:7:\"content\";s:17:\"Flash File System\";}}i:1;s:13:\"news_keywords\";}i:2;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:11:\"description\";s:7:\"content\";s:352:\"Yaffs (Yet Another Flash File System) is an open-source file system specifically designed to be fast, robust and suitable for embedded use with NAND and NOR Flash. It is widely used with Linux, RTOSs, or no OS at all, in consumer devices and critical infrastructure. It is available under GNU Public License, GPL, or on commercial terms from Aleph One.\";}}i:1;s:11:\"description\";}i:3;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:8:\"abstract\";s:7:\"content\";s:352:\"Yaffs (Yet Another Flash File System) is an open-source file system specifically designed to be fast, robust and suitable for embedded use with NAND and NOR Flash. It is widely used with Linux, RTOSs, or no OS at all, in consumer devices and critical infrastructure. It is available under GNU Public License, GPL, or on commercial terms from Aleph One.\";}}i:1;s:8:\"abstract\";}i:4;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:8:\"keywords\";s:7:\"content\";s:82:\"flash File System, flash, file System, flash storage, NAND flash, NOR flash, Yaffs\";}}i:1;s:8:\"keywords\";}i:5;a:2:{i:0;a:3:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:1:{s:7:\"charset\";s:5:\"utf-8\";}s:7:\"#weight\";i:-1000;}i:1;s:24:\"system_meta_content_type\";}i:6;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:9:\"Generator\";s:7:\"content\";s:33:\"Drupal 8 (https://www.drupal.org)\";}}i:1;s:21:\"system_meta_generator\";}i:7;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:15:\"MobileOptimized\";s:7:\"content\";s:5:\"width\";}}i:1;s:15:\"MobileOptimized\";}i:8;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:16:\"HandheldFriendly\";s:7:\"content\";s:4:\"true\";}}i:1;s:16:\"HandheldFriendly\";}i:9;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:8:\"viewport\";s:7:\"content\";s:37:\"width=device-width, initial-scale=1.0\";}}i:1;s:8:\"viewport\";}i:10;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:125:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansRegular-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1151\";}i:11;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:124:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1152\";}i:12;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:122:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBold-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1153\";}i:13;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:123:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBold-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1149\";}i:14;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:129:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBoldItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1150\";}i:15;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:125:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1148\";}i:16;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:126:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifRegular-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1147\";}i:17;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:128:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBoldItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1154\";}i:18;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:13:\"shortcut icon\";s:4:\"href\";s:38:\"/sites/default/files/yaffs_favicon.png\";s:4:\"type\";s:9:\"image/png\";}}i:1;s:67:\"html_head_link:shortcut icon:/sites/default/files/yaffs_favicon.png\";}}s:12:\"placeholders\";a:0:{}s:14:\"drupalSettings\";a:5:{s:4:\"path\";a:8:{s:7:\"baseUrl\";s:1:\"/\";s:10:\"scriptPath\";N;s:10:\"pathPrefix\";s:0:\"\";s:11:\"currentPath\";s:11:\"search/node\";s:18:\"currentPathIsAdmin\";b:0;s:7:\"isFront\";b:0;s:15:\"currentLanguage\";s:2:\"en\";s:12:\"currentQuery\";O:8:\"stdClass\":1:{s:4:\"keys\";s:8:\" unyaffs\";}}s:15:\"pluralDelimiter\";s:1:\"\";s:9:\"bootstrap\";a:25:{s:28:\"forms_has_error_value_toggle\";i:1;s:15:\"modal_animation\";i:1;s:14:\"modal_backdrop\";s:4:\"true\";s:14:\"modal_keyboard\";i:1;s:10:\"modal_show\";i:1;s:10:\"modal_size\";s:0:\"\";s:15:\"popover_enabled\";i:1;s:17:\"popover_animation\";i:1;s:17:\"popover_container\";s:4:\"body\";s:15:\"popover_content\";s:0:\"\";s:13:\"popover_delay\";s:1:\"0\";s:12:\"popover_html\";i:0;s:17:\"popover_placement\";s:5:\"right\";s:16:\"popover_selector\";s:0:\"\";s:13:\"popover_title\";s:0:\"\";s:15:\"popover_trigger\";s:5:\"click\";s:25:\"popover_trigger_autoclose\";i:1;s:15:\"tooltip_enabled\";i:1;s:17:\"tooltip_animation\";i:1;s:17:\"tooltip_container\";s:4:\"body\";s:13:\"tooltip_delay\";s:1:\"0\";s:12:\"tooltip_html\";i:0;s:17:\"tooltip_placement\";s:9:\"auto left\";s:16:\"tooltip_selector\";s:0:\"\";s:15:\"tooltip_trigger\";s:5:\"hover\";}s:14:\"ajaxTrustedUrl\";a:2:{s:55:\"form_action_p_pvdeGsVG5zNF_XLGPTvYSKCf43t8qZYSwcfZl2uzM\";b:1;s:12:\"/search/node\";b:1;}s:4:\"user\";a:2:{s:3:\"uid\";i:0;s:15:\"permissionsHash\";s:64:\"aa7fc4c8fb40c7a8665ccd12fea07926dff0f59b9ee3346bc513c6399bee5b01\";}}}}',-1,1509239520.324,1,'block_content:18 block_content:23 block_content:7 block_content_view block_view config:block.block.choosingyaffs config:block.block.cookieinfo config:block.block.downloadyaffs config:block.block.footerlegal config:block.block.frontimagehighlight2 config:block.block.frontpagehero config:block.block.frontpageprimeryaffs config:block.block.mainnavigation config:block.block.mainnavigation_2 config:block.block.searchform config:block.block.sitebranding config:block.block.views_block__highlighted_yaffs_features_block_1 config:block.block.views_block__yaffs_admin_recent_content_block_1 config:block.block.views_block__yaffs_documents_highlights_block_1 config:block.block.views_block__yaffs_user_logos_block_1 config:block.block.yaffs_account_menu config:block.block.yaffs_block_10 config:block.block.yaffs_block_5 config:block.block.yaffs_block_6 config:block.block.yaffs_block_8 config:block.block.yaffs_block_9 config:block.block.yaffs_breadcrumbs config:block.block.yaffs_content config:block.block.yaffs_help config:block.block.yaffs_local_tasks config:block.block.yaffs_messages config:block.block.yaffs_page_title config:block.block.yaffs_user_21 config:block.block.yaffsinspace config:block_list config:color.theme.yaffs config:filter.format.full_html config:filter.format.raw_html config:search.page.node_search config:search.page.user_search config:search.settings config:system.menu.account config:system.menu.main config:system.menu.tools config:system.site config:user.role.anonymous http_response node_list rendered search_index search_index:node_search user:0','3459'),('https://yaffs.net/search/node?keys=Direct&page=1:html','O:31:\"Drupal\\Core\\Render\\HtmlResponse\":8:{s:7:\"headers\";O:50:\"Symfony\\Component\\HttpFoundation\\ResponseHeaderBag\":5:{s:23:\"\0*\0computedCacheControl\";a:2:{s:7:\"max-age\";s:3:\"300\";s:6:\"public\";b:1;}s:10:\"\0*\0cookies\";a:0:{}s:14:\"\0*\0headerNames\";a:14:{s:12:\"content-type\";s:12:\"Content-Type\";s:13:\"cache-control\";s:13:\"Cache-Control\";s:4:\"date\";s:4:\"Date\";s:22:\"x-drupal-dynamic-cache\";s:22:\"X-Drupal-Dynamic-Cache\";s:4:\"link\";s:4:\"Link\";s:15:\"x-ua-compatible\";s:15:\"X-UA-Compatible\";s:16:\"content-language\";s:16:\"Content-language\";s:22:\"x-content-type-options\";s:22:\"X-Content-Type-Options\";s:15:\"x-frame-options\";s:15:\"X-Frame-Options\";s:7:\"expires\";s:7:\"Expires\";s:13:\"last-modified\";s:13:\"Last-Modified\";s:4:\"etag\";s:4:\"ETag\";s:4:\"vary\";s:4:\"Vary\";s:11:\"x-generator\";s:11:\"X-Generator\";}s:10:\"\0*\0headers\";a:14:{s:12:\"content-type\";a:1:{i:0;s:24:\"text/html; charset=UTF-8\";}s:13:\"cache-control\";a:1:{i:0;s:19:\"max-age=300, public\";}s:4:\"date\";a:1:{i:0;s:29:\"Tue, 12 Sep 2017 06:01:51 GMT\";}s:22:\"x-drupal-dynamic-cache\";a:1:{i:0;s:4:\"MISS\";}s:4:\"link\";a:3:{i:0;s:108:\"</sites/default/files/css/css_YGKHk3qOgVcGqV_6s_kZUGJkGYQEouHb462Ja18qfRA.css?ovtedh>; rel=preload; as=style\";i:1;s:108:\"</sites/default/files/css/css_6qeLA6GBkZNPHWp9GdQIYovV3tYuKU-ts-HicZ-WeQQ.css?ovtedh>; rel=preload; as=style\";i:2;s:99:\"</sites/default/files/js/js_2l0lF4i9o3aztHULbfajMT_RTqGCEN_lVC8JI48SILw.js>; rel=preload; as=script\";}s:15:\"x-ua-compatible\";a:1:{i:0;s:7:\"IE=edge\";}s:16:\"content-language\";a:1:{i:0;s:2:\"en\";}s:22:\"x-content-type-options\";a:1:{i:0;s:7:\"nosniff\";}s:15:\"x-frame-options\";a:1:{i:0;s:10:\"SAMEORIGIN\";}s:7:\"expires\";a:1:{i:0;s:29:\"Sun, 19 Nov 1978 05:00:00 GMT\";}s:13:\"last-modified\";a:1:{i:0;s:29:\"Tue, 12 Sep 2017 06:01:50 GMT\";}s:4:\"etag\";a:1:{i:0;s:12:\"\"1505196110\"\";}s:4:\"vary\";a:1:{i:0;s:6:\"Cookie\";}s:11:\"x-generator\";a:1:{i:0;s:33:\"Drupal 8 (https://www.drupal.org)\";}}s:15:\"\0*\0cacheControl\";a:2:{s:7:\"max-age\";s:3:\"300\";s:6:\"public\";b:1;}}s:10:\"\0*\0content\";s:18705:\"<!DOCTYPE html>\n<html  lang=\"en\" dir=\"ltr\" prefix=\"content: http://purl.org/rss/1.0/modules/content/  dc: http://purl.org/dc/terms/  foaf: http://xmlns.com/foaf/0.1/  og: http://ogp.me/ns#  rdfs: http://www.w3.org/2000/01/rdf-schema#  schema: http://schema.org/  sioc: http://rdfs.org/sioc/ns#  sioct: http://rdfs.org/sioc/types#  skos: http://www.w3.org/2004/02/skos/core#  xsd: http://www.w3.org/2001/XMLSchema# \">\n  <head>\n    <meta charset=\"utf-8\" />\n<meta name=\"title\" content=\"Search | Yaffs - A Flash File System for embedded use\" />\n<meta name=\"news_keywords\" content=\"Flash File System\" />\n<meta name=\"description\" content=\"Yaffs (Yet Another Flash File System) is an open-source file system specifically designed to be fast, robust and suitable for embedded use with NAND and NOR Flash. It is widely used with Linux, RTOSs, or no OS at all, in consumer devices and critical infrastructure. It is available under GNU Public License, GPL, or on commercial terms from Aleph One.\" />\n<meta name=\"abstract\" content=\"Yaffs (Yet Another Flash File System) is an open-source file system specifically designed to be fast, robust and suitable for embedded use with NAND and NOR Flash. It is widely used with Linux, RTOSs, or no OS at all, in consumer devices and critical infrastructure. It is available under GNU Public License, GPL, or on commercial terms from Aleph One.\" />\n<meta name=\"keywords\" content=\"flash File System, flash, file System, flash storage, NAND flash, NOR flash, Yaffs\" />\n<meta name=\"Generator\" content=\"Drupal 8 (https://www.drupal.org)\" />\n<meta name=\"MobileOptimized\" content=\"width\" />\n<meta name=\"HandheldFriendly\" content=\"true\" />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansRegular-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBold-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBold-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBoldItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifRegular-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBoldItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"shortcut icon\" href=\"/sites/default/files/yaffs_favicon.png\" type=\"image/png\" />\n\n    <title>Search | Yaffs - A Flash File System for embedded use</title>\n    <link rel=\"stylesheet\" href=\"/sites/default/files/css/css_YGKHk3qOgVcGqV_6s_kZUGJkGYQEouHb462Ja18qfRA.css?ovtedh\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"/sites/default/files/css/css_6qeLA6GBkZNPHWp9GdQIYovV3tYuKU-ts-HicZ-WeQQ.css?ovtedh\" media=\"all\" />\n\n    \n<!--[if lte IE 8]>\n<script src=\"/sites/default/files/js/js_VtafjXmRvoUgAzqzYTA3Wrjkx9wcWhjP0G4ZnnqRamA.js\"></script>\n<![endif]-->\n\n  </head>\n  <body class=\"fontyourface path-search navbar-is-fixed-top has-glyphicons\">\n    <a href=\"#main-content\" class=\"visually-hidden focusable skip-link\">\n      Skip to main content\n    </a>\n    <div style=\"background-color: ; color: \" id=\"environment-indicator\">\n  \n    </div>\n\n              <header class=\"navbar navbar-default navbar-fixed-top\" id=\"navbar\" role=\"banner\">\n              <div class=\"container\">\n            <div class=\"navbar-header\">\n          <div class=\"region region-navigation\">\n          <a class=\"logo navbar-btn pull-left\" href=\"/\" title=\"Home\" rel=\"home\">\n      <img src=\"/themes/custom/yaffs/logo.svg\" alt=\"Home\" />\n    </a>\n      \n  </div>\n\n                          <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar-collapse\">\n            <span class=\"sr-only\">Toggle navigation</span>\n            <span class=\"icon-bar\"></span>\n            <span class=\"icon-bar\"></span>\n            <span class=\"icon-bar\"></span>\n          </button>\n              </div>\n\n                    <div id=\"navbar-collapse\" class=\"navbar-collapse collapse\">\n            <div class=\"region region-navigation-collapsible\">\n    <nav role=\"navigation\" aria-labelledby=\"block-mainnavigation-menu\" id=\"block-mainnavigation\">\n            <h2 class=\"sr-only\" id=\"block-mainnavigation-menu\">Main navigation</h2>\n\n      \n              <ul class=\"menu nav navbar-nav\">\n                            <li>\n        <a href=\"/\" data-drupal-link-system-path=\"&lt;front&gt;\">Home</a>\n                  </li>\n                        <li>\n        <a href=\"/support\" title=\"Help for Yaffs\" data-drupal-link-system-path=\"node/380\">Support</a>\n                  </li>\n                        <li>\n        <a href=\"/documents\" data-drupal-link-system-path=\"documents\">Documents</a>\n                  </li>\n                        <li>\n        <a href=\"/get-yaffs\" data-drupal-link-system-path=\"node/382\">Download</a>\n                  </li>\n                        <li>\n        <a href=\"/about-us\" data-drupal-link-system-path=\"node/325\">About us</a>\n                  </li>\n                        <li>\n        <a href=\"/contact\" data-drupal-link-system-path=\"node/73\">Contact</a>\n                  </li>\n        </ul>\n  \n\n\n  </nav>\n<div class=\"search-block-form block block-search block-search-form-block\" data-drupal-selector=\"search-block-form\" id=\"block-searchform\" role=\"search\">\n  \n    \n      <form action=\"/search/node\" method=\"get\" id=\"search-block-form\" accept-charset=\"UTF-8\">\n  <div class=\"form-item js-form-item form-type-search js-form-type-search form-item-keys js-form-item-keys form-no-label form-group\">\n      <label for=\"edit-keys\" class=\"control-label sr-only\">Search</label>\n  \n  \n  <div class=\"input-group\"><input title=\"Enter the terms you wish to search for.\" data-drupal-selector=\"edit-keys\" class=\"form-search form-control\" placeholder=\"Search\" type=\"search\" id=\"edit-keys\" name=\"keys\" value=\"\" size=\"15\" maxlength=\"128\" data-toggle=\"tooltip\" /><span class=\"input-group-btn\"><button type=\"submit\" value=\"Search\" class=\"button js-form-submit form-submit btn-primary btn icon-only\" name=\"\"><span class=\"sr-only\">Search</span><span class=\"icon glyphicon glyphicon-search\" aria-hidden=\"true\"></span></button></span></div>\n\n  \n  \n  </div>\n<div class=\"form-actions form-group js-form-wrapper form-wrapper\" data-drupal-selector=\"edit-actions\" id=\"edit-actions\"></div>\n\n</form>\n\n  </div>\n\n  </div>\n\n        </div>\n                    </div>\n          </header>\n  \n  <div role=\"main\" class=\"main-container container js-quickedit-main-content\">\n    <div class=\"row\">\n\n            \n            \n                  <section class=\"col-sm-12\">\n\n                                      <div class=\"highlighted\">  <div class=\"region region-highlighted\">\n        <ol class=\"breadcrumb\">\n          <li >\n                  <a href=\"/search\">Search</a>\n              </li>\n          <li  class=\"active\">\n                  Search\n              </li>\n      </ol>\n\n\n\n  </div>\n</div>\n                  \n                \n                \n                                      \n                  \n                          <a id=\"main-content\"></a>\n            <div class=\"region region-content\">\n        <h1 class=\"page-header\">Search for Direct</h1>\n\n  <form class=\"search-form search-page-form\" data-drupal-selector=\"search-form\" action=\"/search/node?keys=Direct&amp;page=1\" method=\"post\" id=\"search-form\" accept-charset=\"UTF-8\">\n  <div class=\"form-group js-form-wrapper form-wrapper\" data-drupal-selector=\"edit-basic\" id=\"edit-basic\"><div class=\"form-item js-form-item form-type-search js-form-type-search form-item-keys js-form-item-keys form-no-label form-group\">\n      <label for=\"edit-keys\" class=\"control-label sr-only\">Enter your keywords</label>\n  \n  \n  <div class=\"input-group\"><input data-drupal-selector=\"edit-keys\" class=\"form-search form-control\" placeholder=\"Enter your keywords\" type=\"search\" id=\"edit-keys\" name=\"keys\" value=\"Direct\" size=\"30\" maxlength=\"255\" title=\"Enter the terms you wish to search for.\" data-toggle=\"tooltip\" /><span class=\"input-group-btn\"><button type=\"submit\" name=\"op\" value=\"Search\" class=\"button js-form-submit form-submit btn-primary btn icon-only\"><span class=\"sr-only\">Search</span><span class=\"icon glyphicon glyphicon-search\" aria-hidden=\"true\"></span></button></span></div>\n\n  \n  \n  </div>\n</div>\n<a href=\"/search/node/help\" class=\"search-help-link\" data-drupal-selector=\"edit-help-link\" id=\"edit-help-link\">Search help</a><input data-drupal-selector=\"form-7oxct91y0-0o3hehkducqrqz099z8p7dzjqxrmxif1g\" type=\"hidden\" name=\"form_build_id\" value=\"form-7oxcT91y0-0o3hehkDuCQrQZ099z8p7DzjqxRMxif1g\" /><input data-drupal-selector=\"edit-search-form\" type=\"hidden\" name=\"form_id\" value=\"search_form\" />\n</form>\n<h2>Search results</h2><ol><li>\n<h3>\n  <a href=\"https://yaffs.net/documents/how-yaffs-works\">How Yaffs works</a>\n</h3>\n\n  <p>…  is available for Linux, WindowsCE and eCOS while Yaffs <strong>Direct</strong> Interface provides a layer that can be used in other …  This is simpler than tracking lower-level locking. Yaffs <strong>Direct</strong> Interface uses a single lock for all partitions.  \n   …</p>\n  <p><span lang=\"\" about=\"/user/charles-manning\" typeof=\"schema:Person\" property=\"schema:name\" datatype=\"\">Charles Manning</span> - 27 Jun 2017 - 3:33am</p>\n</li><li>\n<h3>\n  <a href=\"https://yaffs.net/features/high-and-low-level-interfaces\">High and low level interfaces...</a>\n</h3>\n\n  <p>…  your code, you&#039;ll most likely want to make use of the Yaffs <strong>Direct</strong> Interface or other low-level interfaces:  \n\n    …</p>\n  <p></p>\n</li><li>\n<h3>\n  <a href=\"https://yaffs.net/features/data-safe-yaffs\">Data is safe with Yaffs...</a>\n</h3>\n\n  <p>…  all the details on the power-fail stress tests, the Yaffs <strong>Direct</strong> API tests for commercial RTOSs, Linux testing, and …</p>\n  <p></p>\n</li><li>\n<h3>\n  <a href=\"https://yaffs.net/features/yaffs-fully-supported\">Yaffs is fully supported...</a>\n</h3>\n\n  <p>…  before we offer you the opportunity of consultancy and <strong>direct</strong> access to our developers. And of course we are always …</p>\n  <p></p>\n</li><li>\n<h3>\n  <a href=\"https://yaffs.net/get-yaffs\">Get Yaffs</a>\n</h3>\n\n  <p>…  option if you are behind a firewall that does not allow <strong>direct</strong> Git access.  \n  To get a tarball of the top of the …</p>\n  <p></p>\n</li><li>\n<h3>\n  <a href=\"https://yaffs.net/archives/yaffs-history\">Yaffs History</a>\n</h3>\n\n  <p>…  with Linux kernel 2.5.70.  \n    2003.05   First two Yaffs/<strong>direct</strong> licencees.  \n    2003.04   Yaffs/<strong>direct</strong> non-GPL license option created for those who can&#039;t …  firewalls get access to the code.  \n    2003.01   Yaffs <strong>Direct</strong> ported to pSOS.  \n    2003.01.21   &#039;Yaffs <strong>Direct</strong> …</p>\n  <p></p>\n</li><li>\n<h3>\n  <a href=\"https://yaffs.net/yaffs-overview\">Yaffs Overview</a>\n</h3>\n\n  <p>…  There is a minimal subset of the filesystem called Yaffs/<strong>Direct</strong> or the Yaffs <strong>Direct</strong> Interface which is intended to be used in embedded …  is   here    \n  Developer Documentation  \n  Yaffs <strong>Direct</strong> Interface -   User Guide  , describing how to port …</p>\n  <p></p>\n</li><li>\n<h3>\n  <a href=\"https://yaffs.net/archives/yaffs-development-notes\">Yaffs (Yaffs1) Development Notes</a>\n</h3>\n\n  <p>…  split between the How Yaffs Works, Yaffs Tuning and Yaffs <strong>Direct</strong> documents.    \n     \n  Build options  \n  Yaffs1 can …</p>\n  <p></p>\n</li><li>\n<h3>\n  <a href=\"https://yaffs.net/archives/howto-incorporate-yaffs-linux\">HOWTO incorporate YAFFS in Linux</a>\n</h3>\n\n  <p>…  It is assumed that the reader has a development system with <strong>direct</strong> access to NAND flash (ie not a CF/SmartMedia adaptor …</p>\n  <p></p>\n</li><li>\n<h3>\n  <a href=\"https://yaffs.net/yaffs-licence-sample\">Yaffs Licence Sample</a>\n</h3>\n\n  <p>…  Licences attached to them:-  \n  SOURCE CODE for YAFFS/<strong>direct</strong> and Bootloader, being the subject of this Licence …</p>\n  <p></p>\n</li></ol>  <nav class=\"pager-nav text-center\" role=\"navigation\" aria-labelledby=\"pagination-heading\">\n    <h4 id=\"pagination-heading\" class=\"visually-hidden\">Pagination</h4>\n    <ul class=\"pagination js-pager__items\">\n\n                    <li class=\"pager__item pager__item--first\">\n          <a href=\"?keys=Direct&amp;page=0\" title=\"Go to first page\" rel=\"prev\">\n            <span class=\"visually-hidden\">First page</span>\n            <span aria-hidden=\"true\">first</span>\n          </a>\n        </li>\n      \n                    <li class=\"pager__item pager__item--previous\">\n          <a href=\"?keys=Direct&amp;page=0\" title=\"Go to previous page\" rel=\"prev\">\n            <span class=\"visually-hidden\">Previous page</span>\n            <span aria-hidden=\"true\">previous</span>\n          </a>\n        </li>\n      \n                    <li class=\"pager__item\">\n                                          <a href=\"?keys=Direct&amp;page=0\" title=\"Go to page 1\">\n            <span class=\"visually-hidden\">\n              Page\n            </span>1</a>\n        </li>\n              <li class=\"pager__item is-active active\">\n                                          <a href=\"?keys=Direct&amp;page=1\" title=\"Current page\">\n            <span class=\"visually-hidden\">\n              Current page\n            </span>2</a>\n        </li>\n              <li class=\"pager__item\">\n                                          <a href=\"?keys=Direct&amp;page=2\" title=\"Go to page 3\">\n            <span class=\"visually-hidden\">\n              Page\n            </span>3</a>\n        </li>\n      \n                    <li class=\"pager__item pager__item--next\">\n          <a href=\"?keys=Direct&amp;page=2\" title=\"Go to next page\" rel=\"next\">\n            <span class=\"visually-hidden\">Next page</span>\n            <span aria-hidden=\"true\">next</span>\n          </a>\n        </li>\n      \n                  <li class=\"pager__item pager__item--last\">\n        <a href=\"?keys=Direct&amp;page=2\" title=\"Go to last page\" rel=\"last\">\n          <span class=\"visually-hidden\">Last page</span>\n          <span aria-hidden=\"true\">last</span>\n        </a>\n      </li>\n      \n    </ul>\n  </nav>\n\n\n  </div>\n\n              </section>\n\n                </div>\n  </div>\n\n      <footer class=\"footer container\" role=\"contentinfo\">\n        <div class=\"primary_footer row\">\n            <div class=\"col-sm-3\">\n                  <div class=\"region region-footer-col1\">\n    <section id=\"block-yaffs-block-6\" class=\"block block-block-content block-block-content6c2d4b45-4dba-4b2d-8b9f-76701bf27533 clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<ul class=\"fa-ul\">\n<li><i class=\"fa-li fa fa-phone\"></i>+44 (0)1223 811679</li>\n<li><i class=\"fa-li fa fa-envelope\"></i><a href=\"denied:mailto:info@aleph1.co.uk?Subject=Website contact\" target=\"_top\">info@aleph1.co.uk</a></li>\n</ul>\n</div>\n      \n  </section>\n\n\n  </div>\n\n            </div>\n            <div class=\"col-sm-3\">\n                \n            </div>\n            <div class=\"col-sm-3\">\n                \n            </div>\n            <div class=\"col-sm-3\">\n                  <div class=\"region region-footer-col4\">\n    <section id=\"block-footerlegal\" class=\"block block-block-content block-block-content78ab593d-35b6-4772-a141-30216e7fcbb2 clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<p class=\"text-align-right\">&nbsp;<a href=\"/legal\">Legal &amp; Cookies</a></p>\n</div>\n      \n  </section>\n\n<section id=\"block-cookieinfo\" class=\"block block-block-content block-block-content4848c58d-90df-4819-81d8-0f9568eeeaac clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<p class=\"text-align-justify\"><br />\nWe use <a href=\"/legal\">cookies on this site</a>. By using it, you are giving us consent to set cookies.</p>\n</div>\n      \n  </section>\n\n\n  </div>\n\n            </div>\n        </div>\n        <div class = \"secondary_footer row\">\n            <div class=\"col-sm-12\">\n                <div class=\"region region-footer\">\n    <nav role=\"navigation\" aria-labelledby=\"block-yaffs-account-menu-menu\" id=\"block-yaffs-account-menu\">\n            <h2 class=\"sr-only\" id=\"block-yaffs-account-menu-menu\">User account menu</h2>\n\n      \n              <ul class=\"menu nav navbar-nav navbar-right\">\n                            <li>\n        <a href=\"/user/login\" data-drupal-link-system-path=\"user/login\">Log in</a>\n                  </li>\n        </ul>\n  \n\n\n  </nav>\n\n  </div>\n\n            </div>\n        </div>\n    </footer>\n  \n    \n    <script type=\"application/json\" data-drupal-selector=\"drupal-settings-json\">{\"path\":{\"baseUrl\":\"\\/\",\"scriptPath\":null,\"pathPrefix\":\"\",\"currentPath\":\"search\\/node\",\"currentPathIsAdmin\":false,\"isFront\":false,\"currentLanguage\":\"en\",\"currentQuery\":{\"keys\":\"Direct\",\"page\":\"1\"}},\"pluralDelimiter\":\"\\u0003\",\"bootstrap\":{\"forms_has_error_value_toggle\":1,\"modal_animation\":1,\"modal_backdrop\":\"true\",\"modal_keyboard\":1,\"modal_show\":1,\"modal_size\":\"\",\"popover_enabled\":1,\"popover_animation\":1,\"popover_container\":\"body\",\"popover_content\":\"\",\"popover_delay\":\"0\",\"popover_html\":0,\"popover_placement\":\"right\",\"popover_selector\":\"\",\"popover_title\":\"\",\"popover_trigger\":\"click\",\"popover_trigger_autoclose\":1,\"tooltip_enabled\":1,\"tooltip_animation\":1,\"tooltip_container\":\"body\",\"tooltip_delay\":\"0\",\"tooltip_html\":0,\"tooltip_placement\":\"auto left\",\"tooltip_selector\":\"\",\"tooltip_trigger\":\"hover\"},\"ajaxTrustedUrl\":{\"form_action_p_pvdeGsVG5zNF_XLGPTvYSKCf43t8qZYSwcfZl2uzM\":true,\"\\/search\\/node\":true},\"user\":{\"uid\":0,\"permissionsHash\":\"aa7fc4c8fb40c7a8665ccd12fea07926dff0f59b9ee3346bc513c6399bee5b01\"}}</script>\n<script src=\"/sites/default/files/js/js_2l0lF4i9o3aztHULbfajMT_RTqGCEN_lVC8JI48SILw.js\"></script>\n\n  </body>\n</html>\n\";s:10:\"\0*\0version\";s:3:\"1.0\";s:13:\"\0*\0statusCode\";i:200;s:13:\"\0*\0statusText\";s:2:\"OK\";s:10:\"\0*\0charset\";N;s:23:\"\0*\0cacheabilityMetadata\";O:35:\"Drupal\\Core\\Cache\\CacheableMetadata\":3:{s:16:\"\0*\0cacheContexts\";a:20:{i:0;s:28:\"languages:language_interface\";i:1;s:5:\"route\";i:2;s:32:\"route.menu_active_trails:account\";i:3;s:29:\"route.menu_active_trails:main\";i:4;s:30:\"route.menu_active_trails:tools\";i:5;s:5:\"theme\";i:6;s:3:\"url\";i:7;s:8:\"url.path\";i:8;s:17:\"url.path.is_front\";i:9;s:15:\"url.path.parent\";i:10;s:14:\"url.query_args\";i:11;s:23:\"url.query_args.pagers:0\";i:12;s:30:\"url.query_args:_wrapper_format\";i:13;s:19:\"url.query_args:keys\";i:14;s:8:\"url.site\";i:15;s:4:\"user\";i:16;s:21:\"user.node_grants:view\";i:17;s:16:\"user.permissions\";i:18;s:10:\"user.roles\";i:19;s:24:\"user.roles:authenticated\";}s:12:\"\0*\0cacheTags\";a:68:{i:0;s:16:\"block_content:18\";i:1;s:16:\"block_content:23\";i:2;s:15:\"block_content:7\";i:3;s:18:\"block_content_view\";i:4;s:10:\"block_view\";i:5;s:32:\"config:block.block.choosingyaffs\";i:6;s:29:\"config:block.block.cookieinfo\";i:7;s:32:\"config:block.block.downloadyaffs\";i:8;s:30:\"config:block.block.footerlegal\";i:9;s:39:\"config:block.block.frontimagehighlight2\";i:10;s:32:\"config:block.block.frontpagehero\";i:11;s:39:\"config:block.block.frontpageprimeryaffs\";i:12;s:33:\"config:block.block.mainnavigation\";i:13;s:35:\"config:block.block.mainnavigation_2\";i:14;s:29:\"config:block.block.searchform\";i:15;s:31:\"config:block.block.sitebranding\";i:16;s:66:\"config:block.block.views_block__highlighted_yaffs_features_block_1\";i:17;s:66:\"config:block.block.views_block__yaffs_admin_recent_content_block_1\";i:18;s:66:\"config:block.block.views_block__yaffs_documents_highlights_block_1\";i:19;s:56:\"config:block.block.views_block__yaffs_user_logos_block_1\";i:20;s:37:\"config:block.block.yaffs_account_menu\";i:21;s:33:\"config:block.block.yaffs_block_10\";i:22;s:32:\"config:block.block.yaffs_block_5\";i:23;s:32:\"config:block.block.yaffs_block_6\";i:24;s:32:\"config:block.block.yaffs_block_8\";i:25;s:32:\"config:block.block.yaffs_block_9\";i:26;s:36:\"config:block.block.yaffs_breadcrumbs\";i:27;s:32:\"config:block.block.yaffs_content\";i:28;s:29:\"config:block.block.yaffs_help\";i:29;s:36:\"config:block.block.yaffs_local_tasks\";i:30;s:33:\"config:block.block.yaffs_messages\";i:31;s:35:\"config:block.block.yaffs_page_title\";i:32;s:32:\"config:block.block.yaffs_user_21\";i:33;s:31:\"config:block.block.yaffsinspace\";i:34;s:17:\"config:block_list\";i:35;s:24:\"config:color.theme.yaffs\";i:36;s:31:\"config:filter.format.basic_html\";i:37;s:30:\"config:filter.format.full_html\";i:38;s:29:\"config:filter.format.raw_html\";i:39;s:30:\"config:search.page.node_search\";i:40;s:30:\"config:search.page.user_search\";i:41;s:22:\"config:search.settings\";i:42;s:26:\"config:system.menu.account\";i:43;s:23:\"config:system.menu.main\";i:44;s:24:\"config:system.menu.tools\";i:45;s:18:\"config:system.site\";i:46;s:26:\"config:user.role.anonymous\";i:47;s:7:\"file:76\";i:48;s:13:\"http_response\";i:49;s:7:\"node:32\";i:50;s:8:\"node:344\";i:51;s:8:\"node:382\";i:52;s:7:\"node:39\";i:53;s:7:\"node:40\";i:54;s:8:\"node:409\";i:55;s:8:\"node:417\";i:56;s:8:\"node:418\";i:57;s:8:\"node:426\";i:58;s:7:\"node:43\";i:59;s:9:\"node_list\";i:60;s:9:\"node_view\";i:61;s:8:\"rendered\";i:62;s:12:\"search_index\";i:63;s:24:\"search_index:node_search\";i:64;s:6:\"user:0\";i:65;s:6:\"user:1\";i:66;s:6:\"user:3\";i:67;s:6:\"user:6\";}s:14:\"\0*\0cacheMaxAge\";i:-1;}s:14:\"\0*\0attachments\";a:4:{s:7:\"library\";a:9:{i:0;s:14:\"core/html5shiv\";i:1;s:11:\"system/base\";i:2;s:15:\"bootstrap/theme\";i:3;s:20:\"yaffs/global-styling\";i:4;s:23:\"yaffs/bootstrap-scripts\";i:5;s:19:\"yaffs/yaffs-helpers\";i:6;s:17:\"bootstrap/popover\";i:7;s:17:\"bootstrap/tooltip\";i:8;s:50:\"environment_indicator/drupal.environment_indicator\";}s:9:\"html_head\";a:19:{i:0;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:5:\"title\";s:7:\"content\";s:53:\"Search | Yaffs - A Flash File System for embedded use\";}}i:1;s:5:\"title\";}i:1;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:13:\"news_keywords\";s:7:\"content\";s:17:\"Flash File System\";}}i:1;s:13:\"news_keywords\";}i:2;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:11:\"description\";s:7:\"content\";s:352:\"Yaffs (Yet Another Flash File System) is an open-source file system specifically designed to be fast, robust and suitable for embedded use with NAND and NOR Flash. It is widely used with Linux, RTOSs, or no OS at all, in consumer devices and critical infrastructure. It is available under GNU Public License, GPL, or on commercial terms from Aleph One.\";}}i:1;s:11:\"description\";}i:3;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:8:\"abstract\";s:7:\"content\";s:352:\"Yaffs (Yet Another Flash File System) is an open-source file system specifically designed to be fast, robust and suitable for embedded use with NAND and NOR Flash. It is widely used with Linux, RTOSs, or no OS at all, in consumer devices and critical infrastructure. It is available under GNU Public License, GPL, or on commercial terms from Aleph One.\";}}i:1;s:8:\"abstract\";}i:4;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:8:\"keywords\";s:7:\"content\";s:82:\"flash File System, flash, file System, flash storage, NAND flash, NOR flash, Yaffs\";}}i:1;s:8:\"keywords\";}i:5;a:2:{i:0;a:3:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:1:{s:7:\"charset\";s:5:\"utf-8\";}s:7:\"#weight\";i:-1000;}i:1;s:24:\"system_meta_content_type\";}i:6;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:9:\"Generator\";s:7:\"content\";s:33:\"Drupal 8 (https://www.drupal.org)\";}}i:1;s:21:\"system_meta_generator\";}i:7;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:15:\"MobileOptimized\";s:7:\"content\";s:5:\"width\";}}i:1;s:15:\"MobileOptimized\";}i:8;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:16:\"HandheldFriendly\";s:7:\"content\";s:4:\"true\";}}i:1;s:16:\"HandheldFriendly\";}i:9;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:8:\"viewport\";s:7:\"content\";s:37:\"width=device-width, initial-scale=1.0\";}}i:1;s:8:\"viewport\";}i:10;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:125:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansRegular-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1151\";}i:11;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:124:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1152\";}i:12;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:122:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBold-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1153\";}i:13;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:123:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBold-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1149\";}i:14;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:129:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBoldItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1150\";}i:15;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:125:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1148\";}i:16;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:126:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifRegular-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1147\";}i:17;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:128:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBoldItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1154\";}i:18;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:13:\"shortcut icon\";s:4:\"href\";s:38:\"/sites/default/files/yaffs_favicon.png\";s:4:\"type\";s:9:\"image/png\";}}i:1;s:67:\"html_head_link:shortcut icon:/sites/default/files/yaffs_favicon.png\";}}s:12:\"placeholders\";a:0:{}s:14:\"drupalSettings\";a:5:{s:4:\"path\";a:8:{s:7:\"baseUrl\";s:1:\"/\";s:10:\"scriptPath\";N;s:10:\"pathPrefix\";s:0:\"\";s:11:\"currentPath\";s:11:\"search/node\";s:18:\"currentPathIsAdmin\";b:0;s:7:\"isFront\";b:0;s:15:\"currentLanguage\";s:2:\"en\";s:12:\"currentQuery\";O:8:\"stdClass\":2:{s:4:\"keys\";s:6:\"Direct\";s:4:\"page\";s:1:\"1\";}}s:15:\"pluralDelimiter\";s:1:\"\";s:9:\"bootstrap\";a:25:{s:28:\"forms_has_error_value_toggle\";i:1;s:15:\"modal_animation\";i:1;s:14:\"modal_backdrop\";s:4:\"true\";s:14:\"modal_keyboard\";i:1;s:10:\"modal_show\";i:1;s:10:\"modal_size\";s:0:\"\";s:15:\"popover_enabled\";i:1;s:17:\"popover_animation\";i:1;s:17:\"popover_container\";s:4:\"body\";s:15:\"popover_content\";s:0:\"\";s:13:\"popover_delay\";s:1:\"0\";s:12:\"popover_html\";i:0;s:17:\"popover_placement\";s:5:\"right\";s:16:\"popover_selector\";s:0:\"\";s:13:\"popover_title\";s:0:\"\";s:15:\"popover_trigger\";s:5:\"click\";s:25:\"popover_trigger_autoclose\";i:1;s:15:\"tooltip_enabled\";i:1;s:17:\"tooltip_animation\";i:1;s:17:\"tooltip_container\";s:4:\"body\";s:13:\"tooltip_delay\";s:1:\"0\";s:12:\"tooltip_html\";i:0;s:17:\"tooltip_placement\";s:9:\"auto left\";s:16:\"tooltip_selector\";s:0:\"\";s:15:\"tooltip_trigger\";s:5:\"hover\";}s:14:\"ajaxTrustedUrl\";a:2:{s:55:\"form_action_p_pvdeGsVG5zNF_XLGPTvYSKCf43t8qZYSwcfZl2uzM\";b:1;s:12:\"/search/node\";b:1;}s:4:\"user\";a:2:{s:3:\"uid\";i:0;s:15:\"permissionsHash\";s:64:\"aa7fc4c8fb40c7a8665ccd12fea07926dff0f59b9ee3346bc513c6399bee5b01\";}}}}',-1,1505196111.635,1,'block_content:18 block_content:23 block_content:7 block_content_view block_view config:block.block.choosingyaffs config:block.block.cookieinfo config:block.block.downloadyaffs config:block.block.footerlegal config:block.block.frontimagehighlight2 config:block.block.frontpagehero config:block.block.frontpageprimeryaffs config:block.block.mainnavigation config:block.block.mainnavigation_2 config:block.block.searchform config:block.block.sitebranding config:block.block.views_block__highlighted_yaffs_features_block_1 config:block.block.views_block__yaffs_admin_recent_content_block_1 config:block.block.views_block__yaffs_documents_highlights_block_1 config:block.block.views_block__yaffs_user_logos_block_1 config:block.block.yaffs_account_menu config:block.block.yaffs_block_10 config:block.block.yaffs_block_5 config:block.block.yaffs_block_6 config:block.block.yaffs_block_8 config:block.block.yaffs_block_9 config:block.block.yaffs_breadcrumbs config:block.block.yaffs_content config:block.block.yaffs_help config:block.block.yaffs_local_tasks config:block.block.yaffs_messages config:block.block.yaffs_page_title config:block.block.yaffs_user_21 config:block.block.yaffsinspace config:block_list config:color.theme.yaffs config:filter.format.basic_html config:filter.format.full_html config:filter.format.raw_html config:search.page.node_search config:search.page.user_search config:search.settings config:system.menu.account config:system.menu.main config:system.menu.tools config:system.site config:user.role.anonymous file:76 http_response node:32 node:344 node:382 node:39 node:40 node:409 node:417 node:418 node:426 node:43 node_list node_view rendered search_index search_index:node_search user:0 user:1 user:3 user:6','3759'),('https://yaffs.net/search/node?keys=Direct&page=2:html','O:31:\"Drupal\\Core\\Render\\HtmlResponse\":8:{s:7:\"headers\";O:50:\"Symfony\\Component\\HttpFoundation\\ResponseHeaderBag\":5:{s:23:\"\0*\0computedCacheControl\";a:2:{s:7:\"max-age\";s:3:\"300\";s:6:\"public\";b:1;}s:10:\"\0*\0cookies\";a:0:{}s:14:\"\0*\0headerNames\";a:14:{s:12:\"content-type\";s:12:\"Content-Type\";s:13:\"cache-control\";s:13:\"Cache-Control\";s:4:\"date\";s:4:\"Date\";s:22:\"x-drupal-dynamic-cache\";s:22:\"X-Drupal-Dynamic-Cache\";s:4:\"link\";s:4:\"Link\";s:15:\"x-ua-compatible\";s:15:\"X-UA-Compatible\";s:16:\"content-language\";s:16:\"Content-language\";s:22:\"x-content-type-options\";s:22:\"X-Content-Type-Options\";s:15:\"x-frame-options\";s:15:\"X-Frame-Options\";s:7:\"expires\";s:7:\"Expires\";s:13:\"last-modified\";s:13:\"Last-Modified\";s:4:\"etag\";s:4:\"ETag\";s:4:\"vary\";s:4:\"Vary\";s:11:\"x-generator\";s:11:\"X-Generator\";}s:10:\"\0*\0headers\";a:14:{s:12:\"content-type\";a:1:{i:0;s:24:\"text/html; charset=UTF-8\";}s:13:\"cache-control\";a:1:{i:0;s:19:\"max-age=300, public\";}s:4:\"date\";a:1:{i:0;s:29:\"Tue, 12 Sep 2017 06:53:28 GMT\";}s:22:\"x-drupal-dynamic-cache\";a:1:{i:0;s:4:\"MISS\";}s:4:\"link\";a:3:{i:0;s:108:\"</sites/default/files/css/css_YGKHk3qOgVcGqV_6s_kZUGJkGYQEouHb462Ja18qfRA.css?ovtedh>; rel=preload; as=style\";i:1;s:108:\"</sites/default/files/css/css_6qeLA6GBkZNPHWp9GdQIYovV3tYuKU-ts-HicZ-WeQQ.css?ovtedh>; rel=preload; as=style\";i:2;s:99:\"</sites/default/files/js/js_2l0lF4i9o3aztHULbfajMT_RTqGCEN_lVC8JI48SILw.js>; rel=preload; as=script\";}s:15:\"x-ua-compatible\";a:1:{i:0;s:7:\"IE=edge\";}s:16:\"content-language\";a:1:{i:0;s:2:\"en\";}s:22:\"x-content-type-options\";a:1:{i:0;s:7:\"nosniff\";}s:15:\"x-frame-options\";a:1:{i:0;s:10:\"SAMEORIGIN\";}s:7:\"expires\";a:1:{i:0;s:29:\"Sun, 19 Nov 1978 05:00:00 GMT\";}s:13:\"last-modified\";a:1:{i:0;s:29:\"Tue, 12 Sep 2017 06:53:28 GMT\";}s:4:\"etag\";a:1:{i:0;s:12:\"\"1505199208\"\";}s:4:\"vary\";a:1:{i:0;s:6:\"Cookie\";}s:11:\"x-generator\";a:1:{i:0;s:33:\"Drupal 8 (https://www.drupal.org)\";}}s:15:\"\0*\0cacheControl\";a:2:{s:7:\"max-age\";s:3:\"300\";s:6:\"public\";b:1;}}s:10:\"\0*\0content\";s:15347:\"<!DOCTYPE html>\n<html  lang=\"en\" dir=\"ltr\" prefix=\"content: http://purl.org/rss/1.0/modules/content/  dc: http://purl.org/dc/terms/  foaf: http://xmlns.com/foaf/0.1/  og: http://ogp.me/ns#  rdfs: http://www.w3.org/2000/01/rdf-schema#  schema: http://schema.org/  sioc: http://rdfs.org/sioc/ns#  sioct: http://rdfs.org/sioc/types#  skos: http://www.w3.org/2004/02/skos/core#  xsd: http://www.w3.org/2001/XMLSchema# \">\n  <head>\n    <meta charset=\"utf-8\" />\n<meta name=\"title\" content=\"Search | Yaffs - A Flash File System for embedded use\" />\n<meta name=\"news_keywords\" content=\"Flash File System\" />\n<meta name=\"description\" content=\"Yaffs (Yet Another Flash File System) is an open-source file system specifically designed to be fast, robust and suitable for embedded use with NAND and NOR Flash. It is widely used with Linux, RTOSs, or no OS at all, in consumer devices and critical infrastructure. It is available under GNU Public License, GPL, or on commercial terms from Aleph One.\" />\n<meta name=\"abstract\" content=\"Yaffs (Yet Another Flash File System) is an open-source file system specifically designed to be fast, robust and suitable for embedded use with NAND and NOR Flash. It is widely used with Linux, RTOSs, or no OS at all, in consumer devices and critical infrastructure. It is available under GNU Public License, GPL, or on commercial terms from Aleph One.\" />\n<meta name=\"keywords\" content=\"flash File System, flash, file System, flash storage, NAND flash, NOR flash, Yaffs\" />\n<meta name=\"Generator\" content=\"Drupal 8 (https://www.drupal.org)\" />\n<meta name=\"MobileOptimized\" content=\"width\" />\n<meta name=\"HandheldFriendly\" content=\"true\" />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansRegular-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBold-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBold-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBoldItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifRegular-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBoldItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"shortcut icon\" href=\"/sites/default/files/yaffs_favicon.png\" type=\"image/png\" />\n\n    <title>Search | Yaffs - A Flash File System for embedded use</title>\n    <link rel=\"stylesheet\" href=\"/sites/default/files/css/css_YGKHk3qOgVcGqV_6s_kZUGJkGYQEouHb462Ja18qfRA.css?ovtedh\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"/sites/default/files/css/css_6qeLA6GBkZNPHWp9GdQIYovV3tYuKU-ts-HicZ-WeQQ.css?ovtedh\" media=\"all\" />\n\n    \n<!--[if lte IE 8]>\n<script src=\"/sites/default/files/js/js_VtafjXmRvoUgAzqzYTA3Wrjkx9wcWhjP0G4ZnnqRamA.js\"></script>\n<![endif]-->\n\n  </head>\n  <body class=\"fontyourface path-search navbar-is-fixed-top has-glyphicons\">\n    <a href=\"#main-content\" class=\"visually-hidden focusable skip-link\">\n      Skip to main content\n    </a>\n    <div style=\"background-color: ; color: \" id=\"environment-indicator\">\n  \n    </div>\n\n              <header class=\"navbar navbar-default navbar-fixed-top\" id=\"navbar\" role=\"banner\">\n              <div class=\"container\">\n            <div class=\"navbar-header\">\n          <div class=\"region region-navigation\">\n          <a class=\"logo navbar-btn pull-left\" href=\"/\" title=\"Home\" rel=\"home\">\n      <img src=\"/themes/custom/yaffs/logo.svg\" alt=\"Home\" />\n    </a>\n      \n  </div>\n\n                          <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar-collapse\">\n            <span class=\"sr-only\">Toggle navigation</span>\n            <span class=\"icon-bar\"></span>\n            <span class=\"icon-bar\"></span>\n            <span class=\"icon-bar\"></span>\n          </button>\n              </div>\n\n                    <div id=\"navbar-collapse\" class=\"navbar-collapse collapse\">\n            <div class=\"region region-navigation-collapsible\">\n    <nav role=\"navigation\" aria-labelledby=\"block-mainnavigation-menu\" id=\"block-mainnavigation\">\n            <h2 class=\"sr-only\" id=\"block-mainnavigation-menu\">Main navigation</h2>\n\n      \n              <ul class=\"menu nav navbar-nav\">\n                            <li>\n        <a href=\"/\" data-drupal-link-system-path=\"&lt;front&gt;\">Home</a>\n                  </li>\n                        <li>\n        <a href=\"/support\" title=\"Help for Yaffs\" data-drupal-link-system-path=\"node/380\">Support</a>\n                  </li>\n                        <li>\n        <a href=\"/documents\" data-drupal-link-system-path=\"documents\">Documents</a>\n                  </li>\n                        <li>\n        <a href=\"/get-yaffs\" data-drupal-link-system-path=\"node/382\">Download</a>\n                  </li>\n                        <li>\n        <a href=\"/about-us\" data-drupal-link-system-path=\"node/325\">About us</a>\n                  </li>\n                        <li>\n        <a href=\"/contact\" data-drupal-link-system-path=\"node/73\">Contact</a>\n                  </li>\n        </ul>\n  \n\n\n  </nav>\n<div class=\"search-block-form block block-search block-search-form-block\" data-drupal-selector=\"search-block-form\" id=\"block-searchform\" role=\"search\">\n  \n    \n      <form action=\"/search/node\" method=\"get\" id=\"search-block-form\" accept-charset=\"UTF-8\">\n  <div class=\"form-item js-form-item form-type-search js-form-type-search form-item-keys js-form-item-keys form-no-label form-group\">\n      <label for=\"edit-keys\" class=\"control-label sr-only\">Search</label>\n  \n  \n  <div class=\"input-group\"><input title=\"Enter the terms you wish to search for.\" data-drupal-selector=\"edit-keys\" class=\"form-search form-control\" placeholder=\"Search\" type=\"search\" id=\"edit-keys\" name=\"keys\" value=\"\" size=\"15\" maxlength=\"128\" data-toggle=\"tooltip\" /><span class=\"input-group-btn\"><button type=\"submit\" value=\"Search\" class=\"button js-form-submit form-submit btn-primary btn icon-only\" name=\"\"><span class=\"sr-only\">Search</span><span class=\"icon glyphicon glyphicon-search\" aria-hidden=\"true\"></span></button></span></div>\n\n  \n  \n  </div>\n<div class=\"form-actions form-group js-form-wrapper form-wrapper\" data-drupal-selector=\"edit-actions\" id=\"edit-actions\"></div>\n\n</form>\n\n  </div>\n\n  </div>\n\n        </div>\n                    </div>\n          </header>\n  \n  <div role=\"main\" class=\"main-container container js-quickedit-main-content\">\n    <div class=\"row\">\n\n            \n            \n                  <section class=\"col-sm-12\">\n\n                                      <div class=\"highlighted\">  <div class=\"region region-highlighted\">\n        <ol class=\"breadcrumb\">\n          <li >\n                  <a href=\"/search\">Search</a>\n              </li>\n          <li  class=\"active\">\n                  Search\n              </li>\n      </ol>\n\n\n\n  </div>\n</div>\n                  \n                \n                \n                                      \n                  \n                          <a id=\"main-content\"></a>\n            <div class=\"region region-content\">\n        <h1 class=\"page-header\">Search for Direct</h1>\n\n  <form class=\"search-form search-page-form\" data-drupal-selector=\"search-form\" action=\"/search/node?keys=Direct&amp;page=2\" method=\"post\" id=\"search-form\" accept-charset=\"UTF-8\">\n  <div class=\"form-group js-form-wrapper form-wrapper\" data-drupal-selector=\"edit-basic\" id=\"edit-basic\"><div class=\"form-item js-form-item form-type-search js-form-type-search form-item-keys js-form-item-keys form-no-label form-group\">\n      <label for=\"edit-keys\" class=\"control-label sr-only\">Enter your keywords</label>\n  \n  \n  <div class=\"input-group\"><input data-drupal-selector=\"edit-keys\" class=\"form-search form-control\" placeholder=\"Enter your keywords\" type=\"search\" id=\"edit-keys\" name=\"keys\" value=\"Direct\" size=\"30\" maxlength=\"255\" title=\"Enter the terms you wish to search for.\" data-toggle=\"tooltip\" /><span class=\"input-group-btn\"><button type=\"submit\" name=\"op\" value=\"Search\" class=\"button js-form-submit form-submit btn-primary btn icon-only\"><span class=\"sr-only\">Search</span><span class=\"icon glyphicon glyphicon-search\" aria-hidden=\"true\"></span></button></span></div>\n\n  \n  \n  </div>\n</div>\n<a href=\"/search/node/help\" class=\"search-help-link\" data-drupal-selector=\"edit-help-link\" id=\"edit-help-link\">Search help</a><input data-drupal-selector=\"form-xfpvdgw6-5dsz1cap4aus4mepu0wk5wqvrksfbuveei\" type=\"hidden\" name=\"form_build_id\" value=\"form-XfPvdGW6_5DsZ1cAp4AuS4mePU0Wk5WqvRKsfBuVeeI\" /><input data-drupal-selector=\"edit-search-form\" type=\"hidden\" name=\"form_id\" value=\"search_form\" />\n</form>\n<h2>Search results</h2><ol><li>\n<h3>\n  <a href=\"https://yaffs.net/legal\">Legal</a>\n</h3>\n\n  <p>…  with them:  \n\n    Source Code for Yaffs1, Yaffs2 and Yaffs/<strong>direct</strong> and Bootloader, being the subject of this Licence …</p>\n  <p></p>\n</li><li>\n<h3>\n  <a href=\"https://yaffs.net/archives/yaffs-original-specification\">Yaffs Original Specification</a>\n</h3>\n\n  <p>…   \n\n  Bootloading  \n\n  Bootloaders cannot just read files <strong>direct</strong> from NAND due to the high probability of bad blocks. …</p>\n  <p></p>\n</li></ol>  <nav class=\"pager-nav text-center\" role=\"navigation\" aria-labelledby=\"pagination-heading\">\n    <h4 id=\"pagination-heading\" class=\"visually-hidden\">Pagination</h4>\n    <ul class=\"pagination js-pager__items\">\n\n                    <li class=\"pager__item pager__item--first\">\n          <a href=\"?keys=Direct&amp;page=0\" title=\"Go to first page\" rel=\"prev\">\n            <span class=\"visually-hidden\">First page</span>\n            <span aria-hidden=\"true\">first</span>\n          </a>\n        </li>\n      \n                    <li class=\"pager__item pager__item--previous\">\n          <a href=\"?keys=Direct&amp;page=1\" title=\"Go to previous page\" rel=\"prev\">\n            <span class=\"visually-hidden\">Previous page</span>\n            <span aria-hidden=\"true\">previous</span>\n          </a>\n        </li>\n      \n                    <li class=\"pager__item\">\n                                          <a href=\"?keys=Direct&amp;page=0\" title=\"Go to page 1\">\n            <span class=\"visually-hidden\">\n              Page\n            </span>1</a>\n        </li>\n              <li class=\"pager__item\">\n                                          <a href=\"?keys=Direct&amp;page=1\" title=\"Go to page 2\">\n            <span class=\"visually-hidden\">\n              Page\n            </span>2</a>\n        </li>\n              <li class=\"pager__item is-active active\">\n                                          <a href=\"?keys=Direct&amp;page=2\" title=\"Current page\">\n            <span class=\"visually-hidden\">\n              Current page\n            </span>3</a>\n        </li>\n      \n            \n            \n    </ul>\n  </nav>\n\n\n  </div>\n\n              </section>\n\n                </div>\n  </div>\n\n      <footer class=\"footer container\" role=\"contentinfo\">\n        <div class=\"primary_footer row\">\n            <div class=\"col-sm-3\">\n                  <div class=\"region region-footer-col1\">\n    <section id=\"block-yaffs-block-6\" class=\"block block-block-content block-block-content6c2d4b45-4dba-4b2d-8b9f-76701bf27533 clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<ul class=\"fa-ul\">\n<li><i class=\"fa-li fa fa-phone\"></i>+44 (0)1223 811679</li>\n<li><i class=\"fa-li fa fa-envelope\"></i><a href=\"denied:mailto:info@aleph1.co.uk?Subject=Website contact\" target=\"_top\">info@aleph1.co.uk</a></li>\n</ul>\n</div>\n      \n  </section>\n\n\n  </div>\n\n            </div>\n            <div class=\"col-sm-3\">\n                \n            </div>\n            <div class=\"col-sm-3\">\n                \n            </div>\n            <div class=\"col-sm-3\">\n                  <div class=\"region region-footer-col4\">\n    <section id=\"block-footerlegal\" class=\"block block-block-content block-block-content78ab593d-35b6-4772-a141-30216e7fcbb2 clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<p class=\"text-align-right\">&nbsp;<a href=\"/legal\">Legal &amp; Cookies</a></p>\n</div>\n      \n  </section>\n\n<section id=\"block-cookieinfo\" class=\"block block-block-content block-block-content4848c58d-90df-4819-81d8-0f9568eeeaac clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<p class=\"text-align-justify\"><br />\nWe use <a href=\"/legal\">cookies on this site</a>. By using it, you are giving us consent to set cookies.</p>\n</div>\n      \n  </section>\n\n\n  </div>\n\n            </div>\n        </div>\n        <div class = \"secondary_footer row\">\n            <div class=\"col-sm-12\">\n                <div class=\"region region-footer\">\n    <nav role=\"navigation\" aria-labelledby=\"block-yaffs-account-menu-menu\" id=\"block-yaffs-account-menu\">\n            <h2 class=\"sr-only\" id=\"block-yaffs-account-menu-menu\">User account menu</h2>\n\n      \n              <ul class=\"menu nav navbar-nav navbar-right\">\n                            <li>\n        <a href=\"/user/login\" data-drupal-link-system-path=\"user/login\">Log in</a>\n                  </li>\n        </ul>\n  \n\n\n  </nav>\n\n  </div>\n\n            </div>\n        </div>\n    </footer>\n  \n    \n    <script type=\"application/json\" data-drupal-selector=\"drupal-settings-json\">{\"path\":{\"baseUrl\":\"\\/\",\"scriptPath\":null,\"pathPrefix\":\"\",\"currentPath\":\"search\\/node\",\"currentPathIsAdmin\":false,\"isFront\":false,\"currentLanguage\":\"en\",\"currentQuery\":{\"keys\":\"Direct\",\"page\":\"2\"}},\"pluralDelimiter\":\"\\u0003\",\"bootstrap\":{\"forms_has_error_value_toggle\":1,\"modal_animation\":1,\"modal_backdrop\":\"true\",\"modal_keyboard\":1,\"modal_show\":1,\"modal_size\":\"\",\"popover_enabled\":1,\"popover_animation\":1,\"popover_container\":\"body\",\"popover_content\":\"\",\"popover_delay\":\"0\",\"popover_html\":0,\"popover_placement\":\"right\",\"popover_selector\":\"\",\"popover_title\":\"\",\"popover_trigger\":\"click\",\"popover_trigger_autoclose\":1,\"tooltip_enabled\":1,\"tooltip_animation\":1,\"tooltip_container\":\"body\",\"tooltip_delay\":\"0\",\"tooltip_html\":0,\"tooltip_placement\":\"auto left\",\"tooltip_selector\":\"\",\"tooltip_trigger\":\"hover\"},\"ajaxTrustedUrl\":{\"form_action_p_pvdeGsVG5zNF_XLGPTvYSKCf43t8qZYSwcfZl2uzM\":true,\"\\/search\\/node\":true},\"user\":{\"uid\":0,\"permissionsHash\":\"aa7fc4c8fb40c7a8665ccd12fea07926dff0f59b9ee3346bc513c6399bee5b01\"}}</script>\n<script src=\"/sites/default/files/js/js_2l0lF4i9o3aztHULbfajMT_RTqGCEN_lVC8JI48SILw.js\"></script>\n\n  </body>\n</html>\n\";s:10:\"\0*\0version\";s:3:\"1.0\";s:13:\"\0*\0statusCode\";i:200;s:13:\"\0*\0statusText\";s:2:\"OK\";s:10:\"\0*\0charset\";N;s:23:\"\0*\0cacheabilityMetadata\";O:35:\"Drupal\\Core\\Cache\\CacheableMetadata\":3:{s:16:\"\0*\0cacheContexts\";a:20:{i:0;s:28:\"languages:language_interface\";i:1;s:5:\"route\";i:2;s:32:\"route.menu_active_trails:account\";i:3;s:29:\"route.menu_active_trails:main\";i:4;s:30:\"route.menu_active_trails:tools\";i:5;s:5:\"theme\";i:6;s:3:\"url\";i:7;s:8:\"url.path\";i:8;s:17:\"url.path.is_front\";i:9;s:15:\"url.path.parent\";i:10;s:14:\"url.query_args\";i:11;s:23:\"url.query_args.pagers:0\";i:12;s:30:\"url.query_args:_wrapper_format\";i:13;s:19:\"url.query_args:keys\";i:14;s:8:\"url.site\";i:15;s:4:\"user\";i:16;s:21:\"user.node_grants:view\";i:17;s:16:\"user.permissions\";i:18;s:10:\"user.roles\";i:19;s:24:\"user.roles:authenticated\";}s:12:\"\0*\0cacheTags\";a:57:{i:0;s:16:\"block_content:18\";i:1;s:16:\"block_content:23\";i:2;s:15:\"block_content:7\";i:3;s:18:\"block_content_view\";i:4;s:10:\"block_view\";i:5;s:32:\"config:block.block.choosingyaffs\";i:6;s:29:\"config:block.block.cookieinfo\";i:7;s:32:\"config:block.block.downloadyaffs\";i:8;s:30:\"config:block.block.footerlegal\";i:9;s:39:\"config:block.block.frontimagehighlight2\";i:10;s:32:\"config:block.block.frontpagehero\";i:11;s:39:\"config:block.block.frontpageprimeryaffs\";i:12;s:33:\"config:block.block.mainnavigation\";i:13;s:35:\"config:block.block.mainnavigation_2\";i:14;s:29:\"config:block.block.searchform\";i:15;s:31:\"config:block.block.sitebranding\";i:16;s:66:\"config:block.block.views_block__highlighted_yaffs_features_block_1\";i:17;s:66:\"config:block.block.views_block__yaffs_admin_recent_content_block_1\";i:18;s:66:\"config:block.block.views_block__yaffs_documents_highlights_block_1\";i:19;s:56:\"config:block.block.views_block__yaffs_user_logos_block_1\";i:20;s:37:\"config:block.block.yaffs_account_menu\";i:21;s:33:\"config:block.block.yaffs_block_10\";i:22;s:32:\"config:block.block.yaffs_block_5\";i:23;s:32:\"config:block.block.yaffs_block_6\";i:24;s:32:\"config:block.block.yaffs_block_8\";i:25;s:32:\"config:block.block.yaffs_block_9\";i:26;s:36:\"config:block.block.yaffs_breadcrumbs\";i:27;s:32:\"config:block.block.yaffs_content\";i:28;s:29:\"config:block.block.yaffs_help\";i:29;s:36:\"config:block.block.yaffs_local_tasks\";i:30;s:33:\"config:block.block.yaffs_messages\";i:31;s:35:\"config:block.block.yaffs_page_title\";i:32;s:32:\"config:block.block.yaffs_user_21\";i:33;s:31:\"config:block.block.yaffsinspace\";i:34;s:17:\"config:block_list\";i:35;s:24:\"config:color.theme.yaffs\";i:36;s:31:\"config:filter.format.basic_html\";i:37;s:30:\"config:filter.format.full_html\";i:38;s:29:\"config:filter.format.raw_html\";i:39;s:30:\"config:search.page.node_search\";i:40;s:30:\"config:search.page.user_search\";i:41;s:22:\"config:search.settings\";i:42;s:26:\"config:system.menu.account\";i:43;s:23:\"config:system.menu.main\";i:44;s:24:\"config:system.menu.tools\";i:45;s:18:\"config:system.site\";i:46;s:26:\"config:user.role.anonymous\";i:47;s:13:\"http_response\";i:48;s:7:\"node:31\";i:49;s:7:\"node:37\";i:50;s:9:\"node_list\";i:51;s:9:\"node_view\";i:52;s:8:\"rendered\";i:53;s:12:\"search_index\";i:54;s:24:\"search_index:node_search\";i:55;s:6:\"user:0\";i:56;s:6:\"user:1\";}s:14:\"\0*\0cacheMaxAge\";i:-1;}s:14:\"\0*\0attachments\";a:4:{s:7:\"library\";a:9:{i:0;s:14:\"core/html5shiv\";i:1;s:11:\"system/base\";i:2;s:15:\"bootstrap/theme\";i:3;s:20:\"yaffs/global-styling\";i:4;s:23:\"yaffs/bootstrap-scripts\";i:5;s:19:\"yaffs/yaffs-helpers\";i:6;s:17:\"bootstrap/popover\";i:7;s:17:\"bootstrap/tooltip\";i:8;s:50:\"environment_indicator/drupal.environment_indicator\";}s:9:\"html_head\";a:19:{i:0;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:5:\"title\";s:7:\"content\";s:53:\"Search | Yaffs - A Flash File System for embedded use\";}}i:1;s:5:\"title\";}i:1;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:13:\"news_keywords\";s:7:\"content\";s:17:\"Flash File System\";}}i:1;s:13:\"news_keywords\";}i:2;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:11:\"description\";s:7:\"content\";s:352:\"Yaffs (Yet Another Flash File System) is an open-source file system specifically designed to be fast, robust and suitable for embedded use with NAND and NOR Flash. It is widely used with Linux, RTOSs, or no OS at all, in consumer devices and critical infrastructure. It is available under GNU Public License, GPL, or on commercial terms from Aleph One.\";}}i:1;s:11:\"description\";}i:3;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:8:\"abstract\";s:7:\"content\";s:352:\"Yaffs (Yet Another Flash File System) is an open-source file system specifically designed to be fast, robust and suitable for embedded use with NAND and NOR Flash. It is widely used with Linux, RTOSs, or no OS at all, in consumer devices and critical infrastructure. It is available under GNU Public License, GPL, or on commercial terms from Aleph One.\";}}i:1;s:8:\"abstract\";}i:4;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:8:\"keywords\";s:7:\"content\";s:82:\"flash File System, flash, file System, flash storage, NAND flash, NOR flash, Yaffs\";}}i:1;s:8:\"keywords\";}i:5;a:2:{i:0;a:3:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:1:{s:7:\"charset\";s:5:\"utf-8\";}s:7:\"#weight\";i:-1000;}i:1;s:24:\"system_meta_content_type\";}i:6;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:9:\"Generator\";s:7:\"content\";s:33:\"Drupal 8 (https://www.drupal.org)\";}}i:1;s:21:\"system_meta_generator\";}i:7;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:15:\"MobileOptimized\";s:7:\"content\";s:5:\"width\";}}i:1;s:15:\"MobileOptimized\";}i:8;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:16:\"HandheldFriendly\";s:7:\"content\";s:4:\"true\";}}i:1;s:16:\"HandheldFriendly\";}i:9;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:8:\"viewport\";s:7:\"content\";s:37:\"width=device-width, initial-scale=1.0\";}}i:1;s:8:\"viewport\";}i:10;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:125:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansRegular-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1151\";}i:11;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:124:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1152\";}i:12;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:122:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBold-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1153\";}i:13;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:123:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBold-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1149\";}i:14;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:129:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBoldItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1150\";}i:15;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:125:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1148\";}i:16;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:126:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifRegular-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1147\";}i:17;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:128:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBoldItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1154\";}i:18;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:13:\"shortcut icon\";s:4:\"href\";s:38:\"/sites/default/files/yaffs_favicon.png\";s:4:\"type\";s:9:\"image/png\";}}i:1;s:67:\"html_head_link:shortcut icon:/sites/default/files/yaffs_favicon.png\";}}s:12:\"placeholders\";a:0:{}s:14:\"drupalSettings\";a:5:{s:4:\"path\";a:8:{s:7:\"baseUrl\";s:1:\"/\";s:10:\"scriptPath\";N;s:10:\"pathPrefix\";s:0:\"\";s:11:\"currentPath\";s:11:\"search/node\";s:18:\"currentPathIsAdmin\";b:0;s:7:\"isFront\";b:0;s:15:\"currentLanguage\";s:2:\"en\";s:12:\"currentQuery\";O:8:\"stdClass\":2:{s:4:\"keys\";s:6:\"Direct\";s:4:\"page\";s:1:\"2\";}}s:15:\"pluralDelimiter\";s:1:\"\";s:9:\"bootstrap\";a:25:{s:28:\"forms_has_error_value_toggle\";i:1;s:15:\"modal_animation\";i:1;s:14:\"modal_backdrop\";s:4:\"true\";s:14:\"modal_keyboard\";i:1;s:10:\"modal_show\";i:1;s:10:\"modal_size\";s:0:\"\";s:15:\"popover_enabled\";i:1;s:17:\"popover_animation\";i:1;s:17:\"popover_container\";s:4:\"body\";s:15:\"popover_content\";s:0:\"\";s:13:\"popover_delay\";s:1:\"0\";s:12:\"popover_html\";i:0;s:17:\"popover_placement\";s:5:\"right\";s:16:\"popover_selector\";s:0:\"\";s:13:\"popover_title\";s:0:\"\";s:15:\"popover_trigger\";s:5:\"click\";s:25:\"popover_trigger_autoclose\";i:1;s:15:\"tooltip_enabled\";i:1;s:17:\"tooltip_animation\";i:1;s:17:\"tooltip_container\";s:4:\"body\";s:13:\"tooltip_delay\";s:1:\"0\";s:12:\"tooltip_html\";i:0;s:17:\"tooltip_placement\";s:9:\"auto left\";s:16:\"tooltip_selector\";s:0:\"\";s:15:\"tooltip_trigger\";s:5:\"hover\";}s:14:\"ajaxTrustedUrl\";a:2:{s:55:\"form_action_p_pvdeGsVG5zNF_XLGPTvYSKCf43t8qZYSwcfZl2uzM\";b:1;s:12:\"/search/node\";b:1;}s:4:\"user\";a:2:{s:3:\"uid\";i:0;s:15:\"permissionsHash\";s:64:\"aa7fc4c8fb40c7a8665ccd12fea07926dff0f59b9ee3346bc513c6399bee5b01\";}}}}',-1,1505199208.551,1,'block_content:18 block_content:23 block_content:7 block_content_view block_view config:block.block.choosingyaffs config:block.block.cookieinfo config:block.block.downloadyaffs config:block.block.footerlegal config:block.block.frontimagehighlight2 config:block.block.frontpagehero config:block.block.frontpageprimeryaffs config:block.block.mainnavigation config:block.block.mainnavigation_2 config:block.block.searchform config:block.block.sitebranding config:block.block.views_block__highlighted_yaffs_features_block_1 config:block.block.views_block__yaffs_admin_recent_content_block_1 config:block.block.views_block__yaffs_documents_highlights_block_1 config:block.block.views_block__yaffs_user_logos_block_1 config:block.block.yaffs_account_menu config:block.block.yaffs_block_10 config:block.block.yaffs_block_5 config:block.block.yaffs_block_6 config:block.block.yaffs_block_8 config:block.block.yaffs_block_9 config:block.block.yaffs_breadcrumbs config:block.block.yaffs_content config:block.block.yaffs_help config:block.block.yaffs_local_tasks config:block.block.yaffs_messages config:block.block.yaffs_page_title config:block.block.yaffs_user_21 config:block.block.yaffsinspace config:block_list config:color.theme.yaffs config:filter.format.basic_html config:filter.format.full_html config:filter.format.raw_html config:search.page.node_search config:search.page.user_search config:search.settings config:system.menu.account config:system.menu.main config:system.menu.tools config:system.site config:user.role.anonymous http_response node:31 node:37 node_list node_view rendered search_index search_index:node_search user:0 user:1','3691'),('https://yaffs.net/search/node?keys=Direct:html','O:31:\"Drupal\\Core\\Render\\HtmlResponse\":8:{s:7:\"headers\";O:50:\"Symfony\\Component\\HttpFoundation\\ResponseHeaderBag\":5:{s:23:\"\0*\0computedCacheControl\";a:2:{s:7:\"max-age\";s:3:\"300\";s:6:\"public\";b:1;}s:10:\"\0*\0cookies\";a:0:{}s:14:\"\0*\0headerNames\";a:14:{s:12:\"content-type\";s:12:\"Content-Type\";s:13:\"cache-control\";s:13:\"Cache-Control\";s:4:\"date\";s:4:\"Date\";s:22:\"x-drupal-dynamic-cache\";s:22:\"X-Drupal-Dynamic-Cache\";s:4:\"link\";s:4:\"Link\";s:15:\"x-ua-compatible\";s:15:\"X-UA-Compatible\";s:16:\"content-language\";s:16:\"Content-language\";s:22:\"x-content-type-options\";s:22:\"X-Content-Type-Options\";s:15:\"x-frame-options\";s:15:\"X-Frame-Options\";s:7:\"expires\";s:7:\"Expires\";s:13:\"last-modified\";s:13:\"Last-Modified\";s:4:\"etag\";s:4:\"ETag\";s:4:\"vary\";s:4:\"Vary\";s:11:\"x-generator\";s:11:\"X-Generator\";}s:10:\"\0*\0headers\";a:14:{s:12:\"content-type\";a:1:{i:0;s:24:\"text/html; charset=UTF-8\";}s:13:\"cache-control\";a:1:{i:0;s:19:\"max-age=300, public\";}s:4:\"date\";a:1:{i:0;s:29:\"Tue, 12 Sep 2017 03:53:23 GMT\";}s:22:\"x-drupal-dynamic-cache\";a:1:{i:0;s:4:\"MISS\";}s:4:\"link\";a:3:{i:0;s:108:\"</sites/default/files/css/css_YGKHk3qOgVcGqV_6s_kZUGJkGYQEouHb462Ja18qfRA.css?ovtedh>; rel=preload; as=style\";i:1;s:108:\"</sites/default/files/css/css_6qeLA6GBkZNPHWp9GdQIYovV3tYuKU-ts-HicZ-WeQQ.css?ovtedh>; rel=preload; as=style\";i:2;s:99:\"</sites/default/files/js/js_2l0lF4i9o3aztHULbfajMT_RTqGCEN_lVC8JI48SILw.js>; rel=preload; as=script\";}s:15:\"x-ua-compatible\";a:1:{i:0;s:7:\"IE=edge\";}s:16:\"content-language\";a:1:{i:0;s:2:\"en\";}s:22:\"x-content-type-options\";a:1:{i:0;s:7:\"nosniff\";}s:15:\"x-frame-options\";a:1:{i:0;s:10:\"SAMEORIGIN\";}s:7:\"expires\";a:1:{i:0;s:29:\"Sun, 19 Nov 1978 05:00:00 GMT\";}s:13:\"last-modified\";a:1:{i:0;s:29:\"Tue, 12 Sep 2017 03:53:22 GMT\";}s:4:\"etag\";a:1:{i:0;s:12:\"\"1505188402\"\";}s:4:\"vary\";a:1:{i:0;s:6:\"Cookie\";}s:11:\"x-generator\";a:1:{i:0;s:33:\"Drupal 8 (https://www.drupal.org)\";}}s:15:\"\0*\0cacheControl\";a:2:{s:7:\"max-age\";s:3:\"300\";s:6:\"public\";b:1;}}s:10:\"\0*\0content\";s:19508:\"<!DOCTYPE html>\n<html  lang=\"en\" dir=\"ltr\" prefix=\"content: http://purl.org/rss/1.0/modules/content/  dc: http://purl.org/dc/terms/  foaf: http://xmlns.com/foaf/0.1/  og: http://ogp.me/ns#  rdfs: http://www.w3.org/2000/01/rdf-schema#  schema: http://schema.org/  sioc: http://rdfs.org/sioc/ns#  sioct: http://rdfs.org/sioc/types#  skos: http://www.w3.org/2004/02/skos/core#  xsd: http://www.w3.org/2001/XMLSchema# \">\n  <head>\n    <meta charset=\"utf-8\" />\n<meta name=\"title\" content=\"Search | Yaffs - A Flash File System for embedded use\" />\n<meta name=\"news_keywords\" content=\"Flash File System\" />\n<meta name=\"description\" content=\"Yaffs (Yet Another Flash File System) is an open-source file system specifically designed to be fast, robust and suitable for embedded use with NAND and NOR Flash. It is widely used with Linux, RTOSs, or no OS at all, in consumer devices and critical infrastructure. It is available under GNU Public License, GPL, or on commercial terms from Aleph One.\" />\n<meta name=\"abstract\" content=\"Yaffs (Yet Another Flash File System) is an open-source file system specifically designed to be fast, robust and suitable for embedded use with NAND and NOR Flash. It is widely used with Linux, RTOSs, or no OS at all, in consumer devices and critical infrastructure. It is available under GNU Public License, GPL, or on commercial terms from Aleph One.\" />\n<meta name=\"keywords\" content=\"flash File System, flash, file System, flash storage, NAND flash, NOR flash, Yaffs\" />\n<meta name=\"Generator\" content=\"Drupal 8 (https://www.drupal.org)\" />\n<meta name=\"MobileOptimized\" content=\"width\" />\n<meta name=\"HandheldFriendly\" content=\"true\" />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansRegular-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBold-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBold-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBoldItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifRegular-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBoldItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"shortcut icon\" href=\"/sites/default/files/yaffs_favicon.png\" type=\"image/png\" />\n\n    <title>Search | Yaffs - A Flash File System for embedded use</title>\n    <link rel=\"stylesheet\" href=\"/sites/default/files/css/css_YGKHk3qOgVcGqV_6s_kZUGJkGYQEouHb462Ja18qfRA.css?ovtedh\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"/sites/default/files/css/css_6qeLA6GBkZNPHWp9GdQIYovV3tYuKU-ts-HicZ-WeQQ.css?ovtedh\" media=\"all\" />\n\n    \n<!--[if lte IE 8]>\n<script src=\"/sites/default/files/js/js_VtafjXmRvoUgAzqzYTA3Wrjkx9wcWhjP0G4ZnnqRamA.js\"></script>\n<![endif]-->\n\n  </head>\n  <body class=\"fontyourface path-search navbar-is-fixed-top has-glyphicons\">\n    <a href=\"#main-content\" class=\"visually-hidden focusable skip-link\">\n      Skip to main content\n    </a>\n    <div style=\"background-color: ; color: \" id=\"environment-indicator\">\n  \n    </div>\n\n              <header class=\"navbar navbar-default navbar-fixed-top\" id=\"navbar\" role=\"banner\">\n              <div class=\"container\">\n            <div class=\"navbar-header\">\n          <div class=\"region region-navigation\">\n          <a class=\"logo navbar-btn pull-left\" href=\"/\" title=\"Home\" rel=\"home\">\n      <img src=\"/themes/custom/yaffs/logo.svg\" alt=\"Home\" />\n    </a>\n      \n  </div>\n\n                          <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar-collapse\">\n            <span class=\"sr-only\">Toggle navigation</span>\n            <span class=\"icon-bar\"></span>\n            <span class=\"icon-bar\"></span>\n            <span class=\"icon-bar\"></span>\n          </button>\n              </div>\n\n                    <div id=\"navbar-collapse\" class=\"navbar-collapse collapse\">\n            <div class=\"region region-navigation-collapsible\">\n    <nav role=\"navigation\" aria-labelledby=\"block-mainnavigation-menu\" id=\"block-mainnavigation\">\n            <h2 class=\"sr-only\" id=\"block-mainnavigation-menu\">Main navigation</h2>\n\n      \n              <ul class=\"menu nav navbar-nav\">\n                            <li>\n        <a href=\"/\" data-drupal-link-system-path=\"&lt;front&gt;\">Home</a>\n                  </li>\n                        <li>\n        <a href=\"/support\" title=\"Help for Yaffs\" data-drupal-link-system-path=\"node/380\">Support</a>\n                  </li>\n                        <li>\n        <a href=\"/documents\" data-drupal-link-system-path=\"documents\">Documents</a>\n                  </li>\n                        <li>\n        <a href=\"/get-yaffs\" data-drupal-link-system-path=\"node/382\">Download</a>\n                  </li>\n                        <li>\n        <a href=\"/about-us\" data-drupal-link-system-path=\"node/325\">About us</a>\n                  </li>\n                        <li>\n        <a href=\"/contact\" data-drupal-link-system-path=\"node/73\">Contact</a>\n                  </li>\n        </ul>\n  \n\n\n  </nav>\n<div class=\"search-block-form block block-search block-search-form-block\" data-drupal-selector=\"search-block-form\" id=\"block-searchform\" role=\"search\">\n  \n    \n      <form action=\"/search/node\" method=\"get\" id=\"search-block-form\" accept-charset=\"UTF-8\">\n  <div class=\"form-item js-form-item form-type-search js-form-type-search form-item-keys js-form-item-keys form-no-label form-group\">\n      <label for=\"edit-keys\" class=\"control-label sr-only\">Search</label>\n  \n  \n  <div class=\"input-group\"><input title=\"Enter the terms you wish to search for.\" data-drupal-selector=\"edit-keys\" class=\"form-search form-control\" placeholder=\"Search\" type=\"search\" id=\"edit-keys\" name=\"keys\" value=\"\" size=\"15\" maxlength=\"128\" data-toggle=\"tooltip\" /><span class=\"input-group-btn\"><button type=\"submit\" value=\"Search\" class=\"button js-form-submit form-submit btn-primary btn icon-only\" name=\"\"><span class=\"sr-only\">Search</span><span class=\"icon glyphicon glyphicon-search\" aria-hidden=\"true\"></span></button></span></div>\n\n  \n  \n  </div>\n<div class=\"form-actions form-group js-form-wrapper form-wrapper\" data-drupal-selector=\"edit-actions\" id=\"edit-actions\"></div>\n\n</form>\n\n  </div>\n\n  </div>\n\n        </div>\n                    </div>\n          </header>\n  \n  <div role=\"main\" class=\"main-container container js-quickedit-main-content\">\n    <div class=\"row\">\n\n            \n            \n                  <section class=\"col-sm-12\">\n\n                                      <div class=\"highlighted\">  <div class=\"region region-highlighted\">\n        <ol class=\"breadcrumb\">\n          <li >\n                  <a href=\"/search\">Search</a>\n              </li>\n          <li  class=\"active\">\n                  Search\n              </li>\n      </ol>\n\n\n\n  </div>\n</div>\n                  \n                \n                \n                                      \n                  \n                          <a id=\"main-content\"></a>\n            <div class=\"region region-content\">\n        <h1 class=\"page-header\">Search for Direct</h1>\n\n  <form class=\"search-form search-page-form\" data-drupal-selector=\"search-form\" action=\"/search/node?keys=Direct\" method=\"post\" id=\"search-form\" accept-charset=\"UTF-8\">\n  <div class=\"form-group js-form-wrapper form-wrapper\" data-drupal-selector=\"edit-basic\" id=\"edit-basic\"><div class=\"form-item js-form-item form-type-search js-form-type-search form-item-keys js-form-item-keys form-no-label form-group\">\n      <label for=\"edit-keys\" class=\"control-label sr-only\">Enter your keywords</label>\n  \n  \n  <div class=\"input-group\"><input data-drupal-selector=\"edit-keys\" class=\"form-search form-control\" placeholder=\"Enter your keywords\" type=\"search\" id=\"edit-keys\" name=\"keys\" value=\"Direct\" size=\"30\" maxlength=\"255\" title=\"Enter the terms you wish to search for.\" data-toggle=\"tooltip\" /><span class=\"input-group-btn\"><button type=\"submit\" name=\"op\" value=\"Search\" class=\"button js-form-submit form-submit btn-primary btn icon-only\"><span class=\"sr-only\">Search</span><span class=\"icon glyphicon glyphicon-search\" aria-hidden=\"true\"></span></button></span></div>\n\n  \n  \n  </div>\n</div>\n<a href=\"/search/node/help\" class=\"search-help-link\" data-drupal-selector=\"edit-help-link\" id=\"edit-help-link\">Search help</a><input data-drupal-selector=\"form-rzk1ywugr1s347bnysqpcvgqtxxuqp0ocvxbuqr3ry0\" type=\"hidden\" name=\"form_build_id\" value=\"form-rzK1YWugR1s347bnYsQpcvGQtXXuqP0OCvXBuqR3RY0\" /><input data-drupal-selector=\"edit-search-form\" type=\"hidden\" name=\"form_id\" value=\"search_form\" />\n</form>\n<h2>Search results</h2><ol><li>\n<h3>\n  <a href=\"https://yaffs.net/documents/yaffs-direct-interface\">Yaffs Direct Interface</a>\n</h3>\n\n  <p>Yaffs <strong>Direct</strong> Interface  \n\n        \n                              …       \n  \n              \n  This document describes the Yaffs <strong>Direct</strong> Interface (YDI), which allows Yaffs to be simply …  this document is to describe the interfacing of the Yaffs <strong>Direct</strong> Interface (YDI) as well as to provide sufficient …</p>\n  <p><span lang=\"\" about=\"/user/admin\" typeof=\"schema:Person\" property=\"schema:name\" datatype=\"\">Admin</span> - 7 Jun 2017 - 11:53pm</p>\n</li><li>\n<h3>\n  <a href=\"https://yaffs.net/documents/yaffs-vxworks\">Yaffs for VxWorks</a>\n</h3>\n\n  <p>…  most other embedded RTOSs.  \n  3 What are Yaffs and Yaffs <strong>Direct</strong> Interface?  \n  Yaffs stands for Yet Another Flash …  modules. One such personality module is the Yaffs <strong>Direct</strong> Interface (YDI) which allows Yaffs to be simply …  without an RTOS. See   http://www.yaffs.net/documents/yaffs-<strong>direct</strong>-interface    \n  The current version is Yaffs2, which …</p>\n  <p><span lang=\"\" about=\"/user/admin\" typeof=\"schema:Person\" property=\"schema:name\" datatype=\"\">Admin</span> - 2 Jun 2017 - 2:40pm</p>\n</li><li>\n<h3>\n  <a href=\"https://yaffs.net/running-yaffs-direct-tests\">Running Yaffs Direct Tests</a>\n</h3>\n\n  <p>Running Yaffs <strong>Direct</strong> Tests  \n\n        \n                              …  to the various tests that are incorporated into Yaffs <strong>Direct</strong>. Most of these tests were written as debug tools to …</p>\n  <p></p>\n</li><li>\n<h3>\n  <a href=\"https://yaffs.net/documents/yaffs-tuning\">Yaffs Tuning</a>\n</h3>\n\n  <p>…  KB      \n            \n  \n                   \n\n  1 Yaffs <strong>Direct</strong> Configuration  \n\n  Yaffs behaviour is dictated by …  this is only used in Windows CE.  \n\n  CONFIG_YAFFS_<strong>DIRECT</strong>  \n\n  Used when compiling Yaffs <strong>Direct</strong>.  \n\n  CONFIG_YAFFS_DISABLE_LAZY_LOAD  \n\n  Lazy …</p>\n  <p><span lang=\"\" about=\"/user/admin\" typeof=\"schema:Person\" property=\"schema:name\" datatype=\"\">Admin</span> - 27 Jun 2017 - 3:37am</p>\n</li><li>\n<h3>\n  <a href=\"https://yaffs.net/yaffs-structure-diagram\">Yaffs structure diagram</a>\n</h3>\n\n  <p>…  the relationships between the Yaffs filesystem, the   Yaffs <strong>Direct</strong> Interface  , Posix, the operating system and the …</p>\n  <p></p>\n</li><li>\n<h3>\n  <a href=\"https://yaffs.net/documents/yaffs-robustness-and-testing\">YAFFS Robustness and Testing</a>\n</h3>\n\n  <p>…  core directly while the Windows CE wrapper access the Yaffs <strong>Direct</strong> Interface    4    .  \n   \n  \n  Each different …  millions of power fail cycles.  \n  4.2 Testing the Yaffs <strong>Direct</strong> Interface API  \n  Yaffs <strong>Direct</strong> Interface (YDI) is a POSIX-like wrapper around the …</p>\n  <p><span lang=\"\" about=\"/user/charles-manning\" typeof=\"schema:Person\" property=\"schema:name\" datatype=\"\">Charles Manning</span> - 7 Jun 2017 - 11:05pm</p>\n</li><li>\n<h3>\n  <a href=\"https://yaffs.net/yaffs-porting-guide\">Yaffs Porting Guide</a>\n</h3>\n\n  <p>…  up Yaffs2 on a board previously unsupported using the Yaffs <strong>Direct</strong> Interface, with an example using eCos on a Balloon …   You will need to provide a definition of loff_t (in yaffs2/<strong>direct</strong>/ydirectenv.h) this is for holding the file size in …     + typedef unsigned long loff_t;     \n\n    change yaffs2/<strong>direct</strong>/yaffsfs.c ~line 1117     \n\n    - #if …</p>\n  <p></p>\n</li><li>\n<h3>\n  <a href=\"https://yaffs.net/features/simple-integrate\">Simple to integrate</a>\n</h3>\n\n  <p>…       fa-puzzle-piece  \n            \n\n              \n  Yaffs <strong>Direct</strong> Interface is simple to integrate in a system – only …  Atmel, and more.   \n  You can find details in the Yaffs <strong>Direct</strong> guide.</p>\n  <p></p>\n</li><li>\n<h3>\n  <a href=\"https://yaffs.net/licences-more-background-and-detail\">Licences - more background and detail</a>\n</h3>\n\n  <p>…  on the Home Page.  At the heart of Yaffs is the Yaffs <strong>Direct</strong> Interface, which is a well-documented sub-set of …</p>\n  <p></p>\n</li><li>\n<h3>\n  <a href=\"https://yaffs.net/documents/faq\">FAQ</a>\n</h3>\n\n  <p>…  Yaffs merged into the mainline Linux kernel.  \n\n  The Yaffs <strong>Direct</strong> Interface, YDI, is the heart of Yaffs and usually …  or core part is about 11k lines of code, the the Yaffs <strong>Direct</strong> Interface giving file handle access and a Posix-like …</p>\n  <p><span lang=\"\" about=\"/user/admin\" typeof=\"schema:Person\" property=\"schema:name\" datatype=\"\">Admin</span> - 2 Jun 2017 - 1:56pm</p>\n</li></ol>  <nav class=\"pager-nav text-center\" role=\"navigation\" aria-labelledby=\"pagination-heading\">\n    <h4 id=\"pagination-heading\" class=\"visually-hidden\">Pagination</h4>\n    <ul class=\"pagination js-pager__items\">\n\n            \n            \n                    <li class=\"pager__item is-active active\">\n                                          <a href=\"?keys=Direct&amp;page=0\" title=\"Current page\">\n            <span class=\"visually-hidden\">\n              Current page\n            </span>1</a>\n        </li>\n              <li class=\"pager__item\">\n                                          <a href=\"?keys=Direct&amp;page=1\" title=\"Go to page 2\">\n            <span class=\"visually-hidden\">\n              Page\n            </span>2</a>\n        </li>\n              <li class=\"pager__item\">\n                                          <a href=\"?keys=Direct&amp;page=2\" title=\"Go to page 3\">\n            <span class=\"visually-hidden\">\n              Page\n            </span>3</a>\n        </li>\n      \n                    <li class=\"pager__item pager__item--next\">\n          <a href=\"?keys=Direct&amp;page=1\" title=\"Go to next page\" rel=\"next\">\n            <span class=\"visually-hidden\">Next page</span>\n            <span aria-hidden=\"true\">next</span>\n          </a>\n        </li>\n      \n                  <li class=\"pager__item pager__item--last\">\n        <a href=\"?keys=Direct&amp;page=2\" title=\"Go to last page\" rel=\"last\">\n          <span class=\"visually-hidden\">Last page</span>\n          <span aria-hidden=\"true\">last</span>\n        </a>\n      </li>\n      \n    </ul>\n  </nav>\n\n\n  </div>\n\n              </section>\n\n                </div>\n  </div>\n\n      <footer class=\"footer container\" role=\"contentinfo\">\n        <div class=\"primary_footer row\">\n            <div class=\"col-sm-3\">\n                  <div class=\"region region-footer-col1\">\n    <section id=\"block-yaffs-block-6\" class=\"block block-block-content block-block-content6c2d4b45-4dba-4b2d-8b9f-76701bf27533 clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<ul class=\"fa-ul\">\n<li><i class=\"fa-li fa fa-phone\"></i>+44 (0)1223 811679</li>\n<li><i class=\"fa-li fa fa-envelope\"></i><a href=\"denied:mailto:info@aleph1.co.uk?Subject=Website contact\" target=\"_top\">info@aleph1.co.uk</a></li>\n</ul>\n</div>\n      \n  </section>\n\n\n  </div>\n\n            </div>\n            <div class=\"col-sm-3\">\n                \n            </div>\n            <div class=\"col-sm-3\">\n                \n            </div>\n            <div class=\"col-sm-3\">\n                  <div class=\"region region-footer-col4\">\n    <section id=\"block-footerlegal\" class=\"block block-block-content block-block-content78ab593d-35b6-4772-a141-30216e7fcbb2 clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<p class=\"text-align-right\">&nbsp;<a href=\"/legal\">Legal &amp; Cookies</a></p>\n</div>\n      \n  </section>\n\n<section id=\"block-cookieinfo\" class=\"block block-block-content block-block-content4848c58d-90df-4819-81d8-0f9568eeeaac clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<p class=\"text-align-justify\"><br />\nWe use <a href=\"/legal\">cookies on this site</a>. By using it, you are giving us consent to set cookies.</p>\n</div>\n      \n  </section>\n\n\n  </div>\n\n            </div>\n        </div>\n        <div class = \"secondary_footer row\">\n            <div class=\"col-sm-12\">\n                <div class=\"region region-footer\">\n    <nav role=\"navigation\" aria-labelledby=\"block-yaffs-account-menu-menu\" id=\"block-yaffs-account-menu\">\n            <h2 class=\"sr-only\" id=\"block-yaffs-account-menu-menu\">User account menu</h2>\n\n      \n              <ul class=\"menu nav navbar-nav navbar-right\">\n                            <li>\n        <a href=\"/user/login\" data-drupal-link-system-path=\"user/login\">Log in</a>\n                  </li>\n        </ul>\n  \n\n\n  </nav>\n\n  </div>\n\n            </div>\n        </div>\n    </footer>\n  \n    \n    <script type=\"application/json\" data-drupal-selector=\"drupal-settings-json\">{\"path\":{\"baseUrl\":\"\\/\",\"scriptPath\":null,\"pathPrefix\":\"\",\"currentPath\":\"search\\/node\",\"currentPathIsAdmin\":false,\"isFront\":false,\"currentLanguage\":\"en\",\"currentQuery\":{\"keys\":\"Direct\"}},\"pluralDelimiter\":\"\\u0003\",\"bootstrap\":{\"forms_has_error_value_toggle\":1,\"modal_animation\":1,\"modal_backdrop\":\"true\",\"modal_keyboard\":1,\"modal_show\":1,\"modal_size\":\"\",\"popover_enabled\":1,\"popover_animation\":1,\"popover_container\":\"body\",\"popover_content\":\"\",\"popover_delay\":\"0\",\"popover_html\":0,\"popover_placement\":\"right\",\"popover_selector\":\"\",\"popover_title\":\"\",\"popover_trigger\":\"click\",\"popover_trigger_autoclose\":1,\"tooltip_enabled\":1,\"tooltip_animation\":1,\"tooltip_container\":\"body\",\"tooltip_delay\":\"0\",\"tooltip_html\":0,\"tooltip_placement\":\"auto left\",\"tooltip_selector\":\"\",\"tooltip_trigger\":\"hover\"},\"ajaxTrustedUrl\":{\"form_action_p_pvdeGsVG5zNF_XLGPTvYSKCf43t8qZYSwcfZl2uzM\":true,\"\\/search\\/node\":true},\"user\":{\"uid\":0,\"permissionsHash\":\"aa7fc4c8fb40c7a8665ccd12fea07926dff0f59b9ee3346bc513c6399bee5b01\"}}</script>\n<script src=\"/sites/default/files/js/js_2l0lF4i9o3aztHULbfajMT_RTqGCEN_lVC8JI48SILw.js\"></script>\n\n  </body>\n</html>\n\";s:10:\"\0*\0version\";s:3:\"1.0\";s:13:\"\0*\0statusCode\";i:200;s:13:\"\0*\0statusText\";s:2:\"OK\";s:10:\"\0*\0charset\";N;s:23:\"\0*\0cacheabilityMetadata\";O:35:\"Drupal\\Core\\Cache\\CacheableMetadata\":3:{s:16:\"\0*\0cacheContexts\";a:20:{i:0;s:28:\"languages:language_interface\";i:1;s:5:\"route\";i:2;s:32:\"route.menu_active_trails:account\";i:3;s:29:\"route.menu_active_trails:main\";i:4;s:30:\"route.menu_active_trails:tools\";i:5;s:5:\"theme\";i:6;s:3:\"url\";i:7;s:8:\"url.path\";i:8;s:17:\"url.path.is_front\";i:9;s:15:\"url.path.parent\";i:10;s:14:\"url.query_args\";i:11;s:23:\"url.query_args.pagers:0\";i:12;s:30:\"url.query_args:_wrapper_format\";i:13;s:19:\"url.query_args:keys\";i:14;s:8:\"url.site\";i:15;s:4:\"user\";i:16;s:21:\"user.node_grants:view\";i:17;s:16:\"user.permissions\";i:18;s:10:\"user.roles\";i:19;s:24:\"user.roles:authenticated\";}s:12:\"\0*\0cacheTags\";a:72:{i:0;s:16:\"block_content:18\";i:1;s:16:\"block_content:23\";i:2;s:15:\"block_content:7\";i:3;s:18:\"block_content_view\";i:4;s:10:\"block_view\";i:5;s:32:\"config:block.block.choosingyaffs\";i:6;s:29:\"config:block.block.cookieinfo\";i:7;s:32:\"config:block.block.downloadyaffs\";i:8;s:30:\"config:block.block.footerlegal\";i:9;s:39:\"config:block.block.frontimagehighlight2\";i:10;s:32:\"config:block.block.frontpagehero\";i:11;s:39:\"config:block.block.frontpageprimeryaffs\";i:12;s:33:\"config:block.block.mainnavigation\";i:13;s:35:\"config:block.block.mainnavigation_2\";i:14;s:29:\"config:block.block.searchform\";i:15;s:31:\"config:block.block.sitebranding\";i:16;s:66:\"config:block.block.views_block__highlighted_yaffs_features_block_1\";i:17;s:66:\"config:block.block.views_block__yaffs_admin_recent_content_block_1\";i:18;s:66:\"config:block.block.views_block__yaffs_documents_highlights_block_1\";i:19;s:56:\"config:block.block.views_block__yaffs_user_logos_block_1\";i:20;s:37:\"config:block.block.yaffs_account_menu\";i:21;s:33:\"config:block.block.yaffs_block_10\";i:22;s:32:\"config:block.block.yaffs_block_5\";i:23;s:32:\"config:block.block.yaffs_block_6\";i:24;s:32:\"config:block.block.yaffs_block_8\";i:25;s:32:\"config:block.block.yaffs_block_9\";i:26;s:36:\"config:block.block.yaffs_breadcrumbs\";i:27;s:32:\"config:block.block.yaffs_content\";i:28;s:29:\"config:block.block.yaffs_help\";i:29;s:36:\"config:block.block.yaffs_local_tasks\";i:30;s:33:\"config:block.block.yaffs_messages\";i:31;s:35:\"config:block.block.yaffs_page_title\";i:32;s:32:\"config:block.block.yaffs_user_21\";i:33;s:31:\"config:block.block.yaffsinspace\";i:34;s:17:\"config:block_list\";i:35;s:24:\"config:color.theme.yaffs\";i:36;s:31:\"config:filter.format.basic_html\";i:37;s:30:\"config:filter.format.full_html\";i:38;s:29:\"config:filter.format.raw_html\";i:39;s:30:\"config:search.page.node_search\";i:40;s:30:\"config:search.page.user_search\";i:41;s:22:\"config:search.settings\";i:42;s:26:\"config:system.menu.account\";i:43;s:23:\"config:system.menu.main\";i:44;s:24:\"config:system.menu.tools\";i:45;s:18:\"config:system.site\";i:46;s:26:\"config:user.role.anonymous\";i:47;s:7:\"file:78\";i:48;s:7:\"file:80\";i:49;s:7:\"file:82\";i:50;s:7:\"file:85\";i:51;s:13:\"http_response\";i:52;s:8:\"node:369\";i:53;s:8:\"node:420\";i:54;s:8:\"node:436\";i:55;s:8:\"node:448\";i:56;s:8:\"node:451\";i:57;s:8:\"node:453\";i:58;s:8:\"node:454\";i:59;s:8:\"node:456\";i:60;s:8:\"node:462\";i:61;s:8:\"node:479\";i:62;s:9:\"node_list\";i:63;s:9:\"node_view\";i:64;s:8:\"rendered\";i:65;s:12:\"search_index\";i:66;s:24:\"search_index:node_search\";i:67;s:6:\"user:0\";i:68;s:6:\"user:1\";i:69;s:6:\"user:4\";i:70;s:6:\"user:5\";i:71;s:6:\"user:6\";}s:14:\"\0*\0cacheMaxAge\";i:-1;}s:14:\"\0*\0attachments\";a:4:{s:7:\"library\";a:9:{i:0;s:14:\"core/html5shiv\";i:1;s:11:\"system/base\";i:2;s:15:\"bootstrap/theme\";i:3;s:20:\"yaffs/global-styling\";i:4;s:23:\"yaffs/bootstrap-scripts\";i:5;s:19:\"yaffs/yaffs-helpers\";i:6;s:17:\"bootstrap/popover\";i:7;s:17:\"bootstrap/tooltip\";i:8;s:50:\"environment_indicator/drupal.environment_indicator\";}s:9:\"html_head\";a:19:{i:0;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:5:\"title\";s:7:\"content\";s:53:\"Search | Yaffs - A Flash File System for embedded use\";}}i:1;s:5:\"title\";}i:1;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:13:\"news_keywords\";s:7:\"content\";s:17:\"Flash File System\";}}i:1;s:13:\"news_keywords\";}i:2;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:11:\"description\";s:7:\"content\";s:352:\"Yaffs (Yet Another Flash File System) is an open-source file system specifically designed to be fast, robust and suitable for embedded use with NAND and NOR Flash. It is widely used with Linux, RTOSs, or no OS at all, in consumer devices and critical infrastructure. It is available under GNU Public License, GPL, or on commercial terms from Aleph One.\";}}i:1;s:11:\"description\";}i:3;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:8:\"abstract\";s:7:\"content\";s:352:\"Yaffs (Yet Another Flash File System) is an open-source file system specifically designed to be fast, robust and suitable for embedded use with NAND and NOR Flash. It is widely used with Linux, RTOSs, or no OS at all, in consumer devices and critical infrastructure. It is available under GNU Public License, GPL, or on commercial terms from Aleph One.\";}}i:1;s:8:\"abstract\";}i:4;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:8:\"keywords\";s:7:\"content\";s:82:\"flash File System, flash, file System, flash storage, NAND flash, NOR flash, Yaffs\";}}i:1;s:8:\"keywords\";}i:5;a:2:{i:0;a:3:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:1:{s:7:\"charset\";s:5:\"utf-8\";}s:7:\"#weight\";i:-1000;}i:1;s:24:\"system_meta_content_type\";}i:6;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:9:\"Generator\";s:7:\"content\";s:33:\"Drupal 8 (https://www.drupal.org)\";}}i:1;s:21:\"system_meta_generator\";}i:7;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:15:\"MobileOptimized\";s:7:\"content\";s:5:\"width\";}}i:1;s:15:\"MobileOptimized\";}i:8;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:16:\"HandheldFriendly\";s:7:\"content\";s:4:\"true\";}}i:1;s:16:\"HandheldFriendly\";}i:9;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:8:\"viewport\";s:7:\"content\";s:37:\"width=device-width, initial-scale=1.0\";}}i:1;s:8:\"viewport\";}i:10;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:125:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansRegular-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1151\";}i:11;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:124:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1152\";}i:12;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:122:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBold-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1153\";}i:13;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:123:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBold-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1149\";}i:14;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:129:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBoldItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1150\";}i:15;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:125:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1148\";}i:16;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:126:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifRegular-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1147\";}i:17;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:128:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBoldItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1154\";}i:18;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:13:\"shortcut icon\";s:4:\"href\";s:38:\"/sites/default/files/yaffs_favicon.png\";s:4:\"type\";s:9:\"image/png\";}}i:1;s:67:\"html_head_link:shortcut icon:/sites/default/files/yaffs_favicon.png\";}}s:12:\"placeholders\";a:0:{}s:14:\"drupalSettings\";a:5:{s:4:\"path\";a:8:{s:7:\"baseUrl\";s:1:\"/\";s:10:\"scriptPath\";N;s:10:\"pathPrefix\";s:0:\"\";s:11:\"currentPath\";s:11:\"search/node\";s:18:\"currentPathIsAdmin\";b:0;s:7:\"isFront\";b:0;s:15:\"currentLanguage\";s:2:\"en\";s:12:\"currentQuery\";O:8:\"stdClass\":1:{s:4:\"keys\";s:6:\"Direct\";}}s:15:\"pluralDelimiter\";s:1:\"\";s:9:\"bootstrap\";a:25:{s:28:\"forms_has_error_value_toggle\";i:1;s:15:\"modal_animation\";i:1;s:14:\"modal_backdrop\";s:4:\"true\";s:14:\"modal_keyboard\";i:1;s:10:\"modal_show\";i:1;s:10:\"modal_size\";s:0:\"\";s:15:\"popover_enabled\";i:1;s:17:\"popover_animation\";i:1;s:17:\"popover_container\";s:4:\"body\";s:15:\"popover_content\";s:0:\"\";s:13:\"popover_delay\";s:1:\"0\";s:12:\"popover_html\";i:0;s:17:\"popover_placement\";s:5:\"right\";s:16:\"popover_selector\";s:0:\"\";s:13:\"popover_title\";s:0:\"\";s:15:\"popover_trigger\";s:5:\"click\";s:25:\"popover_trigger_autoclose\";i:1;s:15:\"tooltip_enabled\";i:1;s:17:\"tooltip_animation\";i:1;s:17:\"tooltip_container\";s:4:\"body\";s:13:\"tooltip_delay\";s:1:\"0\";s:12:\"tooltip_html\";i:0;s:17:\"tooltip_placement\";s:9:\"auto left\";s:16:\"tooltip_selector\";s:0:\"\";s:15:\"tooltip_trigger\";s:5:\"hover\";}s:14:\"ajaxTrustedUrl\";a:2:{s:55:\"form_action_p_pvdeGsVG5zNF_XLGPTvYSKCf43t8qZYSwcfZl2uzM\";b:1;s:12:\"/search/node\";b:1;}s:4:\"user\";a:2:{s:3:\"uid\";i:0;s:15:\"permissionsHash\";s:64:\"aa7fc4c8fb40c7a8665ccd12fea07926dff0f59b9ee3346bc513c6399bee5b01\";}}}}',-1,1505188403.086,1,'block_content:18 block_content:23 block_content:7 block_content_view block_view config:block.block.choosingyaffs config:block.block.cookieinfo config:block.block.downloadyaffs config:block.block.footerlegal config:block.block.frontimagehighlight2 config:block.block.frontpagehero config:block.block.frontpageprimeryaffs config:block.block.mainnavigation config:block.block.mainnavigation_2 config:block.block.searchform config:block.block.sitebranding config:block.block.views_block__highlighted_yaffs_features_block_1 config:block.block.views_block__yaffs_admin_recent_content_block_1 config:block.block.views_block__yaffs_documents_highlights_block_1 config:block.block.views_block__yaffs_user_logos_block_1 config:block.block.yaffs_account_menu config:block.block.yaffs_block_10 config:block.block.yaffs_block_5 config:block.block.yaffs_block_6 config:block.block.yaffs_block_8 config:block.block.yaffs_block_9 config:block.block.yaffs_breadcrumbs config:block.block.yaffs_content config:block.block.yaffs_help config:block.block.yaffs_local_tasks config:block.block.yaffs_messages config:block.block.yaffs_page_title config:block.block.yaffs_user_21 config:block.block.yaffsinspace config:block_list config:color.theme.yaffs config:filter.format.basic_html config:filter.format.full_html config:filter.format.raw_html config:search.page.node_search config:search.page.user_search config:search.settings config:system.menu.account config:system.menu.main config:system.menu.tools config:system.site config:user.role.anonymous file:78 file:80 file:82 file:85 http_response node:369 node:420 node:436 node:448 node:451 node:453 node:454 node:456 node:462 node:479 node_list node_view rendered search_index search_index:node_search user:0 user:1 user:4 user:5 user:6','3734'),('https://yaffs.net/search/node?keys=EXTRA_SHRINK_FLAG:html','O:31:\"Drupal\\Core\\Render\\HtmlResponse\":8:{s:7:\"headers\";O:50:\"Symfony\\Component\\HttpFoundation\\ResponseHeaderBag\":5:{s:23:\"\0*\0computedCacheControl\";a:2:{s:7:\"max-age\";s:3:\"300\";s:6:\"public\";b:1;}s:10:\"\0*\0cookies\";a:0:{}s:14:\"\0*\0headerNames\";a:14:{s:12:\"content-type\";s:12:\"Content-Type\";s:13:\"cache-control\";s:13:\"Cache-Control\";s:4:\"date\";s:4:\"Date\";s:22:\"x-drupal-dynamic-cache\";s:22:\"X-Drupal-Dynamic-Cache\";s:4:\"link\";s:4:\"Link\";s:15:\"x-ua-compatible\";s:15:\"X-UA-Compatible\";s:16:\"content-language\";s:16:\"Content-language\";s:22:\"x-content-type-options\";s:22:\"X-Content-Type-Options\";s:15:\"x-frame-options\";s:15:\"X-Frame-Options\";s:7:\"expires\";s:7:\"Expires\";s:13:\"last-modified\";s:13:\"Last-Modified\";s:4:\"etag\";s:4:\"ETag\";s:4:\"vary\";s:4:\"Vary\";s:11:\"x-generator\";s:11:\"X-Generator\";}s:10:\"\0*\0headers\";a:14:{s:12:\"content-type\";a:1:{i:0;s:24:\"text/html; charset=UTF-8\";}s:13:\"cache-control\";a:1:{i:0;s:19:\"max-age=300, public\";}s:4:\"date\";a:1:{i:0;s:29:\"Thu, 26 Oct 2017 03:13:02 GMT\";}s:22:\"x-drupal-dynamic-cache\";a:1:{i:0;s:4:\"MISS\";}s:4:\"link\";a:3:{i:0;s:108:\"</sites/default/files/css/css_YGKHk3qOgVcGqV_6s_kZUGJkGYQEouHb462Ja18qfRA.css?ovtedh>; rel=preload; as=style\";i:1;s:108:\"</sites/default/files/css/css_6qeLA6GBkZNPHWp9GdQIYovV3tYuKU-ts-HicZ-WeQQ.css?ovtedh>; rel=preload; as=style\";i:2;s:99:\"</sites/default/files/js/js_2l0lF4i9o3aztHULbfajMT_RTqGCEN_lVC8JI48SILw.js>; rel=preload; as=script\";}s:15:\"x-ua-compatible\";a:1:{i:0;s:7:\"IE=edge\";}s:16:\"content-language\";a:1:{i:0;s:2:\"en\";}s:22:\"x-content-type-options\";a:1:{i:0;s:7:\"nosniff\";}s:15:\"x-frame-options\";a:1:{i:0;s:10:\"SAMEORIGIN\";}s:7:\"expires\";a:1:{i:0;s:29:\"Sun, 19 Nov 1978 05:00:00 GMT\";}s:13:\"last-modified\";a:1:{i:0;s:29:\"Thu, 26 Oct 2017 03:13:02 GMT\";}s:4:\"etag\";a:1:{i:0;s:12:\"\"1508987582\"\";}s:4:\"vary\";a:1:{i:0;s:6:\"Cookie\";}s:11:\"x-generator\";a:1:{i:0;s:33:\"Drupal 8 (https://www.drupal.org)\";}}s:15:\"\0*\0cacheControl\";a:2:{s:7:\"max-age\";s:3:\"300\";s:6:\"public\";b:1;}}s:10:\"\0*\0content\";s:13262:\"<!DOCTYPE html>\n<html  lang=\"en\" dir=\"ltr\" prefix=\"content: http://purl.org/rss/1.0/modules/content/  dc: http://purl.org/dc/terms/  foaf: http://xmlns.com/foaf/0.1/  og: http://ogp.me/ns#  rdfs: http://www.w3.org/2000/01/rdf-schema#  schema: http://schema.org/  sioc: http://rdfs.org/sioc/ns#  sioct: http://rdfs.org/sioc/types#  skos: http://www.w3.org/2004/02/skos/core#  xsd: http://www.w3.org/2001/XMLSchema# \">\n  <head>\n    <meta charset=\"utf-8\" />\n<meta name=\"title\" content=\"Search | Yaffs - A Flash File System for embedded use\" />\n<meta name=\"news_keywords\" content=\"Flash File System\" />\n<meta name=\"description\" content=\"Yaffs (Yet Another Flash File System) is an open-source file system specifically designed to be fast, robust and suitable for embedded use with NAND and NOR Flash. It is widely used with Linux, RTOSs, or no OS at all, in consumer devices and critical infrastructure. It is available under GNU Public License, GPL, or on commercial terms from Aleph One.\" />\n<meta name=\"abstract\" content=\"Yaffs (Yet Another Flash File System) is an open-source file system specifically designed to be fast, robust and suitable for embedded use with NAND and NOR Flash. It is widely used with Linux, RTOSs, or no OS at all, in consumer devices and critical infrastructure. It is available under GNU Public License, GPL, or on commercial terms from Aleph One.\" />\n<meta name=\"keywords\" content=\"flash File System, flash, file System, flash storage, NAND flash, NOR flash, Yaffs\" />\n<meta name=\"Generator\" content=\"Drupal 8 (https://www.drupal.org)\" />\n<meta name=\"MobileOptimized\" content=\"width\" />\n<meta name=\"HandheldFriendly\" content=\"true\" />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansRegular-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBold-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBold-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBoldItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifRegular-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBoldItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"shortcut icon\" href=\"/sites/default/files/yaffs_favicon.png\" type=\"image/png\" />\n\n    <title>Search | Yaffs - A Flash File System for embedded use</title>\n    <link rel=\"stylesheet\" href=\"/sites/default/files/css/css_YGKHk3qOgVcGqV_6s_kZUGJkGYQEouHb462Ja18qfRA.css?ovtedh\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"/sites/default/files/css/css_6qeLA6GBkZNPHWp9GdQIYovV3tYuKU-ts-HicZ-WeQQ.css?ovtedh\" media=\"all\" />\n\n    \n<!--[if lte IE 8]>\n<script src=\"/sites/default/files/js/js_VtafjXmRvoUgAzqzYTA3Wrjkx9wcWhjP0G4ZnnqRamA.js\"></script>\n<![endif]-->\n\n  </head>\n  <body class=\"fontyourface path-search navbar-is-fixed-top has-glyphicons\">\n    <a href=\"#main-content\" class=\"visually-hidden focusable skip-link\">\n      Skip to main content\n    </a>\n    <div style=\"background-color: ; color: \" id=\"environment-indicator\">\n  \n    </div>\n\n              <header class=\"navbar navbar-default navbar-fixed-top\" id=\"navbar\" role=\"banner\">\n              <div class=\"container\">\n            <div class=\"navbar-header\">\n          <div class=\"region region-navigation\">\n          <a class=\"logo navbar-btn pull-left\" href=\"/\" title=\"Home\" rel=\"home\">\n      <img src=\"/themes/custom/yaffs/logo.svg\" alt=\"Home\" />\n    </a>\n      \n  </div>\n\n                          <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar-collapse\">\n            <span class=\"sr-only\">Toggle navigation</span>\n            <span class=\"icon-bar\"></span>\n            <span class=\"icon-bar\"></span>\n            <span class=\"icon-bar\"></span>\n          </button>\n              </div>\n\n                    <div id=\"navbar-collapse\" class=\"navbar-collapse collapse\">\n            <div class=\"region region-navigation-collapsible\">\n    <nav role=\"navigation\" aria-labelledby=\"block-mainnavigation-menu\" id=\"block-mainnavigation\">\n            <h2 class=\"sr-only\" id=\"block-mainnavigation-menu\">Main navigation</h2>\n\n      \n              <ul class=\"menu nav navbar-nav\">\n                            <li>\n        <a href=\"/\" data-drupal-link-system-path=\"&lt;front&gt;\">Home</a>\n                  </li>\n                        <li>\n        <a href=\"/support\" title=\"Help for Yaffs\" data-drupal-link-system-path=\"node/380\">Support</a>\n                  </li>\n                        <li>\n        <a href=\"/documents\" data-drupal-link-system-path=\"documents\">Documents</a>\n                  </li>\n                        <li>\n        <a href=\"/get-yaffs\" data-drupal-link-system-path=\"node/382\">Download</a>\n                  </li>\n                        <li>\n        <a href=\"/about-us\" data-drupal-link-system-path=\"node/325\">About us</a>\n                  </li>\n                        <li>\n        <a href=\"/contact\" data-drupal-link-system-path=\"node/73\">Contact</a>\n                  </li>\n        </ul>\n  \n\n\n  </nav>\n<div class=\"search-block-form block block-search block-search-form-block\" data-drupal-selector=\"search-block-form\" id=\"block-searchform\" role=\"search\">\n  \n    \n      <form action=\"/search/node\" method=\"get\" id=\"search-block-form\" accept-charset=\"UTF-8\">\n  <div class=\"form-item js-form-item form-type-search js-form-type-search form-item-keys js-form-item-keys form-no-label form-group\">\n      <label for=\"edit-keys\" class=\"control-label sr-only\">Search</label>\n  \n  \n  <div class=\"input-group\"><input title=\"Enter the terms you wish to search for.\" data-drupal-selector=\"edit-keys\" class=\"form-search form-control\" placeholder=\"Search\" type=\"search\" id=\"edit-keys\" name=\"keys\" value=\"\" size=\"15\" maxlength=\"128\" data-toggle=\"tooltip\" /><span class=\"input-group-btn\"><button type=\"submit\" value=\"Search\" class=\"button js-form-submit form-submit btn-primary btn icon-only\" name=\"\"><span class=\"sr-only\">Search</span><span class=\"icon glyphicon glyphicon-search\" aria-hidden=\"true\"></span></button></span></div>\n\n  \n  \n  </div>\n<div class=\"form-actions form-group js-form-wrapper form-wrapper\" data-drupal-selector=\"edit-actions\" id=\"edit-actions\"></div>\n\n</form>\n\n  </div>\n\n  </div>\n\n        </div>\n                    </div>\n          </header>\n  \n  <div role=\"main\" class=\"main-container container js-quickedit-main-content\">\n    <div class=\"row\">\n\n            \n            \n                  <section class=\"col-sm-12\">\n\n                                      <div class=\"highlighted\">  <div class=\"region region-highlighted\">\n        <ol class=\"breadcrumb\">\n          <li >\n                  <a href=\"/search\">Search</a>\n              </li>\n          <li  class=\"active\">\n                  Search\n              </li>\n      </ol>\n\n\n\n  </div>\n</div>\n                  \n                \n                \n                                      \n                  \n                          <a id=\"main-content\"></a>\n            <div class=\"region region-content\">\n        <h1 class=\"page-header\">Search for EXTRA_SHRINK_FLAG</h1>\n\n  <form class=\"search-form search-page-form\" data-drupal-selector=\"search-form\" action=\"/search/node?keys=EXTRA_SHRINK_FLAG\" method=\"post\" id=\"search-form\" accept-charset=\"UTF-8\">\n  <div class=\"form-group js-form-wrapper form-wrapper\" data-drupal-selector=\"edit-basic\" id=\"edit-basic\"><div class=\"form-item js-form-item form-type-search js-form-type-search form-item-keys js-form-item-keys form-no-label form-group\">\n      <label for=\"edit-keys\" class=\"control-label sr-only\">Enter your keywords</label>\n  \n  \n  <div class=\"input-group\"><input data-drupal-selector=\"edit-keys\" class=\"form-search form-control\" placeholder=\"Enter your keywords\" type=\"search\" id=\"edit-keys\" name=\"keys\" value=\"EXTRA_SHRINK_FLAG\" size=\"30\" maxlength=\"255\" title=\"Enter the terms you wish to search for.\" data-toggle=\"tooltip\" /><span class=\"input-group-btn\"><button type=\"submit\" name=\"op\" value=\"Search\" class=\"button js-form-submit form-submit btn-primary btn icon-only\"><span class=\"sr-only\">Search</span><span class=\"icon glyphicon glyphicon-search\" aria-hidden=\"true\"></span></button></span></div>\n\n  \n  \n  </div>\n</div>\n<a href=\"/search/node/help\" class=\"search-help-link\" data-drupal-selector=\"edit-help-link\" id=\"edit-help-link\">Search help</a><input data-drupal-selector=\"form-sem4h3ztg2q-cbvkhz3r2vylydogh6njt6gk72zf1gy\" type=\"hidden\" name=\"form_build_id\" value=\"form-SEM4H3zTg2Q_CBvkHz3r2VyLydOgh6njt6Gk72Zf1gY\" /><input data-drupal-selector=\"edit-search-form\" type=\"hidden\" name=\"form_id\" value=\"search_form\" />\n</form>\n<h3>Your search yielded no results.</h3>\n\n  </div>\n\n              </section>\n\n                </div>\n  </div>\n\n      <footer class=\"footer container\" role=\"contentinfo\">\n        <div class=\"primary_footer row\">\n            <div class=\"col-sm-3\">\n                  <div class=\"region region-footer-col1\">\n    <section id=\"block-yaffs-block-6\" class=\"block block-block-content block-block-content6c2d4b45-4dba-4b2d-8b9f-76701bf27533 clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<ul class=\"fa-ul\">\n<li><i class=\"fa-li fa fa-phone\"></i>+44 (0)1223 811679</li>\n<li><i class=\"fa-li fa fa-envelope\"></i><a href=\"denied:mailto:info@aleph1.co.uk?Subject=Website contact\" target=\"_top\">info@aleph1.co.uk</a></li>\n</ul>\n</div>\n      \n  </section>\n\n\n  </div>\n\n            </div>\n            <div class=\"col-sm-3\">\n                \n            </div>\n            <div class=\"col-sm-3\">\n                \n            </div>\n            <div class=\"col-sm-3\">\n                  <div class=\"region region-footer-col4\">\n    <section id=\"block-footerlegal\" class=\"block block-block-content block-block-content78ab593d-35b6-4772-a141-30216e7fcbb2 clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<p class=\"text-align-right\">&nbsp;<a href=\"/legal\">Legal &amp; Cookies</a></p>\n</div>\n      \n  </section>\n\n<section id=\"block-cookieinfo\" class=\"block block-block-content block-block-content4848c58d-90df-4819-81d8-0f9568eeeaac clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<p class=\"text-align-justify\"><br />\nWe use <a href=\"/legal\">cookies on this site</a>. By using it, you are giving us consent to set cookies.</p>\n</div>\n      \n  </section>\n\n\n  </div>\n\n            </div>\n        </div>\n        <div class = \"secondary_footer row\">\n            <div class=\"col-sm-12\">\n                <div class=\"region region-footer\">\n    <nav role=\"navigation\" aria-labelledby=\"block-yaffs-account-menu-menu\" id=\"block-yaffs-account-menu\">\n            <h2 class=\"sr-only\" id=\"block-yaffs-account-menu-menu\">User account menu</h2>\n\n      \n              <ul class=\"menu nav navbar-nav navbar-right\">\n                            <li>\n        <a href=\"/user/login\" data-drupal-link-system-path=\"user/login\">Log in</a>\n                  </li>\n        </ul>\n  \n\n\n  </nav>\n\n  </div>\n\n            </div>\n        </div>\n    </footer>\n  \n    \n    <script type=\"application/json\" data-drupal-selector=\"drupal-settings-json\">{\"path\":{\"baseUrl\":\"\\/\",\"scriptPath\":null,\"pathPrefix\":\"\",\"currentPath\":\"search\\/node\",\"currentPathIsAdmin\":false,\"isFront\":false,\"currentLanguage\":\"en\",\"currentQuery\":{\"keys\":\"EXTRA_SHRINK_FLAG\"}},\"pluralDelimiter\":\"\\u0003\",\"bootstrap\":{\"forms_has_error_value_toggle\":1,\"modal_animation\":1,\"modal_backdrop\":\"true\",\"modal_keyboard\":1,\"modal_show\":1,\"modal_size\":\"\",\"popover_enabled\":1,\"popover_animation\":1,\"popover_container\":\"body\",\"popover_content\":\"\",\"popover_delay\":\"0\",\"popover_html\":0,\"popover_placement\":\"right\",\"popover_selector\":\"\",\"popover_title\":\"\",\"popover_trigger\":\"click\",\"popover_trigger_autoclose\":1,\"tooltip_enabled\":1,\"tooltip_animation\":1,\"tooltip_container\":\"body\",\"tooltip_delay\":\"0\",\"tooltip_html\":0,\"tooltip_placement\":\"auto left\",\"tooltip_selector\":\"\",\"tooltip_trigger\":\"hover\"},\"ajaxTrustedUrl\":{\"form_action_p_pvdeGsVG5zNF_XLGPTvYSKCf43t8qZYSwcfZl2uzM\":true,\"\\/search\\/node\":true},\"user\":{\"uid\":0,\"permissionsHash\":\"aa7fc4c8fb40c7a8665ccd12fea07926dff0f59b9ee3346bc513c6399bee5b01\"}}</script>\n<script src=\"/sites/default/files/js/js_2l0lF4i9o3aztHULbfajMT_RTqGCEN_lVC8JI48SILw.js\"></script>\n\n  </body>\n</html>\n\";s:10:\"\0*\0version\";s:3:\"1.0\";s:13:\"\0*\0statusCode\";i:200;s:13:\"\0*\0statusText\";s:2:\"OK\";s:10:\"\0*\0charset\";N;s:23:\"\0*\0cacheabilityMetadata\";O:35:\"Drupal\\Core\\Cache\\CacheableMetadata\":3:{s:16:\"\0*\0cacheContexts\";a:19:{i:0;s:28:\"languages:language_interface\";i:1;s:5:\"route\";i:2;s:32:\"route.menu_active_trails:account\";i:3;s:29:\"route.menu_active_trails:main\";i:4;s:30:\"route.menu_active_trails:tools\";i:5;s:5:\"theme\";i:6;s:3:\"url\";i:7;s:8:\"url.path\";i:8;s:17:\"url.path.is_front\";i:9;s:15:\"url.path.parent\";i:10;s:14:\"url.query_args\";i:11;s:23:\"url.query_args.pagers:0\";i:12;s:30:\"url.query_args:_wrapper_format\";i:13;s:19:\"url.query_args:keys\";i:14;s:4:\"user\";i:15;s:21:\"user.node_grants:view\";i:16;s:16:\"user.permissions\";i:17;s:10:\"user.roles\";i:18;s:24:\"user.roles:authenticated\";}s:12:\"\0*\0cacheTags\";a:52:{i:0;s:16:\"block_content:18\";i:1;s:16:\"block_content:23\";i:2;s:15:\"block_content:7\";i:3;s:18:\"block_content_view\";i:4;s:10:\"block_view\";i:5;s:32:\"config:block.block.choosingyaffs\";i:6;s:29:\"config:block.block.cookieinfo\";i:7;s:32:\"config:block.block.downloadyaffs\";i:8;s:30:\"config:block.block.footerlegal\";i:9;s:39:\"config:block.block.frontimagehighlight2\";i:10;s:32:\"config:block.block.frontpagehero\";i:11;s:39:\"config:block.block.frontpageprimeryaffs\";i:12;s:33:\"config:block.block.mainnavigation\";i:13;s:35:\"config:block.block.mainnavigation_2\";i:14;s:29:\"config:block.block.searchform\";i:15;s:31:\"config:block.block.sitebranding\";i:16;s:66:\"config:block.block.views_block__highlighted_yaffs_features_block_1\";i:17;s:66:\"config:block.block.views_block__yaffs_admin_recent_content_block_1\";i:18;s:66:\"config:block.block.views_block__yaffs_documents_highlights_block_1\";i:19;s:56:\"config:block.block.views_block__yaffs_user_logos_block_1\";i:20;s:37:\"config:block.block.yaffs_account_menu\";i:21;s:33:\"config:block.block.yaffs_block_10\";i:22;s:32:\"config:block.block.yaffs_block_5\";i:23;s:32:\"config:block.block.yaffs_block_6\";i:24;s:32:\"config:block.block.yaffs_block_8\";i:25;s:32:\"config:block.block.yaffs_block_9\";i:26;s:36:\"config:block.block.yaffs_breadcrumbs\";i:27;s:32:\"config:block.block.yaffs_content\";i:28;s:29:\"config:block.block.yaffs_help\";i:29;s:36:\"config:block.block.yaffs_local_tasks\";i:30;s:33:\"config:block.block.yaffs_messages\";i:31;s:35:\"config:block.block.yaffs_page_title\";i:32;s:32:\"config:block.block.yaffs_user_21\";i:33;s:31:\"config:block.block.yaffsinspace\";i:34;s:17:\"config:block_list\";i:35;s:24:\"config:color.theme.yaffs\";i:36;s:30:\"config:filter.format.full_html\";i:37;s:29:\"config:filter.format.raw_html\";i:38;s:30:\"config:search.page.node_search\";i:39;s:30:\"config:search.page.user_search\";i:40;s:22:\"config:search.settings\";i:41;s:26:\"config:system.menu.account\";i:42;s:23:\"config:system.menu.main\";i:43;s:24:\"config:system.menu.tools\";i:44;s:18:\"config:system.site\";i:45;s:26:\"config:user.role.anonymous\";i:46;s:13:\"http_response\";i:47;s:9:\"node_list\";i:48;s:8:\"rendered\";i:49;s:12:\"search_index\";i:50;s:24:\"search_index:node_search\";i:51;s:6:\"user:0\";}s:14:\"\0*\0cacheMaxAge\";i:-1;}s:14:\"\0*\0attachments\";a:4:{s:7:\"library\";a:9:{i:0;s:14:\"core/html5shiv\";i:1;s:11:\"system/base\";i:2;s:15:\"bootstrap/theme\";i:3;s:20:\"yaffs/global-styling\";i:4;s:23:\"yaffs/bootstrap-scripts\";i:5;s:19:\"yaffs/yaffs-helpers\";i:6;s:17:\"bootstrap/popover\";i:7;s:17:\"bootstrap/tooltip\";i:8;s:50:\"environment_indicator/drupal.environment_indicator\";}s:9:\"html_head\";a:19:{i:0;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:5:\"title\";s:7:\"content\";s:53:\"Search | Yaffs - A Flash File System for embedded use\";}}i:1;s:5:\"title\";}i:1;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:13:\"news_keywords\";s:7:\"content\";s:17:\"Flash File System\";}}i:1;s:13:\"news_keywords\";}i:2;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:11:\"description\";s:7:\"content\";s:352:\"Yaffs (Yet Another Flash File System) is an open-source file system specifically designed to be fast, robust and suitable for embedded use with NAND and NOR Flash. It is widely used with Linux, RTOSs, or no OS at all, in consumer devices and critical infrastructure. It is available under GNU Public License, GPL, or on commercial terms from Aleph One.\";}}i:1;s:11:\"description\";}i:3;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:8:\"abstract\";s:7:\"content\";s:352:\"Yaffs (Yet Another Flash File System) is an open-source file system specifically designed to be fast, robust and suitable for embedded use with NAND and NOR Flash. It is widely used with Linux, RTOSs, or no OS at all, in consumer devices and critical infrastructure. It is available under GNU Public License, GPL, or on commercial terms from Aleph One.\";}}i:1;s:8:\"abstract\";}i:4;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:8:\"keywords\";s:7:\"content\";s:82:\"flash File System, flash, file System, flash storage, NAND flash, NOR flash, Yaffs\";}}i:1;s:8:\"keywords\";}i:5;a:2:{i:0;a:3:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:1:{s:7:\"charset\";s:5:\"utf-8\";}s:7:\"#weight\";i:-1000;}i:1;s:24:\"system_meta_content_type\";}i:6;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:9:\"Generator\";s:7:\"content\";s:33:\"Drupal 8 (https://www.drupal.org)\";}}i:1;s:21:\"system_meta_generator\";}i:7;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:15:\"MobileOptimized\";s:7:\"content\";s:5:\"width\";}}i:1;s:15:\"MobileOptimized\";}i:8;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:16:\"HandheldFriendly\";s:7:\"content\";s:4:\"true\";}}i:1;s:16:\"HandheldFriendly\";}i:9;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:8:\"viewport\";s:7:\"content\";s:37:\"width=device-width, initial-scale=1.0\";}}i:1;s:8:\"viewport\";}i:10;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:125:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansRegular-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1151\";}i:11;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:124:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1152\";}i:12;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:122:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBold-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1153\";}i:13;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:123:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBold-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1149\";}i:14;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:129:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBoldItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1150\";}i:15;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:125:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1148\";}i:16;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:126:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifRegular-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1147\";}i:17;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:128:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBoldItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1154\";}i:18;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:13:\"shortcut icon\";s:4:\"href\";s:38:\"/sites/default/files/yaffs_favicon.png\";s:4:\"type\";s:9:\"image/png\";}}i:1;s:67:\"html_head_link:shortcut icon:/sites/default/files/yaffs_favicon.png\";}}s:12:\"placeholders\";a:0:{}s:14:\"drupalSettings\";a:5:{s:4:\"path\";a:8:{s:7:\"baseUrl\";s:1:\"/\";s:10:\"scriptPath\";N;s:10:\"pathPrefix\";s:0:\"\";s:11:\"currentPath\";s:11:\"search/node\";s:18:\"currentPathIsAdmin\";b:0;s:7:\"isFront\";b:0;s:15:\"currentLanguage\";s:2:\"en\";s:12:\"currentQuery\";O:8:\"stdClass\":1:{s:4:\"keys\";s:17:\"EXTRA_SHRINK_FLAG\";}}s:15:\"pluralDelimiter\";s:1:\"\";s:9:\"bootstrap\";a:25:{s:28:\"forms_has_error_value_toggle\";i:1;s:15:\"modal_animation\";i:1;s:14:\"modal_backdrop\";s:4:\"true\";s:14:\"modal_keyboard\";i:1;s:10:\"modal_show\";i:1;s:10:\"modal_size\";s:0:\"\";s:15:\"popover_enabled\";i:1;s:17:\"popover_animation\";i:1;s:17:\"popover_container\";s:4:\"body\";s:15:\"popover_content\";s:0:\"\";s:13:\"popover_delay\";s:1:\"0\";s:12:\"popover_html\";i:0;s:17:\"popover_placement\";s:5:\"right\";s:16:\"popover_selector\";s:0:\"\";s:13:\"popover_title\";s:0:\"\";s:15:\"popover_trigger\";s:5:\"click\";s:25:\"popover_trigger_autoclose\";i:1;s:15:\"tooltip_enabled\";i:1;s:17:\"tooltip_animation\";i:1;s:17:\"tooltip_container\";s:4:\"body\";s:13:\"tooltip_delay\";s:1:\"0\";s:12:\"tooltip_html\";i:0;s:17:\"tooltip_placement\";s:9:\"auto left\";s:16:\"tooltip_selector\";s:0:\"\";s:15:\"tooltip_trigger\";s:5:\"hover\";}s:14:\"ajaxTrustedUrl\";a:2:{s:55:\"form_action_p_pvdeGsVG5zNF_XLGPTvYSKCf43t8qZYSwcfZl2uzM\";b:1;s:12:\"/search/node\";b:1;}s:4:\"user\";a:2:{s:3:\"uid\";i:0;s:15:\"permissionsHash\";s:64:\"aa7fc4c8fb40c7a8665ccd12fea07926dff0f59b9ee3346bc513c6399bee5b01\";}}}}',-1,1508987582.972,1,'block_content:18 block_content:23 block_content:7 block_content_view block_view config:block.block.choosingyaffs config:block.block.cookieinfo config:block.block.downloadyaffs config:block.block.footerlegal config:block.block.frontimagehighlight2 config:block.block.frontpagehero config:block.block.frontpageprimeryaffs config:block.block.mainnavigation config:block.block.mainnavigation_2 config:block.block.searchform config:block.block.sitebranding config:block.block.views_block__highlighted_yaffs_features_block_1 config:block.block.views_block__yaffs_admin_recent_content_block_1 config:block.block.views_block__yaffs_documents_highlights_block_1 config:block.block.views_block__yaffs_user_logos_block_1 config:block.block.yaffs_account_menu config:block.block.yaffs_block_10 config:block.block.yaffs_block_5 config:block.block.yaffs_block_6 config:block.block.yaffs_block_8 config:block.block.yaffs_block_9 config:block.block.yaffs_breadcrumbs config:block.block.yaffs_content config:block.block.yaffs_help config:block.block.yaffs_local_tasks config:block.block.yaffs_messages config:block.block.yaffs_page_title config:block.block.yaffs_user_21 config:block.block.yaffsinspace config:block_list config:color.theme.yaffs config:filter.format.full_html config:filter.format.raw_html config:search.page.node_search config:search.page.user_search config:search.settings config:system.menu.account config:system.menu.main config:system.menu.tools config:system.site config:user.role.anonymous http_response node_list rendered search_index search_index:node_search user:0','3458'),('https://yaffs.net/search/node?keys=Memory+usage:html','O:31:\"Drupal\\Core\\Render\\HtmlResponse\":8:{s:7:\"headers\";O:50:\"Symfony\\Component\\HttpFoundation\\ResponseHeaderBag\":5:{s:23:\"\0*\0computedCacheControl\";a:2:{s:7:\"max-age\";s:3:\"300\";s:6:\"public\";b:1;}s:10:\"\0*\0cookies\";a:0:{}s:14:\"\0*\0headerNames\";a:14:{s:12:\"content-type\";s:12:\"Content-Type\";s:13:\"cache-control\";s:13:\"Cache-Control\";s:4:\"date\";s:4:\"Date\";s:22:\"x-drupal-dynamic-cache\";s:22:\"X-Drupal-Dynamic-Cache\";s:4:\"link\";s:4:\"Link\";s:15:\"x-ua-compatible\";s:15:\"X-UA-Compatible\";s:16:\"content-language\";s:16:\"Content-language\";s:22:\"x-content-type-options\";s:22:\"X-Content-Type-Options\";s:15:\"x-frame-options\";s:15:\"X-Frame-Options\";s:7:\"expires\";s:7:\"Expires\";s:13:\"last-modified\";s:13:\"Last-Modified\";s:4:\"etag\";s:4:\"ETag\";s:4:\"vary\";s:4:\"Vary\";s:11:\"x-generator\";s:11:\"X-Generator\";}s:10:\"\0*\0headers\";a:14:{s:12:\"content-type\";a:1:{i:0;s:24:\"text/html; charset=UTF-8\";}s:13:\"cache-control\";a:1:{i:0;s:19:\"max-age=300, public\";}s:4:\"date\";a:1:{i:0;s:29:\"Fri, 29 Sep 2017 06:32:59 GMT\";}s:22:\"x-drupal-dynamic-cache\";a:1:{i:0;s:4:\"MISS\";}s:4:\"link\";a:3:{i:0;s:108:\"</sites/default/files/css/css_YGKHk3qOgVcGqV_6s_kZUGJkGYQEouHb462Ja18qfRA.css?ovtedh>; rel=preload; as=style\";i:1;s:108:\"</sites/default/files/css/css_6qeLA6GBkZNPHWp9GdQIYovV3tYuKU-ts-HicZ-WeQQ.css?ovtedh>; rel=preload; as=style\";i:2;s:99:\"</sites/default/files/js/js_2l0lF4i9o3aztHULbfajMT_RTqGCEN_lVC8JI48SILw.js>; rel=preload; as=script\";}s:15:\"x-ua-compatible\";a:1:{i:0;s:7:\"IE=edge\";}s:16:\"content-language\";a:1:{i:0;s:2:\"en\";}s:22:\"x-content-type-options\";a:1:{i:0;s:7:\"nosniff\";}s:15:\"x-frame-options\";a:1:{i:0;s:10:\"SAMEORIGIN\";}s:7:\"expires\";a:1:{i:0;s:29:\"Sun, 19 Nov 1978 05:00:00 GMT\";}s:13:\"last-modified\";a:1:{i:0;s:29:\"Fri, 29 Sep 2017 06:32:58 GMT\";}s:4:\"etag\";a:1:{i:0;s:12:\"\"1506666778\"\";}s:4:\"vary\";a:1:{i:0;s:6:\"Cookie\";}s:11:\"x-generator\";a:1:{i:0;s:33:\"Drupal 8 (https://www.drupal.org)\";}}s:15:\"\0*\0cacheControl\";a:2:{s:7:\"max-age\";s:3:\"300\";s:6:\"public\";b:1;}}s:10:\"\0*\0content\";s:18242:\"<!DOCTYPE html>\n<html  lang=\"en\" dir=\"ltr\" prefix=\"content: http://purl.org/rss/1.0/modules/content/  dc: http://purl.org/dc/terms/  foaf: http://xmlns.com/foaf/0.1/  og: http://ogp.me/ns#  rdfs: http://www.w3.org/2000/01/rdf-schema#  schema: http://schema.org/  sioc: http://rdfs.org/sioc/ns#  sioct: http://rdfs.org/sioc/types#  skos: http://www.w3.org/2004/02/skos/core#  xsd: http://www.w3.org/2001/XMLSchema# \">\n  <head>\n    <meta charset=\"utf-8\" />\n<meta name=\"title\" content=\"Search | Yaffs - A Flash File System for embedded use\" />\n<meta name=\"news_keywords\" content=\"Flash File System\" />\n<meta name=\"description\" content=\"Yaffs (Yet Another Flash File System) is an open-source file system specifically designed to be fast, robust and suitable for embedded use with NAND and NOR Flash. It is widely used with Linux, RTOSs, or no OS at all, in consumer devices and critical infrastructure. It is available under GNU Public License, GPL, or on commercial terms from Aleph One.\" />\n<meta name=\"abstract\" content=\"Yaffs (Yet Another Flash File System) is an open-source file system specifically designed to be fast, robust and suitable for embedded use with NAND and NOR Flash. It is widely used with Linux, RTOSs, or no OS at all, in consumer devices and critical infrastructure. It is available under GNU Public License, GPL, or on commercial terms from Aleph One.\" />\n<meta name=\"keywords\" content=\"flash File System, flash, file System, flash storage, NAND flash, NOR flash, Yaffs\" />\n<meta name=\"Generator\" content=\"Drupal 8 (https://www.drupal.org)\" />\n<meta name=\"MobileOptimized\" content=\"width\" />\n<meta name=\"HandheldFriendly\" content=\"true\" />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansRegular-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBold-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBold-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBoldItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifRegular-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBoldItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"shortcut icon\" href=\"/sites/default/files/yaffs_favicon.png\" type=\"image/png\" />\n\n    <title>Search | Yaffs - A Flash File System for embedded use</title>\n    <link rel=\"stylesheet\" href=\"/sites/default/files/css/css_YGKHk3qOgVcGqV_6s_kZUGJkGYQEouHb462Ja18qfRA.css?ovtedh\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"/sites/default/files/css/css_6qeLA6GBkZNPHWp9GdQIYovV3tYuKU-ts-HicZ-WeQQ.css?ovtedh\" media=\"all\" />\n\n    \n<!--[if lte IE 8]>\n<script src=\"/sites/default/files/js/js_VtafjXmRvoUgAzqzYTA3Wrjkx9wcWhjP0G4ZnnqRamA.js\"></script>\n<![endif]-->\n\n  </head>\n  <body class=\"fontyourface path-search navbar-is-fixed-top has-glyphicons\">\n    <a href=\"#main-content\" class=\"visually-hidden focusable skip-link\">\n      Skip to main content\n    </a>\n    <div style=\"background-color: ; color: \" id=\"environment-indicator\">\n  \n    </div>\n\n              <header class=\"navbar navbar-default navbar-fixed-top\" id=\"navbar\" role=\"banner\">\n              <div class=\"container\">\n            <div class=\"navbar-header\">\n          <div class=\"region region-navigation\">\n          <a class=\"logo navbar-btn pull-left\" href=\"/\" title=\"Home\" rel=\"home\">\n      <img src=\"/themes/custom/yaffs/logo.svg\" alt=\"Home\" />\n    </a>\n      \n  </div>\n\n                          <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar-collapse\">\n            <span class=\"sr-only\">Toggle navigation</span>\n            <span class=\"icon-bar\"></span>\n            <span class=\"icon-bar\"></span>\n            <span class=\"icon-bar\"></span>\n          </button>\n              </div>\n\n                    <div id=\"navbar-collapse\" class=\"navbar-collapse collapse\">\n            <div class=\"region region-navigation-collapsible\">\n    <nav role=\"navigation\" aria-labelledby=\"block-mainnavigation-menu\" id=\"block-mainnavigation\">\n            <h2 class=\"sr-only\" id=\"block-mainnavigation-menu\">Main navigation</h2>\n\n      \n              <ul class=\"menu nav navbar-nav\">\n                            <li>\n        <a href=\"/\" data-drupal-link-system-path=\"&lt;front&gt;\">Home</a>\n                  </li>\n                        <li>\n        <a href=\"/support\" title=\"Help for Yaffs\" data-drupal-link-system-path=\"node/380\">Support</a>\n                  </li>\n                        <li>\n        <a href=\"/documents\" data-drupal-link-system-path=\"documents\">Documents</a>\n                  </li>\n                        <li>\n        <a href=\"/get-yaffs\" data-drupal-link-system-path=\"node/382\">Download</a>\n                  </li>\n                        <li>\n        <a href=\"/about-us\" data-drupal-link-system-path=\"node/325\">About us</a>\n                  </li>\n                        <li>\n        <a href=\"/contact\" data-drupal-link-system-path=\"node/73\">Contact</a>\n                  </li>\n        </ul>\n  \n\n\n  </nav>\n<div class=\"search-block-form block block-search block-search-form-block\" data-drupal-selector=\"search-block-form\" id=\"block-searchform\" role=\"search\">\n  \n    \n      <form action=\"/search/node\" method=\"get\" id=\"search-block-form\" accept-charset=\"UTF-8\">\n  <div class=\"form-item js-form-item form-type-search js-form-type-search form-item-keys js-form-item-keys form-no-label form-group\">\n      <label for=\"edit-keys\" class=\"control-label sr-only\">Search</label>\n  \n  \n  <div class=\"input-group\"><input title=\"Enter the terms you wish to search for.\" data-drupal-selector=\"edit-keys\" class=\"form-search form-control\" placeholder=\"Search\" type=\"search\" id=\"edit-keys\" name=\"keys\" value=\"\" size=\"15\" maxlength=\"128\" data-toggle=\"tooltip\" /><span class=\"input-group-btn\"><button type=\"submit\" value=\"Search\" class=\"button js-form-submit form-submit btn-primary btn icon-only\" name=\"\"><span class=\"sr-only\">Search</span><span class=\"icon glyphicon glyphicon-search\" aria-hidden=\"true\"></span></button></span></div>\n\n  \n  \n  </div>\n<div class=\"form-actions form-group js-form-wrapper form-wrapper\" data-drupal-selector=\"edit-actions\" id=\"edit-actions\"></div>\n\n</form>\n\n  </div>\n\n  </div>\n\n        </div>\n                    </div>\n          </header>\n  \n  <div role=\"main\" class=\"main-container container js-quickedit-main-content\">\n    <div class=\"row\">\n\n            \n            \n                  <section class=\"col-sm-12\">\n\n                                      <div class=\"highlighted\">  <div class=\"region region-highlighted\">\n        <ol class=\"breadcrumb\">\n          <li >\n                  <a href=\"/search\">Search</a>\n              </li>\n          <li  class=\"active\">\n                  Search\n              </li>\n      </ol>\n\n\n\n  </div>\n</div>\n                  \n                \n                \n                                      \n                  \n                          <a id=\"main-content\"></a>\n            <div class=\"region region-content\">\n        <h1 class=\"page-header\">Search for Memory usage</h1>\n\n  <form class=\"search-form search-page-form\" data-drupal-selector=\"search-form\" action=\"/search/node?keys=Memory%20usage\" method=\"post\" id=\"search-form\" accept-charset=\"UTF-8\">\n  <div class=\"form-group js-form-wrapper form-wrapper\" data-drupal-selector=\"edit-basic\" id=\"edit-basic\"><div class=\"form-item js-form-item form-type-search js-form-type-search form-item-keys js-form-item-keys form-no-label form-group\">\n      <label for=\"edit-keys\" class=\"control-label sr-only\">Enter your keywords</label>\n  \n  \n  <div class=\"input-group\"><input data-drupal-selector=\"edit-keys\" class=\"form-search form-control\" placeholder=\"Enter your keywords\" type=\"search\" id=\"edit-keys\" name=\"keys\" value=\"Memory usage\" size=\"30\" maxlength=\"255\" title=\"Enter the terms you wish to search for.\" data-toggle=\"tooltip\" /><span class=\"input-group-btn\"><button type=\"submit\" name=\"op\" value=\"Search\" class=\"button js-form-submit form-submit btn-primary btn icon-only\"><span class=\"sr-only\">Search</span><span class=\"icon glyphicon glyphicon-search\" aria-hidden=\"true\"></span></button></span></div>\n\n  \n  \n  </div>\n</div>\n<a href=\"/search/node/help\" class=\"search-help-link\" data-drupal-selector=\"edit-help-link\" id=\"edit-help-link\">Search help</a><input data-drupal-selector=\"form-1-jr65piykphj5dyyz4r4kf6l5ifa52jhidpsnds2sc\" type=\"hidden\" name=\"form_build_id\" value=\"form-1_Jr65PiYKphj5dYyz4R4kF6L5IFa52jhiDPsNDS2sc\" /><input data-drupal-selector=\"edit-search-form\" type=\"hidden\" name=\"form_id\" value=\"search_form\" />\n</form>\n<h2>Search results</h2><ol><li>\n<h3>\n  <a href=\"https://yaffs.net/documents/yaffs-robustness-and-testing\">YAFFS Robustness and Testing</a>\n</h3>\n\n  <p>…  layer (FTL) – a driver model which makes flash <strong>memory</strong> appear as a disk drive – in conjunction with a …  development of file systems designed specifically for flash <strong>memory</strong>. These are known as flash file systems.  \n  Flash …  the use of KLEE and other tools.  \n  4.6 Open Source <strong>Usage</strong>  \n  Open Source <strong>usage</strong> of Yaffs opens it up to testing …</p>\n  <p><span lang=\"\" about=\"/user/charles-manning\" typeof=\"schema:Person\" property=\"schema:name\" datatype=\"\">Charles Manning</span> - 7 Jun 2017 - 11:05pm</p>\n</li><li>\n<h3>\n  <a href=\"https://yaffs.net/documents/faq\">FAQ</a>\n</h3>\n\n  <p>…  with knock-on effects in other parameters like RAM <strong>usage</strong>.  \n\n    How many files can there be?    \n\n  There is …  surveyors in the field we determined that extreme lifetime <strong>usage</strong> would be:  \n\n    20MB per day.  \n	  200 days per year  …  cell, allows more than one bit state to be stored in a <strong>memory</strong> cell. MLC Flash often allows four state (ie. 2 bits) …</p>\n  <p><span lang=\"\" about=\"/user/admin\" typeof=\"schema:Person\" property=\"schema:name\" datatype=\"\">Admin</span> - 2 Jun 2017 - 1:56pm</p>\n</li><li>\n<h3>\n  <a href=\"https://yaffs.net/documents/how-yaffs-works\">How Yaffs works</a>\n</h3>\n\n  <p>…  supported 512-byte page NAND devices with a SmartMedia-like <strong>memory</strong> layout.  \n  Yaffs2 is a follow-up to Yaffs1 extending …  is deleted too.  \n   \n  \n  6 The Yaffs NAND model  \n  The <strong>memory</strong> in NAND flash is arranged in     pages.     A page is …  the document). For explanation purposes, we shall consider <strong>usage</strong> of fictitious NAND type that has 4 chunks per block, …</p>\n  <p><span lang=\"\" about=\"/user/charles-manning\" typeof=\"schema:Person\" property=\"schema:name\" datatype=\"\">Charles Manning</span> - 27 Jun 2017 - 3:33am</p>\n</li><li>\n<h3>\n  <a href=\"https://yaffs.net/archives/yaffs-original-specification\">Yaffs Original Specification</a>\n</h3>\n\n  <p>…  There are pros and cons with all of these.  \n\n  Flash <strong>memory</strong> has quite a few constraints which will not be …  these file systems work reasonably well. They have a low <strong>memory</strong> footprint and scale well. Like all FAT based systems …  systems scale particularly well in both boot time and RAM <strong>usage</strong>. Scaling is particularly relevant when one considers …</p>\n  <p></p>\n</li><li>\n<h3>\n  <a href=\"https://yaffs.net/documents/yaffs-direct-interface\">Yaffs Direct Interface</a>\n</h3>\n\n  <p>…  with similar file systems.  \n   \n  \n  Yaffs has a lower <strong>memory</strong> footprint than most other log-structured flash file …  required.  \n   \n  \n  Yaffs can be used with a wide range of <strong>memory</strong> technologies.  \n   \n  \n  5 Source Code and Yaffs …  used for tags. The mapping between the spare bytes and the <strong>usage</strong> of the bytes is specified in yaffs_packedtags1.c  \n  …</p>\n  <p><span lang=\"\" about=\"/user/admin\" typeof=\"schema:Person\" property=\"schema:name\" datatype=\"\">Admin</span> - 7 Jun 2017 - 11:53pm</p>\n</li><li>\n<h3>\n  <a href=\"https://yaffs.net/archives/yaffs-nand-specific-flash-file-system-introductory-article\">YAFFS: the NAND-specific flash file system - Introductory Article</a>\n</h3>\n\n  <p>…  fast, but has other limitations. The most common consumer <strong>usage</strong> of NAND flash is on SmartMedia cards which are just …  interface: wrapper layer between yaffs_guts and the NAND <strong>memory</strong> access functions. eg. calls Linux mtd layer or RAM …  functions: wrapper functions for services such as <strong>memory</strong> allocation etc.  \n   \n  \nThis modular design has …</p>\n  <p></p>\n</li><li>\n<h3>\n  <a href=\"https://yaffs.net/archives/fuel-embedded-database-use-yaffs\">FUEL Embedded Database for use with YAFFS</a>\n</h3>\n\n  <p>…  YAFFS team up to offer new generation of database and flash <strong>memory</strong> solutions for developers of Mobile Handsets and Consumer Electronics.  \n  Revolutions in flash <strong>memory</strong> technology have greatly increased the practical uses …  a limited number of choices. The shock resistance, power <strong>usage</strong> and smaller form factor makes flash <strong>memory</strong> a superior …</p>\n  <p></p>\n</li><li>\n<h3>\n  <a href=\"https://yaffs.net/archive/jffs2-and-nand-study\">JFFS2 and NAND study</a>\n</h3>\n\n  <p>…    \n  \n  Both families of flash technology have significant <strong>usage</strong> restrictions which require special consideration when using the devices for file storage:  \n  \n  \n  All flash <strong>memory</strong> blocks can only endure a limited number of erasure …  a file needs to be overwritten, it is a limitation of flash <strong>memory</strong> that the new data cannot just overwrite the data at …</p>\n  <p></p>\n</li></ol>\n\n  </div>\n\n              </section>\n\n                </div>\n  </div>\n\n      <footer class=\"footer container\" role=\"contentinfo\">\n        <div class=\"primary_footer row\">\n            <div class=\"col-sm-3\">\n                  <div class=\"region region-footer-col1\">\n    <section id=\"block-yaffs-block-6\" class=\"block block-block-content block-block-content6c2d4b45-4dba-4b2d-8b9f-76701bf27533 clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<ul class=\"fa-ul\">\n<li><i class=\"fa-li fa fa-phone\"></i>+44 (0)1223 811679</li>\n<li><i class=\"fa-li fa fa-envelope\"></i><a href=\"denied:mailto:info@aleph1.co.uk?Subject=Website contact\" target=\"_top\">info@aleph1.co.uk</a></li>\n</ul>\n</div>\n      \n  </section>\n\n\n  </div>\n\n            </div>\n            <div class=\"col-sm-3\">\n                \n            </div>\n            <div class=\"col-sm-3\">\n                \n            </div>\n            <div class=\"col-sm-3\">\n                  <div class=\"region region-footer-col4\">\n    <section id=\"block-footerlegal\" class=\"block block-block-content block-block-content78ab593d-35b6-4772-a141-30216e7fcbb2 clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<p class=\"text-align-right\">&nbsp;<a href=\"/legal\">Legal &amp; Cookies</a></p>\n</div>\n      \n  </section>\n\n<section id=\"block-cookieinfo\" class=\"block block-block-content block-block-content4848c58d-90df-4819-81d8-0f9568eeeaac clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<p class=\"text-align-justify\"><br />\nWe use <a href=\"/legal\">cookies on this site</a>. By using it, you are giving us consent to set cookies.</p>\n</div>\n      \n  </section>\n\n\n  </div>\n\n            </div>\n        </div>\n        <div class = \"secondary_footer row\">\n            <div class=\"col-sm-12\">\n                <div class=\"region region-footer\">\n    <nav role=\"navigation\" aria-labelledby=\"block-yaffs-account-menu-menu\" id=\"block-yaffs-account-menu\">\n            <h2 class=\"sr-only\" id=\"block-yaffs-account-menu-menu\">User account menu</h2>\n\n      \n              <ul class=\"menu nav navbar-nav navbar-right\">\n                            <li>\n        <a href=\"/user/login\" data-drupal-link-system-path=\"user/login\">Log in</a>\n                  </li>\n        </ul>\n  \n\n\n  </nav>\n\n  </div>\n\n            </div>\n        </div>\n    </footer>\n  \n    \n    <script type=\"application/json\" data-drupal-selector=\"drupal-settings-json\">{\"path\":{\"baseUrl\":\"\\/\",\"scriptPath\":null,\"pathPrefix\":\"\",\"currentPath\":\"search\\/node\",\"currentPathIsAdmin\":false,\"isFront\":false,\"currentLanguage\":\"en\",\"currentQuery\":{\"keys\":\"Memory usage\"}},\"pluralDelimiter\":\"\\u0003\",\"bootstrap\":{\"forms_has_error_value_toggle\":1,\"modal_animation\":1,\"modal_backdrop\":\"true\",\"modal_keyboard\":1,\"modal_show\":1,\"modal_size\":\"\",\"popover_enabled\":1,\"popover_animation\":1,\"popover_container\":\"body\",\"popover_content\":\"\",\"popover_delay\":\"0\",\"popover_html\":0,\"popover_placement\":\"right\",\"popover_selector\":\"\",\"popover_title\":\"\",\"popover_trigger\":\"click\",\"popover_trigger_autoclose\":1,\"tooltip_enabled\":1,\"tooltip_animation\":1,\"tooltip_container\":\"body\",\"tooltip_delay\":\"0\",\"tooltip_html\":0,\"tooltip_placement\":\"auto left\",\"tooltip_selector\":\"\",\"tooltip_trigger\":\"hover\"},\"ajaxTrustedUrl\":{\"form_action_p_pvdeGsVG5zNF_XLGPTvYSKCf43t8qZYSwcfZl2uzM\":true,\"\\/search\\/node\":true},\"user\":{\"uid\":0,\"permissionsHash\":\"aa7fc4c8fb40c7a8665ccd12fea07926dff0f59b9ee3346bc513c6399bee5b01\"}}</script>\n<script src=\"/sites/default/files/js/js_2l0lF4i9o3aztHULbfajMT_RTqGCEN_lVC8JI48SILw.js\"></script>\n\n  </body>\n</html>\n\";s:10:\"\0*\0version\";s:3:\"1.0\";s:13:\"\0*\0statusCode\";i:200;s:13:\"\0*\0statusText\";s:2:\"OK\";s:10:\"\0*\0charset\";N;s:23:\"\0*\0cacheabilityMetadata\";O:35:\"Drupal\\Core\\Cache\\CacheableMetadata\":3:{s:16:\"\0*\0cacheContexts\";a:20:{i:0;s:28:\"languages:language_interface\";i:1;s:5:\"route\";i:2;s:32:\"route.menu_active_trails:account\";i:3;s:29:\"route.menu_active_trails:main\";i:4;s:30:\"route.menu_active_trails:tools\";i:5;s:5:\"theme\";i:6;s:3:\"url\";i:7;s:8:\"url.path\";i:8;s:17:\"url.path.is_front\";i:9;s:15:\"url.path.parent\";i:10;s:14:\"url.query_args\";i:11;s:23:\"url.query_args.pagers:0\";i:12;s:30:\"url.query_args:_wrapper_format\";i:13;s:19:\"url.query_args:keys\";i:14;s:8:\"url.site\";i:15;s:4:\"user\";i:16;s:21:\"user.node_grants:view\";i:17;s:16:\"user.permissions\";i:18;s:10:\"user.roles\";i:19;s:24:\"user.roles:authenticated\";}s:12:\"\0*\0cacheTags\";a:69:{i:0;s:16:\"block_content:18\";i:1;s:16:\"block_content:23\";i:2;s:15:\"block_content:7\";i:3;s:18:\"block_content_view\";i:4;s:10:\"block_view\";i:5;s:32:\"config:block.block.choosingyaffs\";i:6;s:29:\"config:block.block.cookieinfo\";i:7;s:32:\"config:block.block.downloadyaffs\";i:8;s:30:\"config:block.block.footerlegal\";i:9;s:39:\"config:block.block.frontimagehighlight2\";i:10;s:32:\"config:block.block.frontpagehero\";i:11;s:39:\"config:block.block.frontpageprimeryaffs\";i:12;s:33:\"config:block.block.mainnavigation\";i:13;s:35:\"config:block.block.mainnavigation_2\";i:14;s:29:\"config:block.block.searchform\";i:15;s:31:\"config:block.block.sitebranding\";i:16;s:66:\"config:block.block.views_block__highlighted_yaffs_features_block_1\";i:17;s:66:\"config:block.block.views_block__yaffs_admin_recent_content_block_1\";i:18;s:66:\"config:block.block.views_block__yaffs_documents_highlights_block_1\";i:19;s:56:\"config:block.block.views_block__yaffs_user_logos_block_1\";i:20;s:37:\"config:block.block.yaffs_account_menu\";i:21;s:33:\"config:block.block.yaffs_block_10\";i:22;s:32:\"config:block.block.yaffs_block_5\";i:23;s:32:\"config:block.block.yaffs_block_6\";i:24;s:32:\"config:block.block.yaffs_block_8\";i:25;s:32:\"config:block.block.yaffs_block_9\";i:26;s:36:\"config:block.block.yaffs_breadcrumbs\";i:27;s:32:\"config:block.block.yaffs_content\";i:28;s:29:\"config:block.block.yaffs_help\";i:29;s:36:\"config:block.block.yaffs_local_tasks\";i:30;s:33:\"config:block.block.yaffs_messages\";i:31;s:35:\"config:block.block.yaffs_page_title\";i:32;s:32:\"config:block.block.yaffs_user_21\";i:33;s:31:\"config:block.block.yaffsinspace\";i:34;s:17:\"config:block_list\";i:35;s:24:\"config:color.theme.yaffs\";i:36;s:31:\"config:filter.format.basic_html\";i:37;s:30:\"config:filter.format.full_html\";i:38;s:29:\"config:filter.format.raw_html\";i:39;s:30:\"config:search.page.node_search\";i:40;s:30:\"config:search.page.user_search\";i:41;s:22:\"config:search.settings\";i:42;s:26:\"config:system.menu.account\";i:43;s:23:\"config:system.menu.main\";i:44;s:24:\"config:system.menu.tools\";i:45;s:18:\"config:system.site\";i:46;s:26:\"config:user.role.anonymous\";i:47;s:7:\"file:76\";i:48;s:7:\"file:78\";i:49;s:7:\"file:80\";i:50;s:13:\"http_response\";i:51;s:8:\"node:342\";i:52;s:8:\"node:347\";i:53;s:7:\"node:37\";i:54;s:8:\"node:409\";i:55;s:7:\"node:41\";i:56;s:8:\"node:420\";i:57;s:8:\"node:448\";i:58;s:8:\"node:453\";i:59;s:9:\"node_list\";i:60;s:9:\"node_view\";i:61;s:8:\"rendered\";i:62;s:12:\"search_index\";i:63;s:24:\"search_index:node_search\";i:64;s:6:\"user:0\";i:65;s:6:\"user:1\";i:66;s:6:\"user:3\";i:67;s:6:\"user:4\";i:68;s:6:\"user:6\";}s:14:\"\0*\0cacheMaxAge\";i:-1;}s:14:\"\0*\0attachments\";a:4:{s:7:\"library\";a:9:{i:0;s:14:\"core/html5shiv\";i:1;s:11:\"system/base\";i:2;s:15:\"bootstrap/theme\";i:3;s:20:\"yaffs/global-styling\";i:4;s:23:\"yaffs/bootstrap-scripts\";i:5;s:19:\"yaffs/yaffs-helpers\";i:6;s:17:\"bootstrap/popover\";i:7;s:17:\"bootstrap/tooltip\";i:8;s:50:\"environment_indicator/drupal.environment_indicator\";}s:9:\"html_head\";a:19:{i:0;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:5:\"title\";s:7:\"content\";s:53:\"Search | Yaffs - A Flash File System for embedded use\";}}i:1;s:5:\"title\";}i:1;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:13:\"news_keywords\";s:7:\"content\";s:17:\"Flash File System\";}}i:1;s:13:\"news_keywords\";}i:2;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:11:\"description\";s:7:\"content\";s:352:\"Yaffs (Yet Another Flash File System) is an open-source file system specifically designed to be fast, robust and suitable for embedded use with NAND and NOR Flash. It is widely used with Linux, RTOSs, or no OS at all, in consumer devices and critical infrastructure. It is available under GNU Public License, GPL, or on commercial terms from Aleph One.\";}}i:1;s:11:\"description\";}i:3;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:8:\"abstract\";s:7:\"content\";s:352:\"Yaffs (Yet Another Flash File System) is an open-source file system specifically designed to be fast, robust and suitable for embedded use with NAND and NOR Flash. It is widely used with Linux, RTOSs, or no OS at all, in consumer devices and critical infrastructure. It is available under GNU Public License, GPL, or on commercial terms from Aleph One.\";}}i:1;s:8:\"abstract\";}i:4;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:8:\"keywords\";s:7:\"content\";s:82:\"flash File System, flash, file System, flash storage, NAND flash, NOR flash, Yaffs\";}}i:1;s:8:\"keywords\";}i:5;a:2:{i:0;a:3:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:1:{s:7:\"charset\";s:5:\"utf-8\";}s:7:\"#weight\";i:-1000;}i:1;s:24:\"system_meta_content_type\";}i:6;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:9:\"Generator\";s:7:\"content\";s:33:\"Drupal 8 (https://www.drupal.org)\";}}i:1;s:21:\"system_meta_generator\";}i:7;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:15:\"MobileOptimized\";s:7:\"content\";s:5:\"width\";}}i:1;s:15:\"MobileOptimized\";}i:8;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:16:\"HandheldFriendly\";s:7:\"content\";s:4:\"true\";}}i:1;s:16:\"HandheldFriendly\";}i:9;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:8:\"viewport\";s:7:\"content\";s:37:\"width=device-width, initial-scale=1.0\";}}i:1;s:8:\"viewport\";}i:10;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:125:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansRegular-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1151\";}i:11;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:124:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1152\";}i:12;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:122:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBold-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1153\";}i:13;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:123:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBold-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1149\";}i:14;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:129:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBoldItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1150\";}i:15;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:125:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1148\";}i:16;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:126:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifRegular-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1147\";}i:17;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:128:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBoldItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1154\";}i:18;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:13:\"shortcut icon\";s:4:\"href\";s:38:\"/sites/default/files/yaffs_favicon.png\";s:4:\"type\";s:9:\"image/png\";}}i:1;s:67:\"html_head_link:shortcut icon:/sites/default/files/yaffs_favicon.png\";}}s:12:\"placeholders\";a:0:{}s:14:\"drupalSettings\";a:5:{s:4:\"path\";a:8:{s:7:\"baseUrl\";s:1:\"/\";s:10:\"scriptPath\";N;s:10:\"pathPrefix\";s:0:\"\";s:11:\"currentPath\";s:11:\"search/node\";s:18:\"currentPathIsAdmin\";b:0;s:7:\"isFront\";b:0;s:15:\"currentLanguage\";s:2:\"en\";s:12:\"currentQuery\";O:8:\"stdClass\":1:{s:4:\"keys\";s:12:\"Memory usage\";}}s:15:\"pluralDelimiter\";s:1:\"\";s:9:\"bootstrap\";a:25:{s:28:\"forms_has_error_value_toggle\";i:1;s:15:\"modal_animation\";i:1;s:14:\"modal_backdrop\";s:4:\"true\";s:14:\"modal_keyboard\";i:1;s:10:\"modal_show\";i:1;s:10:\"modal_size\";s:0:\"\";s:15:\"popover_enabled\";i:1;s:17:\"popover_animation\";i:1;s:17:\"popover_container\";s:4:\"body\";s:15:\"popover_content\";s:0:\"\";s:13:\"popover_delay\";s:1:\"0\";s:12:\"popover_html\";i:0;s:17:\"popover_placement\";s:5:\"right\";s:16:\"popover_selector\";s:0:\"\";s:13:\"popover_title\";s:0:\"\";s:15:\"popover_trigger\";s:5:\"click\";s:25:\"popover_trigger_autoclose\";i:1;s:15:\"tooltip_enabled\";i:1;s:17:\"tooltip_animation\";i:1;s:17:\"tooltip_container\";s:4:\"body\";s:13:\"tooltip_delay\";s:1:\"0\";s:12:\"tooltip_html\";i:0;s:17:\"tooltip_placement\";s:9:\"auto left\";s:16:\"tooltip_selector\";s:0:\"\";s:15:\"tooltip_trigger\";s:5:\"hover\";}s:14:\"ajaxTrustedUrl\";a:2:{s:55:\"form_action_p_pvdeGsVG5zNF_XLGPTvYSKCf43t8qZYSwcfZl2uzM\";b:1;s:12:\"/search/node\";b:1;}s:4:\"user\";a:2:{s:3:\"uid\";i:0;s:15:\"permissionsHash\";s:64:\"aa7fc4c8fb40c7a8665ccd12fea07926dff0f59b9ee3346bc513c6399bee5b01\";}}}}',-1,1506666779.784,1,'block_content:18 block_content:23 block_content:7 block_content_view block_view config:block.block.choosingyaffs config:block.block.cookieinfo config:block.block.downloadyaffs config:block.block.footerlegal config:block.block.frontimagehighlight2 config:block.block.frontpagehero config:block.block.frontpageprimeryaffs config:block.block.mainnavigation config:block.block.mainnavigation_2 config:block.block.searchform config:block.block.sitebranding config:block.block.views_block__highlighted_yaffs_features_block_1 config:block.block.views_block__yaffs_admin_recent_content_block_1 config:block.block.views_block__yaffs_documents_highlights_block_1 config:block.block.views_block__yaffs_user_logos_block_1 config:block.block.yaffs_account_menu config:block.block.yaffs_block_10 config:block.block.yaffs_block_5 config:block.block.yaffs_block_6 config:block.block.yaffs_block_8 config:block.block.yaffs_block_9 config:block.block.yaffs_breadcrumbs config:block.block.yaffs_content config:block.block.yaffs_help config:block.block.yaffs_local_tasks config:block.block.yaffs_messages config:block.block.yaffs_page_title config:block.block.yaffs_user_21 config:block.block.yaffsinspace config:block_list config:color.theme.yaffs config:filter.format.basic_html config:filter.format.full_html config:filter.format.raw_html config:search.page.node_search config:search.page.user_search config:search.settings config:system.menu.account config:system.menu.main config:system.menu.tools config:system.site config:user.role.anonymous file:76 file:78 file:80 http_response node:342 node:347 node:37 node:409 node:41 node:420 node:448 node:453 node_list node_view rendered search_index search_index:node_search user:0 user:1 user:3 user:4 user:6','3752'),('https://yaffs.net/search/node?keys=NOR%20flash&page=1:html','O:31:\"Drupal\\Core\\Render\\HtmlResponse\":8:{s:7:\"headers\";O:50:\"Symfony\\Component\\HttpFoundation\\ResponseHeaderBag\":5:{s:23:\"\0*\0computedCacheControl\";a:2:{s:7:\"max-age\";s:3:\"300\";s:6:\"public\";b:1;}s:10:\"\0*\0cookies\";a:0:{}s:14:\"\0*\0headerNames\";a:14:{s:12:\"content-type\";s:12:\"Content-Type\";s:13:\"cache-control\";s:13:\"Cache-Control\";s:4:\"date\";s:4:\"Date\";s:22:\"x-drupal-dynamic-cache\";s:22:\"X-Drupal-Dynamic-Cache\";s:4:\"link\";s:4:\"Link\";s:15:\"x-ua-compatible\";s:15:\"X-UA-Compatible\";s:16:\"content-language\";s:16:\"Content-language\";s:22:\"x-content-type-options\";s:22:\"X-Content-Type-Options\";s:15:\"x-frame-options\";s:15:\"X-Frame-Options\";s:7:\"expires\";s:7:\"Expires\";s:13:\"last-modified\";s:13:\"Last-Modified\";s:4:\"etag\";s:4:\"ETag\";s:4:\"vary\";s:4:\"Vary\";s:11:\"x-generator\";s:11:\"X-Generator\";}s:10:\"\0*\0headers\";a:14:{s:12:\"content-type\";a:1:{i:0;s:24:\"text/html; charset=UTF-8\";}s:13:\"cache-control\";a:1:{i:0;s:19:\"max-age=300, public\";}s:4:\"date\";a:1:{i:0;s:29:\"Sun, 17 Sep 2017 06:48:34 GMT\";}s:22:\"x-drupal-dynamic-cache\";a:1:{i:0;s:4:\"MISS\";}s:4:\"link\";a:3:{i:0;s:108:\"</sites/default/files/css/css_YGKHk3qOgVcGqV_6s_kZUGJkGYQEouHb462Ja18qfRA.css?ovtedh>; rel=preload; as=style\";i:1;s:108:\"</sites/default/files/css/css_6qeLA6GBkZNPHWp9GdQIYovV3tYuKU-ts-HicZ-WeQQ.css?ovtedh>; rel=preload; as=style\";i:2;s:99:\"</sites/default/files/js/js_2l0lF4i9o3aztHULbfajMT_RTqGCEN_lVC8JI48SILw.js>; rel=preload; as=script\";}s:15:\"x-ua-compatible\";a:1:{i:0;s:7:\"IE=edge\";}s:16:\"content-language\";a:1:{i:0;s:2:\"en\";}s:22:\"x-content-type-options\";a:1:{i:0;s:7:\"nosniff\";}s:15:\"x-frame-options\";a:1:{i:0;s:10:\"SAMEORIGIN\";}s:7:\"expires\";a:1:{i:0;s:29:\"Sun, 19 Nov 1978 05:00:00 GMT\";}s:13:\"last-modified\";a:1:{i:0;s:29:\"Sun, 17 Sep 2017 06:48:34 GMT\";}s:4:\"etag\";a:1:{i:0;s:12:\"\"1505630914\"\";}s:4:\"vary\";a:1:{i:0;s:6:\"Cookie\";}s:11:\"x-generator\";a:1:{i:0;s:33:\"Drupal 8 (https://www.drupal.org)\";}}s:15:\"\0*\0cacheControl\";a:2:{s:7:\"max-age\";s:3:\"300\";s:6:\"public\";b:1;}}s:10:\"\0*\0content\";s:17628:\"<!DOCTYPE html>\n<html  lang=\"en\" dir=\"ltr\" prefix=\"content: http://purl.org/rss/1.0/modules/content/  dc: http://purl.org/dc/terms/  foaf: http://xmlns.com/foaf/0.1/  og: http://ogp.me/ns#  rdfs: http://www.w3.org/2000/01/rdf-schema#  schema: http://schema.org/  sioc: http://rdfs.org/sioc/ns#  sioct: http://rdfs.org/sioc/types#  skos: http://www.w3.org/2004/02/skos/core#  xsd: http://www.w3.org/2001/XMLSchema# \">\n  <head>\n    <meta charset=\"utf-8\" />\n<meta name=\"title\" content=\"Search | Yaffs - A Flash File System for embedded use\" />\n<meta name=\"news_keywords\" content=\"Flash File System\" />\n<meta name=\"description\" content=\"Yaffs (Yet Another Flash File System) is an open-source file system specifically designed to be fast, robust and suitable for embedded use with NAND and NOR Flash. It is widely used with Linux, RTOSs, or no OS at all, in consumer devices and critical infrastructure. It is available under GNU Public License, GPL, or on commercial terms from Aleph One.\" />\n<meta name=\"abstract\" content=\"Yaffs (Yet Another Flash File System) is an open-source file system specifically designed to be fast, robust and suitable for embedded use with NAND and NOR Flash. It is widely used with Linux, RTOSs, or no OS at all, in consumer devices and critical infrastructure. It is available under GNU Public License, GPL, or on commercial terms from Aleph One.\" />\n<meta name=\"keywords\" content=\"flash File System, flash, file System, flash storage, NAND flash, NOR flash, Yaffs\" />\n<meta name=\"Generator\" content=\"Drupal 8 (https://www.drupal.org)\" />\n<meta name=\"MobileOptimized\" content=\"width\" />\n<meta name=\"HandheldFriendly\" content=\"true\" />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansRegular-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBold-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBold-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBoldItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifRegular-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBoldItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"shortcut icon\" href=\"/sites/default/files/yaffs_favicon.png\" type=\"image/png\" />\n\n    <title>Search | Yaffs - A Flash File System for embedded use</title>\n    <link rel=\"stylesheet\" href=\"/sites/default/files/css/css_YGKHk3qOgVcGqV_6s_kZUGJkGYQEouHb462Ja18qfRA.css?ovtedh\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"/sites/default/files/css/css_6qeLA6GBkZNPHWp9GdQIYovV3tYuKU-ts-HicZ-WeQQ.css?ovtedh\" media=\"all\" />\n\n    \n<!--[if lte IE 8]>\n<script src=\"/sites/default/files/js/js_VtafjXmRvoUgAzqzYTA3Wrjkx9wcWhjP0G4ZnnqRamA.js\"></script>\n<![endif]-->\n\n  </head>\n  <body class=\"fontyourface path-search navbar-is-fixed-top has-glyphicons\">\n    <a href=\"#main-content\" class=\"visually-hidden focusable skip-link\">\n      Skip to main content\n    </a>\n    <div style=\"background-color: ; color: \" id=\"environment-indicator\">\n  \n    </div>\n\n              <header class=\"navbar navbar-default navbar-fixed-top\" id=\"navbar\" role=\"banner\">\n              <div class=\"container\">\n            <div class=\"navbar-header\">\n          <div class=\"region region-navigation\">\n          <a class=\"logo navbar-btn pull-left\" href=\"/\" title=\"Home\" rel=\"home\">\n      <img src=\"/themes/custom/yaffs/logo.svg\" alt=\"Home\" />\n    </a>\n      \n  </div>\n\n                          <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar-collapse\">\n            <span class=\"sr-only\">Toggle navigation</span>\n            <span class=\"icon-bar\"></span>\n            <span class=\"icon-bar\"></span>\n            <span class=\"icon-bar\"></span>\n          </button>\n              </div>\n\n                    <div id=\"navbar-collapse\" class=\"navbar-collapse collapse\">\n            <div class=\"region region-navigation-collapsible\">\n    <nav role=\"navigation\" aria-labelledby=\"block-mainnavigation-menu\" id=\"block-mainnavigation\">\n            <h2 class=\"sr-only\" id=\"block-mainnavigation-menu\">Main navigation</h2>\n\n      \n              <ul class=\"menu nav navbar-nav\">\n                            <li>\n        <a href=\"/\" data-drupal-link-system-path=\"&lt;front&gt;\">Home</a>\n                  </li>\n                        <li>\n        <a href=\"/support\" title=\"Help for Yaffs\" data-drupal-link-system-path=\"node/380\">Support</a>\n                  </li>\n                        <li>\n        <a href=\"/documents\" data-drupal-link-system-path=\"documents\">Documents</a>\n                  </li>\n                        <li>\n        <a href=\"/get-yaffs\" data-drupal-link-system-path=\"node/382\">Download</a>\n                  </li>\n                        <li>\n        <a href=\"/about-us\" data-drupal-link-system-path=\"node/325\">About us</a>\n                  </li>\n                        <li>\n        <a href=\"/contact\" data-drupal-link-system-path=\"node/73\">Contact</a>\n                  </li>\n        </ul>\n  \n\n\n  </nav>\n<div class=\"search-block-form block block-search block-search-form-block\" data-drupal-selector=\"search-block-form\" id=\"block-searchform\" role=\"search\">\n  \n    \n      <form action=\"/search/node\" method=\"get\" id=\"search-block-form\" accept-charset=\"UTF-8\">\n  <div class=\"form-item js-form-item form-type-search js-form-type-search form-item-keys js-form-item-keys form-no-label form-group\">\n      <label for=\"edit-keys\" class=\"control-label sr-only\">Search</label>\n  \n  \n  <div class=\"input-group\"><input title=\"Enter the terms you wish to search for.\" data-drupal-selector=\"edit-keys\" class=\"form-search form-control\" placeholder=\"Search\" type=\"search\" id=\"edit-keys\" name=\"keys\" value=\"\" size=\"15\" maxlength=\"128\" data-toggle=\"tooltip\" /><span class=\"input-group-btn\"><button type=\"submit\" value=\"Search\" class=\"button js-form-submit form-submit btn-primary btn icon-only\" name=\"\"><span class=\"sr-only\">Search</span><span class=\"icon glyphicon glyphicon-search\" aria-hidden=\"true\"></span></button></span></div>\n\n  \n  \n  </div>\n<div class=\"form-actions form-group js-form-wrapper form-wrapper\" data-drupal-selector=\"edit-actions\" id=\"edit-actions\"></div>\n\n</form>\n\n  </div>\n\n  </div>\n\n        </div>\n                    </div>\n          </header>\n  \n  <div role=\"main\" class=\"main-container container js-quickedit-main-content\">\n    <div class=\"row\">\n\n            \n            \n                  <section class=\"col-sm-12\">\n\n                                      <div class=\"highlighted\">  <div class=\"region region-highlighted\">\n        <ol class=\"breadcrumb\">\n          <li >\n                  <a href=\"/search\">Search</a>\n              </li>\n          <li  class=\"active\">\n                  Search\n              </li>\n      </ol>\n\n\n\n  </div>\n</div>\n                  \n                \n                \n                                      \n                  \n                          <a id=\"main-content\"></a>\n            <div class=\"region region-content\">\n        <h1 class=\"page-header\">Search for NOR flash</h1>\n\n  <form class=\"search-form search-page-form\" data-drupal-selector=\"search-form\" action=\"/search/node?keys=NOR%20flash&amp;page=1\" method=\"post\" id=\"search-form\" accept-charset=\"UTF-8\">\n  <div class=\"form-group js-form-wrapper form-wrapper\" data-drupal-selector=\"edit-basic\" id=\"edit-basic\"><div class=\"form-item js-form-item form-type-search js-form-type-search form-item-keys js-form-item-keys form-no-label form-group\">\n      <label for=\"edit-keys\" class=\"control-label sr-only\">Enter your keywords</label>\n  \n  \n  <div class=\"input-group\"><input data-drupal-selector=\"edit-keys\" class=\"form-search form-control\" placeholder=\"Enter your keywords\" type=\"search\" id=\"edit-keys\" name=\"keys\" value=\"NOR flash\" size=\"30\" maxlength=\"255\" title=\"Enter the terms you wish to search for.\" data-toggle=\"tooltip\" /><span class=\"input-group-btn\"><button type=\"submit\" name=\"op\" value=\"Search\" class=\"button js-form-submit form-submit btn-primary btn icon-only\"><span class=\"sr-only\">Search</span><span class=\"icon glyphicon glyphicon-search\" aria-hidden=\"true\"></span></button></span></div>\n\n  \n  \n  </div>\n</div>\n<a href=\"/search/node/help\" class=\"search-help-link\" data-drupal-selector=\"edit-help-link\" id=\"edit-help-link\">Search help</a><input data-drupal-selector=\"form-91l7sj9dhaoxbneqrff7izb-zktb6lzeuyg0ccdjgk4\" type=\"hidden\" name=\"form_build_id\" value=\"form-91L7SJ9DHaoXbneqrff7izb_zktB6lZEuyg0CCdJGK4\" /><input data-drupal-selector=\"edit-search-form\" type=\"hidden\" name=\"form_id\" value=\"search_form\" />\n</form>\n<h2>Search results</h2><ol><li>\n<h3>\n  <a href=\"https://yaffs.net/yaffs-porting-guide\">Yaffs Porting Guide</a>\n</h3>\n\n  <p>…  can refer to it as we go along.  \n\n  Background and NAND <strong>Flash</strong> Properties  \n\n  NAND <strong>flash</strong> is generally arranged in   pages   and   blocks  . A …  AND of these two patterns i.e. 1000. This is different to <strong>NOR</strong> <strong>flash</strong>.  \n    Yaffs identifies blocks by their block …</p>\n  <p></p>\n</li><li>\n<h3>\n  <a href=\"https://yaffs.net/archives/yaffs-original-specification\">Yaffs Original Specification</a>\n</h3>\n\n  <p>…  Specification  \n\n                YAFFS (Yet Another <strong>Flash</strong> File System)  \n\n  Version 0.3  \n\n  Charles Manning …  It is important to recognise that &quot;<strong>flash</strong>&quot; includes both <strong>NOR</strong> and NAND <strong>flash</strong> which have different sets of constraints. …  term &quot;<strong>flash</strong>&quot; into thinking that approaches appropriate for <strong>NOR</strong> <strong>flash</strong> are immediately suitable for NAND <strong>flash</strong>.  \n\n  The …</p>\n  <p></p>\n</li><li>\n<h3>\n  <a href=\"https://yaffs.net/archives/state-nand-mtd-driver-start-project\">State of NAND MTD driver at start of project</a>\n</h3>\n\n  <p>…  can be forced to fail.  \n    \n  \n   \n  \n     \n  Overall <strong>flash</strong> system diagram    \n  A diagrammatic representation of support for SmartMedia, NAND and <strong>NOR</strong> as well as both FAT16 and JFFS2 might look like the …   \n  \n  \n  NAND devices are typically much larger than <strong>NOR</strong> (eg. 128MB is currently a large NAND chip while 16MB …</p>\n  <p></p>\n</li><li>\n<h3>\n  <a href=\"https://yaffs.net/yaffs-flash-file-system-embedded-use\">Yaffs - A Flash File System For Embedded Use</a>\n</h3>\n\n  <p>Yaffs - A <strong>Flash</strong> File System For Embedded Use  \n\n                Yaffs (Yet Another <strong>Flash</strong> File System) is an open-source file system …  be fast, robust and suitable for embedded use with NAND and <strong>NOR</strong> <strong>Flash</strong>.  It is widely used with Linux, RTOSs, or no OS …</p>\n  <p></p>\n</li><li>\n<h3>\n  <a href=\"https://yaffs.net/archives/howto-incorporate-yaffs-linux\">HOWTO incorporate YAFFS in Linux</a>\n</h3>\n\n  <p>…  age.   \n  What is yaffs?  \n  Yaffs stands for Yet Another <strong>Flash</strong> Filing System.   \n  It is a journaling filesystem designed to run on NAND <strong>flash</strong> with special reference to embedded systems.   \n  Why …  chips) is cheap and has a fast erase time as compared with <strong>NOR</strong> <strong>flash</strong>.   \n  The NAND physical interface is very simple.  …</p>\n  <p></p>\n</li><li>\n<h3>\n  <a href=\"https://yaffs.net/yaffs-talk-slide-2-intro\">YAFFS talk - Slide 2 - Intro</a>\n</h3>\n\n  <p>…  current stage, an explanation of the differences between <strong>NOR</strong> and NAND <strong>flash</strong>, then we&#039;ll look at the filesystem itself, covering …</p>\n  <p></p>\n</li></ol>  <nav class=\"pager-nav text-center\" role=\"navigation\" aria-labelledby=\"pagination-heading\">\n    <h4 id=\"pagination-heading\" class=\"visually-hidden\">Pagination</h4>\n    <ul class=\"pagination js-pager__items\">\n\n                    <li class=\"pager__item pager__item--first\">\n          <a href=\"?keys=NOR%20flash&amp;page=0\" title=\"Go to first page\" rel=\"prev\">\n            <span class=\"visually-hidden\">First page</span>\n            <span aria-hidden=\"true\">first</span>\n          </a>\n        </li>\n      \n                    <li class=\"pager__item pager__item--previous\">\n          <a href=\"?keys=NOR%20flash&amp;page=0\" title=\"Go to previous page\" rel=\"prev\">\n            <span class=\"visually-hidden\">Previous page</span>\n            <span aria-hidden=\"true\">previous</span>\n          </a>\n        </li>\n      \n                    <li class=\"pager__item\">\n                                          <a href=\"?keys=NOR%20flash&amp;page=0\" title=\"Go to page 1\">\n            <span class=\"visually-hidden\">\n              Page\n            </span>1</a>\n        </li>\n              <li class=\"pager__item is-active active\">\n                                          <a href=\"?keys=NOR%20flash&amp;page=1\" title=\"Current page\">\n            <span class=\"visually-hidden\">\n              Current page\n            </span>2</a>\n        </li>\n      \n            \n            \n    </ul>\n  </nav>\n\n\n  </div>\n\n              </section>\n\n                </div>\n  </div>\n\n      <footer class=\"footer container\" role=\"contentinfo\">\n        <div class=\"primary_footer row\">\n            <div class=\"col-sm-3\">\n                  <div class=\"region region-footer-col1\">\n    <section id=\"block-yaffs-block-6\" class=\"block block-block-content block-block-content6c2d4b45-4dba-4b2d-8b9f-76701bf27533 clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<ul class=\"fa-ul\">\n<li><i class=\"fa-li fa fa-phone\"></i>+44 (0)1223 811679</li>\n<li><i class=\"fa-li fa fa-envelope\"></i><a href=\"denied:mailto:info@aleph1.co.uk?Subject=Website contact\" target=\"_top\">info@aleph1.co.uk</a></li>\n</ul>\n</div>\n      \n  </section>\n\n\n  </div>\n\n            </div>\n            <div class=\"col-sm-3\">\n                \n            </div>\n            <div class=\"col-sm-3\">\n                \n            </div>\n            <div class=\"col-sm-3\">\n                  <div class=\"region region-footer-col4\">\n    <section id=\"block-footerlegal\" class=\"block block-block-content block-block-content78ab593d-35b6-4772-a141-30216e7fcbb2 clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<p class=\"text-align-right\">&nbsp;<a href=\"/legal\">Legal &amp; Cookies</a></p>\n</div>\n      \n  </section>\n\n<section id=\"block-cookieinfo\" class=\"block block-block-content block-block-content4848c58d-90df-4819-81d8-0f9568eeeaac clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<p class=\"text-align-justify\"><br />\nWe use <a href=\"/legal\">cookies on this site</a>. By using it, you are giving us consent to set cookies.</p>\n</div>\n      \n  </section>\n\n\n  </div>\n\n            </div>\n        </div>\n        <div class = \"secondary_footer row\">\n            <div class=\"col-sm-12\">\n                <div class=\"region region-footer\">\n    <nav role=\"navigation\" aria-labelledby=\"block-yaffs-account-menu-menu\" id=\"block-yaffs-account-menu\">\n            <h2 class=\"sr-only\" id=\"block-yaffs-account-menu-menu\">User account menu</h2>\n\n      \n              <ul class=\"menu nav navbar-nav navbar-right\">\n                            <li>\n        <a href=\"/user/login\" data-drupal-link-system-path=\"user/login\">Log in</a>\n                  </li>\n        </ul>\n  \n\n\n  </nav>\n\n  </div>\n\n            </div>\n        </div>\n    </footer>\n  \n    \n    <script type=\"application/json\" data-drupal-selector=\"drupal-settings-json\">{\"path\":{\"baseUrl\":\"\\/\",\"scriptPath\":null,\"pathPrefix\":\"\",\"currentPath\":\"search\\/node\",\"currentPathIsAdmin\":false,\"isFront\":false,\"currentLanguage\":\"en\",\"currentQuery\":{\"keys\":\"NOR flash\",\"page\":\"1\"}},\"pluralDelimiter\":\"\\u0003\",\"bootstrap\":{\"forms_has_error_value_toggle\":1,\"modal_animation\":1,\"modal_backdrop\":\"true\",\"modal_keyboard\":1,\"modal_show\":1,\"modal_size\":\"\",\"popover_enabled\":1,\"popover_animation\":1,\"popover_container\":\"body\",\"popover_content\":\"\",\"popover_delay\":\"0\",\"popover_html\":0,\"popover_placement\":\"right\",\"popover_selector\":\"\",\"popover_title\":\"\",\"popover_trigger\":\"click\",\"popover_trigger_autoclose\":1,\"tooltip_enabled\":1,\"tooltip_animation\":1,\"tooltip_container\":\"body\",\"tooltip_delay\":\"0\",\"tooltip_html\":0,\"tooltip_placement\":\"auto left\",\"tooltip_selector\":\"\",\"tooltip_trigger\":\"hover\"},\"ajaxTrustedUrl\":{\"form_action_p_pvdeGsVG5zNF_XLGPTvYSKCf43t8qZYSwcfZl2uzM\":true,\"\\/search\\/node\":true},\"user\":{\"uid\":0,\"permissionsHash\":\"aa7fc4c8fb40c7a8665ccd12fea07926dff0f59b9ee3346bc513c6399bee5b01\"}}</script>\n<script src=\"/sites/default/files/js/js_2l0lF4i9o3aztHULbfajMT_RTqGCEN_lVC8JI48SILw.js\"></script>\n\n  </body>\n</html>\n\";s:10:\"\0*\0version\";s:3:\"1.0\";s:13:\"\0*\0statusCode\";i:200;s:13:\"\0*\0statusText\";s:2:\"OK\";s:10:\"\0*\0charset\";N;s:23:\"\0*\0cacheabilityMetadata\";O:35:\"Drupal\\Core\\Cache\\CacheableMetadata\":3:{s:16:\"\0*\0cacheContexts\";a:20:{i:0;s:28:\"languages:language_interface\";i:1;s:5:\"route\";i:2;s:32:\"route.menu_active_trails:account\";i:3;s:29:\"route.menu_active_trails:main\";i:4;s:30:\"route.menu_active_trails:tools\";i:5;s:5:\"theme\";i:6;s:3:\"url\";i:7;s:8:\"url.path\";i:8;s:17:\"url.path.is_front\";i:9;s:15:\"url.path.parent\";i:10;s:14:\"url.query_args\";i:11;s:23:\"url.query_args.pagers:0\";i:12;s:30:\"url.query_args:_wrapper_format\";i:13;s:19:\"url.query_args:keys\";i:14;s:8:\"url.site\";i:15;s:4:\"user\";i:16;s:21:\"user.node_grants:view\";i:17;s:16:\"user.permissions\";i:18;s:10:\"user.roles\";i:19;s:24:\"user.roles:authenticated\";}s:12:\"\0*\0cacheTags\";a:62:{i:0;s:16:\"block_content:18\";i:1;s:16:\"block_content:23\";i:2;s:15:\"block_content:7\";i:3;s:18:\"block_content_view\";i:4;s:10:\"block_view\";i:5;s:32:\"config:block.block.choosingyaffs\";i:6;s:29:\"config:block.block.cookieinfo\";i:7;s:32:\"config:block.block.downloadyaffs\";i:8;s:30:\"config:block.block.footerlegal\";i:9;s:39:\"config:block.block.frontimagehighlight2\";i:10;s:32:\"config:block.block.frontpagehero\";i:11;s:39:\"config:block.block.frontpageprimeryaffs\";i:12;s:33:\"config:block.block.mainnavigation\";i:13;s:35:\"config:block.block.mainnavigation_2\";i:14;s:29:\"config:block.block.searchform\";i:15;s:31:\"config:block.block.sitebranding\";i:16;s:66:\"config:block.block.views_block__highlighted_yaffs_features_block_1\";i:17;s:66:\"config:block.block.views_block__yaffs_admin_recent_content_block_1\";i:18;s:66:\"config:block.block.views_block__yaffs_documents_highlights_block_1\";i:19;s:56:\"config:block.block.views_block__yaffs_user_logos_block_1\";i:20;s:37:\"config:block.block.yaffs_account_menu\";i:21;s:33:\"config:block.block.yaffs_block_10\";i:22;s:32:\"config:block.block.yaffs_block_5\";i:23;s:32:\"config:block.block.yaffs_block_6\";i:24;s:32:\"config:block.block.yaffs_block_8\";i:25;s:32:\"config:block.block.yaffs_block_9\";i:26;s:36:\"config:block.block.yaffs_breadcrumbs\";i:27;s:32:\"config:block.block.yaffs_content\";i:28;s:29:\"config:block.block.yaffs_help\";i:29;s:36:\"config:block.block.yaffs_local_tasks\";i:30;s:33:\"config:block.block.yaffs_messages\";i:31;s:35:\"config:block.block.yaffs_page_title\";i:32;s:32:\"config:block.block.yaffs_user_21\";i:33;s:31:\"config:block.block.yaffsinspace\";i:34;s:17:\"config:block_list\";i:35;s:24:\"config:color.theme.yaffs\";i:36;s:31:\"config:filter.format.basic_html\";i:37;s:30:\"config:filter.format.full_html\";i:38;s:29:\"config:filter.format.raw_html\";i:39;s:30:\"config:search.page.node_search\";i:40;s:30:\"config:search.page.user_search\";i:41;s:22:\"config:search.settings\";i:42;s:26:\"config:system.menu.account\";i:43;s:23:\"config:system.menu.main\";i:44;s:24:\"config:system.menu.tools\";i:45;s:18:\"config:system.site\";i:46;s:26:\"config:user.role.anonymous\";i:47;s:13:\"http_response\";i:48;s:8:\"node:110\";i:49;s:8:\"node:357\";i:50;s:8:\"node:369\";i:51;s:7:\"node:37\";i:52;s:7:\"node:40\";i:53;s:7:\"node:42\";i:54;s:9:\"node_list\";i:55;s:9:\"node_view\";i:56;s:8:\"rendered\";i:57;s:12:\"search_index\";i:58;s:24:\"search_index:node_search\";i:59;s:6:\"user:0\";i:60;s:6:\"user:1\";i:61;s:6:\"user:5\";}s:14:\"\0*\0cacheMaxAge\";i:-1;}s:14:\"\0*\0attachments\";a:4:{s:7:\"library\";a:9:{i:0;s:14:\"core/html5shiv\";i:1;s:11:\"system/base\";i:2;s:15:\"bootstrap/theme\";i:3;s:20:\"yaffs/global-styling\";i:4;s:23:\"yaffs/bootstrap-scripts\";i:5;s:19:\"yaffs/yaffs-helpers\";i:6;s:17:\"bootstrap/popover\";i:7;s:17:\"bootstrap/tooltip\";i:8;s:50:\"environment_indicator/drupal.environment_indicator\";}s:9:\"html_head\";a:19:{i:0;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:5:\"title\";s:7:\"content\";s:53:\"Search | Yaffs - A Flash File System for embedded use\";}}i:1;s:5:\"title\";}i:1;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:13:\"news_keywords\";s:7:\"content\";s:17:\"Flash File System\";}}i:1;s:13:\"news_keywords\";}i:2;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:11:\"description\";s:7:\"content\";s:352:\"Yaffs (Yet Another Flash File System) is an open-source file system specifically designed to be fast, robust and suitable for embedded use with NAND and NOR Flash. It is widely used with Linux, RTOSs, or no OS at all, in consumer devices and critical infrastructure. It is available under GNU Public License, GPL, or on commercial terms from Aleph One.\";}}i:1;s:11:\"description\";}i:3;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:8:\"abstract\";s:7:\"content\";s:352:\"Yaffs (Yet Another Flash File System) is an open-source file system specifically designed to be fast, robust and suitable for embedded use with NAND and NOR Flash. It is widely used with Linux, RTOSs, or no OS at all, in consumer devices and critical infrastructure. It is available under GNU Public License, GPL, or on commercial terms from Aleph One.\";}}i:1;s:8:\"abstract\";}i:4;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:8:\"keywords\";s:7:\"content\";s:82:\"flash File System, flash, file System, flash storage, NAND flash, NOR flash, Yaffs\";}}i:1;s:8:\"keywords\";}i:5;a:2:{i:0;a:3:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:1:{s:7:\"charset\";s:5:\"utf-8\";}s:7:\"#weight\";i:-1000;}i:1;s:24:\"system_meta_content_type\";}i:6;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:9:\"Generator\";s:7:\"content\";s:33:\"Drupal 8 (https://www.drupal.org)\";}}i:1;s:21:\"system_meta_generator\";}i:7;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:15:\"MobileOptimized\";s:7:\"content\";s:5:\"width\";}}i:1;s:15:\"MobileOptimized\";}i:8;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:16:\"HandheldFriendly\";s:7:\"content\";s:4:\"true\";}}i:1;s:16:\"HandheldFriendly\";}i:9;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:8:\"viewport\";s:7:\"content\";s:37:\"width=device-width, initial-scale=1.0\";}}i:1;s:8:\"viewport\";}i:10;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:125:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansRegular-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1151\";}i:11;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:124:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1152\";}i:12;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:122:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBold-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1153\";}i:13;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:123:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBold-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1149\";}i:14;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:129:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBoldItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1150\";}i:15;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:125:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1148\";}i:16;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:126:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifRegular-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1147\";}i:17;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:128:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBoldItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1154\";}i:18;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:13:\"shortcut icon\";s:4:\"href\";s:38:\"/sites/default/files/yaffs_favicon.png\";s:4:\"type\";s:9:\"image/png\";}}i:1;s:67:\"html_head_link:shortcut icon:/sites/default/files/yaffs_favicon.png\";}}s:12:\"placeholders\";a:0:{}s:14:\"drupalSettings\";a:5:{s:4:\"path\";a:8:{s:7:\"baseUrl\";s:1:\"/\";s:10:\"scriptPath\";N;s:10:\"pathPrefix\";s:0:\"\";s:11:\"currentPath\";s:11:\"search/node\";s:18:\"currentPathIsAdmin\";b:0;s:7:\"isFront\";b:0;s:15:\"currentLanguage\";s:2:\"en\";s:12:\"currentQuery\";O:8:\"stdClass\":2:{s:4:\"keys\";s:9:\"NOR flash\";s:4:\"page\";s:1:\"1\";}}s:15:\"pluralDelimiter\";s:1:\"\";s:9:\"bootstrap\";a:25:{s:28:\"forms_has_error_value_toggle\";i:1;s:15:\"modal_animation\";i:1;s:14:\"modal_backdrop\";s:4:\"true\";s:14:\"modal_keyboard\";i:1;s:10:\"modal_show\";i:1;s:10:\"modal_size\";s:0:\"\";s:15:\"popover_enabled\";i:1;s:17:\"popover_animation\";i:1;s:17:\"popover_container\";s:4:\"body\";s:15:\"popover_content\";s:0:\"\";s:13:\"popover_delay\";s:1:\"0\";s:12:\"popover_html\";i:0;s:17:\"popover_placement\";s:5:\"right\";s:16:\"popover_selector\";s:0:\"\";s:13:\"popover_title\";s:0:\"\";s:15:\"popover_trigger\";s:5:\"click\";s:25:\"popover_trigger_autoclose\";i:1;s:15:\"tooltip_enabled\";i:1;s:17:\"tooltip_animation\";i:1;s:17:\"tooltip_container\";s:4:\"body\";s:13:\"tooltip_delay\";s:1:\"0\";s:12:\"tooltip_html\";i:0;s:17:\"tooltip_placement\";s:9:\"auto left\";s:16:\"tooltip_selector\";s:0:\"\";s:15:\"tooltip_trigger\";s:5:\"hover\";}s:14:\"ajaxTrustedUrl\";a:2:{s:55:\"form_action_p_pvdeGsVG5zNF_XLGPTvYSKCf43t8qZYSwcfZl2uzM\";b:1;s:12:\"/search/node\";b:1;}s:4:\"user\";a:2:{s:3:\"uid\";i:0;s:15:\"permissionsHash\";s:64:\"aa7fc4c8fb40c7a8665ccd12fea07926dff0f59b9ee3346bc513c6399bee5b01\";}}}}',-1,1505630914.842,1,'block_content:18 block_content:23 block_content:7 block_content_view block_view config:block.block.choosingyaffs config:block.block.cookieinfo config:block.block.downloadyaffs config:block.block.footerlegal config:block.block.frontimagehighlight2 config:block.block.frontpagehero config:block.block.frontpageprimeryaffs config:block.block.mainnavigation config:block.block.mainnavigation_2 config:block.block.searchform config:block.block.sitebranding config:block.block.views_block__highlighted_yaffs_features_block_1 config:block.block.views_block__yaffs_admin_recent_content_block_1 config:block.block.views_block__yaffs_documents_highlights_block_1 config:block.block.views_block__yaffs_user_logos_block_1 config:block.block.yaffs_account_menu config:block.block.yaffs_block_10 config:block.block.yaffs_block_5 config:block.block.yaffs_block_6 config:block.block.yaffs_block_8 config:block.block.yaffs_block_9 config:block.block.yaffs_breadcrumbs config:block.block.yaffs_content config:block.block.yaffs_help config:block.block.yaffs_local_tasks config:block.block.yaffs_messages config:block.block.yaffs_page_title config:block.block.yaffs_user_21 config:block.block.yaffsinspace config:block_list config:color.theme.yaffs config:filter.format.basic_html config:filter.format.full_html config:filter.format.raw_html config:search.page.node_search config:search.page.user_search config:search.settings config:system.menu.account config:system.menu.main config:system.menu.tools config:system.site config:user.role.anonymous http_response node:110 node:357 node:369 node:37 node:40 node:42 node_list node_view rendered search_index search_index:node_search user:0 user:1 user:5','3700'),('https://yaffs.net/search/node?keys=NOR+flash:html','O:31:\"Drupal\\Core\\Render\\HtmlResponse\":8:{s:7:\"headers\";O:50:\"Symfony\\Component\\HttpFoundation\\ResponseHeaderBag\":5:{s:23:\"\0*\0computedCacheControl\";a:2:{s:7:\"max-age\";s:3:\"300\";s:6:\"public\";b:1;}s:10:\"\0*\0cookies\";a:0:{}s:14:\"\0*\0headerNames\";a:14:{s:12:\"content-type\";s:12:\"Content-Type\";s:13:\"cache-control\";s:13:\"Cache-Control\";s:4:\"date\";s:4:\"Date\";s:22:\"x-drupal-dynamic-cache\";s:22:\"X-Drupal-Dynamic-Cache\";s:4:\"link\";s:4:\"Link\";s:15:\"x-ua-compatible\";s:15:\"X-UA-Compatible\";s:16:\"content-language\";s:16:\"Content-language\";s:22:\"x-content-type-options\";s:22:\"X-Content-Type-Options\";s:15:\"x-frame-options\";s:15:\"X-Frame-Options\";s:7:\"expires\";s:7:\"Expires\";s:13:\"last-modified\";s:13:\"Last-Modified\";s:4:\"etag\";s:4:\"ETag\";s:4:\"vary\";s:4:\"Vary\";s:11:\"x-generator\";s:11:\"X-Generator\";}s:10:\"\0*\0headers\";a:14:{s:12:\"content-type\";a:1:{i:0;s:24:\"text/html; charset=UTF-8\";}s:13:\"cache-control\";a:1:{i:0;s:19:\"max-age=300, public\";}s:4:\"date\";a:1:{i:0;s:29:\"Sun, 17 Sep 2017 06:47:34 GMT\";}s:22:\"x-drupal-dynamic-cache\";a:1:{i:0;s:4:\"MISS\";}s:4:\"link\";a:3:{i:0;s:108:\"</sites/default/files/css/css_YGKHk3qOgVcGqV_6s_kZUGJkGYQEouHb462Ja18qfRA.css?ovtedh>; rel=preload; as=style\";i:1;s:108:\"</sites/default/files/css/css_6qeLA6GBkZNPHWp9GdQIYovV3tYuKU-ts-HicZ-WeQQ.css?ovtedh>; rel=preload; as=style\";i:2;s:99:\"</sites/default/files/js/js_2l0lF4i9o3aztHULbfajMT_RTqGCEN_lVC8JI48SILw.js>; rel=preload; as=script\";}s:15:\"x-ua-compatible\";a:1:{i:0;s:7:\"IE=edge\";}s:16:\"content-language\";a:1:{i:0;s:2:\"en\";}s:22:\"x-content-type-options\";a:1:{i:0;s:7:\"nosniff\";}s:15:\"x-frame-options\";a:1:{i:0;s:10:\"SAMEORIGIN\";}s:7:\"expires\";a:1:{i:0;s:29:\"Sun, 19 Nov 1978 05:00:00 GMT\";}s:13:\"last-modified\";a:1:{i:0;s:29:\"Sun, 17 Sep 2017 06:47:33 GMT\";}s:4:\"etag\";a:1:{i:0;s:12:\"\"1505630853\"\";}s:4:\"vary\";a:1:{i:0;s:6:\"Cookie\";}s:11:\"x-generator\";a:1:{i:0;s:33:\"Drupal 8 (https://www.drupal.org)\";}}s:15:\"\0*\0cacheControl\";a:2:{s:7:\"max-age\";s:3:\"300\";s:6:\"public\";b:1;}}s:10:\"\0*\0content\";s:20947:\"<!DOCTYPE html>\n<html  lang=\"en\" dir=\"ltr\" prefix=\"content: http://purl.org/rss/1.0/modules/content/  dc: http://purl.org/dc/terms/  foaf: http://xmlns.com/foaf/0.1/  og: http://ogp.me/ns#  rdfs: http://www.w3.org/2000/01/rdf-schema#  schema: http://schema.org/  sioc: http://rdfs.org/sioc/ns#  sioct: http://rdfs.org/sioc/types#  skos: http://www.w3.org/2004/02/skos/core#  xsd: http://www.w3.org/2001/XMLSchema# \">\n  <head>\n    <meta charset=\"utf-8\" />\n<meta name=\"title\" content=\"Search | Yaffs - A Flash File System for embedded use\" />\n<meta name=\"news_keywords\" content=\"Flash File System\" />\n<meta name=\"description\" content=\"Yaffs (Yet Another Flash File System) is an open-source file system specifically designed to be fast, robust and suitable for embedded use with NAND and NOR Flash. It is widely used with Linux, RTOSs, or no OS at all, in consumer devices and critical infrastructure. It is available under GNU Public License, GPL, or on commercial terms from Aleph One.\" />\n<meta name=\"abstract\" content=\"Yaffs (Yet Another Flash File System) is an open-source file system specifically designed to be fast, robust and suitable for embedded use with NAND and NOR Flash. It is widely used with Linux, RTOSs, or no OS at all, in consumer devices and critical infrastructure. It is available under GNU Public License, GPL, or on commercial terms from Aleph One.\" />\n<meta name=\"keywords\" content=\"flash File System, flash, file System, flash storage, NAND flash, NOR flash, Yaffs\" />\n<meta name=\"Generator\" content=\"Drupal 8 (https://www.drupal.org)\" />\n<meta name=\"MobileOptimized\" content=\"width\" />\n<meta name=\"HandheldFriendly\" content=\"true\" />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansRegular-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBold-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBold-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBoldItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifRegular-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBoldItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"shortcut icon\" href=\"/sites/default/files/yaffs_favicon.png\" type=\"image/png\" />\n\n    <title>Search | Yaffs - A Flash File System for embedded use</title>\n    <link rel=\"stylesheet\" href=\"/sites/default/files/css/css_YGKHk3qOgVcGqV_6s_kZUGJkGYQEouHb462Ja18qfRA.css?ovtedh\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"/sites/default/files/css/css_6qeLA6GBkZNPHWp9GdQIYovV3tYuKU-ts-HicZ-WeQQ.css?ovtedh\" media=\"all\" />\n\n    \n<!--[if lte IE 8]>\n<script src=\"/sites/default/files/js/js_VtafjXmRvoUgAzqzYTA3Wrjkx9wcWhjP0G4ZnnqRamA.js\"></script>\n<![endif]-->\n\n  </head>\n  <body class=\"fontyourface path-search navbar-is-fixed-top has-glyphicons\">\n    <a href=\"#main-content\" class=\"visually-hidden focusable skip-link\">\n      Skip to main content\n    </a>\n    <div style=\"background-color: ; color: \" id=\"environment-indicator\">\n  \n    </div>\n\n              <header class=\"navbar navbar-default navbar-fixed-top\" id=\"navbar\" role=\"banner\">\n              <div class=\"container\">\n            <div class=\"navbar-header\">\n          <div class=\"region region-navigation\">\n          <a class=\"logo navbar-btn pull-left\" href=\"/\" title=\"Home\" rel=\"home\">\n      <img src=\"/themes/custom/yaffs/logo.svg\" alt=\"Home\" />\n    </a>\n      \n  </div>\n\n                          <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar-collapse\">\n            <span class=\"sr-only\">Toggle navigation</span>\n            <span class=\"icon-bar\"></span>\n            <span class=\"icon-bar\"></span>\n            <span class=\"icon-bar\"></span>\n          </button>\n              </div>\n\n                    <div id=\"navbar-collapse\" class=\"navbar-collapse collapse\">\n            <div class=\"region region-navigation-collapsible\">\n    <nav role=\"navigation\" aria-labelledby=\"block-mainnavigation-menu\" id=\"block-mainnavigation\">\n            <h2 class=\"sr-only\" id=\"block-mainnavigation-menu\">Main navigation</h2>\n\n      \n              <ul class=\"menu nav navbar-nav\">\n                            <li>\n        <a href=\"/\" data-drupal-link-system-path=\"&lt;front&gt;\">Home</a>\n                  </li>\n                        <li>\n        <a href=\"/support\" title=\"Help for Yaffs\" data-drupal-link-system-path=\"node/380\">Support</a>\n                  </li>\n                        <li>\n        <a href=\"/documents\" data-drupal-link-system-path=\"documents\">Documents</a>\n                  </li>\n                        <li>\n        <a href=\"/get-yaffs\" data-drupal-link-system-path=\"node/382\">Download</a>\n                  </li>\n                        <li>\n        <a href=\"/about-us\" data-drupal-link-system-path=\"node/325\">About us</a>\n                  </li>\n                        <li>\n        <a href=\"/contact\" data-drupal-link-system-path=\"node/73\">Contact</a>\n                  </li>\n        </ul>\n  \n\n\n  </nav>\n<div class=\"search-block-form block block-search block-search-form-block\" data-drupal-selector=\"search-block-form\" id=\"block-searchform\" role=\"search\">\n  \n    \n      <form action=\"/search/node\" method=\"get\" id=\"search-block-form\" accept-charset=\"UTF-8\">\n  <div class=\"form-item js-form-item form-type-search js-form-type-search form-item-keys js-form-item-keys form-no-label form-group\">\n      <label for=\"edit-keys\" class=\"control-label sr-only\">Search</label>\n  \n  \n  <div class=\"input-group\"><input title=\"Enter the terms you wish to search for.\" data-drupal-selector=\"edit-keys\" class=\"form-search form-control\" placeholder=\"Search\" type=\"search\" id=\"edit-keys\" name=\"keys\" value=\"\" size=\"15\" maxlength=\"128\" data-toggle=\"tooltip\" /><span class=\"input-group-btn\"><button type=\"submit\" value=\"Search\" class=\"button js-form-submit form-submit btn-primary btn icon-only\" name=\"\"><span class=\"sr-only\">Search</span><span class=\"icon glyphicon glyphicon-search\" aria-hidden=\"true\"></span></button></span></div>\n\n  \n  \n  </div>\n<div class=\"form-actions form-group js-form-wrapper form-wrapper\" data-drupal-selector=\"edit-actions\" id=\"edit-actions\"></div>\n\n</form>\n\n  </div>\n\n  </div>\n\n        </div>\n                    </div>\n          </header>\n  \n  <div role=\"main\" class=\"main-container container js-quickedit-main-content\">\n    <div class=\"row\">\n\n            \n            \n                  <section class=\"col-sm-12\">\n\n                                      <div class=\"highlighted\">  <div class=\"region region-highlighted\">\n        <ol class=\"breadcrumb\">\n          <li >\n                  <a href=\"/search\">Search</a>\n              </li>\n          <li  class=\"active\">\n                  Search\n              </li>\n      </ol>\n\n\n\n  </div>\n</div>\n                  \n                \n                \n                                      \n                  \n                          <a id=\"main-content\"></a>\n            <div class=\"region region-content\">\n        <h1 class=\"page-header\">Search for NOR flash</h1>\n\n  <form class=\"search-form search-page-form\" data-drupal-selector=\"search-form\" action=\"/search/node?keys=NOR%20flash\" method=\"post\" id=\"search-form\" accept-charset=\"UTF-8\">\n  <div class=\"form-group js-form-wrapper form-wrapper\" data-drupal-selector=\"edit-basic\" id=\"edit-basic\"><div class=\"form-item js-form-item form-type-search js-form-type-search form-item-keys js-form-item-keys form-no-label form-group\">\n      <label for=\"edit-keys\" class=\"control-label sr-only\">Enter your keywords</label>\n  \n  \n  <div class=\"input-group\"><input data-drupal-selector=\"edit-keys\" class=\"form-search form-control\" placeholder=\"Enter your keywords\" type=\"search\" id=\"edit-keys\" name=\"keys\" value=\"NOR flash\" size=\"30\" maxlength=\"255\" title=\"Enter the terms you wish to search for.\" data-toggle=\"tooltip\" /><span class=\"input-group-btn\"><button type=\"submit\" name=\"op\" value=\"Search\" class=\"button js-form-submit form-submit btn-primary btn icon-only\"><span class=\"sr-only\">Search</span><span class=\"icon glyphicon glyphicon-search\" aria-hidden=\"true\"></span></button></span></div>\n\n  \n  \n  </div>\n</div>\n<a href=\"/search/node/help\" class=\"search-help-link\" data-drupal-selector=\"edit-help-link\" id=\"edit-help-link\">Search help</a><input data-drupal-selector=\"form-in0tf-yhzrc459uhtn7rxmd8hoai0wq4hc4vtrnlzq\" type=\"hidden\" name=\"form_build_id\" value=\"form-_IN0Tf_yHzRC459uhTn7rxMD8HoAi0WQ4HC4VTrnlzQ\" /><input data-drupal-selector=\"edit-search-form\" type=\"hidden\" name=\"form_id\" value=\"search_form\" />\n</form>\n<h2>Search results</h2><ol><li>\n<h3>\n  <a href=\"https://yaffs.net/home\">A Robust Flash File System Since 2002</a>\n</h3>\n\n  <p>A Robust <strong>Flash</strong> File System Since 2002  \n\n              \n  Yaffs (Yet Another <strong>Flash</strong> File System) is an open-source file system …  be fast, robust and suitable for embedded use with NAND and <strong>NOR</strong> <strong>Flash</strong>. It is widely used with Linux, RTOSs, or no OS at …</p>\n  <p></p>\n</li><li>\n<h3>\n  <a href=\"https://yaffs.net/documents/yaffs-vxworks\">Yaffs for VxWorks</a>\n</h3>\n\n  <p>…  Yaffs Direct Interface?  \n  Yaffs stands for Yet Another <strong>Flash</strong> File System and was the first file system designed …  designed for NAND <strong>flash</strong>, it has been used successfully with <strong>NOR</strong> <strong>flash</strong> systems and even as a RAM file system. This allows high reliability file systems to be constructed using <strong>NOR</strong> <strong>flash</strong>, with a future migration path to NAND <strong>flash</strong> for …</p>\n  <p><span lang=\"\" about=\"/user/admin\" typeof=\"schema:Person\" property=\"schema:name\" datatype=\"\">Admin</span> - 2 Jun 2017 - 2:40pm</p>\n</li><li>\n<h3>\n  <a href=\"https://yaffs.net/archive/jffs2-and-nand-study\">JFFS2 and NAND study</a>\n</h3>\n\n  <p>…  discussion, the term NAND will mean both AND and NAND type <strong>flash</strong> memories, both sharing similar properties from a …  for Trimble. Trimble patented this system. This FFS runs on <strong>NOR</strong> <strong>flash</strong> and uses a concepts very similar to JFFS to …  for a logical to physical translation layer.  \n     \n  <strong>NOR</strong> and NAND  \n  The following table highlights some of the …</p>\n  <p></p>\n</li><li>\n<h3>\n  <a href=\"https://yaffs.net/documents/considerations-choosing-flash-file-system\">Considerations in Choosing a Flash File System</a>\n</h3>\n\n  <p>Considerations in Choosing a <strong>Flash</strong> File System  \n\n        \n                              …    \n            \n  \n              \n  We have been developing <strong>flash</strong> file system for embedded systems since 1995. During …  \n      Yaffs was specifically designed to use with NAND and <strong>NOR</strong> <strong>flash</strong> chips.      \n  <strong>Flash</strong> memory chip errors may only …</p>\n  <p><span lang=\"\" about=\"/user/laurie\" typeof=\"schema:Person\" property=\"schema:name\" datatype=\"\">Laurie</span> - 25 Jul 2017 - 2:40pm</p>\n</li><li>\n<h3>\n  <a href=\"https://yaffs.net/documents/yaffs-direct-interface\">Yaffs Direct Interface</a>\n</h3>\n\n  <p>…  Yaffs Direct Interface?  \n  Yaffs stands for   Yet Another <strong>Flash</strong> File System  . Yaffs was the first file system …  designed for NAND <strong>flash</strong>, it has been used successfully with <strong>NOR</strong> <strong>flash</strong> systems and even as a RAM file system. This allows high reliability file systems to be constructed using <strong>NOR</strong> <strong>flash</strong>, with a future migration path   to NAND   <strong>flash</strong> …</p>\n  <p><span lang=\"\" about=\"/user/admin\" typeof=\"schema:Person\" property=\"schema:name\" datatype=\"\">Admin</span> - 7 Jun 2017 - 11:53pm</p>\n</li><li>\n<h3>\n  <a href=\"https://yaffs.net/archives/yaffs-nand-specific-flash-file-system-introductory-article\">YAFFS: the NAND-specific flash file system - Introductory Article</a>\n</h3>\n\n  <p>YAFFS: the NAND-specific <strong>flash</strong> file system - Introductory Article  \n\n              …  For some years now, people have been using common-old <strong>NOR</strong> <strong>flash</strong> for file system storage. JFFS and JFFS2 do an excellent job of this for Linux. For storage applications <strong>NOR</strong> <strong>flash</strong> is not that great because it is not very dense …</p>\n  <p></p>\n</li><li>\n<h3>\n  <a href=\"https://yaffs.net/documents/yaffs-robustness-and-testing\">YAFFS Robustness and Testing</a>\n</h3>\n\n  <p>…  a robust design.  \n    \n  1 Background  \n  Cheaper CPUs and <strong>flash</strong> have driven up embedded system functionality. These …  for NAND <strong>flash</strong> though also used with great success on <strong>NOR</strong> <strong>flash</strong> too. Yaffs development started in 2001 when …  wide variety of compilers from many different vendors.  \n  <strong>Nor</strong> is Yaffs tied to any particular operating system. Yaffs …</p>\n  <p><span lang=\"\" about=\"/user/charles-manning\" typeof=\"schema:Person\" property=\"schema:name\" datatype=\"\">Charles Manning</span> - 7 Jun 2017 - 11:05pm</p>\n</li><li>\n<h3>\n  <a href=\"https://yaffs.net/documents/yaffs-nand-flash-failure-mitigation\">Yaffs NAND flash failure mitigation</a>\n</h3>\n\n  <p>Yaffs NAND <strong>flash</strong> failure mitigation  \n\n        \n                        …  In other words: memory!  \n  2.2 NAND array layout  \n  NAND <strong>flash</strong> gets its name from the way that the cells are …  block. This arrangement uses far less silicon area than the <strong>NOR</strong> <strong>flash</strong> arrangement which reduces NAND cost and increases …</p>\n  <p><span lang=\"\" about=\"/user/admin\" typeof=\"schema:Person\" property=\"schema:name\" datatype=\"\">Admin</span> - 8 Jun 2017 - 12:59pm</p>\n</li><li>\n<h3>\n  <a href=\"https://yaffs.net/features/file-system-designed-flash-memory\">A file system designed for Flash memory...</a>\n</h3>\n\n  <p>A file system designed for <strong>Flash</strong> memory...  \n\n    \n      Icon - text  \n                …  \n\n                Yaffs was designed from the ground up for <strong>Flash</strong> memory. It is best with NAND <strong>Flash</strong> but can be used with <strong>NOR</strong> too. It has mechanisms for wear-levelling, and special …</p>\n  <p></p>\n</li><li>\n<h3>\n  <a href=\"https://yaffs.net/documents/how-yaffs-works\">How Yaffs works</a>\n</h3>\n\n  <p>…    \n  2 What is Yaffs?  \n  Yaffs stands for   Yet Another <strong>Flash</strong> File System  , a term coined by Charles Manning in 2001 when suggesting that the already cluttered <strong>flash</strong> file system space could do with yet another offering …  CPUs and compilers.  \n  Yaffs has also been used as a <strong>NOR</strong> file system and even as a RAM file system.  \n  3 Design …</p>\n  <p><span lang=\"\" about=\"/user/charles-manning\" typeof=\"schema:Person\" property=\"schema:name\" datatype=\"\">Charles Manning</span> - 27 Jun 2017 - 3:33am</p>\n</li></ol>  <nav class=\"pager-nav text-center\" role=\"navigation\" aria-labelledby=\"pagination-heading\">\n    <h4 id=\"pagination-heading\" class=\"visually-hidden\">Pagination</h4>\n    <ul class=\"pagination js-pager__items\">\n\n            \n            \n                    <li class=\"pager__item is-active active\">\n                                          <a href=\"?keys=NOR%20flash&amp;page=0\" title=\"Current page\">\n            <span class=\"visually-hidden\">\n              Current page\n            </span>1</a>\n        </li>\n              <li class=\"pager__item\">\n                                          <a href=\"?keys=NOR%20flash&amp;page=1\" title=\"Go to page 2\">\n            <span class=\"visually-hidden\">\n              Page\n            </span>2</a>\n        </li>\n      \n                    <li class=\"pager__item pager__item--next\">\n          <a href=\"?keys=NOR%20flash&amp;page=1\" title=\"Go to next page\" rel=\"next\">\n            <span class=\"visually-hidden\">Next page</span>\n            <span aria-hidden=\"true\">next</span>\n          </a>\n        </li>\n      \n                  <li class=\"pager__item pager__item--last\">\n        <a href=\"?keys=NOR%20flash&amp;page=1\" title=\"Go to last page\" rel=\"last\">\n          <span class=\"visually-hidden\">Last page</span>\n          <span aria-hidden=\"true\">last</span>\n        </a>\n      </li>\n      \n    </ul>\n  </nav>\n\n\n  </div>\n\n              </section>\n\n                </div>\n  </div>\n\n      <footer class=\"footer container\" role=\"contentinfo\">\n        <div class=\"primary_footer row\">\n            <div class=\"col-sm-3\">\n                  <div class=\"region region-footer-col1\">\n    <section id=\"block-yaffs-block-6\" class=\"block block-block-content block-block-content6c2d4b45-4dba-4b2d-8b9f-76701bf27533 clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<ul class=\"fa-ul\">\n<li><i class=\"fa-li fa fa-phone\"></i>+44 (0)1223 811679</li>\n<li><i class=\"fa-li fa fa-envelope\"></i><a href=\"denied:mailto:info@aleph1.co.uk?Subject=Website contact\" target=\"_top\">info@aleph1.co.uk</a></li>\n</ul>\n</div>\n      \n  </section>\n\n\n  </div>\n\n            </div>\n            <div class=\"col-sm-3\">\n                \n            </div>\n            <div class=\"col-sm-3\">\n                \n            </div>\n            <div class=\"col-sm-3\">\n                  <div class=\"region region-footer-col4\">\n    <section id=\"block-footerlegal\" class=\"block block-block-content block-block-content78ab593d-35b6-4772-a141-30216e7fcbb2 clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<p class=\"text-align-right\">&nbsp;<a href=\"/legal\">Legal &amp; Cookies</a></p>\n</div>\n      \n  </section>\n\n<section id=\"block-cookieinfo\" class=\"block block-block-content block-block-content4848c58d-90df-4819-81d8-0f9568eeeaac clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<p class=\"text-align-justify\"><br />\nWe use <a href=\"/legal\">cookies on this site</a>. By using it, you are giving us consent to set cookies.</p>\n</div>\n      \n  </section>\n\n\n  </div>\n\n            </div>\n        </div>\n        <div class = \"secondary_footer row\">\n            <div class=\"col-sm-12\">\n                <div class=\"region region-footer\">\n    <nav role=\"navigation\" aria-labelledby=\"block-yaffs-account-menu-menu\" id=\"block-yaffs-account-menu\">\n            <h2 class=\"sr-only\" id=\"block-yaffs-account-menu-menu\">User account menu</h2>\n\n      \n              <ul class=\"menu nav navbar-nav navbar-right\">\n                            <li>\n        <a href=\"/user/login\" data-drupal-link-system-path=\"user/login\">Log in</a>\n                  </li>\n        </ul>\n  \n\n\n  </nav>\n\n  </div>\n\n            </div>\n        </div>\n    </footer>\n  \n    \n    <script type=\"application/json\" data-drupal-selector=\"drupal-settings-json\">{\"path\":{\"baseUrl\":\"\\/\",\"scriptPath\":null,\"pathPrefix\":\"\",\"currentPath\":\"search\\/node\",\"currentPathIsAdmin\":false,\"isFront\":false,\"currentLanguage\":\"en\",\"currentQuery\":{\"keys\":\"NOR flash\"}},\"pluralDelimiter\":\"\\u0003\",\"bootstrap\":{\"forms_has_error_value_toggle\":1,\"modal_animation\":1,\"modal_backdrop\":\"true\",\"modal_keyboard\":1,\"modal_show\":1,\"modal_size\":\"\",\"popover_enabled\":1,\"popover_animation\":1,\"popover_container\":\"body\",\"popover_content\":\"\",\"popover_delay\":\"0\",\"popover_html\":0,\"popover_placement\":\"right\",\"popover_selector\":\"\",\"popover_title\":\"\",\"popover_trigger\":\"click\",\"popover_trigger_autoclose\":1,\"tooltip_enabled\":1,\"tooltip_animation\":1,\"tooltip_container\":\"body\",\"tooltip_delay\":\"0\",\"tooltip_html\":0,\"tooltip_placement\":\"auto left\",\"tooltip_selector\":\"\",\"tooltip_trigger\":\"hover\"},\"ajaxTrustedUrl\":{\"form_action_p_pvdeGsVG5zNF_XLGPTvYSKCf43t8qZYSwcfZl2uzM\":true,\"\\/search\\/node\":true},\"user\":{\"uid\":0,\"permissionsHash\":\"aa7fc4c8fb40c7a8665ccd12fea07926dff0f59b9ee3346bc513c6399bee5b01\"}}</script>\n<script src=\"/sites/default/files/js/js_2l0lF4i9o3aztHULbfajMT_RTqGCEN_lVC8JI48SILw.js\"></script>\n\n  </body>\n</html>\n\";s:10:\"\0*\0version\";s:3:\"1.0\";s:13:\"\0*\0statusCode\";i:200;s:13:\"\0*\0statusText\";s:2:\"OK\";s:10:\"\0*\0charset\";N;s:23:\"\0*\0cacheabilityMetadata\";O:35:\"Drupal\\Core\\Cache\\CacheableMetadata\":3:{s:16:\"\0*\0cacheContexts\";a:20:{i:0;s:28:\"languages:language_interface\";i:1;s:5:\"route\";i:2;s:32:\"route.menu_active_trails:account\";i:3;s:29:\"route.menu_active_trails:main\";i:4;s:30:\"route.menu_active_trails:tools\";i:5;s:5:\"theme\";i:6;s:3:\"url\";i:7;s:8:\"url.path\";i:8;s:17:\"url.path.is_front\";i:9;s:15:\"url.path.parent\";i:10;s:14:\"url.query_args\";i:11;s:23:\"url.query_args.pagers:0\";i:12;s:30:\"url.query_args:_wrapper_format\";i:13;s:19:\"url.query_args:keys\";i:14;s:8:\"url.site\";i:15;s:4:\"user\";i:16;s:21:\"user.node_grants:view\";i:17;s:16:\"user.permissions\";i:18;s:10:\"user.roles\";i:19;s:24:\"user.roles:authenticated\";}s:12:\"\0*\0cacheTags\";a:73:{i:0;s:16:\"block_content:18\";i:1;s:16:\"block_content:23\";i:2;s:15:\"block_content:7\";i:3;s:18:\"block_content_view\";i:4;s:10:\"block_view\";i:5;s:32:\"config:block.block.choosingyaffs\";i:6;s:29:\"config:block.block.cookieinfo\";i:7;s:32:\"config:block.block.downloadyaffs\";i:8;s:30:\"config:block.block.footerlegal\";i:9;s:39:\"config:block.block.frontimagehighlight2\";i:10;s:32:\"config:block.block.frontpagehero\";i:11;s:39:\"config:block.block.frontpageprimeryaffs\";i:12;s:33:\"config:block.block.mainnavigation\";i:13;s:35:\"config:block.block.mainnavigation_2\";i:14;s:29:\"config:block.block.searchform\";i:15;s:31:\"config:block.block.sitebranding\";i:16;s:66:\"config:block.block.views_block__highlighted_yaffs_features_block_1\";i:17;s:66:\"config:block.block.views_block__yaffs_admin_recent_content_block_1\";i:18;s:66:\"config:block.block.views_block__yaffs_documents_highlights_block_1\";i:19;s:56:\"config:block.block.views_block__yaffs_user_logos_block_1\";i:20;s:37:\"config:block.block.yaffs_account_menu\";i:21;s:33:\"config:block.block.yaffs_block_10\";i:22;s:32:\"config:block.block.yaffs_block_5\";i:23;s:32:\"config:block.block.yaffs_block_6\";i:24;s:32:\"config:block.block.yaffs_block_8\";i:25;s:32:\"config:block.block.yaffs_block_9\";i:26;s:36:\"config:block.block.yaffs_breadcrumbs\";i:27;s:32:\"config:block.block.yaffs_content\";i:28;s:29:\"config:block.block.yaffs_help\";i:29;s:36:\"config:block.block.yaffs_local_tasks\";i:30;s:33:\"config:block.block.yaffs_messages\";i:31;s:35:\"config:block.block.yaffs_page_title\";i:32;s:32:\"config:block.block.yaffs_user_21\";i:33;s:31:\"config:block.block.yaffsinspace\";i:34;s:17:\"config:block_list\";i:35;s:24:\"config:color.theme.yaffs\";i:36;s:31:\"config:filter.format.basic_html\";i:37;s:30:\"config:filter.format.full_html\";i:38;s:29:\"config:filter.format.raw_html\";i:39;s:30:\"config:search.page.node_search\";i:40;s:30:\"config:search.page.user_search\";i:41;s:22:\"config:search.settings\";i:42;s:26:\"config:system.menu.account\";i:43;s:23:\"config:system.menu.main\";i:44;s:24:\"config:system.menu.tools\";i:45;s:18:\"config:system.site\";i:46;s:26:\"config:user.role.anonymous\";i:47;s:7:\"file:76\";i:48;s:7:\"file:77\";i:49;s:7:\"file:78\";i:50;s:7:\"file:80\";i:51;s:7:\"file:83\";i:52;s:13:\"http_response\";i:53;s:8:\"node:347\";i:54;s:8:\"node:409\";i:55;s:7:\"node:41\";i:56;s:8:\"node:420\";i:57;s:8:\"node:428\";i:58;s:8:\"node:453\";i:59;s:8:\"node:455\";i:60;s:8:\"node:466\";i:61;s:8:\"node:479\";i:62;s:8:\"node:487\";i:63;s:9:\"node_list\";i:64;s:9:\"node_view\";i:65;s:8:\"rendered\";i:66;s:12:\"search_index\";i:67;s:24:\"search_index:node_search\";i:68;s:6:\"user:0\";i:69;s:6:\"user:1\";i:70;s:6:\"user:3\";i:71;s:6:\"user:4\";i:72;s:6:\"user:6\";}s:14:\"\0*\0cacheMaxAge\";i:-1;}s:14:\"\0*\0attachments\";a:4:{s:7:\"library\";a:9:{i:0;s:14:\"core/html5shiv\";i:1;s:11:\"system/base\";i:2;s:15:\"bootstrap/theme\";i:3;s:20:\"yaffs/global-styling\";i:4;s:23:\"yaffs/bootstrap-scripts\";i:5;s:19:\"yaffs/yaffs-helpers\";i:6;s:17:\"bootstrap/popover\";i:7;s:17:\"bootstrap/tooltip\";i:8;s:50:\"environment_indicator/drupal.environment_indicator\";}s:9:\"html_head\";a:19:{i:0;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:5:\"title\";s:7:\"content\";s:53:\"Search | Yaffs - A Flash File System for embedded use\";}}i:1;s:5:\"title\";}i:1;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:13:\"news_keywords\";s:7:\"content\";s:17:\"Flash File System\";}}i:1;s:13:\"news_keywords\";}i:2;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:11:\"description\";s:7:\"content\";s:352:\"Yaffs (Yet Another Flash File System) is an open-source file system specifically designed to be fast, robust and suitable for embedded use with NAND and NOR Flash. It is widely used with Linux, RTOSs, or no OS at all, in consumer devices and critical infrastructure. It is available under GNU Public License, GPL, or on commercial terms from Aleph One.\";}}i:1;s:11:\"description\";}i:3;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:8:\"abstract\";s:7:\"content\";s:352:\"Yaffs (Yet Another Flash File System) is an open-source file system specifically designed to be fast, robust and suitable for embedded use with NAND and NOR Flash. It is widely used with Linux, RTOSs, or no OS at all, in consumer devices and critical infrastructure. It is available under GNU Public License, GPL, or on commercial terms from Aleph One.\";}}i:1;s:8:\"abstract\";}i:4;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:8:\"keywords\";s:7:\"content\";s:82:\"flash File System, flash, file System, flash storage, NAND flash, NOR flash, Yaffs\";}}i:1;s:8:\"keywords\";}i:5;a:2:{i:0;a:3:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:1:{s:7:\"charset\";s:5:\"utf-8\";}s:7:\"#weight\";i:-1000;}i:1;s:24:\"system_meta_content_type\";}i:6;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:9:\"Generator\";s:7:\"content\";s:33:\"Drupal 8 (https://www.drupal.org)\";}}i:1;s:21:\"system_meta_generator\";}i:7;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:15:\"MobileOptimized\";s:7:\"content\";s:5:\"width\";}}i:1;s:15:\"MobileOptimized\";}i:8;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:16:\"HandheldFriendly\";s:7:\"content\";s:4:\"true\";}}i:1;s:16:\"HandheldFriendly\";}i:9;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:8:\"viewport\";s:7:\"content\";s:37:\"width=device-width, initial-scale=1.0\";}}i:1;s:8:\"viewport\";}i:10;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:125:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansRegular-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1151\";}i:11;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:124:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1152\";}i:12;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:122:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBold-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1153\";}i:13;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:123:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBold-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1149\";}i:14;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:129:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBoldItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1150\";}i:15;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:125:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1148\";}i:16;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:126:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifRegular-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1147\";}i:17;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:128:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBoldItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1154\";}i:18;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:13:\"shortcut icon\";s:4:\"href\";s:38:\"/sites/default/files/yaffs_favicon.png\";s:4:\"type\";s:9:\"image/png\";}}i:1;s:67:\"html_head_link:shortcut icon:/sites/default/files/yaffs_favicon.png\";}}s:12:\"placeholders\";a:0:{}s:14:\"drupalSettings\";a:5:{s:4:\"path\";a:8:{s:7:\"baseUrl\";s:1:\"/\";s:10:\"scriptPath\";N;s:10:\"pathPrefix\";s:0:\"\";s:11:\"currentPath\";s:11:\"search/node\";s:18:\"currentPathIsAdmin\";b:0;s:7:\"isFront\";b:0;s:15:\"currentLanguage\";s:2:\"en\";s:12:\"currentQuery\";O:8:\"stdClass\":1:{s:4:\"keys\";s:9:\"NOR flash\";}}s:15:\"pluralDelimiter\";s:1:\"\";s:9:\"bootstrap\";a:25:{s:28:\"forms_has_error_value_toggle\";i:1;s:15:\"modal_animation\";i:1;s:14:\"modal_backdrop\";s:4:\"true\";s:14:\"modal_keyboard\";i:1;s:10:\"modal_show\";i:1;s:10:\"modal_size\";s:0:\"\";s:15:\"popover_enabled\";i:1;s:17:\"popover_animation\";i:1;s:17:\"popover_container\";s:4:\"body\";s:15:\"popover_content\";s:0:\"\";s:13:\"popover_delay\";s:1:\"0\";s:12:\"popover_html\";i:0;s:17:\"popover_placement\";s:5:\"right\";s:16:\"popover_selector\";s:0:\"\";s:13:\"popover_title\";s:0:\"\";s:15:\"popover_trigger\";s:5:\"click\";s:25:\"popover_trigger_autoclose\";i:1;s:15:\"tooltip_enabled\";i:1;s:17:\"tooltip_animation\";i:1;s:17:\"tooltip_container\";s:4:\"body\";s:13:\"tooltip_delay\";s:1:\"0\";s:12:\"tooltip_html\";i:0;s:17:\"tooltip_placement\";s:9:\"auto left\";s:16:\"tooltip_selector\";s:0:\"\";s:15:\"tooltip_trigger\";s:5:\"hover\";}s:14:\"ajaxTrustedUrl\";a:2:{s:55:\"form_action_p_pvdeGsVG5zNF_XLGPTvYSKCf43t8qZYSwcfZl2uzM\";b:1;s:12:\"/search/node\";b:1;}s:4:\"user\";a:2:{s:3:\"uid\";i:0;s:15:\"permissionsHash\";s:64:\"aa7fc4c8fb40c7a8665ccd12fea07926dff0f59b9ee3346bc513c6399bee5b01\";}}}}',-1,1505630854.203,1,'block_content:18 block_content:23 block_content:7 block_content_view block_view config:block.block.choosingyaffs config:block.block.cookieinfo config:block.block.downloadyaffs config:block.block.footerlegal config:block.block.frontimagehighlight2 config:block.block.frontpagehero config:block.block.frontpageprimeryaffs config:block.block.mainnavigation config:block.block.mainnavigation_2 config:block.block.searchform config:block.block.sitebranding config:block.block.views_block__highlighted_yaffs_features_block_1 config:block.block.views_block__yaffs_admin_recent_content_block_1 config:block.block.views_block__yaffs_documents_highlights_block_1 config:block.block.views_block__yaffs_user_logos_block_1 config:block.block.yaffs_account_menu config:block.block.yaffs_block_10 config:block.block.yaffs_block_5 config:block.block.yaffs_block_6 config:block.block.yaffs_block_8 config:block.block.yaffs_block_9 config:block.block.yaffs_breadcrumbs config:block.block.yaffs_content config:block.block.yaffs_help config:block.block.yaffs_local_tasks config:block.block.yaffs_messages config:block.block.yaffs_page_title config:block.block.yaffs_user_21 config:block.block.yaffsinspace config:block_list config:color.theme.yaffs config:filter.format.basic_html config:filter.format.full_html config:filter.format.raw_html config:search.page.node_search config:search.page.user_search config:search.settings config:system.menu.account config:system.menu.main config:system.menu.tools config:system.site config:user.role.anonymous file:76 file:77 file:78 file:80 file:83 http_response node:347 node:409 node:41 node:420 node:428 node:453 node:455 node:466 node:479 node:487 node_list node_view rendered search_index search_index:node_search user:0 user:1 user:3 user:4 user:6','3789'),('https://yaffs.net/search/node?keys=NOR:html','O:31:\"Drupal\\Core\\Render\\HtmlResponse\":8:{s:7:\"headers\";O:50:\"Symfony\\Component\\HttpFoundation\\ResponseHeaderBag\":5:{s:23:\"\0*\0computedCacheControl\";a:2:{s:7:\"max-age\";s:3:\"300\";s:6:\"public\";b:1;}s:10:\"\0*\0cookies\";a:0:{}s:14:\"\0*\0headerNames\";a:14:{s:12:\"content-type\";s:12:\"Content-Type\";s:13:\"cache-control\";s:13:\"Cache-Control\";s:4:\"date\";s:4:\"Date\";s:22:\"x-drupal-dynamic-cache\";s:22:\"X-Drupal-Dynamic-Cache\";s:4:\"link\";s:4:\"Link\";s:15:\"x-ua-compatible\";s:15:\"X-UA-Compatible\";s:16:\"content-language\";s:16:\"Content-language\";s:22:\"x-content-type-options\";s:22:\"X-Content-Type-Options\";s:15:\"x-frame-options\";s:15:\"X-Frame-Options\";s:7:\"expires\";s:7:\"Expires\";s:13:\"last-modified\";s:13:\"Last-Modified\";s:4:\"etag\";s:4:\"ETag\";s:4:\"vary\";s:4:\"Vary\";s:11:\"x-generator\";s:11:\"X-Generator\";}s:10:\"\0*\0headers\";a:14:{s:12:\"content-type\";a:1:{i:0;s:24:\"text/html; charset=UTF-8\";}s:13:\"cache-control\";a:1:{i:0;s:19:\"max-age=300, public\";}s:4:\"date\";a:1:{i:0;s:29:\"Wed, 01 Nov 2017 01:39:45 GMT\";}s:22:\"x-drupal-dynamic-cache\";a:1:{i:0;s:4:\"MISS\";}s:4:\"link\";a:3:{i:0;s:108:\"</sites/default/files/css/css_YGKHk3qOgVcGqV_6s_kZUGJkGYQEouHb462Ja18qfRA.css?ovtedh>; rel=preload; as=style\";i:1;s:108:\"</sites/default/files/css/css_6qeLA6GBkZNPHWp9GdQIYovV3tYuKU-ts-HicZ-WeQQ.css?ovtedh>; rel=preload; as=style\";i:2;s:99:\"</sites/default/files/js/js_2l0lF4i9o3aztHULbfajMT_RTqGCEN_lVC8JI48SILw.js>; rel=preload; as=script\";}s:15:\"x-ua-compatible\";a:1:{i:0;s:7:\"IE=edge\";}s:16:\"content-language\";a:1:{i:0;s:2:\"en\";}s:22:\"x-content-type-options\";a:1:{i:0;s:7:\"nosniff\";}s:15:\"x-frame-options\";a:1:{i:0;s:10:\"SAMEORIGIN\";}s:7:\"expires\";a:1:{i:0;s:29:\"Sun, 19 Nov 1978 05:00:00 GMT\";}s:13:\"last-modified\";a:1:{i:0;s:29:\"Wed, 01 Nov 2017 01:39:45 GMT\";}s:4:\"etag\";a:1:{i:0;s:12:\"\"1509500385\"\";}s:4:\"vary\";a:1:{i:0;s:6:\"Cookie\";}s:11:\"x-generator\";a:1:{i:0;s:33:\"Drupal 8 (https://www.drupal.org)\";}}s:15:\"\0*\0cacheControl\";a:2:{s:7:\"max-age\";s:3:\"300\";s:6:\"public\";b:1;}}s:10:\"\0*\0content\";s:19419:\"<!DOCTYPE html>\n<html  lang=\"en\" dir=\"ltr\" prefix=\"content: http://purl.org/rss/1.0/modules/content/  dc: http://purl.org/dc/terms/  foaf: http://xmlns.com/foaf/0.1/  og: http://ogp.me/ns#  rdfs: http://www.w3.org/2000/01/rdf-schema#  schema: http://schema.org/  sioc: http://rdfs.org/sioc/ns#  sioct: http://rdfs.org/sioc/types#  skos: http://www.w3.org/2004/02/skos/core#  xsd: http://www.w3.org/2001/XMLSchema# \">\n  <head>\n    <meta charset=\"utf-8\" />\n<meta name=\"title\" content=\"Search | Yaffs - A Flash File System for embedded use\" />\n<meta name=\"news_keywords\" content=\"Flash File System\" />\n<meta name=\"description\" content=\"Yaffs (Yet Another Flash File System) is an open-source file system specifically designed to be fast, robust and suitable for embedded use with NAND and NOR Flash. It is widely used with Linux, RTOSs, or no OS at all, in consumer devices and critical infrastructure. It is available under GNU Public License, GPL, or on commercial terms from Aleph One.\" />\n<meta name=\"abstract\" content=\"Yaffs (Yet Another Flash File System) is an open-source file system specifically designed to be fast, robust and suitable for embedded use with NAND and NOR Flash. It is widely used with Linux, RTOSs, or no OS at all, in consumer devices and critical infrastructure. It is available under GNU Public License, GPL, or on commercial terms from Aleph One.\" />\n<meta name=\"keywords\" content=\"flash File System, flash, file System, flash storage, NAND flash, NOR flash, Yaffs\" />\n<meta name=\"Generator\" content=\"Drupal 8 (https://www.drupal.org)\" />\n<meta name=\"MobileOptimized\" content=\"width\" />\n<meta name=\"HandheldFriendly\" content=\"true\" />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansRegular-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBold-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBold-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBoldItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifRegular-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBoldItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"shortcut icon\" href=\"/sites/default/files/yaffs_favicon.png\" type=\"image/png\" />\n\n    <title>Search | Yaffs - A Flash File System for embedded use</title>\n    <link rel=\"stylesheet\" href=\"/sites/default/files/css/css_YGKHk3qOgVcGqV_6s_kZUGJkGYQEouHb462Ja18qfRA.css?ovtedh\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"/sites/default/files/css/css_6qeLA6GBkZNPHWp9GdQIYovV3tYuKU-ts-HicZ-WeQQ.css?ovtedh\" media=\"all\" />\n\n    \n<!--[if lte IE 8]>\n<script src=\"/sites/default/files/js/js_VtafjXmRvoUgAzqzYTA3Wrjkx9wcWhjP0G4ZnnqRamA.js\"></script>\n<![endif]-->\n\n  </head>\n  <body class=\"fontyourface path-search navbar-is-fixed-top has-glyphicons\">\n    <a href=\"#main-content\" class=\"visually-hidden focusable skip-link\">\n      Skip to main content\n    </a>\n    <div style=\"background-color: ; color: \" id=\"environment-indicator\">\n  \n    </div>\n\n              <header class=\"navbar navbar-default navbar-fixed-top\" id=\"navbar\" role=\"banner\">\n              <div class=\"container\">\n            <div class=\"navbar-header\">\n          <div class=\"region region-navigation\">\n          <a class=\"logo navbar-btn pull-left\" href=\"/\" title=\"Home\" rel=\"home\">\n      <img src=\"/themes/custom/yaffs/logo.svg\" alt=\"Home\" />\n    </a>\n      \n  </div>\n\n                          <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar-collapse\">\n            <span class=\"sr-only\">Toggle navigation</span>\n            <span class=\"icon-bar\"></span>\n            <span class=\"icon-bar\"></span>\n            <span class=\"icon-bar\"></span>\n          </button>\n              </div>\n\n                    <div id=\"navbar-collapse\" class=\"navbar-collapse collapse\">\n            <div class=\"region region-navigation-collapsible\">\n    <nav role=\"navigation\" aria-labelledby=\"block-mainnavigation-menu\" id=\"block-mainnavigation\">\n            <h2 class=\"sr-only\" id=\"block-mainnavigation-menu\">Main navigation</h2>\n\n      \n              <ul class=\"menu nav navbar-nav\">\n                            <li>\n        <a href=\"/\" data-drupal-link-system-path=\"&lt;front&gt;\">Home</a>\n                  </li>\n                        <li>\n        <a href=\"/support\" title=\"Help for Yaffs\" data-drupal-link-system-path=\"node/380\">Support</a>\n                  </li>\n                        <li>\n        <a href=\"/documents\" data-drupal-link-system-path=\"documents\">Documents</a>\n                  </li>\n                        <li>\n        <a href=\"/get-yaffs\" data-drupal-link-system-path=\"node/382\">Download</a>\n                  </li>\n                        <li>\n        <a href=\"/about-us\" data-drupal-link-system-path=\"node/325\">About us</a>\n                  </li>\n                        <li>\n        <a href=\"/contact\" data-drupal-link-system-path=\"node/73\">Contact</a>\n                  </li>\n        </ul>\n  \n\n\n  </nav>\n<div class=\"search-block-form block block-search block-search-form-block\" data-drupal-selector=\"search-block-form\" id=\"block-searchform\" role=\"search\">\n  \n    \n      <form action=\"/search/node\" method=\"get\" id=\"search-block-form\" accept-charset=\"UTF-8\">\n  <div class=\"form-item js-form-item form-type-search js-form-type-search form-item-keys js-form-item-keys form-no-label form-group\">\n      <label for=\"edit-keys\" class=\"control-label sr-only\">Search</label>\n  \n  \n  <div class=\"input-group\"><input title=\"Enter the terms you wish to search for.\" data-drupal-selector=\"edit-keys\" class=\"form-search form-control\" placeholder=\"Search\" type=\"search\" id=\"edit-keys\" name=\"keys\" value=\"\" size=\"15\" maxlength=\"128\" data-toggle=\"tooltip\" /><span class=\"input-group-btn\"><button type=\"submit\" value=\"Search\" class=\"button js-form-submit form-submit btn-primary btn icon-only\" name=\"\"><span class=\"sr-only\">Search</span><span class=\"icon glyphicon glyphicon-search\" aria-hidden=\"true\"></span></button></span></div>\n\n  \n  \n  </div>\n<div class=\"form-actions form-group js-form-wrapper form-wrapper\" data-drupal-selector=\"edit-actions\" id=\"edit-actions\"></div>\n\n</form>\n\n  </div>\n\n  </div>\n\n        </div>\n                    </div>\n          </header>\n  \n  <div role=\"main\" class=\"main-container container js-quickedit-main-content\">\n    <div class=\"row\">\n\n            \n            \n                  <section class=\"col-sm-12\">\n\n                                      <div class=\"highlighted\">  <div class=\"region region-highlighted\">\n        <ol class=\"breadcrumb\">\n          <li >\n                  <a href=\"/search\">Search</a>\n              </li>\n          <li  class=\"active\">\n                  Search\n              </li>\n      </ol>\n\n\n\n  </div>\n</div>\n                  \n                \n                \n                                      \n                  \n                          <a id=\"main-content\"></a>\n            <div class=\"region region-content\">\n        <h1 class=\"page-header\">Search for NOR</h1>\n\n  <form class=\"search-form search-page-form\" data-drupal-selector=\"search-form\" action=\"/search/node?keys=NOR\" method=\"post\" id=\"search-form\" accept-charset=\"UTF-8\">\n  <div class=\"form-group js-form-wrapper form-wrapper\" data-drupal-selector=\"edit-basic\" id=\"edit-basic\"><div class=\"form-item js-form-item form-type-search js-form-type-search form-item-keys js-form-item-keys form-no-label form-group\">\n      <label for=\"edit-keys\" class=\"control-label sr-only\">Enter your keywords</label>\n  \n  \n  <div class=\"input-group\"><input data-drupal-selector=\"edit-keys\" class=\"form-search form-control\" placeholder=\"Enter your keywords\" type=\"search\" id=\"edit-keys\" name=\"keys\" value=\"NOR\" size=\"30\" maxlength=\"255\" title=\"Enter the terms you wish to search for.\" data-toggle=\"tooltip\" /><span class=\"input-group-btn\"><button type=\"submit\" name=\"op\" value=\"Search\" class=\"button js-form-submit form-submit btn-primary btn icon-only\"><span class=\"sr-only\">Search</span><span class=\"icon glyphicon glyphicon-search\" aria-hidden=\"true\"></span></button></span></div>\n\n  \n  \n  </div>\n</div>\n<a href=\"/search/node/help\" class=\"search-help-link\" data-drupal-selector=\"edit-help-link\" id=\"edit-help-link\">Search help</a><input data-drupal-selector=\"form-z6ctts9zwceevam97oyspdaonhjcgk-nz-c5xidkaic\" type=\"hidden\" name=\"form_build_id\" value=\"form-Z6cttS9zwceEVAM97oYspdAOnhjCgK_Nz_C5XIdkAic\" /><input data-drupal-selector=\"edit-search-form\" type=\"hidden\" name=\"form_id\" value=\"search_form\" />\n</form>\n<h2>Search results</h2><ol><li>\n<h3>\n  <a href=\"https://yaffs.net/archive/jffs2-and-nand-study\">JFFS2 and NAND study</a>\n</h3>\n\n  <p>…  for Trimble. Trimble patented this system. This FFS runs on <strong>NOR</strong> flash and uses a concepts very similar to JFFS to …  for a logical to physical translation layer.  \n     \n  <strong>NOR</strong> and NAND  \n  The following table highlights some of the important properties of <strong>NOR</strong> and NAND flash. This table holds true for most devices, …</p>\n  <p></p>\n</li><li>\n<h3>\n  <a href=\"https://yaffs.net/home\">A Robust Flash File System Since 2002</a>\n</h3>\n\n  <p>…  be fast, robust and suitable for embedded use with NAND and <strong>NOR</strong> Flash. It is widely used with Linux, RTOSs, or no OS at …</p>\n  <p></p>\n</li><li>\n<h3>\n  <a href=\"https://yaffs.net/documents/yaffs-vxworks\">Yaffs for VxWorks</a>\n</h3>\n\n  <p>…  designed for NAND flash, it has been used successfully with <strong>NOR</strong> flash systems and even as a RAM file system. This allows high reliability file systems to be constructed using <strong>NOR</strong> flash, with a future migration path to NAND flash for …</p>\n  <p><span lang=\"\" about=\"/user/admin\" typeof=\"schema:Person\" property=\"schema:name\" datatype=\"\">Admin</span> - 2 Jun 2017 - 2:40pm</p>\n</li><li>\n<h3>\n  <a href=\"https://yaffs.net/documents/considerations-choosing-flash-file-system\">Considerations in Choosing a Flash File System</a>\n</h3>\n\n  <p>…  \n      Yaffs was specifically designed to use with NAND and <strong>NOR</strong> flash chips.      \n  Flash memory chip errors may only …</p>\n  <p><span lang=\"\" about=\"/user/laurie\" typeof=\"schema:Person\" property=\"schema:name\" datatype=\"\">Laurie</span> - 25 Jul 2017 - 2:40pm</p>\n</li><li>\n<h3>\n  <a href=\"https://yaffs.net/archives/yaffs-nand-specific-flash-file-system-introductory-article\">YAFFS: the NAND-specific flash file system - Introductory Article</a>\n</h3>\n\n  <p>…  For some years now, people have been using common-old <strong>NOR</strong> flash for file system storage. JFFS and JFFS2 do an excellent job of this for Linux. For storage applications <strong>NOR</strong> flash is not that great because it is not very dense …  might have some benefits.\n  \n      \n  \n   \n     \n   \n   \n   <strong>NOR</strong> (typical, varies a lot)  \n   \n   \n   NAND  \n   \n  \n  \n   …</p>\n  <p></p>\n</li><li>\n<h3>\n  <a href=\"https://yaffs.net/documents/yaffs-direct-interface\">Yaffs Direct Interface</a>\n</h3>\n\n  <p>…  designed for NAND flash, it has been used successfully with <strong>NOR</strong> flash systems and even as a RAM file system. This allows high reliability file systems to be constructed using <strong>NOR</strong> flash, with a future migration path   to NAND   flash …  then adds it to yaffs for use.  \n    \n  \n  \n   \n   yaffs_<strong>nor</strong>_drv.c  \n    \n   \n   \n   \n    \n  \n  \n   \n   …</p>\n  <p><span lang=\"\" about=\"/user/admin\" typeof=\"schema:Person\" property=\"schema:name\" datatype=\"\">Admin</span> - 7 Jun 2017 - 11:53pm</p>\n</li><li>\n<h3>\n  <a href=\"https://yaffs.net/archives/yaffs-original-specification\">Yaffs Original Specification</a>\n</h3>\n\n  <p>…  It is important to recognise that &quot;flash&quot; includes both <strong>NOR</strong> and NAND flash which have different sets of constraints. …  term &quot;flash&quot; into thinking that approaches appropriate for <strong>NOR</strong> flash are immediately suitable for NAND flash.  \n\n  The …  use FAT16 as the file system. This isn&#039;t too robust and <strong>nor</strong> is it that flash-friendly. These block drivers provide a …</p>\n  <p></p>\n</li><li>\n<h3>\n  <a href=\"https://yaffs.net/documents/yaffs-robustness-and-testing\">YAFFS Robustness and Testing</a>\n</h3>\n\n  <p>…  for NAND flash though also used with great success on <strong>NOR</strong> flash too. Yaffs development started in 2001 when …  wide variety of compilers from many different vendors.  \n  <strong>Nor</strong> is Yaffs tied to any particular operating system. Yaffs …</p>\n  <p><span lang=\"\" about=\"/user/charles-manning\" typeof=\"schema:Person\" property=\"schema:name\" datatype=\"\">Charles Manning</span> - 7 Jun 2017 - 11:05pm</p>\n</li><li>\n<h3>\n  <a href=\"https://yaffs.net/features/file-system-designed-flash-memory\">A file system designed for Flash memory...</a>\n</h3>\n\n  <p>…  memory. It is best with NAND Flash but can be used with <strong>NOR</strong> too. It has mechanisms for wear-levelling, and special …</p>\n  <p></p>\n</li><li>\n<h3>\n  <a href=\"https://yaffs.net/documents/yaffs-nand-flash-failure-mitigation\">Yaffs NAND flash failure mitigation</a>\n</h3>\n\n  <p>…  block. This arrangement uses far less silicon area than the <strong>NOR</strong> flash arrangement which reduces NAND cost and increases …</p>\n  <p><span lang=\"\" about=\"/user/admin\" typeof=\"schema:Person\" property=\"schema:name\" datatype=\"\">Admin</span> - 8 Jun 2017 - 12:59pm</p>\n</li></ol>  <nav class=\"pager-nav text-center\" role=\"navigation\" aria-labelledby=\"pagination-heading\">\n    <h4 id=\"pagination-heading\" class=\"visually-hidden\">Pagination</h4>\n    <ul class=\"pagination js-pager__items\">\n\n            \n            \n                    <li class=\"pager__item is-active active\">\n                                          <a href=\"?keys=NOR&amp;page=0\" title=\"Current page\">\n            <span class=\"visually-hidden\">\n              Current page\n            </span>1</a>\n        </li>\n              <li class=\"pager__item\">\n                                          <a href=\"?keys=NOR&amp;page=1\" title=\"Go to page 2\">\n            <span class=\"visually-hidden\">\n              Page\n            </span>2</a>\n        </li>\n      \n                    <li class=\"pager__item pager__item--next\">\n          <a href=\"?keys=NOR&amp;page=1\" title=\"Go to next page\" rel=\"next\">\n            <span class=\"visually-hidden\">Next page</span>\n            <span aria-hidden=\"true\">next</span>\n          </a>\n        </li>\n      \n                  <li class=\"pager__item pager__item--last\">\n        <a href=\"?keys=NOR&amp;page=1\" title=\"Go to last page\" rel=\"last\">\n          <span class=\"visually-hidden\">Last page</span>\n          <span aria-hidden=\"true\">last</span>\n        </a>\n      </li>\n      \n    </ul>\n  </nav>\n\n\n  </div>\n\n              </section>\n\n                </div>\n  </div>\n\n      <footer class=\"footer container\" role=\"contentinfo\">\n        <div class=\"primary_footer row\">\n            <div class=\"col-sm-3\">\n                  <div class=\"region region-footer-col1\">\n    <section id=\"block-yaffs-block-6\" class=\"block block-block-content block-block-content6c2d4b45-4dba-4b2d-8b9f-76701bf27533 clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<ul class=\"fa-ul\">\n<li><i class=\"fa-li fa fa-phone\"></i>+44 (0)1223 811679</li>\n<li><i class=\"fa-li fa fa-envelope\"></i><a href=\"denied:mailto:info@aleph1.co.uk?Subject=Website contact\" target=\"_top\">info@aleph1.co.uk</a></li>\n</ul>\n</div>\n      \n  </section>\n\n\n  </div>\n\n            </div>\n            <div class=\"col-sm-3\">\n                \n            </div>\n            <div class=\"col-sm-3\">\n                \n            </div>\n            <div class=\"col-sm-3\">\n                  <div class=\"region region-footer-col4\">\n    <section id=\"block-footerlegal\" class=\"block block-block-content block-block-content78ab593d-35b6-4772-a141-30216e7fcbb2 clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<p class=\"text-align-right\">&nbsp;<a href=\"/legal\">Legal &amp; Cookies</a></p>\n</div>\n      \n  </section>\n\n<section id=\"block-cookieinfo\" class=\"block block-block-content block-block-content4848c58d-90df-4819-81d8-0f9568eeeaac clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<p class=\"text-align-justify\"><br />\nWe use <a href=\"/legal\">cookies on this site</a>. By using it, you are giving us consent to set cookies.</p>\n</div>\n      \n  </section>\n\n\n  </div>\n\n            </div>\n        </div>\n        <div class = \"secondary_footer row\">\n            <div class=\"col-sm-12\">\n                <div class=\"region region-footer\">\n    <nav role=\"navigation\" aria-labelledby=\"block-yaffs-account-menu-menu\" id=\"block-yaffs-account-menu\">\n            <h2 class=\"sr-only\" id=\"block-yaffs-account-menu-menu\">User account menu</h2>\n\n      \n              <ul class=\"menu nav navbar-nav navbar-right\">\n                            <li>\n        <a href=\"/user/login\" data-drupal-link-system-path=\"user/login\">Log in</a>\n                  </li>\n        </ul>\n  \n\n\n  </nav>\n\n  </div>\n\n            </div>\n        </div>\n    </footer>\n  \n    \n    <script type=\"application/json\" data-drupal-selector=\"drupal-settings-json\">{\"path\":{\"baseUrl\":\"\\/\",\"scriptPath\":null,\"pathPrefix\":\"\",\"currentPath\":\"search\\/node\",\"currentPathIsAdmin\":false,\"isFront\":false,\"currentLanguage\":\"en\",\"currentQuery\":{\"keys\":\"NOR\"}},\"pluralDelimiter\":\"\\u0003\",\"bootstrap\":{\"forms_has_error_value_toggle\":1,\"modal_animation\":1,\"modal_backdrop\":\"true\",\"modal_keyboard\":1,\"modal_show\":1,\"modal_size\":\"\",\"popover_enabled\":1,\"popover_animation\":1,\"popover_container\":\"body\",\"popover_content\":\"\",\"popover_delay\":\"0\",\"popover_html\":0,\"popover_placement\":\"right\",\"popover_selector\":\"\",\"popover_title\":\"\",\"popover_trigger\":\"click\",\"popover_trigger_autoclose\":1,\"tooltip_enabled\":1,\"tooltip_animation\":1,\"tooltip_container\":\"body\",\"tooltip_delay\":\"0\",\"tooltip_html\":0,\"tooltip_placement\":\"auto left\",\"tooltip_selector\":\"\",\"tooltip_trigger\":\"hover\"},\"ajaxTrustedUrl\":{\"form_action_p_pvdeGsVG5zNF_XLGPTvYSKCf43t8qZYSwcfZl2uzM\":true,\"\\/search\\/node\":true},\"user\":{\"uid\":0,\"permissionsHash\":\"aa7fc4c8fb40c7a8665ccd12fea07926dff0f59b9ee3346bc513c6399bee5b01\"}}</script>\n<script src=\"/sites/default/files/js/js_2l0lF4i9o3aztHULbfajMT_RTqGCEN_lVC8JI48SILw.js\"></script>\n\n  </body>\n</html>\n\";s:10:\"\0*\0version\";s:3:\"1.0\";s:13:\"\0*\0statusCode\";i:200;s:13:\"\0*\0statusText\";s:2:\"OK\";s:10:\"\0*\0charset\";N;s:23:\"\0*\0cacheabilityMetadata\";O:35:\"Drupal\\Core\\Cache\\CacheableMetadata\":3:{s:16:\"\0*\0cacheContexts\";a:20:{i:0;s:28:\"languages:language_interface\";i:1;s:5:\"route\";i:2;s:32:\"route.menu_active_trails:account\";i:3;s:29:\"route.menu_active_trails:main\";i:4;s:30:\"route.menu_active_trails:tools\";i:5;s:5:\"theme\";i:6;s:3:\"url\";i:7;s:8:\"url.path\";i:8;s:17:\"url.path.is_front\";i:9;s:15:\"url.path.parent\";i:10;s:14:\"url.query_args\";i:11;s:23:\"url.query_args.pagers:0\";i:12;s:30:\"url.query_args:_wrapper_format\";i:13;s:19:\"url.query_args:keys\";i:14;s:8:\"url.site\";i:15;s:4:\"user\";i:16;s:21:\"user.node_grants:view\";i:17;s:16:\"user.permissions\";i:18;s:10:\"user.roles\";i:19;s:24:\"user.roles:authenticated\";}s:12:\"\0*\0cacheTags\";a:72:{i:0;s:16:\"block_content:18\";i:1;s:16:\"block_content:23\";i:2;s:15:\"block_content:7\";i:3;s:18:\"block_content_view\";i:4;s:10:\"block_view\";i:5;s:32:\"config:block.block.choosingyaffs\";i:6;s:29:\"config:block.block.cookieinfo\";i:7;s:32:\"config:block.block.downloadyaffs\";i:8;s:30:\"config:block.block.footerlegal\";i:9;s:39:\"config:block.block.frontimagehighlight2\";i:10;s:32:\"config:block.block.frontpagehero\";i:11;s:39:\"config:block.block.frontpageprimeryaffs\";i:12;s:33:\"config:block.block.mainnavigation\";i:13;s:35:\"config:block.block.mainnavigation_2\";i:14;s:29:\"config:block.block.searchform\";i:15;s:31:\"config:block.block.sitebranding\";i:16;s:66:\"config:block.block.views_block__highlighted_yaffs_features_block_1\";i:17;s:66:\"config:block.block.views_block__yaffs_admin_recent_content_block_1\";i:18;s:66:\"config:block.block.views_block__yaffs_documents_highlights_block_1\";i:19;s:56:\"config:block.block.views_block__yaffs_user_logos_block_1\";i:20;s:37:\"config:block.block.yaffs_account_menu\";i:21;s:33:\"config:block.block.yaffs_block_10\";i:22;s:32:\"config:block.block.yaffs_block_5\";i:23;s:32:\"config:block.block.yaffs_block_6\";i:24;s:32:\"config:block.block.yaffs_block_8\";i:25;s:32:\"config:block.block.yaffs_block_9\";i:26;s:36:\"config:block.block.yaffs_breadcrumbs\";i:27;s:32:\"config:block.block.yaffs_content\";i:28;s:29:\"config:block.block.yaffs_help\";i:29;s:36:\"config:block.block.yaffs_local_tasks\";i:30;s:33:\"config:block.block.yaffs_messages\";i:31;s:35:\"config:block.block.yaffs_page_title\";i:32;s:32:\"config:block.block.yaffs_user_21\";i:33;s:31:\"config:block.block.yaffsinspace\";i:34;s:17:\"config:block_list\";i:35;s:24:\"config:color.theme.yaffs\";i:36;s:31:\"config:filter.format.basic_html\";i:37;s:30:\"config:filter.format.full_html\";i:38;s:29:\"config:filter.format.raw_html\";i:39;s:30:\"config:search.page.node_search\";i:40;s:30:\"config:search.page.user_search\";i:41;s:22:\"config:search.settings\";i:42;s:26:\"config:system.menu.account\";i:43;s:23:\"config:system.menu.main\";i:44;s:24:\"config:system.menu.tools\";i:45;s:18:\"config:system.site\";i:46;s:26:\"config:user.role.anonymous\";i:47;s:7:\"file:77\";i:48;s:7:\"file:78\";i:49;s:7:\"file:80\";i:50;s:7:\"file:83\";i:51;s:13:\"http_response\";i:52;s:8:\"node:347\";i:53;s:7:\"node:37\";i:54;s:7:\"node:41\";i:55;s:8:\"node:420\";i:56;s:8:\"node:428\";i:57;s:8:\"node:453\";i:58;s:8:\"node:455\";i:59;s:8:\"node:466\";i:60;s:8:\"node:479\";i:61;s:8:\"node:487\";i:62;s:9:\"node_list\";i:63;s:9:\"node_view\";i:64;s:8:\"rendered\";i:65;s:12:\"search_index\";i:66;s:24:\"search_index:node_search\";i:67;s:6:\"user:0\";i:68;s:6:\"user:1\";i:69;s:6:\"user:3\";i:70;s:6:\"user:4\";i:71;s:6:\"user:6\";}s:14:\"\0*\0cacheMaxAge\";i:-1;}s:14:\"\0*\0attachments\";a:4:{s:7:\"library\";a:9:{i:0;s:14:\"core/html5shiv\";i:1;s:11:\"system/base\";i:2;s:15:\"bootstrap/theme\";i:3;s:20:\"yaffs/global-styling\";i:4;s:23:\"yaffs/bootstrap-scripts\";i:5;s:19:\"yaffs/yaffs-helpers\";i:6;s:17:\"bootstrap/popover\";i:7;s:17:\"bootstrap/tooltip\";i:8;s:50:\"environment_indicator/drupal.environment_indicator\";}s:9:\"html_head\";a:19:{i:0;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:5:\"title\";s:7:\"content\";s:53:\"Search | Yaffs - A Flash File System for embedded use\";}}i:1;s:5:\"title\";}i:1;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:13:\"news_keywords\";s:7:\"content\";s:17:\"Flash File System\";}}i:1;s:13:\"news_keywords\";}i:2;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:11:\"description\";s:7:\"content\";s:352:\"Yaffs (Yet Another Flash File System) is an open-source file system specifically designed to be fast, robust and suitable for embedded use with NAND and NOR Flash. It is widely used with Linux, RTOSs, or no OS at all, in consumer devices and critical infrastructure. It is available under GNU Public License, GPL, or on commercial terms from Aleph One.\";}}i:1;s:11:\"description\";}i:3;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:8:\"abstract\";s:7:\"content\";s:352:\"Yaffs (Yet Another Flash File System) is an open-source file system specifically designed to be fast, robust and suitable for embedded use with NAND and NOR Flash. It is widely used with Linux, RTOSs, or no OS at all, in consumer devices and critical infrastructure. It is available under GNU Public License, GPL, or on commercial terms from Aleph One.\";}}i:1;s:8:\"abstract\";}i:4;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:8:\"keywords\";s:7:\"content\";s:82:\"flash File System, flash, file System, flash storage, NAND flash, NOR flash, Yaffs\";}}i:1;s:8:\"keywords\";}i:5;a:2:{i:0;a:3:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:1:{s:7:\"charset\";s:5:\"utf-8\";}s:7:\"#weight\";i:-1000;}i:1;s:24:\"system_meta_content_type\";}i:6;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:9:\"Generator\";s:7:\"content\";s:33:\"Drupal 8 (https://www.drupal.org)\";}}i:1;s:21:\"system_meta_generator\";}i:7;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:15:\"MobileOptimized\";s:7:\"content\";s:5:\"width\";}}i:1;s:15:\"MobileOptimized\";}i:8;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:16:\"HandheldFriendly\";s:7:\"content\";s:4:\"true\";}}i:1;s:16:\"HandheldFriendly\";}i:9;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:8:\"viewport\";s:7:\"content\";s:37:\"width=device-width, initial-scale=1.0\";}}i:1;s:8:\"viewport\";}i:10;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:125:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansRegular-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1151\";}i:11;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:124:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1152\";}i:12;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:122:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBold-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1153\";}i:13;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:123:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBold-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1149\";}i:14;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:129:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBoldItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1150\";}i:15;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:125:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1148\";}i:16;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:126:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifRegular-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1147\";}i:17;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:128:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBoldItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1154\";}i:18;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:13:\"shortcut icon\";s:4:\"href\";s:38:\"/sites/default/files/yaffs_favicon.png\";s:4:\"type\";s:9:\"image/png\";}}i:1;s:67:\"html_head_link:shortcut icon:/sites/default/files/yaffs_favicon.png\";}}s:12:\"placeholders\";a:0:{}s:14:\"drupalSettings\";a:5:{s:4:\"path\";a:8:{s:7:\"baseUrl\";s:1:\"/\";s:10:\"scriptPath\";N;s:10:\"pathPrefix\";s:0:\"\";s:11:\"currentPath\";s:11:\"search/node\";s:18:\"currentPathIsAdmin\";b:0;s:7:\"isFront\";b:0;s:15:\"currentLanguage\";s:2:\"en\";s:12:\"currentQuery\";O:8:\"stdClass\":1:{s:4:\"keys\";s:3:\"NOR\";}}s:15:\"pluralDelimiter\";s:1:\"\";s:9:\"bootstrap\";a:25:{s:28:\"forms_has_error_value_toggle\";i:1;s:15:\"modal_animation\";i:1;s:14:\"modal_backdrop\";s:4:\"true\";s:14:\"modal_keyboard\";i:1;s:10:\"modal_show\";i:1;s:10:\"modal_size\";s:0:\"\";s:15:\"popover_enabled\";i:1;s:17:\"popover_animation\";i:1;s:17:\"popover_container\";s:4:\"body\";s:15:\"popover_content\";s:0:\"\";s:13:\"popover_delay\";s:1:\"0\";s:12:\"popover_html\";i:0;s:17:\"popover_placement\";s:5:\"right\";s:16:\"popover_selector\";s:0:\"\";s:13:\"popover_title\";s:0:\"\";s:15:\"popover_trigger\";s:5:\"click\";s:25:\"popover_trigger_autoclose\";i:1;s:15:\"tooltip_enabled\";i:1;s:17:\"tooltip_animation\";i:1;s:17:\"tooltip_container\";s:4:\"body\";s:13:\"tooltip_delay\";s:1:\"0\";s:12:\"tooltip_html\";i:0;s:17:\"tooltip_placement\";s:9:\"auto left\";s:16:\"tooltip_selector\";s:0:\"\";s:15:\"tooltip_trigger\";s:5:\"hover\";}s:14:\"ajaxTrustedUrl\";a:2:{s:55:\"form_action_p_pvdeGsVG5zNF_XLGPTvYSKCf43t8qZYSwcfZl2uzM\";b:1;s:12:\"/search/node\";b:1;}s:4:\"user\";a:2:{s:3:\"uid\";i:0;s:15:\"permissionsHash\";s:64:\"aa7fc4c8fb40c7a8665ccd12fea07926dff0f59b9ee3346bc513c6399bee5b01\";}}}}',-1,1509500386.036,1,'block_content:18 block_content:23 block_content:7 block_content_view block_view config:block.block.choosingyaffs config:block.block.cookieinfo config:block.block.downloadyaffs config:block.block.footerlegal config:block.block.frontimagehighlight2 config:block.block.frontpagehero config:block.block.frontpageprimeryaffs config:block.block.mainnavigation config:block.block.mainnavigation_2 config:block.block.searchform config:block.block.sitebranding config:block.block.views_block__highlighted_yaffs_features_block_1 config:block.block.views_block__yaffs_admin_recent_content_block_1 config:block.block.views_block__yaffs_documents_highlights_block_1 config:block.block.views_block__yaffs_user_logos_block_1 config:block.block.yaffs_account_menu config:block.block.yaffs_block_10 config:block.block.yaffs_block_5 config:block.block.yaffs_block_6 config:block.block.yaffs_block_8 config:block.block.yaffs_block_9 config:block.block.yaffs_breadcrumbs config:block.block.yaffs_content config:block.block.yaffs_help config:block.block.yaffs_local_tasks config:block.block.yaffs_messages config:block.block.yaffs_page_title config:block.block.yaffs_user_21 config:block.block.yaffsinspace config:block_list config:color.theme.yaffs config:filter.format.basic_html config:filter.format.full_html config:filter.format.raw_html config:search.page.node_search config:search.page.user_search config:search.settings config:system.menu.account config:system.menu.main config:system.menu.tools config:system.site config:user.role.anonymous file:77 file:78 file:80 file:83 http_response node:347 node:37 node:41 node:420 node:428 node:453 node:455 node:466 node:479 node:487 node_list node_view rendered search_index search_index:node_search user:0 user:1 user:3 user:4 user:6','3755'),