2003-08-13 05:53:07 +04:00
/*
Unix SMB / CIFS implementation .
Samba system utilities
Copyright ( C ) Andrew Tridgell 1992 - 1998
Copyright ( C ) Jeremy Allison 1998 - 2002
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
2007-07-10 06:07:03 +04:00
the Free Software Foundation ; either version 3 of the License , or
2003-08-13 05:53:07 +04:00
( 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
2007-07-10 06:07:03 +04:00
along with this program . If not , see < http : //www.gnu.org/licenses/>.
2003-08-13 05:53:07 +04:00
*/
# include "includes.h"
2004-11-02 01:48:25 +03:00
# include "system/network.h"
2004-11-02 06:13:06 +03:00
# include "system/filesys.h"
2003-08-13 05:53:07 +04:00
2011-05-31 04:41:42 +04:00
# undef malloc
2003-08-13 05:53:07 +04:00
/*
The idea is that this file will eventually have wrappers around all
important system calls in samba . The aims are :
- to enable easier porting by putting OS dependent stuff in here
- to allow for hooks into other " pseudo-filesystems "
- to allow easier integration of things like the japanese extensions
- to support the philosophy of Samba to expose the features of
the OS within the SMB model . In general whatever file / printer / variable
expansions / etc make sense to the OS should be acceptable to Samba .
*/
2011-05-31 04:41:42 +04:00
2011-05-02 09:23:08 +04:00
_PUBLIC_ int sys_getnameinfo ( const struct sockaddr * psa ,
int salen ,
char * host ,
size_t hostlen ,
char * service ,
size_t servlen ,
int flags )
{
/*
* For Solaris we must make sure salen is the
* correct length for the incoming sa_family .
*/
if ( salen = = sizeof ( struct sockaddr_storage ) ) {
salen = sizeof ( struct sockaddr_in ) ;
# if defined(HAVE_IPV6)
if ( psa - > sa_family = = AF_INET6 ) {
salen = sizeof ( struct sockaddr_in6 ) ;
}
# endif
}
return getnameinfo ( psa , salen , host , hostlen , service , servlen , flags ) ;
}