;---------------------------------------------------------------------------
; Document name: GET_HOSTNAME.PRO
; Created by:    Liyun Wang, NASA/GSFC, May 21, 1997
;
; Last Modified: Wed May 21 18:31:13 1997 (LWANG@sumop1.nascom.nasa.gov)
;---------------------------------------------------------------------------
;
FUNCTION get_hostname, full=full, upcase=upcase
;+
; PROJECT:
;       SOHO - CDS/SUMER
;
; NAME:
;       GET_HOSTNAME()
;
; PURPOSE: 
;       Get host or node name of the current machine
;
; CATEGORY:
;       Utility
; 
; SYNTAX: 
;       Result = get_hostname()
;
; INPUTS:
;       None.
;
; OPTIONAL INPUTS: 
;       None.
;
; OUTPUTS:
;       None.
;
; OPTIONAL OUTPUTS:
;       None.
;
; KEYWORDS: 
;       FULL   - Set this keyword to get full host name
;       UPCASE - Set this keyword to return hostname in uppercase
;
; COMMON:
;       None.
;
; RESTRICTIONS: 
;       None.
;
; SIDE EFFECTS:
;       None.
;
; HISTORY:
;       Version 1, May 21, 1997, Liyun Wang, NASA/GSFC. Written
;
; CONTACT:
;       Liyun Wang, NASA/GSFC (Liyun.Wang.1@gsfc.nasa.gov)
;-
;
   ON_ERROR, 2
   host = ''
   CASE (os_family()) OF
      'vms': BEGIN
         host = GETENV('UCX$INET_HOST')
         IF host EQ '' THEN BEGIN
            SPAWN, 'write sys$output f$getsyi("NODENAME")', host, $
               /noclisym, /nolognam
            host = STRTRIM(host(0), 2)
         ENDIF ELSE BEGIN
            IF NOT KEYWORD_SET(full) THEN BEGIN
               i = STRPOS(host, '.')
               IF i GT 0 THEN host = STRMID(host, 0, i)
            ENDIF
         ENDELSE
      END
      'unix': BEGIN
         host = GETENV('HOST')
         IF NOT KEYWORD_SET(full) THEN BEGIN
            i = STRPOS(host, '.')
            IF i GT 0 THEN host = STRMID(host, 0, i)
         ENDIF
      END
      ELSE: RETURN, ''
   ENDCASE
   IF KEYWORD_SET(upcase) THEN host = STRUPCASE(host)
   RETURN, host
END

;---------------------------------------------------------------------------
; End of 'GET_HOSTNAME.PRO'.
;---------------------------------------------------------------------------
