23#ifndef FREERDP_CHANNEL_AUDIN_SERVER_H 
   24#define FREERDP_CHANNEL_AUDIN_SERVER_H 
   26#include <freerdp/config.h> 
   28#include <freerdp/channels/audin.h> 
   29#include <freerdp/channels/wtsvc.h> 
   31#if !defined(CHANNEL_AUDIN_SERVER) 
   32#error "This header must not be included if CHANNEL_AUDIN_SERVER is not defined" 
   42  typedef BOOL (*psAudinServerChannelOpen)(audin_server_context* context);
 
   43  typedef BOOL (*psAudinServerChannelIsOpen)(audin_server_context* context);
 
   44  typedef BOOL (*psAudinServerChannelClose)(audin_server_context* context);
 
   46  typedef BOOL (*psAudinServerChannelIdAssigned)(audin_server_context* context, UINT32 channelId);
 
   48  typedef UINT (*psAudinServerVersion)(audin_server_context* context,
 
   50  typedef UINT (*psAudinServerFormats)(audin_server_context* context,
 
   52  typedef UINT (*psAudinServerOpen)(audin_server_context* context, 
const SNDIN_OPEN* open);
 
   53  typedef UINT (*psAudinServerOpenReply)(audin_server_context* context,
 
   55  typedef UINT (*psAudinServerIncomingData)(audin_server_context* context,
 
   57  typedef UINT (*psAudinServerData)(audin_server_context* context, 
const SNDIN_DATA* data);
 
   58  typedef UINT (*psAudinServerFormatChange)(audin_server_context* context,
 
   79    psAudinServerChannelOpen 
Open;
 
   89    psAudinServerChannelClose 
Close;
 
  126    psAudinServerVersion ReceiveVersion;
 
  131    psAudinServerFormats ReceiveFormats;
 
  136    psAudinServerOpenReply OpenReply;
 
  141    psAudinServerIncomingData IncomingData;
 
  146    psAudinServerData Data;
 
  151    psAudinServerFormatChange ReceiveFormatChange;
 
  153    rdpContext* rdpcontext;
 
 
  156  FREERDP_API 
void audin_server_context_free(audin_server_context* context);
 
  158  WINPR_ATTR_MALLOC(audin_server_context_free, 1)
 
  159  FREERDP_API audin_server_context* audin_server_context_new(HANDLE vcm);
 
  169  FREERDP_API BOOL audin_server_set_formats(audin_server_context* context, SSIZE_T count,
 
  173  audin_server_get_negotiated_format(const audin_server_context* context);
 
psAudinServerOpen SendOpen
 
psAudinServerChannelClose Close
 
psAudinServerChannelOpen Open
 
psAudinServerFormats SendFormats
 
psAudinServerFormatChange SendFormatChange
 
psAudinServerChannelIdAssigned ChannelIdAssigned
 
psAudinServerVersion SendVersion
 
psAudinServerChannelIsOpen IsOpen
 
SNDIN_VERSION_Version serverVersion