📄 vncext.h
字号:
/* 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 __cplusplusextern "C" {#endif#define X_VncExtSetParam 0#define X_VncExtGetParam 1#define X_VncExtGetParamDesc 2#define X_VncExtListParams 3#define X_VncExtSetServerCutText 4#define X_VncExtGetClientCutText 5#define X_VncExtSelectInput 6#define X_VncExtConnect 7#define X_VncExtGetQueryConnect 8#define X_VncExtApproveConnect 9#define VncExtClientCutTextNotify 0#define VncExtSelectionChangeNotify 1#define VncExtQueryConnectNotify 2#define VncExtClientCutTextMask (1 << VncExtClientCutTextNotify)#define VncExtSelectionChangeMask (1 << VncExtSelectionChangeNotify)#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 XVncExtSetServerCutText(Display* dpy, const char* str, int len);Bool XVncExtGetClientCutText(Display* dpy, char** str, int* len);Bool XVncExtSelectInput(Display* dpy, Window w, int mask);Bool XVncExtConnect(Display* dpy, 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; Time time;} XVncExtClientCutTextEvent;typedef struct { int type; unsigned long serial; Bool send_event; Display *display; Window window; Atom selection;} XVncExtSelectionChangeEvent;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 8typedef 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 32typedef struct { CARD8 reqType; /* always VncExtReqCode */ CARD8 vncExtReqType; /* always VncExtGetParam */ CARD16 length B16; CARD8 paramLen; CARD8 pad0; CARD16 pad1 B16;} xVncExtGetParamReq;#define sz_xVncExtGetParamReq 8typedef 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 32typedef struct { CARD8 reqType; /* always VncExtReqCode */ CARD8 vncExtReqType; /* always VncExtGetParamDesc */ CARD16 length B16; CARD8 paramLen; CARD8 pad0; CARD16 pad1 B16;} xVncExtGetParamDescReq;#define sz_xVncExtGetParamDescReq 8typedef 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 32typedef struct { CARD8 reqType; /* always VncExtReqCode */ CARD8 vncExtReqType; /* always VncExtListParams */ CARD16 length B16;} xVncExtListParamsReq;#define sz_xVncExtListParamsReq 4typedef 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 32typedef struct { CARD8 reqType; /* always VncExtReqCode */ CARD8 vncExtReqType; /* always VncExtSetServerCutText */ CARD16 length B16; CARD32 textLen B32;} xVncExtSetServerCutTextReq;#define sz_xVncExtSetServerCutTextReq 8typedef struct { CARD8 reqType; /* always VncExtReqCode */ CARD8 vncExtReqType; /* always VncExtGetClientCutText */ CARD16 length B16;} xVncExtGetClientCutTextReq;#define sz_xVncExtGetClientCutTextReq 4typedef struct { BYTE type; /* X_Reply */ BYTE pad0; CARD16 sequenceNumber B16; CARD32 length B32; CARD32 textLen B32; CARD32 pad1 B32; CARD32 pad2 B32; CARD32 pad3 B32; CARD32 pad4 B32; CARD32 pad5 B32;} xVncExtGetClientCutTextReply;#define sz_xVncExtGetClientCutTextReply 32typedef struct { CARD8 reqType; /* always VncExtReqCode */ CARD8 vncExtReqType; /* always VncExtSelectInput */ CARD16 length B16; CARD32 window B32; CARD32 mask B32;} xVncExtSelectInputReq;#define sz_xVncExtSelectInputReq 12typedef struct { CARD8 reqType; /* always VncExtReqCode */ CARD8 vncExtReqType; /* always VncExtConnect */ CARD16 length B16; CARD8 strLen; CARD8 pad0; CARD16 pad1 B16;} xVncExtConnectReq;#define sz_xVncExtConnectReq 8typedef 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 32typedef struct { CARD8 reqType; /* always VncExtReqCode */ CARD8 vncExtReqType; /* always VncExtGetQueryConnect */ CARD16 length B16;} xVncExtGetQueryConnectReq;#define sz_xVncExtGetQueryConnectReq 4typedef 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 32typedef 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 12typedef struct { BYTE type; /* always eventBase + VncExtClientCutTextNotify */ BYTE pad0; CARD16 sequenceNumber B16; CARD32 window B32; CARD32 time B32; CARD32 pad1 B32; CARD32 pad2 B32; CARD32 pad3 B32; CARD32 pad4 B32; CARD32 pad5 B32;} xVncExtClientCutTextNotifyEvent;#define sz_xVncExtClientCutTextNotifyEvent 32typedef struct { BYTE type; /* always eventBase + VncExtSelectionChangeNotify */ BYTE pad0; CARD16 sequenceNumber B16; CARD32 window B32; CARD32 selection B32; CARD32 pad1 B32; CARD32 pad2 B32; CARD32 pad3 B32; CARD32 pad4 B32; CARD32 pad5 B32;} xVncExtSelectionChangeNotifyEvent;#define sz_xVncExtSelectionChangeNotifyEvent 32typedef 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
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -