VirtualBox

source: vbox/trunk/include/VBox/VDEPlugSymDefs.h@ 29461

Last change on this file since 29461 was 29461, checked in by vboxsync, 14 years ago

Devices/Network/VDE: applied "[vbox-dev] [PATCH] VirtualBox. vde_close was missing..." (07/05/2010, Renzo Davoli)

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 3.1 KB
Line 
1/** @file
2 * Symbols from libvdeplug.so.2 to be loaded at runtime for DrvVDE.cpp
3 */
4
5/*
6 * Copyright (C) 2008-2010 Oracle Corporation
7 *
8 * This file is part of VirtualBox Open Source Edition (OSE), as
9 * available from http://www.virtualbox.org. This file is free software;
10 * you can redistribute it and/or modify it under the terms of the GNU
11 * General Public License (GPL) as published by the Free Software
12 * Foundation, in version 2 as it comes in the "COPYING" file of the
13 * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
14 * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
15 *
16 * The contents of this file may alternatively be used under the terms
17 * of the Common Development and Distribution License Version 1.0
18 * (CDDL) only, as it comes in the "COPYING.CDDL" file of the
19 * VirtualBox OSE distribution, in which case the provisions of the
20 * CDDL are applicable instead of those of the GPL.
21 *
22 * You may elect to license modified versions of this file under the
23 * terms and conditions of either the GPL or the CDDL or both.
24 */
25
26#include <stddef.h>
27#include <sys/types.h>
28/** Opaque connection type */
29struct vdeconn;
30typedef struct vdeconn VDECONN;
31
32/** Structure to be passed to the open function describing the connection.
33 * All members can be left zero to use the default values. */
34struct vde_open_args
35{
36 /** The port of the switch to connect to */
37 int port;
38 /** The group to set ownership of the port socket to */
39 char *group;
40 /** The file mode to set the port socket to */
41 mode_t mode;
42};
43
44/** The file name of the DBus library */
45#define VBOX_LIB_VDE_PLUG_NAME "libvdeplug.so.2"
46#define RT_RUNTIME_LOADER_LIB_NAME VBOX_LIB_VDE_PLUG_NAME
47
48/** The name of the loader function */
49#define RT_RUNTIME_LOADER_FUNCTION DrvVDELoadVDEPlug
50
51/** The following are the symbols which we need from the library. */
52#define RT_RUNTIME_LOADER_INSERT_SYMBOLS \
53 RT_PROXY_STUB(vde_open_real, VDECONN *, \
54 (const char *vde_switch, const char *descr, int interface_version, struct vde_open_args *open_args), \
55 (vde_switch, descr, interface_version, open_args)) \
56 RT_PROXY_STUB(vde_recv, size_t, \
57 (VDECONN *conn,void *buf,size_t len,int flags), \
58 (conn, buf, len, flags)) \
59 RT_PROXY_STUB(vde_send, size_t, \
60 (VDECONN *conn,const void *buf,size_t len,int flags), \
61 (conn, buf, len, flags)) \
62 RT_PROXY_STUB(vde_datafd, int, (VDECONN *conn), (conn)) \
63 RT_PROXY_STUB(vde_close, void, (VDECONN *conn), (conn))
64
65#ifdef VDEPLUG_GENERATE_HEADER
66# define RT_RUNTIME_LOADER_GENERATE_HEADER
67# define RT_RUNTIME_LOADER_GENERATE_DECLS
68# include <iprt/runtime-loader.h>
69# undef RT_RUNTIME_LOADER_GENERATE_HEADER
70# undef RT_RUNTIME_LOADER_GENERATE_DECLS
71#elif defined (VDEPLUG_GENERATE_BODY)
72# define RT_RUNTIME_LOADER_GENERATE_BODY_STUBS
73# include <iprt/runtime-loader.h>
74# undef RT_RUNTIME_LOADER_GENERATE_BODY_STUBS
75#else
76# error This file should only be included to generate stubs for loading the \
77libvdeplug library at runtime
78#endif
79
80#undef RT_RUNTIME_LOADER_LIB_NAME
81#undef RT_RUNTIME_LOADER_INSERT_SYMBOLS
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette