FreeRDP
smartcard_pack.c File Reference
#include <freerdp/config.h>
#include <winpr/crt.h>
#include <winpr/print.h>
#include <freerdp/channels/scard.h>
#include <freerdp/utils/smartcard_pack.h>
#include <freerdp/log.h>

Macros

#define TAG   FREERDP_TAG("scard.pack")
 
#define smartcard_unpack_redir_scard_context(s, context, index)   smartcard_unpack_redir_scard_context_((s), (context), (index), __FILE__, __FUNCTION__, __LINE__)
 
#define smartcard_unpack_redir_scard_handle(s, context, index)   smartcard_unpack_redir_scard_handle_((s), (context), (index), __FILE__, __FUNCTION__, __LINE__)
 
#define smartcard_ndr_pointer_read(s, index, ptr)   smartcard_ndr_pointer_read_((s), (index), (ptr), __FILE__, __FUNCTION__, __LINE__)
 

Enumerations

enum  ndr_ptr_t { NDR_PTR_FULL, NDR_PTR_SIMPLE, NDR_PTR_FIXED }
 

Functions

static LONG smartcard_unpack_redir_scard_context_ (wStream *s, REDIR_SCARDCONTEXT *context, UINT32 *index, const char *file, const char *function, int line)
 
static LONG smartcard_pack_redir_scard_context (wStream *s, const REDIR_SCARDCONTEXT *context, DWORD *index)
 
static LONG smartcard_unpack_redir_scard_handle_ (wStream *s, REDIR_SCARDHANDLE *handle, UINT32 *index, const char *file, const char *function, int line)
 
static LONG smartcard_pack_redir_scard_handle (wStream *s, const REDIR_SCARDHANDLE *handle, DWORD *index)
 
static LONG smartcard_unpack_redir_scard_context_ref (wStream *s, REDIR_SCARDCONTEXT *context)
 
static LONG smartcard_pack_redir_scard_context_ref (wStream *s, const REDIR_SCARDCONTEXT *context)
 
static LONG smartcard_unpack_redir_scard_handle_ref (wStream *s, REDIR_SCARDHANDLE *handle)
 
static LONG smartcard_pack_redir_scard_handle_ref (wStream *s, const REDIR_SCARDHANDLE *handle)
 
static BOOL smartcard_ndr_pointer_read_ (wStream *s, UINT32 *index, UINT32 *ptr, const char *file, const char *fkt, size_t line)
 
static LONG smartcard_ndr_read (wStream *s, BYTE **data, size_t min, size_t elementSize, ndr_ptr_t type)
 
static BOOL smartcard_ndr_pointer_write (wStream *s, UINT32 *index, DWORD length)
 
static LONG smartcard_ndr_write (wStream *s, const BYTE *data, UINT32 size, UINT32 elementSize, ndr_ptr_t type)
 
static LONG smartcard_ndr_write_state (wStream *s, const ReaderState_Return *data, UINT32 size, ndr_ptr_t type)
 
static LONG smartcard_ndr_read_atrmask (wStream *s, LocateCards_ATRMask **data, size_t min, ndr_ptr_t type)
 
static LONG smartcard_ndr_read_fixed_string_a (wStream *s, CHAR **data, size_t min, ndr_ptr_t type)
 
static LONG smartcard_ndr_read_fixed_string_w (wStream *s, WCHAR **data, size_t min, ndr_ptr_t type)
 
static LONG smartcard_ndr_read_a (wStream *s, CHAR **data, ndr_ptr_t type)
 
static LONG smartcard_ndr_read_w (wStream *s, WCHAR **data, ndr_ptr_t type)
 
static LONG smartcard_ndr_read_u (wStream *s, UUID **data)
 
static char * smartcard_convert_string_list (const void *in, size_t bytes, BOOL unicode)
 
static char * smartcard_msz_dump_a (const char *msz, size_t len, char *buffer, size_t bufferLen)
 
static char * smartcard_msz_dump_w (const WCHAR *msz, size_t len, char *buffer, size_t bufferLen)
 
static char * smartcard_array_dump (const void *pd, size_t len, char *buffer, size_t bufferLen)
 
static void smartcard_log_redir_handle (const char *tag, const REDIR_SCARDHANDLE *pHandle)
 
static void smartcard_log_context (const char *tag, const REDIR_SCARDCONTEXT *phContext)
 
