26 lines
1.4 KiB
Markdown
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.
|