4 * Copyright (c) 2012 Samsung Electronics Co., Ltd. All rights reserved.
6 * Contact: Ja-young Gu <jygu@samsung.com>
8 * Licensed under the Apache License, Version 2.0 (the "License");
9 * you may not use this file except in compliance with the License.
10 * You may obtain a copy of the License at
12 * http://www.apache.org/licenses/LICENSE-2.0
14 * Unless required by applicable law or agreed to in writing, software
15 * distributed under the License is distributed on an "AS IS" BASIS,
16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 * See the License for the specific language governing permissions and
18 * limitations under the License.
21 #ifndef __TCORE_CO_SAP_H__
22 #define __TCORE_CO_SAP_H__
24 #include <core_object.h>
28 struct tcore_sap_operations {
29 TReturn (*connect)(CoreObject *o, UserRequest *ur);
30 TReturn (*disconnect)(CoreObject *o, UserRequest *ur);
31 TReturn (*req_status)(CoreObject *o, UserRequest *ur);
32 TReturn (*set_transport_protocol)(CoreObject *o, UserRequest *ur);
33 TReturn (*set_power)(CoreObject *o, UserRequest *ur);
34 TReturn (*get_atr)(CoreObject *o, UserRequest *ur);
35 TReturn (*transfer_apdu)(CoreObject *o, UserRequest *ur);
36 TReturn (*get_cardreader_status)(CoreObject *o, UserRequest *ur);
39 CoreObject* tcore_sap_new(TcorePlugin *p, const char *name, struct tcore_sap_operations *ops, TcoreHal *hal);
40 void tcore_sap_free(CoreObject *o);