---
name: "dnet_addr"
section: "3"
platform: "linux"
package: "libdnet-dev"
version: "2.65+b1"
release: "Debian 10 (Buster)"
platforms: ["linux"]
url: "https://new.carta.tech/dnet_addr"
---

# dnet\_addr(3)

DECnet nodename to address translation

## 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_htoa/3.md), [**dnet\_ntoa**(3)](/dnet_ntoa/3.md), [**dnet\_conn**(3)](/dnet_conn/3.md), [**getnodeadd**(3)](/getnodeadd/3.md), [**getnodebyname**(3)](/getnodebyname/3.md), [**getnodebyaddr**(3)](/getnodebyaddr/3.md), [**setnodeent**(3)](/setnodeent/3.md)
