windows-pioctl-refactoring-20080612
authorJeffrey Altman <jaltman@secure-endpoints.com>
Thu, 12 Jun 2008 15:54:23 +0000 (15:54 +0000)
committerJeffrey Altman <jaltman@secure-endpoints.com>
Thu, 12 Jun 2008 15:54:23 +0000 (15:54 +0000)
commitd8c3a598184df6066c330769e49fb1e301464e52
treeaf183032ce68e71651513606407475ebaba5ba87
parent52490d7968c2008912ab0887bdcde7fbba43b837
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.
src/WINNT/afsd/cm_ioctl.c
src/WINNT/afsd/cm_ioctl.h
src/WINNT/afsd/cm_user.c
src/WINNT/afsd/cm_vnodeops.c
src/WINNT/afsd/smb.c
src/WINNT/afsd/smb.h
src/WINNT/afsd/smb_iocons.h
src/WINNT/afsd/smb_ioctl.c
src/WINNT/afsd/smb_ioctl.h