summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/net.cc
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2015-06-17 11:11:02 +0200
committerCorinna Vinschen <corinna@vinschen.de>2015-06-17 11:11:02 +0200
commit50b00d2b936c937099c24d6fa1f0b6f642462900 (patch)
tree3a0c6ce64b7658819ef1b7a57ba6c8355eb1f8b8 /winsup/cygwin/net.cc
parentc7af199237810f2d6d626aa73446f4f4387212e8 (diff)
downloadcygnal-50b00d2b936c937099c24d6fa1f0b6f642462900.tar.gz
cygnal-50b00d2b936c937099c24d6fa1f0b6f642462900.tar.bz2
cygnal-50b00d2b936c937099c24d6fa1f0b6f642462900.zip
Add sethostname
* net.cc (sethostname): New function. * common.din (sethostname): Export * include/cygwin/version.h (CYGWIN_VERSION_DLL_MAJOR): Bump to 2001. (CYGWIN_VERSION_DLL_MINOR): Set to 0. * new-features.xml (ov-new): Rename from ov-new1.7. (ov-new2.1): Add new section. Document sethostname. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Diffstat (limited to 'winsup/cygwin/net.cc')
-rw-r--r--winsup/cygwin/net.cc14
1 files changed, 14 insertions, 0 deletions
diff --git a/winsup/cygwin/net.cc b/winsup/cygwin/net.cc
index ae8612952..20b4d3cb1 100644
--- a/winsup/cygwin/net.cc
+++ b/winsup/cygwin/net.cc
@@ -1095,6 +1095,20 @@ cygwin_gethostname (char *name, size_t len)
return res;
}
+extern "C" int
+sethostname (const char *name, size_t len)
+{
+ WCHAR wname[MAX_COMPUTERNAME_LENGTH + 1];
+
+ sys_mbstowcs (wname, MAX_COMPUTERNAME_LENGTH + 1, name, len);
+ if (!SetComputerNameExW (ComputerNamePhysicalDnsHostname, wname))
+ {
+ __seterrno ();
+ return -1;
+ }
+ return 0;
+}
+
/* exported as gethostbyname: standards? */
extern "C" struct hostent *
cygwin_gethostbyname (const char *name)