Module Name: src
Committed By: christos
Date: Tue Dec 2 19:33:44 UTC 2014
Modified Files:
src/sys/netatalk: at.h files.netatalk
Added Files:
src/sys/netatalk: at_print.c
Log Message:
- s/u_intX/uintX/
- add routines to print sockaddr_at and ataddr.
To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 src/sys/netatalk/at.h
cvs rdiff -u -r0 -r1.1 src/sys/netatalk/at_print.c
cvs rdiff -u -r1.1 -r1.2 src/sys/netatalk/files.netatalk
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/netatalk/at.h
diff -u src/sys/netatalk/at.h:1.7 src/sys/netatalk/at.h:1.8
--- src/sys/netatalk/at.h:1.7 Sat Dec 10 18:29:05 2005
+++ src/sys/netatalk/at.h Tue Dec 2 14:33:44 2014
@@ -1,4 +1,4 @@
-/* $NetBSD: at.h,v 1.7 2005/12/10 23:29:05 elad Exp $ */
+/* $NetBSD: at.h,v 1.8 2014/12/02 19:33:44 christos Exp $ */
/*
* Copyright (c) 1990,1991 Regents of The University of Michigan.
@@ -59,19 +59,19 @@ typedef __sa_family_t sa_family_t;
* AppleTalk address.
*/
struct at_addr {
- u_int16_t s_net;
- u_int8_t s_node;
+ uint16_t s_net;
+ uint8_t s_node;
};
-#define ATADDR_ANYNET (u_int16_t)0x0000
-#define ATADDR_ANYNODE (u_int8_t)0x00
-#define ATADDR_ANYPORT (u_int8_t)0x00
-#define ATADDR_BCAST (u_int8_t)0xff /* There is no BCAST for NET */
+#define ATADDR_ANYNET (uint16_t)0x0000
+#define ATADDR_ANYNODE (uint8_t)0x00
+#define ATADDR_ANYPORT (uint8_t)0x00
+#define ATADDR_BCAST (uint8_t)0xff /* There is no BCAST for NET */
struct netrange {
- u_int8_t nr_phase;
- u_int16_t nr_firstnet;
- u_int16_t nr_lastnet;
+ uint8_t nr_phase;
+ uint16_t nr_firstnet;
+ uint16_t nr_lastnet;
};
/*
@@ -82,9 +82,9 @@ struct netrange {
* by the kernel.
*/
struct sockaddr_at {
- u_int8_t sat_len;
+ uint8_t sat_len;
sa_family_t sat_family;
- u_int8_t sat_port;
+ uint8_t sat_port;
struct at_addr sat_addr;
union {
struct netrange r_netrange;
@@ -102,4 +102,12 @@ extern struct domain atalkdomain;
extern const struct protosw atalksw[];
#endif
+#if defined(_KERNEL) || defined(_TEST)
+#define ATALK_ADDRSTRLEN 10
+
+extern struct domain atalkdomain;
+int at_print(char *, size_t, const struct at_addr *);
+int sat_print(char *, size_t, const void *);
+#endif
+
#endif /* !_NETATALK_AT_H_ */
Index: src/sys/netatalk/files.netatalk
diff -u src/sys/netatalk/files.netatalk:1.1 src/sys/netatalk/files.netatalk:1.2
--- src/sys/netatalk/files.netatalk:1.1 Thu Oct 10 18:10:53 2002
+++ src/sys/netatalk/files.netatalk Tue Dec 2 14:33:44 2014
@@ -1,9 +1,10 @@
-# $NetBSD: files.netatalk,v 1.1 2002/10/10 22:10:53 thorpej Exp $
+# $NetBSD: files.netatalk,v 1.2 2014/12/02 19:33:44 christos Exp $
defflag opt_atalk.h NETATALK
file netatalk/aarp.c netatalk
file netatalk/at_control.c netatalk
+file netatalk/at_print.c
file netatalk/at_proto.c netatalk
file netatalk/at_rmx.c netatalkdebug
file netatalk/ddp_input.c netatalk
Added files:
Index: src/sys/netatalk/at_print.c
diff -u /dev/null src/sys/netatalk/at_print.c:1.1
--- /dev/null Tue Dec 2 14:33:44 2014
+++ src/sys/netatalk/at_print.c Tue Dec 2 14:33:44 2014
@@ -0,0 +1,59 @@
+/* $NetBSD: at_print.c,v 1.1 2014/12/02 19:33:44 christos Exp $ */
+
+/*-
+ * Copyright (c) 2014 The NetBSD Foundation, Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+#include <sys/cdefs.h>
+
+#include <sys/types.h>
+#ifdef _KERNEL
+__KERNEL_RCSID(0, "$NetBSD: at_print.c,v 1.1 2014/12/02 19:33:44 christos Exp $");
+#include <sys/systm.h>
+#else
+__RCSID("$NetBSD: at_print.c,v 1.1 2014/12/02 19:33:44 christos Exp $");
+#include <stdio.h>
+#endif
+#include <netatalk/at.h>
+
+int
+at_print(char *buf, size_t len, const struct at_addr *aa)
+{
+ return snprintf(buf, len, "%hu.%hhu", ntohs(aa->s_net), aa->s_node);
+}
+
+// XXX: netrange
+int
+sat_print(char *buf, size_t len, const void *v)
+{
+ const struct sockaddr_at *sat = v;
+ const struct at_addr *aa = &sat->sat_addr;
+ char abuf[ATALK_ADDRSTRLEN];
+
+ if (!sat->sat_port)
+ return at_print(buf, len, aa);
+
+ at_print(abuf, sizeof(abuf), aa);
+ return snprintf(buf, len, "%s:%hhu", abuf, sat->sat_port);
+}