summaryrefslogtreecommitdiff
path: root/device
diff options
context:
space:
mode:
Diffstat (limited to 'device')
-rw-r--r--device/dev_hdr.h16
-rw-r--r--device/dev_pager.c1
-rw-r--r--device/device_init.c2
-rw-r--r--device/ds_routines.c1
-rw-r--r--device/ds_routines.h2
-rw-r--r--device/net_io.c30
-rw-r--r--device/net_io.h2
-rw-r--r--device/subrs.c1
-rw-r--r--device/subrs.h34
9 files changed, 88 insertions, 1 deletions
diff --git a/device/dev_hdr.h b/device/dev_hdr.h
index d5b8770..340a2db 100644
--- a/device/dev_hdr.h
+++ b/device/dev_hdr.h
@@ -130,4 +130,20 @@ boolean_t dev_map(boolean_t (*)(), mach_port_t);
#define device_lock(device) simple_lock(&(device)->lock)
#define device_unlock(device) simple_unlock(&(device)->lock)
+/*
+ * device name lookup
+ */
+extern boolean_t dev_name_lookup(
+ char * name,
+ dev_ops_t *ops, /* out */
+ int *unit); /* out */
+
+/*
+ * Change an entry in the indirection list.
+ */
+extern void dev_set_indirection(
+ char *name,
+ dev_ops_t ops,
+ int unit);
+
#endif /* _DEVICE_DEV_HDR_H_ */
diff --git a/device/dev_pager.c b/device/dev_pager.c
index 68c978c..224be85 100644
--- a/device/dev_pager.c
+++ b/device/dev_pager.c
@@ -49,6 +49,7 @@
#include <vm/vm_page.h>
#include <vm/vm_kern.h>
+#include <vm/vm_user.h>
#include <device/device_types.h>
#include <device/ds_routines.h>
diff --git a/device/device_init.c b/device/device_init.c
index a2e4967..1da2a6f 100644
--- a/device/device_init.c
+++ b/device/device_init.c
@@ -36,7 +36,7 @@
#include <device/device_types.h>
#include <device/device_port.h>
-
+#include <device/tty.h>
extern void mach_device_init();
diff --git a/device/ds_routines.c b/device/ds_routines.c
index 61eec99..943185e 100644
--- a/device/ds_routines.c
+++ b/device/ds_routines.c
@@ -81,6 +81,7 @@
#include <vm/memory_object.h>
#include <vm/vm_map.h>
#include <vm/vm_kern.h>
+#include <vm/vm_user.h>
#include <device/device_types.h>
#include <device/dev_hdr.h>
diff --git a/device/ds_routines.h b/device/ds_routines.h
index f794303..24668b4 100644
--- a/device/ds_routines.h
+++ b/device/ds_routines.h
@@ -52,4 +52,6 @@ boolean_t ds_open_done(io_req_t);
boolean_t ds_read_done(io_req_t);
boolean_t ds_write_done(io_req_t);
+void iowait (io_req_t ior);
+
#endif /* DS_ROUTINES_H */
diff --git a/device/net_io.c b/device/net_io.c
index b565aa3..5f287cb 100644
--- a/device/net_io.c
+++ b/device/net_io.c
@@ -367,6 +367,36 @@ decl_simple_lock_data(,net_hash_header_lock)
extern boolean_t net_do_filter(); /* CSPF */
extern int bpf_do_filter(); /* BPF */
+int hash_ent_remove (
+ struct ifnet *ifp,
+ net_hash_header_t hp,
+ int used,
+ net_hash_entry_t *head,
+ net_hash_entry_t entp,
+ queue_entry_t *dead_p);
+
+void net_free_dead_infp (queue_entry_t dead_infp);
+void net_free_dead_entp (queue_entry_t dead_entp);
+
+int bpf_validate(
+ bpf_insn_t f,
+ int bytes,
+ bpf_insn_t *match);
+
+int bpf_eq (
+ bpf_insn_t f1,
+ bpf_insn_t f2,
+ register int bytes);
+
+int net_add_q_info (ipc_port_t rcv_port);
+
+int bpf_match (
+ net_hash_header_t hash,
+ int n_keys,
+ unsigned int *keys,
+ net_hash_entry_t **hash_headpp,
+ net_hash_entry_t *entpp);
+
/*
* ethernet_priority:
diff --git a/device/net_io.h b/device/net_io.h
index ce18182..073bdca 100644
--- a/device/net_io.h
+++ b/device/net_io.h
@@ -78,6 +78,8 @@ extern io_return_t net_write(struct ifnet *, int (*)(), io_req_t);
extern vm_size_t net_kmsg_size;
+extern void net_kmsg_collect (void);
+
#define net_kmsg_alloc() ((ipc_kmsg_t) kalloc(net_kmsg_size))
#define net_kmsg_free(kmsg) kfree((vm_offset_t) (kmsg), net_kmsg_size)
diff --git a/device/subrs.c b/device/subrs.c
index ea63a5c..9b2b9ad 100644
--- a/device/subrs.c
+++ b/device/subrs.c
@@ -30,6 +30,7 @@
#include <kern/debug.h>
#include <kern/printf.h>
#include <vm/vm_kern.h>
+#include <vm/vm_user.h>
#include <device/buf.h>
#include <device/if_hdr.h>
#include <device/if_ether.h>
diff --git a/device/subrs.h b/device/subrs.h
new file mode 100644
index 0000000..680aaa6
--- /dev/null
+++ b/device/subrs.h
@@ -0,0 +1,34 @@
+/*
+ * Random device functions
+ * Copyright (C) 2008 Free Software Foundation, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2, or (at your option)
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ * Author: Barry deFreese.
+ */
+/*
+ * Random device functions.
+ *
+ */
+
+#ifndef _SUBRS_H_
+#define _SUBRS_H_
+
+#include <mach/std_types.h>
+
+extern void sleep (vm_offset_t channel, int priority);
+extern void wakeup (vm_offset_t channel);
+
+#endif /* _SUBRS_H_ */