Sender: richdawe AT bigfoot DOT com Message-ID: <374C866D.4A3E6220@bigfoot.com> Date: Thu, 27 May 1999 00:40:29 +0100 From: Richard Dawe X-Mailer: Mozilla 4.08 [en] (X11; I; Linux 2.2.1 i586) MIME-Version: 1.0 To: djgpp-workers AT delorie DOT com Subject: Updated gethostname() References: Content-Type: multipart/mixed; boundary="------------6377F63C2806C1B2F622D5EE" Reply-To: djgpp-workers AT delorie DOT com This is a multi-part message in MIME format. --------------6377F63C2806C1B2F622D5EE Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Hello. I've updated gethostname() to use the registry value for the host name. Please find attached the ZIP archive of it. I've zipped it because of the number of files. I've placed the registry code in src/libc/win95, simply because I didn't know where else to put it. The actual changes are as follows: 1. gethostname() will look in the registry for the short host and domain names and then build the full host name, e.g. 'foo.bar.com'. If the domain name is not there, then just the short name is returned, e.g. 'foo'. If this fails, then the old code is executed. 2. I added sethostname(), which simply fails with -1 and errno = EPERM. 3. I added getdomainname(), which calls gethostname() and chops the short host name off, i.e. it returns the part after the first dot. 4. I added setdomainname(), which simply fails with -1 and errno = EPERM. 5. I updated utsname structure to accomodate the maximum host name length, MAXGETHOSTNAME (= 128). I updated uname() to call gethostname(). If gethostname() fails, it places 'pc' in the nodename, as before. [ BTW uname() previously seemed to call the network redirector, but not check the setting of HOSTNAME. ] I have included a file called 'results.txt', which shows the results of the modified call on my system. The registry code is that of the RegDos Group. We are required to place a copyright notice somewhere in the documentation, as described in this quote from src/libc/win95/regdos/readme.1st: 2. If you use this source code, in any form: binary or source (some parts; modified or not) please include one of the following texts in your documentation, or source code. "This code is based on the work of The RegDos Group" "Portions copyright (C) 1997-1998 by The RegDos Group" This is not because we want to see our name(s) in your code. It's just common courtesy. I've modified the RegDos code to remove all the non-DJGPP code & make it compile successfully into libc. I haven't got round to updating getlogin(), but I'll do that soon. Bye, -- ========================================================================== Rich Dawe - 4th-year MSci Physicist @ Bristol University, UK richdawe AT bigfoot DOT com, http://www.bigfoot.com/~richdawe/ ========================================================================== --------------6377F63C2806C1B2F622D5EE Content-Type: application/x-zip-compressed; name="rdpatch1.zip" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="rdpatch1.zip" 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 QeoHAABzcmMvbGliYy9VWAgAn4JMN5+CTDdQSwECFQMKAAAAAADTArsmAAAAAAAAAAAAAAAA EAAMAAAAAAAAABBA/UEhCAAAc3JjL2xpYmMvY29tcGF0L1VYCAA+gkw3PoJMN1BLAQIVAwoA AAAAAPoCuyYAAAAAAAAAAAAAAAAXAAwAAAAAAAAAEED9QV8IAABzcmMvbGliYy9jb21wYXQv dW5pc3RkL1VYCACHgkw3h4JMN1BLAQIVAxQAAgAIAOECuyb2a+0ldgAAAJYAAAAhAAwAAAAA AAEAAED9gaQIAABzcmMvbGliYy9jb21wYXQvdW5pc3RkL3NldGhvc3RuLmNVWAgAVoJMN1aC TDdQSwECFQMUAAIACAD4ArsmUz2TMncAAACZAAAAIAAMAAAAAAABAABA/YFpCQAAc3JjL2xp YmMvY29tcGF0L3VuaXN0ZC9zZXRkb21uLmNVWAgAg4JMN4OCTDdQSwECFQMUAAIACAD6Arsm 7O1EE90AAABMAQAAIgAMAAAAAAABAABA/YEuCgAAc3JjL2xpYmMvY29tcGF0L3VuaXN0ZC9z ZXRkb21uLnR4aFVYCACHgkw3h4JMN1BLAQIVAxQAAgAIAOECuyaZrE5z3QAAAEYBAAAjAAwA AAAAAAEAAED9gVsLAABzcmMvbGliYy9jb21wYXQvdW5pc3RkL3NldGhvc3RuLnR4aFVYCABW gkw3VoJMN1BLAQIVAwoAAAAAABMDuyYAAAAAAAAAAAAAAAAPAAwAAAAAAAAAEED9QYkMAABz cmMvbGliYy93aW45NS9VWAgAtYJMN7WCTDdQSwECFQMKAAAAAAAmA7smAAAAAAAAAAAAAAAA FgAMAAAAAAAAABBA/UHGDAAAc3JjL2xpYmMvd2luOTUvcmVnZG9zL1VYCADXgkw314JMN1BL AQIVAxQAAgAIABMDuyaZMW8i4AMAAMoKAAAfAAwAAAAAAAEAAED9gQoNAABzcmMvbGliYy93 aW45NS9yZWdkb3MvYWh4dHlwcy5oVVgIALWCTDe1gkw3UEsBAhUDFAACAAgAEwO7JviD2N7G BAAAugkAACAADAAAAAAAAQAAQP2BNxEAAHNyYy9saWJjL3dpbjk1L3JlZ2Rvcy9yZWFkbWUu MXN0VVgIAN6CTDe1gkw3UEsBAhUDFAACAAgAEwO7JkmwHLYpBQAAFBEAABwADAAAAAAAAQAA QP2BSxYAAHNyYy9saWJjL3dpbjk1L3JlZ2Rvcy9kb3N4LmhVWAgAtYJMN7WCTDdQSwECFQMU AAIACAATA7smaqZpVXQOAAAYMQAAHgAMAAAAAAABAABA/YG+GwAAc3JjL2xpYmMvd2luOTUv cmVnZG9zL2Rvc3hkai5jVVgIALWCTDe1gkw3UEsBAhUDFAACAAgAEwO7Jt08pxkXAQAAuQEA ACAADAAAAAAAAQAAQP2BfioAAHNyYy9saWJjL3dpbjk1L3JlZ2Rvcy9yZWFkbWUuZGpnVVgI ALWCTDe1gkw3UEsBAhUDFAACAAgAEwO7Jr+DYHMlAQAAtwEAAB4ADAAAAAAAAQAAQP2B4ysA AHNyYy9saWJjL3dpbjk1L3JlZ2Rvcy9sc3RhY2suY1VYCAC1gkw3tYJMN1BLAQIVAxQAAgAI ABMDuyb7UdKgJgIAAMwEAAAeAAwAAAAAAAEAAED9gVQtAABzcmMvbGliYy93aW45NS9yZWdk b3MvbHN0YWNrLmhVWAgAtYJMN7WCTDdQSwECFQMUAAIACAATA7smuJCN/qsDAAA2DAAAHgAM AAAAAAABAABA/YHGLwAAc3JjL2xpYmMvd2luOTUvcmVnZG9zL3JlZ2Rvcy5oVVgIALWCTDe1 gkw3UEsBAhUDFAACAAgAEwO7JkmJeEktFAAA3UQAAB8ADAAAAAAAAQAAQP2BvTMAAHNyYy9s aWJjL3dpbjk1L3JlZ2Rvcy9yZWdkb3N6LmNVWAgAtYJMN7WCTDdQSwECFQMUAAIACAATA7sm WyZVvWwBAABKBAAAHgAMAAAAAAABAABA/YE3SAAAc3JjL2xpYmMvd2luOTUvcmVnZG9zL3Z3 aW4zMi5oVVgIALWCTDe1gkw3UEsBAhUDFAACAAgAEwO7JmxBYaeAAAAAigAAAB4ADAAAAAAA AQAAQP2B70kAAHNyYy9saWJjL3dpbjk1L3JlZ2Rvcy9tYWtlZmlsZVVYCAC1gkw3tYJMN1BL AQIVAwoAAAAAALQCuyYAAAAAAAAAAAAAAAAFAAwAAAAAAAAAEED9QbtKAAB0ZXN0L1VYCAAD gkw3A4JMN1BLAQIVAxQAAgAIAK0CuyYKLIOcRAAAAFMAAAANAAwAAAAAAAEAAED9ge5KAAB0 ZXN0L01ha2VmaWxlVVgIAPaBTDf2gUw3UEsBAhUDFAACAAgApwK7JhYzw6rrAAAAuQEAAA8A DAAAAAAAAQAAQP2BbUsAAHRlc3QvaG9zdG5hbWUuY1VYCADqgUw36oFMN1BLAQIVAxQAAgAI AIkCuybwpmc06wEAAAAFAAAMAAwAAAAAAAEAAED9gZVMAAB1bmFtZS5jLmRpZmZVWAgAsYFM N7GBTDdQSwECFQMUAAIACAA4ArsmW5OhLx4BAACWAgAADQAMAAAAAAABAABA/YG6TgAAdW5p c3RkLmguZGlmZlVYCAAggUw3HIFMN1BLAQIVAxQAAgAIAHMCuyZLlCeTqwAAAJwBAAAOAAwA AAAAAAEAAED9gRNQAAB1dHNuYW1lLmguZGlmZlVYCACNgUw3ioFMN1BLBQYAAAAAHwAfAKwJ AAD6UAAAAAA= --------------6377F63C2806C1B2F622D5EE--