Home | History | Annotate | Download | only in libvncserver

Lines Matching refs:cl

69 typedef int (*wsEncodeFunc)(rfbClientPtr cl, const char *src, int len, char **dst);
70 typedef int (*wsDecodeFunc)(rfbClientPtr cl, char *dst, int len);
154 static rfbBool webSocketsHandshake(rfbClientPtr cl, char *scheme);
157 static int webSocketsEncodeHybi(rfbClientPtr cl, const char *src, int len, char **dst);
158 static int webSocketsEncodeHixie(rfbClientPtr cl, const char *src, int len, char **dst);
159 static int webSocketsDecodeHybi(rfbClientPtr cl, char *dst, int len);
160 static int webSocketsDecodeHixie(rfbClientPtr cl, char *dst, int len);
186 webSocketsCheck (rfbClientPtr cl)
191 ret = rfbPeekExactTimeout(cl, bbuf, 4,
203 if (rfbWriteExact(cl, FLASH_POLICY_RESPONSE,
210 if (-1 == rfbssl_init(cl)) {
214 ret = rfbPeekExactTimeout(cl, bbuf, 4, WEBSOCKETS_CLIENT_CONNECT_WAIT_MS);
227 if (!webSocketsHandshake(cl, scheme)) {
235 webSocketsHandshake(rfbClientPtr cl, char *scheme)
260 if ((n = rfbReadExactTimeout(cl, buf+len, 1,
280 if ((n = rfbReadExact(cl, buf+len, 8)) <= 0) {
303 cl->wspath = strdup(path);
397 if (rfbWriteExact(cl, response, len) < 0) {
419 cl->wsctx = (wsCtx *)wsctx;
474 webSocketsEncodeHixie(rfbClientPtr cl, const char *src, int len, char **dst)
477 ws_ctx_t *wsctx = (ws_ctx_t *)cl->wsctx;
492 ws_read(rfbClientPtr cl, char *buf, int len)
495 if (cl->sslctx) {
496 n = rfbssl_read(cl, buf, len);
498 n = read(cl->sock, buf, len);
504 ws_peek(rfbClientPtr cl, char *buf, int len)
507 if (cl->sslctx) {
508 n = rfbssl_peek(cl, buf, len);
510 while (-1 == (n = recv(cl->sock, buf, len, MSG_PEEK))) {
519 webSocketsDecodeHixie(rfbClientPtr cl, char *dst, int len)
523 ws_ctx_t *wsctx = (ws_ctx_t *)cl->wsctx;
527 n = ws_peek(cl, buf, len*2+2);
541 i = ws_read(cl, buf, 1); /* Consume marker */
550 i = ws_read(cl, buf, 1); /* Consume marker */
600 i = ws_read(cl, buf, needlen);
614 webSocketsDecodeHybi(rfbClientPtr cl, char *dst, int len)
624 ws_ctx_t *wsctx = (ws_ctx_t *)cl->wsctx;
628 // rfbLog(" <== %s[%d]: %d cl: %p, wsctx: %p-%p (%d)\n", __func__, gettid(), len, cl, wsctx, (char *)wsctx + sizeof(ws_ctx_t), sizeof(ws_ctx_t));
649 ret = ws_peek(cl, buf, B64LEN(len) + WSHLENMAX);
703 if (-1 == (ret = ws_read(cl, buf, total))) {
758 webSocketsEncodeHybi(rfbClientPtr cl, const char *src, int len, char **dst)
763 ws_ctx_t *wsctx = (ws_ctx_t *)cl->wsctx;
821 webSocketsEncode(rfbClientPtr cl, const char *src, int len, char **dst)
823 return ((ws_ctx_t *)cl->wsctx)->encode(cl, src, len, dst);
827 webSocketsDecode(rfbClientPtr cl, char *dst, int len)
829 return ((ws_ctx_t *)cl->wsctx)->decode(cl, dst, len);
839 webSocketCheckDisconnect(rfbClientPtr cl)
841 ws_ctx_t *wsctx = (ws_ctx_t *)cl->wsctx;
849 if (cl->sslctx)
850 n = rfbssl_peek(cl, peekbuf, 4);
852 n = recv(cl->sock, peekbuf, 4, MSG_PEEK);
857 rfbCloseClient(cl);
879 if (cl->sslctx)
880 n = rfbssl_read(cl, peekbuf, n);
882 n = read(cl->sock, peekbuf, n);
886 rfbCloseClient(cl);