[1/2] winscard: Adding the missing SCARD_E_XXX and SCARD_W_XXX
error codes.
Francois Gouget
fgouget at codeweavers.com
Tue May 15 06:48:29 CDT 2007
Adding scarderr.h with the same definitions.
---
Resending because the previous patch was missing the corresponding
include/Makefile.in change.
I believe the winscard patches were stuck because of header issues. So I
have redone them from the MSDN and following as closely as I could
existing Wine code. Hopefully this will unblock the rest of the winscard
patches.
This first part just adds the winscard error codes as this was already
partially present in the Wine headers and is independent from the rest
of winscard API. I duplicated the codes in winerror.h and scarderr.h as
recommended by Alexandre (strictly respects the PSDK's header
dependencies). As noted, if you included winerror.h, then the '#ifndef
SCARD_S_SUCCESS' in scarderr.h (also present in the PSDK) ensures that
none of its (slightly incompatible) definitions will be used. In other
words scarderr.h is quite useless, except in very specific
circumstances (e.h. direct inclusion in rc files).
include/Makefile.in | 1 +
include/scarderr.h | 97 +++++++++++++++++++++++++++++++++++++++++++++++++++
include/winerror.h | 59 ++++++++++++++++++++++++++++++-
3 files changed, 156 insertions(+), 1 deletions(-)
diff --git a/include/Makefile.in b/include/Makefile.in
index 2577872..d218856 100644
--- a/include/Makefile.in
+++ b/include/Makefile.in
@@ -293,6 +293,7 @@ SRCDIR_INCLUDES = \
rpcndr.h \
rpcnterr.h \
rpcproxy.h \
+ scarderr.h \
schannel.h \
schemadef.h \
schnlsp.h \
diff --git a/include/scarderr.h b/include/scarderr.h
new file mode 100644
index 0000000..74a4515
--- /dev/null
+++ b/include/scarderr.h
@@ -0,0 +1,97 @@
+/*
+ * Winscard definitions
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+/* Note that if you included winerror.h directly or indirectly,
+ * none of these definitions will be used!
+ */
+#ifndef SCARD_S_SUCCESS
+
+
+#define FACILITY_SYSTEM 0
+#define FACILITY_SCARD 16
+
+#define STATUS_SEVERITY_INFORMATIONAL ((NTSTATUS) 0x00000001)
+#define STATUS_SEVERITY_WARNING ((NTSTATUS) 0x00000002)
+#define STATUS_SEVERITY_ERROR ((NTSTATUS) 0x00000003)
+
+#define SCARD_S_SUCCESS NO_ERROR
+#define SCARD_F_INTERNAL_ERROR ((DWORD)0x80100001L)
+#define SCARD_E_CANCELLED ((DWORD)0x80100002L)
+#define SCARD_E_INVALID_HANDLE ((DWORD)0x80100003L)
+#define SCARD_E_INVALID_PARAMETER ((DWORD)0x80100004L)
+#define SCARD_E_INVALID_TARGET ((DWORD)0x80100005L)
+#define SCARD_E_NO_MEMORY ((DWORD)0x80100006L)
+#define SCARD_F_WAITED_TOO_LONG ((DWORD)0x80100007L)
+#define SCARD_E_INSUFFICIENT_BUFFER ((DWORD)0x80100008L)
+#define SCARD_E_UNKNOWN_READER ((DWORD)0x80100009L)
+#define SCARD_E_TIMEOUT ((DWORD)0x8010000AL)
+#define SCARD_E_SHARING_VIOLATION ((DWORD)0x8010000BL)
+#define SCARD_E_NO_SMARTCARD ((DWORD)0x8010000CL)
+#define SCARD_E_UNKNOWN_CARD ((DWORD)0x8010000DL)
+#define SCARD_E_CANT_DISPOSE ((DWORD)0x8010000EL)
+#define SCARD_E_PROTO_MISMATCH ((DWORD)0x8010000FL)
+#define SCARD_E_NOT_READY ((DWORD)0x80100010L)
+#define SCARD_E_INVALID_VALUE ((DWORD)0x80100011L)
+#define SCARD_E_SYSTEM_CANCELLED ((DWORD)0x80100012L)
+#define SCARD_F_COMM_ERROR ((DWORD)0x80100013L)
+#define SCARD_F_UNKNOWN_ERROR ((DWORD)0x80100014L)
+#define SCARD_E_INVALID_ATR ((DWORD)0x80100015L)
+#define SCARD_E_NOT_TRANSACTED ((DWORD)0x80100016L)
+#define SCARD_E_READER_UNAVAILABLE ((DWORD)0x80100017L)
+#define SCARD_P_SHUTDOWN ((DWORD)0x80100018L)
+#define SCARD_E_PCI_TOO_SMALL ((DWORD)0x80100019L)
+#define SCARD_E_READER_UNSUPPORTED ((DWORD)0x8010001AL)
+#define SCARD_E_DUPLICATE_READER ((DWORD)0x8010001BL)
+#define SCARD_E_CARD_UNSUPPORTED ((DWORD)0x8010001CL)
+#define SCARD_E_NO_SERVICE ((DWORD)0x8010001DL)
+#define SCARD_E_SERVICE_STOPPED ((DWORD)0x8010001EL)
+#define SCARD_E_UNEXPECTED ((DWORD)0x8010001FL)
+#define SCARD_E_ICC_INSTALLATION ((DWORD)0x80100020L)
+#define SCARD_E_ICC_CREATEORDER ((DWORD)0x80100021L)
+#define SCARD_E_UNSUPPORTED_FEATURE ((DWORD)0x80100022L)
+#define SCARD_E_DIR_NOT_FOUND ((DWORD)0x80100023L)
+#define SCARD_E_FILE_NOT_FOUND ((DWORD)0x80100024L)
+#define SCARD_E_NO_DIR ((DWORD)0x80100025L)
+#define SCARD_E_NO_FILE ((DWORD)0x80100026L)
+#define SCARD_E_NO_ACCESS ((DWORD)0x80100027L)
+#define SCARD_E_WRITE_TOO_MANY ((DWORD)0x80100028L)
+#define SCARD_E_BAD_SEEK ((DWORD)0x80100029L)
+#define SCARD_E_INVALID_CHV ((DWORD)0x8010002AL)
+#define SCARD_E_UNKNOWN_RES_MNG ((DWORD)0x8010002BL)
+#define SCARD_E_NO_SUCH_CERTIFICATE ((DWORD)0x8010002CL)
+#define SCARD_E_CERTIFICATE_UNAVAILABLE ((DWORD)0x8010002DL)
+#define SCARD_E_NO_READERS_AVAILABLE ((DWORD)0x8010002EL)
+#define SCARD_E_COMM_DATA_LOST ((DWORD)0x8010002FL)
+#define SCARD_E_NO_KEY_CONTAINER ((DWORD)0x80100030L)
+#define SCARD_E_SERVER_TOO_BUSY ((DWORD)0x80100031L)
+#define SCARD_W_UNSUPPORTED_CARD ((DWORD)0x80100065L)
+#define SCARD_W_UNRESPONSIVE_CARD ((DWORD)0x80100066L)
+#define SCARD_W_UNPOWERED_CARD ((DWORD)0x80100067L)
+#define SCARD_W_RESET_CARD ((DWORD)0x80100068L)
+#define SCARD_W_REMOVED_CARD ((DWORD)0x80100069L)
+#define SCARD_W_SECURITY_VIOLATION ((DWORD)0x8010006AL)
+#define SCARD_W_WRONG_CHV ((DWORD)0x8010006BL)
+#define SCARD_W_CHV_BLOCKED ((DWORD)0x8010006CL)
+#define SCARD_W_EOF ((DWORD)0x8010006DL)
+#define SCARD_W_CANCELLED_BY_USER ((DWORD)0x8010006EL)
+#define SCARD_W_CARD_NOT_AUTHENTICATED ((DWORD)0x8010006FL)
+#define SCARD_W_CACHE_ITEM_NOT_FOUND ((DWORD)0x80100070L)
+#define SCARD_W_CACHE_ITEM_STALE ((DWORD)0x80100071L)
+#define SCARD_W_CACHE_ITEM_TOO_BIG ((DWORD)0x80100072L)
+
+#endif /* SCARD_S_SUCCESS */
diff --git a/include/winerror.h b/include/winerror.h
index c04bd96..437cc83 100644
--- a/include/winerror.h
+++ b/include/winerror.h
@@ -2334,13 +2334,70 @@
#define SPAPI_E_ERROR_NOT_INSTALLED _HRESULT_TYPEDEF_(0x800F1000L)
/* Smart card management error codes */
+#define SCARD_S_SUCCESS NO_ERROR
+#define SCARD_F_INTERNAL_ERROR _HRESULT_TYPEDEF_(0x80100001L)
+#define SCARD_E_CANCELLED _HRESULT_TYPEDEF_(0x80100002L)
+#define SCARD_E_INVALID_HANDLE _HRESULT_TYPEDEF_(0x80100003L)
+#define SCARD_E_INVALID_PARAMETER _HRESULT_TYPEDEF_(0x80100004L)
+#define SCARD_E_INVALID_TARGET _HRESULT_TYPEDEF_(0x80100005L)
+#define SCARD_E_NO_MEMORY _HRESULT_TYPEDEF_(0x80100006L)
+#define SCARD_F_WAITED_TOO_LONG _HRESULT_TYPEDEF_(0x80100007L)
+#define SCARD_E_INSUFFICIENT_BUFFER _HRESULT_TYPEDEF_(0x80100008L)
+#define SCARD_E_UNKNOWN_READER _HRESULT_TYPEDEF_(0x80100009L)
+#define SCARD_E_TIMEOUT _HRESULT_TYPEDEF_(0x8010000AL)
+#define SCARD_E_SHARING_VIOLATION _HRESULT_TYPEDEF_(0x8010000BL)
#define SCARD_E_NO_SMARTCARD _HRESULT_TYPEDEF_(0x8010000CL)
+#define SCARD_E_UNKNOWN_CARD _HRESULT_TYPEDEF_(0x8010000DL)
+#define SCARD_E_CANT_DISPOSE _HRESULT_TYPEDEF_(0x8010000EL)
+#define SCARD_E_PROTO_MISMATCH _HRESULT_TYPEDEF_(0x8010000FL)
+#define SCARD_E_NOT_READY _HRESULT_TYPEDEF_(0x80100010L)
+#define SCARD_E_INVALID_VALUE _HRESULT_TYPEDEF_(0x80100011L)
+#define SCARD_E_SYSTEM_CANCELLED _HRESULT_TYPEDEF_(0x80100012L)
+#define SCARD_F_COMM_ERROR _HRESULT_TYPEDEF_(0x80100013L)
+#define SCARD_F_UNKNOWN_ERROR _HRESULT_TYPEDEF_(0x80100014L)
+#define SCARD_E_INVALID_ATR _HRESULT_TYPEDEF_(0x80100015L)
+#define SCARD_E_NOT_TRANSACTED _HRESULT_TYPEDEF_(0x80100016L)
+#define SCARD_E_READER_UNAVAILABLE _HRESULT_TYPEDEF_(0x80100017L)
+#define SCARD_P_SHUTDOWN _HRESULT_TYPEDEF_(0x80100018L)
+#define SCARD_E_PCI_TOO_SMALL _HRESULT_TYPEDEF_(0x80100019L)
+#define SCARD_E_READER_UNSUPPORTED _HRESULT_TYPEDEF_(0x8010001AL)
+#define SCARD_E_DUPLICATE_READER _HRESULT_TYPEDEF_(0x8010001BL)
+#define SCARD_E_CARD_UNSUPPORTED _HRESULT_TYPEDEF_(0x8010001CL)
+#define SCARD_E_NO_SERVICE _HRESULT_TYPEDEF_(0x8010001DL)
+#define SCARD_E_SERVICE_STOPPED _HRESULT_TYPEDEF_(0x8010001EL)
+#define SCARD_E_UNEXPECTED _HRESULT_TYPEDEF_(0x8010001FL)
+#define SCARD_E_ICC_INSTALLATION _HRESULT_TYPEDEF_(0x80100020L)
+#define SCARD_E_ICC_CREATEORDER _HRESULT_TYPEDEF_(0x80100021L)
+#define SCARD_E_UNSUPPORTED_FEATURE _HRESULT_TYPEDEF_(0x80100022L)
+#define SCARD_E_DIR_NOT_FOUND _HRESULT_TYPEDEF_(0x80100023L)
+#define SCARD_E_FILE_NOT_FOUND _HRESULT_TYPEDEF_(0x80100024L)
+#define SCARD_E_NO_DIR _HRESULT_TYPEDEF_(0x80100025L)
+#define SCARD_E_NO_FILE _HRESULT_TYPEDEF_(0x80100026L)
+#define SCARD_E_NO_ACCESS _HRESULT_TYPEDEF_(0x80100027L)
+#define SCARD_E_WRITE_TOO_MANY _HRESULT_TYPEDEF_(0x80100028L)
+#define SCARD_E_BAD_SEEK _HRESULT_TYPEDEF_(0x80100029L)
+#define SCARD_E_INVALID_CHV _HRESULT_TYPEDEF_(0x8010002AL)
+#define SCARD_E_UNKNOWN_RES_MNG _HRESULT_TYPEDEF_(0x8010002BL)
#define SCARD_E_NO_SUCH_CERTIFICATE _HRESULT_TYPEDEF_(0x8010002CL)
+#define SCARD_E_CERTIFICATE_UNAVAILABLE _HRESULT_TYPEDEF_(0x8010002DL)
+#define SCARD_E_NO_READERS_AVAILABLE _HRESULT_TYPEDEF_(0x8010002EL)
#define SCARD_E_COMM_DATA_LOST _HRESULT_TYPEDEF_(0x8010002FL)
-
+#define SCARD_E_NO_KEY_CONTAINER _HRESULT_TYPEDEF_(0x80100030L)
+#define SCARD_E_SERVER_TOO_BUSY _HRESULT_TYPEDEF_(0x80100031L)
+#define SCARD_W_UNSUPPORTED_CARD _HRESULT_TYPEDEF_(0x80100065L)
+#define SCARD_W_UNRESPONSIVE_CARD _HRESULT_TYPEDEF_(0x80100066L)
+#define SCARD_W_UNPOWERED_CARD _HRESULT_TYPEDEF_(0x80100067L)
+#define SCARD_W_RESET_CARD _HRESULT_TYPEDEF_(0x80100068L)
+#define SCARD_W_REMOVED_CARD _HRESULT_TYPEDEF_(0x80100069L)
+#define SCARD_W_SECURITY_VIOLATION _HRESULT_TYPEDEF_(0x8010006AL)
#define SCARD_W_WRONG_CHV _HRESULT_TYPEDEF_(0x8010006BL)
#define SCARD_W_CHV_BLOCKED _HRESULT_TYPEDEF_(0x8010006CL)
+#define SCARD_W_EOF _HRESULT_TYPEDEF_(0x8010006DL)
+#define SCARD_W_CANCELLED_BY_USER _HRESULT_TYPEDEF_(0x8010006EL)
#define SCARD_W_CARD_NOT_AUTHENTICATED _HRESULT_TYPEDEF_(0x8010006FL)
+#define SCARD_W_CACHE_ITEM_NOT_FOUND _HRESULT_TYPEDEF_(0x80100070L)
+#define SCARD_W_CACHE_ITEM_STALE _HRESULT_TYPEDEF_(0x80100071L)
+#define SCARD_W_CACHE_ITEM_TOO_BIG _HRESULT_TYPEDEF_(0x80100072L)
#define ERROR_AUDITING_DISABLED _HRESULT_TYPEDEF_(0xC0090001L)
#define ERROR_ALL_SIDS_FILTERED _HRESULT_TYPEDEF_(0xC0090002L)
--
1.4.4.4
More information about the wine-patches
mailing list