1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-21 18:04:06 +03:00

lib/socket move interfaces code to the top level

This commit is contained in:
Andrew Bartlett 2011-05-02 13:02:17 +10:00 committed by Andrew Tridgell
parent 879498b362
commit f346a73785
6 changed files with 63 additions and 25 deletions

View File

@ -1,20 +1,20 @@
/*
/*
Unix SMB/CIFS implementation.
return a list of network interfaces
Copyright (C) Andrew Tridgell 1998
Copyright (C) Jeremy Allison 2007
Copyright (C) Jelmer Vernooij 2007
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 3 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, see <http://www.gnu.org/licenses/>.
*/
@ -33,7 +33,7 @@
#include "includes.h"
#include "system/network.h"
#include "netif.h"
#include "interfaces.h"
#include "lib/util/tsort.h"
/****************************************************************************

44
lib/socket/interfaces.h Normal file
View File

@ -0,0 +1,44 @@
/*
Unix SMB/CIFS implementation.
structures for lib/netif/
Copyright (C) Andrew Tridgell 2004
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 3 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, see <http://www.gnu.org/licenses/>.
*/
#include "system/network.h"
struct iface_struct {
char name[16];
int flags;
struct sockaddr_storage ip;
struct sockaddr_storage netmask;
struct sockaddr_storage bcast;
};
struct interface;
bool make_netmask(struct sockaddr_storage *pss_out,
const struct sockaddr_storage *pss_in,
unsigned long masklen);
void make_bcast(struct sockaddr_storage *pss_out,
const struct sockaddr_storage *pss_in,
const struct sockaddr_storage *nmask);
void make_net(struct sockaddr_storage *pss_out,
const struct sockaddr_storage *pss_in,
const struct sockaddr_storage *nmask);
int get_interfaces(TALLOC_CTX *mem_ctx, struct iface_struct **pifaces);

7
lib/socket/wscript_build Normal file
View File

@ -0,0 +1,7 @@
#!/usr/bin/env python
bld.SAMBA_LIBRARY('interfaces',
source='interfaces.c',
deps='samba-util',
private_library=True
)

View File

@ -20,19 +20,5 @@
*/
#include "system/network.h"
struct iface_struct {
char name[16];
int flags;
struct sockaddr_storage ip;
struct sockaddr_storage netmask;
struct sockaddr_storage bcast;
};
struct interface;
#define MAX_INTERFACES 128
#ifndef AUTOCONF_TEST
#include "lib/socket/interfaces.h"
#include "lib/socket/netif_proto.h"
#endif

View File

@ -1,11 +1,11 @@
#!/usr/bin/env python
bld.SAMBA_LIBRARY('netif',
source='interface.c netif.c',
autoproto='netif_proto.h',
deps='samba-util',
private_library=True
)
source='interface.c',
deps='samba-util interfaces',
private_library=True,
autoproto='netif_proto.h'
)
bld.SAMBA_MODULE('socket_ip',
source='socket_ip.c',

View File

@ -33,6 +33,7 @@ bld.SAMBA_MKVERSION('version.h')
# bld.ENABLE_MAGIC_ORDERING()
bld.RECURSE('lib/replace')
bld.RECURSE('lib/socket')
bld.RECURSE('lib/talloc')
bld.RECURSE('lib/tdb')
bld.RECURSE('lib/tevent')