Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2a8329aa authored by Remi NGUYEN VAN's avatar Remi NGUYEN VAN Committed by Android (Google) Code Review
Browse files

Merge "Add NDK API for getprocdns,setprocdns" into sc-dev

parents 5aa690cb 86ae725f
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -287,6 +287,8 @@ LIBANDROID {
    android_getaddrinfofornetwork; # introduced=23
    android_getprocnetwork; # introduced=31
    android_setprocnetwork; # introduced=23
    android_getprocdns; # introduced=31
    android_setprocdns; # introduced=31
    android_setsocknetwork; # introduced=23
    android_res_cancel; # introduced=29
    android_res_nquery; # introduced=29
+2 −0
Original line number Diff line number Diff line
@@ -16,6 +16,8 @@ LIBANDROID_NET {
    android_res_nsend; # llndk
    # These functions have been part of the NDK since API 31.
    android_getprocnetwork; # llndk
    android_setprocdns; # llndk
    android_getprocdns; # llndk
  local:
    *;
};
+32 −0
Original line number Diff line number Diff line
@@ -90,6 +90,38 @@ int android_getprocnetwork(net_handle_t *network) {
    return 0;
}

int android_setprocdns(net_handle_t network) {
    unsigned netid;
    if (!getnetidfromhandle(network, &netid)) {
        errno = EINVAL;
        return -1;
    }

    int rval = setNetworkForResolv(netid);
    if (rval < 0) {
        errno = -rval;
        rval = -1;
    }
    return rval;
}

int android_getprocdns(net_handle_t *network) {
    if (network == NULL) {
        errno = EINVAL;
        return -1;
    }

    unsigned netid;
    int rval = getNetworkForDns(&netid);
    if (rval < 0) {
        errno = -rval;
        return -1;
    }

    *network = gethandlefromnetid(netid);
    return 0;
}

int android_getaddrinfofornetwork(net_handle_t network,
        const char *node, const char *service,
        const struct addrinfo *hints, struct addrinfo **res) {