1: #include "../h/rt.h"
   2: #include <stdio.h>
   3: 
   4: #ifdef UNAME
   5: #include <sys/utsname.h>
   6: #endif UNAME
   7: 
   8: /*
   9:  * iconhost - return some sort of host name into the buffer pointed at
  10:  *  by hostname.  This code accommodates several different host name
  11:  *  fetching schemes.
  12:  */
  13: iconhost(hostname)
  14: char *hostname;
  15:    {
  16: #ifdef WHOHOST
  17:    /*
  18:     * The host name is in /usr/include/whoami.h. (V7, 4.[01]bsd)
  19:     */
  20:    whohost(hostname);
  21: #endif WHOHOST
  22: 
  23: #ifdef UNAME
  24:    {
  25:    /*
  26:     * Use the uname system call.  (System III & V)
  27:     */
  28:    struct utsname uts;
  29:    uname(&uts);
  30:    strcpy(hostname,uts.nodename);
  31:    }
  32: #endif UNAME
  33: 
  34: #ifdef GETHOST
  35:    /*
  36:     * Use the gethostname system call.  (4.2bsd)
  37:     */
  38:    gethostname(hostname,MAXSTRING);
  39: #endif GETHOST
  40: 
  41: #ifdef HOSTSTR
  42:    /*
  43:     * The string constant HOSTSTR contains the host name.
  44:     */
  45:    strcpy(hostname,HOSTSTR);
  46: #endif HOSTSTR
  47:    }
  48: 
  49: #ifdef WHOHOST
  50: #define   HDRFILE "/usr/include/whoami.h"
  51: /*
  52:  * whohost - look for a line of the form
  53:  *  #define sysname "name"
  54:  * in HDRFILE and return the name.
  55:  */
  56: whohost(hostname)
  57: char *hostname;
  58:    {
  59:    char buf[BUFSIZ];
  60:    FILE *fd;
  61: 
  62:    fd = fopen(HDRFILE, "r");
  63:    if (fd == NULL) {
  64:       sprintf(buf, "Cannot open %s, no value for &host\n", HDRFILE);
  65:       syserr(buf);
  66:    }
  67:    setbuf(fd,NULL);
  68: 
  69:    for (;;) {   /* each line in the file */
  70:       if (fgets(buf, sizeof buf, fd) == NULL) {
  71:          sprintf(buf, "No #define for sysname in %s, no value for &host\n", HDRFILE);
  72:          syserr(buf);
  73:       }
  74:       if (sscanf(buf,"#define sysname \"%[^\"]\"", hostname) == 1) {
  75:          fclose(fd);
  76:          return;
  77:       }
  78:    }
  79:    }
  80: #endif WHOHOST

Defined functions

iconhost defined in line 13; never used
whohost defined in line 56; used 1 times
  • in line 20

Defined macros

HDRFILE defined in line 50; used 3 times
Last modified: 1984-11-18
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 1004
Valid CSS Valid XHTML 1.0 Strict