X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/8f6c56a50524aa785f7e596d52dddfb331e18961..e2fac8b15b12a7979f72090454d850e612fc5b13:/bsd/netat/at_aarp.h diff --git a/bsd/netat/at_aarp.h b/bsd/netat/at_aarp.h index f6c5a6a94..28b03bcbe 100644 --- a/bsd/netat/at_aarp.h +++ b/bsd/netat/at_aarp.h @@ -109,7 +109,7 @@ typedef struct { /*************************************************/ typedef struct { - struct atalk_addr dest_at_addr; + struct atalk_addr dest_at_addr; /* net# in network byte order */ struct etalk_addr dest_addr; char dummy[2]; /* pad out to struct size of 32 */ time_t last_time; /* the last time that this addr @@ -134,22 +134,25 @@ typedef struct { #define AMT_HASH(a) \ ((NET_VALUE(((struct atalk_addr *)&a)->atalk_net) + ((struct atalk_addr *)&a)->atalk_node) % AMT_NB) +/* at_addr - net # in network byte order */ #define AMT_LOOK(at, at_addr, elapp) { \ - register n; \ + int n; \ at = &aarp_table[elapp->ifPort]->et_aarp_amt[AMT_HASH(at_addr) * AMT_BSIZ]; \ for (n = 0 ; ; at++) { \ - if (ATALK_EQUAL(at->dest_at_addr, at_addr)) \ + if (at->dest_at_addr.atalk_node == (at_addr).atalk_node && \ + NET_EQUAL(at->dest_at_addr.atalk_net, (at_addr).atalk_net)) \ break; \ if (++n >= AMT_BSIZ) { \ at = NULL; \ break; \ } \ } \ - } +} +/* at_addr - net # in network byte order */ #define NEW_AMT(at, at_addr, elapp) { \ - register n; \ - register aarp_amt_t *myat; \ + int n; \ + aarp_amt_t *myat; \ myat = at = &aarp_table[elapp->ifPort]->et_aarp_amt[AMT_HASH(at_addr) * AMT_BSIZ]; \ for (n = 0 ; ; at++) { \ if (at->last_time == 0) \ @@ -159,7 +162,7 @@ typedef struct { break; \ } \ } \ - } +} #define AARP_NET_MCAST(p, elapp) \ (NET_VALUE((p)->dst_net) == elapp->ifThisNode.s_net) \ @@ -190,6 +193,8 @@ typedef struct { int aarp_chk_addr(at_ddp_t *, at_ifaddr_t *); int aarp_rcv_pkt(aarp_pkt_t *, at_ifaddr_t *); +void AARPwakeup(aarp_amt_t *); +int aarp_send_data(gbuf_t *, at_ifaddr_t *, struct atalk_addr *, int); #endif /* KERNEL_PRIVATE */