1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-02 09:47:23 +03:00

r1292: Add const to the subsystem/module registration code.

Add some 'multi init' code, until we get a better set of infrustructure.

Andrew Bartlett
(This used to be commit 982422b2d286335378531ae9523e74192340af3c)
This commit is contained in:
Andrew Bartlett 2004-06-29 09:20:18 +00:00 committed by Gerald (Jerry) Carter
parent 118f3edd27
commit fe0706d5d5
4 changed files with 12 additions and 5 deletions

View File

@ -409,7 +409,7 @@ static int num_backends;
The 'name' can be later used by other backends to find the operations
structure for this backend.
*/
static NTSTATUS auth_register(void *_ops)
static NTSTATUS auth_register(const void *_ops)
{
const struct auth_operations *ops = _ops;
struct auth_operations *new_ops;
@ -467,7 +467,6 @@ const struct auth_critical_sizes *auth_interface_version(void)
sizeof(struct auth_operations),
sizeof(struct auth_methods),
sizeof(struct auth_context),
sizeof(struct auth_ntlmssp_state),
sizeof(struct auth_usersupplied_info),
sizeof(struct auth_serversupplied_info),
sizeof(struct auth_str),
@ -482,6 +481,13 @@ const struct auth_critical_sizes *auth_interface_version(void)
BOOL auth_init(void)
{
NTSTATUS status;
/* ugly cludge, to go away */
static BOOL initialised;
if (initialised) {
return True;
}
status = register_subsystem("auth", auth_register);
if (!NT_STATUS_IS_OK(status)) {
@ -491,6 +497,7 @@ BOOL auth_init(void)
/* FIXME: Perhaps panic if a basic backend, such as SAM, fails to initialise? */
static_init_auth;
initialised = True;
DEBUG(3,("AUTH subsystem version %d initialised\n", AUTH_INTERFACE_VERSION));
return True;
}

View File

@ -25,6 +25,6 @@
typedef NTSTATUS (*init_module_function) (void);
/* Module that registers a backend for a certain subsystem */
typedef NTSTATUS (*register_backend_function) (void *data);
typedef NTSTATUS (*register_backend_function) (const void *data);
#endif /* _MODULE_H */

View File

@ -153,7 +153,7 @@ NTSTATUS register_subsystem(const char *name, register_backend_function callback
return NT_STATUS_OK;
}
NTSTATUS register_backend(const char *subsystem, void *args)
NTSTATUS register_backend(const char *subsystem, const void *args)
{
/* Find the specified subsystem */
struct subsystem *s = subsystems;

View File

@ -57,7 +57,7 @@ static int num_models;
The 'name' can be later used by other backends to find the operations
structure for this backend.
*/
static NTSTATUS register_process_model(void *_ops)
static NTSTATUS register_process_model(const void *_ops)
{
const struct model_ops *ops = _ops;