diff options
Diffstat (limited to 'winsup/cygwin/net.cc')
-rw-r--r-- | winsup/cygwin/net.cc | 14 |
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) |