]> git.saurik.com Git - apple/network_cmds.git/blobdiff - mptcp_client/conn_lib.c
network_cmds-543.260.3.tar.gz
[apple/network_cmds.git] / mptcp_client / conn_lib.c
index 56bfd46cfc0721b2c2e38ae98bb442630f9ca01c..1c83915973724c9f8e3c34f47c67cc86b15ca787 100644 (file)
 #include "conn_lib.h"
 
 int
-copyassocids(int s, associd_t **aidpp, uint32_t *cnt)
+copyassocids(int s, sae_associd_t **aidpp, uint32_t *cnt)
 {
        struct so_aidreq aidr;
-       associd_t *buf;
+       sae_associd_t *buf;
        int err;
-       
+
        if (aidpp == NULL || cnt == NULL) {
                errno = EINVAL;
                return (-1);
        }
        *aidpp = NULL;
        *cnt = 0;
-       
+
        bzero(&aidr, sizeof (aidr));
-       
+
        err = ioctl(s, SIOCGASSOCIDS, &aidr);
        if (err != 0)
                return (-1);
-       
+
        /* none, just return */
        if (aidr.sar_cnt == 0)
                return (0);
-       
-       buf = calloc(aidr.sar_cnt, sizeof (associd_t));
+
+       buf = calloc(aidr.sar_cnt, sizeof (sae_associd_t));
        if (buf == NULL)
                return (-1);
-       
+
        aidr.sar_aidp = buf;
        err = ioctl(s, SIOCGASSOCIDS, &aidr);
        if (err != 0) {
                free(buf);
                return (-1);
        }
-       
+
        *aidpp = buf;
        *cnt = aidr.sar_cnt;
-       
+
        return (0);
 }
 
 void
-freeassocids(associd_t *aidp)
+freeassocids(sae_associd_t *aidp)
 {
        free(aidp);
 }
 
 int
-copyconnids(int s, associd_t aid, connid_t **cidp, uint32_t *cnt)
+copyconnids(int s, sae_associd_t aid, sae_connid_t **cidp, uint32_t *cnt)
 {
        struct so_cidreq cidr;
-       connid_t *buf;
+       sae_connid_t *buf;
        int err;
-       
+
        if (cidp == NULL || cnt == NULL) {
                errno = EINVAL;
                return (-1);
        }
        *cidp = NULL;
        *cnt = 0;
-       
+
        bzero(&cidr, sizeof (cidr));
-       
+
        cidr.scr_aid = aid;
        err = ioctl(s, SIOCGCONNIDS, &cidr);
        if (err != 0)
                return (-1);
-       
+
        /* none, just return */
        if (cidr.scr_cnt == 0)
                return (0);
-       
-       buf = calloc(cidr.scr_cnt, sizeof (connid_t));
+
+       buf = calloc(cidr.scr_cnt, sizeof (sae_connid_t));
        if (buf == NULL)
                return (-1);
-       
+
        cidr.scr_cidp = buf;
        err = ioctl(s, SIOCGCONNIDS, &cidr);
        if (err != 0) {
                free(buf);
                return (-1);
        }
-       
+
        *cidp = buf;
        *cnt = cidr.scr_cnt;
-       
+
        return (0);
 }
 
 void
-freeconnids(connid_t *cidp)
+freeconnids(sae_connid_t *cidp)
 {
        free(cidp);
 }
 
 int
-copyconninfo(int s, connid_t cid, conninfo_t **cfop)
+copyconninfo(int s, sae_connid_t cid, conninfo_t **cfop)
 {
        struct sockaddr *src = NULL, *dst = NULL, *aux = NULL;
        struct so_cinforeq scir;
        conninfo_t *buf = NULL;
-       
+
        if (cfop == NULL) {
                errno = EINVAL;
                goto error;
        }
        *cfop = NULL;
-       
+
        bzero(&scir, sizeof (scir));
-       
+
        scir.scir_cid = cid;
        if (ioctl(s, SIOCGCONNINFO, &scir) != 0)
                goto error;
-       
+
        if (scir.scir_src_len != 0) {
                src = calloc(1, scir.scir_src_len);
                if (src == NULL)
@@ -175,14 +175,14 @@ copyconninfo(int s, connid_t cid, conninfo_t **cfop)
                        goto error;
                scir.scir_aux_data = aux;
        }
-       
+
        if (ioctl(s, SIOCGCONNINFO, &scir) != 0)
                goto error;
-       
+
        buf = calloc(1, sizeof (*buf));
        if (buf == NULL)
                goto error;
-       
+
        // When we query for the length using the first ioctl call above, the kernel
        // tells us the length of the aux structure so we know how much to allocate
        // memory. There may not be any aux data, which will be indicated by the aux
@@ -192,7 +192,7 @@ copyconninfo(int s, connid_t cid, conninfo_t **cfop)
                aux = NULL;
                scir.scir_aux_data = NULL;
        }
-       
+
        buf->ci_flags = scir.scir_flags;
        buf->ci_ifindex = scir.scir_ifindex;
        buf->ci_src = src;
@@ -200,10 +200,10 @@ copyconninfo(int s, connid_t cid, conninfo_t **cfop)
        buf->ci_error = scir.scir_error;
        buf->ci_aux_type = scir.scir_aux_type;
        buf->ci_aux_data = aux;
-       *cfop = buf;
-       
+       *cfop = (conninfo_t*)buf;
+
        return (0);
-       
+
 error:
        if (src != NULL)
                free(src);
@@ -213,7 +213,7 @@ error:
                free(aux);
        if (buf != NULL)
                free(buf);
-       
+
        return (-1);
 }
 
@@ -222,12 +222,12 @@ freeconninfo(conninfo_t *cfo)
 {
        if (cfo->ci_src != NULL)
                free(cfo->ci_src);
-       
+
        if (cfo->ci_dst != NULL)
                free(cfo->ci_dst);
-       
+
        if (cfo->ci_aux_data != NULL)
                free(cfo->ci_aux_data);
-       
+
        free(cfo);
 }