<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<diagram program="umlet" version="14.3.0">
  <zoom_level>10</zoom_level>
  <element>
    <id>UMLClass</id>
    <coordinates>
      <x>740</x>
      <y>600</y>
      <w>200</w>
      <h>100</h>
    </coordinates>
    <panel_attributes>/TimePolicy/
--
--
/+change_time(): time_t/
/+access_time(): time_t/
/+modification_time(): time_t/
/+update(which: time_fields): void/
</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>UMLClass</id>
    <coordinates>
      <x>740</x>
      <y>360</y>
      <w>200</w>
      <h>80</h>
    </coordinates>
    <panel_attributes>/PermissionPolicy/
--
--
/+mode(): mode_t/
/+access(mode: int): int/
/+chmod(permission: mode_t): int/
</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>UMLClass</id>
    <coordinates>
      <x>690</x>
      <y>170</y>
      <w>420</w>
      <h>160</h>
    </coordinates>
    <panel_attributes>/BufferPolicy/
--
--
/+size(): off_t/
/+open(fi: fuse_file_info&amp;): int/
/+close(fi: fuse_file_info&amp;): int/
/+read(buf: char*, size: size_t, offset: off_t, fi: fuse_file_info&amp;): int/
/+write(buf: const char*, size: size_t, offset: off_t, fi: fuse_file_info&amp;): int/
/+flush(fi: fuse_file_info&amp;): int/
/+truncate(off: off_t): int/
/+readlink(buf: char*, bufsize: size_t): int/
</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>UMLClass</id>
    <coordinates>
      <x>690</x>
      <y>730</y>
      <w>440</w>
      <h>190</h>
    </coordinates>
    <panel_attributes>/NodePolicy/
--
--
/+find(name: const char*): entry*/
/+links(): nlink_t/
/+opendir(fi: fuse_file_info&amp;): int/
/+readdir(buf: void*, filler: fuse_fill_dir_t, offset: off_t, fi: fuse_file_info&amp;): int/
/+releasedir(fi: fuse_file_info&amp;): int/
/+mknod(name: const char*, mode: mode_t, type: dev_t): int/
/+unlink(name: const char*): int/
/+mkdir(name: const char*, mode: mode_t): int/
/+rmdir(name: const char*): int/
/+symlink(name: const char*, target: const char*): int/
</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>UMLClass</id>
    <coordinates>
      <x>640</x>
      <y>40</y>
      <w>440</w>
      <h>100</h>
    </coordinates>
    <panel_attributes>/AttributesPolicy/
--
--
/+setxattr(name: const char*, value: const char *, size: size_t, flags: int): int/
/+getxattr(name: const char*, value: char*, size: size_t): int/
/+listxattr(list: char*, size: size_t): int/
/+removexattr(name: const char*): int/
</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>UMLClass</id>
    <coordinates>
      <x>140</x>
      <y>560</y>
      <w>500</w>
      <h>40</h>
    </coordinates>
    <panel_attributes>template=TimePolicy, PermissionPolicy, BufferPolicy, NodePolicy, AttributesPolicy, TypeFlag
basic_entry</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>UMLPackage</id>
    <coordinates>
      <x>120</x>
      <y>0</y>
      <w>1370</w>
      <h>940</h>
    </coordinates>
    <panel_attributes>fusekit
--</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>UMLClass</id>
    <coordinates>
      <x>140</x>
      <y>40</y>
      <w>470</w>
      <h>400</h>
    </coordinates>
    <panel_attributes>/entry/
