From 0ad28a8592ea7d0893e3e8706ee80c26f8ce5497 Mon Sep 17 00:00:00 2001 From: Alexandre Julliard Date: Mon, 1 Dec 2008 14:39:39 +0100 Subject: [PATCH] widl: Make the generated global variables and functions hidden. --- include/rpcproxy.h | 25 ++++++++++++++++--------- tools/widl/client.c | 8 ++++++-- tools/widl/proxy.c | 6 +++++- tools/widl/server.c | 12 ++++++++---- 4 files changed, 35 insertions(+), 16 deletions(-) diff --git a/include/rpcproxy.h b/include/rpcproxy.h index acddc729b36..76a88128d83 100644 --- a/include/rpcproxy.h +++ b/include/rpcproxy.h @@ -125,7 +125,7 @@ typedef struct tagCStdPSFactoryBuffer #define STUB_FORWARDING_FUNCTION NdrStubForwardingFunction -ULONG STDMETHODCALLTYPE CStdStubBuffer2_Release(IRpcStubBuffer *This); +ULONG STDMETHODCALLTYPE CStdStubBuffer2_Release(IRpcStubBuffer *This) DECLSPEC_HIDDEN; ULONG STDMETHODCALLTYPE NdrCStdStubBuffer2_Release(IRpcStubBuffer *This, IPSFactoryBuffer *pPSF); #define CStdStubBuffer_DELEGATING_METHODS 0, 0, CStdStubBuffer2_Release, 0, 0, 0, 0, 0, 0, 0 @@ -136,7 +136,7 @@ HRESULT WINAPI ULONG WINAPI CStdStubBuffer_AddRef( IRpcStubBuffer *This ); ULONG WINAPI - CStdStubBuffer_Release( IRpcStubBuffer *This ); + CStdStubBuffer_Release( IRpcStubBuffer *This ) DECLSPEC_HIDDEN; ULONG WINAPI NdrCStdStubBuffer_Release( IRpcStubBuffer *This, IPSFactoryBuffer *pPSF ); HRESULT WINAPI @@ -233,10 +233,10 @@ ULONG WINAPI CStdStubBuffer2_Release(IRpcStubBuffer *This) \ /* macros used in dlldata.c files */ #define EXTERN_PROXY_FILE(proxy) \ - EXTERN_C const ProxyFileInfo proxy##_ProxyFileInfo; + EXTERN_C const ProxyFileInfo proxy##_ProxyFileInfo DECLSPEC_HIDDEN; #define PROXYFILE_LIST_START \ - const ProxyFileInfo *aProxyFileList[] = \ + const ProxyFileInfo * aProxyFileList[] DECLSPEC_HIDDEN = \ { #define REFERENCE_PROXY_FILE(proxy) \ @@ -251,11 +251,11 @@ ULONG WINAPI CStdStubBuffer2_Release(IRpcStubBuffer *This) \ /* define PROXY_CLSID_IS to specify the CLSID data of the PSFactoryBuffer */ /* define neither to use the GUID of the first interface */ #ifdef PROXY_CLSID -# define CLSID_PSFACTORYBUFFER extern CLSID PROXY_CLSID; +# define CLSID_PSFACTORYBUFFER extern CLSID PROXY_CLSID DECLSPEC_HIDDEN; #else # ifdef PROXY_CLSID_IS -# define CLSID_PSFACTORYBUFFER const CLSID CLSID_PSFactoryBuffer = \ - PROXY_CLSID_IS; +# define CLSID_PSFACTORYBUFFER const CLSID CLSID_PSFactoryBuffer DECLSPEC_HIDDEN; \ + const CLSID CLSID_PSFactoryBuffer = PROXY_CLSID_IS; # define PROXY_CLSID CLSID_PSFactoryBuffer # else # define CLSID_PSFACTORYBUFFER @@ -287,6 +287,8 @@ ULONG WINAPI CStdStubBuffer2_Release(IRpcStubBuffer *This) \ #define DLLDATA_GETPROXYDLLINFO(pfl, rclsid) \ void RPC_ENTRY GetProxyDllInfo(const ProxyFileInfo ***ppProxyFileInfo, \ + const CLSID **ppClsid) DECLSPEC_HIDDEN; \ + void RPC_ENTRY GetProxyDllInfo(const ProxyFileInfo ***ppProxyFileInfo, \ const CLSID **ppClsid) \ { \ *ppProxyFileInfo = (pfl); \ @@ -294,6 +296,7 @@ ULONG WINAPI CStdStubBuffer2_Release(IRpcStubBuffer *This) \ } #define DLLGETCLASSOBJECTROUTINE(pfl, factory_clsid, factory) \ + HRESULT WINAPI DLLGETCLASSOBJECT_ENTRY(REFCLSID rclsid, REFIID riid, void **ppv) DECLSPEC_HIDDEN; \ HRESULT WINAPI DLLGETCLASSOBJECT_ENTRY(REFCLSID rclsid, REFIID riid, \ void **ppv) \ { \ @@ -302,14 +305,16 @@ ULONG WINAPI CStdStubBuffer2_Release(IRpcStubBuffer *This) \ } #define DLLCANUNLOADNOW(factory) \ + HRESULT WINAPI DLLCANUNLOADNOW_ENTRY(void) DECLSPEC_HIDDEN; \ HRESULT WINAPI DLLCANUNLOADNOW_ENTRY(void) \ { \ return NdrDllCanUnloadNow((factory)); \ } #define REGISTER_PROXY_DLL_ROUTINES(pfl, factory_clsid) \ - HINSTANCE hProxyDll = NULL; \ + HINSTANCE hProxyDll DECLSPEC_HIDDEN = NULL; \ \ + BOOL WINAPI DLLMAIN_ENTRY(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) DECLSPEC_HIDDEN; \ BOOL WINAPI DLLMAIN_ENTRY(HINSTANCE hinstDLL, DWORD fdwReason, \ LPVOID lpvReserved) \ { \ @@ -321,11 +326,13 @@ ULONG WINAPI CStdStubBuffer2_Release(IRpcStubBuffer *This) \ return TRUE; \ } \ \ + HRESULT WINAPI DLLREGISTERSERVER_ENTRY(void) DECLSPEC_HIDDEN; \ HRESULT WINAPI DLLREGISTERSERVER_ENTRY(void) \ { \ return NdrDllRegisterProxy(hProxyDll, (pfl), (factory_clsid)); \ } \ \ + HRESULT WINAPI DLLUNREGISTERSERVER_ENTRY(void) DECLSPEC_HIDDEN; \ HRESULT WINAPI DLLUNREGISTERSERVER_ENTRY(void) \ { \ return NdrDllUnregisterProxy(hProxyDll, (pfl), (factory_clsid)); \ @@ -340,7 +347,7 @@ ULONG WINAPI CStdStubBuffer2_Release(IRpcStubBuffer *This) \ #define DLLDATA_ROUTINES(pfl, factory_clsid) \ CLSID_PSFACTORYBUFFER \ - CStdPSFactoryBuffer gPFactory = { NULL, 0, NULL, 0 }; \ + CStdPSFactoryBuffer DECLSPEC_HIDDEN gPFactory = { NULL, 0, NULL, 0 }; \ DLLDATA_GETPROXYDLLINFO(pfl, factory_clsid) \ DLLGETCLASSOBJECTROUTINE(pfl, factory_clsid, &gPFactory) \ DLLCANUNLOADNOW(&gPFactory) \ diff --git a/tools/widl/client.c b/tools/widl/client.c index 40788954426..5221e26a621 100644 --- a/tools/widl/client.c +++ b/tools/widl/client.c @@ -415,10 +415,10 @@ static void write_clientinterfacedecl(type_t *iface) indent--; print_client("};\n"); if (old_names) - print_client("RPC_IF_HANDLE %s_ClientIfHandle = (RPC_IF_HANDLE)& %s___RpcClientInterface;\n", + print_client("RPC_IF_HANDLE %s_ClientIfHandle DECLSPEC_HIDDEN = (RPC_IF_HANDLE)& %s___RpcClientInterface;\n", iface->name, iface->name); else - print_client("RPC_IF_HANDLE %s%s_v%d_%d_c_ifspec = (RPC_IF_HANDLE)& %s___RpcClientInterface;\n", + print_client("RPC_IF_HANDLE %s%s_v%d_%d_c_ifspec DECLSPEC_HIDDEN = (RPC_IF_HANDLE)& %s___RpcClientInterface;\n", prefix_client, iface->name, MAJORVERSION(ver), MINORVERSION(ver), iface->name); fprintf(client, "\n"); } @@ -450,6 +450,10 @@ static void init_client(void) fprintf(client, "\n"); print_client("#include \"%s\"\n", header_name); print_client( "\n"); + print_client( "#ifndef DECLSPEC_HIDDEN\n"); + print_client( "#define DECLSPEC_HIDDEN\n"); + print_client( "#endif\n"); + print_client( "\n"); write_exceptions( client ); print_client( "\n"); } diff --git a/tools/widl/proxy.c b/tools/widl/proxy.c index 51a35a63d6d..3c43aad6da5 100644 --- a/tools/widl/proxy.c +++ b/tools/widl/proxy.c @@ -109,6 +109,10 @@ static void init_proxy(const statement_list_t *stmts) print_proxy( "\n"); print_proxy( "#include \"%s\"\n", header_name); print_proxy( "\n"); + print_proxy( "#ifndef DECLSPEC_HIDDEN\n"); + print_proxy( "#define DECLSPEC_HIDDEN\n"); + print_proxy( "#endif\n"); + print_proxy( "\n"); write_exceptions( proxy ); print_proxy( "\n"); print_proxy( "struct __proxy_frame\n"); @@ -817,7 +821,7 @@ void write_proxies(const statement_list_t *stmts) fprintf(proxy, "}\n"); fprintf(proxy, "\n"); - fprintf(proxy, "const ExtendedProxyFileInfo %s_ProxyFileInfo =\n", file_id); + fprintf(proxy, "const ExtendedProxyFileInfo %s_ProxyFileInfo DECLSPEC_HIDDEN =\n", file_id); fprintf(proxy, "{\n"); fprintf(proxy, " (const PCInterfaceProxyVtblList*)&_%s_ProxyVtblList,\n", file_id); fprintf(proxy, " (const PCInterfaceStubVtblList*)&_%s_StubVtblList,\n", file_id); diff --git a/tools/widl/server.c b/tools/widl/server.c index 04e268b2a29..9b8edb7bcd6 100644 --- a/tools/widl/server.c +++ b/tools/widl/server.c @@ -266,7 +266,7 @@ static void write_dispatchtable(type_t *iface) print_server("0\n"); indent--; print_server("};\n"); - print_server("RPC_DISPATCH_TABLE %s_v%d_%d_DispatchTable =\n", iface->name, MAJORVERSION(ver), MINORVERSION(ver)); + print_server("static RPC_DISPATCH_TABLE %s_v%d_%d_DispatchTable =\n", iface->name, MAJORVERSION(ver), MINORVERSION(ver)); print_server("{\n"); indent++; print_server("%u,\n", method_count); @@ -330,7 +330,7 @@ static void write_serverinterfacedecl(type_t *iface) if (endpoints) write_endpoints( server, iface->name, endpoints ); - print_server("extern RPC_DISPATCH_TABLE %s_v%d_%d_DispatchTable;\n", iface->name, MAJORVERSION(ver), MINORVERSION(ver)); + print_server("static RPC_DISPATCH_TABLE %s_v%d_%d_DispatchTable;\n", iface->name, MAJORVERSION(ver), MINORVERSION(ver)); fprintf(server, "\n"); print_server("static const RPC_SERVER_INTERFACE %s___RpcServerInterface =\n", iface->name ); print_server("{\n"); @@ -358,10 +358,10 @@ static void write_serverinterfacedecl(type_t *iface) indent--; print_server("};\n"); if (old_names) - print_server("RPC_IF_HANDLE %s_ServerIfHandle = (RPC_IF_HANDLE)& %s___RpcServerInterface;\n", + print_server("RPC_IF_HANDLE %s_ServerIfHandle DECLSPEC_HIDDEN = (RPC_IF_HANDLE)& %s___RpcServerInterface;\n", iface->name, iface->name); else - print_server("RPC_IF_HANDLE %s%s_v%d_%d_s_ifspec = (RPC_IF_HANDLE)& %s___RpcServerInterface;\n", + print_server("RPC_IF_HANDLE %s%s_v%d_%d_s_ifspec DECLSPEC_HIDDEN = (RPC_IF_HANDLE)& %s___RpcServerInterface;\n", prefix_server, iface->name, MAJORVERSION(ver), MINORVERSION(ver), iface->name); fprintf(server, "\n"); } @@ -379,6 +379,10 @@ static void init_server(void) fprintf(server, "\n"); print_server("#include \"%s\"\n", header_name); print_server("\n"); + print_server( "#ifndef DECLSPEC_HIDDEN\n"); + print_server( "#define DECLSPEC_HIDDEN\n"); + print_server( "#endif\n"); + print_server( "\n"); write_exceptions( server ); print_server("\n"); print_server("struct __server_frame\n"); -- 2.11.4.GIT