*
* $Id: fmvaxc.F,v 1.1.1.1 1996/03/07 15:18:22 mclareni Exp $
*
* $Log: fmvaxc.F,v $
* Revision 1.1.1.1  1996/03/07 15:18:22  mclareni
* Fatmen
*
*
#include "fatmen/pilot.h"
      SUBROUTINE FMVAXC(NODE,ICODE)
*CMZ :          26/11/90  16.11.50  by  Jamie Shiers
*-- Author :    Jamie Shiers   26/11/90
        CHARACTER*(*) NODE
        CHARACTER*8   TNODE
        INTEGER       FMHOST
        CHARACTER*8   CHNODE,CHTYPE,CHSYS,CLUNAM,CLUNOD
#include "fatmen/fatbug.inc"
#if defined(CERNLIB_VAXVMS)
      INCLUDE '($SSDEF)'
       STRUCTURE /ITMLST/
         UNION
            MAP
            INTEGER*2 BUFFER_LENGTH
              INTEGER*2 ITEM_CODE
            INTEGER*4 BUFFER_ADDRESS
              INTEGER*4 RETURN_LENGTH_ADDRESS
            ENDMAP
            MAP
            INTEGER*4 END_LIST /0/
            ENDMAP
         END UNION
      END STRUCTURE
 
      RECORD /ITMLST/ SYI_LIST(2)
 
      INCLUDE '($SYIDEF)'
#endif
      LN     = LENOCC(NODE)
      IF(IDEBFA.GE.2) PRINT *,'FMVAXC. enter for ',NODE(1:LN)
      TNODE  = NODE
      IC     = FMHOST(CHNODE,CHTYPE,CHSYS)
      LCHN   = LENOCC(CHNODE)
      IF(IDEBFA.GE.2) PRINT *,'FMVAXC. current node is ',
     +   CHNODE(1:LCHN)
 
      CALL CLTOU(TNODE)
      CALL CLTOU(CHNODE)
*
*     Node names match...
*
      IF(TNODE(1:LN).EQ.CHNODE(1:LCHN)) THEN
         ICODE = 0
         RETURN
      ENDIF
#if defined(CERNLIB_VAXVMS)
*
*     Nodename specified is the VAXcluster alias
*
      CALL FMGTLG('SYS$CLUSTER_NODE',CLUNAM,'LNM$SYSTEM',IRC)
      IF(IRC.EQ.0) THEN
         LENCLU = INDEX(CLUNAM,':') -1
         IF(IDEBFA.GE.2) PRINT *,'FMVAXC. cluster alias is ',
     +      CLUNAM(1:LENCLU)
         IF(TNODE(1:LN).EQ.CLUNAM(1:LENCLU)) THEN
            ICODE = 1
            RETURN
         ENDIF
      ENDIF
*
*     Check whether the node is in the same VAXcluster as us
*
      MEMBER                            = 0
      SYI_LIST(1).BUFFER_LENGTH         = 1
      SYI_LIST(1).ITEM_CODE             = SYI$_CLUSTER_MEMBER
      SYI_LIST(1).BUFFER_ADDRESS        = %LOC(MEMBER)
      SYI_LIST(1).RETURN_LENGTH_ADDRESS = %LOC(LENGTH)
      SYI_LIST(2).END_LIST              = 0
 
      ISTAT = SYS$GETSYIW(,,TNODE(1:LN),SYI_LIST,,,)
 
*     IF (ISTAT .NE. SS$_NOSUCHNODE) GOTO 99
      IF(MEMBER.EQ.0) GOTO 99
      IF(IDEBFA.GE.2) PRINT *,'FMVAXC. ',TNODE(1:LN),
     +   ' is a VAXcluster member'
       ICODE = 1
       RETURN
#endif
99    CONTINUE
      ICODE = 2
      END