static void smartcard_trace_context_and_string_call_a (const char *name, const REDIR_SCARDCONTEXT *phContext, const CHAR *sz)
 
static void smartcard_trace_context_and_string_call_w (const char *name, const REDIR_SCARDCONTEXT *phContext, const WCHAR *sz)
 
static void smartcard_trace_context_call (const Context_Call *call, const char *name)
 
static void smartcard_trace_list_reader_groups_call (const ListReaderGroups_Call *call, BOOL unicode)
 
static void smartcard_trace_get_status_change_w_call (const GetStatusChangeW_Call *call)
 
static void smartcard_trace_list_reader_groups_return (const ListReaderGroups_Return *ret, BOOL unicode)
 
static void smartcard_trace_list_readers_call (const ListReaders_Call *call, BOOL unicode)
 
static void smartcard_trace_locate_cards_by_atr_a_call (const LocateCardsByATRA_Call *call)
 
static void smartcard_trace_locate_cards_a_call (const LocateCardsA_Call *call)
 
static void smartcard_trace_locate_cards_return (const LocateCards_Return *ret)
 
static void smartcard_trace_get_reader_icon_return (const GetReaderIcon_Return *ret)
 
static void smartcard_trace_get_transmit_count_return (const GetTransmitCount_Return *ret)
 
static void smartcard_trace_read_cache_return (const ReadCache_Return *ret)
 
static void smartcard_trace_locate_cards_w_call (const LocateCardsW_Call *call)
 
static void smartcard_trace_list_readers_return (const ListReaders_Return *ret, BOOL unicode)
 
static void smartcard_trace_get_status_change_return (const GetStatusChange_Return *ret, BOOL unicode)
 
static void smartcard_trace_context_and_two_strings_a_call (const ContextAndTwoStringA_Call *call)
 
static void smartcard_trace_context_and_two_strings_w_call (const ContextAndTwoStringW_Call *call)
 
static void smartcard_trace_get_transmit_count_call (const GetTransmitCount_Call *call)
 
static void smartcard_trace_write_cache_a_call (const WriteCacheA_Call *call)
 
static void smartcard_trace_write_cache_w_call (const WriteCacheW_Call *call)
 
static void smartcard_trace_read_cache_a_call (const ReadCacheA_Call *call)
 
static void smartcard_trace_read_cache_w_call (const ReadCacheW_Call *call)
 
static void smartcard_trace_transmit_call (const Transmit_Call *call)
 
static void smartcard_trace_locate_cards_by_atr_w_call (const LocateCardsByATRW_Call *call)
 
static void smartcard_trace_transmit_return (const Transmit_Return *ret)
 
static void smartcard_trace_control_return (const Control_Return *ret)
 
static void smartcard_trace_control_call (const Control_Call *call)
 
static void smartcard_trace_set_attrib_call (const SetAttrib_Call *call)
 
static void smartcard_trace_get_attrib_return (const GetAttrib_Return *ret, DWORD dwAttrId)
 
static void smartcard_trace_get_attrib_call (const GetAttrib_Call *call)
 
static void smartcard_trace_status_call (const Status_Call *call, BOOL unicode)
 
static void smartcard_trace_status_return (const Status_Return *ret, BOOL unicode)
 
static void smartcard_trace_state_return (const State_Return *ret)
 
static void smartcard_trace_reconnect_return (const Reconnect_Return *ret)
 
static void smartcard_trace_connect_a_call (const ConnectA_Call *call)
 
static void smartcard_trace_connect_w_call (const ConnectW_Call *call)
 
static void smartcard_trace_hcard_and_disposition_call (const HCardAndDisposition_Call *call, const char *name)
 
static void smartcard_trace_establish_context_call (const EstablishContext_Call *call)
 
static void smartcard_trace_establish_context_return (const EstablishContext_Return *ret)
 
void smartcard_trace_long_return (const Long_Return *ret, const char *name)
 
static void smartcard_trace_connect_return (const Connect_Return *ret)
 
static void smartcard_trace_reconnect_call (const Reconnect_Call *call)
 
static void smartcard_trace_device_type_id_return (const GetDeviceTypeId_Return *ret)
 
static LONG smartcard_unpack_common_context_and_string_a (wStream *s, REDIR_SCARDCONTEXT *phContext, CHAR **pszReaderName)
 
