annotate rvinterf/include/ffslimits.h @ 985:8109185528c1

tfc139: new logic actually works
author Mychaela Falconia <falcon@ivan.Harhan.ORG>
date Sat, 12 Dec 2015 03:24:52 +0000
parents 3dd74b16df82
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
295
3dd74b16df82 fc-fsio: pathname recursion handling revamped
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1 /*
3dd74b16df82 fc-fsio: pathname recursion handling revamped
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
2 * Limits on FFS filenames and pathnames
3dd74b16df82 fc-fsio: pathname recursion handling revamped
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
3 *
3dd74b16df82 fc-fsio: pathname recursion handling revamped
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
4 * The deepest pathname allowed is one of the form /1/2/3/4/5/6, where the
3dd74b16df82 fc-fsio: pathname recursion handling revamped
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
5 * last component may be a file, a directory or a symlink; if this last
3dd74b16df82 fc-fsio: pathname recursion handling revamped
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
6 * component is a directory, it has to be empty, because any child of
3dd74b16df82 fc-fsio: pathname recursion handling revamped
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
7 * that directory would violate the depth limit.
3dd74b16df82 fc-fsio: pathname recursion handling revamped
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
8 *
3dd74b16df82 fc-fsio: pathname recursion handling revamped
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
9 * The proper FFS pathname form begins with a slash (all pathnames must
3dd74b16df82 fc-fsio: pathname recursion handling revamped
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
10 * be absolute, no Unix processes in the fw means no current directories),
3dd74b16df82 fc-fsio: pathname recursion handling revamped
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
11 * has exactly one slash in each separating place (no double slashes),
3dd74b16df82 fc-fsio: pathname recursion handling revamped
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
12 * and no trailing slash except in the special case of the root directory,
3dd74b16df82 fc-fsio: pathname recursion handling revamped
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
13 * whose full pathname is "/".
3dd74b16df82 fc-fsio: pathname recursion handling revamped
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
14 *
3dd74b16df82 fc-fsio: pathname recursion handling revamped
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
15 * Each component name is [1,20] characters long; combining this limit
3dd74b16df82 fc-fsio: pathname recursion handling revamped
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
16 * with the maximum depth of 6 puts the maximum length of a properly-formed
3dd74b16df82 fc-fsio: pathname recursion handling revamped
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
17 * full pathname at 126 characters.
3dd74b16df82 fc-fsio: pathname recursion handling revamped
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
18 */
3dd74b16df82 fc-fsio: pathname recursion handling revamped
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
19
3dd74b16df82 fc-fsio: pathname recursion handling revamped
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
20 #define MAX_FN_COMPONENT 20
3dd74b16df82 fc-fsio: pathname recursion handling revamped
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
21 #define MAX_NAME_DEPTH 6
3dd74b16df82 fc-fsio: pathname recursion handling revamped
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
22 #define MAX_FULL_PATHNAME ((MAX_FN_COMPONENT+1) * MAX_NAME_DEPTH)