Back to index

courier  0.68.2
Functions
rfc1035sockaddrip.c File Reference
#include "config.h"
#include "rfc1035.h"
#include <sys/types.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <errno.h>
#include <string.h>

Go to the source code of this file.

Functions

int rfc1035_sockaddrip (const RFC1035_NETADDR *a, int al, RFC1035_ADDR *ip)

Function Documentation

int rfc1035_sockaddrip ( const RFC1035_NETADDR *  a,
int  al,
RFC1035_ADDR *  ip 
)

Definition at line 14 of file rfc1035sockaddrip.c.

{
int    af=((const struct sockaddr_in *)a)->sin_family;

       if ( af == AF_INET )
       {
              if (al >= sizeof(struct sockaddr_in))
              {
#if RFC1035_IPV6
                     rfc1035_ipv4to6(ip,
                            &((const struct sockaddr_in *)a)->sin_addr);
#else
                     *ip=((const struct sockaddr_in *)a)->sin_addr;
#endif
                     return (0);
              }
       }

#if RFC1035_IPV6

       if ( af == AF_INET6 )
       {
              if (al >= sizeof(struct sockaddr_in6))
              {
                     *ip=((const struct sockaddr_in6 *)a)->sin6_addr;
                     return (0);
              }
       }
#endif
       return (-1);
}

Here is the caller graph for this function: