Classes | Typedefs | Functions
android-ifaddrs.c File Reference
#include "uv/android-ifaddrs.h"
#include "uv-common.h"
#include <string.h>
#include <stdlib.h>
#include <errno.h>
#include <unistd.h>
#include <sys/socket.h>
#include <net/if_arp.h>
#include <netinet/in.h>
#include <linux/netlink.h>
#include <linux/rtnetlink.h>
#include <linux/if_packet.h>
Include dependency graph for android-ifaddrs.c:

Go to the source code of this file.

Classes

struct  NetlinkList
 

Typedefs

typedef struct NetlinkList NetlinkList
 

Functions

static void addToEnd (struct ifaddrs **p_resultList, struct ifaddrs *p_entry)
 
static size_t calcAddrLen (sa_family_t p_family, int p_dataSize)
 
static struct ifaddrsfindInterface (int p_index, struct ifaddrs **p_links, int p_numLinks)
 
void freeifaddrs (struct ifaddrs *ifa)
 
static void freeResultList (NetlinkList *p_list)
 
int getifaddrs (struct ifaddrs **ifap)
 
static struct nlmsghdr * getNetlinkResponse (int p_socket, pid_t p_pid, int *p_size, int *p_done)
 
static NetlinkListgetResultList (int p_socket, int p_request, pid_t p_pid)
 
static int interpretAddr (struct nlmsghdr *p_hdr, struct ifaddrs **p_resultList, int p_numLinks)
 
static int interpretAddrs (int p_socket, pid_t p_pid, NetlinkList *p_netlinkList, struct ifaddrs **p_resultList, int p_numLinks)
 
static int interpretLink (struct nlmsghdr *p_hdr, struct ifaddrs **p_resultList)
 
static int interpretLinks (int p_socket, pid_t p_pid, NetlinkList *p_netlinkList, struct ifaddrs **p_resultList)
 
static void makeSockaddr (sa_family_t p_family, struct sockaddr *p_dest, void *p_data, size_t p_size)
 
static size_t maxSize (size_t a, size_t b)
 
static int netlink_recv (int p_socket, void *p_buffer, size_t p_len)
 
static int netlink_send (int p_socket, int p_request)
 
static int netlink_socket (pid_t *p_pid)
 
static NetlinkListnewListItem (struct nlmsghdr *p_data, unsigned int p_size)
 

Typedef Documentation

◆ NetlinkList

typedef struct NetlinkList NetlinkList

Function Documentation

◆ addToEnd()

static void addToEnd ( struct ifaddrs **  p_resultList,
struct ifaddrs p_entry 
)
static

Definition at line 307 of file android-ifaddrs.c.

◆ calcAddrLen()

static size_t calcAddrLen ( sa_family_t  p_family,
int  p_dataSize 
)
static

Definition at line 271 of file android-ifaddrs.c.

◆ findInterface()

static struct ifaddrs* findInterface ( int  p_index,
struct ifaddrs **  p_links,
int  p_numLinks 
)
static

Definition at line 424 of file android-ifaddrs.c.

◆ freeifaddrs()

void freeifaddrs ( struct ifaddrs ifa)

Definition at line 704 of file android-ifaddrs.c.

◆ freeResultList()

static void freeResultList ( NetlinkList p_list)
static

Definition at line 207 of file android-ifaddrs.c.

◆ getifaddrs()

int getifaddrs ( struct ifaddrs **  ifap)

Definition at line 655 of file android-ifaddrs.c.

◆ getNetlinkResponse()

static struct nlmsghdr* getNetlinkResponse ( int  p_socket,
pid_t  p_pid,
int p_size,
int p_done 
)
static

Definition at line 141 of file android-ifaddrs.c.

◆ getResultList()

static NetlinkList* getResultList ( int  p_socket,
int  p_request,
pid_t  p_pid 
)
static

Definition at line 219 of file android-ifaddrs.c.

◆ interpretAddr()

static int interpretAddr ( struct nlmsghdr *  p_hdr,
struct ifaddrs **  p_resultList,
int  p_numLinks 
)
static

Definition at line 444 of file android-ifaddrs.c.

◆ interpretAddrs()

static int interpretAddrs ( int  p_socket,
pid_t  p_pid,
NetlinkList p_netlinkList,
struct ifaddrs **  p_resultList,
int  p_numLinks 
)
static

Definition at line 625 of file android-ifaddrs.c.

◆ interpretLink()

static int interpretLink ( struct nlmsghdr *  p_hdr,
struct ifaddrs **  p_resultList 
)
static

Definition at line 324 of file android-ifaddrs.c.

◆ interpretLinks()

static int interpretLinks ( int  p_socket,
pid_t  p_pid,
NetlinkList p_netlinkList,
struct ifaddrs **  p_resultList 
)
static

Definition at line 592 of file android-ifaddrs.c.

◆ makeSockaddr()

static void makeSockaddr ( sa_family_t  p_family,
struct sockaddr *  p_dest,
void *  p_data,
size_t  p_size 
)
static

Definition at line 286 of file android-ifaddrs.c.

◆ maxSize()

static size_t maxSize ( size_t  a,
size_t  b 
)
static

Definition at line 266 of file android-ifaddrs.c.

◆ netlink_recv()

static int netlink_recv ( int  p_socket,
void *  p_buffer,
size_t  p_len 
)
static

Definition at line 102 of file android-ifaddrs.c.

◆ netlink_send()

static int netlink_send ( int  p_socket,
int  p_request 
)
static

Definition at line 77 of file android-ifaddrs.c.

◆ netlink_socket()

static int netlink_socket ( pid_t *  p_pid)
static

Definition at line 47 of file android-ifaddrs.c.

◆ newListItem()

static NetlinkList* newListItem ( struct nlmsghdr *  p_data,
unsigned int  p_size 
)
static

Definition at line 193 of file android-ifaddrs.c.



grpc
Author(s):
autogenerated on Fri May 16 2025 03:01:02