[Toc][Index]

FS Helper Functions

  
The following table summarizes the routines that make up the File System 
Helper interface between FSDs and the kernel.     

 FS Helper Routine    Description
 --------------------------------------------------------
 FSH_ADDSHARE         Add a name to the sharing set
 --------------------------------------------------------
 FSH_BUFSTATE         REMOVED in OS/2 Version 2.0
 --------------------------------------------------------
 FSH_CALLDRIVER       Call Device Driver's Extended
                      Strategy entry point
 --------------------------------------------------------
 FSH_CANONICALIZE     Convert pathname to canonical form
 --------------------------------------------------------
 FSH_CHECKEANAME      Check EA name validity
 --------------------------------------------------------
 FSH_CRITERROR        Signal a hard error to the daemon
 --------------------------------------------------------
 FSH_DEVIOCTL         Send IOCTL request to device driver
 --------------------------------------------------------
 FSH_DOVOLIO          Volume-based sector-oriented
                      transfer
 --------------------------------------------------------
 FSH_DOVOLIO2         Send volume-based IOCTL request to
                      device driver.
 --------------------------------------------------------
 FSH_FINDCHAR         Find first occurrence of char in
                      string
 --------------------------------------------------------
 FSH_FINDDUPHVPB      Locates equivalent hVPBs
 --------------------------------------------------------
 FSH_FLUSHBUF         REMOVED in OS/2 Version 2.0
 --------------------------------------------------------
 FSH_FORCENOSWAP      Force segments permanently into
                      memory
 --------------------------------------------------------
 FSH_GETBUF           REMOVED in OS/2 Version 2.0
 --------------------------------------------------------
 FSH_GETFIRSTOVERLAPB REMOVED in OS/2 Version 2.0
 --------------------------------------------------------
 FSH_GETPRIORITY      Get current thread's I/O priority
 --------------------------------------------------------
 FSH_GETVOLPARM       Get VPB data from VPB handle
 --------------------------------------------------------
 FSH_INTERR           Signal an internal error
 --------------------------------------------------------
 FSH_IOBOOST          Gives the current thread an I/O
                      priority boost
 --------------------------------------------------------
 FSH_IOSEMCLEAR       Clear an I/O-event semaphore
 --------------------------------------------------------
 FSH_ISCURDIRPREFIX   Test for a prefix of a current
                      directory
 --------------------------------------------------------
 FSH_LOADCHAR         Load character from a string
 --------------------------------------------------------
 FSH_NAMEFROMSFN      Get the full path name from an SFN
 --------------------------------------------------------
 FSH_PREVCHAR         Move backward in string
 --------------------------------------------------------
 FSH_PROBEBUF         User address validity check
 --------------------------------------------------------
 FSH_QSYSINFO         Query system information
 --------------------------------------------------------
 FSH_REGISTERPERFCTRS Register a FSD with PERFVIEW
 --------------------------------------------------------
 FSH_RELEASEBUF       REMOVED in OS/2 Version 2.0
 --------------------------------------------------------
 FSH_REMOVESHARE      Remove a name from the sharing set
 --------------------------------------------------------
 FSH_SEGALLOC         Allocate a GDT or LDT segment
 --------------------------------------------------------
 FSH_SEGFREE          Release a GDT or LDT segment
 --------------------------------------------------------
 FSH_SEGREALLOC       Change segment size
 --------------------------------------------------------
 FSH_SEMCLEAR         Clear a semaphore
 --------------------------------------------------------
 FSH_SEMREQUEST       Request a semaphore
 --------------------------------------------------------
 FSH_SEMSET           Set a semaphore
 --------------------------------------------------------
 FSH_SEMSETWAIT       Set a semaphore and wait for clear
 --------------------------------------------------------
 FSH_SEMWAIT          Wait for clear
 --------------------------------------------------------
 FSH_SETVOLUME        force a volume to be mounted on the
                      drive
 --------------------------------------------------------
 FSH_STORECHAR        Store character into string
 --------------------------------------------------------
 FSH_UPPERCASE        Uppercase ASCIIZ string
 --------------------------------------------------------
 FSH_WILDMATCH        Match using OS/2 wildcards
 --------------------------------------------------------
 FSH_YIELD            Yield CPU to higher priority
                      threads


  
FSDs are loaded as dynamic link libraries and may import services provided 
by the kernel. These services can be called directly by the file system, 
passing the relevant parameters. 
No validation of input parameters is done unless otherwise specified. The 
FSD calls FSH_PROBEBUF, where appropriate, before calling the FS help 
routine. 
When any service returns an error code, the FSD must return to the caller 
as soon as possible and return the specific error code from the helper to 
the FS router . 
There are many deadlocks that may occur as a result of operations issued 
by FSDs. OS/2 provides no means whereby deadlocks between file systems and 
applications can be detected. 

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