static LONG smartcard_unpack_common_context_and_string_w (wStream *s, REDIR_SCARDCONTEXT *phContext, WCHAR **pszReaderName)
 
LONG smartcard_unpack_common_type_header (wStream *s)
 
void smartcard_pack_common_type_header (wStream *s)
 
LONG smartcard_unpack_private_type_header (wStream *s)
 
void smartcard_pack_private_type_header (wStream *s, UINT32 objectBufferLength)
 
LONG smartcard_unpack_read_size_align (wStream *s, size_t size, UINT32 alignment)
 
LONG smartcard_pack_write_size_align (wStream *s, size_t size, UINT32 alignment)
 
SCARDCONTEXT smartcard_scard_context_native_from_redir (REDIR_SCARDCONTEXT *context)
 
void smartcard_scard_context_native_to_redir (REDIR_SCARDCONTEXT *context, SCARDCONTEXT hContext)
 
SCARDHANDLE smartcard_scard_handle_native_from_redir (REDIR_SCARDHANDLE *handle)
 
void smartcard_scard_handle_native_to_redir (REDIR_SCARDHANDLE *handle, SCARDHANDLE hCard)
 
LONG smartcard_unpack_establish_context_call (wStream *s, EstablishContext_Call *call)
 
LONG smartcard_pack_establish_context_return (wStream *s, const EstablishContext_Return *ret)
 
LONG smartcard_unpack_context_call (wStream *s, Context_Call *call, const char *name)
 
LONG smartcard_unpack_list_reader_groups_call (wStream *s, ListReaderGroups_Call *call, BOOL unicode)
 
LONG smartcard_pack_list_reader_groups_return (wStream *s, const ListReaderGroups_Return *ret, BOOL unicode)
 
LONG smartcard_unpack_list_readers_call (wStream *s, ListReaders_Call *call, BOOL unicode)
 
LONG smartcard_pack_list_readers_return (wStream *s, const ListReaders_Return *ret, BOOL unicode)
 
static LONG smartcard_unpack_connect_common (wStream *s, Connect_Common_Call *common, UINT32 *index)
 
LONG smartcard_unpack_connect_a_call (wStream *s, ConnectA_Call *call)
 
LONG smartcard_unpack_connect_w_call (wStream *s, ConnectW_Call *call)
 
LONG smartcard_pack_connect_return (wStream *s, const Connect_Return *ret)
 
LONG smartcard_unpack_reconnect_call (wStream *s, Reconnect_Call *call)
 
LONG smartcard_pack_reconnect_return (wStream *s, const Reconnect_Return *ret)
 
LONG smartcard_unpack_hcard_and_disposition_call (wStream *s, HCardAndDisposition_Call *call, const char *name)
 
static void smartcard_trace_get_status_change_a_call (const GetStatusChangeA_Call *call)
 
static LONG smartcard_unpack_reader_state_a (wStream *s, LPSCARD_READERSTATEA *ppcReaders, UINT32 cReaders, UINT32 *ptrIndex)
 
static LONG smartcard_unpack_reader_state_w (wStream *s, LPSCARD_READERSTATEW *ppcReaders, UINT32 cReaders, UINT32 *ptrIndex)
 
LONG smartcard_unpack_get_status_change_a_call (wStream *s, GetStatusChangeA_Call *call)
 
LONG smartcard_unpack_get_status_change_w_call (wStream *s, GetStatusChangeW_Call *call)
 
LONG smartcard_pack_get_status_change_return (wStream *s, const GetStatusChange_Return *ret, BOOL unicode)
 
LONG smartcard_unpack_state_call (wStream *s, State_Call *call)
 
LONG smartcard_pack_state_return (wStream *s, const State_Return *ret)
 
LONG smartcard_unpack_status_call (wStream *s, Status_Call *call, BOOL unicode)
 
LONG smartcard_pack_status_return (wStream *s, const Status_Return *ret, BOOL unicode)
 
LONG smartcard_unpack_get_attrib_call (wStream *s, GetAttrib_Call *call)
 
LONG smartcard_pack_get_attrib_return (wStream *s, const GetAttrib_Return *ret, DWORD dwAttrId, DWORD cbAttrCallLen)
 
LONG smartcard_unpack_control_call (wStream *s, Control_Call *call)
 
LONG smartcard_pack_control_return (wStream *s, const Control_Return *ret)
 
