FreeRDP
|
#include <winpr/assert.h>
#include <winpr/string.h>
#include <winpr/smartcard.h>
#include <winpr/pool.h>
#include <freerdp/server/proxy/proxy_log.h>
#include <freerdp/emulate/scard/smartcard_emulate.h>
#include <freerdp/channels/scard.h>
#include <freerdp/channels/rdpdr.h>
#include <freerdp/utils/rdpdr_utils.h>
#include <freerdp/utils/smartcard_operations.h>
#include <freerdp/utils/smartcard_call.h>
#include "pf_channel_smartcard.h"
#include "pf_channel_rdpdr.h"
Macros | |
#define | TAG PROXY_TAG("channel.scard") |
#define | SCARD_SVC_CHANNEL_NAME "SCARD" |
Functions | |
static pf_channel_client_context * | scard_get_client_context (pClientContext *pc) |
static BOOL | pf_channel_client_write_iostatus (wStream *out, const SMARTCARD_OPERATION *op, UINT32 ioStatus) |
static void | queue_free (void *obj) |
static void * | queue_copy (const void *obj) |
static VOID | irp_thread (PTP_CALLBACK_INSTANCE Instance, PVOID Context, PTP_WORK Work) |
static BOOL | start_irp_thread (pf_channel_client_context *scard, const pf_channel_client_queue_element *e) |
BOOL | pf_channel_smartcard_client_handle (wLog *log, pClientContext *pc, wStream *s, wStream *out, pf_scard_send_fkt_t send_fkt) |
BOOL | pf_channel_smartcard_server_handle (pServerContext *ps, wStream *s) |
static void | channel_stop_and_wait (pf_channel_client_context *scard, BOOL reset) |
static void | pf_channel_scard_client_context_free (InterceptContextMapEntry *base) |
static void | work_object_free (void *arg) |
BOOL | pf_channel_smartcard_client_new (pClientContext *pc) |
void | pf_channel_smartcard_client_free (pClientContext *pc) |
BOOL | pf_channel_smartcard_client_emulate (pClientContext *pc) |
BOOL | pf_channel_smartcard_client_reset (pClientContext *pc) |
#define SCARD_SVC_CHANNEL_NAME "SCARD" |
#define TAG PROXY_TAG("channel.scard") |
FreeRDP: A Remote Desktop Protocol Implementation FreeRDP Proxy Server
Copyright 2021 Armin Novak armin Copyright 2021 Thincast Technologies GmbH .nov ak@th inca st.co m
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
|
static |
|
static |
|
static |
|
static |
BOOL pf_channel_smartcard_client_emulate | ( | pClientContext * | pc | ) |
void pf_channel_smartcard_client_free | ( | pClientContext * | pc | ) |
BOOL pf_channel_smartcard_client_handle | ( | wLog * | log, |
pClientContext * | pc, | ||
wStream * | s, | ||
wStream * | out, | ||
pf_scard_send_fkt_t | send_fkt | ||
) |
BOOL pf_channel_smartcard_client_new | ( | pClientContext * | pc | ) |
BOOL pf_channel_smartcard_client_reset | ( | pClientContext * | pc | ) |
BOOL pf_channel_smartcard_server_handle | ( | pServerContext * | ps, |
wStream * | s | ||
) |
|
static |
|
static |
|
static |
|
static |
|
static |