aboutsummaryrefslogtreecommitdiff
path: root/winsup/cygwin
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
parentc7af199237810f2d6d626aa73446f4f4387212e8 (diff)
downloadnewlib-50b00d2b936c937099c24d6fa1f0b6f642462900.zip
newlib-50b00d2b936c937099c24d6fa1f0b6f642462900.tar.gz
newlib-50b00d2b936c937099c24d6fa1f0b6f642462900.tar.bz2
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')
-rw-r--r--winsup/cygwin/ChangeLog7
-rw-r--r--winsup/cygwin/common.din1
-rw-r--r--winsup/cygwin/include/cygwin/version.h4
-rw-r--r--winsup/cygwin/net.cc14
-rw-r--r--winsup/cygwin/release/2.1.0 (renamed from winsup/cygwin/release/2.0.5)2
5 files changed, 26 insertions, 2 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 062b065..58a3821 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,3 +1,10 @@
+2015-06-17 Corinna Vinschen <corinna@vinschen.de>
+
+ * 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.
+
2015-06-15 Corinna Vinschen <corinna@vinschen.de>
* fhandler_socket.cc (LOCK_EVENTS): Don't enter critical section with
diff --git a/winsup/cygwin/common.din b/winsup/cygwin/common.din
index f14b331..dd9bb25 100644
--- a/winsup/cygwin/common.din
+++ b/winsup/cygwin/common.din
@@ -1054,6 +1054,7 @@ sendmsg = cygwin_sendmsg SIGFE
sendto = cygwin_sendto SIGFE
setbuf SIGFE
setbuffer SIGFE
+sethostname SIGFE
setdtablesize SIGFE
setegid SIGFE
setenv SIGFE
diff --git a/winsup/cygwin/include/cygwin/version.h b/winsup/cygwin/include/cygwin/version.h
index 8305b07..3d5d4de 100644
--- a/winsup/cygwin/include/cygwin/version.h
+++ b/winsup/cygwin/include/cygwin/version.h
@@ -42,8 +42,8 @@ details. */
the Cygwin shared library". This version is used to track important
changes to the DLL and is mainly informative in nature. */
-#define CYGWIN_VERSION_DLL_MAJOR 2000
-#define CYGWIN_VERSION_DLL_MINOR 5
+#define CYGWIN_VERSION_DLL_MAJOR 2001
+#define CYGWIN_VERSION_DLL_MINOR 0
/* Major numbers before CYGWIN_VERSION_DLL_EPOCH are
incompatible. */
diff --git a/winsup/cygwin/net.cc b/winsup/cygwin/net.cc
index ae86129..20b4d3c 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)
diff --git a/winsup/cygwin/release/2.0.5 b/winsup/cygwin/release/2.1.0
index 9f26a8a..5680cb3 100644
--- a/winsup/cygwin/release/2.0.5
+++ b/winsup/cygwin/release/2.1.0
@@ -1,6 +1,8 @@
What's new:
-----------
+- New API: sethostname.
+
What changed:
-------------