Main Page | Namespace List | Class Hierarchy | Alphabetical List | Compound List | File List | Compound Members | File Members

inet.h File Reference

#include <sys/types.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include "config.h"

Include dependency graph for inet.h:

Include dependency graph

This graph shows which files directly or indirectly include this file:

Included by dependency graph

Go to the source code of this file.

Defines

#define NTOHL(d)   ((d) = ntohl((d)))
#define NTOHS(d)   ((d) = ntohs((d)))
#define HTONL(d)   ((d) = htonl((d)))
#define HTONS(d)   ((d) = htons((d)))
#define INADDR_LOOPBACK   (u_int32_t)0x7F000001

Typedefs

typedef int socklen_t

Functions

char * LookupHostName (u_int32_t addr)
char * InetNtoa (u_int32_t addr)
u_int32_t LookupLocalAddr (void)
u_int32_t LookupHostAddr (const char *host)
const char * intoa (u_int32_t addr)
u_short in_cksum (u_short *, int)


Define Documentation

#define HTONL  )     ((d) = htonl((d)))
 

Definition at line 82 of file inet.h.

#define HTONS  )     ((d) = htons((d)))
 

Definition at line 83 of file inet.h.

#define INADDR_LOOPBACK   (u_int32_t)0x7F000001
 

Definition at line 95 of file inet.h.

#define NTOHL  )     ((d) = ntohl((d)))
 

Definition at line 80 of file inet.h.

Referenced by intoa().

#define NTOHS  )     ((d) = ntohs((d)))
 

Definition at line 81 of file inet.h.


Typedef Documentation

typedef int socklen_t
 

Definition at line 122 of file inet.h.

Referenced by IPNetwork::recv(), and UDPIPNetwork::recv().


Function Documentation

u_short in_cksum u_short *  ,
int 
 

char* InetNtoa u_int32_t  addr  ) 
 

Definition at line 99 of file inet.c.

References intoa().

Referenced by LookupHostName().

00100 {
00101         const char *s = intoa(addr);
00102         char *p = (char *)malloc(strlen(s) + 1);
00103         strcpy(p, s);
00104         return p;
00105 }

Here is the call graph for this function:

const char* intoa u_int32_t  addr  ) 
 

Definition at line 69 of file inet.c.

References NTOHL.

Referenced by InetNtoa().

00070 {
00071         register char *cp;
00072         register u_int byte;
00073         register int n;
00074         static char buf[sizeof(".xxx.xxx.xxx.xxx")];
00075 
00076         NTOHL(addr);
00077         cp = &buf[sizeof buf];
00078         *--cp = '\0';
00079 
00080         n = 4;
00081         do {
00082                 byte = addr & 0xff;
00083                 *--cp = byte % 10 + '0';
00084                 byte /= 10;
00085                 if (byte > 0) {
00086                         *--cp = byte % 10 + '0';
00087                         byte /= 10;
00088                         if (byte > 0)
00089                                 *--cp = byte + '0';
00090                 }
00091                 *--cp = '.';
00092                 addr >>= 8;
00093         } while (--n > 0);
00094 
00095         return cp + 1;
00096 }

u_int32_t LookupHostAddr const char *  host  ) 
 

Definition at line 38 of file inet.c.

References u_int32_t.

Referenced by IPNetwork::command(), UDPIPNetwork::command(), and LookupLocalAddr().

00039 {
00040         if (isdigit(*s))
00041                 return (u_int32_t)inet_addr(s);
00042         else {
00043                 struct hostent *hp = gethostbyname(s);
00044                 if (hp == 0)
00045                         /*XXX*/
00046                         return (0);
00047                 return *((u_int32_t **)hp->h_addr_list)[0];
00048         }
00049 }

char* LookupHostName u_int32_t  addr  ) 
 

Definition at line 108 of file inet.c.

References InetNtoa().

00109 {
00110         char *p;
00111         struct hostent* hp;
00112 
00113         /*XXX*/
00114         if (IN_MULTICAST(ntohl(addr)))
00115                 return (InetNtoa(addr));
00116 
00117         hp = gethostbyaddr((char *)&addr, sizeof(addr), AF_INET);
00118         if (hp == 0) 
00119                 return InetNtoa(addr);
00120         p = (char *)malloc(strlen(hp->h_name) + 1);
00121         strcpy(p, hp->h_name);
00122         return p;
00123 }

Here is the call graph for this function:

u_int32_t LookupLocalAddr void   ) 
 

Definition at line 52 of file inet.c.

References LookupHostAddr(), and u_int32_t.

00053 {
00054         static u_int32_t local_addr;
00055         char name[MAXHOSTNAMELEN];
00056         
00057         if (local_addr == 0) {
00058                 (void)gethostname(name, sizeof(name));
00059                 local_addr = LookupHostAddr(name);
00060         }
00061         return (local_addr);
00062 }

Here is the call graph for this function:


Generated on Tue Apr 20 12:21:40 2004 for NS2.26SourcesOriginal by doxygen 1.3.3