[Toc][Index]

File I/O API

  
Standard file I/O is performed through the Standard File I/O API. The 
application makes a function call and the file system request router 
passes the request to the correct file system for processing. See Figure 
1-2. 

                     +-------------+
                     | application |
                     +------+------+
                            v
              +-------------------------+  Dynamic
              | Standard File I/O API   |  Link
              +-------------+-----------+  Library
                            v
  +----------------------------------------------+
  |          File System Request Router          |
  +-------------------------------------+        |
                                        |        |
  +--------+    +--------+    +--------+|        |
  | File   |    |  File  |    |  File  ||        |
  | System |    | System |    | System ||        |
  +--------+    +--------+    +--------+|        |
  +-------------------------------------+        |
  |                                              |
  +-------------------------------------+        |
                                        |        |
  +--------+    +--------+    +--------+|        |
  | Device |    | Device |    | Device ||        |
  | Driver |    | Driver |    | Driver ||        |
  +--------+    +--------+    +--------+|        |
  +-------------------------------------+        |
  |                                              |
  +----------------------------------------------+


Figure 1-2. Standard File I/O   
New API may be provided by a file system to implement functions specific 
to the file system or not supplied through the standard file I/O 
interface. New API are provided in a dynamic link library that uses the 
DosFSCtl standard function call to communicate with the specific file 
system (FSD). See Figure 1-3. 

              +-------------+
              | application |
              +------+------+
                     |
                     v
         +-------------------------+
         | Extended File I/O API   | Dynamic Link Library
         |  for File System X      |
         +-----------+-------------+
                     |
                     v
         +-------------------------+
         |       DosFsCtl          |  Standard File I/O API
         +-----------+-------------+
                     |
  +------------------|---------------------------+
  |                  |                           |
  +------------------|------------------+        |
                     v                  |        |
  +--------+    +--------+    +--------+|        |
  |  File  |    |  File  |    |  File  ||        |
  | System |    | System |    | System ||        |
  |        |    |    X   |    |        ||        |
  +--------+    +--------+    +--------+|        |
  +-------------------------------------+        |
  |                                              |
  +-------------------------------------+        |
                                        |        |
  +--------+    +--------+    +--------+|        |
  | Device |    | Device |    | Device ||        |
  | Driver |    | Driver |    | Driver ||        |
  +--------+    +--------+    +--------+|        |
  +-------------------------------------+        |
  |                                              |
  +----------------------------------------------+


Figure 1-3. Extended File I/O   

Created using Inf-PHP v.2 (c) 2003 Yuri Prokushev
Created using Inf-HTML v.0.9b (c) 1995 Peter Childs