]> arthur.barton.de Git - netatalk.git/blobdiff - sys/netatalk/at.h
Completely disable all AppleTalk stuff if not enabled
[netatalk.git] / sys / netatalk / at.h
index 4f0758792fd644690f209ab794e5c5388da04da3..f544c40f833fc8e63fa86052b56124628e607197 100644 (file)
@@ -7,21 +7,37 @@
 #ifndef __AT_HEADER__
 #define __AT_HEADER__
 
-#ifdef linux /* pull in the linux header */
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif /* HAVE_CONFIG_H */
+
+#ifndef NO_DDP
+
+#if defined(linux) /* pull in the linux header */
 #include <sys/socket.h>
 #include <asm/types.h>
 #include <linux/atalk.h>
-#else
+
+#ifdef HAVE_ATALK_ADDR
+#define at_addr atalk_addr
+#define netrange atalk_netrange
+#endif /* HAVE_ATALK_ADDR */
+
+#else /* linux */
 
 #include <sys/types.h>
 #include <netinet/in.h> /* so that we can deal with sun's s_net #define */
 
+#ifdef MACOSX_SERVER
+#include <netat/appletalk.h>
+#endif /* MACOSX_SERVER */
+
 /*
  * Supported protocols
  */
 #ifdef ATPROTO_DDP
 #undef ATPROTO_DDP
-#endif
+#endif /* ATPROTO_DDP */
 #define ATPROTO_DDP    0
 #define ATPROTO_AARP   254
 
  * These should really be in some global header file, but we can't
  * count on them being there, and it's annoying to patch system files.
  */
+#ifndef ETHERTYPE_AT
 #define ETHERTYPE_AT   0x809B          /* AppleTalk protocol */
+#endif
+#ifndef ETHERTYPE_AARP
 #define ETHERTYPE_AARP 0x80F3          /* AppleTalk ARP */
+#endif
 
 #define DDP_MAXSZ      587
 
 /*
  * AppleTalk address.
  */
+#ifndef MACOSX_SERVER
 struct at_addr {
 #ifdef s_net
 #undef s_net
-#endif
+#endif /* s_net */
     u_short    s_net;
     u_char     s_node;
 };
+#endif /* MACOSX_SERVER */
 
 #define ATADDR_ANYNET  (u_short)0x0000
 #define ATADDR_ANYNODE (u_char)0x00
@@ -69,13 +91,14 @@ struct at_addr {
  * interface.  IFACE may be filled in by the client, and is filled in
  * by the kernel.
  */
+#ifndef MACOSX_SERVER
 struct sockaddr_at {
 #ifdef BSD4_4
     u_char             sat_len;
     u_char             sat_family;
-#else BSD4_4
+#else /* BSD4_4 */
     short              sat_family;
-#endif BSD4_4
+#endif /* BSD4_4 */
     u_char             sat_port;
     struct at_addr     sat_addr;
 #ifdef notdef
@@ -93,10 +116,11 @@ struct sockaddr_at {
            u_short             su_interface;
        } sh_un;
     } sat_hints;
-#else notdef
+#else /* notdef */
     char               sat_zero[ 8 ];
-#endif notdef
+#endif /* notdef */
 };
+#endif /* MACOSX_SERVER */
 
 struct netrange {
     u_char             nr_phase;
@@ -107,7 +131,9 @@ struct netrange {
 #ifdef KERNEL
 extern struct domain   atalkdomain;
 extern struct protosw  atalksw[];
-#endif
+#endif /* KERNEL */
 
 #endif /* linux */
-#endif __AT_HEADER__
+#endif /* NO_DDP */
+#endif /* __AT_HEADER__ */
+