From 0d0048e5ad05007feb7fb0f4245cc777ed5dc7a7 Mon Sep 17 00:00:00 2001 From: vtarasov Date: Tue, 2 Jan 2007 10:04:35 +0000 Subject: [PATCH] introduce SC_PATH_TYPE_FROM_CURRENT and SC_PATH_TYPE_PARENT path types git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3094 c6295689-39f2-0310-b995-f0e70906c6a9 --- src/libopensc/iso7816.c | 8 ++++++++ src/libopensc/types.h | 2 ++ 2 files changed, 10 insertions(+) diff --git a/src/libopensc/iso7816.c b/src/libopensc/iso7816.c index d1e857af..8cb9e6b6 100644 --- a/src/libopensc/iso7816.c +++ b/src/libopensc/iso7816.c @@ -426,6 +426,14 @@ static int iso7816_select_file(sc_card_t *card, pathlen -= 2; } break; + case SC_PATH_TYPE_FROM_CURRENT: + apdu.p1 = 9; + break; + case SC_PATH_TYPE_PARENT: + apdu.p1 = 3; + pathlen = 0; + apdu.cse = SC_APDU_CASE_2_SHORT; + break; default: SC_FUNC_RETURN(card->ctx, 2, SC_ERROR_INVALID_ARGUMENTS); } diff --git a/src/libopensc/types.h b/src/libopensc/types.h index b5840f6d..44527d54 100644 --- a/src/libopensc/types.h +++ b/src/libopensc/types.h @@ -38,6 +38,8 @@ struct sc_object_id { #define SC_PATH_TYPE_PATH 2 #define SC_PATH_TYPE_PATH_PROT 3 /* path of a file containing EnveleopedData objects */ +#define SC_PATH_TYPE_FROM_CURRENT 4 +#define SC_PATH_TYPE_PARENT 5 #define SC_MAX_PATH_SIZE 16 #define SC_MAX_PATH_STRING_SIZE (SC_MAX_PATH_SIZE * 2 + 1)