mirror of
https://github.com/samba-team/samba.git
synced 2025-08-05 12:22:11 +03:00
Manual prototypes for COM.
This commit is contained in:
@ -1,37 +1,32 @@
|
|||||||
/*
|
#ifndef __LIB_COM_PROTO_H__
|
||||||
Unix SMB/CIFS implementation.
|
#define __LIB_COM_PROTO_H__
|
||||||
COM standard objects
|
|
||||||
Copyright (C) Jelmer Vernooij 2004-2005.
|
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
#undef _PRINTF_ATTRIBUTE
|
||||||
it under the terms of the GNU General Public License as published by
|
#define _PRINTF_ATTRIBUTE(a1, a2) PRINTF_ATTRIBUTE(a1, a2)
|
||||||
the Free Software Foundation; either version 2 of the License, or
|
/* This file was automatically generated by mkproto.pl. DO NOT EDIT */
|
||||||
(at your option) any later version.
|
|
||||||
|
|
||||||
This program is distributed in the hope that it will be useful,
|
/* this file contains prototypes for functions that are private
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* to this subsystem or library. These functions should not be
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
* used outside this particular subsystem! */
|
||||||
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 _COM_H /* _COM_H */
|
|
||||||
#define _COM_H
|
|
||||||
|
|
||||||
struct IUnknown_vtable;
|
|
||||||
|
|
||||||
struct com_context
|
|
||||||
{
|
|
||||||
struct dcom_client_context *dcom;
|
|
||||||
struct event_context *event_ctx;
|
|
||||||
};
|
|
||||||
|
|
||||||
typedef struct IUnknown *(*get_class_object_function) (const struct GUID *clsid);
|
|
||||||
|
|
||||||
|
|
||||||
#include "lib/com/proto.h"
|
/* The following definitions come from lib/com/tables.c */
|
||||||
|
|
||||||
|
struct IUnknown *com_class_by_clsid(struct com_context *ctx, const struct GUID *clsid);
|
||||||
|
NTSTATUS com_register_running_class(struct GUID *clsid, const char *progid, struct IUnknown *p);
|
||||||
|
|
||||||
|
/* The following definitions come from lib/com/rot.c */
|
||||||
|
|
||||||
|
struct dcom_interface_p *dcom_get_local_iface_p(struct GUID *ipid);
|
||||||
|
|
||||||
|
/* The following definitions come from lib/com/main.c */
|
||||||
|
|
||||||
|
WERROR com_init_ctx(struct com_context **ctx, struct event_context *event_ctx);
|
||||||
|
WERROR com_create_object(struct com_context *ctx, struct GUID *clsid, int num_ifaces, struct GUID *iid, struct IUnknown **ip, WERROR *results);
|
||||||
|
WERROR com_get_class_object(struct com_context *ctx, struct GUID *clsid, struct GUID *iid, struct IUnknown **ip);
|
||||||
|
NTSTATUS com_init(void);
|
||||||
|
#undef _PRINTF_ATTRIBUTE
|
||||||
|
#define _PRINTF_ATTRIBUTE(a1, a2)
|
||||||
|
|
||||||
|
#endif /* __LIB_COM_PROTO_H__ */
|
||||||
|
|
||||||
#endif /* _COM_H */
|
|
||||||
|
@ -26,7 +26,6 @@ struct dcerpc_pipe;
|
|||||||
|
|
||||||
#include "lib/com/com.h"
|
#include "lib/com/com.h"
|
||||||
#include "librpc/gen_ndr/orpc.h"
|
#include "librpc/gen_ndr/orpc.h"
|
||||||
#include "lib/com/dcom/proto.h"
|
|
||||||
|
|
||||||
struct dcom_client_context {
|
struct dcom_client_context {
|
||||||
struct cli_credentials *credentials;
|
struct cli_credentials *credentials;
|
||||||
@ -38,4 +37,17 @@ struct dcom_client_context {
|
|||||||
} *object_exporters;
|
} *object_exporters;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct dcom_client_context *dcom_client_init(struct com_context *ctx, struct cli_credentials *credentials);
|
||||||
|
struct dcom_object_exporter *object_exporter_by_oxid(struct com_context *ctx, uint64_t oxid);
|
||||||
|
struct dcom_object_exporter *object_exporter_by_ip(struct com_context *ctx, struct IUnknown *ip);
|
||||||
|
WERROR dcom_create_object(struct com_context *ctx, struct GUID *clsid, const char *server, int num_ifaces, struct GUID *iid, struct IUnknown ***ip, WERROR *results);
|
||||||
|
WERROR dcom_get_class_object(struct com_context *ctx, struct GUID *clsid, const char *server, struct GUID *iid, struct IUnknown **ip);
|
||||||
|
NTSTATUS dcom_get_pipe(struct IUnknown *iface, struct dcerpc_pipe **pp);
|
||||||
|
NTSTATUS dcom_OBJREF_from_IUnknown(struct OBJREF *o, struct IUnknown *p);
|
||||||
|
NTSTATUS dcom_IUnknown_from_OBJREF(struct com_context *ctx, struct IUnknown **_p, struct OBJREF *o);
|
||||||
|
uint64_t dcom_get_current_oxid(void);
|
||||||
|
|
||||||
|
NTSTATUS dcom_register_proxy(struct IUnknown_vtable *proxy_vtable);
|
||||||
|
struct IUnknown_vtable *dcom_proxy_vtable_by_iid(struct GUID *iid);
|
||||||
|
|
||||||
#endif /* _DCOM_H */
|
#endif /* _DCOM_H */
|
||||||
|
Reference in New Issue
Block a user