summaryrefslogtreecommitdiff
path: root/source4/librpc
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2005-01-31 01:57:58 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:09:23 -0500
commit414f6c80b22b128c25d947d62f6b5d1ec13091b6 (patch)
treeda147a6c2802a7af79b5dfcdf3d3f6508287520e /source4/librpc
parent37449657a8d335097b3f3559f8b5bf084b50b85a (diff)
downloadsamba-414f6c80b22b128c25d947d62f6b5d1ec13091b6.tar.gz
samba-414f6c80b22b128c25d947d62f6b5d1ec13091b6.tar.bz2
samba-414f6c80b22b128c25d947d62f6b5d1ec13091b6.zip
r5114: the nbtd task can now act as a basic B-node server. It registers its
names on the network and answers name queries. Lots of details are still missing, but at least this now means you don't need a Samba3 nmbd to use Samba4. missing pieces include: - name registrations should be "shout 3 times, then demand" - no WINS server yet - no master browser code (This used to be commit d7d31fdc6670f026f96b50e51a4de19f0b920e5b)
Diffstat (limited to 'source4/librpc')
-rw-r--r--source4/librpc/idl/nbt.idl14
1 files changed, 10 insertions, 4 deletions
diff --git a/source4/librpc/idl/nbt.idl b/source4/librpc/idl/nbt.idl
index 429a35267c..35fc7d90c4 100644
--- a/source4/librpc/idl/nbt.idl
+++ b/source4/librpc/idl/nbt.idl
@@ -103,8 +103,12 @@ interface nbt
typedef struct {
nb_flags nb_flags;
uint32 ipaddr;
- } nbt_rdata_netbios;
+ } nbt_rdata_address;
+ typedef struct {
+ uint16 length;
+ nbt_rdata_address addresses[length/6];
+ } nbt_rdata_netbios;
typedef struct {
uint8 unit_id[6];
@@ -135,14 +139,16 @@ interface nbt
nb_flags nb_flags;
} nbt_status_name;
- typedef struct {
+ typedef [gensize] struct {
+ [value(ndr_size_nbt_rdata_status(r, ndr->flags)-2)] uint16 length;
uint8 num_names;
nbt_status_name names[num_names];
nbt_statistics statistics;
} nbt_rdata_status;
typedef struct {
- [flag(NDR_REMAINING)] DATA_BLOB data;
+ uint16 length;
+ uint8 data[length];
} nbt_rdata_data;
typedef [nodiscriminant] union {
@@ -156,7 +162,7 @@ interface nbt
nbt_qtype rr_type;
nbt_qclass rr_class;
uint32 ttl;
- [subcontext(2),switch_is(rr_type)] nbt_rdata rdata;
+ [switch_is(rr_type)] nbt_rdata rdata;
} nbt_res_rec;
typedef [flag(NDR_NOALIGN|NDR_BIG_ENDIAN|NDR_PAHEX),public] struct {