windows-pioctl-refactoring-
20080612
LICENSE MIT
Refactor the pioctl handling to provide a layer of abstraction
between the smb server and the actual pioctl data processing.
This will permit a redirector pioctl layer to be implemented
on top of the core cm_ioctl interfaces.
The general approach is that there is a new cm_ioctl_t object
which is embedded withing a higher level abstraction object.
This object maintains all of the pioctl state processing and
removes any notion of file descriptors or other communication
channel parameters.
The cm_ioctl module maintains just about all of the core
functional processing except for SetToken which needs further
abstraction. Path processing is now performed at the higher
layer and cm_ioctl functions accept cm_user_t, cm_scache_t,
and cm_req_t objects from the higher layer.
The smb_ioctl module performs all of the path translation
using smb server knowledge and passes the necessary objects
to the cm_ioctl module for processing.