1
0
mirror of https://github.com/samba-team/samba.git synced 2025-11-15 16:23:49 +03:00
Files
samba-mirror/source/gtk/common/gtk-smb.h
Jelmer Vernooij 0b54405685 r11377: Add support for building LIBRARY elements as shared libraries:
- Adds -rpath bin/ so you don't have to install Samba in order to use compiled binaries.
 - Writes out pkg-config files when building shared libs
 - Supports automatic fallback to MERGEDOBJ (which is the default) or
   OBJ_LIST (if ld -r is not supported)

Building with shared libs reduces the size of the Samba binaries from
197 Mb to 60 Mb (including libraries) on my system (GCC4, with debugging).

To build with shared libraries support enabled, run:

LIBRARY_OUTPUT_TYPE=SHARED_LIBRARY ./config.status

init functions don't get called correctly yet when using shared libs, so
you won't be able to actually run anything with success :-)

Once init functions are done, I'll look at support for loading shared
modules once again.

Based on a patch by Peter Novodvorsky (nidd on IRC).
2007-10-10 13:45:28 -05:00

77 lines
2.6 KiB
C

/*
Unix SMB/CIFS implementation.
SMB-related GTK+ functions
Copyright (C) Jelmer Vernooij 2004
This program 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 program 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 program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#ifndef __GTK_SMB_H__
#define __GTK_SMB_H__
#define GTK_DISABLE_DEPRECATED
#include <gtk/gtk.h>
typedef struct _GtkRpcBindingDialog GtkRpcBindingDialog;
struct _GtkRpcBindingDialog
{
GtkDialog dialog;
GtkWidget *chk_sign;
GtkWidget *chk_seal;
GtkWidget *transport_tcp_ip;
GtkWidget *transport_ncalrpc;
GtkWidget *transport_smb;
GtkWidget *frame_host;
GtkWidget *entry_host;
GtkWidget *entry_username;
GtkWidget *entry_userdomain;
GtkWidget *entry_password;
GtkWidget *krb5_chk_button;
TALLOC_CTX *mem_ctx;
struct dcerpc_pipe *sam_pipe;
};
typedef struct _GtkRpcBindingDialogClass GtkRpcBindingDialogClass;
struct _GtkRpcBindingDialogClass
{
GtkDialogClass parent_class;
};
#define GTK_RPC_BINDING_DIALOG(obj) GTK_CHECK_CAST (obj, gtk_rpc_binding_dialog_get_type (), GtkRpcBindingDialog)
#define GTK_RPC_BINDING_DIALOG_CLASS(klass) GTK_CHECK_CLASS_CAST (klass, gtk_rpc_binding_dialog_class_get_type (), GtkRpcBindingDialogClass)
#define IS_GTK_RPC_BINDING_DIALOG(obj) GTK_CHECK_TYPE (obj, gtk_rpc_binding_dialog_get_type ())
/* subsystem prototypes */
GtkWidget *create_gtk_samba_about_dialog (const char *appname);
void gtk_show_ntstatus(GtkWidget *win, const char *, NTSTATUS status);
GtkWidget *gtk_rpc_binding_dialog_new (struct dcerpc_pipe *sam_pipe);
GType gtk_rpc_binding_dialog_get_type (void);
struct dcerpc_binding *gtk_rpc_binding_dialog_get_binding(GtkRpcBindingDialog *d, TALLOC_CTX *mem_ctx);
void gtk_show_werror(GtkWidget *win, const char *, WERROR err);
const char *gtk_rpc_binding_dialog_get_binding_string(GtkRpcBindingDialog *d, TALLOC_CTX *mem_ctx);
const char *gtk_rpc_binding_dialog_get_host(GtkRpcBindingDialog *d);
int gtk_event_loop(void);
struct event_context;
struct event_context *gtk_event_context(void);
void cli_credentials_set_gtk_callbacks(struct cli_credentials *creds);
#endif