summaryrefslogtreecommitdiffstats
path: root/libxrdp/xrdp_rdp.c
diff options
context:
space:
mode:
authorspeidy <speidy@gmail.com>2014-02-08 13:34:01 +0200
committerspeidy <speidy@gmail.com>2014-02-08 13:34:01 +0200
commit113f2696fe4103474cb2703e3d2f8848304fdd3d (patch)
treeecc9554855a4d273b201f845aba7bb9a3a7eced5 /libxrdp/xrdp_rdp.c
parent423c583cddc31df98a01c8b5ed39558d691c19eb (diff)
downloadxrdp-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.c24
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)