Check-in [62f39ca124]
Overview
Comment:Merged from trunk
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | dodcerts-on-seperate-slot
Files: files | file ages | folders
SHA1:62f39ca12494f7c381e7f33ba4282d28ccec34c2
User & Date: rkeene on 2012-07-25 02:30:23
Other Links: manifest | tags
Context
2012-07-25
02:31
Merged in "dodcerts-on-seperate-slot" branch check-in: cca6a7fec4 user: rkeene tags: trunk
02:30
Merged from trunk Closed-Leaf check-in: 62f39ca124 user: rkeene tags: dodcerts-on-seperate-slot
02:28
Updated Mac OS X build script in dodcerts-on-seperate-slot to support Moutain Lion. check-in: f5c6990bf3 user: kvanals tags: dodcerts-on-seperate-slot
2012-07-24
22:24
Updated Mac OS X build script to support building a Snow Leopard to Mountain Lion-compatible package. check-in: 07c7888bc0 user: kvanals tags: trunk
Changes

Modified build/cackey_osx_build/build_osx.sh from [2a19e4db46] to [04fe9e319d].

   111    111   	OSX=Lion
   112    112   	PKTARGETOS=3
   113    113   	NEXTOSXVER=10.8
   114    114   	CUROSXVER=10.7
   115    115   	for HOST in i386-apple-darwin11 x86_64-apple-darwin11; do
   116    116   		genbuild
   117    117   	done
          118  +	libbuild
          119  +	pkgbuild
          120  +}
          121  +
          122  +# Build function for Snow Leopard/Lion/Mountain Lion
          123  +sltoml() {
          124  +	makedir
          125  +	HEADERS=/Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/PCSC.framework/Versions/A/Headers/
          126  +	LIBRARY=/Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/PCSC.framework/PCSC
          127  +	LIB=""
          128  +	ARCHLIST=""
          129  +	DLIB=""
          130  +	DARCHLIST=""
          131  +	OSX=Sltoml
          132  +	PKTARGETOS=3
          133  +	NEXTOSXVER=10.9
          134  +	CUROSXVER=10.6
          135  +	for HOST in i386-apple-darwin10 x86_64-apple-darwin10; do
          136  +		genbuild
          137  +	done
   118    138   	libbuild
   119    139   	pkgbuild
   120    140   }
   121    141   
   122    142   # Build function for Snow Leopard/Lion/Mountain Lion
   123    143   sltoml() {
   124    144   	makedir

Modified build/cackey_win32_build/build.sh from [ad50b00270] to [716f40add4].

     1      1   #! /bin/bash
     2      2   
     3      3   make distclean
     4      4   
     5         -cp "./build/cackey_win32_build/lib/winscard.dll" "./build/cackey_win32_build/lib/WinSCard.dll"
     6         -
     7      5   ./configure --with-pcsc-headers="$(pwd)/build/cackey_win32_build/include" --with-pcsc-libs="-L$(pwd)/build/cackey_win32_build/lib -lwinscard" --host=i586-mingw32msvc  CPPFLAGS="-I$(pwd)/build/cackey_win32_build/include" || exit 1
     8      6   
     9      7   make || exit 1
    10      8   
    11         -rm -f "./build/cackey_win32_build/lib/WinSCard.dll"
    12         -
    13      9   exit 0

Deleted build/cackey_win32_build/include/SCardErr.h version [969de80f85].

     1         -/*
     2         - scarderr.mc
     3         -
     4         -   Error message codes from the Smart Card Resource Manager
     5         -   These messages must be reconciled with winerror.w
     6         -   They exist here to provide error messages on pre-Win2K systems.
     7         -
     8         -*/
     9         -#ifndef SCARD_S_SUCCESS
    10         -//
    11         -// =============================
    12         -// Facility SCARD Error Messages
    13         -// =============================
    14         -//
    15         -#define SCARD_S_SUCCESS NO_ERROR
    16         -//
    17         -//  Values are 32 bit values laid out as follows:
    18         -//
    19         -//   3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1
    20         -//   1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
    21         -//  +---+-+-+-----------------------+-------------------------------+
    22         -//  |Sev|C|R|     Facility          |               Code            |
    23         -//  +---+-+-+-----------------------+-------------------------------+
    24         -//
    25         -//  where
    26         -//
    27         -//      Sev - is the severity code
    28         -//
    29         -//          00 - Success
    30         -//          01 - Informational
    31         -//          10 - Warning
    32         -//          11 - Error
    33         -//
    34         -//      C - is the Customer code flag
    35         -//
    36         -//      R - is a reserved bit
    37         -//
    38         -//      Facility - is the facility code
    39         -//
    40         -//      Code - is the facility's status code
    41         -//
    42         -//
    43         -// Define the facility codes
    44         -//
    45         -#define FACILITY_SYSTEM                  0x0
    46         -#define FACILITY_SCARD                   0x10
    47         -
    48         -
    49         -//
    50         -// Define the severity codes
    51         -//
    52         -#define STATUS_SEVERITY_WARNING          0x2
    53         -#define STATUS_SEVERITY_INFORMATIONAL    0x1
    54         -#define STATUS_SEVERITY_ERROR            0x3
    55         -
    56         -
    57         -//
    58         -// MessageId: SCARD_F_INTERNAL_ERROR
    59         -//
    60         -// MessageText:
    61         -//
    62         -// An internal consistency check failed.
    63         -//
    64         -#define SCARD_F_INTERNAL_ERROR           ((DWORD)0x80100001L)
    65         -
    66         -//
    67         -// MessageId: SCARD_E_CANCELLED
    68         -//
    69         -// MessageText:
    70         -//
    71         -// The action was cancelled by an SCardCancel request.
    72         -//
    73         -#define SCARD_E_CANCELLED                ((DWORD)0x80100002L)
    74         -
    75         -//
    76         -// MessageId: SCARD_E_INVALID_HANDLE
    77         -//
    78         -// MessageText:
    79         -//
    80         -// The supplied handle was invalid.
    81         -//
    82         -#define SCARD_E_INVALID_HANDLE           ((DWORD)0x80100003L)
    83         -
    84         -//
    85         -// MessageId: SCARD_E_INVALID_PARAMETER
    86         -//
    87         -// MessageText:
    88         -//
    89         -// One or more of the supplied parameters could not be properly interpreted.
    90         -//
    91         -#define SCARD_E_INVALID_PARAMETER        ((DWORD)0x80100004L)
    92         -
    93         -//
    94         -// MessageId: SCARD_E_INVALID_TARGET
    95         -//
    96         -// MessageText:
    97         -//
    98         -// Registry startup information is missing or invalid.
    99         -//
   100         -#define SCARD_E_INVALID_TARGET           ((DWORD)0x80100005L)
   101         -
   102         -//
   103         -// MessageId: SCARD_E_NO_MEMORY
   104         -//
   105         -// MessageText:
   106         -//
   107         -// Not enough memory available to complete this command.
   108         -//
   109         -#define SCARD_E_NO_MEMORY                ((DWORD)0x80100006L)
   110         -
   111         -//
   112         -// MessageId: SCARD_F_WAITED_TOO_LONG
   113         -//
   114         -// MessageText:
   115         -//
   116         -// An internal consistency timer has expired.
   117         -//
   118         -#define SCARD_F_WAITED_TOO_LONG          ((DWORD)0x80100007L)
   119         -
   120         -//
   121         -// MessageId: SCARD_E_INSUFFICIENT_BUFFER
   122         -//
   123         -// MessageText:
   124         -//
   125         -// The data buffer to receive returned data is too small for the returned data.
   126         -//
   127         -#define SCARD_E_INSUFFICIENT_BUFFER      ((DWORD)0x80100008L)
   128         -
   129         -//
   130         -// MessageId: SCARD_E_UNKNOWN_READER
   131         -//
   132         -// MessageText:
   133         -//
   134         -// The specified reader name is not recognized.
   135         -//
   136         -#define SCARD_E_UNKNOWN_READER           ((DWORD)0x80100009L)
   137         -
   138         -//
   139         -// MessageId: SCARD_E_TIMEOUT
   140         -//
   141         -// MessageText:
   142         -//
   143         -// The user-specified timeout value has expired.
   144         -//
   145         -#define SCARD_E_TIMEOUT                  ((DWORD)0x8010000AL)
   146         -
   147         -//
   148         -// MessageId: SCARD_E_SHARING_VIOLATION
   149         -//
   150         -// MessageText:
   151         -//
   152         -// The smart card cannot be accessed because of other connections outstanding.
   153         -//
   154         -#define SCARD_E_SHARING_VIOLATION        ((DWORD)0x8010000BL)
   155         -
   156         -//
   157         -// MessageId: SCARD_E_NO_SMARTCARD
   158         -//
   159         -// MessageText:
   160         -//
   161         -// The operation requires a Smart Card, but no Smart Card is currently in the device.
   162         -//
   163         -#define SCARD_E_NO_SMARTCARD             ((DWORD)0x8010000CL)
   164         -
   165         -//
   166         -// MessageId: SCARD_E_UNKNOWN_CARD
   167         -//
   168         -// MessageText:
   169         -//
   170         -// The specified smart card name is not recognized.
   171         -//
   172         -#define SCARD_E_UNKNOWN_CARD             ((DWORD)0x8010000DL)
   173         -
   174         -//
   175         -// MessageId: SCARD_E_CANT_DISPOSE
   176         -//
   177         -// MessageText:
   178         -//
   179         -// The system could not dispose of the media in the requested manner.
   180         -//
   181         -#define SCARD_E_CANT_DISPOSE             ((DWORD)0x8010000EL)
   182         -
   183         -//
   184         -// MessageId: SCARD_E_PROTO_MISMATCH
   185         -//
   186         -// MessageText:
   187         -//
   188         -// The requested protocols are incompatible with the protocol currently in use with the smart card.
   189         -//
   190         -#define SCARD_E_PROTO_MISMATCH           ((DWORD)0x8010000FL)
   191         -
   192         -//
   193         -// MessageId: SCARD_E_NOT_READY
   194         -//
   195         -// MessageText:
   196         -//
   197         -// The reader or smart card is not ready to accept commands.
   198         -//
   199         -#define SCARD_E_NOT_READY                ((DWORD)0x80100010L)
   200         -
   201         -//
   202         -// MessageId: SCARD_E_INVALID_VALUE
   203         -//
   204         -// MessageText:
   205         -//
   206         -// One or more of the supplied parameters values could not be properly interpreted.
   207         -//
   208         -#define SCARD_E_INVALID_VALUE            ((DWORD)0x80100011L)
   209         -
   210         -//
   211         -// MessageId: SCARD_E_SYSTEM_CANCELLED
   212         -//
   213         -// MessageText:
   214         -//
   215         -// The action was cancelled by the system, presumably to log off or shut down.
   216         -//
   217         -#define SCARD_E_SYSTEM_CANCELLED         ((DWORD)0x80100012L)
   218         -
   219         -//
   220         -// MessageId: SCARD_F_COMM_ERROR
   221         -//
   222         -// MessageText:
   223         -//
   224         -// An internal communications error has been detected.
   225         -//
   226         -#define SCARD_F_COMM_ERROR               ((DWORD)0x80100013L)
   227         -
   228         -//
   229         -// MessageId: SCARD_F_UNKNOWN_ERROR
   230         -//
   231         -// MessageText:
   232         -//
   233         -// An internal error has been detected, but the source is unknown.
   234         -//
   235         -#define SCARD_F_UNKNOWN_ERROR            ((DWORD)0x80100014L)
   236         -
   237         -//
   238         -// MessageId: SCARD_E_INVALID_ATR
   239         -//
   240         -// MessageText:
   241         -//
   242         -// An ATR obtained from the registry is not a valid ATR string.
   243         -//
   244         -#define SCARD_E_INVALID_ATR              ((DWORD)0x80100015L)
   245         -
   246         -//
   247         -// MessageId: SCARD_E_NOT_TRANSACTED
   248         -//
   249         -// MessageText:
   250         -//
   251         -// An attempt was made to end a non-existent transaction.
   252         -//
   253         -#define SCARD_E_NOT_TRANSACTED           ((DWORD)0x80100016L)
   254         -
   255         -//
   256         -// MessageId: SCARD_E_READER_UNAVAILABLE
   257         -//
   258         -// MessageText:
   259         -//
   260         -// The specified reader is not currently available for use.
   261         -//
   262         -#define SCARD_E_READER_UNAVAILABLE       ((DWORD)0x80100017L)
   263         -
   264         -//
   265         -// MessageId: SCARD_P_SHUTDOWN
   266         -//
   267         -// MessageText:
   268         -//
   269         -// The operation has been aborted to allow the server application to exit.
   270         -//
   271         -#define SCARD_P_SHUTDOWN                 ((DWORD)0x80100018L)
   272         -
   273         -//
   274         -// MessageId: SCARD_E_PCI_TOO_SMALL
   275         -//
   276         -// MessageText:
   277         -//
   278         -// The PCI Receive buffer was too small.
   279         -//
   280         -#define SCARD_E_PCI_TOO_SMALL            ((DWORD)0x80100019L)
   281         -
   282         -//
   283         -// MessageId: SCARD_E_READER_UNSUPPORTED
   284         -//
   285         -// MessageText:
   286         -//
   287         -// The reader driver does not meet minimal requirements for support.
   288         -//
   289         -#define SCARD_E_READER_UNSUPPORTED       ((DWORD)0x8010001AL)
   290         -
   291         -//
   292         -// MessageId: SCARD_E_DUPLICATE_READER
   293         -//
   294         -// MessageText:
   295         -//
   296         -// The reader driver did not produce a unique reader name.
   297         -//
   298         -#define SCARD_E_DUPLICATE_READER         ((DWORD)0x8010001BL)
   299         -
   300         -//
   301         -// MessageId: SCARD_E_CARD_UNSUPPORTED
   302         -//
   303         -// MessageText:
   304         -//
   305         -// The smart card does not meet minimal requirements for support.
   306         -//
   307         -#define SCARD_E_CARD_UNSUPPORTED         ((DWORD)0x8010001CL)
   308         -
   309         -//
   310         -// MessageId: SCARD_E_NO_SERVICE
   311         -//
   312         -// MessageText:
   313         -//
   314         -// The Smart card resource manager is not running.
   315         -//
   316         -#define SCARD_E_NO_SERVICE               ((DWORD)0x8010001DL)
   317         -
   318         -//
   319         -// MessageId: SCARD_E_SERVICE_STOPPED
   320         -//
   321         -// MessageText:
   322         -//
   323         -// The Smart card resource manager has shut down.
   324         -//
   325         -#define SCARD_E_SERVICE_STOPPED          ((DWORD)0x8010001EL)
   326         -
   327         -//
   328         -// MessageId: SCARD_E_UNEXPECTED
   329         -//
   330         -// MessageText:
   331         -//
   332         -// An unexpected card error has occurred.
   333         -//
   334         -#define SCARD_E_UNEXPECTED               ((DWORD)0x8010001FL)
   335         -
   336         -//
   337         -// MessageId: SCARD_E_ICC_INSTALLATION
   338         -//
   339         -// MessageText:
   340         -//
   341         -// No Primary Provider can be found for the smart card.
   342         -//
   343         -#define SCARD_E_ICC_INSTALLATION         ((DWORD)0x80100020L)
   344         -
   345         -//
   346         -// MessageId: SCARD_E_ICC_CREATEORDER
   347         -//
   348         -// MessageText:
   349         -//
   350         -// The requested order of object creation is not supported.
   351         -//
   352         -#define SCARD_E_ICC_CREATEORDER          ((DWORD)0x80100021L)
   353         -
   354         -//
   355         -// MessageId: SCARD_E_UNSUPPORTED_FEATURE
   356         -//
   357         -// MessageText:
   358         -//
   359         -// This smart card does not support the requested feature.
   360         -//
   361         -#define SCARD_E_UNSUPPORTED_FEATURE      ((DWORD)0x80100022L)
   362         -
   363         -//
   364         -// MessageId: SCARD_E_DIR_NOT_FOUND
   365         -//
   366         -// MessageText:
   367         -//
   368         -// The identified directory does not exist in the smart card.
   369         -//
   370         -#define SCARD_E_DIR_NOT_FOUND            ((DWORD)0x80100023L)
   371         -
   372         -//
   373         -// MessageId: SCARD_E_FILE_NOT_FOUND
   374         -//
   375         -// MessageText:
   376         -//
   377         -// The identified file does not exist in the smart card.
   378         -//
   379         -#define SCARD_E_FILE_NOT_FOUND           ((DWORD)0x80100024L)
   380         -
   381         -//
   382         -// MessageId: SCARD_E_NO_DIR
   383         -//
   384         -// MessageText:
   385         -//
   386         -// The supplied path does not represent a smart card directory.
   387         -//
   388         -#define SCARD_E_NO_DIR                   ((DWORD)0x80100025L)
   389         -
   390         -//
   391         -// MessageId: SCARD_E_NO_FILE
   392         -//
   393         -// MessageText:
   394         -//
   395         -// The supplied path does not represent a smart card file.
   396         -//
   397         -#define SCARD_E_NO_FILE                  ((DWORD)0x80100026L)
   398         -
   399         -//
   400         -// MessageId: SCARD_E_NO_ACCESS
   401         -//
   402         -// MessageText:
   403         -//
   404         -// Access is denied to this file.
   405         -//
   406         -#define SCARD_E_NO_ACCESS                ((DWORD)0x80100027L)
   407         -
   408         -//
   409         -// MessageId: SCARD_E_WRITE_TOO_MANY
   410         -//
   411         -// MessageText:
   412         -//
   413         -// The smartcard does not have enough memory to store the information.
   414         -//
   415         -#define SCARD_E_WRITE_TOO_MANY           ((DWORD)0x80100028L)
   416         -
   417         -//
   418         -// MessageId: SCARD_E_BAD_SEEK
   419         -//
   420         -// MessageText:
   421         -//
   422         -// There was an error trying to set the smart card file object pointer.
   423         -//
   424         -#define SCARD_E_BAD_SEEK                 ((DWORD)0x80100029L)
   425         -
   426         -//
   427         -// MessageId: SCARD_E_INVALID_CHV
   428         -//
   429         -// MessageText:
   430         -//
   431         -// The supplied PIN is incorrect.
   432         -//
   433         -#define SCARD_E_INVALID_CHV              ((DWORD)0x8010002AL)
   434         -
   435         -//
   436         -// MessageId: SCARD_E_UNKNOWN_RES_MNG
   437         -//
   438         -// MessageText:
   439         -//
   440         -// An unrecognized error code was returned from a layered component.
   441         -//
   442         -#define SCARD_E_UNKNOWN_RES_MNG          ((DWORD)0x8010002BL)
   443         -
   444         -//
   445         -// MessageId: SCARD_E_NO_SUCH_CERTIFICATE
   446         -//
   447         -// MessageText:
   448         -//
   449         -// The requested certificate does not exist.
   450         -//
   451         -#define SCARD_E_NO_SUCH_CERTIFICATE      ((DWORD)0x8010002CL)
   452         -
   453         -//
   454         -// MessageId: SCARD_E_CERTIFICATE_UNAVAILABLE
   455         -//
   456         -// MessageText:
   457         -//
   458         -// The requested certificate could not be obtained.
   459         -//
   460         -#define SCARD_E_CERTIFICATE_UNAVAILABLE  ((DWORD)0x8010002DL)
   461         -
   462         -//
   463         -// MessageId: SCARD_E_NO_READERS_AVAILABLE
   464         -//
   465         -// MessageText:
   466         -//
   467         -// Cannot find a smart card reader.
   468         -//
   469         -#define SCARD_E_NO_READERS_AVAILABLE     ((DWORD)0x8010002EL)
   470         -
   471         -//
   472         -// MessageId: SCARD_E_COMM_DATA_LOST
   473         -//
   474         -// MessageText:
   475         -//
   476         -// A communications error with the smart card has been detected.  Retry the operation.
   477         -//
   478         -#define SCARD_E_COMM_DATA_LOST           ((DWORD)0x8010002FL)
   479         -
   480         -//
   481         -// MessageId: SCARD_E_NO_KEY_CONTAINER
   482         -//
   483         -// MessageText:
   484         -//
   485         -// The requested key container does not exist on the smart card.
   486         -//
   487         -#define SCARD_E_NO_KEY_CONTAINER         ((DWORD)0x80100030L)
   488         -
   489         -//
   490         -// MessageId: SCARD_E_SERVER_TOO_BUSY
   491         -//
   492         -// MessageText:
   493         -//
   494         -// The Smart card resource manager is too busy to complete this operation.
   495         -//
   496         -#define SCARD_E_SERVER_TOO_BUSY          ((DWORD)0x80100031L)
   497         -
   498         -//
   499         -// MessageId: SCARD_E_PIN_CACHE_EXPIRED
   500         -//
   501         -// MessageText:
   502         -//
   503         -// The smart card PIN cache has expired.
   504         -//
   505         -#define SCARD_E_PIN_CACHE_EXPIRED        ((DWORD)0x80100032L)
   506         -
   507         -//
   508         -// MessageId: SCARD_E_NO_PIN_CACHE
   509         -//
   510         -// MessageText:
   511         -//
   512         -// The smart card PIN cannot be cached.
   513         -//
   514         -#define SCARD_E_NO_PIN_CACHE             ((DWORD)0x80100033L)
   515         -
   516         -//
   517         -// MessageId: SCARD_E_READ_ONLY_CARD
   518         -//
   519         -// MessageText:
   520         -//
   521         -// The smart card is read only and cannot be written to.
   522         -//
   523         -#define SCARD_E_READ_ONLY_CARD           ((DWORD)0x80100034L)
   524         -
   525         -//
   526         -// These are warning codes.
   527         -//
   528         -//
   529         -// MessageId: SCARD_W_UNSUPPORTED_CARD
   530         -//
   531         -// MessageText:
   532         -//
   533         -// The reader cannot communicate with the smart card, due to ATR configuration conflicts.
   534         -//
   535         -#define SCARD_W_UNSUPPORTED_CARD         ((DWORD)0x80100065L)
   536         -
   537         -//
   538         -// MessageId: SCARD_W_UNRESPONSIVE_CARD
   539         -//
   540         -// MessageText:
   541         -//
   542         -// The smart card is not responding to a reset.
   543         -//
   544         -#define SCARD_W_UNRESPONSIVE_CARD        ((DWORD)0x80100066L)
   545         -
   546         -//
   547         -// MessageId: SCARD_W_UNPOWERED_CARD
   548         -//
   549         -// MessageText:
   550         -//
   551         -// Power has been removed from the smart card, so that further communication is not possible.
   552         -//
   553         -#define SCARD_W_UNPOWERED_CARD           ((DWORD)0x80100067L)
   554         -
   555         -//
   556         -// MessageId: SCARD_W_RESET_CARD
   557         -//
   558         -// MessageText:
   559         -//
   560         -// The smart card has been reset, so any shared state information is invalid.
   561         -//
   562         -#define SCARD_W_RESET_CARD               ((DWORD)0x80100068L)
   563         -
   564         -//
   565         -// MessageId: SCARD_W_REMOVED_CARD
   566         -//
   567         -// MessageText:
   568         -//
   569         -// The smart card has been removed, so that further communication is not possible.
   570         -//
   571         -#define SCARD_W_REMOVED_CARD             ((DWORD)0x80100069L)
   572         -
   573         -//
   574         -// MessageId: SCARD_W_SECURITY_VIOLATION
   575         -//
   576         -// MessageText:
   577         -//
   578         -// Access was denied because of a security violation.
   579         -//
   580         -#define SCARD_W_SECURITY_VIOLATION       ((DWORD)0x8010006AL)
   581         -
   582         -//
   583         -// MessageId: SCARD_W_WRONG_CHV
   584         -//
   585         -// MessageText:
   586         -//
   587         -// The card cannot be accessed because the wrong PIN was presented.
   588         -//
   589         -#define SCARD_W_WRONG_CHV                ((DWORD)0x8010006BL)
   590         -
   591         -//
   592         -// MessageId: SCARD_W_CHV_BLOCKED
   593         -//
   594         -// MessageText:
   595         -//
   596         -// The card cannot be accessed because the maximum number of PIN entry attempts has been reached.
   597         -//
   598         -#define SCARD_W_CHV_BLOCKED              ((DWORD)0x8010006CL)
   599         -
   600         -//
   601         -// MessageId: SCARD_W_EOF
   602         -//
   603         -// MessageText:
   604         -//
   605         -// The end of the smart card file has been reached.
   606         -//
   607         -#define SCARD_W_EOF                      ((DWORD)0x8010006DL)
   608         -
   609         -//
   610         -// MessageId: SCARD_W_CANCELLED_BY_USER
   611         -//
   612         -// MessageText:
   613         -//
   614         -// The action was cancelled by the user.
   615         -//
   616         -#define SCARD_W_CANCELLED_BY_USER        ((DWORD)0x8010006EL)
   617         -
   618         -//
   619         -// MessageId: SCARD_W_CARD_NOT_AUTHENTICATED
   620         -//
   621         -// MessageText:
   622         -//
   623         -// No PIN was presented to the smart card.
   624         -//
   625         -#define SCARD_W_CARD_NOT_AUTHENTICATED   ((DWORD)0x8010006FL)
   626         -
   627         -//
   628         -// MessageId: SCARD_W_CACHE_ITEM_NOT_FOUND
   629         -//
   630         -// MessageText:
   631         -//
   632         -// The requested item could not be found in the cache.
   633         -//
   634         -#define SCARD_W_CACHE_ITEM_NOT_FOUND     ((DWORD)0x80100070L)
   635         -
   636         -//
   637         -// MessageId: SCARD_W_CACHE_ITEM_STALE
   638         -//
   639         -// MessageText:
   640         -//
   641         -// The requested cache item is too old and was deleted from the cache.
   642         -//
   643         -#define SCARD_W_CACHE_ITEM_STALE         ((DWORD)0x80100071L)
   644         -
   645         -//
   646         -// MessageId: SCARD_W_CACHE_ITEM_TOO_BIG
   647         -//
   648         -// MessageText:
   649         -//
   650         -// The new cache item exceeds the maximum per-item size defined for the cache.
   651         -//
   652         -#define SCARD_W_CACHE_ITEM_TOO_BIG       ((DWORD)0x80100072L)
   653         -
   654         -#endif // SCARD_S_SUCCESS
   655         -

Deleted build/cackey_win32_build/include/winscard.h version [09d1252d26].

     1         -/*++
     2         -
     3         -Copyright (c) 1996  Microsoft Corporation
     4         -
     5         -Module Name:
     6         -
     7         -    WinSCard
     8         -
     9         -Abstract:
    10         -
    11         -    This header file provides the definitions and symbols necessary for an
    12         -    Application or Smart Card Service Provider to access the Smartcard
    13         -    Subsystem.
    14         -
    15         -Environment:
    16         -
    17         -    Win32
    18         -
    19         -Notes:
    20         -
    21         ---*/
    22         -
    23         -#ifndef _WINSCARD_H_
    24         -#define _WINSCARD_H_
    25         -
    26         -#if defined (_MSC_VER) && (_MSC_VER >= 1020)
    27         -#pragma once
    28         -#endif
    29         -
    30         -
    31         -#include <windows.h>
    32         -#include <wtypes.h>
    33         -#include <winioctl.h>
    34         -#include "winsmcrd.h"
    35         -#ifndef SCARD_S_SUCCESS
    36         -#include "SCardErr.h"
    37         -#endif
    38         -
    39         -#ifdef __cplusplus
    40         -extern "C" {
    41         -#endif
    42         -
    43         -
    44         -#if 1 /* jkm */
    45         -#ifndef __LPCGUID_DEFINED__
    46         -#define __LPCGUID_DEFINED__
    47         -typedef const GUID *LPCGUID;
    48         -#endif
    49         -#endif
    50         -
    51         -#ifndef _LPCBYTE_DEFINED
    52         -#define _LPCBYTE_DEFINED
    53         -typedef const BYTE *LPCBYTE;
    54         -#endif
    55         -#ifndef _LPCVOID_DEFINED
    56         -#define _LPCVOID_DEFINED
    57         -typedef const VOID *LPCVOID;
    58         -#endif
    59         -
    60         -#ifndef WINSCARDAPI
    61         -#define WINSCARDAPI
    62         -#endif
    63         -#ifndef WINSCARDDATA
    64         -#define WINSCARDDATA __declspec(dllimport)
    65         -#endif
    66         -
    67         -/* In clr:pure we cannot mark data export with dllimport.
    68         - * We should add small functions which returns the value of
    69         - * the global.
    70         - */
    71         -#if !defined(_M_CEE_PURE)
    72         -static const SCARD_IO_REQUEST static_g_rgSCardT0Pci = { SCARD_PROTOCOL_T0, 8 };
    73         -static const SCARD_IO_REQUEST static_g_rgSCardT1Pci = { SCARD_PROTOCOL_T1, 8 };
    74         -
    75         -WINSCARDDATA extern const SCARD_IO_REQUEST
    76         -    g_rgSCardT0Pci,
    77         -    g_rgSCardT1Pci,
    78         -    g_rgSCardRawPci;
    79         -#define SCARD_PCI_T0  (&static_g_rgSCardT0Pci)
    80         -#define SCARD_PCI_T1  (&static_g_rgSCardT1Pci)
    81         -#define SCARD_PCI_RAW (&g_rgSCardRawPci)
    82         -#endif
    83         -
    84         -//
    85         -////////////////////////////////////////////////////////////////////////////////
    86         -//
    87         -//  Service Manager Access Services
    88         -//
    89         -//      The following services are used to manage user and terminal contexts for
    90         -//      Smart Cards.
    91         -//
    92         -
    93         -typedef ULONG_PTR SCARDCONTEXT;
    94         -typedef SCARDCONTEXT *PSCARDCONTEXT, *LPSCARDCONTEXT;
    95         -
    96         -typedef ULONG_PTR SCARDHANDLE;
    97         -typedef SCARDHANDLE *PSCARDHANDLE, *LPSCARDHANDLE;
    98         -
    99         -#define SCARD_AUTOALLOCATE (DWORD)(-1)
   100         -
   101         -#define SCARD_SCOPE_USER     0  // The context is a user context, and any
   102         -                                // database operations are performed within the
   103         -                                // domain of the user.
   104         -#define SCARD_SCOPE_TERMINAL 1  // The context is that of the current terminal,
   105         -                                // and any database operations are performed
   106         -                                // within the domain of that terminal.  (The
   107         -                                // calling application must have appropriate
   108         -                                // access permissions for any database actions.)
   109         -#define SCARD_SCOPE_SYSTEM    2 // The context is the system context, and any
   110         -                                // database operations are performed within the
   111         -                                // domain of the system.  (The calling
   112         -                                // application must have appropriate access
   113         -                                // permissions for any database actions.)
   114         -
   115         -extern WINSCARDAPI LONG WINAPI
   116         -SCardEstablishContext(
   117         -      DWORD dwScope,
   118         -      LPCVOID pvReserved1,
   119         -      LPCVOID pvReserved2,
   120         -     LPSCARDCONTEXT phContext);
   121         -
   122         -extern WINSCARDAPI LONG WINAPI
   123         -SCardReleaseContext(
   124         -          SCARDCONTEXT hContext);
   125         -
   126         -extern WINSCARDAPI LONG WINAPI
   127         -SCardIsValidContext(
   128         -          SCARDCONTEXT hContext);
   129         -
   130         -
   131         -//
   132         -////////////////////////////////////////////////////////////////////////////////
   133         -//
   134         -//  Smart Card Database Management Services
   135         -//
   136         -//      The following services provide for managing the Smart Card Database.
   137         -//
   138         -
   139         -#define SCARD_ALL_READERS       TEXT("SCard$AllReaders\000")
   140         -#define SCARD_DEFAULT_READERS   TEXT("SCard$DefaultReaders\000")
   141         -#define SCARD_LOCAL_READERS     TEXT("SCard$LocalReaders\000")
   142         -#define SCARD_SYSTEM_READERS    TEXT("SCard$SystemReaders\000")
   143         -
   144         -#define SCARD_PROVIDER_PRIMARY  1   // Primary Provider Id
   145         -#define SCARD_PROVIDER_CSP      2   // Crypto Service Provider Id
   146         -#define SCARD_PROVIDER_KSP      3   // Key Storage Provider Id
   147         -
   148         -
   149         -//
   150         -// Database Reader routines
   151         -//
   152         -
   153         -extern WINSCARDAPI LONG WINAPI
   154         -SCardListReaderGroupsA(
   155         -        SCARDCONTEXT hContext,
   156         -        LPSTR mszGroups,
   157         - LPDWORD pcchGroups);
   158         -extern WINSCARDAPI LONG WINAPI
   159         -SCardListReaderGroupsW(
   160         -        SCARDCONTEXT hContext,
   161         -        LPWSTR mszGroups,
   162         - LPDWORD pcchGroups);
   163         -#ifdef UNICODE
   164         -#define SCardListReaderGroups  SCardListReaderGroupsW
   165         -#else
   166         -#define SCardListReaderGroups  SCardListReaderGroupsA
   167         -#endif // !UNICODE
   168         -
   169         -extern WINSCARDAPI LONG WINAPI
   170         -SCardListReadersA(
   171         -         SCARDCONTEXT hContext,
   172         -     LPCSTR mszGroups,
   173         -      LPSTR mszReaders,
   174         -  LPDWORD pcchReaders);
   175         -extern WINSCARDAPI LONG WINAPI
   176         -SCardListReadersW(
   177         -         SCARDCONTEXT hContext,
   178         -     LPCWSTR mszGroups,
   179         -      LPWSTR mszReaders,
   180         -  LPDWORD pcchReaders);
   181         -#ifdef UNICODE
   182         -#define SCardListReaders  SCardListReadersW
   183         -#else
   184         -#define SCardListReaders  SCardListReadersA
   185         -#endif // !UNICODE
   186         -
   187         -extern WINSCARDAPI LONG WINAPI
   188         -SCardListCardsA(
   189         -          SCARDCONTEXT hContext,
   190         -      LPCBYTE pbAtr,
   191         -      LPCGUID rgquidInterfaces,
   192         -          DWORD cguidInterfaceCount,
   193         -      LPSTR mszCards,
   194         -   LPDWORD pcchCards);
   195         -extern WINSCARDAPI LONG WINAPI
   196         -SCardListCardsW(
   197         -          SCARDCONTEXT hContext,
   198         -      LPCBYTE pbAtr,
   199         -      LPCGUID rgquidInterfaces,
   200         -          DWORD cguidInterfaceCount,
   201         -      LPWSTR mszCards,
   202         -   LPDWORD pcchCards);
   203         -#ifdef UNICODE
   204         -#define SCardListCards  SCardListCardsW
   205         -#else
   206         -#define SCardListCards  SCardListCardsA
   207         -#endif // !UNICODE
   208         -//
   209         -// NOTE:    The routine SCardListCards name differs from the PC/SC definition.
   210         -//          It should be:
   211         -//
   212         -//              extern WINSCARDAPI LONG WINAPI
   213         -//              SCardListCardTypes(
   214         -//                        SCARDCONTEXT hContext,
   215         -//                    LPCBYTE pbAtr,
   216         -//                    LPCGUID rgquidInterfaces,
   217         -//                        DWORD cguidInterfaceCount,
   218         -//                   LPTSTR mszCards,
   219         -//                  out   LPDWORD pcchCards);
   220         -//
   221         -//          Here's a work-around MACRO:
   222         -#define SCardListCardTypes SCardListCards
   223         -
   224         -extern WINSCARDAPI LONG WINAPI
   225         -SCardListInterfacesA(
   226         -         SCARDCONTEXT hContext,
   227         -         LPCSTR szCard,
   228         -        LPGUID pguidInterfaces,
   229         -  LPDWORD pcguidInterfaces);
   230         -extern WINSCARDAPI LONG WINAPI
   231         -SCardListInterfacesW(
   232         -         SCARDCONTEXT hContext,
   233         -         LPCWSTR szCard,
   234         -        LPGUID pguidInterfaces,
   235         -  LPDWORD pcguidInterfaces);
   236         -#ifdef UNICODE
   237         -#define SCardListInterfaces  SCardListInterfacesW
   238         -#else
   239         -#define SCardListInterfaces  SCardListInterfacesA
   240         -#endif // !UNICODE
   241         -
   242         -extern WINSCARDAPI LONG WINAPI
   243         -SCardGetProviderIdA(
   244         -         SCARDCONTEXT hContext,
   245         -         LPCSTR szCard,
   246         -        LPGUID pguidProviderId);
   247         -extern WINSCARDAPI LONG WINAPI
   248         -SCardGetProviderIdW(
   249         -         SCARDCONTEXT hContext,
   250         -         LPCWSTR szCard,
   251         -        LPGUID pguidProviderId);
   252         -#ifdef UNICODE
   253         -#define SCardGetProviderId  SCardGetProviderIdW
   254         -#else
   255         -#define SCardGetProviderId  SCardGetProviderIdA
   256         -#endif // !UNICODE
   257         -//
   258         -// NOTE:    The routine SCardGetProviderId in this implementation uses GUIDs.
   259         -//          The PC/SC definition uses BYTEs.
   260         -//
   261         -
   262         -extern WINSCARDAPI LONG WINAPI
   263         -SCardGetCardTypeProviderNameA(
   264         -          SCARDCONTEXT hContext,
   265         -          LPCSTR szCardName,
   266         -          DWORD dwProviderId,
   267         -     LPSTR szProvider,
   268         -   LPDWORD pcchProvider);
   269         -extern WINSCARDAPI LONG WINAPI
   270         -SCardGetCardTypeProviderNameW(
   271         -          SCARDCONTEXT hContext,
   272         -          LPCWSTR szCardName,
   273         -          DWORD dwProviderId,
   274         -     LPWSTR szProvider,
   275         -   LPDWORD pcchProvider);
   276         -#ifdef UNICODE
   277         -#define SCardGetCardTypeProviderName  SCardGetCardTypeProviderNameW
   278         -#else
   279         -#define SCardGetCardTypeProviderName  SCardGetCardTypeProviderNameA
   280         -#endif // !UNICODE
   281         -//
   282         -// NOTE:    This routine is an extension to the PC/SC definitions.
   283         -//
   284         -
   285         -
   286         -//
   287         -// Database Writer routines
   288         -//
   289         -
   290         -extern WINSCARDAPI LONG WINAPI
   291         -SCardIntroduceReaderGroupA(
   292         -     SCARDCONTEXT hContext,
   293         -     LPCSTR szGroupName);
   294         -extern WINSCARDAPI LONG WINAPI
   295         -SCardIntroduceReaderGroupW(
   296         -     SCARDCONTEXT hContext,
   297         -     LPCWSTR szGroupName);
   298         -#ifdef UNICODE
   299         -#define SCardIntroduceReaderGroup  SCardIntroduceReaderGroupW
   300         -#else
   301         -#define SCardIntroduceReaderGroup  SCardIntroduceReaderGroupA
   302         -#endif // !UNICODE
   303         -
   304         -extern WINSCARDAPI LONG WINAPI
   305         -SCardForgetReaderGroupA(
   306         -     SCARDCONTEXT hContext,
   307         -     LPCSTR szGroupName);
   308         -extern WINSCARDAPI LONG WINAPI
   309         -SCardForgetReaderGroupW(
   310         -     SCARDCONTEXT hContext,
   311         -     LPCWSTR szGroupName);
   312         -#ifdef UNICODE
   313         -#define SCardForgetReaderGroup  SCardForgetReaderGroupW
   314         -#else
   315         -#define SCardForgetReaderGroup  SCardForgetReaderGroupA
   316         -#endif // !UNICODE
   317         -
   318         -extern WINSCARDAPI LONG WINAPI
   319         -SCardIntroduceReaderA(
   320         -     SCARDCONTEXT hContext,
   321         -     LPCSTR szReaderName,
   322         -     LPCSTR szDeviceName);
   323         -extern WINSCARDAPI LONG WINAPI
   324         -SCardIntroduceReaderW(
   325         -     SCARDCONTEXT hContext,
   326         -     LPCWSTR szReaderName,
   327         -     LPCWSTR szDeviceName);
   328         -#ifdef UNICODE
   329         -#define SCardIntroduceReader  SCardIntroduceReaderW
   330         -#else
   331         -#define SCardIntroduceReader  SCardIntroduceReaderA
   332         -#endif // !UNICODE
   333         -
   334         -extern WINSCARDAPI LONG WINAPI
   335         -SCardForgetReaderA(
   336         -     SCARDCONTEXT hContext,
   337         -     LPCSTR szReaderName);
   338         -extern WINSCARDAPI LONG WINAPI
   339         -SCardForgetReaderW(
   340         -     SCARDCONTEXT hContext,
   341         -     LPCWSTR szReaderName);
   342         -#ifdef UNICODE
   343         -#define SCardForgetReader  SCardForgetReaderW
   344         -#else
   345         -#define SCardForgetReader  SCardForgetReaderA
   346         -#endif // !UNICODE
   347         -
   348         -extern WINSCARDAPI LONG WINAPI
   349         -SCardAddReaderToGroupA(
   350         -     SCARDCONTEXT hContext,
   351         -     LPCSTR szReaderName,
   352         -     LPCSTR szGroupName);
   353         -extern WINSCARDAPI LONG WINAPI
   354         -SCardAddReaderToGroupW(
   355         -     SCARDCONTEXT hContext,
   356         -     LPCWSTR szReaderName,
   357         -     LPCWSTR szGroupName);
   358         -#ifdef UNICODE
   359         -#define SCardAddReaderToGroup  SCardAddReaderToGroupW
   360         -#else
   361         -#define SCardAddReaderToGroup  SCardAddReaderToGroupA
   362         -#endif // !UNICODE
   363         -
   364         -extern WINSCARDAPI LONG WINAPI
   365         -SCardRemoveReaderFromGroupA(
   366         -     SCARDCONTEXT hContext,
   367         -     LPCSTR szReaderName,
   368         -     LPCSTR szGroupName);
   369         -extern WINSCARDAPI LONG WINAPI
   370         -SCardRemoveReaderFromGroupW(
   371         -     SCARDCONTEXT hContext,
   372         -     LPCWSTR szReaderName,
   373         -     LPCWSTR szGroupName);
   374         -#ifdef UNICODE
   375         -#define SCardRemoveReaderFromGroup  SCardRemoveReaderFromGroupW
   376         -#else
   377         -#define SCardRemoveReaderFromGroup  SCardRemoveReaderFromGroupA
   378         -#endif // !UNICODE
   379         -
   380         -extern WINSCARDAPI LONG WINAPI
   381         -SCardIntroduceCardTypeA(
   382         -         SCARDCONTEXT hContext,
   383         -         LPCSTR szCardName,
   384         -     LPCGUID pguidPrimaryProvider,
   385         -     LPCGUID rgguidInterfaces,
   386         -         DWORD dwInterfaceCount,
   387         -         LPCBYTE pbAtr,
   388         -         LPCBYTE pbAtrMask,
   389         -         DWORD cbAtrLen);
   390         -extern WINSCARDAPI LONG WINAPI
   391         -SCardIntroduceCardTypeW(
   392         -         SCARDCONTEXT hContext,
   393         -         LPCWSTR szCardName,
   394         -     LPCGUID pguidPrimaryProvider,
   395         -     LPCGUID rgguidInterfaces,
   396         -         DWORD dwInterfaceCount,
   397         -         LPCBYTE pbAtr,
   398         -         LPCBYTE pbAtrMask,
   399         -         DWORD cbAtrLen);
   400         -#ifdef UNICODE
   401         -#define SCardIntroduceCardType  SCardIntroduceCardTypeW
   402         -#else
   403         -#define SCardIntroduceCardType  SCardIntroduceCardTypeA
   404         -#endif // !UNICODE
   405         -//
   406         -// NOTE:    The routine SCardIntroduceCardType's parameters' order differs from
   407         -//          the PC/SC definition.  It should be:
   408         -//
   409         -//              extern WINSCARDAPI LONG WINAPI
   410         -//              SCardIntroduceCardType(
   411         -//                       SCARDCONTEXT hContext,
   412         -//                       LPCTSTR szCardName,
   413         -//                       LPCBYTE pbAtr,
   414         -//                       LPCBYTE pbAtrMask,
   415         -//                       DWORD cbAtrLen,
   416         -//                   LPCGUID pguidPrimaryProvider,
   417         -//                   LPCGUID rgguidInterfaces,
   418         -//                       DWORD dwInterfaceCount);
   419         -//
   420         -//          Here's a work-around MACRO:
   421         -#define PCSCardIntroduceCardType(hContext, szCardName, pbAtr, pbAtrMask, cbAtrLen, pguidPrimaryProvider, rgguidInterfaces, dwInterfaceCount) \
   422         -          SCardIntroduceCardType(hContext, szCardName, pguidPrimaryProvider, rgguidInterfaces, dwInterfaceCount, pbAtr, pbAtrMask, cbAtrLen)
   423         -
   424         -extern WINSCARDAPI LONG WINAPI
   425         -SCardSetCardTypeProviderNameA(
   426         -     SCARDCONTEXT hContext,
   427         -     LPCSTR szCardName,
   428         -     DWORD dwProviderId,
   429         -     LPCSTR szProvider);
   430         -extern WINSCARDAPI LONG WINAPI
   431         -SCardSetCardTypeProviderNameW(
   432         -     SCARDCONTEXT hContext,
   433         -     LPCWSTR szCardName,
   434         -     DWORD dwProviderId,
   435         -     LPCWSTR szProvider);
   436         -#ifdef UNICODE
   437         -#define SCardSetCardTypeProviderName  SCardSetCardTypeProviderNameW
   438         -#else
   439         -#define SCardSetCardTypeProviderName  SCardSetCardTypeProviderNameA
   440         -#endif // !UNICODE
   441         -//
   442         -// NOTE:    This routine is an extention to the PC/SC specifications.
   443         -//
   444         -
   445         -extern WINSCARDAPI LONG WINAPI
   446         -SCardForgetCardTypeA(
   447         -     SCARDCONTEXT hContext,
   448         -     LPCSTR szCardName);
   449         -extern WINSCARDAPI LONG WINAPI
   450         -SCardForgetCardTypeW(
   451         -     SCARDCONTEXT hContext,
   452         -     LPCWSTR szCardName);
   453         -#ifdef UNICODE
   454         -#define SCardForgetCardType  SCardForgetCardTypeW
   455         -#else
   456         -#define SCardForgetCardType  SCardForgetCardTypeA
   457         -#endif // !UNICODE
   458         -
   459         -
   460         -//
   461         -////////////////////////////////////////////////////////////////////////////////
   462         -//
   463         -//  Service Manager Support Routines
   464         -//
   465         -//      The following services are supplied to simplify the use of the Service
   466         -//      Manager API.
   467         -//
   468         -
   469         -extern WINSCARDAPI LONG WINAPI
   470         -SCardFreeMemory(
   471         -     SCARDCONTEXT hContext,
   472         -     LPCVOID pvMem);
   473         -
   474         -#if (NTDDI_VERSION >= NTDDI_WINXP)
   475         -extern WINSCARDAPI HANDLE WINAPI
   476         -SCardAccessStartedEvent(void);
   477         -
   478         -extern WINSCARDAPI void WINAPI
   479         -SCardReleaseStartedEvent(void);
   480         -#endif // (NTDDI_VERSION >= NTDDI_WINXP)
   481         -
   482         -//
   483         -////////////////////////////////////////////////////////////////////////////////
   484         -//
   485         -//  Reader Services
   486         -//
   487         -//      The following services supply means for tracking cards within readers.
   488         -//
   489         -
   490         -typedef struct {
   491         -    LPCSTR      szReader;       // reader name
   492         -    LPVOID      pvUserData;     // user defined data
   493         -    DWORD       dwCurrentState; // current state of reader at time of call
   494         -    DWORD       dwEventState;   // state of reader after state change
   495         -    DWORD       cbAtr;          // Number of bytes in the returned ATR.
   496         -    BYTE        rgbAtr[36];     // Atr of inserted card, (extra alignment bytes)
   497         -} SCARD_READERSTATEA, *PSCARD_READERSTATEA, *LPSCARD_READERSTATEA;
   498         -typedef struct {
   499         -    LPCWSTR     szReader;       // reader name
   500         -    LPVOID      pvUserData;     // user defined data
   501         -    DWORD       dwCurrentState; // current state of reader at time of call
   502         -    DWORD       dwEventState;   // state of reader after state change
   503         -    DWORD       cbAtr;          // Number of bytes in the returned ATR.
   504         -    BYTE        rgbAtr[36];     // Atr of inserted card, (extra alignment bytes)
   505         -} SCARD_READERSTATEW, *PSCARD_READERSTATEW, *LPSCARD_READERSTATEW;
   506         -#ifdef UNICODE
   507         -typedef SCARD_READERSTATEW SCARD_READERSTATE;
   508         -typedef PSCARD_READERSTATEW PSCARD_READERSTATE;
   509         -typedef LPSCARD_READERSTATEW LPSCARD_READERSTATE;
   510         -#else
   511         -typedef SCARD_READERSTATEA SCARD_READERSTATE;
   512         -typedef PSCARD_READERSTATEA PSCARD_READERSTATE;
   513         -typedef LPSCARD_READERSTATEA LPSCARD_READERSTATE;
   514         -#endif // UNICODE
   515         -
   516         -// Backwards compatibility macros
   517         -#define SCARD_READERSTATE_A SCARD_READERSTATEA
   518         -#define SCARD_READERSTATE_W SCARD_READERSTATEW
   519         -#define PSCARD_READERSTATE_A PSCARD_READERSTATEA
   520         -#define PSCARD_READERSTATE_W PSCARD_READERSTATEW
   521         -#define LPSCARD_READERSTATE_A LPSCARD_READERSTATEA
   522         -#define LPSCARD_READERSTATE_W LPSCARD_READERSTATEW
   523         -
   524         -#define SCARD_STATE_UNAWARE     0x00000000  // The application is unaware of the
   525         -                                            // current state, and would like to
   526         -                                            // know.  The use of this value
   527         -                                            // results in an immediate return
   528         -                                            // from state transition monitoring
   529         -                                            // services.  This is represented by
   530         -                                            // all bits set to zero.
   531         -#define SCARD_STATE_IGNORE      0x00000001  // The application requested that
   532         -                                            // this reader be ignored.  No other
   533         -                                            // bits will be set.
   534         -#define SCARD_STATE_CHANGED     0x00000002  // This implies that there is a
   535         -                                            // difference between the state
   536         -                                            // believed by the application, and
   537         -                                            // the state known by the Service
   538         -                                            // Manager.  When this bit is set,
   539         -                                            // the application may assume a
   540         -                                            // significant state change has
   541         -                                            // occurred on this reader.
   542         -#define SCARD_STATE_UNKNOWN     0x00000004  // This implies that the given
   543         -                                            // reader name is not recognized by
   544         -                                            // the Service Manager.  If this bit
   545         -                                            // is set, then SCARD_STATE_CHANGED
   546         -                                            // and SCARD_STATE_IGNORE will also
   547         -                                            // be set.
   548         -#define SCARD_STATE_UNAVAILABLE 0x00000008  // This implies that the actual
   549         -                                            // state of this reader is not
   550         -                                            // available.  If this bit is set,
   551         -                                            // then all the following bits are
   552         -                                            // clear.
   553         -#define SCARD_STATE_EMPTY       0x00000010  // This implies that there is not
   554         -                                            // card in the reader.  If this bit
   555         -                                            // is set, all the following bits
   556         -                                            // will be clear.
   557         -#define SCARD_STATE_PRESENT     0x00000020  // This implies that there is a card
   558         -                                            // in the reader.
   559         -#define SCARD_STATE_ATRMATCH    0x00000040  // This implies that there is a card
   560         -                                            // in the reader with an ATR
   561         -                                            // matching one of the target cards.
   562         -                                            // If this bit is set,
   563         -                                            // SCARD_STATE_PRESENT will also be
   564         -                                            // set.  This bit is only returned
   565         -                                            // on the SCardLocateCard() service.
   566         -#define SCARD_STATE_EXCLUSIVE   0x00000080  // This implies that the card in the
   567         -                                            // reader is allocated for exclusive
   568         -                                            // use by another application.  If
   569         -                                            // this bit is set,
   570         -                                            // SCARD_STATE_PRESENT will also be
   571         -                                            // set.
   572         -#define SCARD_STATE_INUSE       0x00000100  // This implies that the card in the
   573         -                                            // reader is in use by one or more
   574         -                                            // other applications, but may be
   575         -                                            // connected to in shared mode.  If
   576         -                                            // this bit is set,
   577         -                                            // SCARD_STATE_PRESENT will also be
   578         -                                            // set.
   579         -#define SCARD_STATE_MUTE        0x00000200  // This implies that the card in the
   580         -                                            // reader is unresponsive or not
   581         -                                            // supported by the reader or
   582         -                                            // software.
   583         -#define SCARD_STATE_UNPOWERED   0x00000400  // This implies that the card in the
   584         -                                            // reader has not been powered up.
   585         -
   586         -extern WINSCARDAPI LONG WINAPI
   587         -SCardLocateCardsA(
   588         -        SCARDCONTEXT hContext,
   589         -        LPCSTR mszCards,
   590         - LPSCARD_READERSTATEA rgReaderStates,
   591         -        DWORD cReaders);
   592         -extern WINSCARDAPI LONG WINAPI
   593         -SCardLocateCardsW(
   594         -        SCARDCONTEXT hContext,
   595         -        LPCWSTR mszCards,
   596         - LPSCARD_READERSTATEW rgReaderStates,
   597         -        DWORD cReaders);
   598         -#ifdef UNICODE
   599         -#define SCardLocateCards  SCardLocateCardsW
   600         -#else
   601         -#define SCardLocateCards  SCardLocateCardsA
   602         -#endif // !UNICODE
   603         -
   604         -#if (NTDDI_VERSION >= NTDDI_WINXP)
   605         -typedef struct _SCARD_ATRMASK {
   606         -    DWORD       cbAtr;          // Number of bytes in the ATR and the mask.
   607         -    BYTE        rgbAtr[36];     // Atr of card (extra alignment bytes)
   608         -    BYTE        rgbMask[36];    // Mask for the Atr (extra alignment bytes)
   609         -} SCARD_ATRMASK, *PSCARD_ATRMASK, *LPSCARD_ATRMASK;
   610         -
   611         -
   612         -extern WINSCARDAPI LONG WINAPI
   613         -SCardLocateCardsByATRA(
   614         -        SCARDCONTEXT hContext,
   615         -        LPSCARD_ATRMASK rgAtrMasks,
   616         -        DWORD cAtrs,
   617         - LPSCARD_READERSTATEA rgReaderStates,
   618         -        DWORD cReaders);
   619         -extern WINSCARDAPI LONG WINAPI
   620         -SCardLocateCardsByATRW(
   621         -        SCARDCONTEXT hContext,
   622         -        LPSCARD_ATRMASK rgAtrMasks,
   623         -        DWORD cAtrs,
   624         - LPSCARD_READERSTATEW rgReaderStates,
   625         -        DWORD cReaders);
   626         -#ifdef UNICODE
   627         -#define SCardLocateCardsByATR  SCardLocateCardsByATRW
   628         -#else
   629         -#define SCardLocateCardsByATR  SCardLocateCardsByATRA
   630         -#endif // !UNICODE
   631         -#endif // (NTDDI_VERSION >= NTDDI_WINXP)
   632         -
   633         -extern WINSCARDAPI LONG WINAPI
   634         -SCardGetStatusChangeA(
   635         -        SCARDCONTEXT hContext,
   636         -        DWORD dwTimeout,
   637         - LPSCARD_READERSTATEA rgReaderStates,
   638         -        DWORD cReaders);
   639         -extern WINSCARDAPI LONG WINAPI
   640         -SCardGetStatusChangeW(
   641         -        SCARDCONTEXT hContext,
   642         -        DWORD dwTimeout,
   643         - LPSCARD_READERSTATEW rgReaderStates,
   644         -        DWORD cReaders);
   645         -#ifdef UNICODE
   646         -#define SCardGetStatusChange  SCardGetStatusChangeW
   647         -#else
   648         -#define SCardGetStatusChange  SCardGetStatusChangeA
   649         -#endif // !UNICODE
   650         -
   651         -extern WINSCARDAPI LONG WINAPI
   652         -SCardCancel(
   653         -        SCARDCONTEXT hContext);
   654         -
   655         -
   656         -//
   657         -////////////////////////////////////////////////////////////////////////////////
   658         -//
   659         -//  Card/Reader Communication Services
   660         -//
   661         -//      The following services provide means for communication with the card.
   662         -//
   663         -
   664         -#define SCARD_SHARE_EXCLUSIVE 1 // This application is not willing to share this
   665         -                                // card with other applications.
   666         -#define SCARD_SHARE_SHARED    2 // This application is willing to share this
   667         -                                // card with other applications.
   668         -#define SCARD_SHARE_DIRECT    3 // This application demands direct control of
   669         -                                // the reader, so it is not available to other
   670         -                                // applications.
   671         -
   672         -#define SCARD_LEAVE_CARD      0 // Don't do anything special on close
   673         -#define SCARD_RESET_CARD      1 // Reset the card on close
   674         -#define SCARD_UNPOWER_CARD    2 // Power down the card on close
   675         -#define SCARD_EJECT_CARD      3 // Eject the card on close
   676         -
   677         -extern WINSCARDAPI LONG WINAPI
   678         -SCardConnectA(
   679         -        SCARDCONTEXT hContext,
   680         -        LPCSTR szReader,
   681         -        DWORD dwShareMode,
   682         -        DWORD dwPreferredProtocols,
   683         -       LPSCARDHANDLE phCard,
   684         -       LPDWORD pdwActiveProtocol);
   685         -extern WINSCARDAPI LONG WINAPI
   686         -SCardConnectW(
   687         -        SCARDCONTEXT hContext,
   688         -        LPCWSTR szReader,
   689         -        DWORD dwShareMode,
   690         -        DWORD dwPreferredProtocols,
   691         -       LPSCARDHANDLE phCard,
   692         -       LPDWORD pdwActiveProtocol);
   693         -#ifdef UNICODE
   694         -#define SCardConnect  SCardConnectW
   695         -#else
   696         -#define SCardConnect  SCardConnectA
   697         -#endif // !UNICODE
   698         -
   699         -extern WINSCARDAPI LONG WINAPI
   700         -SCardReconnect(
   701         -          SCARDHANDLE hCard,
   702         -          DWORD dwShareMode,
   703         -          DWORD dwPreferredProtocols,
   704         -          DWORD dwInitialization,
   705         -     LPDWORD pdwActiveProtocol);
   706         -
   707         -extern WINSCARDAPI LONG WINAPI
   708         -SCardDisconnect(
   709         -        SCARDHANDLE hCard,
   710         -        DWORD dwDisposition);
   711         -
   712         -extern WINSCARDAPI LONG WINAPI
   713         -SCardBeginTransaction(
   714         -        SCARDHANDLE hCard);
   715         -
   716         -extern WINSCARDAPI LONG WINAPI
   717         -SCardEndTransaction(
   718         -        SCARDHANDLE hCard,
   719         -        DWORD dwDisposition);
   720         -
   721         -extern WINSCARDAPI LONG WINAPI
   722         -SCardCancelTransaction(
   723         -        SCARDHANDLE hCard);
   724         -//
   725         -// NOTE:    This call corresponds to the PC/SC SCARDCOMM::Cancel routine,
   726         -//          terminating a blocked SCardBeginTransaction service.
   727         -//
   728         -
   729         -
   730         -extern WINSCARDAPI LONG WINAPI
   731         -SCardState(
   732         -        SCARDHANDLE hCard,
   733         -       LPDWORD pdwState,
   734         -       LPDWORD pdwProtocol,
   735         -       LPBYTE pbAtr,
   736         - LPDWORD pcbAtrLen);
   737         -//
   738         -// NOTE:    SCardState is an obsolete routine.  PC/SC has replaced it with
   739         -//          SCardStatus.
   740         -//
   741         -
   742         -extern WINSCARDAPI LONG WINAPI
   743         -SCardStatusA(
   744         -            SCARDHANDLE hCard,
   745         -      LPSTR mszReaderNames,
   746         - LPDWORD pcchReaderLen,
   747         -       LPDWORD pdwState,
   748         -       LPDWORD pdwProtocol,
   749         -     LPBYTE pbAtr,
   750         - LPDWORD pcbAtrLen);
   751         -extern WINSCARDAPI LONG WINAPI
   752         -SCardStatusW(
   753         -            SCARDHANDLE hCard,
   754         -      LPWSTR mszReaderNames,
   755         - LPDWORD pcchReaderLen,
   756         -       LPDWORD pdwState,
   757         -       LPDWORD pdwProtocol,
   758         -     LPBYTE pbAtr,
   759         - LPDWORD pcbAtrLen);
   760         -#ifdef UNICODE
   761         -#define SCardStatus  SCardStatusW
   762         -#else
   763         -#define SCardStatus  SCardStatusA
   764         -#endif // !UNICODE
   765         -
   766         -extern WINSCARDAPI LONG WINAPI
   767         -SCardTransmit(
   768         -            SCARDHANDLE hCard,
   769         -            LPCSCARD_IO_REQUEST pioSendPci,
   770         -     LPCBYTE pbSendBuffer,
   771         -            DWORD cbSendLength,
   772         - LPSCARD_IO_REQUEST pioRecvPci,
   773         -     LPBYTE pbRecvBuffer,
   774         -     LPDWORD pcbRecvLength);
   775         -
   776         -#if (NTDDI_VERSION >= NTDDI_VISTA)
   777         -extern WINSCARDAPI LONG WINAPI
   778         -SCardGetTransmitCount(
   779         -     SCARDHANDLE hCard,
   780         -     LPDWORD pcTransmitCount);
   781         -#endif // (NTDDI_VERSION >= NTDDI_VISTA)
   782         -
   783         -//
   784         -////////////////////////////////////////////////////////////////////////////////
   785         -//
   786         -//  Reader Control Routines
   787         -//
   788         -//      The following services provide for direct, low-level manipulation of the
   789         -//      reader by the calling application allowing it control over the
   790         -//      attributes of the communications with the card.
   791         -//
   792         -
   793         -extern WINSCARDAPI LONG WINAPI
   794         -SCardControl(
   795         -        SCARDHANDLE hCard,
   796         -        DWORD dwControlCode,
   797         -     LPCVOID lpInBuffer,
   798         -        DWORD cbInBufferSize,
   799         -     LPVOID lpOutBuffer,
   800         -        DWORD cbOutBufferSize,
   801         -       LPDWORD lpBytesReturned);
   802         -
   803         -extern WINSCARDAPI LONG WINAPI
   804         -SCardGetAttrib(
   805         -        SCARDHANDLE hCard,
   806         -        DWORD dwAttrId,
   807         -     LPBYTE pbAttr,
   808         - LPDWORD pcbAttrLen);
   809         -//
   810         -// NOTE:    The routine SCardGetAttrib's name differs from the PC/SC definition.
   811         -//          It should be:
   812         -//
   813         -//              extern WINSCARDAPI LONG WINAPI
   814         -//              SCardGetReaderCapabilities(
   815         -//                      SCARDHANDLE hCard,
   816         -//                      DWORD dwTag,
   817         -//                     LPBYTE pbAttr,
   818         -//                  out LPDWORD pcbAttrLen);
   819         -//
   820         -//          Here's a work-around MACRO:
   821         -#define SCardGetReaderCapabilities SCardGetAttrib
   822         -
   823         -extern WINSCARDAPI LONG WINAPI
   824         -SCardSetAttrib(
   825         -     SCARDHANDLE hCard,
   826         -     DWORD dwAttrId,
   827         -     LPCBYTE pbAttr,
   828         -     DWORD cbAttrLen);
   829         -//
   830         -// NOTE:    The routine SCardSetAttrib's name differs from the PC/SC definition.
   831         -//          It should be:
   832         -//
   833         -//              extern WINSCARDAPI LONG WINAPI
   834         -//              SCardSetReaderCapabilities(
   835         -//                      SCARDHANDLE hCard,
   836         -//                      DWORD dwTag,
   837         -//                      LPCBYTE pbAttr,
   838         -//                      DWORD cbAttrLen);
   839         -//
   840         -//          Here's a work-around MACRO:
   841         -#define SCardSetReaderCapabilities SCardSetAttrib
   842         -
   843         -
   844         -//
   845         -////////////////////////////////////////////////////////////////////////////////
   846         -//
   847         -//  Smart Card Dialog definitions
   848         -//
   849         -//      The following section contains structures and  exported function
   850         -//      declarations for the Smart Card Common Dialog dialog.
   851         -//
   852         -
   853         -// Defined constants
   854         -// Flags
   855         -#define SC_DLG_MINIMAL_UI       0x01
   856         -#define SC_DLG_NO_UI            0x02
   857         -#define SC_DLG_FORCE_UI         0x04
   858         -
   859         -#define SCERR_NOCARDNAME        0x4000
   860         -#define SCERR_NOGUIDS           0x8000
   861         -
   862         -typedef SCARDHANDLE (WINAPI *LPOCNCONNPROCA) ( SCARDCONTEXT,  LPSTR,  LPSTR,  PVOID);
   863         -typedef SCARDHANDLE (WINAPI *LPOCNCONNPROCW) ( SCARDCONTEXT,  LPWSTR,  LPWSTR,  PVOID);
   864         -#ifdef UNICODE
   865         -#define LPOCNCONNPROC  LPOCNCONNPROCW
   866         -#else
   867         -#define LPOCNCONNPROC  LPOCNCONNPROCA
   868         -#endif // !UNICODE
   869         -typedef BOOL (WINAPI *LPOCNCHKPROC) ( SCARDCONTEXT,  SCARDHANDLE,  PVOID);
   870         -typedef void (WINAPI *LPOCNDSCPROC) ( SCARDCONTEXT,  SCARDHANDLE,  PVOID);
   871         -
   872         -
   873         -//
   874         -// OPENCARD_SEARCH_CRITERIA: In order to specify a user-extended search,
   875         -// lpfnCheck must not be NULL.  Moreover, the connection to be made to the
   876         -// card before performing the callback must be indicated by either providing
   877         -// lpfnConnect and lpfnDisconnect OR by setting dwShareMode.
   878         -// If both the connection callbacks and dwShareMode are non-NULL, the callbacks
   879         -// will be used.
   880         -//
   881         -
   882         -typedef struct {
   883         -    DWORD           dwStructSize;
   884         -    LPSTR           lpstrGroupNames;        // OPTIONAL reader groups to include in
   885         -    DWORD           nMaxGroupNames;         //          search.  NULL defaults to
   886         -                                            //          SCard$DefaultReaders
   887         -    LPCGUID         rgguidInterfaces;       // OPTIONAL requested interfaces
   888         -    DWORD           cguidInterfaces;        //          supported by card's SSP
   889         -    LPSTR           lpstrCardNames;         // OPTIONAL requested card names; all cards w/
   890         -    DWORD           nMaxCardNames;          //          matching ATRs will be accepted
   891         -    LPOCNCHKPROC    lpfnCheck;              // OPTIONAL if NULL no user check will be performed.
   892         -    LPOCNCONNPROCA  lpfnConnect;            // OPTIONAL if lpfnConnect is provided,
   893         -    LPOCNDSCPROC    lpfnDisconnect;         //          lpfnDisconnect must also be set.
   894         -    LPVOID          pvUserData;             // OPTIONAL parameter to callbacks
   895         -    DWORD           dwShareMode;            // OPTIONAL must be set if lpfnCheck is not null
   896         -    DWORD           dwPreferredProtocols;   // OPTIONAL
   897         -} OPENCARD_SEARCH_CRITERIAA, *POPENCARD_SEARCH_CRITERIAA, *LPOPENCARD_SEARCH_CRITERIAA;
   898         -typedef struct {
   899         -    DWORD           dwStructSize;
   900         -    LPWSTR          lpstrGroupNames;        // OPTIONAL reader groups to include in
   901         -    DWORD           nMaxGroupNames;         //          search.  NULL defaults to
   902         -                                            //          SCard$DefaultReaders
   903         -    LPCGUID         rgguidInterfaces;       // OPTIONAL requested interfaces
   904         -    DWORD           cguidInterfaces;        //          supported by card's SSP
   905         -    LPWSTR          lpstrCardNames;         // OPTIONAL requested card names; all cards w/
   906         -    DWORD           nMaxCardNames;          //          matching ATRs will be accepted
   907         -    LPOCNCHKPROC    lpfnCheck;              // OPTIONAL if NULL no user check will be performed.
   908         -    LPOCNCONNPROCW  lpfnConnect;            // OPTIONAL if lpfnConnect is provided,
   909         -    LPOCNDSCPROC    lpfnDisconnect;         //          lpfnDisconnect must also be set.
   910         -    LPVOID          pvUserData;             // OPTIONAL parameter to callbacks
   911         -    DWORD           dwShareMode;            // OPTIONAL must be set if lpfnCheck is not null
   912         -    DWORD           dwPreferredProtocols;   // OPTIONAL
   913         -} OPENCARD_SEARCH_CRITERIAW, *POPENCARD_SEARCH_CRITERIAW, *LPOPENCARD_SEARCH_CRITERIAW;
   914         -#ifdef UNICODE
   915         -typedef OPENCARD_SEARCH_CRITERIAW OPENCARD_SEARCH_CRITERIA;
   916         -typedef POPENCARD_SEARCH_CRITERIAW POPENCARD_SEARCH_CRITERIA;
   917         -typedef LPOPENCARD_SEARCH_CRITERIAW LPOPENCARD_SEARCH_CRITERIA;
   918         -#else
   919         -typedef OPENCARD_SEARCH_CRITERIAA OPENCARD_SEARCH_CRITERIA;
   920         -typedef POPENCARD_SEARCH_CRITERIAA POPENCARD_SEARCH_CRITERIA;
   921         -typedef LPOPENCARD_SEARCH_CRITERIAA LPOPENCARD_SEARCH_CRITERIA;
   922         -#endif // UNICODE
   923         -
   924         -
   925         -//
   926         -// OPENCARDNAME_EX: used by SCardUIDlgSelectCard; replaces obsolete OPENCARDNAME
   927         -//
   928         -
   929         -typedef struct {
   930         -    DWORD           dwStructSize;           // REQUIRED
   931         -    SCARDCONTEXT    hSCardContext;          // REQUIRED
   932         -    HWND            hwndOwner;              // OPTIONAL
   933         -    DWORD           dwFlags;                // OPTIONAL -- default is SC_DLG_MINIMAL_UI
   934         -    LPCSTR          lpstrTitle;             // OPTIONAL
   935         -    LPCSTR          lpstrSearchDesc;        // OPTIONAL (eg. "Please insert your <brandname> smart card.")
   936         -    HICON           hIcon;                  // OPTIONAL 32x32 icon for your brand insignia
   937         -    POPENCARD_SEARCH_CRITERIAA pOpenCardSearchCriteria; // OPTIONAL
   938         -    LPOCNCONNPROCA  lpfnConnect;            // OPTIONAL - performed on successful selection
   939         -    LPVOID          pvUserData;             // OPTIONAL parameter to lpfnConnect
   940         -    DWORD           dwShareMode;            // OPTIONAL - if lpfnConnect is NULL, dwShareMode and
   941         -    DWORD           dwPreferredProtocols;   // OPTIONAL dwPreferredProtocols will be used to
   942         -                                            //          connect to the selected card
   943         -    LPSTR           lpstrRdr;               // REQUIRED [IN|OUT] Name of selected reader
   944         -    DWORD           nMaxRdr;                // REQUIRED [IN|OUT]
   945         -    LPSTR           lpstrCard;              // REQUIRED [IN|OUT] Name of selected card
   946         -    DWORD           nMaxCard;               // REQUIRED [IN|OUT]
   947         -    DWORD           dwActiveProtocol;       // [OUT] set only if dwShareMode not NULL
   948         -    SCARDHANDLE     hCardHandle;            // [OUT] set if a card connection was indicated
   949         -} OPENCARDNAME_EXA, *POPENCARDNAME_EXA, *LPOPENCARDNAME_EXA;
   950         -typedef struct {
   951         -    DWORD           dwStructSize;           // REQUIRED
   952         -    SCARDCONTEXT    hSCardContext;          // REQUIRED
   953         -    HWND            hwndOwner;              // OPTIONAL
   954         -    DWORD           dwFlags;                // OPTIONAL -- default is SC_DLG_MINIMAL_UI
   955         -    LPCWSTR         lpstrTitle;             // OPTIONAL
   956         -    LPCWSTR         lpstrSearchDesc;        // OPTIONAL (eg. "Please insert your <brandname> smart card.")
   957         -    HICON           hIcon;                  // OPTIONAL 32x32 icon for your brand insignia
   958         -    POPENCARD_SEARCH_CRITERIAW pOpenCardSearchCriteria; // OPTIONAL
   959         -    LPOCNCONNPROCW  lpfnConnect;            // OPTIONAL - performed on successful selection
   960         -    LPVOID          pvUserData;             // OPTIONAL parameter to lpfnConnect
   961         -    DWORD           dwShareMode;            // OPTIONAL - if lpfnConnect is NULL, dwShareMode and
   962         -    DWORD           dwPreferredProtocols;   // OPTIONAL dwPreferredProtocols will be used to
   963         -                                            //          connect to the selected card
   964         -    LPWSTR          lpstrRdr;               // REQUIRED [IN|OUT] Name of selected reader
   965         -    DWORD           nMaxRdr;                // REQUIRED [IN|OUT]
   966         -    LPWSTR          lpstrCard;              // REQUIRED [IN|OUT] Name of selected card
   967         -    DWORD           nMaxCard;               // REQUIRED [IN|OUT]
   968         -    DWORD           dwActiveProtocol;       // [OUT] set only if dwShareMode not NULL
   969         -    SCARDHANDLE     hCardHandle;            // [OUT] set if a card connection was indicated
   970         -} OPENCARDNAME_EXW, *POPENCARDNAME_EXW, *LPOPENCARDNAME_EXW;
   971         -#ifdef UNICODE
   972         -typedef OPENCARDNAME_EXW OPENCARDNAME_EX;
   973         -typedef POPENCARDNAME_EXW POPENCARDNAME_EX;
   974         -typedef LPOPENCARDNAME_EXW LPOPENCARDNAME_EX;
   975         -#else
   976         -typedef OPENCARDNAME_EXA OPENCARDNAME_EX;
   977         -typedef POPENCARDNAME_EXA POPENCARDNAME_EX;
   978         -typedef LPOPENCARDNAME_EXA LPOPENCARDNAME_EX;
   979         -#endif // UNICODE
   980         -
   981         -#define OPENCARDNAMEA_EX OPENCARDNAME_EXA
   982         -#define OPENCARDNAMEW_EX OPENCARDNAME_EXW
   983         -#define POPENCARDNAMEA_EX POPENCARDNAME_EXA
   984         -#define POPENCARDNAMEW_EX POPENCARDNAME_EXW
   985         -#define LPOPENCARDNAMEA_EX LPOPENCARDNAME_EXA
   986         -#define LPOPENCARDNAMEW_EX LPOPENCARDNAME_EXW
   987         -
   988         -
   989         -//
   990         -// SCardUIDlgSelectCard replaces GetOpenCardName
   991         -//
   992         -
   993         -extern WINSCARDAPI LONG WINAPI
   994         -SCardUIDlgSelectCardA(
   995         -    LPOPENCARDNAMEA_EX);
   996         -extern WINSCARDAPI LONG WINAPI
   997         -SCardUIDlgSelectCardW(
   998         -    LPOPENCARDNAMEW_EX);
   999         -#ifdef UNICODE
  1000         -#define SCardUIDlgSelectCard  SCardUIDlgSelectCardW
  1001         -#else
  1002         -#define SCardUIDlgSelectCard  SCardUIDlgSelectCardA
  1003         -#endif // !UNICODE
  1004         -
  1005         -
  1006         -//
  1007         -// "Smart Card Common Dialog" definitions for backwards compatibility
  1008         -//  with the Smart Card Base Services SDK version 1.0
  1009         -//
  1010         -
  1011         -typedef struct {
  1012         -    DWORD           dwStructSize;
  1013         -    HWND            hwndOwner;
  1014         -    SCARDCONTEXT    hSCardContext;
  1015         -    LPSTR           lpstrGroupNames;
  1016         -    DWORD           nMaxGroupNames;
  1017         -    LPSTR           lpstrCardNames;
  1018         -    DWORD           nMaxCardNames;
  1019         -    LPCGUID         rgguidInterfaces;
  1020         -    DWORD           cguidInterfaces;
  1021         -    LPSTR           lpstrRdr;
  1022         -    DWORD           nMaxRdr;
  1023         -    LPSTR           lpstrCard;
  1024         -    DWORD           nMaxCard;
  1025         -    LPCSTR          lpstrTitle;
  1026         -    DWORD           dwFlags;
  1027         -    LPVOID          pvUserData;
  1028         -    DWORD           dwShareMode;
  1029         -    DWORD           dwPreferredProtocols;
  1030         -    DWORD           dwActiveProtocol;
  1031         -    LPOCNCONNPROCA  lpfnConnect;
  1032         -    LPOCNCHKPROC    lpfnCheck;
  1033         -    LPOCNDSCPROC    lpfnDisconnect;
  1034         -    SCARDHANDLE     hCardHandle;
  1035         -} OPENCARDNAMEA, *POPENCARDNAMEA, *LPOPENCARDNAMEA;
  1036         -typedef struct {
  1037         -    DWORD           dwStructSize;
  1038         -    HWND            hwndOwner;
  1039         -    SCARDCONTEXT    hSCardContext;
  1040         -    LPWSTR          lpstrGroupNames;
  1041         -    DWORD           nMaxGroupNames;
  1042         -    LPWSTR          lpstrCardNames;
  1043         -    DWORD           nMaxCardNames;
  1044         -    LPCGUID         rgguidInterfaces;
  1045         -    DWORD           cguidInterfaces;
  1046         -    LPWSTR          lpstrRdr;
  1047         -    DWORD           nMaxRdr;
  1048         -    LPWSTR          lpstrCard;
  1049         -    DWORD           nMaxCard;
  1050         -    LPCWSTR         lpstrTitle;
  1051         -    DWORD           dwFlags;
  1052         -    LPVOID          pvUserData;
  1053         -    DWORD           dwShareMode;
  1054         -    DWORD           dwPreferredProtocols;
  1055         -    DWORD           dwActiveProtocol;
  1056         -    LPOCNCONNPROCW  lpfnConnect;
  1057         -    LPOCNCHKPROC    lpfnCheck;
  1058         -    LPOCNDSCPROC    lpfnDisconnect;
  1059         -    SCARDHANDLE     hCardHandle;
  1060         -} OPENCARDNAMEW, *POPENCARDNAMEW, *LPOPENCARDNAMEW;
  1061         -#ifdef UNICODE
  1062         -typedef OPENCARDNAMEW OPENCARDNAME;
  1063         -typedef POPENCARDNAMEW POPENCARDNAME;
  1064         -typedef LPOPENCARDNAMEW LPOPENCARDNAME;
  1065         -#else
  1066         -typedef OPENCARDNAMEA OPENCARDNAME;
  1067         -typedef POPENCARDNAMEA POPENCARDNAME;
  1068         -typedef LPOPENCARDNAMEA LPOPENCARDNAME;
  1069         -#endif // UNICODE
  1070         -
  1071         -// Backwards compatibility macros
  1072         -#define OPENCARDNAME_A OPENCARDNAMEA
  1073         -#define OPENCARDNAME_W OPENCARDNAMEW
  1074         -#define POPENCARDNAME_A POPENCARDNAMEA
  1075         -#define POPENCARDNAME_W POPENCARDNAMEW
  1076         -#define LPOPENCARDNAME_A LPOPENCARDNAMEA
  1077         -#define LPOPENCARDNAME_W LPOPENCARDNAMEW
  1078         -
  1079         -extern WINSCARDAPI LONG WINAPI
  1080         -GetOpenCardNameA(
  1081         -    LPOPENCARDNAMEA);
  1082         -extern WINSCARDAPI LONG WINAPI
  1083         -GetOpenCardNameW(
  1084         -    LPOPENCARDNAMEW);
  1085         -#ifdef UNICODE
  1086         -#define GetOpenCardName  GetOpenCardNameW
  1087         -#else
  1088         -#define GetOpenCardName  GetOpenCardNameA
  1089         -#endif // !UNICODE
  1090         -
  1091         -extern WINSCARDAPI LONG WINAPI
  1092         -SCardDlgExtendedError (void);
  1093         -
  1094         -#if (NTDDI_VERSION >= NTDDI_VISTA)
  1095         -
  1096         -//
  1097         -// Smartcard Caching API
  1098         -//
  1099         -
  1100         -extern WINSCARDAPI LONG WINAPI
  1101         -SCardReadCacheA(
  1102         -      SCARDCONTEXT hContext,
  1103         -      UUID *CardIdentifier,
  1104         -      DWORD FreshnessCounter,
  1105         -      LPSTR LookupName,
  1106         -     PBYTE Data,
  1107         -     DWORD *DataLen);
  1108         -extern WINSCARDAPI LONG WINAPI
  1109         -SCardReadCacheW(
  1110         -      SCARDCONTEXT hContext,
  1111         -      UUID *CardIdentifier,
  1112         -      DWORD FreshnessCounter,
  1113         -      LPWSTR LookupName,
  1114         -     PBYTE Data,
  1115         -     DWORD *DataLen);
  1116         -#ifdef UNICODE
  1117         -#define SCardReadCache  SCardReadCacheW
  1118         -#else
  1119         -#define SCardReadCache  SCardReadCacheA
  1120         -#endif // !UNICODE
  1121         -
  1122         -extern WINSCARDAPI LONG WINAPI
  1123         -SCardWriteCacheA(
  1124         -     SCARDCONTEXT hContext,
  1125         -     UUID *CardIdentifier,
  1126         -     DWORD FreshnessCounter,
  1127         -     LPSTR LookupName,
  1128         -     PBYTE Data,
  1129         -     DWORD DataLen);
  1130         -extern WINSCARDAPI LONG WINAPI
  1131         -SCardWriteCacheW(
  1132         -     SCARDCONTEXT hContext,
  1133         -     UUID *CardIdentifier,
  1134         -     DWORD FreshnessCounter,
  1135         -     LPWSTR LookupName,
  1136         -     PBYTE Data,
  1137         -     DWORD DataLen);
  1138         -#ifdef UNICODE
  1139         -#define SCardWriteCache  SCardWriteCacheW
  1140         -#else
  1141         -#define SCardWriteCache  SCardWriteCacheA
  1142         -#endif // !UNICODE
  1143         -
  1144         -#endif // (NTDDI_VERSION >= NTDDI_VISTA)
  1145         -
  1146         -#ifdef __cplusplus
  1147         -}
  1148         -#endif
  1149         -#endif // _WINSCARD_H_
  1150         -
  1151         -

Deleted build/cackey_win32_build/include/winsmcrd.h version [7735605d6f].

     1         -/*++
     2         -
     3         -Copyright (c) 1996  Microsoft Corporation
     4         -
     5         -Module Name:
     6         -
     7         -    winsmcrd.h
     8         -
     9         -Abstract:
    10         -    Smart Card class/port IOCTL codes. This file is required for all code
    11         -    user mode and kernel mode, using Smart Card IOCTL's, defines,
    12         -    data structures
    13         -
    14         -Revision History:
    15         -
    16         ---*/
    17         -
    18         -
    19         -#ifndef _NTDDSCRD_H2_
    20         -#define _NTDDSCRD_H2_
    21         -
    22         -#if defined (_MSC_VER) && (_MSC_VER >= 1020)
    23         -#pragma once
    24         -#endif
    25         -
    26         -#ifdef __cplusplus
    27         -extern "C" {
    28         -#endif
    29         -
    30         -#ifdef _WINSCARD_H_
    31         -typedef DWORD ULONG;
    32         -typedef WORD UWORD;
    33         -typedef BYTE UCHAR;
    34         -#else
    35         -typedef ULONG DWORD;
    36         -// typedef UWORD WORD;
    37         -typedef UCHAR BYTE;
    38         -#endif
    39         -
    40         -#ifndef DEVICE_TYPE_SMARTCARD
    41         -#ifndef FILE_DEVICE_SMARTCARD
    42         -#define FILE_DEVICE_SMARTCARD           0x00000031
    43         -#endif
    44         -#else
    45         -#if 0x00000031 != FILE_DEVICE_SMARTCARD
    46         -#error "Incorrect Smart Card Device Definition"
    47         -#endif
    48         -#endif
    49         -
    50         -
    51         -//
    52         -// Various constants
    53         -//
    54         -
    55         -#define SCARD_ATR_LENGTH 33  // ISO 7816-3 spec.
    56         -
    57         -//
    58         -///////////////////////////////////////////////////////////////////////////////
    59         -//
    60         -//  Protocol Flag definitions
    61         -//
    62         -
    63         -#define SCARD_PROTOCOL_UNDEFINED    0x00000000  // There is no active protocol.
    64         -#define SCARD_PROTOCOL_T0           0x00000001  // T=0 is the active protocol.
    65         -#define SCARD_PROTOCOL_T1           0x00000002  // T=1 is the active protocol.
    66         -#define SCARD_PROTOCOL_RAW          0x00010000  // Raw is the active protocol.
    67         -//
    68         -// This is the mask of ISO defined transmission protocols
    69         -//
    70         -#define SCARD_PROTOCOL_Tx           (SCARD_PROTOCOL_T0 | SCARD_PROTOCOL_T1)
    71         -//
    72         -// Use the default transmission parameters / card clock freq.
    73         -//
    74         -#define SCARD_PROTOCOL_DEFAULT      0x80000000
    75         -//
    76         -// Use optimal transmission parameters / card clock freq.
    77         -// Since using the optimal parameters is the default case no bit is defined to be 1
    78         -//
    79         -#define SCARD_PROTOCOL_OPTIMAL      0x00000000
    80         -
    81         -
    82         -//
    83         -// Ioctl parameters 1 for IOCTL_SMARTCARD_POWER
    84         -//
    85         -#define SCARD_POWER_DOWN 0          // Power down the card.
    86         -#define SCARD_COLD_RESET 1          // Cycle power and reset the card.
    87         -#define SCARD_WARM_RESET 2          // Force a reset on the card.
    88         -
    89         -//
    90         -///////////////////////////////////////////////////////////////////////////////
    91         -//
    92         -//  Reader Action IOCTLs
    93         -//
    94         -
    95         -#define SCARD_CTL_CODE(code)        CTL_CODE(FILE_DEVICE_SMARTCARD, \
    96         -                                            (code), \
    97         -                                            METHOD_BUFFERED, \
    98         -                                            FILE_ANY_ACCESS)
    99         -
   100         -#define IOCTL_SMARTCARD_POWER           SCARD_CTL_CODE( 1)
   101         -#define IOCTL_SMARTCARD_GET_ATTRIBUTE   SCARD_CTL_CODE( 2)
   102         -#define IOCTL_SMARTCARD_SET_ATTRIBUTE   SCARD_CTL_CODE( 3)
   103         -#define IOCTL_SMARTCARD_CONFISCATE      SCARD_CTL_CODE( 4)
   104         -#define IOCTL_SMARTCARD_TRANSMIT        SCARD_CTL_CODE( 5)
   105         -#define IOCTL_SMARTCARD_EJECT           SCARD_CTL_CODE( 6)
   106         -#define IOCTL_SMARTCARD_SWALLOW         SCARD_CTL_CODE( 7)
   107         -// #define IOCTL_SMARTCARD_READ            SCARD_CTL_CODE( 8) obsolete
   108         -// #define IOCTL_SMARTCARD_WRITE           SCARD_CTL_CODE( 9) obsolete
   109         -#define IOCTL_SMARTCARD_IS_PRESENT      SCARD_CTL_CODE(10)
   110         -#define IOCTL_SMARTCARD_IS_ABSENT       SCARD_CTL_CODE(11)
   111         -#define IOCTL_SMARTCARD_SET_PROTOCOL    SCARD_CTL_CODE(12)
   112         -#define IOCTL_SMARTCARD_GET_STATE       SCARD_CTL_CODE(14)
   113         -#define IOCTL_SMARTCARD_GET_LAST_ERROR  SCARD_CTL_CODE(15)
   114         -#define IOCTL_SMARTCARD_GET_PERF_CNTR   SCARD_CTL_CODE(16)
   115         -
   116         -
   117         -//
   118         -///////////////////////////////////////////////////////////////////////////////
   119         -//
   120         -// Tags for requesting card and reader attributes
   121         -//
   122         -
   123         -#define MAXIMUM_ATTR_STRING_LENGTH 32   // Nothing bigger than this from getAttr
   124         -#define MAXIMUM_SMARTCARD_READERS  10   // Limit the readers on the system
   125         -
   126         -#define SCARD_ATTR_VALUE(Class, Tag) ((((ULONG)(Class)) << 16) | ((ULONG)(Tag)))
   127         -
   128         -#define SCARD_CLASS_VENDOR_INFO     1   // Vendor information definitions
   129         -#define SCARD_CLASS_COMMUNICATIONS  2   // Communication definitions
   130         -#define SCARD_CLASS_PROTOCOL        3   // Protocol definitions
   131         -#define SCARD_CLASS_POWER_MGMT      4   // Power Management definitions
   132         -#define SCARD_CLASS_SECURITY        5   // Security Assurance definitions
   133         -#define SCARD_CLASS_MECHANICAL      6   // Mechanical characteristic definitions
   134         -#define SCARD_CLASS_VENDOR_DEFINED  7   // Vendor specific definitions
   135         -#define SCARD_CLASS_IFD_PROTOCOL    8   // Interface Device Protocol options
   136         -#define SCARD_CLASS_ICC_STATE       9   // ICC State specific definitions
   137         -#define SCARD_CLASS_PERF       0x7ffe   // performace counters
   138         -#define SCARD_CLASS_SYSTEM     0x7fff   // System-specific definitions
   139         -
   140         -#define SCARD_ATTR_VENDOR_NAME SCARD_ATTR_VALUE(SCARD_CLASS_VENDOR_INFO, 0x0100)
   141         -#define SCARD_ATTR_VENDOR_IFD_TYPE SCARD_ATTR_VALUE(SCARD_CLASS_VENDOR_INFO, 0x0101)
   142         -#define SCARD_ATTR_VENDOR_IFD_VERSION SCARD_ATTR_VALUE(SCARD_CLASS_VENDOR_INFO, 0x0102)
   143         -#define SCARD_ATTR_VENDOR_IFD_SERIAL_NO SCARD_ATTR_VALUE(SCARD_CLASS_VENDOR_INFO, 0x0103)
   144         -#define SCARD_ATTR_CHANNEL_ID SCARD_ATTR_VALUE(SCARD_CLASS_COMMUNICATIONS, 0x0110)
   145         -#define SCARD_ATTR_PROTOCOL_TYPES SCARD_ATTR_VALUE(SCARD_CLASS_PROTOCOL, 0x0120)
   146         -// #define SCARD_ATTR_ASYNC_PROTOCOL_TYPES SCARD_ATTR_VALUE(SCARD_CLASS_PROTOCOL, 0x0120)
   147         -#define SCARD_ATTR_DEFAULT_CLK SCARD_ATTR_VALUE(SCARD_CLASS_PROTOCOL, 0x0121)
   148         -#define SCARD_ATTR_MAX_CLK SCARD_ATTR_VALUE(SCARD_CLASS_PROTOCOL, 0x0122)
   149         -#define SCARD_ATTR_DEFAULT_DATA_RATE SCARD_ATTR_VALUE(SCARD_CLASS_PROTOCOL, 0x0123)
   150         -#define SCARD_ATTR_MAX_DATA_RATE SCARD_ATTR_VALUE(SCARD_CLASS_PROTOCOL, 0x0124)
   151         -#define SCARD_ATTR_MAX_IFSD SCARD_ATTR_VALUE(SCARD_CLASS_PROTOCOL, 0x0125)
   152         -// #define SCARD_ATTR_SYNC_PROTOCOL_TYPES SCARD_ATTR_VALUE(SCARD_CLASS_PROTOCOL, 0x0126)
   153         -#define SCARD_ATTR_POWER_MGMT_SUPPORT SCARD_ATTR_VALUE(SCARD_CLASS_POWER_MGMT, 0x0131)
   154         -#define SCARD_ATTR_USER_TO_CARD_AUTH_DEVICE SCARD_ATTR_VALUE(SCARD_CLASS_SECURITY, 0x0140)
   155         -#define SCARD_ATTR_USER_AUTH_INPUT_DEVICE SCARD_ATTR_VALUE(SCARD_CLASS_SECURITY, 0x0142)
   156         -#define SCARD_ATTR_CHARACTERISTICS SCARD_ATTR_VALUE(SCARD_CLASS_MECHANICAL, 0x0150)
   157         -
   158         -#define SCARD_ATTR_CURRENT_PROTOCOL_TYPE SCARD_ATTR_VALUE(SCARD_CLASS_IFD_PROTOCOL, 0x0201)
   159         -#define SCARD_ATTR_CURRENT_CLK SCARD_ATTR_VALUE(SCARD_CLASS_IFD_PROTOCOL, 0x0202)
   160         -#define SCARD_ATTR_CURRENT_F SCARD_ATTR_VALUE(SCARD_CLASS_IFD_PROTOCOL, 0x0203)
   161         -#define SCARD_ATTR_CURRENT_D SCARD_ATTR_VALUE(SCARD_CLASS_IFD_PROTOCOL, 0x0204)
   162         -#define SCARD_ATTR_CURRENT_N SCARD_ATTR_VALUE(SCARD_CLASS_IFD_PROTOCOL, 0x0205)
   163         -#define SCARD_ATTR_CURRENT_W SCARD_ATTR_VALUE(SCARD_CLASS_IFD_PROTOCOL, 0x0206)
   164         -#define SCARD_ATTR_CURRENT_IFSC SCARD_ATTR_VALUE(SCARD_CLASS_IFD_PROTOCOL, 0x0207)
   165         -#define SCARD_ATTR_CURRENT_IFSD SCARD_ATTR_VALUE(SCARD_CLASS_IFD_PROTOCOL, 0x0208)
   166         -#define SCARD_ATTR_CURRENT_BWT SCARD_ATTR_VALUE(SCARD_CLASS_IFD_PROTOCOL, 0x0209)
   167         -#define SCARD_ATTR_CURRENT_CWT SCARD_ATTR_VALUE(SCARD_CLASS_IFD_PROTOCOL, 0x020a)
   168         -#define SCARD_ATTR_CURRENT_EBC_ENCODING SCARD_ATTR_VALUE(SCARD_CLASS_IFD_PROTOCOL, 0x020b)
   169         -#define SCARD_ATTR_EXTENDED_BWT SCARD_ATTR_VALUE(SCARD_CLASS_IFD_PROTOCOL, 0x020c)
   170         -
   171         -#define SCARD_ATTR_ICC_PRESENCE SCARD_ATTR_VALUE(SCARD_CLASS_ICC_STATE, 0x0300)
   172         -#define SCARD_ATTR_ICC_INTERFACE_STATUS SCARD_ATTR_VALUE(SCARD_CLASS_ICC_STATE, 0x0301)
   173         -#define SCARD_ATTR_CURRENT_IO_STATE SCARD_ATTR_VALUE(SCARD_CLASS_ICC_STATE, 0x0302)
   174         -#define SCARD_ATTR_ATR_STRING SCARD_ATTR_VALUE(SCARD_CLASS_ICC_STATE, 0x0303)
   175         -#define SCARD_ATTR_ICC_TYPE_PER_ATR SCARD_ATTR_VALUE(SCARD_CLASS_ICC_STATE, 0x0304)
   176         -
   177         -#define SCARD_ATTR_ESC_RESET SCARD_ATTR_VALUE(SCARD_CLASS_VENDOR_DEFINED, 0xA000)
   178         -#define SCARD_ATTR_ESC_CANCEL SCARD_ATTR_VALUE(SCARD_CLASS_VENDOR_DEFINED, 0xA003)
   179         -#define SCARD_ATTR_ESC_AUTHREQUEST SCARD_ATTR_VALUE(SCARD_CLASS_VENDOR_DEFINED, 0xA005)
   180         -#define SCARD_ATTR_MAXINPUT SCARD_ATTR_VALUE(SCARD_CLASS_VENDOR_DEFINED, 0xA007)
   181         -
   182         -#define SCARD_ATTR_DEVICE_UNIT SCARD_ATTR_VALUE(SCARD_CLASS_SYSTEM, 0x0001)
   183         -#define SCARD_ATTR_DEVICE_IN_USE SCARD_ATTR_VALUE(SCARD_CLASS_SYSTEM, 0x0002)
   184         -#define SCARD_ATTR_DEVICE_FRIENDLY_NAME_A SCARD_ATTR_VALUE(SCARD_CLASS_SYSTEM, 0x0003)
   185         -#define SCARD_ATTR_DEVICE_SYSTEM_NAME_A SCARD_ATTR_VALUE(SCARD_CLASS_SYSTEM, 0x0004)
   186         -#define SCARD_ATTR_DEVICE_FRIENDLY_NAME_W SCARD_ATTR_VALUE(SCARD_CLASS_SYSTEM, 0x0005)
   187         -#define SCARD_ATTR_DEVICE_SYSTEM_NAME_W SCARD_ATTR_VALUE(SCARD_CLASS_SYSTEM, 0x0006)
   188         -#define SCARD_ATTR_SUPRESS_T1_IFS_REQUEST SCARD_ATTR_VALUE(SCARD_CLASS_SYSTEM, 0x0007)
   189         -
   190         -#define SCARD_PERF_NUM_TRANSMISSIONS SCARD_ATTR_VALUE(SCARD_CLASS_PERF, 0x0001)
   191         -#define SCARD_PERF_BYTES_TRANSMITTED SCARD_ATTR_VALUE(SCARD_CLASS_PERF, 0x0002)
   192         -#define SCARD_PERF_TRANSMISSION_TIME SCARD_ATTR_VALUE(SCARD_CLASS_PERF, 0x0003)
   193         -
   194         -#ifdef UNICODE
   195         -#define SCARD_ATTR_DEVICE_FRIENDLY_NAME SCARD_ATTR_DEVICE_FRIENDLY_NAME_W
   196         -#define SCARD_ATTR_DEVICE_SYSTEM_NAME SCARD_ATTR_DEVICE_SYSTEM_NAME_W
   197         -#else
   198         -#define SCARD_ATTR_DEVICE_FRIENDLY_NAME SCARD_ATTR_DEVICE_FRIENDLY_NAME_A
   199         -#define SCARD_ATTR_DEVICE_SYSTEM_NAME SCARD_ATTR_DEVICE_SYSTEM_NAME_A
   200         -#endif
   201         -
   202         -
   203         -//
   204         -// T=0 Protocol Defines
   205         -//
   206         -
   207         -#define SCARD_T0_HEADER_LENGTH 7
   208         -#define SCARD_T0_CMD_LENGTH 5
   209         -
   210         -
   211         -//
   212         -// T=1 Protocol Defines
   213         -//
   214         -
   215         -#define SCARD_T1_PROLOGUE_LENGTH 3
   216         -#define SCARD_T1_EPILOGUE_LENGTH 2
   217         -#define SCARD_T1_MAX_IFS 254
   218         -
   219         -
   220         -//
   221         -///////////////////////////////////////////////////////////////////////////////
   222         -//
   223         -//  Reader states
   224         -//
   225         -
   226         -#define SCARD_UNKNOWN     0   // This value implies the driver is unaware
   227         -                              // of the current state of the reader.
   228         -#define SCARD_ABSENT      1   // This value implies there is no card in
   229         -                              // the reader.
   230         -#define SCARD_PRESENT     2   // This value implies there is a card is
   231         -                              // present in the reader, but that it has
   232         -                              // not been moved into position for use.
   233         -#define SCARD_SWALLOWED   3   // This value implies there is a card in the
   234         -                              // reader in position for use.  The card is
   235         -                              // not powered.
   236         -#define SCARD_POWERED     4   // This value implies there is power is
   237         -                              // being provided to the card, but the
   238         -                              // Reader Driver is unaware of the mode of
   239         -                              // the card.
   240         -#define SCARD_NEGOTIABLE  5   // This value implies the card has been
   241         -                              // reset and is awaiting PTS negotiation.
   242         -#define SCARD_SPECIFIC    6   // This value implies the card has been
   243         -                              // reset and specific communication
   244         -                              // protocols have been established.
   245         -
   246         -////////////////////////////////////////////////////////////////////////////////
   247         -//
   248         -//  I/O Services
   249         -//
   250         -//      The following services provide access to the I/O capabilities of the
   251         -//      reader drivers.  Services of the Smart Card are requested by placing the
   252         -//      following structure into the protocol buffer:
   253         -//
   254         -
   255         -
   256         -typedef struct _SCARD_IO_REQUEST{
   257         -    DWORD dwProtocol;   // Protocol identifier
   258         -    DWORD cbPciLength;  // Protocol Control Information Length
   259         -} SCARD_IO_REQUEST, *PSCARD_IO_REQUEST, *LPSCARD_IO_REQUEST;
   260         -typedef const SCARD_IO_REQUEST *LPCSCARD_IO_REQUEST;
   261         -
   262         -
   263         -//
   264         -// T=0 protocol services.
   265         -//
   266         -
   267         -typedef struct {
   268         -    BYTE
   269         -        bCla,   // The instruction class
   270         -        bIns,   // The instruction code within the instruction class
   271         -        bP1,
   272         -        bP2,    // Parameters to the instruction
   273         -        bP3;    // Size of I/O Transfer
   274         -} SCARD_T0_COMMAND, *LPSCARD_T0_COMMAND;
   275         -
   276         -typedef struct {
   277         -    SCARD_IO_REQUEST ioRequest;
   278         -    BYTE
   279         -        bSw1,
   280         -        bSw2;           // Return codes from the instruction
   281         -    union
   282         -    {
   283         -        SCARD_T0_COMMAND CmdBytes;
   284         -        BYTE rgbHeader[5];
   285         -    } DUMMYUNIONNAME;
   286         -} SCARD_T0_REQUEST;
   287         -
   288         -typedef SCARD_T0_REQUEST *PSCARD_T0_REQUEST, *LPSCARD_T0_REQUEST;
   289         -
   290         -
   291         -//
   292         -//  T=1 Protocol Services
   293         -//
   294         -
   295         -typedef struct {
   296         -    SCARD_IO_REQUEST ioRequest;
   297         -} SCARD_T1_REQUEST;
   298         -typedef SCARD_T1_REQUEST *PSCARD_T1_REQUEST, *LPSCARD_T1_REQUEST;
   299         -
   300         -
   301         -//
   302         -////////////////////////////////////////////////////////////////////////////////
   303         -//
   304         -//  Driver attribute flags
   305         -//
   306         -
   307         -#define SCARD_READER_SWALLOWS       0x00000001  // Reader has a card swallowing
   308         -                                                // mechanism.
   309         -#define SCARD_READER_EJECTS         0x00000002  // Reader has a card ejection
   310         -                                                // mechanism.
   311         -#define SCARD_READER_CONFISCATES    0x00000004  // Reader has a card capture
   312         -                                                // mechanism.
   313         -
   314         -//
   315         -///////////////////////////////////////////////////////////////////////////////
   316         -//
   317         -// Type of reader
   318         -//
   319         -#define SCARD_READER_TYPE_SERIAL    0x01
   320         -#define SCARD_READER_TYPE_PARALELL  0x02
   321         -#define SCARD_READER_TYPE_KEYBOARD  0x04
   322         -#define SCARD_READER_TYPE_SCSI      0x08
   323         -#define SCARD_READER_TYPE_IDE       0x10
   324         -#define SCARD_READER_TYPE_USB       0x20
   325         -#define SCARD_READER_TYPE_PCMCIA    0x40
   326         -#define SCARD_READER_TYPE_VENDOR    0xF0
   327         -
   328         -#ifdef __cplusplus
   329         -}
   330         -#endif
   331         -#endif
   332         -
   333         -

Deleted build/cackey_win32_build/lib/winscard.dll version [c65243081f].

cannot compute difference between binary files

Deleted build/cackey_win32_build/lib/winscard.lib version [eadd06eb72].

cannot compute difference between binary files