FreeRDP
urbdrc_main.h File Reference
#include <winpr/pool.h>
#include <freerdp/channels/log.h>
This graph shows which files directly or indirectly include this file:

Data Structures

struct  URBDRC_LISTENER_CALLBACK
 
struct  URBDRC_CHANNEL_CALLBACK
 
struct  URBDRC_PLUGIN
 
struct  FREERDP_URBDRC_SERVICE_ENTRY_POINTS
 
struct  TRANSFER_DATA
 
struct  IUDEVICE
 
struct  IUDEVMAN
 

Macros

#define DEVICE_HARDWARE_ID_SIZE   32
 
#define DEVICE_COMPATIBILITY_ID_SIZE   36
 
#define DEVICE_INSTANCE_STR_SIZE   37
 
#define DEVICE_CONTAINER_STR_SIZE   39
 
#define TAG   CHANNELS_TAG("urbdrc.client")
 
#define DEBUG_DVC(...)
 
#define BASIC_DEV_STATE_DEFINED(_arg, _type)
 
#define BASIC_DEVMAN_STATE_DEFINED(_arg, _type)
 
#define DEVICE_ADD_FLAG_BUS   0x01
 
#define DEVICE_ADD_FLAG_DEV   0x02
 
#define DEVICE_ADD_FLAG_VENDOR   0x04
 
#define DEVICE_ADD_FLAG_PRODUCT   0x08
 
#define DEVICE_ADD_FLAG_REGISTER   0x10
 
#define DEVICE_ADD_FLAG_ALL
 

Typedefs

typedef BOOL(* PREGISTERURBDRCSERVICE) (IWTSPlugin *plugin, IUDEVMAN *udevman)
 
typedef FREERDP_URBDRC_SERVICE_ENTRY_POINTS * PFREERDP_URBDRC_SERVICE_ENTRY_POINTS
 
typedef int(* PFREERDP_URBDRC_DEVICE_ENTRY) (PFREERDP_URBDRC_SERVICE_ENTRY_POINTS pEntryPoints)
 
typedef void(* t_isoch_transfer_cb) (IUDEVICE *idev, URBDRC_CHANNEL_CALLBACK *callback, wStream *out, UINT32 InterfaceId, BOOL noAck, UINT32 MessageId, UINT32 RequestId, UINT32 NumberOfPackets, UINT32 status, UINT32 StartFrame, UINT32 ErrorCount, UINT32 OutputBufferSize)
 

Functions

FREERDP_API BOOL add_device (IUDEVMAN *idevman, UINT32 flags, BYTE busnum, BYTE devnum, UINT16 idVendor, UINT16 idProduct)
 
FREERDP_API BOOL del_device (IUDEVMAN *idevman, UINT32 flags, BYTE busnum, BYTE devnum, UINT16 idVendor, UINT16 idProduct)
 
UINT stream_write_and_free (IWTSPlugin *plugin, IWTSVirtualChannel *channel, wStream *s)
 

Macro Definition Documentation

◆ BASIC_DEV_STATE_DEFINED

#define BASIC_DEV_STATE_DEFINED (   _arg,
  _type 
)
Value:
_type (*get_##_arg)(IUDEVICE * pdev); \
void (*set_##_arg)(IUDEVICE * pdev, _type _arg)

◆ BASIC_DEVMAN_STATE_DEFINED

#define BASIC_DEVMAN_STATE_DEFINED (   _arg,
  _type 
)
Value:
_type (*get_##_arg)(IUDEVMAN * udevman); \
void (*set_##_arg)(IUDEVMAN * udevman, _type _arg)

◆ DEBUG_DVC

#define DEBUG_DVC (   ...)
Value:
do \
{ \
} while (0)

◆ DEVICE_ADD_FLAG_ALL

#define DEVICE_ADD_FLAG_ALL

◆ DEVICE_ADD_FLAG_BUS

#define DEVICE_ADD_FLAG_BUS   0x01

◆ DEVICE_ADD_FLAG_DEV

#define DEVICE_ADD_FLAG_DEV   0x02

◆ DEVICE_ADD_FLAG_PRODUCT

#define DEVICE_ADD_FLAG_PRODUCT   0x08

◆ DEVICE_ADD_FLAG_REGISTER

#define DEVICE_ADD_FLAG_REGISTER   0x10

◆ DEVICE_ADD_FLAG_VENDOR

#define DEVICE_ADD_FLAG_VENDOR   0x04

◆ DEVICE_COMPATIBILITY_ID_SIZE

#define DEVICE_COMPATIBILITY_ID_SIZE   36

◆ DEVICE_CONTAINER_STR_SIZE

#define DEVICE_CONTAINER_STR_SIZE   39

◆ DEVICE_HARDWARE_ID_SIZE

#define DEVICE_HARDWARE_ID_SIZE   32

FreeRDP: A Remote Desktop Protocol Implementation RemoteFX USB Redirection

Copyright 2012 Atrust corp. Copyright 2012 Alfred Liu alfre.nosp@m.d.li.nosp@m.u@atr.nosp@m.usco.nosp@m.rp.co.nosp@m.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.

◆ DEVICE_INSTANCE_STR_SIZE

#define DEVICE_INSTANCE_STR_SIZE   37

◆ TAG

#define TAG   CHANNELS_TAG("urbdrc.client")

Typedef Documentation

◆ PFREERDP_URBDRC_DEVICE_ENTRY

typedef int(* PFREERDP_URBDRC_DEVICE_ENTRY) (PFREERDP_URBDRC_SERVICE_ENTRY_POINTS pEntryPoints)

◆ PFREERDP_URBDRC_SERVICE_ENTRY_POINTS

typedef FREERDP_URBDRC_SERVICE_ENTRY_POINTS* PFREERDP_URBDRC_SERVICE_ENTRY_POINTS

◆ PREGISTERURBDRCSERVICE

typedef BOOL(* PREGISTERURBDRCSERVICE) (IWTSPlugin *plugin, IUDEVMAN *udevman)

◆ t_isoch_transfer_cb

typedef void(* t_isoch_transfer_cb) (IUDEVICE *idev, URBDRC_CHANNEL_CALLBACK *callback, wStream *out, UINT32 InterfaceId, BOOL noAck, UINT32 MessageId, UINT32 RequestId, UINT32 NumberOfPackets, UINT32 status, UINT32 StartFrame, UINT32 ErrorCount, UINT32 OutputBufferSize)

Function Documentation

◆ add_device()

FREERDP_API BOOL add_device ( IUDEVMAN *  idevman,
UINT32  flags,
BYTE  busnum,
BYTE  devnum,
UINT16  idVendor,
UINT16  idProduct 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ del_device()

FREERDP_API BOOL del_device ( IUDEVMAN *  idevman,
UINT32  flags,
BYTE  busnum,
BYTE  devnum,
UINT16  idVendor,
UINT16  idProduct 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ stream_write_and_free()

UINT stream_write_and_free ( IWTSPlugin *  plugin,
IWTSVirtualChannel *  channel,
wStream *  s 
)
Here is the call graph for this function:
Here is the caller graph for this function:
DEVICE_ADD_FLAG_DEV
#define DEVICE_ADD_FLAG_DEV
Definition: urbdrc_main.h:231
DEVICE_ADD_FLAG_REGISTER
#define DEVICE_ADD_FLAG_REGISTER
Definition: urbdrc_main.h:234
DEVICE_ADD_FLAG_BUS
#define DEVICE_ADD_FLAG_BUS
Definition: urbdrc_main.h:230
DEVICE_ADD_FLAG_VENDOR
#define DEVICE_ADD_FLAG_VENDOR
Definition: urbdrc_main.h:232