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)