--
--
/+child(name: const char*): entry*/
/+stat(stbuf: stat&amp;): int/
/+access(mode: int): int/
/+chmod(permission: mode_t): int/
/+open(fi: fuse_file_info&amp;): int/
/+release(fi: fuse_file_info&amp;): int/
/+read(buf: char*, size: size_t, offset: off_t, fi: fuse_file_info&amp;): int/
/+write(buf: const char*, size: size_t, offset: off_t, fi: fuse_file_info&amp;): int/
/+opendir(fi: fuse_file_info&amp;): int/
/+readdir(buf: void*, filler: fuse_fill_dir_t, offset: off_t, fi: fuse_file_info&amp;): int/
/+releasedir(fi: fuse_file_info&amp;): int/
/+mknod(name: const char*, mode: mode_t, type: dev_t): int/
/+unlink(name: const char*): int/
/+mkdir(name: const char*, mode: mode_t): int/
/+rmdir(name: const char*): int/
/+flush(fi: fuse_file_info&amp;): int/
/+truncate(off: off_t): int/
/+utimens(_: timespec[2]): int/
/+readlink(buf: char*, bufsize: size_t): int/
/+symlink(name: const char*, target: const char*): int/
/+setxattr(name: const char*, value: const char *, size: size_t, flags: int): int/
/+getxattr(name: const char*, value: char*, size: size_t): int/
/+listxattr(list: char*, size: size_t): int/
/+removexattr(name: const char*): int/
</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>190</x>
      <y>430</y>
      <w>30</w>
      <h>150</h>
    </coordinates>
    <panel_attributes>lt=&lt;&lt;-</panel_attributes>
    <additional_attributes>10.0;10.0;10.0;130.0</additional_attributes>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>210</x>
      <y>130</y>
      <w>480</w>
      <h>450</h>
    </coordinates>
    <panel_attributes>lt=&lt;&lt;-</panel_attributes>
    <additional_attributes>460.0;10.0;460.0;330.0;10.0;330.0;10.0;430.0</additional_attributes>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>230</x>
      <y>320</y>
      <w>510</w>
      <h>260</h>
    </coordinates>
    <panel_attributes>lt=&lt;&lt;-</panel_attributes>
    <additional_attributes>490.0;10.0;490.0;160.0;10.0;160.0;10.0;240.0</additional_attributes>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>250</x>
      <y>430</y>
      <w>540</w>
      <h>150</h>
    </coordinates>
    <panel_attributes>lt=&lt;&lt;-</panel_attributes>
    <additional_attributes>520.0;10.0;520.0;70.0;10.0;70.0;10.0;130.0</additional_attributes>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>270</x>
      <y>510</y>
      <w>520</w>
      <h>110</h>
    </coordinates>
    <panel_attributes>lt=&lt;&lt;-</panel_attributes>
    <additional_attributes>500.0;90.0;500.0;10.0;10.0;10.0;10.0;50.0</additional_attributes>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>290</x>
      <y>530</y>
      <w>450</w>
      <h>220</h>
    </coordinates>
    <panel_attributes>lt=&lt;&lt;-</panel_attributes>
    <additional_attributes>430.0;200.0;430.0;10.0;10.0;10.0;10.0;30.0</additional_attributes>
  </element>
  <element>
    <id>UMLClass</id>
    <coordinates>
      <x>230</x>
      <y>650</y>
      <w>360</w>
      <h>40</h>
    </coordinates>
    <panel_attributes>template=NodePolicy, TimePolicy, PermissionPolicy, AttributesPolicy
basic_directory</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>260</x>
      <y>590</y>
      <w>330</w>
      <h>80</h>
    </coordinates>
    <panel_attributes>lt=&lt;&lt;.
&lt;&lt;bind&gt;&gt;
&lt; BufferPolicy -&gt; no_buffer, TypeFlag -&gt; S_IFDIR &gt;</panel_attributes>
    <additional_attributes>10.0;10.0;10.0;60.0</additional_attributes>
  </element>
  <element>
    <id>UMLClass</id>
    <coordinates>
      <x>190</x>
      <y>730</y>
      <w>360</w>
      <h>40</h>
    </coordinates>
    <panel_attributes>template=BufferPolicy, TimePolicy, PermissionPolicy, AttributesPolicy
basic_file</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>200</x>
      <y>590</y>
      <w>330</w>
      <h>160</h>
    </coordinates>
    <panel_attributes>lt=&lt;&lt;.





&lt;&lt;bind&gt;&gt;
&lt; NodePolicy -&gt; file_node, TypeFlag -&gt; S_IFREG &gt;</panel_attributes>
    <additional_attributes>10.0;10.0;10.0;140.0</additional_attributes>
  </element>
  <element>
    <id>UMLClass</id>
    <coordinates>
      <x>140</x>
      <y>810</y>
      <w>360</w>
      <h>70</h>
    </coordinates>
    <panel_attributes>template=TimePolicy, PermissionPolicy, AttributesPolicy
