dnet_addr

Langue: en

Version: 280933 (debian - 07/07/09)

Section: 3 (Bibliothèques de fonctions)

NAME

dnet_addr - DECnet nodename to address translation

SYNOPSIS

#include <netdnet/dn.h>
#include <netdnet/dnetdb.h>

struct dn_naddr *dnet_addr (char *nodename)

DESCRIPTION

dnet_addr search the decnet hosts file for nodename and returns the DECnet address in the dn_naddr structure
If no entry is found, returns NULL

EXAMPLE

 
 #include <netdnet/dn.h>
 #include <netdnet/dnetdb.h>
 #include <sys/socket.h>
 
 main(void)
 {
     struct dn_naddr             *binaddr;
     struct sockaddr_dn          sockaddr;
     int                         sockfd;
 
     if ( (binaddr=dnet_addr("mv3100")) == NULL)
     {
            printf("No entry in /etc/decnet.conf for mv3100\n");
            exit(0);
      }
      if ((sockfd=socket(AF_DECnet,SOCK_SEQPACKET,DNPROTO_NSP)) == -1) 
      {
                 perror("socket");
                 exit(-1);
      }
 
      sockaddr.sdn_family        = AF_DECnet;
      sockaddr.sdn_flags         = 0x00;
      sockaddr.sdn_objnum        = 0x19;                 /* MIRROR */
      sockaddr.sdn_objnamel      = 0x00;
      memcpy(sockaddr.sdn_add.a_addr, binaddr->a_addr,binaddr->a_len);
 
      if (connect(sockfd, (struct sockaddr *)&sockaddr, 
                 sizeof(sockaddr)) < 0) 
      {
                 perror("connect");
                 exit(-1);
      }
      close(sockfd);
 }
 

SEE ALSO

dnet_htoa(3), dnet_ntoa(3), dnet_conn(3), getnodeadd(3), getnodebyname(3), getnodebyaddr(3), setnodeent(3)