# HG changeset patch # User Paul Boddie # Date 1663628659 -7200 # Node ID 440178360e6c7f839efc40a478e09f6ec90098ae # Parent f0bb79dd52dd2ce960815ee1e03d0960862d9adc Updated the documentation to reflect naming changes, also adding library information. diff -r f0bb79dd52dd -r 440178360e6c README.txt --- a/README.txt Sat Sep 17 00:03:45 2022 +0200 +++ b/README.txt Tue Sep 20 01:04:19 2022 +0200 @@ -122,8 +122,11 @@ make -j8 O=mybuild Along with the usual L4Re software, this will also build the software provided -by this distribution if it has been copied into the pkg/departure location -within the l4 directory. +by this distribution if this distribution has been placed at the pkg/departure +location within the l4 directory. + +Note also that to build this distribution successfully, the idl4re +distribution must reside within the l4 directory, as noted above. Defining the L4Re Configuration =============================== @@ -151,18 +154,18 @@ ========================= The program module lists in the conf subdirectory can either be appended to -the L4Re conf/modules.list file, or a specific .list file can be copied to the +the L4Re conf/modules.list file, or specific .list files can be copied to the conf/modules.list location (potentially after taking a backup copy of the original file). For example, from within the l4 directory: cp conf/modules.list conf/modules.list.orig -cp pkg/departure/conf/dstest_test.list conf/modules.list +cat pkg/departure/conf/*.list > conf/modules.list Running Programs from this Distribution ======================================= With configuration measures in place, a program can be run in QEMU as follows: -make O=mybuild qemu E=dstest_test +make O=mybuild qemu E=dstest_test_client The particular program used above is a short concurrency test. diff -r f0bb79dd52dd -r 440178360e6c docs/wiki/Client_Library --- a/docs/wiki/Client_Library Sat Sep 17 00:03:45 2022 +0200 +++ b/docs/wiki/Client_Library Tue Sep 20 01:04:19 2022 +0200 @@ -7,6 +7,9 @@ library, with the functions in the C library invoking client library functions and employing client library structures internally. +The client library is provided by `libfsclient` within the `departure` +package. + <> == Header Files == diff -r f0bb79dd52dd -r 440178360e6c docs/wiki/Components --- a/docs/wiki/Components Sat Sep 17 00:03:45 2022 +0200 +++ b/docs/wiki/Components Tue Sep 20 01:04:19 2022 +0200 @@ -6,6 +6,9 @@ mechanisms for opening, reading, writing, and closing files, together with various other operations. +Components are provided by functionality in `libfsserver` used by programs +found in the `servers` directory within the `departure` package. + <> Components are accessed via interfaces defined using the interface description @@ -164,9 +167,10 @@ The operation yields a file opener appropriate for the given [[Users|user]] credentials. +((Openers)) == File and Directory Openers == -openers implement the `Opener` interface which provides the `context` +Openers implement the `Opener` interface which provides the `context` operation: {{{ diff -r f0bb79dd52dd -r 440178360e6c docs/wiki/Departure --- a/docs/wiki/Departure Sat Sep 17 00:03:45 2022 +0200 +++ b/docs/wiki/Departure Tue Sep 20 01:04:19 2022 +0200 @@ -74,3 +74,7 @@ Other concepts: * [[Users]] + +Project organisation: + + * [[Libraries]] diff -r f0bb79dd52dd -r 440178360e6c docs/wiki/Libraries --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/docs/wiki/Libraries Tue Sep 20 01:04:19 2022 +0200 @@ -0,0 +1,54 @@ += Libraries = + +Within the `departure` package, a number of libraries have been established to +retain certain kinds of functionality. This document provides an overview of +each of them. + +<> + +== libe2access == + +Convenience functions for `libext2fs` operations. + +== libe2access_blockserver == + +A convenience wrapper around `libext2fs`, providing initialisation functions +for the opening of filesystems and for indicating the capability through which +a block server, this providing a filesystem, may be accessed. + +== libexec == + +Support for initialising and executing programs in new tasks. + +== libext2fs == + +The ext2 filesystem library provided by the +[[http://e2fsprogs.sourceforge.net/|e2fsprogs]] project. + +== libext2fs_blockserver == + +Interfacing functions for `libext2fs`, permitting the library to access block +servers, these being servers supporting the [[Components#Openers|opener]] +interface, doing so using the [[Client Library|client library]]. + +== libfsclient == + +The [[Client Library|client library]] for accessing filesystem servers. + +== libfsserver == + +The [[Server Library|server library]] providing supporting abstractions and +functionality for filesystem-related [[Components|components]]. + +== libipc == + +A library providing IPC (interprocess communication) mechanisms to support +communication and interactions between components. + +== libmem == + +A library providing memory-related abstractions and utilities. + +== libsystypes == + +A repository of fundamental types used by the other libraries. diff -r f0bb79dd52dd -r 440178360e6c docs/wiki/Server_Library --- a/docs/wiki/Server_Library Sat Sep 17 00:03:45 2022 +0200 +++ b/docs/wiki/Server_Library Tue Sep 20 01:04:19 2022 +0200 @@ -3,6 +3,9 @@ Within the filesystem server library, a number of different abstractions and mechanisms are employed to provide access to filesystem objects. +The server library is provided by `libfsserver` within the `departure` +package. + <> This document uses C-style interface syntax since the components operating