basic_symlink
--
--
+basic_symlink(target: const char*)
</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>160</x>
      <y>590</y>
      <w>540</w>
      <h>250</h>
    </coordinates>
    <panel_attributes>lt=&lt;&lt;.










&lt;&lt;bind&gt;&gt;
&lt; BufferPolicy -&gt; symlink_buffer, NodePolicy -&gt; symlink_node, TypeFlag -&gt; S_IFLNK &gt;</panel_attributes>
    <additional_attributes>10.0;10.0;10.0;230.0</additional_attributes>
  </element>
  <element>
    <id>UMLClass</id>
    <coordinates>
      <x>1140</x>
      <y>190</y>
      <w>270</w>
      <h>80</h>
    </coordinates>
    <panel_attributes>template=Derived
symlink_buffer
--
-_target: std::string
--
+initlink(target: const char* target): void
</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>1100</x>
      <y>220</y>
      <w>60</w>
      <h>30</h>
    </coordinates>
    <panel_attributes>lt=&lt;&lt;-</panel_attributes>
    <additional_attributes>10.0;10.0;40.0;10.0</additional_attributes>
  </element>
  <element>
    <id>UMLClass</id>
    <coordinates>
      <x>1140</x>
      <y>290</y>
      <w>240</w>
      <h>40</h>
    </coordinates>
    <panel_attributes>template=Derived
no_buffer
</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>1100</x>
      <y>300</y>
      <w>60</w>
      <h>30</h>
    </coordinates>
    <panel_attributes>lt=&lt;&lt;-</panel_attributes>
    <additional_attributes>10.0;10.0;40.0;10.0</additional_attributes>
  </element>
  <element>
    <id>UMLClass</id>
    <coordinates>
      <x>1160</x>
      <y>810</y>
      <w>230</w>
      <h>60</h>
    </coordinates>
    <panel_attributes>template=Derived
symlink_node
--
_+type_flag: const int = S_IFLNK_</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>1120</x>
      <y>830</y>
      <w>60</w>
      <h>30</h>
    </coordinates>
    <panel_attributes>lt=&lt;&lt;-</panel_attributes>
    <additional_attributes>10.0;10.0;40.0;10.0</additional_attributes>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>1120</x>
      <y>750</y>
      <w>60</w>
      <h>30</h>
    </coordinates>
    <panel_attributes>lt=&lt;&lt;-</panel_attributes>
    <additional_attributes>10.0;10.0;40.0;10.0</additional_attributes>
  </element>
  <element>
    <id>UMLClass</id>
    <coordinates>
      <x>1170</x>
      <y>570</y>
      <w>210</w>
      <h>130</h>
    </coordinates>
    <panel_attributes>template=Derived
default_time
--
-_change_time: timespec
-_modification_time: timespec
-_access_time: timespec
--
+default_time()
_-now(): timespec_</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>930</x>
      <y>620</y>
      <w>260</w>
      <h>30</h>
    </coordinates>
    <panel_attributes>lt=&lt;&lt;-</panel_attributes>
    <additional_attributes>10.0;10.0;240.0;10.0</additional_attributes>
  </element>
  <element>
    <id>UMLClass</id>
    <coordinates>
      <x>970</x>
      <y>360</y>
      <w>280</w>
      <h>80</h>
    </coordinates>
    <panel_attributes>template=Permissions: mode_t, Derived
default_permissions
--
-_current: int
--
+default_permissions()
</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>930</x>
      <y>380</y>
      <w>60</w>
      <h>30</h>
    </coordinates>
    <panel_attributes>lt=&lt;&lt;-</panel_attributes>
    <additional_attributes>10.0;10.0;40.0;10.0</additional_attributes>
  </element>
  <element>
    <id>UMLClass</id>
    <coordinates>
      <x>790</x>
      <y>480</y>
      <w>180</w>
      <h>40</h>
    </coordinates>
    <panel_attributes>template=Derived
