Show pageOld revisionsBacklinksBack to top This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. ====== Modifying Filing System (MFS) ====== ==== MFS Introduction ==== This chapter describes OpenInsight's MFS (Modifying Filing Structure) technology. The use of a MFS is a powerful and innovative means for developers to gain low-level control over file input and output operations. The MFS technology is an outgrowth of OpenInsight's approach to modularized filing systems. Unlike traditional database management systems, OpenInsight is not bound to specific filing structures. Instead, OpenInsight uses a standard protocol for file access, and a series of base filing systems (BFS) to translate this protocol into the data management requirements of a variety of different structures. The result is that OpenInsight provides to developers a completely open architecture. Programmers are able to control data access all the way from the application (window) level down to the filing system level. This chapter focuses on the ability of developers to add a modifying layer to a base filing structure. In effect, an MFS adds functionality without requiring the developer to change the underlying base filing system. There are two divisions to this chapter. * This first section, MFS Introduction, provides basic information about what an MFS is and how it functions. The introductory section also describes how to install an MFS. Finally, this section contains general information about programming an MFS, which includes both general programming techniques as well as notes about specific MFS functions. * A second section, [[[guides:programming:programmers_reference_manual:mfs_operations_reference|MFS Operations Reference]], is a reference guide to all MFS functions. Described in the second section are all the arguments that an MFS can examine and modify for each filing system function supported in OpenInsight. [[[guides:programming:programmers_reference_manual:mfs_definition|MFS Definition]] ==== MFS vs BFS ==== [[[guides:programming:programmers_reference_manual:mfs_vs_bfs|MFS vs BFS]] [[[guides:programming:programmers_reference_manual:system_bfses_in_openinsight|System BFSes in OpenInsight]] [[[guides:programming:programmers_reference_manual:modifying_filing_system_mfs|Modifying Filing System MFS]] ==== MFS Applications ==== [[[guides:programming:programmers_reference_manual:mfs_applications|MFS Applications]] [[[guides:programming:programmers_reference_manual:system_mfss_in_openinsight|System MFSs in OpenInsight]] ==== Programming an MFS ==== [[[guides:programming:programmers_reference_manual:programming_an_mfs|Programming an MFS]] [[[guides:programming:programmers_reference_manual:mfs_basics|MFS Basics]] [[[guides:programming:programmers_reference_manual:filing_system_access|Filing System Access]] [[[guides:programming:programmers_reference_manual:mfs__trapping__mechanism|MFS "Trapping" Mechanism]] [[[guides:programming:programmers_reference_manual:mfs_arguments|MFS Subroutine]] === MFS Dispatch Routine === [[[guides:programming:programmers_reference_manual:mfs_dispatch|MFS Dispatch Routine]] [[[guides:programming:programmers_reference_manual:using_on_gosub_in_an_mfs_dispatch|Using ON GOSUB In an MFS Dispatch Routine]] [[[guides:programming:programmers_reference_manual:using_case_statements_in_an_mfs_dispatch|Using CASE Statements in an MFS Dispatch Routine]] === File Operation Logic === [[[guides:programming:programmers_reference_manual:file_operation_logic|File Operation Logic]] [[[guides:programming:programmers_reference_manual:call_to_next_mfs|Call to Next MFS]] [[[guides:programming:programmers_reference_manual:bfs_argument|BFS Argument]] [[[guides:programming:programmers_reference_manual:return_from_the_bfs|Return from the BFS]] [[[guides:programming:programmers_reference_manual:bfs_mfs_independence|BFS/MFS Independence]] ==== Installing an MFS ==== [[[guides:programming:programmers_reference_manual:installing_an_mfs|Installing an MFS]] [[[guides:programming:programmers_reference_manual:manual_mfs_installation|Manual MFS Installation]] === Writing a BASIC+ MFS Installer === [[[guides:programming:programmers_reference_manual:writing_a_basic_plus_mfs_installer|Writing a BASIC Plus MFS Installer]] [[[guides:programming:programmers_reference_manual:installing_an_mfs_using_a_basic_plus_program|Installing an MFS Using a BASIC Plus Program]] [[[guides:programming:programmers_reference_manual:dynamically_installing_or_deinstalling_an_mfs|Dynamically Installing or DeInstalling an MFS]] [[[guides:programming:programmers_reference_manual:using_mfs_installer|Using MFS Installer]] ==== A Simple MFS ==== [[[guides:programming:programmers_reference_manual:a_simple_mfs|A Simple MFS]] ==== MFS Programming Notes ==== [[[guides:programming:programmers_reference_manual:mfs_programming_notes|MFS Programming Notes]] === Accessing the MFS === [[[guides:programming:programmers_reference_manual:accessing_the_mfs|Accessing the MFS]] [[[guides:programming:programmers_reference_manual:direct_calls_to_the_mfs|Direct Calls to the MFS]] === Accessing a File From Within an MFS === [[[guides:programming:programmers_reference_manual:accessing_a_file_from_within_an_mfs|Accessing a File From Within An MFS]] [[[guides:programming:programmers_reference_manual:accessing_the_current_file|Accessing the Current File]] [[[guides:programming:programmers_reference_manual:accessing_different_files|Accessing Different Files]] [[[guides:programming:programmers_reference_manual:disabling_a_function_from_within_an_mfs|Disabling a Function From Within an MFS]] === Passing Data to an MFS === [[[guides:programming:programmers_reference_manual:passing_data_to_an_mfs|Passing Data to an MFS]] [[[guides:programming:programmers_reference_manual:global_and_labeled_common_variables|Global and Labeled Common Variables]] [[[guides:programming:programmers_reference_manual:modifying_mfs_arguments|Modifying MFS Arguments]] === INSTALL and FLUSH Calls === [[[guides:programming:programmers_reference_manual:install_call|INSTALL Call]] [[[guides:programming:programmers_reference_manual:flush_call|FLUSH Call]] === SELECT and READNEXT Calls === [[[guides:programming:programmers_reference_manual:select_and_readnext_calls|SELECT and READNEXT Calls]] == SELECT and READNEXT Processing == [[[guides:programming:programmers_reference_manual:select_and_readnext_processors|SELECT and READNEXT Processors]] [[[guides:programming:programmers_reference_manual:simple_latent_select|Simple Latent Select]] [[[guides:programming:programmers_reference_manual:readnext_mfs_processing|ReadNext MFS Processing]] [[[guides:programming:programmers_reference_manual:readnext_direction|READNEXT Direction]] [[[guides:programming:programmers_reference_manual:mfs_and_readnext|MFS and READNEXT]] [[[guides:programming:programmers_reference_manual:extended_resolved_select|Extended (Resolved) Select]] [[[guides:programming:programmers_reference_manual:indexed_based_select|Indexed-Based SELECT]] [[[guides:programming:programmers_reference_manual:clearselect_mfs_processing|CLEARSELECT MFS Processing]] === OPEN FILE Calls and File Handles === [[[guides:programming:programmers_reference_manual:open_file_calls_and_file_handles|OPEN FILE Calls and File Handles]] [[[guides:programming:programmers_reference_manual:open.file_call|OPEN.FILE Call]] [[[guides:programming:programmers_reference_manual:basic_open_file_handle|BASIC+ Open File Handle]] [[[guides:programming:programmers_reference_manual:updating_the_file_handle|Updating the File Handle]] [[[guides:programming:programmers_reference_manual:open_failure|OPEN Failure]] === Accessing the OpenInsight File Name === [[[guides:programming:programmers_reference_manual:accessing_the_openinsight_file_name|Accessing the OpenInsight File Name]] [[[guides:programming:programmers_reference_manual:modifying_the_file_handle|Modifying the File Handle]] [[[guides:programming:programmers_reference_manual:maintaining_a_filename_table|Maintaining a Filename Table]] === Locks and Unlocks === [[[guides:programming:programmers_reference_manual:locks_and_unlocks|Locks and Unlocks]] [[[guides:programming:programmers_reference_manual:lock_semaphores|Lock Semaphores]] [[[guides:programming:programmers_reference_manual:local_lock_table|Local Lock Table]] [[[guides:programming:programmers_reference_manual:locking_within_an_mfs|Locking Within An MFS]] [[[guides:programming:programmers_reference_manual:unlock_all_within_an_mfs|UNLOCK ALL Within An MFS]] [[[guides:programming:programmers_reference_manual:additional_lock_calls|Additional Lock Calls]] === Media Calls === [[[guides:programming:programmers_reference_manual:media_calls|Media Calls]] [[[guides:programming:programmers_reference_manual:media_map|Media Map]] [[[guides:programming:programmers_reference_manual:media_map_access|Media Map Access]] [[[guides:programming:programmers_reference_manual:the_revmedia_record|The %%REVMEDIA%% Record]] [[[guides:programming:programmers_reference_manual:media_updates_and_the_media_handle|Media Updates and the Media Handle]] [[[guides:programming:programmers_reference_manual:mfs_access_to_media_calls|MFS Access to Media Calls]] [[[guides:programming:programmers_reference_manual:open_media_and_create_media|OPEN MEDIA and CREATE MEDIA]] [[[guides:programming:programmers_reference_manual:create_file|CREATE FILE]] [[[guides:programming:programmers_reference_manual:non_volume_media_calls|Non-Volume Media Calls]] [[[guides:programming:programmers_reference_manual:record_count|Record Count]] ==== SYSVOLUMES and SYSTABLES Files ==== [[[guides:programming:programmers_reference_manual:sysvolumes_and_systables|SYSVOLUMES and SYSTABLES]] [[[guides:programming:programmers_reference_manual:the_sysvolumes_file|The SYSVOLUMES File]] [[[guides:programming:programmers_reference_manual:the_systables_file|The SYSTABLES File]] guides/programming/programmers_reference_manual/chapter_mfs.txt Last modified: 2024/10/14 18:18by 127.0.0.1