| # Copyright 2025 The Chromium Authors |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| # |
| # Contributing to Chrome DevTools Protocol: https://goo.gle/devtools-contribution-guide-cdp |
| # This domain allows to emulate smart card readers and cards, |
| # bypassing the need for physical hardware. |
| |
| experimental domain SmartCardEmulation |
| |
| # Indicates the PC/SC error code. |
| # |
| # This maps to: |
| # PC/SC Lite: https://pcsclite.apdu.fr/api/group__ErrorCodes.html |
| # Microsoft: https://learn.microsoft.com/en-us/windows/win32/secauthn/authentication-return-values |
| type ResultCode extends string |
| enum |
| success |
| removed-card |
| reset-card |
| unpowered-card |
| unresponsive-card |
| unsupported-card |
| reader-unavailable |
| sharing-violation |
| not-transacted |
| no-smartcard |
| proto-mismatch |
| system-cancelled |
| not-ready |
| cancelled |
| insufficient-buffer |
| invalid-handle |
| invalid-parameter |
| invalid-value |
| no-memory |
| timeout |
| unknown-reader |
| unsupported-feature |
| no-readers-available |
| service-stopped |
| no-service |
| comm-error |
| internal-error |
| server-too-busy |
| unexpected |
| shutdown |
| |
| # Maps to SCARD_E_UNKNOWN_CARD. |
| # TODO(crbug.com/472114998): Rename Mojo's kUnknownError to kUnknownCard to match. |
| unknown-card |
| |
| # Error code that is not mapped in this enum. |
| unknown |
| |
| # Maps to the |SCARD_SHARE_*| values. |
| type ShareMode extends string |
| enum |
| shared |
| exclusive |
| direct |
| |
| # Indicates what the reader should do with the card. |
| type Disposition extends string |
| enum |
| leave-card |
| reset-card |
| unpower-card |
| eject-card |
| |
| # Maps to |SCARD_*| connection state values. |
| type ConnectionState extends string |
| enum |
| absent |
| present |
| swallowed |
| powered |
| negotiable |
| specific |
| |
| # Maps to the |SCARD_STATE_*| flags. |
| type ReaderStateFlags extends object |
| properties |
| optional boolean unaware |
| optional boolean ignore |
| optional boolean changed |
| optional boolean unknown |
| optional boolean unavailable |
| optional boolean empty |
| optional boolean present |
| optional boolean exclusive |
| optional boolean inuse |
| optional boolean mute |
| optional boolean unpowered |
| |
| # Maps to the |SCARD_PROTOCOL_*| flags. |
| type ProtocolSet extends object |
| properties |
| optional boolean t0 |
| optional boolean t1 |
| optional boolean raw |
| |
| # Maps to the |SCARD_PROTOCOL_*| values. |
| type Protocol extends string |
| enum |
| t0 |
| t1 |
| raw |
| |
| type ReaderStateIn extends object |
| properties |
| string reader |
| ReaderStateFlags currentState |
| integer currentInsertionCount |
| |
| type ReaderStateOut extends object |
| properties |
| string reader |
| ReaderStateFlags eventState |
| integer eventCount |
| binary atr |
| |
| # Enables the |SmartCardEmulation| domain. |
| command enable |
| |
| # Disables the |SmartCardEmulation| domain. |
| command disable |
| |
| # Reports the successful result of a |SCardEstablishContext| call. |
| # |
| # This maps to: |
| # PC/SC Lite: https://pcsclite.apdu.fr/api/group__API.html#gaa1b8970169fd4883a6dc4a8f43f19b67 |
| # Microsoft: https://learn.microsoft.com/en-us/windows/win32/api/winscard/nf-winscard-scardestablishcontext |
| command reportEstablishContextResult |
| parameters |
| string requestId |
| integer contextId |
| |
| # Reports the successful result of a |SCardReleaseContext| call. |
| # |
| # This maps to: |
| # PC/SC Lite: https://pcsclite.apdu.fr/api/group__API.html#ga6aabcba7744c5c9419fdd6404f73a934 |
| # Microsoft: https://learn.microsoft.com/en-us/windows/win32/api/winscard/nf-winscard-scardreleasecontext |
| command reportReleaseContextResult |
| parameters |
| string requestId |
| |
| # Reports the successful result of a |SCardListReaders| call. |
| # |
| # This maps to: |
| # PC/SC Lite: https://pcsclite.apdu.fr/api/group__API.html#ga93b07815789b3cf2629d439ecf20f0d9 |
| # Microsoft: https://learn.microsoft.com/en-us/windows/win32/api/winscard/nf-winscard-scardlistreadersa |
| command reportListReadersResult |
| parameters |
| string requestId |
| array of string readers |
| |
| # Reports the successful result of a |SCardGetStatusChange| call. |
| # |
| # This maps to: |
| # PC/SC Lite: https://pcsclite.apdu.fr/api/group__API.html#ga33247d5d1257d59e55647c3bb717db24 |
| # Microsoft: https://learn.microsoft.com/en-us/windows/win32/api/winscard/nf-winscard-scardgetstatuschangea |
| command reportGetStatusChangeResult |
| parameters |
| string requestId |
| array of ReaderStateOut readerStates |
| |
| # Reports the result of a |SCardBeginTransaction| call. |
| # On success, this creates a new transaction object. |
| # |
| # This maps to: |
| # PC/SC Lite: https://pcsclite.apdu.fr/api/group__API.html#gaddb835dce01a0da1d6ca02d33ee7d861 |
| # Microsoft: https://learn.microsoft.com/en-us/windows/win32/api/winscard/nf-winscard-scardbegintransaction |
| command reportBeginTransactionResult |
| parameters |
| string requestId |
| integer handle |
| |
| # Reports the successful result of a call that returns only a result code. |
| # Used for: |SCardCancel|, |SCardDisconnect|, |SCardSetAttrib|, |SCardEndTransaction|. |
| # |
| # This maps to: |
| # 1. SCardCancel |
| # PC/SC Lite: https://pcsclite.apdu.fr/api/group__API.html#gaacbbc0c6d6c0cbbeb4f4debf6fbeeee6 |
| # Microsoft: https://learn.microsoft.com/en-us/windows/win32/api/winscard/nf-winscard-scardcancel |
| # |
| # 2. SCardDisconnect |
| # PC/SC Lite: https://pcsclite.apdu.fr/api/group__API.html#ga4be198045c73ec0deb79e66c0ca1738a |
| # Microsoft: https://learn.microsoft.com/en-us/windows/win32/api/winscard/nf-winscard-scarddisconnect |
| # |
| # 3. SCardSetAttrib |
| # PC/SC Lite: https://pcsclite.apdu.fr/api/group__API.html#ga060f0038a4ddfd5dd2b8fadf3c3a2e4f |
| # Microsoft: https://learn.microsoft.com/en-us/windows/win32/api/winscard/nf-winscard-scardsetattrib |
| # |
| # 4. SCardEndTransaction |
| # PC/SC Lite: https://pcsclite.apdu.fr/api/group__API.html#gae8742473b404363e5c587f570d7e2f3b |
| # Microsoft: https://learn.microsoft.com/en-us/windows/win32/api/winscard/nf-winscard-scardendtransaction |
| command reportPlainResult |
| parameters |
| string requestId |
| |
| # Reports the successful result of a |SCardConnect| call. |
| # |
| # This maps to: |
| # PC/SC Lite: https://pcsclite.apdu.fr/api/group__API.html#ga4e515829752e0a8dbc4d630696a8d6a5 |
| # Microsoft: https://learn.microsoft.com/en-us/windows/win32/api/winscard/nf-winscard-scardconnecta |
| command reportConnectResult |
| parameters |
| string requestId |
| integer handle |
| optional Protocol activeProtocol |
| |
| # Reports the successful result of a call that sends back data on success. |
| # Used for |SCardTransmit|, |SCardControl|, and |SCardGetAttrib|. |
| # |
| # This maps to: |
| # 1. SCardTransmit |
| # PC/SC Lite: https://pcsclite.apdu.fr/api/group__API.html#ga9a2d77242a271310269065e64633ab99 |
| # Microsoft: https://learn.microsoft.com/en-us/windows/win32/api/winscard/nf-winscard-scardtransmit |
| # |
| # 2. SCardControl |
| # PC/SC Lite: https://pcsclite.apdu.fr/api/group__API.html#gac3454d4657110fd7f753b2d3d8f4e32f |
| # Microsoft: https://learn.microsoft.com/en-us/windows/win32/api/winscard/nf-winscard-scardcontrol |
| # |
| # 3. SCardGetAttrib |
| # PC/SC Lite: https://pcsclite.apdu.fr/api/group__API.html#gaacfec51917255b7a25b94c5104961602 |
| # Microsoft: https://learn.microsoft.com/en-us/windows/win32/api/winscard/nf-winscard-scardgetattrib |
| command reportDataResult |
| parameters |
| string requestId |
| binary data |
| |
| # Reports the successful result of a |SCardStatus| call. |
| # |
| # This maps to: |
| # PC/SC Lite: https://pcsclite.apdu.fr/api/group__API.html#gae49c3c894ad7ac12a5b896bde70d0382 |
| # Microsoft: https://learn.microsoft.com/en-us/windows/win32/api/winscard/nf-winscard-scardstatusa |
| command reportStatusResult |
| parameters |
| string requestId |
| string readerName |
| ConnectionState state |
| binary atr |
| optional Protocol protocol |
| |
| # Reports an error result for the given request. |
| command reportError |
| parameters |
| string requestId |
| ResultCode resultCode |
| |
| # Fired when |SCardEstablishContext| is called. |
| # |
| # This maps to: |
| # PC/SC Lite: https://pcsclite.apdu.fr/api/group__API.html#gaa1b8970169fd4883a6dc4a8f43f19b67 |
| # Microsoft: https://learn.microsoft.com/en-us/windows/win32/api/winscard/nf-winscard-scardestablishcontext |
| event establishContextRequested |
| parameters |
| string requestId |
| |
| # Fired when |SCardReleaseContext| is called. |
| # |
| # This maps to: |
| # PC/SC Lite: https://pcsclite.apdu.fr/api/group__API.html#ga6aabcba7744c5c9419fdd6404f73a934 |
| # Microsoft: https://learn.microsoft.com/en-us/windows/win32/api/winscard/nf-winscard-scardreleasecontext |
| event releaseContextRequested |
| parameters |
| string requestId |
| integer contextId |
| |
| # Fired when |SCardListReaders| is called. |
| # |
| # This maps to: |
| # PC/SC Lite: https://pcsclite.apdu.fr/api/group__API.html#ga93b07815789b3cf2629d439ecf20f0d9 |
| # Microsoft: https://learn.microsoft.com/en-us/windows/win32/api/winscard/nf-winscard-scardlistreadersa |
| event listReadersRequested |
| parameters |
| string requestId |
| integer contextId |
| |
| # Fired when |SCardGetStatusChange| is called. Timeout is specified in milliseconds. |
| # |
| # This maps to: |
| # PC/SC Lite: https://pcsclite.apdu.fr/api/group__API.html#ga33247d5d1257d59e55647c3bb717db24 |
| # Microsoft: https://learn.microsoft.com/en-us/windows/win32/api/winscard/nf-winscard-scardgetstatuschangea |
| event getStatusChangeRequested |
| parameters |
| string requestId |
| integer contextId |
| array of ReaderStateIn readerStates |
| |
| # in milliseconds, if absent, it means "infinite" |
| optional integer timeout |
| |
| # Fired when |SCardCancel| is called. |
| # |
| # This maps to: |
| # PC/SC Lite: https://pcsclite.apdu.fr/api/group__API.html#gaacbbc0c6d6c0cbbeb4f4debf6fbeeee6 |
| # Microsoft: https://learn.microsoft.com/en-us/windows/win32/api/winscard/nf-winscard-scardcancel |
| event cancelRequested |
| parameters |
| string requestId |
| integer contextId |
| |
| # Fired when |SCardConnect| is called. |
| # |
| # This maps to: |
| # PC/SC Lite: https://pcsclite.apdu.fr/api/group__API.html#ga4e515829752e0a8dbc4d630696a8d6a5 |
| # Microsoft: https://learn.microsoft.com/en-us/windows/win32/api/winscard/nf-winscard-scardconnecta |
| event connectRequested |
| parameters |
| string requestId |
| integer contextId |
| string reader |
| ShareMode shareMode |
| ProtocolSet preferredProtocols |
| |
| # Fired when |SCardDisconnect| is called. |
| # |
| # This maps to: |
| # PC/SC Lite: https://pcsclite.apdu.fr/api/group__API.html#ga4be198045c73ec0deb79e66c0ca1738a |
| # Microsoft: https://learn.microsoft.com/en-us/windows/win32/api/winscard/nf-winscard-scarddisconnect |
| event disconnectRequested |
| parameters |
| string requestId |
| integer handle |
| Disposition disposition |
| |
| # Fired when |SCardTransmit| is called. |
| # |
| # This maps to: |
| # PC/SC Lite: https://pcsclite.apdu.fr/api/group__API.html#ga9a2d77242a271310269065e64633ab99 |
| # Microsoft: https://learn.microsoft.com/en-us/windows/win32/api/winscard/nf-winscard-scardtransmit |
| event transmitRequested |
| parameters |
| string requestId |
| integer handle |
| binary data |
| optional Protocol protocol |
| |
| # Fired when |SCardControl| is called. |
| # |
| # This maps to: |
| # PC/SC Lite: https://pcsclite.apdu.fr/api/group__API.html#gac3454d4657110fd7f753b2d3d8f4e32f |
| # Microsoft: https://learn.microsoft.com/en-us/windows/win32/api/winscard/nf-winscard-scardcontrol |
| event controlRequested |
| parameters |
| string requestId |
| integer handle |
| integer controlCode |
| binary data |
| |
| # Fired when |SCardGetAttrib| is called. |
| # |
| # This maps to: |
| # PC/SC Lite: https://pcsclite.apdu.fr/api/group__API.html#gaacfec51917255b7a25b94c5104961602 |
| # Microsoft: https://learn.microsoft.com/en-us/windows/win32/api/winscard/nf-winscard-scardgetattrib |
| event getAttribRequested |
| parameters |
| string requestId |
| integer handle |
| integer attribId |
| |
| # Fired when |SCardSetAttrib| is called. |
| # |
| # This maps to: |
| # PC/SC Lite: https://pcsclite.apdu.fr/api/group__API.html#ga060f0038a4ddfd5dd2b8fadf3c3a2e4f |
| # Microsoft: https://learn.microsoft.com/en-us/windows/win32/api/winscard/nf-winscard-scardsetattrib |
| event setAttribRequested |
| parameters |
| string requestId |
| integer handle |
| integer attribId |
| binary data |
| |
| # Fired when |SCardStatus| is called. |
| # |
| # This maps to: |
| # PC/SC Lite: https://pcsclite.apdu.fr/api/group__API.html#gae49c3c894ad7ac12a5b896bde70d0382 |
| # Microsoft: https://learn.microsoft.com/en-us/windows/win32/api/winscard/nf-winscard-scardstatusa |
| event statusRequested |
| parameters |
| string requestId |
| integer handle |
| |
| # Fired when |SCardBeginTransaction| is called. |
| # |
| # This maps to: |
| # PC/SC Lite: https://pcsclite.apdu.fr/api/group__API.html#gaddb835dce01a0da1d6ca02d33ee7d861 |
| # Microsoft: https://learn.microsoft.com/en-us/windows/win32/api/winscard/nf-winscard-scardbegintransaction |
| event beginTransactionRequested |
| parameters |
| string requestId |
| integer handle |
| |
| # Fired when |SCardEndTransaction| is called. |
| # |
| # This maps to: |
| # PC/SC Lite: https://pcsclite.apdu.fr/api/group__API.html#gae8742473b404363e5c587f570d7e2f3b |
| # Microsoft: https://learn.microsoft.com/en-us/windows/win32/api/winscard/nf-winscard-scardendtransaction |
| event endTransactionRequested |
| parameters |
| string requestId |
| integer handle |
| Disposition disposition |