ICFS/CONTENTS.md

26 lines
1.4 KiB
Markdown

The source code is available in `src` directory:
* `main.c` - main function.
* `cc.h` - Convenient Containers library.
* `fuse_operations.c`, `fuse_operations.h` - Implementation of FUSE operations.
* `perm_permissions_table.c`, `perm_permissions_table.h` - implementation of permanent permissions table.
* `proc_operations.c`, `proc_operations.c` - different utility functions that interface with procfs.
* `temp_permissions_table.c` `temp_permissions_table.h` - implementation of temporary permission table.
* `sourcefs.c`, `sourcefs.h`, `real_filename.h` - operations used to access the underlying filesystem.
* `ui-socket.c` `ui-socket.h` - permission logic and interaction with access dialogues.
* `gui/` directory - source code of the access dialogue.
* Other files are dedicated to special data type definitions.
`LICENSE` is the text of GPLv2 source code license.
`Makefile` is code for the `make` build system.
Tests are located in the `test` directory:
* `test.bash` - script that tests ICFS correctness (see `README` for usage instructions)
* `stress.bash` - helper script that loads ICFS with `open` operations.
* `opener/` directory - source code for a scpecial program that tests whether file can be opened.
* `mock/` directory - bash script that mocks behaviour of access dialogue.
After building the program, make is going to create `build` directory where icfs and access dialogue executables will be located.