diff options
author | Andrew Tridgell <tridge@samba.org> | 2005-01-31 01:57:58 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 13:09:23 -0500 |
commit | 414f6c80b22b128c25d947d62f6b5d1ec13091b6 (patch) | |
tree | da147a6c2802a7af79b5dfcdf3d3f6508287520e /source4/nbt_server/nbt_server.h | |
parent | 37449657a8d335097b3f3559f8b5bf084b50b85a (diff) | |
download | samba-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/nbt_server/nbt_server.h')
-rw-r--r-- | source4/nbt_server/nbt_server.h | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/source4/nbt_server/nbt_server.h b/source4/nbt_server/nbt_server.h index 9ef510fbb2..49a07ca95e 100644 --- a/source4/nbt_server/nbt_server.h +++ b/source4/nbt_server/nbt_server.h @@ -20,14 +20,30 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ +#include "libcli/nbt/libnbt.h" + +/* + a list of our registered names on each interface +*/ +struct nbt_iface_name { + struct nbt_iface_name *next, *prev; + struct nbt_interface *iface; + struct nbt_name name; + uint16_t nb_flags; + struct timeval registration_time; + uint32_t ttl; +}; + /* a list of network interfaces we are listening on */ struct nbt_interface { struct nbt_interface *next, *prev; + struct nbt_server *nbtsrv; const char *ip_address; const char *bcast_address; + const char *netmask; struct nbt_name_socket *nbtsock; - struct nbt_server *nbtsrv; + struct nbt_iface_name *names; }; @@ -37,7 +53,11 @@ struct nbt_interface { struct nbt_server { struct task_server *task; + /* the list of local network interfaces */ struct nbt_interface *interfaces; + + /* broadcast interface used for receiving packets only */ + struct nbt_interface *bcast_interface; }; |