2021-07-24 | Paul Boddie | raw annotate files changeset graph | Introduced filesystem objects, separated file paging functionality from openers, and made the ext2 file opener configurable for specific users, each opener being created via the ext2 filesystem object. Changed the file opening mechanism so that openers are called from the file paging functionality where new file accessors and mappers need to be created. A file opening interface has been defined to establish the functionality provided by each opener to implement its part of the mechanism. Introduced filesystem-related functions to the client and file libraries, also changing functions with overridable capability details to accept the actual capability index instead of the name of the capability in the environment. Changed the libext2fs interfacing to work with the updated client library. |
1 PKGDIR ?= ../.. 2 L4DIR ?= $(PKGDIR)/../../.. 3 4 TARGET = libfsclient.so libfsclient.a 5 PC_FILENAME = libfsclient 6 7 # Locations for interface input and generated output. 8 9 IDL_DIR = $(L4DIR)/pkg/libsystypes/idl 10 IDL_MK_DIR = $(L4DIR)/idl4re/mk 11 IDL_BUILD_DIR = . 12 IDL_EXPORT_DIR = . 13 14 include $(IDL_MK_DIR)/idl.mk 15 16 # Individual interfaces. 17 18 CLIENT_INTERFACES_CC = dataspace file filesystem flush mapped_file notification opener opener_context pipe pipe_opener 19 20 # Generated and plain source files. 21 22 CLIENT_INTERFACES_SRC_CC = $(call interfaces_to_client_cc,$(CLIENT_INTERFACES_CC)) 23 24 PLAIN_SRC_CC = client.cc file.cc notifier.cc 25 26 # Normal definitions. 27 28 SRC_CC = \ 29 $(CLIENT_INTERFACES_SRC_CC) \ 30 $(PLAIN_SRC_CC) 31 32 REQUIRES_LIBS = l4re_c-util libipc libstdc++ libsystypes 33 34 PRIVATE_INCDIR = $(PKGDIR)/include/fsclient $(IDL_BUILD_DIR) $(IDL_EXPORT_DIR) 35 CONTRIB_INCDIR = libfsclient 36 37 include $(L4DIR)/mk/lib.mk 38 include $(IDL_MK_DIR)/interface_rules.mk 39 40 $(PLAIN_SRC_CC): $(CLIENT_INTERFACES_SRC_CC)