diff options
| author | speidy <speidy@gmail.com> | 2014-02-08 13:34:01 +0200 |
|---|---|---|
| committer | speidy <speidy@gmail.com> | 2014-02-08 13:34:01 +0200 |
| commit | 113f2696fe4103474cb2703e3d2f8848304fdd3d (patch) | |
| tree | ecc9554855a4d273b201f845aba7bb9a3a7eced5 /libxrdp/xrdp_rdp.c | |
| parent | 423c583cddc31df98a01c8b5ed39558d691c19eb (diff) | |
| download | xrdp-proprietary-113f2696fe4103474cb2703e3d2f8848304fdd3d.tar.gz xrdp-proprietary-113f2696fe4103474cb2703e3d2f8848304fdd3d.zip | |
libxrdp: work on fastpath
Diffstat (limited to 'libxrdp/xrdp_rdp.c')
| -rw-r--r-- | libxrdp/xrdp_rdp.c | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/libxrdp/xrdp_rdp.c b/libxrdp/xrdp_rdp.c index 7e68ec1f..fa62c9c2 100644 --- a/libxrdp/xrdp_rdp.c +++ b/libxrdp/xrdp_rdp.c @@ -259,10 +259,23 @@ xrdp_rdp_init_data(struct xrdp_rdp *self, struct stream *s) } /*****************************************************************************/ -/* returns erros */ +/* returns error */ int APP_CC xrdp_rdp_recv(struct xrdp_rdp *self, struct stream *s, int *code) { + // Detect TPKT or FastPath + if (xrdp_iso_detect_tpkt(self->sec_layer->mcs_layer->iso_layer, s) == 0) { + return xrdp_rdp_recv_tpkt(self, s, code); + } else { + return xrdp_rdp_recv_fastpath(self, s, code); + } + +} +/*****************************************************************************/ +/* returns error */ +int APP_CC +xrdp_rdp_recv_tpkt(struct xrdp_rdp *self, struct stream *s, int *code) +{ int error = 0; int len = 0; int pdu_code = 0; @@ -338,7 +351,14 @@ xrdp_rdp_recv(struct xrdp_rdp *self, struct stream *s, int *code) return 0; } } - +/*****************************************************************************/ +/* returns error */ +int APP_CC +xrdp_rdp_recv_fastpath(struct xrdp_rdp *self, struct stream *s, int *code) +{ + g_writeln("Booyah!"); + return 0; +} /*****************************************************************************/ int APP_CC xrdp_rdp_send(struct xrdp_rdp *self, struct stream *s, int pdu_type) |
