summaryrefslogtreecommitdiffstats
path: root/source/lib/interface.c
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>1996-06-07 03:34:22 +0000
committerAndrew Tridgell <tridge@samba.org>1996-06-07 03:34:22 +0000
commit88b191b48836eeb7937f25b37d0bdd4a2276e5a7 (patch)
tree029183b29f3787bcbb34b61475bd02ad554d30e0 /source/lib/interface.c
parent5a0d016b2432da9299d92b33d723534d91c8dcf4 (diff)
downloadsamba-88b191b48836eeb7937f25b37d0bdd4a2276e5a7.tar.gz
samba-88b191b48836eeb7937f25b37d0bdd4a2276e5a7.tar.xz
samba-88b191b48836eeb7937f25b37d0bdd4a2276e5a7.zip
- added predict.c, moving the routines from util.c
- added iface_count() and iface_n_ip() routines so its easy to loop over the local interface list - made readsize a normal loadparm global - check for null w in add_domain_entry() - set the deathtime to time()-1 for doamin entries with servertype==0 This allows servers that are shutting down to be removed - add the 0x1c name at startup if we are a WINS server. Previously we added it only if we were a master - loop over interfaces in add_my_domains(), so people don't have to have a lmhosts file to get lp_workgroup() on all interfaces - set add to True for find_workgroupstruct() in nmbsync, and check for null return - remove some ugly "errno = EBADF" bits. they just confused things.
Diffstat (limited to 'source/lib/interface.c')
-rw-r--r--source/lib/interface.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/source/lib/interface.c b/source/lib/interface.c
index a47ef6e47e7..f2a535d80cd 100644
--- a/source/lib/interface.c
+++ b/source/lib/interface.c
@@ -388,6 +388,33 @@ BOOL ismybcast(struct in_addr bcast)
return False;
}
+/****************************************************************************
+ how many interfaces do we have
+ **************************************************************************/
+int iface_count(void)
+{
+ int ret = 0;
+ struct interface *i;
+
+ for (i=interfaces;i;i=i->next)
+ ret++;
+ return ret;
+}
+
+/****************************************************************************
+ return IP of the Nth interface
+ **************************************************************************/
+struct in_addr *iface_n_ip(int n)
+{
+ struct interface *i;
+
+ for (i=interfaces;i && n;i=i->next)
+ n--;
+
+ if (i) return &i->ip;
+ return NULL;
+}
+
static struct interface *iface_find(struct in_addr ip)
{
struct interface *i;