root/trunk/src/libopensc/libopensc.exports

Revision 3506, 4.1 KB (checked in by alonbl, 7 months ago)

Plug&Play support

This is not the best solution, but focus on smallest code change.

Changes:

1. Add detect_readers() to reader opts, this adds new readers to the end

of the readers list until list is full.

2. Add sc_ctx_detect_readers() that calls readers' detect_readers().

3. Fixup pcsc_lock() so that it reconnect to the card and report proper

error so caller may be notified if session was lost.

4. Allow context to be created without readers.

5. Call sc_ctx_detect_readers() from PKCS#11 C_GetSlotList with NULL_PTR.

6. Allow no reader at detect_card, as reader my be removed.

7. Since I broke ABI, I updated the external module version requirement

to match OpenSC version. In the future a separate version should be
maintained for each interface, this should be unrelated to the package
version.

Alon

---

svn merge -r 3480:3505 https://www.opensc-project.org/svn/opensc/branches/alonbl/pnp

M src/tools/opensc-tool.c
M src/pkcs11/pkcs11-global.c
M src/pkcs11/slot.c
M src/libopensc/reader-pcsc.c
M src/libopensc/internal-winscard.h
M src/libopensc/ctx.c
M src/libopensc/reader-ctapi.c
M src/libopensc/libopensc.exports
M src/libopensc/reader-openct.c
M src/libopensc/opensc.h

