]> git.saurik.com Git - apple/xnu.git/blobdiff - bsd/netat/at_aarp.h
xnu-792.10.96.tar.gz
[apple/xnu.git] / bsd / netat / at_aarp.h
index 4490830d08d668d65fa591eebe3e222585cb5c0a..7abb258155454669a81d50f655ac97546850840d 100644 (file)
  */
 #ifndef _NETAT_AT_AARP_H_
 #define _NETAT_AT_AARP_H_
+#include <sys/appleapiopts.h>
+#ifdef KERNEL_PRIVATE
+#include <netat/at_var.h>
+#endif KERNEL_PRIVATE
+
+#ifdef __APPLE_API_OBSOLETE
+
 /*
  *     Copyright (c) 1988, 1989 Apple Computer, Inc. 
  */
@@ -89,12 +96,14 @@ typedef struct {
 /* Errors returned by AARP routines */
 #define AARP_ERR_NOT_OURS              1       /* not our appletalk address */
 
+#ifdef KERNEL_PRIVATE
+
 /*************************************************/
 /* Declarations for AARP Address Map Table (AMT) */
 /*************************************************/
 
 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
@@ -105,7 +114,7 @@ typedef struct {
        gbuf_t                  *m;             /* ptr to msg blk to be sent out */
        at_ifaddr_t             *elapp;
        int                     error;
-       void    *tmo;
+       int                     tmo;
 } aarp_amt_t;
 
 #define        AMT_BSIZ                         4              /* bucket size */
@@ -119,19 +128,22 @@ 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;                                                             \
        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;                                              \
@@ -144,7 +156,7 @@ typedef struct {
                break;                                                          \
             }                                                                   \
        }                                                                       \
-       }
+}
 
 #define        AARP_NET_MCAST(p, elapp)                                                \
        (NET_VALUE((p)->dst_net) == elapp->ifThisNode.s_net)            \
@@ -173,11 +185,10 @@ typedef struct {
         ) ? 1 : 0                                                              \
        )
 
-#ifdef KERNEL
-
 int aarp_chk_addr(at_ddp_t  *, at_ifaddr_t *);
 int aarp_rcv_pkt(aarp_pkt_t *, at_ifaddr_t *);
 
-#endif /* KERNEL */
+#endif /* KERNEL_PRIVATE */
 
+#endif /* __APPLE_API_OBSOLETE */
 #endif /* _NETAT_AT_AARP_H_ */