FreeRDP
pf_channel_smartcard.c File Reference

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)
 

Macro Definition Documentation

◆ SCARD_SVC_CHANNEL_NAME

#define SCARD_SVC_CHANNEL_NAME   "SCARD"

◆ TAG

#define TAG   PROXY_TAG("channel.scard")

FreeRDP: A Remote Desktop Protocol Implementation FreeRDP Proxy Server

Copyright 2021 Armin Novak armin.nosp@m..nov.nosp@m.ak@th.nosp@m.inca.nosp@m.st.co.nosp@m.m Copyright 2021 Thincast Technologies GmbH

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.

Function Documentation

◆ channel_stop_and_wait()

static void channel_stop_and_wait ( pf_channel_client_context *  scard,
BOOL  reset 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ irp_thread()

static VOID irp_thread ( PTP_CALLBACK_INSTANCE  Instance,
PVOID  Context,
PTP_WORK  Work 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ pf_channel_client_write_iostatus()

static BOOL pf_channel_client_write_iostatus ( wStream out,
const SMARTCARD_OPERATION op,
UINT32  ioStatus 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ pf_channel_scard_client_context_free()

static void pf_channel_scard_client_context_free ( InterceptContextMapEntry base)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ pf_channel_smartcard_client_emulate()

BOOL pf_channel_smartcard_client_emulate ( pClientContext *  pc)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ pf_channel_smartcard_client_free()

void pf_channel_smartcard_client_free ( pClientContext *  pc)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ pf_channel_smartcard_client_handle()

BOOL pf_channel_smartcard_client_handle ( wLog *  log,
pClientContext *  pc,
wStream s,
wStream out,
pf_scard_send_fkt_t  send_fkt 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ pf_channel_smartcard_client_new()

BOOL pf_channel_smartcard_client_new ( pClientContext *  pc)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ pf_channel_smartcard_client_reset()

BOOL pf_channel_smartcard_client_reset ( pClientContext *  pc)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ pf_channel_smartcard_server_handle()

BOOL pf_channel_smartcard_server_handle ( pServerContext *  ps,
wStream s 
)
Here is the caller graph for this function:

◆ queue_copy()

static void * queue_copy ( const void *  obj)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ queue_free()

static void queue_free ( void *  obj)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ scard_get_client_context()

static pf_channel_client_context* scard_get_client_context ( pClientContext *  pc)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ start_irp_thread()

static BOOL start_irp_thread ( pf_channel_client_context *  scard,
const pf_channel_client_queue_element *  e 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ work_object_free()

static void work_object_free ( void *  arg)
static
Here is the caller graph for this function: