Xephyr: delete unused proxy code
Reviewed-by: Mikhail Gusarov <dottedmag@dottedmag.net> Reviewed-by: Eric Anholt <eric@anholt.net> Signed-off-by: Julien Cristau <jcristau@debian.org>
This commit is contained in:
		
							parent
							
								
									a71ea3f967
								
							
						
					
					
						commit
						d72c11b9df
					
				| 
						 | 
				
			
			@ -1,91 +0,0 @@
 | 
			
		|||
/*
 | 
			
		||||
 * Xephyr - A kdrive X server thats runs in a host X window.
 | 
			
		||||
 *          Authored by Matthew Allum <mallum@openedhand.com>
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright © 2007 OpenedHand Ltd 
 | 
			
		||||
 *
 | 
			
		||||
 * Permission to use, copy, modify, distribute, and sell this software and its
 | 
			
		||||
 * documentation for any purpose is hereby granted without fee, provided that
 | 
			
		||||
 * the above copyright notice appear in all copies and that both that
 | 
			
		||||
 * copyright notice and this permission notice appear in supporting
 | 
			
		||||
 * documentation, and that the name of OpenedHand Ltd not be used in
 | 
			
		||||
 * advertising or publicity pertaining to distribution of the software without
 | 
			
		||||
 * specific, written prior permission. OpenedHand Ltd makes no
 | 
			
		||||
 * representations about the suitability of this software for any purpose.  It
 | 
			
		||||
 * is provided "as is" without express or implied warranty.
 | 
			
		||||
 *
 | 
			
		||||
 * OpenedHand Ltd DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
 | 
			
		||||
 * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
 | 
			
		||||
 * EVENT SHALL OpenedHand Ltd BE LIABLE FOR ANY SPECIAL, INDIRECT OR
 | 
			
		||||
 * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
 | 
			
		||||
 * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
 | 
			
		||||
 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
 | 
			
		||||
 * PERFORMANCE OF THIS SOFTWARE.
 | 
			
		||||
 *
 | 
			
		||||
 * Authors:
 | 
			
		||||
 *    Dodji Seketeli <dodji@openedhand.com>
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifdef HAVE_CONFIG_H
 | 
			
		||||
#include <kdrive-config.h>
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#include <X11/Xlibint.h>
 | 
			
		||||
#define _HAVE_XALLOC_DECLS
 | 
			
		||||
#include "ephyrlog.h"
 | 
			
		||||
#include "ephyrhostproxy.h"
 | 
			
		||||
#include "hostx.h"
 | 
			
		||||
 | 
			
		||||
/* byte swap a short */
 | 
			
		||||
#define swaps(x, n) { \
 | 
			
		||||
    n = ((char *) (x))[0];\
 | 
			
		||||
    ((char *) (x))[0] = ((char *) (x))[1];\
 | 
			
		||||
    ((char *) (x))[1] = n; }
 | 
			
		||||
 | 
			
		||||
#define GetXReq(req) \
 | 
			
		||||
    WORD64ALIGN ;\
 | 
			
		||||
    if ((dpy->bufptr + SIZEOF(xReq)) > dpy->bufmax)\
 | 
			
		||||
            _XFlush(dpy);\
 | 
			
		||||
    req = (xReq *)(dpy->last_req = dpy->bufptr);\
 | 
			
		||||
    dpy->bufptr += SIZEOF(xReq);\
 | 
			
		||||
    dpy->request++
 | 
			
		||||
 | 
			
		||||
Bool
 | 
			
		||||
ephyrHostProxyDoForward(pointer a_request_buffer,
 | 
			
		||||
                        struct XReply *a_reply, Bool a_do_swap)
 | 
			
		||||
{
 | 
			
		||||
    Bool is_ok = FALSE;
 | 
			
		||||
    int n = 0;
 | 
			
		||||
    Display *dpy = hostx_get_display();
 | 
			
		||||
    xReq *in_req = (xReq *) a_request_buffer;
 | 
			
		||||
    xReq *forward_req = NULL;
 | 
			
		||||
    struct XReply reply;
 | 
			
		||||
 | 
			
		||||
    EPHYR_RETURN_VAL_IF_FAIL(in_req && dpy, FALSE);
 | 
			
		||||
 | 
			
		||||
    EPHYR_LOG("enter\n");
 | 
			
		||||
 | 
			
		||||
    if (a_do_swap) {
 | 
			
		||||
        swaps(&in_req->length);
 | 
			
		||||
    }
 | 
			
		||||
    EPHYR_LOG("Req {type:%d, data:%d, length:%d}\n",
 | 
			
		||||
              in_req->reqType, in_req->data, in_req->length);
 | 
			
		||||
    GetXReq(forward_req);
 | 
			
		||||
    memmove(forward_req, in_req, 4);
 | 
			
		||||
 | 
			
		||||
    if (!_XReply(dpy, (xReply *) &reply, 0, FALSE)) {
 | 
			
		||||
        EPHYR_LOG_ERROR("failed to get reply\n");
 | 
			
		||||
        goto out;
 | 
			
		||||
    }
 | 
			
		||||
    EPHYR_LOG("XReply{type:%d, foo:%d, seqnum:%d, length:%d}\n",
 | 
			
		||||
              reply.type, reply.foo, reply.sequence_number, reply.length);
 | 
			
		||||
 | 
			
		||||
    if (a_reply) {
 | 
			
		||||
        memmove(a_reply, &reply, sizeof(reply));
 | 
			
		||||
    }
 | 
			
		||||
    is_ok = TRUE;
 | 
			
		||||
 | 
			
		||||
 out:
 | 
			
		||||
    EPHYR_LOG("leave\n");
 | 
			
		||||
    return is_ok;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,51 +0,0 @@
 | 
			
		|||
/*
 | 
			
		||||
 * Xephyr - A kdrive X server thats runs in a host X window.
 | 
			
		||||
 *          Authored by Matthew Allum <mallum@openedhand.com>
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright © 2007 OpenedHand Ltd 
 | 
			
		||||
 *
 | 
			
		||||
 * Permission to use, copy, modify, distribute, and sell this software and its
 | 
			
		||||
 * documentation for any purpose is hereby granted without fee, provided that
 | 
			
		||||
 * the above copyright notice appear in all copies and that both that
 | 
			
		||||
 * copyright notice and this permission notice appear in supporting
 | 
			
		||||
 * documentation, and that the name of OpenedHand Ltd not be used in
 | 
			
		||||
 * advertising or publicity pertaining to distribution of the software without
 | 
			
		||||
 * specific, written prior permission. OpenedHand Ltd makes no
 | 
			
		||||
 * representations about the suitability of this software for any purpose.  It
 | 
			
		||||
 * is provided "as is" without express or implied warranty.
 | 
			
		||||
 *
 | 
			
		||||
 * OpenedHand Ltd DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
 | 
			
		||||
 * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
 | 
			
		||||
 * EVENT SHALL OpenedHand Ltd BE LIABLE FOR ANY SPECIAL, INDIRECT OR
 | 
			
		||||
 * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
 | 
			
		||||
 * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
 | 
			
		||||
 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
 | 
			
		||||
 * PERFORMANCE OF THIS SOFTWARE.
 | 
			
		||||
 *
 | 
			
		||||
 * Authors:
 | 
			
		||||
 *    Dodji Seketeli <dodji@openedhand.com>
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifndef __EPHYRHOSTPROXY_H__
 | 
			
		||||
#define __EPHYRHOSTPROXY_H__
 | 
			
		||||
 | 
			
		||||
struct XReply {
 | 
			
		||||
    int8_t type;                /*X_Reply */
 | 
			
		||||
    int8_t foo;
 | 
			
		||||
    int16_t sequence_number;
 | 
			
		||||
    int32_t length;
 | 
			
		||||
    /*following is some data up to 32 bytes lenght */
 | 
			
		||||
    int32_t pad0;
 | 
			
		||||
    int32_t pad1;
 | 
			
		||||
    int32_t pad2;
 | 
			
		||||
    int32_t pad3;
 | 
			
		||||
    int32_t pad4;
 | 
			
		||||
    int32_t pad5;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
Bool
 | 
			
		||||
 | 
			
		||||
ephyrHostProxyDoForward(pointer a_request_buffer,
 | 
			
		||||
                        struct XReply *a_reply, Bool a_do_swap);
 | 
			
		||||
 | 
			
		||||
#endif /*__EPHYRHOSTPROXY_H__*/
 | 
			
		||||
| 
						 | 
				
			
			@ -1,115 +0,0 @@
 | 
			
		|||
/*
 | 
			
		||||
 * Xephyr - A kdrive X server thats runs in a host X window.
 | 
			
		||||
 *          Authored by Matthew Allum <mallum@openedhand.com>
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright © 2007 OpenedHand Ltd 
 | 
			
		||||
 *
 | 
			
		||||
 * Permission to use, copy, modify, distribute, and sell this software and its
 | 
			
		||||
 * documentation for any purpose is hereby granted without fee, provided that
 | 
			
		||||
 * the above copyright notice appear in all copies and that both that
 | 
			
		||||
 * copyright notice and this permission notice appear in supporting
 | 
			
		||||
 * documentation, and that the name of OpenedHand Ltd not be used in
 | 
			
		||||
 * advertising or publicity pertaining to distribution of the software without
 | 
			
		||||
 * specific, written prior permission. OpenedHand Ltd makes no
 | 
			
		||||
 * representations about the suitability of this software for any purpose.  It
 | 
			
		||||
 * is provided "as is" without express or implied warranty.
 | 
			
		||||
 *
 | 
			
		||||
 * OpenedHand Ltd DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
 | 
			
		||||
 * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
 | 
			
		||||
 * EVENT SHALL OpenedHand Ltd BE LIABLE FOR ANY SPECIAL, INDIRECT OR
 | 
			
		||||
 * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
 | 
			
		||||
 * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
 | 
			
		||||
 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
 | 
			
		||||
 * PERFORMANCE OF THIS SOFTWARE.
 | 
			
		||||
 *
 | 
			
		||||
 * Authors:
 | 
			
		||||
 *    Dodji Seketeli <dodji@openedhand.com>
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * \file
 | 
			
		||||
 * This file defines a proxy extension that forwards requests.
 | 
			
		||||
 * When a request to extension FOO is sent to Xephyr, that request is forwared
 | 
			
		||||
 * to the host X, without even trying to know what the request means.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifdef HAVE_CONFIG_H
 | 
			
		||||
#include <kdrive-config.h>
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#include "misc.h"
 | 
			
		||||
#include "dixstruct.h"
 | 
			
		||||
#include "extnsionst.h"
 | 
			
		||||
#include "ephyrproxyext.h"
 | 
			
		||||
#define _HAVE_XALLOC_DECLS
 | 
			
		||||
#include "ephyrlog.h"
 | 
			
		||||
#include "ephyrhostproxy.h"
 | 
			
		||||
#include "hostx.h"
 | 
			
		||||
 | 
			
		||||
static Bool ephyrProxyGetHostExtensionInfo(const char *a_ext_name,
 | 
			
		||||
                                           int *a_major_opcode,
 | 
			
		||||
                                           int *a_first_event,
 | 
			
		||||
                                           int *a_first_error);
 | 
			
		||||
 | 
			
		||||
static int ephyrProxyProcDispatch(ClientPtr client);
 | 
			
		||||
 | 
			
		||||
static Bool
 | 
			
		||||
ephyrProxyGetHostExtensionInfo(const char *a_ext_name,
 | 
			
		||||
                               int *a_major_opcode,
 | 
			
		||||
                               int *a_first_event, int *a_first_error)
 | 
			
		||||
{
 | 
			
		||||
    return hostx_get_extension_info(a_ext_name, a_major_opcode,
 | 
			
		||||
                                    a_first_event, a_first_error);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static int
 | 
			
		||||
ephyrProxyProcDispatch(ClientPtr a_client)
 | 
			
		||||
{
 | 
			
		||||
    int res = BadImplementation;
 | 
			
		||||
    struct XReply reply;
 | 
			
		||||
 | 
			
		||||
    if (!ephyrHostProxyDoForward(a_client->requestBuffer, &reply, FALSE)) {
 | 
			
		||||
        EPHYR_LOG_ERROR("forwarding failed\n");
 | 
			
		||||
        goto out;
 | 
			
		||||
    }
 | 
			
		||||
    reply.sequence_number = a_client->sequence;
 | 
			
		||||
    res = Success;
 | 
			
		||||
 | 
			
		||||
    WriteToClient(a_client, 32, &reply);
 | 
			
		||||
 | 
			
		||||
 out:
 | 
			
		||||
    return res;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
ephyrProxyProcReset(ExtensionEntry * a_entry)
 | 
			
		||||
{
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
Bool
 | 
			
		||||
ephyrProxyExtensionInit(const char *a_extension_name)
 | 
			
		||||
{
 | 
			
		||||
    Bool is_ok = FALSE;
 | 
			
		||||
    int major_opcode = 0, first_event = 0, first_error = 0;
 | 
			
		||||
    ExtensionEntry *ext = NULL;
 | 
			
		||||
 | 
			
		||||
    if (!ephyrProxyGetHostExtensionInfo(a_extension_name,
 | 
			
		||||
                                        &major_opcode,
 | 
			
		||||
                                        &first_event, &first_error)) {
 | 
			
		||||
        EPHYR_LOG("failed to query extension %s from host\n", a_extension_name);
 | 
			
		||||
        goto out;
 | 
			
		||||
    }
 | 
			
		||||
    ext = AddExtension((char *) a_extension_name, 0, 0,
 | 
			
		||||
                       ephyrProxyProcDispatch,
 | 
			
		||||
                       ephyrProxyProcDispatch,
 | 
			
		||||
                       ephyrProxyProcReset, StandardMinorOpcode);
 | 
			
		||||
    if (!ext) {
 | 
			
		||||
        EPHYR_LOG_ERROR("failed to add the extension\n");
 | 
			
		||||
        goto out;
 | 
			
		||||
    }
 | 
			
		||||
    is_ok = TRUE;
 | 
			
		||||
 | 
			
		||||
 out:
 | 
			
		||||
    EPHYR_LOG("leave\n");
 | 
			
		||||
    return is_ok;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,33 +0,0 @@
 | 
			
		|||
/*
 | 
			
		||||
 * Xephyr - A kdrive X server thats runs in a host X window.
 | 
			
		||||
 *          Authored by Matthew Allum <mallum@openedhand.com>
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright © 2007 OpenedHand Ltd 
 | 
			
		||||
 *
 | 
			
		||||
 * Permission to use, copy, modify, distribute, and sell this software and its
 | 
			
		||||
 * documentation for any purpose is hereby granted without fee, provided that
 | 
			
		||||
 * the above copyright notice appear in all copies and that both that
 | 
			
		||||
 * copyright notice and this permission notice appear in supporting
 | 
			
		||||
 * documentation, and that the name of OpenedHand Ltd not be used in
 | 
			
		||||
 * advertising or publicity pertaining to distribution of the software without
 | 
			
		||||
 * specific, written prior permission. OpenedHand Ltd makes no
 | 
			
		||||
 * representations about the suitability of this software for any purpose.  It
 | 
			
		||||
 * is provided "as is" without express or implied warranty.
 | 
			
		||||
 *
 | 
			
		||||
 * OpenedHand Ltd DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
 | 
			
		||||
 * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
 | 
			
		||||
 * EVENT SHALL OpenedHand Ltd BE LIABLE FOR ANY SPECIAL, INDIRECT OR
 | 
			
		||||
 * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
 | 
			
		||||
 * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
 | 
			
		||||
 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
 | 
			
		||||
 * PERFORMANCE OF THIS SOFTWARE.
 | 
			
		||||
 *
 | 
			
		||||
 * Authors:
 | 
			
		||||
 *    Dodji Seketeli <dodji@openedhand.com>
 | 
			
		||||
 */
 | 
			
		||||
#ifndef __EPHYRPROXYEXT_H__
 | 
			
		||||
#define __EPHYRPROXYEXT_H__
 | 
			
		||||
 | 
			
		||||
Bool ephyrProxyExtensionInit(const char *a_extension_name);
 | 
			
		||||
 | 
			
		||||
#endif /*__EPHYRPROXYEXT_H__*/
 | 
			
		||||
		Loading…
	
		Reference in New Issue