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

Commit d4ed663b authored by Lorenzo Colitti's avatar Lorenzo Colitti Committed by Gerrit Code Review
Browse files

Merge "Add asynchronous DNS query API"

parents 97c68169 c17821cc
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -218,6 +218,10 @@ LIBANDROID {
    android_getaddrinfofornetwork; # introduced=23
    android_setprocnetwork; # introduced=23
    android_setsocknetwork; # introduced=23
    android_res_cancel; # introduced=29
    android_res_nquery; # introduced=29
    android_res_nresult; # introduced=29
    android_res_nsend; # introduced=29
  local:
    *;
};
+7 −2
Original line number Diff line number Diff line
# These functions have been part of the NDK since API 24.
# They are also all available to vendor code.
LIBANDROID_NET {
  global:
    # These functions have been part of the NDK since API 24.
    android_getaddrinfofornetwork; # vndk
    android_setsocknetwork; # vndk
    android_setprocnetwork; # vndk
    android_getaddrinfofornetwork; # vndk
    # These functions have been part of the NDK since API 29.
    android_res_cancel; # vndk
    android_res_nquery; # vndk
    android_res_nresult; # vndk
    android_res_nsend; # vndk
  local:
    *;
};
+28 −0
Original line number Diff line number Diff line
@@ -83,3 +83,31 @@ int android_getaddrinfofornetwork(net_handle_t network,

    return android_getaddrinfofornet(node, service, hints, netid, 0, res);
}

int android_res_nquery(net_handle_t network,
        const char *dname, int ns_class, int ns_type) {
    unsigned netid;
    if (!getnetidfromhandle(network, &netid)) {
        return -ENONET;
    }

    return resNetworkQuery(netid, dname, ns_class, ns_type);
}

int android_res_nresult(int fd, int *rcode, unsigned char *answer, int anslen) {
    return resNetworkResult(fd, rcode, answer, anslen);
}

int android_res_nsend(net_handle_t network,
        const unsigned char *msg, int msglen) {
    unsigned netid;
    if (!getnetidfromhandle(network, &netid)) {
        return -ENONET;
    }

    return resNetworkSend(netid, msg, msglen);
}

void android_res_cancel(int nsend_fd) {
    resNetworkCancel(nsend_fd);
}