kernel tree reorganization stage 1: Major cvs repository work (not logged as
[dragonfly.git] / sys / dev / atm / hfa / fore_include.h
1 /*
2  *
3  * ===================================
4  * HARP  |  Host ATM Research Platform
5  * ===================================
6  *
7  *
8  * This Host ATM Research Platform ("HARP") file (the "Software") is
9  * made available by Network Computing Services, Inc. ("NetworkCS")
10  * "AS IS".  NetworkCS does not provide maintenance, improvements or
11  * support of any kind.
12  *
13  * NETWORKCS MAKES NO WARRANTIES OR REPRESENTATIONS, EXPRESS OR IMPLIED,
14  * INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
15  * AND FITNESS FOR A PARTICULAR PURPOSE, AS TO ANY ELEMENT OF THE
16  * SOFTWARE OR ANY SUPPORT PROVIDED IN CONNECTION WITH THIS SOFTWARE.
17  * In no event shall NetworkCS be responsible for any damages, including
18  * but not limited to consequential damages, arising from or relating to
19  * any use of the Software or related support.
20  *
21  * Copyright 1994-1998 Network Computing Services, Inc.
22  *
23  * Copies of this Software may be made, however, the above copyright
24  * notice must be reproduced on all copies.
25  *
26  *      @(#) $FreeBSD: src/sys/dev/hfa/fore_include.h,v 1.2 1999/08/28 00:41:50 peter Exp $
27  *      @(#) $DragonFly: src/sys/dev/atm/hfa/fore_include.h,v 1.3 2003/08/07 21:16:49 dillon Exp $
28  *
29  */
30
31 /*
32  * FORE Systems 200-Series Adapter Support
33  * ---------------------------------------
34  *
35  * Local driver include files and global declarations
36  *
37  */
38
39 #ifndef _FORE_INCLUDE_H
40 #define _FORE_INCLUDE_H
41
42 #include <netatm/kern_include.h>
43
44 /*
45  * If not specified elsewhere, guess which type of bus support we want
46  */
47 #if !(defined(FORE_PCI) || defined(FORE_SBUS))
48 #if defined(sparc)
49 #define FORE_SBUS
50 #elif defined(__i386__)
51 #define FORE_PCI
52 #endif
53 #endif
54
55 #ifdef FORE_PCI
56 #include <bus/pci/pcireg.h>
57 #include <bus/pci/pcivar.h>
58 #endif
59
60 #include "fore.h"
61 #include "fore_aali.h"
62 #include "fore_slave.h"
63 #include "fore_stats.h"
64 #include "fore_var.h"
65
66 /*
67  * Global function declarations
68  */
69         /* fore_buffer.c */
70 int             fore_buf_allocate __P((Fore_unit *));
71 void            fore_buf_initialize __P((Fore_unit *));
72 void            fore_buf_supply __P((Fore_unit *));
73 void            fore_buf_free __P((Fore_unit *));
74
75         /* fore_command.c */
76 int             fore_cmd_allocate __P((Fore_unit *));
77 void            fore_cmd_initialize __P((Fore_unit *));
78 void            fore_cmd_drain __P((Fore_unit *));
79 void            fore_cmd_free __P((Fore_unit *));
80
81         /* fore_if.c */
82 int             fore_atm_ioctl __P((int, caddr_t, caddr_t));
83 void            fore_interface_free __P((Fore_unit *));
84
85         /* fore_init.c */
86 void            fore_initialize __P((Fore_unit *));
87 void            fore_initialize_complete __P((Fore_unit *));
88
89         /* fore_intr.c */
90 #if defined(sun)
91 int             fore_poll __P((void));
92 #endif
93 #if (defined(BSD) && (BSD <= 199306))
94 int             fore_intr __P((void *));
95 #else
96 void            fore_intr __P((void *));
97 #endif
98 void            fore_watchdog __P((Fore_unit *));
99
100         /* fore_load.c */
101
102         /* fore_output.c */
103 void            fore_output __P((Cmn_unit *, Cmn_vcc *, KBuffer *));
104
105         /* fore_receive.c */
106 int             fore_recv_allocate __P((Fore_unit *));
107 void            fore_recv_initialize __P((Fore_unit *));
108 void            fore_recv_drain __P((Fore_unit *));
109 void            fore_recv_free __P((Fore_unit *));
110
111         /* fore_stats.c */
112 int             fore_get_stats __P((Fore_unit *));
113
114         /* fore_timer.c */
115 void            fore_timeout __P((struct atm_time *));
116
117         /* fore_transmit.c */
118 int             fore_xmit_allocate __P((Fore_unit *));
119 void            fore_xmit_initialize __P((Fore_unit *));
120 void            fore_xmit_drain __P((Fore_unit *));
121 void            fore_xmit_free __P((Fore_unit *));
122
123         /* fore_vcm.c */
124 int             fore_instvcc __P((Cmn_unit *, Cmn_vcc *));
125 int             fore_openvcc __P((Cmn_unit *, Cmn_vcc *));
126 int             fore_closevcc __P((Cmn_unit *, Cmn_vcc *));
127
128
129 /*
130  * Global variable declarations
131  */
132 extern Fore_device      fore_devices[];
133 extern Fore_unit        *fore_units[];
134 extern int              fore_nunits;
135 extern struct stack_defn        *fore_services;
136 extern struct sp_info   fore_nif_pool;
137 extern struct sp_info   fore_vcc_pool;
138 extern struct atm_time  fore_timer;
139
140 #endif  /* _FORE_INCLUDE_H */