LONG smartcard_unpack_transmit_call (wStream *s, Transmit_Call *call)
 
LONG smartcard_pack_transmit_return (wStream *s, const Transmit_Return *ret)
 
LONG smartcard_unpack_locate_cards_by_atr_a_call (wStream *s, LocateCardsByATRA_Call *call)
 
LONG smartcard_unpack_context_and_two_strings_a_call (wStream *s, ContextAndTwoStringA_Call *call)
 
LONG smartcard_unpack_context_and_two_strings_w_call (wStream *s, ContextAndTwoStringW_Call *call)
 
LONG smartcard_unpack_locate_cards_a_call (wStream *s, LocateCardsA_Call *call)
 
LONG smartcard_unpack_locate_cards_w_call (wStream *s, LocateCardsW_Call *call)
 
LONG smartcard_unpack_set_attrib_call (wStream *s, SetAttrib_Call *call)
 
LONG smartcard_unpack_locate_cards_by_atr_w_call (wStream *s, LocateCardsByATRW_Call *call)
 
LONG smartcard_unpack_read_cache_a_call (wStream *s, ReadCacheA_Call *call)
 
LONG smartcard_unpack_read_cache_w_call (wStream *s, ReadCacheW_Call *call)
 
LONG smartcard_unpack_write_cache_a_call (wStream *s, WriteCacheA_Call *call)
 
LONG smartcard_unpack_write_cache_w_call (wStream *s, WriteCacheW_Call *call)
 
LONG smartcard_unpack_get_transmit_count_call (wStream *s, GetTransmitCount_Call *call)
 
LONG smartcard_unpack_get_reader_icon_call (wStream *s, GetReaderIcon_Call *call)
 
LONG smartcard_unpack_context_and_string_a_call (wStream *s, ContextAndStringA_Call *call)
 
LONG smartcard_unpack_context_and_string_w_call (wStream *s, ContextAndStringW_Call *call)
 
LONG smartcard_unpack_get_device_type_id_call (wStream *s, GetDeviceTypeId_Call *call)
 
LONG smartcard_pack_device_type_id_return (wStream *s, const GetDeviceTypeId_Return *ret)
 
LONG smartcard_pack_locate_cards_return (wStream *s, const LocateCards_Return *ret)
 
LONG smartcard_pack_get_reader_icon_return (wStream *s, const GetReaderIcon_Return *ret)
 
LONG smartcard_pack_get_transmit_count_return (wStream *s, const GetTransmitCount_Return *ret)
 
LONG smartcard_pack_read_cache_return (wStream *s, const ReadCache_Return *ret)
 

Variables

static const DWORD g_LogLevel = WLOG_DEBUG
 

Macro Definition Documentation

◆ smartcard_ndr_pointer_read

#define smartcard_ndr_pointer_read (   s,
  index,
  ptr 
)    smartcard_ndr_pointer_read_((s), (index), (ptr), __FILE__, __FUNCTION__, __LINE__)

◆ smartcard_unpack_redir_scard_context

#define smartcard_unpack_redir_scard_context (   s,
  context,
  index 
)    smartcard_unpack_redir_scard_context_((s), (context), (index), __FILE__, __FUNCTION__, __LINE__)

◆ smartcard_unpack_redir_scard_handle

#define smartcard_unpack_redir_scard_handle (   s,
  context,
  index 
)    smartcard_unpack_redir_scard_handle_((s), (context), (index), __FILE__, __FUNCTION__, __LINE__)

◆ TAG

#define TAG   FREERDP_TAG("scard.pack")

FreeRDP: A Remote Desktop Protocol Implementation Smart Card Structure Packing

Copyright 2014 Marc-Andre Moreau marca.nosp@m.ndre.nosp@m..more.nosp@m.au@g.nosp@m.mail..nosp@m.com Copyright 2015 Thincast Technologies GmbH Copyright 2015 DI (FH) Martin Haimberger marti.nosp@m.n.ha.nosp@m.imber.nosp@m.ger@.nosp@m.thinc.nosp@m.ast..nosp@m.com Copyright 2020 Armin Novak armin.nosp@m..nov.nosp@m.ak@th.nosp@m.inca.nosp@m.st.co.nosp@m.m Copyright 2020 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.

Enumeration Type Documentation

◆ ndr_ptr_t

enum ndr_ptr_t
Enumerator
NDR_PTR_FULL 
NDR_PTR_SIMPLE 
NDR_PTR_FIXED 

Function Documentation

◆ smartcard_array_dump()

static char* smartcard_array_dump ( const void *  pd,
size_t  len,
char *  buffer,
size_t  bufferLen 
)
static
Here is the caller graph for this function:

◆ smartcard_convert_string_list()

static char* smartcard_convert_string_list ( const void *  in,
size_t  bytes,
BOOL  unicode 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_log_context()

static void smartcard_log_context ( const char *  tag,
const REDIR_SCARDCONTEXT phContext 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_log_redir_handle()

static void smartcard_log_redir_handle ( const char *  tag,
const REDIR_SCARDHANDLE pHandle 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_msz_dump_a()

static char* smartcard_msz_dump_a ( const char *  msz,
size_t  len,
char *  buffer,
size_t  bufferLen 
)
static
Here is the caller graph for this function:

◆ smartcard_msz_dump_w()

static char* smartcard_msz_dump_w ( const WCHAR *  msz,
size_t  len,
char *  buffer,
size_t  bufferLen 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_ndr_pointer_read_()

static BOOL smartcard_ndr_pointer_read_ ( wStream s,
UINT32 *  index,
UINT32 *  ptr,
const char *  file,
const char *  fkt,
size_t  line 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_ndr_pointer_write()

static BOOL smartcard_ndr_pointer_write ( wStream s,
UINT32 *  index,
DWORD  length 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_ndr_read()

static LONG smartcard_ndr_read ( wStream s,
BYTE **  data,
size_t  min,
size_t  elementSize,
ndr_ptr_t  type 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_ndr_read_a()

static LONG smartcard_ndr_read_a ( wStream s,
CHAR **  data,
ndr_ptr_t  type 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_ndr_read_atrmask()

static LONG smartcard_ndr_read_atrmask ( wStream s,
LocateCards_ATRMask **  data,
size_t  min,
ndr_ptr_t  type 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_ndr_read_fixed_string_a()

static LONG smartcard_ndr_read_fixed_string_a ( wStream s,
CHAR **  data,
size_t  min,
ndr_ptr_t  type 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_ndr_read_fixed_string_w()

static LONG smartcard_ndr_read_fixed_string_w ( wStream s,
WCHAR **  data,
size_t  min,
ndr_ptr_t  type 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_ndr_read_u()

static LONG smartcard_ndr_read_u ( wStream s,
UUID **  data 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_ndr_read_w()

static LONG smartcard_ndr_read_w ( wStream s,
WCHAR **  data,
ndr_ptr_t  type 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_ndr_write()

static LONG smartcard_ndr_write ( wStream s,
const BYTE data,
UINT32  size,
UINT32  elementSize,
ndr_ptr_t  type 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_ndr_write_state()

static LONG smartcard_ndr_write_state ( wStream s,
const ReaderState_Return data,
UINT32  size,
ndr_ptr_t  type 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_pack_common_type_header()

void smartcard_pack_common_type_header ( wStream s)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_pack_connect_return()

LONG smartcard_pack_connect_return ( wStream s,
const Connect_Return ret 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_pack_control_return()

LONG smartcard_pack_control_return ( wStream s,
const Control_Return ret 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_pack_device_type_id_return()

LONG smartcard_pack_device_type_id_return ( wStream s,
const GetDeviceTypeId_Return ret 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_pack_establish_context_return()

LONG smartcard_pack_establish_context_return ( wStream s,
const EstablishContext_Return ret 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_pack_get_attrib_return()

LONG smartcard_pack_get_attrib_return ( wStream s,
const GetAttrib_Return ret,
DWORD  dwAttrId,
DWORD  cbAttrCallLen 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_pack_get_reader_icon_return()

LONG smartcard_pack_get_reader_icon_return ( wStream s,
const GetReaderIcon_Return ret 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_pack_get_status_change_return()

LONG smartcard_pack_get_status_change_return ( wStream s,
const GetStatusChange_Return ret,
BOOL  unicode 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_pack_get_transmit_count_return()

LONG smartcard_pack_get_transmit_count_return ( wStream s,
const GetTransmitCount_Return ret 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_pack_list_reader_groups_return()

LONG smartcard_pack_list_reader_groups_return ( wStream s,
const ListReaderGroups_Return ret,
BOOL  unicode 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_pack_list_readers_return()

LONG smartcard_pack_list_readers_return ( wStream s,
const ListReaders_Return ret,
BOOL  unicode 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_pack_locate_cards_return()

LONG smartcard_pack_locate_cards_return ( wStream s,
const LocateCards_Return ret 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_pack_private_type_header()

void smartcard_pack_private_type_header ( wStream s,
UINT32  objectBufferLength 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_pack_read_cache_return()

LONG smartcard_pack_read_cache_return ( wStream s,
const ReadCache_Return ret 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_pack_reconnect_return()

LONG smartcard_pack_reconnect_return ( wStream s,
const Reconnect_Return ret 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_pack_redir_scard_context()

LONG smartcard_pack_redir_scard_context ( wStream s,
const REDIR_SCARDCONTEXT context,
DWORD *  index 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_pack_redir_scard_context_ref()

LONG smartcard_pack_redir_scard_context_ref ( wStream s,
const REDIR_SCARDCONTEXT context 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_pack_redir_scard_handle()

LONG smartcard_pack_redir_scard_handle ( wStream s,
const REDIR_SCARDHANDLE handle,
DWORD *  index 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_pack_redir_scard_handle_ref()

LONG smartcard_pack_redir_scard_handle_ref ( wStream s,
const REDIR_SCARDHANDLE handle 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_pack_state_return()

LONG smartcard_pack_state_return ( wStream s,
const State_Return ret 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_pack_status_return()

LONG smartcard_pack_status_return ( wStream s,
const Status_Return ret,
BOOL  unicode 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_pack_transmit_return()

LONG smartcard_pack_transmit_return ( wStream s,
const Transmit_Return ret 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_pack_write_size_align()

LONG smartcard_pack_write_size_align ( wStream s,
size_t  size,
UINT32  alignment 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_scard_context_native_from_redir()

SCARDCONTEXT smartcard_scard_context_native_from_redir ( REDIR_SCARDCONTEXT context)
Here is the caller graph for this function:

◆ smartcard_scard_context_native_to_redir()

void smartcard_scard_context_native_to_redir ( REDIR_SCARDCONTEXT context,
SCARDCONTEXT  hContext 
)
Here is the caller graph for this function:

◆ smartcard_scard_handle_native_from_redir()

SCARDHANDLE smartcard_scard_handle_native_from_redir ( REDIR_SCARDHANDLE handle)
Here is the caller graph for this function:

◆ smartcard_scard_handle_native_to_redir()

void smartcard_scard_handle_native_to_redir ( REDIR_SCARDHANDLE handle,
SCARDHANDLE  hCard 
)
Here is the caller graph for this function:

◆ smartcard_trace_connect_a_call()

static void smartcard_trace_connect_a_call ( const ConnectA_Call call)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_trace_connect_return()

static void smartcard_trace_connect_return ( const Connect_Return ret)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_trace_connect_w_call()

static void smartcard_trace_connect_w_call ( const ConnectW_Call call)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_trace_context_and_string_call_a()

static void smartcard_trace_context_and_string_call_a ( const char *  name,
const REDIR_SCARDCONTEXT phContext,
const CHAR *  sz 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_trace_context_and_string_call_w()

static void smartcard_trace_context_and_string_call_w ( const char *  name,
const REDIR_SCARDCONTEXT phContext,
const WCHAR *  sz 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_trace_context_and_two_strings_a_call()

static void smartcard_trace_context_and_two_strings_a_call ( const ContextAndTwoStringA_Call call)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_trace_context_and_two_strings_w_call()

static void smartcard_trace_context_and_two_strings_w_call ( const ContextAndTwoStringW_Call call)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_trace_context_call()

static void smartcard_trace_context_call ( const Context_Call call,
const char *  name 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_trace_control_call()

static void smartcard_trace_control_call ( const Control_Call call)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_trace_control_return()

static void smartcard_trace_control_return ( const Control_Return ret)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_trace_device_type_id_return()

static void smartcard_trace_device_type_id_return ( const GetDeviceTypeId_Return ret)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_trace_establish_context_call()

static void smartcard_trace_establish_context_call ( const EstablishContext_Call call)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_trace_establish_context_return()

static void smartcard_trace_establish_context_return ( const EstablishContext_Return ret)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_trace_get_attrib_call()

static void smartcard_trace_get_attrib_call ( const GetAttrib_Call call)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_trace_get_attrib_return()

static void smartcard_trace_get_attrib_return ( const GetAttrib_Return ret,
DWORD  dwAttrId 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_trace_get_reader_icon_return()

static void smartcard_trace_get_reader_icon_return ( const GetReaderIcon_Return ret)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_trace_get_status_change_a_call()

static void smartcard_trace_get_status_change_a_call ( const GetStatusChangeA_Call call)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_trace_get_status_change_return()

static void smartcard_trace_get_status_change_return ( const GetStatusChange_Return ret,
BOOL  unicode 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_trace_get_status_change_w_call()

static void smartcard_trace_get_status_change_w_call ( const GetStatusChangeW_Call call)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_trace_get_transmit_count_call()

static void smartcard_trace_get_transmit_count_call ( const GetTransmitCount_Call call)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_trace_get_transmit_count_return()

static void smartcard_trace_get_transmit_count_return ( const GetTransmitCount_Return ret)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_trace_hcard_and_disposition_call()

static void smartcard_trace_hcard_and_disposition_call ( const HCardAndDisposition_Call call,
const char *  name 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_trace_list_reader_groups_call()

static void smartcard_trace_list_reader_groups_call ( const ListReaderGroups_Call call,
BOOL  unicode 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_trace_list_reader_groups_return()

static void smartcard_trace_list_reader_groups_return ( const ListReaderGroups_Return ret,
BOOL  unicode 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_trace_list_readers_call()

static void smartcard_trace_list_readers_call ( const ListReaders_Call call,
BOOL  unicode 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_trace_list_readers_return()

static void smartcard_trace_list_readers_return ( const ListReaders_Return ret,
BOOL  unicode 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_trace_locate_cards_a_call()

static void smartcard_trace_locate_cards_a_call ( const LocateCardsA_Call call)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_trace_locate_cards_by_atr_a_call()

static void smartcard_trace_locate_cards_by_atr_a_call ( const LocateCardsByATRA_Call call)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_trace_locate_cards_by_atr_w_call()

static void smartcard_trace_locate_cards_by_atr_w_call ( const LocateCardsByATRW_Call call)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_trace_locate_cards_return()

static void smartcard_trace_locate_cards_return ( const LocateCards_Return ret)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_trace_locate_cards_w_call()

static void smartcard_trace_locate_cards_w_call ( const LocateCardsW_Call call)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_trace_long_return()

void smartcard_trace_long_return ( const Long_Return ret,
const char *  name 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_trace_read_cache_a_call()

static void smartcard_trace_read_cache_a_call ( const ReadCacheA_Call call)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_trace_read_cache_return()

static void smartcard_trace_read_cache_return ( const ReadCache_Return ret)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_trace_read_cache_w_call()

static void smartcard_trace_read_cache_w_call ( const ReadCacheW_Call call)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_trace_reconnect_call()

static void smartcard_trace_reconnect_call ( const Reconnect_Call call)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_trace_reconnect_return()

static void smartcard_trace_reconnect_return ( const Reconnect_Return ret)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_trace_set_attrib_call()

static void smartcard_trace_set_attrib_call ( const SetAttrib_Call call)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_trace_state_return()

static void smartcard_trace_state_return ( const State_Return ret)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_trace_status_call()

static void smartcard_trace_status_call ( const Status_Call call,
BOOL  unicode 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_trace_status_return()

static void smartcard_trace_status_return ( const Status_Return ret,
BOOL  unicode 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_trace_transmit_call()

static void smartcard_trace_transmit_call ( const Transmit_Call call)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_trace_transmit_return()

static void smartcard_trace_transmit_return ( const Transmit_Return ret)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_trace_write_cache_a_call()

static void smartcard_trace_write_cache_a_call ( const WriteCacheA_Call call)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_trace_write_cache_w_call()

static void smartcard_trace_write_cache_w_call ( const WriteCacheW_Call call)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_unpack_common_context_and_string_a()

static LONG smartcard_unpack_common_context_and_string_a ( wStream s,
REDIR_SCARDCONTEXT phContext,
CHAR **  pszReaderName 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ smartcard_unpack_common_context_and_string_w()

static LONG smartcard_unpack_common_context_and_string_w ( wStream s,
REDIR_SCARDCONTEXT phContext,