123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258 |
- /* Copyright (C) 2002-2005 RealVNC Ltd. All Rights Reserved.
- *
- * This is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this software; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
- * USA.
- */
- #ifndef _VNCEXT_H_
- #define _VNCEXT_H_
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
- #define X_VncExtSetParam 0
- #define X_VncExtGetParam 1
- #define X_VncExtGetParamDesc 2
- #define X_VncExtListParams 3
- #define X_VncExtSelectInput 6
- #define X_VncExtConnect 7
- #define X_VncExtGetQueryConnect 8
- #define X_VncExtApproveConnect 9
-
- #define VncExtQueryConnectNotify 2
- #define VncExtQueryConnectMask (1 << VncExtQueryConnectNotify)
-
- #define VncExtNumberEvents 3
- #define VncExtNumberErrors 0
-
- #ifndef _VNCEXT_SERVER_
-
- Bool XVncExtQueryExtension(Display* dpy, int* event_basep, int* error_basep);
- Bool XVncExtSetParam(Display* dpy, const char* param);
- Bool XVncExtGetParam(Display* dpy, const char* param, char** value, int* len);
- char* XVncExtGetParamDesc(Display* dpy, const char* param);
- char** XVncExtListParams(Display* dpy, int* nParams);
- void XVncExtFreeParamList(char** list);
- Bool XVncExtSelectInput(Display* dpy, Window w, int mask);
- Bool XVncExtConnect(Display* dpy, const char* hostAndPort);
- Bool XVncExtGetQueryConnect(Display* dpy, char** addr,
- char** user, int* timeout, void** opaqueId);
- Bool XVncExtApproveConnect(Display* dpy, void* opaqueId, int approve);
-
-
- typedef struct {
- int type;
- unsigned long serial;
- Bool send_event;
- Display *display;
- Window window;
- } XVncExtQueryConnectEvent;
-
- #endif
-
- #ifdef _VNCEXT_PROTO_
-
- #define VNCEXTNAME "VNC-EXTENSION"
-
- typedef struct {
- CARD8 reqType; /* always VncExtReqCode */
- CARD8 vncExtReqType; /* always VncExtSetParam */
- CARD16 length B16;
- CARD8 paramLen;
- CARD8 pad0;
- CARD16 pad1 B16;
- } xVncExtSetParamReq;
- #define sz_xVncExtSetParamReq 8
-
- typedef struct {
- BYTE type; /* X_Reply */
- BYTE success;
- CARD16 sequenceNumber B16;
- CARD32 length B32;
- CARD32 pad0 B32;
- CARD32 pad1 B32;
- CARD32 pad2 B32;
- CARD32 pad3 B32;
- CARD32 pad4 B32;
- CARD32 pad5 B32;
- } xVncExtSetParamReply;
- #define sz_xVncExtSetParamReply 32
-
-
- typedef struct {
- CARD8 reqType; /* always VncExtReqCode */
- CARD8 vncExtReqType; /* always VncExtGetParam */
- CARD16 length B16;
- CARD8 paramLen;
- CARD8 pad0;
- CARD16 pad1 B16;
- } xVncExtGetParamReq;
- #define sz_xVncExtGetParamReq 8
-
- typedef struct {
- BYTE type; /* X_Reply */
- BYTE success;
- CARD16 sequenceNumber B16;
- CARD32 length B32;
- CARD16 valueLen B16;
- CARD16 pad0 B16;
- CARD32 pad1 B32;
- CARD32 pad2 B32;
- CARD32 pad3 B32;
- CARD32 pad4 B32;
- CARD32 pad5 B32;
- } xVncExtGetParamReply;
- #define sz_xVncExtGetParamReply 32
-
-
- typedef struct {
- CARD8 reqType; /* always VncExtReqCode */
- CARD8 vncExtReqType; /* always VncExtGetParamDesc */
- CARD16 length B16;
- CARD8 paramLen;
- CARD8 pad0;
- CARD16 pad1 B16;
- } xVncExtGetParamDescReq;
- #define sz_xVncExtGetParamDescReq 8
-
- typedef struct {
- BYTE type; /* X_Reply */
- BYTE success;
- CARD16 sequenceNumber B16;
- CARD32 length B32;
- CARD16 descLen B16;
- CARD16 pad0 B16;
- CARD32 pad1 B32;
- CARD32 pad2 B32;
- CARD32 pad3 B32;
- CARD32 pad4 B32;
- CARD32 pad5 B32;
- } xVncExtGetParamDescReply;
- #define sz_xVncExtGetParamDescReply 32
-
-
- typedef struct {
- CARD8 reqType; /* always VncExtReqCode */
- CARD8 vncExtReqType; /* always VncExtListParams */
- CARD16 length B16;
- } xVncExtListParamsReq;
- #define sz_xVncExtListParamsReq 4
-
- typedef struct {
- BYTE type; /* X_Reply */
- BYTE pad0;
- CARD16 sequenceNumber B16;
- CARD32 length B32;
- CARD16 nParams B16;
- CARD16 pad1 B16;
- CARD32 pad2 B32;
- CARD32 pad3 B32;
- CARD32 pad4 B32;
- CARD32 pad5 B32;
- CARD32 pad6 B32;
- } xVncExtListParamsReply;
- #define sz_xVncExtListParamsReply 32
-
-
- typedef struct {
- CARD8 reqType; /* always VncExtReqCode */
- CARD8 vncExtReqType; /* always VncExtSelectInput */
- CARD16 length B16;
- CARD32 window B32;
- CARD32 mask B32;
- } xVncExtSelectInputReq;
- #define sz_xVncExtSelectInputReq 12
-
-
- typedef struct {
- CARD8 reqType; /* always VncExtReqCode */
- CARD8 vncExtReqType; /* always VncExtConnect */
- CARD16 length B16;
- CARD8 strLen;
- CARD8 pad0;
- CARD16 pad1 B16;
- } xVncExtConnectReq;
- #define sz_xVncExtConnectReq 8
-
- typedef struct {
- BYTE type; /* X_Reply */
- BYTE success;
- CARD16 sequenceNumber B16;
- CARD32 length B32;
- CARD32 pad0 B32;
- CARD32 pad1 B32;
- CARD32 pad2 B32;
- CARD32 pad3 B32;
- CARD32 pad4 B32;
- CARD32 pad5 B32;
- } xVncExtConnectReply;
- #define sz_xVncExtConnectReply 32
-
-
- typedef struct {
- CARD8 reqType; /* always VncExtReqCode */
- CARD8 vncExtReqType; /* always VncExtGetQueryConnect */
- CARD16 length B16;
- } xVncExtGetQueryConnectReq;
- #define sz_xVncExtGetQueryConnectReq 4
-
- typedef struct {
- BYTE type; /* X_Reply */
- BYTE pad0;
- CARD16 sequenceNumber B16;
- CARD32 length B32;
- CARD32 addrLen B32;
- CARD32 userLen B32;
- CARD32 timeout B32;
- CARD32 opaqueId B32;
- CARD32 pad4 B32;
- CARD32 pad5 B32;
- } xVncExtGetQueryConnectReply;
- #define sz_xVncExtGetQueryConnectReply 32
-
- typedef struct {
- CARD8 reqType; /* always VncExtReqCode */
- CARD8 vncExtReqType; /* always VncExtApproveConnect */
- CARD16 length B16;
- CARD8 approve;
- CARD8 pad0;
- CARD16 pad1;
- CARD32 opaqueId B32;
- } xVncExtApproveConnectReq;
- #define sz_xVncExtApproveConnectReq 12
-
-
-
- typedef struct {
- BYTE type; /* always eventBase + VncExtQueryConnectNotify */
- BYTE pad0;
- CARD16 sequenceNumber B16;
- CARD32 window B32;
- CARD32 pad6 B32;
- CARD32 pad1 B32;
- CARD32 pad2 B32;
- CARD32 pad3 B32;
- CARD32 pad4 B32;
- CARD32 pad5 B32;
- } xVncExtQueryConnectNotifyEvent;
- #define sz_xVncExtQueryConnectNotifyEvent 32
-
- #endif
-
- #ifdef __cplusplus
- }
- #endif
-
- #endif
|