s/qmail  3.3.23
Next generation secure email transport
socket6_if.c
Go to the documentation of this file.
1 #include <sys/types.h>
2 #include <sys/socket.h>
3 #include <net/if.h>
4 #include "socket6_if.h"
5 
6 static char ifname[IFNAMSIZ];
7 
8 const char* socket_getifname(uint32 interface) {
9  char *tmp=if_indextoname(interface,ifname);
10  if (tmp)
11  return tmp;
12  else
13  return "[unknown]";
14 }
15 
16 uint32 socket_getifidx(const char *ifname) {
17  return if_nametoindex(ifname);
18 }
19 
20 /*
21 void *get_addr_ptr(struct sockaddr *sockaddr_ptr)
22 {
23  void *addr_ptr = 0;
24  if (sockaddr_ptr->sa_family == AF_INET) {
25  addr_ptr = &((struct sockaddr_in *) sockaddr_ptr)->sin_addr;
26  }
27  else if (sockaddr_ptr->sa_family == AF_INET6) {
28  addr_ptr = &((struct sockaddr_in6 *) sockaddr_ptr)->sin6_addr;
29  }
30  return addr_ptr;
31 }
32 
33 uint32_t sockaddr_scope_id(const struct sockaddr* sa)
34 {
35  uint32_t scope_id;
36  if (AF_INET6 == sa->sa_family) {
37  struct sockaddr_in6 s6;
38  memcpy (&s6, sa, sizeof(s6));
39  scope_id = s6.sin6_scope_id;
40  } else
41  scope_id = 0;
42  return scope_id;
43 }
44 
45 */
uint32 socket_getifidx(const char *ifname)
Definition: socket6_if.c:16
const char * socket_getifname(uint32 interface)
Definition: socket6_if.c:8
stralloc tmp
Definition: newinclude.c:31