2
Copyright (c) 2009-2010 Jay Sorg
3
Copyright (c) 2010 Vic Lee
5
Permission is hereby granted, free of charge, to any person obtaining a
6
copy of this software and associated documentation files (the "Software"),
7
to deal in the Software without restriction, including without limitation
8
the rights to use, copy, modify, merge, publish, distribute, sublicense,
9
and/or sell copies of the Software, and to permit persons to whom the
10
Software is furnished to do so, subject to the following conditions:
12
The above copyright notice and this permission notice shall be included
13
in all copies or substantial portions of the Software.
15
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
16
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
DEALINGS IN THE SOFTWARE.
24
#ifndef __FREERDP_CHANMAN_H
25
#define __FREERDP_CHANMAN_H
27
#include <freerdp/freerdp.h>
29
#if defined _WIN32 || defined __CYGWIN__
30
#ifdef FREERDP_CHANMAN_EXPORTS
32
#define FREERDP_CHANMAN_API __attribute__((dllexport))
34
#define FREERDP_CHANMAN_API __declspec(dllexport)
38
#define FREERDP_CHANMAN_API __attribute__((dllimport))
40
#define FREERDP_CHANMAN_API __declspec(dllimport)
45
#define FREERDP_CHANMAN_API __attribute__ ((visibility("default")))
47
#define FREERDP_CHANMAN_API
61
typedef struct rdp_chan_man rdpChanMan;
63
FREERDP_CHANMAN_API int
64
freerdp_chanman_init(void);
65
FREERDP_CHANMAN_API int
66
freerdp_chanman_uninit(void);
67
FREERDP_CHANMAN_API rdpChanMan *
68
freerdp_chanman_new(void);
69
FREERDP_CHANMAN_API void
70
freerdp_chanman_free(rdpChanMan * chan_man);
71
FREERDP_CHANMAN_API int
72
freerdp_chanman_load_plugin(rdpChanMan * chan_man, rdpSet * settings,
73
const CHR * filename, void * data);
74
FREERDP_CHANMAN_API int
75
freerdp_chanman_pre_connect(rdpChanMan * chan_man, rdpInst * inst);
76
FREERDP_CHANMAN_API int
77
freerdp_chanman_post_connect(rdpChanMan * chan_man, rdpInst * inst);
78
FREERDP_CHANMAN_API int
79
freerdp_chanman_data(rdpInst * inst, int chan_id, char * data, int data_size,
80
int flags, int total_size);
81
FREERDP_CHANMAN_API int
82
freerdp_chanman_get_fds(rdpChanMan * chan_man, rdpInst * inst, void ** read_fds,
83
int * read_count, void ** write_fds, int * write_count);
84
FREERDP_CHANMAN_API int
85
freerdp_chanman_check_fds(rdpChanMan * chan_man, rdpInst * inst);
86
FREERDP_CHANMAN_API void
87
freerdp_chanman_close(rdpChanMan * chan_man, rdpInst * inst);