The following figure illustrates the standard environment for a smart card driver. The driver resides in kernel space and is only called by the smart card resource manager that resides in user space. The interface used by the resource manager and the driver is based on IOCTL calls.