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. Unix SMB/CIFS implementation.
return a list of network interfaces return a list of network interfaces
Copyright (C) Andrew Tridgell 1998 Copyright (C) Andrew Tridgell 1998
Copyright (C) Jeremy Allison 2007 Copyright (C) Jeremy Allison 2007
Copyright (C) Jelmer Vernooij 2007 Copyright (C) Jelmer Vernooij 2007
This program is free software; you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or the Free Software Foundation; either version 3 of the License, or
(at your option) any later version. (at your option) any later version.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
@ -33,7 +33,7 @@
#include "includes.h" #include "includes.h"
#include "system/network.h" #include "system/network.h"
#include "netif.h" #include "interfaces.h"
#include "lib/util/tsort.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" #include "system/network.h"
#include "lib/socket/interfaces.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/netif_proto.h" #include "lib/socket/netif_proto.h"
#endif

View File

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

View File

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