mirror of
https://github.com/samba-team/samba.git
synced 2024-12-24 21:34:56 +03:00
e3f2414cf9
(This used to be commit 1a16a6f1df
)
80 lines
2.0 KiB
C
80 lines
2.0 KiB
C
/*
|
|
Unix SMB/CIFS implementation.
|
|
|
|
WINS server structures
|
|
|
|
Copyright (C) Andrew Tridgell 2005
|
|
|
|
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.
|
|
*/
|
|
|
|
#define WINSDB_FLAG_ALLOC_VERSION (1<<0)
|
|
#define WINSDB_FLAG_TAKE_OWNERSHIP (1<<1)
|
|
|
|
struct winsdb_addr {
|
|
const char *address;
|
|
const char *wins_owner;
|
|
time_t expire_time;
|
|
};
|
|
|
|
/*
|
|
each record in the database contains the following information
|
|
*/
|
|
struct winsdb_record {
|
|
struct nbt_name *name;
|
|
enum wrepl_name_type type;
|
|
enum wrepl_name_state state;
|
|
enum wrepl_name_node node;
|
|
BOOL is_static;
|
|
time_t expire_time;
|
|
uint64_t version;
|
|
const char *wins_owner;
|
|
struct winsdb_addr **addresses;
|
|
|
|
/* only needed for debugging problems */
|
|
const char *registered_by;
|
|
};
|
|
|
|
enum winsdb_handle_caller {
|
|
WINSDB_HANDLE_CALLER_ADMIN = 0,
|
|
WINSDB_HANDLE_CALLER_NBTD = 1,
|
|
WINSDB_HANDLE_CALLER_WREPL = 2
|
|
};
|
|
|
|
struct winsdb_handle {
|
|
/* wins server database handle */
|
|
struct ldb_context *ldb;
|
|
|
|
/*
|
|
* the type of the caller, as we pass this to the
|
|
* 'wins_ldb' ldb module can decide if it needs to verify the
|
|
* the records before they're written to disk
|
|
*/
|
|
enum winsdb_handle_caller caller;
|
|
|
|
/* local owner address */
|
|
const char *local_owner;
|
|
};
|
|
|
|
enum wins_hook_action {
|
|
WINS_HOOK_ADD = 0,
|
|
WINS_HOOK_MODIFY = 1,
|
|
WINS_HOOK_DELETE = 2
|
|
};
|
|
|
|
struct ldb_message;
|
|
|
|
#include "nbt_server/wins/winsdb_proto.h"
|