1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-23 17:34:34 +03:00

r10627: - use a wrepl specific enum for the node type

- the unknown flag 0x10 seems to mean that this name was localy registered on this
  currently asked server, that flag is not present in replica records

metze
(This used to be commit ba3685c41d)
This commit is contained in:
Stefan Metzmacher 2005-09-29 22:06:24 +00:00 committed by Gerald (Jerry) Carter
parent c91fa5c504
commit c2d7914428
4 changed files with 14 additions and 7 deletions

View File

@ -707,7 +707,7 @@ NTSTATUS wrepl_pull_names_recv(struct wrepl_request *req,
talloc_steal(io->out.names, wname->name.scope);
name->type = WREPL_NAME_TYPE(wname->flags);
name->state = WREPL_NAME_STATE(wname->flags);
name->node = WREPL_NBT_NODE(wname->flags);
name->node = WREPL_NAME_NODE(wname->flags);
name->is_static = WREPL_NAME_IS_STATIC(wname->flags);
name->raw_flags = wname->flags;
name->version_id= wname->id;

View File

@ -106,11 +106,11 @@ struct wrepl_pull_table {
#define WREPL_NAME_TYPE(flags) (flags & WREPL_FLAGS_RECORD_TYPE)
#define WREPL_NAME_STATE(flags) ((flags & WREPL_FLAGS_RECORD_STATE)>>2)
#define WREPL_NBT_NODE(flags) ((flags & WREPL_FLAGS_NODE_TYPE)<<8)
#define WREPL_NAME_NODE(flags) ((flags & WREPL_FLAGS_NODE_TYPE)>>5)
#define WREPL_NAME_IS_STATIC(flags) ((flags & WREPL_FLAGS_IS_STATIC)?True:False)
#define WREPL_NAME_FLAGS(type, state, node, is_static) \
(type | (state << 2) | (node>>8) | \
(type | (state << 2) | (node << 5) | \
(is_static ? WREPL_FLAGS_IS_STATIC : 0))
/*
@ -127,7 +127,7 @@ struct wrepl_pull_names {
struct nbt_name name;
enum wrepl_name_type type;
enum wrepl_name_state state;
enum nbt_node_type node;
enum wrepl_name_node node;
BOOL is_static;
uint32_t raw_flags;
uint64_t version_id;

View File

@ -49,10 +49,17 @@ interface wrepl
WREPL_STATE_RESERVED = 0x3
} wrepl_name_state;
typedef [enum8bit] enum {
WREPL_NODE_B = 0x0,
WREPL_NODE_P = 0x1,
WREPL_NODE_M = 0x2,
WREPL_NODE_H = 0x3
} wrepl_name_node;
typedef [bitmap32bit] bitmap {
WREPL_FLAGS_RECORD_TYPE = 0x00000003,
WREPL_FLAGS_RECORD_STATE = 0x0000000C,
WREPL_FLAGS_0x00000010 = 0x00000010,
WREPL_FLAGS_REGISTERED_LOCAL = 0x00000010,
WREPL_FLAGS_NODE_TYPE = 0x00000060,
WREPL_FLAGS_IS_STATIC = 0x00000080
} wrepl_flags;

View File

@ -147,9 +147,9 @@ static void display_entry(TALLOC_CTX *mem_ctx, struct wrepl_name *name)
int i;
printf("%s\n", nbt_name_string(mem_ctx, &name->name));
printf("\tTYPE:%u STATE:%u NODE:0x%04X STATIC:%u VERSION_ID: %llu\n",
printf("\tTYPE:%u STATE:%u NODE:%u STATIC:%u VERSION_ID: %llu\n",
name->type, name->state, name->node, name->is_static, name->version_id);
printf("\tRAW_FLAGS:0x%08X OWNER: %-15s\n",
printf("\tRAW_FLAGS: 0x%08X OWNER: %-15s\n",
name->raw_flags, name->owner);
for (i=0;i<name->num_addresses;i++) {
printf("\tADDR: %-15s OWNER: %-15s\n",