From Jason Turner

[fs.conformance]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmppb93g3bp/{from.md → to.md} +59 -0
tmp/tmppb93g3bp/{from.md → to.md} RENAMED
@@ -0,0 +1,59 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ### Conformance <a id="fs.conformance">[[fs.conformance]]</a>
2
+
3
+ Conformance is specified in terms of behavior. Ideal behavior is not
4
+ always implementable, so the conformance subclauses take that into
5
+ account.
6
+
7
+ #### POSIX conformance <a id="fs.conform.9945">[[fs.conform.9945]]</a>
8
+
9
+ Some behavior is specified by reference to POSIX ([[fs.norm.ref]]). How
10
+ such behavior is actually implemented is unspecified.
11
+
12
+ [*Note 1*: This constitutes an “as if” rule allowing implementations to
13
+ call native operating system or other APIs. — *end note*]
14
+
15
+ Implementations are encouraged to provide such behavior as it is defined
16
+ by POSIX. Implementations shall document any behavior that differs from
17
+ the behavior defined by POSIX. Implementations that do not support exact
18
+ POSIX behavior are encouraged to provide behavior as close to POSIX
19
+ behavior as is reasonable given the limitations of actual operating
20
+ systems and file systems. If an implementation cannot provide any
21
+ reasonable behavior, the implementation shall report an error as
22
+ specified in  [[fs.err.report]].
23
+
24
+ [*Note 2*: This allows users to rely on an exception being thrown or an
25
+ error code being set when an implementation cannot provide any
26
+ reasonable behavior. — *end note*]
27
+
28
+ Implementations are not required to provide behavior that is not
29
+ supported by a particular file system.
30
+
31
+ [*Example 1*: The FAT file system used by some memory cards, camera
32
+ memory, and floppy disks does not support hard links, symlinks, and many
33
+ other features of more capable file systems, so implementations are not
34
+ required to support those features on the FAT file system but instead
35
+ are required to report an error as described above. — *end example*]
36
+
37
+ #### Operating system dependent behavior conformance <a id="fs.conform.os">[[fs.conform.os]]</a>
38
+
39
+ Some behavior is specified as being operating system dependent (
40
+ [[fs.def.osdep]]). The operating system an implementation is dependent
41
+ upon is *implementation-defined*.
42
+
43
+ It is permissible for an implementation to be dependent upon an
44
+ operating system emulator rather than the actual underlying operating
45
+ system.
46
+
47
+ #### File system race behavior <a id="fs.race.behavior">[[fs.race.behavior]]</a>
48
+
49
+ Behavior is undefined if calls to functions provided by this subclause
50
+ introduce a file system race ([[fs.def.race]]).
51
+
52
+ If the possibility of a file system race would make it unreliable for a
53
+ program to test for a precondition before calling a function described
54
+ herein, *Requires:* is not specified for the function.
55
+
56
+ [*Note 1*: As a design practice, preconditions are not specified when
57
+ it is unreasonable for a program to detect them prior to calling the
58
+ function. — *end note*]
59
+