/*

Copyright (c) 1990-2000  Microsoft Corporation

Module Name:

    scioctl.h

Abstract:

    This module defines the I/O control codes used to redirect the Smart Card Subsystem
    for Terminal Services.

Revision History:

--*/

#define SCARD_IOCTL_SMARTCARD_ONLINE           CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 1,  METHOD_BUFFERED, FILE_ANY_ACCESS)

#define SCARD_IOCTL_ESTABLISHCONTEXT           CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 5,  METHOD_BUFFERED, FILE_ANY_ACCESS)
#define SCARD_IOCTL_RELEASECONTEXT             CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 6,  METHOD_BUFFERED, FILE_ANY_ACCESS)
#define SCARD_IOCTL_ISVALIDCONTEXT             CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 7,  METHOD_BUFFERED, FILE_ANY_ACCESS)
#define SCARD_IOCTL_LISTREADERGROUPSA          CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 8,  METHOD_BUFFERED, FILE_ANY_ACCESS)
#define SCARD_IOCTL_LISTREADERGROUPSW          CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 9,  METHOD_BUFFERED, FILE_ANY_ACCESS)
#define SCARD_IOCTL_LISTREADERSA               CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 10,  METHOD_BUFFERED, FILE_ANY_ACCESS)
#define SCARD_IOCTL_LISTREADERSW               CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 11,  METHOD_BUFFERED, FILE_ANY_ACCESS)
#define SCARD_IOCTL_INTRODUCEREADERGROUPA      CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 20,  METHOD_BUFFERED, FILE_ANY_ACCESS)
#define SCARD_IOCTL_INTRODUCEREADERGROUPW      CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 21,  METHOD_BUFFERED, FILE_ANY_ACCESS)
#define SCARD_IOCTL_FORGETREADERGROUPA         CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 22,  METHOD_BUFFERED, FILE_ANY_ACCESS)
#define SCARD_IOCTL_FORGETREADERGROUPW         CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 23,  METHOD_BUFFERED, FILE_ANY_ACCESS)
#define SCARD_IOCTL_INTRODUCEREADERA           CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 24,  METHOD_BUFFERED, FILE_ANY_ACCESS)
#define SCARD_IOCTL_INTRODUCEREADERW           CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 25,  METHOD_BUFFERED, FILE_ANY_ACCESS)
#define SCARD_IOCTL_FORGETREADERA              CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 26,  METHOD_BUFFERED, FILE_ANY_ACCESS)
#define SCARD_IOCTL_FORGETREADERW              CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 27,  METHOD_BUFFERED, FILE_ANY_ACCESS)
#define SCARD_IOCTL_ADDREADERTOGROUPA          CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 28,  METHOD_BUFFERED, FILE_ANY_ACCESS)
#define SCARD_IOCTL_ADDREADERTOGROUPW          CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 29,  METHOD_BUFFERED, FILE_ANY_ACCESS)
#define SCARD_IOCTL_REMOVEREADERFROMGROUPA     CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 30,  METHOD_BUFFERED, FILE_ANY_ACCESS)
#define SCARD_IOCTL_REMOVEREADERFROMGROUPW     CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 31,  METHOD_BUFFERED, FILE_ANY_ACCESS)
#define SCARD_IOCTL_LOCATECARDSA               CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 38,  METHOD_BUFFERED, FILE_ANY_ACCESS)
#define SCARD_IOCTL_LOCATECARDSW               CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 39,  METHOD_BUFFERED, FILE_ANY_ACCESS)
#define SCARD_IOCTL_GETSTATUSCHANGEA           CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 40,  METHOD_BUFFERED, FILE_ANY_ACCESS)
#define SCARD_IOCTL_GETSTATUSCHANGEW           CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 41,  METHOD_BUFFERED, FILE_ANY_ACCESS)
#define SCARD_IOCTL_CANCEL                     CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 42,  METHOD_BUFFERED, FILE_ANY_ACCESS)
#define SCARD_IOCTL_CONNECTA                   CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 43,  METHOD_BUFFERED, FILE_ANY_ACCESS)
#define SCARD_IOCTL_CONNECTW                   CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 44,  METHOD_BUFFERED, FILE_ANY_ACCESS)
#define SCARD_IOCTL_RECONNECT                  CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 45,  METHOD_BUFFERED, FILE_ANY_ACCESS)
#define SCARD_IOCTL_DISCONNECT                 CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 46,  METHOD_BUFFERED, FILE_ANY_ACCESS)
#define SCARD_IOCTL_BEGINTRANSACTION           CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 47,  METHOD_BUFFERED, FILE_ANY_ACCESS)
#define SCARD_IOCTL_ENDTRANSACTION             CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 48,  METHOD_BUFFERED, FILE_ANY_ACCESS)
#define SCARD_IOCTL_STATE                      CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 49,  METHOD_BUFFERED, FILE_ANY_ACCESS)
#define SCARD_IOCTL_STATUSA                    CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 50,  METHOD_BUFFERED, FILE_ANY_ACCESS)
#define SCARD_IOCTL_STATUSW                    CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 51,  METHOD_BUFFERED, FILE_ANY_ACCESS)
#define SCARD_IOCTL_TRANSMIT                   CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 52,  METHOD_BUFFERED, FILE_ANY_ACCESS)
#define SCARD_IOCTL_CONTROL                    CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 53,  METHOD_BUFFERED, FILE_ANY_ACCESS)
#define SCARD_IOCTL_GETATTRIB                  CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 54,  METHOD_BUFFERED, FILE_ANY_ACCESS)
#define SCARD_IOCTL_SETATTRIB                  CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 55,  METHOD_BUFFERED, FILE_ANY_ACCESS)
#define SCARD_IOCTL_ACCESSSTARTEDEVENT         CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 56,  METHOD_BUFFERED, FILE_ANY_ACCESS)
#define SCARD_IOCTL_RELEASETARTEDEVENT         CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 57,  METHOD_BUFFERED, FILE_ANY_ACCESS)
#define SCARD_IOCTL_LOCATECARDSBYATRA          CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 58,  METHOD_BUFFERED, FILE_ANY_ACCESS)
#define SCARD_IOCTL_LOCATECARDSBYATRW          CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 59,  METHOD_BUFFERED, FILE_ANY_ACCESS)