IFS - FS Service Routines

The following table summarizes the entry points that make up the interface between the kernel and the FSD.

Each FS entry point has a distinct parameter list composed of those parameters needed by that particular entry. Parameters include: Most of the FS entry points have a level parameter for specifying the level of information they are provided or have to supply. FSDs must provide for additional levels which may be added in future versions of OS/2 by returning ERROR_NOT_SUPPORTED for any level they do not recognize.
 * Note: Names must be in all upper case, as required by OS/2 naming conventions.
 * File pathname
 * Current disk/directory information
 * Open file information
 * Application data buffers
 * Descriptions of file extended attributes
 * Other parameters specific to an individual call

File system drivers which support hierarchical directory structures must use '\' and '/' as path name component separators. File system drivers which do not support hierarchical directory structures must reject as illegal any use of '\' or '/' in path names. The file names '.' and '..' are reserved for use in hierarchical directory structures for the current directory and the parent of the current directory, respectively.

Unless otherwise specified in the descriptions below, data buffers may be accessed without concern for the accessibility of the data. OS/2 will either check buffers for accessibility and lock them, or transfer them into locally accessible data areas.

Simple parameters will be verified by the IFS router before the FS service routine is called.


 * Note: New with 2.0, some entry points need only be exported and supported by those FSDs which desire to service the pager (PAGE I/0), UNC servers (UNC) and/or file locking (FILE I/O). With these new entry point groups, a FSD must export all or none of the entry points within a particular group.

These optional entry points are: FS_ALLOCATEPAGESPACE   (PAGE I/O) FS_CANCELLOCKREQUEST   (FILE I/O) FS_DOPAGEIO            (PAGE I/O) FS_FILELOCKS           (FILE I/O) FS_OPENPAGEFILE        (PAGE I/O) FS_VERIFYUNCNAME       (UNC)