* command.c (cmd_pkauth): New.
[gnupg.git] / scd / apdu.h
index 47fd1a8..44166a3 100644 (file)
@@ -22,7 +22,7 @@
 #define APDU_H
 
 /* ISO 7816 values for the statusword are defined here because they
-   should not be visible to the users of the actual iso command
+   should not be visible to the users of the actual ISO command
    API. */
 enum {
   SW_MORE_DATA      = 0x6100, /* Note: that the low byte must be
@@ -32,19 +32,31 @@ enum {
   SW_CHV_WRONG      = 0x6982,
   SW_CHV_BLOCKED    = 0x6983,
   SW_USE_CONDITIONS = 0x6985,
+  SW_NOT_SUPPORTED  = 0x6a81,
   SW_BAD_PARAMETER  = 0x6a80, /* (in the data field) */
   SW_REF_NOT_FOUND  = 0x6a88,
   SW_BAD_P0_P1      = 0x6b00,
   SW_INS_NOT_SUP    = 0x6d00,
   SW_CLA_NOT_SUP    = 0x6e00,
-  SW_SUCCESS        = 0x9000
+  SW_SUCCESS        = 0x9000,
+
+  /* The follwoing statuswords are no real ones but used to map host
+     OS errors into status words.  A status word is 16 bit so that
+     those values can't be issued by a card. */
+  SW_HOST_OUT_OF_CORE = 0x10001,  /* No way yet to differentiate
+                                     between errnos on a failed malloc. */
+  SW_HOST_INV_VALUE   = 0x10002,
+  SW_HOST_INCOMPLETE_CARD_RESPONSE = 0x10003,
 };
 
 
 
+/* Note , that apdu_open_reader returns no status word but -1 on error. */
 int apdu_open_reader (int port);
 unsigned char *apdu_get_atr (int slot, size_t *atrlen);
 
+
+/* The apdu send functions do return status words. */
 int apdu_send_simple (int slot, int class, int ins, int p0, int p1,
                       int lc, const char *data);
 int apdu_send (int slot, int class, int ins, int p0, int p1,
@@ -56,3 +68,6 @@ int apdu_send_le (int slot, int class, int ins, int p0, int p1,
 
 
 #endif /*APDU_H*/
+
+
+