Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/dev/ic Support WEP functions for awi driver.
details: https://anonhg.NetBSD.org/src/rev/1bfd09d83a97
branches: trunk
changeset: 494253:1bfd09d83a97
user: onoe <onoe%NetBSD.org@localhost>
date: Tue Jul 04 14:47:58 2000 +0000
description:
Support WEP functions for awi driver.
diffstat:
sys/dev/ic/awi_wep.c | 55 ++++++++++++++++++++++++++-------------------------
1 files changed, 28 insertions(+), 27 deletions(-)
diffs (95 lines):
diff -r 4b735c63e9aa -r 1bfd09d83a97 sys/dev/ic/awi_wep.c
--- a/sys/dev/ic/awi_wep.c Tue Jul 04 14:37:37 2000 +0000
+++ b/sys/dev/ic/awi_wep.c Tue Jul 04 14:47:58 2000 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: awi_wep.c,v 1.1 2000/06/09 05:31:16 onoe Exp $ */
+/* $NetBSD: awi_wep.c,v 1.2 2000/07/04 14:47:58 onoe Exp $ */
/*
* Copyright (c) 2000 The NetBSD Foundation, Inc.
@@ -49,8 +49,6 @@
* with other stations.
*/
-#include "opt_awi.h"
-
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/kernel.h>
@@ -88,12 +86,34 @@
#include <dev/ic/am79c930var.h>
#include <dev/ic/awireg.h>
#include <dev/ic/awivar.h>
+
+#include <crypto/arc4/arc4.h>
#endif
+
#ifdef __FreeBSD__
#include <dev/awi/am79c930reg.h>
#include <dev/awi/am79c930var.h>
#include <dev/awi/awireg.h>
#include <dev/awi/awivar.h>
+
+#include <crypto/rc4/rc4.h>
+static __inline int
+arc4_ctxlen(void)
+{
+ return sizeof(struct rc4_state);
+}
+
+static __inline void
+arc4_setkey(void *ctx, u_int8_t *key, int keylen)
+{
+ rc4_init(ctx, key, keylen);
+}
+
+static __inline void
+arc4_encrypt(void *ctx, u_int8_t *dst, u_int8_t *src, int len)
+{
+ rc4_crypt(ctx, dst, src, len);
+}
#endif
static void awi_crc_init __P((void));
@@ -103,36 +123,17 @@
static void awi_null_setkey __P((void *ctx, u_int8_t *key, int keylen));
static void awi_null_copy __P((void *ctx, u_int8_t *dst, u_int8_t *src, int len));
-#ifdef AWI_WEP_ARC4
-extern int awi_arc4_ctxlen __P((void));
-extern void awi_arc4_setkey __P((void *ctx, u_int8_t *key, int keylen));
-extern void awi_arc4_encrypt __P((void *ctx, u_int8_t *dst, u_int8_t *src, int len));
-#endif
-#ifdef AWI_WEP_DES3
-extern int awi_des3_ctxlen __P((void));
-extern void awi_des3_setkey __P((void *ctx, u_int8_t *key, int keylen));
-extern void awi_des3_encrypt __P((void *ctx, u_int8_t *dst, u_int8_t *src, int len));
-#endif
-
/* XXX: the order should be known to wiconfig/user */
static struct awi_wep_algo awi_wep_algo[] = {
+/* 0: no wep */
{ "no" }, /* dummy for no wep */
-#ifdef AWI_WEP_ARC4
- { "arc4", awi_arc4_ctxlen, awi_arc4_setkey,
- awi_arc4_encrypt, awi_arc4_encrypt },
-#else
- { NULL }, /* not supported */
-#endif
+/* 1: normal wep (arc4) */
+ { "arc4", arc4_ctxlen, arc4_setkey,
+ arc4_encrypt, arc4_encrypt },
-#ifdef AWI_WEP_DES3
- { "des3", awi_des3_ctxlen, awi_des3_setkey,
- awi_des3_encrypt, awi_des3_decrypt },
-#else
- { NULL }, /* not supported */
-#endif
-
+/* 2: debug wep (null) */
{ "null", awi_null_ctxlen, awi_null_setkey,
awi_null_copy, awi_null_copy },
/* dummy for wep without encryption */
Home |
Main Index |
Thread Index |
Old Index