Line 
1_sc_asn1_decode
2_sc_asn1_encode
3_sc_debug
4_sc_error
5sc_append_file_id
6sc_append_path
7sc_append_path_id
8sc_append_record
9sc_asn1_clear_algorithm_id
10sc_asn1_decode
11sc_asn1_decode_algorithm_id
12sc_asn1_decode_bit_string
13sc_asn1_decode_bit_string_ni
14sc_asn1_decode_choice
15sc_asn1_decode_integer
16sc_asn1_decode_object_id
17sc_asn1_encode
18sc_asn1_encode_algorithm_id
19sc_asn1_find_tag
20sc_asn1_print_tags
21sc_asn1_put_tag
22sc_asn1_skip_tag
23sc_asn1_verify_tag
24sc_base64_decode
25sc_base64_encode
26sc_bin_to_hex
27sc_build_pin
28sc_card_ctl
29sc_card_valid
30sc_change_reference_data
31sc_compare_oid
32sc_compare_path
33sc_compare_path_prefix
34sc_compute_signature
35sc_concatenate_path
36sc_connect_card
37sc_context_create
38sc_copy_asn1_entry
39sc_create_file
40sc_ctx_detect_readers
41sc_ctx_get_reader
42sc_ctx_get_reader_count
43sc_ctx_suppress_errors_off
44sc_ctx_suppress_errors_on
45sc_decipher
46sc_delete_file
47sc_delete_record
48sc_der_clear
49sc_der_copy
50sc_detect_card_presence
51sc_disconnect_card
52sc_do_log
53sc_do_log_va
54sc_enum_apps
55sc_establish_context
56sc_file_add_acl_entry
57sc_file_clear_acl_entries
58sc_file_dup
59sc_file_free
60sc_file_get_acl_entry
61sc_file_new
62sc_file_set_prop_attr
63sc_file_set_sec_attr
64sc_file_set_type_attr
65sc_file_valid
66sc_find_app_by_aid
67sc_find_pkcs15_app
68sc_format_apdu
69sc_format_asn1_entry
70sc_format_oid
71sc_format_path
72sc_free_apps
73sc_get_cache_dir
74sc_get_challenge
75sc_get_conf_block
76sc_get_data
77sc_get_mf_path
78sc_get_version
79sc_hex_dump
80sc_hex_to_bin
81sc_list_files
82sc_lock
83sc_logout
84sc_make_cache_dir
85sc_mem_clear
86sc_path_print
87sc_path_set
88sc_pin_cmd
89sc_pkcs15_add_df
90sc_pkcs15_add_object
91sc_pkcs15_add_unusedspace
92sc_pkcs15_bind
93sc_pkcs15_bind_synthetic
94sc_pkcs15_cache_file
95sc_pkcs15_card_clear
96sc_pkcs15_card_free
97sc_pkcs15_card_new
98sc_pkcs15_change_pin
99sc_pkcs15_compare_id
100sc_pkcs15_compute_signature
101sc_pkcs15_decipher
102sc_pkcs15_decode_aodf_entry
103sc_pkcs15_decode_cdf_entry
104sc_pkcs15_decode_dodf_entry
105sc_pkcs15_decode_enveloped_data
106sc_pkcs15_decode_prkdf_entry
107sc_pkcs15_decode_prkey
108sc_pkcs15_decode_pubkey
109sc_pkcs15_decode_pubkey_dsa
110sc_pkcs15_decode_pubkey_rsa
111sc_pkcs15_decode_pukdf_entry
112sc_pkcs15_encode_aodf_entry
113sc_pkcs15_encode_cdf_entry
114sc_pkcs15_encode_df
115sc_pkcs15_encode_dodf_entry
116sc_pkcs15_encode_enveloped_data
117sc_pkcs15_encode_odf
118sc_pkcs15_encode_prkdf_entry
119sc_pkcs15_encode_prkey
120sc_pkcs15_encode_pubkey
121sc_pkcs15_encode_pubkey_dsa
122sc_pkcs15_encode_pubkey_rsa
123sc_pkcs15_encode_pukdf_entry
124sc_pkcs15_encode_tokeninfo
125sc_pkcs15_encode_unusedspace
126sc_pkcs15_erase_prkey
127sc_pkcs15_erase_pubkey
128sc_pkcs15_find_cert_by_id
129sc_pkcs15_find_data_object_by_app_oid
130sc_pkcs15_find_data_object_by_id
131sc_pkcs15_find_object_by_id
132sc_pkcs15_find_pin_by_auth_id
133sc_pkcs15_find_pin_by_reference
134sc_pkcs15_find_prkey_by_id
135sc_pkcs15_find_prkey_by_id_usage
136sc_pkcs15_find_prkey_by_reference
137sc_pkcs15_find_pubkey_by_id
138sc_pkcs15_find_so_pin
139sc_pkcs15_format_id
140sc_pkcs15_free_cert_info
141sc_pkcs15_free_certificate
142sc_pkcs15_free_data_info
143sc_pkcs15_free_data_object
144sc_pkcs15_free_object
145sc_pkcs15_free_pin_info
146sc_pkcs15_free_prkey
147sc_pkcs15_free_prkey_info
148sc_pkcs15_free_pubkey
149sc_pkcs15_free_pubkey_info
150sc_pkcs15_get_objects
151sc_pkcs15_get_objects_cond
152sc_pkcs15_hex_string_to_id
153sc_pkcs15_is_emulation_only
154sc_pkcs15_make_absolute_path
155sc_pkcs15_parse_df
156sc_pkcs15_parse_tokeninfo
157sc_pkcs15_parse_unusedspace
158sc_pkcs15_print_id
159sc_pkcs15_read_cached_file
160sc_pkcs15_read_certificate
161sc_pkcs15_read_data_object
162sc_pkcs15_read_file
163sc_pkcs15_read_prkey
164sc_pkcs15_read_pubkey
165sc_pkcs15_remove_df
166sc_pkcs15_remove_object
167sc_pkcs15_remove_unusedspace
168sc_pkcs15_search_objects
169sc_pkcs15_unbind
170sc_pkcs15_unblock_pin
171sc_pkcs15_unwrap_data
172sc_pkcs15_verify_pin
173sc_pkcs15_wrap_data
174sc_pkcs15emu_add_data_object
175sc_pkcs15emu_add_pin_obj
176sc_pkcs15emu_add_rsa_prkey
177sc_pkcs15emu_add_rsa_pubkey
178sc_pkcs15emu_add_x509_cert
179sc_pkcs15emu_object_add
180sc_print_path
181sc_put_data
182sc_read_binary
183sc_read_record
184sc_release_context
185sc_reset
186sc_reset_retry_counter
187sc_restore_security_env
188sc_select_file
189sc_set_card_driver
190sc_set_security_env
191sc_strerror
192sc_transmit_apdu
193sc_ui_display_debug
194sc_ui_display_error
195sc_ui_get_pin
196sc_ui_get_pin_pair
197sc_ui_set_language
198sc_unlock
199sc_update_binary
200sc_update_dir
201sc_update_record
202sc_verify
203sc_wait_for_event
204sc_write_binary
205sc_write_record
Note: See TracBrowser for help on using the browser.