default_file_permissions</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>UMLClass</id>
    <coordinates>
      <x>790</x>
      <y>540</y>
      <w>200</w>
      <h>40</h>
    </coordinates>
    <panel_attributes>template=Derived
default_ro_file_permissions</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>UMLClass</id>
    <coordinates>
      <x>1040</x>
      <y>500</y>
      <w>200</w>
      <h>40</h>
    </coordinates>
    <panel_attributes>template=Derived
default_wo_file_permissions</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>UMLClass</id>
    <coordinates>
      <x>1260</x>
      <y>420</y>
      <w>210</w>
      <h>40</h>
    </coordinates>
    <panel_attributes>template=Derived
default_directory_permissions</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>UMLClass</id>
    <coordinates>
      <x>1250</x>
      <y>500</y>
      <w>220</w>
      <h>40</h>
    </coordinates>
    <panel_attributes>template=Derived
default_symlink_permissions</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>UMLClass</id>
    <coordinates>
      <x>1110</x>
      <y>40</y>
      <w>360</w>
      <h>80</h>
    </coordinates>
    <panel_attributes>template=Derived
default_xattr
--
-attributes_type: std::map&lt;std::string, std::vector&lt;char&gt;&gt;
-_attributes: attributes_type
</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>1070</x>
      <y>70</y>
      <w>60</w>
      <h>30</h>
    </coordinates>
    <panel_attributes>lt=&lt;&lt;-</panel_attributes>
    <additional_attributes>10.0;10.0;40.0;10.0</additional_attributes>
  </element>
  <element>
    <id>UMLClass</id>
    <coordinates>
      <x>1160</x>
      <y>730</y>
      <w>230</w>
      <h>60</h>
    </coordinates>
    <panel_attributes>template=Derived
file_node
--
_+type_flag: const int = S_IFREG_</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>810</x>
      <y>430</y>
      <w>210</w>
      <h>80</h>
    </coordinates>
    <panel_attributes>lt=&lt;&lt;-
&lt;&lt;bind&gt;&gt;
&lt; Permissions: 0666 &gt;</panel_attributes>
    <additional_attributes>190.0;10.0;190.0;30.0;10.0;30.0;10.0;60.0</additional_attributes>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>950</x>
      <y>430</y>
      <w>230</w>
      <h>160</h>
    </coordinates>
    <panel_attributes>lt=&lt;&lt;-







&lt;&lt;bind&gt;&gt;
&lt; Permissions: 0444 &gt;</panel_attributes>
    <additional_attributes>70.0;10.0;70.0;140.0;10.0;140.0</additional_attributes>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>1060</x>
      <y>430</y>
      <w>170</w>
      <h>100</h>
    </coordinates>
    <panel_attributes>lt=&lt;&lt;-

&lt;&lt;bind&gt;&gt;
&lt; Permissions: 0444 &gt;</panel_attributes>
    <additional_attributes>10.0;10.0;10.0;80.0</additional_attributes>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>1140</x>
      <y>380</y>
      <w>220</w>
      <h>70</h>
    </coordinates>
    <panel_attributes>lt=&lt;&lt;-
&lt;&lt;bind&gt;&gt;
&lt; Permissions: 0755 &gt;</panel_attributes>
    <additional_attributes>10.0;20.0;200.0;20.0;200.0;50.0</additional_attributes>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>1110</x>
      <y>430</y>
      <w>190</w>
      <h>100</h>
    </coordinates>
    <panel_attributes>lt=&lt;&lt;-
&lt;&lt;bind&gt;&gt;
&lt; Permissions: 0777 &gt;</panel_attributes>
    <additional_attributes>10.0;10.0;10.0;40.0;170.0;40.0;170.0;80.0</additional_attributes>
  </element>
  <element>
    <id>UMLClass</id>
    <coordinates>
      <x>1140</x>
      <y>130</y>
      <w>90</w>
      <h>40</h>
    </coordinates>
    <panel_attributes>template=Derived
no_xattr
</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>1070</x>
      <y>110</y>
      <w>90</w>
      <h>60</h>
    </coordinates>
    <panel_attributes>lt=&lt;&lt;-</panel_attributes>
    <additional_attributes>10.0;10.0;70.0;40.0</additional_attributes>
  </element>
</diagram>
