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