Initial import from FreeBSD RELENG_4:
[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  *
28  */
29
30 /*
31  * FORE Systems 200-Series Adapter Support
32  * ---------------------------------------
33  *
34  * Local driver include files and global declarations
35  *
36  */
37
38 #ifndef _FORE_INCLUDE_H
39 #define _FORE_INCLUDE_H
40
41 #include <netatm/kern_include.h>
42
43 /*
44  * If not specified elsewhere, guess which type of bus support we want
45  */
46 #if !(defined(FORE_PCI) || defined(FORE_SBUS))
47 #if defined(sparc)
48 #define FORE_SBUS
49 #elif defined(__i386__)
50 #define FORE_PCI
51 #endif
52 #endif
53
54 #ifdef FORE_PCI
55 #include <pci/pcireg.h>
56 #include <pci/pcivar.h>
57 #endif
58
59 #include <dev/hfa/fore.h>
60 #include <dev/hfa/fore_aali.h>
61 #include <dev/hfa/fore_slave.h>
62 #include <dev/hfa/fore_stats.h>
63 #include <dev/hfa/fore_var.h>
64
65 /*
66  * Global function declarations
67  */
68         /* fore_buffer.c */
69 int             fore_buf_allocate __P((Fore_unit *));
70 void            fore_buf_initialize __P((Fore_unit *));
71 void            fore_buf_supply __P((Fore_unit *));
72 void            fore_buf_free __P((Fore_unit *));
73
74         /* fore_command.c */
75 int             fore_cmd_allocate __P((Fore_unit *));
76 void            fore_cmd_initialize __P((Fore_unit *));
77 void            fore_cmd_drain __P((Fore_unit *));
78 void            fore_cmd_free __P((Fore_unit *));
79
80         /* fore_if.c */
81 int             fore_atm_ioctl __P((int, caddr_t, caddr_t));
82 void            fore_interface_free __P((Fore_unit *));
83
84         /* fore_init.c */
85 void            fore_initialize __P((Fore_unit *));
86 void            fore_initialize_complete __P((Fore_unit *));
87
88         /* fore_intr.c */
89 #if defined(sun)
90 int             fore_poll __P((void));
91 #endif
92 #if (defined(BSD) && (BSD <= 199306))
93 int             fore_intr __P((void *));
94 #else
95 void            fore_intr __P((void *));
96 #endif
97 void            fore_watchdog __P((Fore_unit *));
98
99         /* fore_load.c */
100
101         /* fore_output.c */
102 void            fore_output __P((Cmn_unit *, Cmn_vcc *, KBuffer *));
103
104         /* fore_receive.c */
105 int             fore_recv_allocate __P((Fore_unit *));
106 void            fore_recv_initialize __P((Fore_unit *));
107 void            fore_recv_drain __P((Fore_unit *));
108 void            fore_recv_free __P((Fore_unit *));
109
110         /* fore_stats.c */
111 int             fore_get_stats __P((Fore_unit *));
112
113         /* fore_timer.c */
114 void            fore_timeout __P((struct atm_time *));
115
116         /* fore_transmit.c */
117 int             fore_xmit_allocate __P((Fore_unit *));
118 void            fore_xmit_initialize __P((Fore_unit *));
119 void            fore_xmit_drain __P((Fore_unit *));
120 void            fore_xmit_free __P((Fore_unit *));
121
122         /* fore_vcm.c */
123 int             fore_instvcc __P((Cmn_unit *, Cmn_vcc *));
124 int             fore_openvcc __P((Cmn_unit *, Cmn_vcc *));
125 int             fore_closevcc __P((Cmn_unit *, Cmn_vcc *));
126
127
128 /*
129  * Global variable declarations
130  */
131 extern Fore_device      fore_devices[];
132 extern Fore_unit        *fore_units[];
133 extern int              fore_nunits;
134 extern struct stack_defn        *fore_services;
135 extern struct sp_info   fore_nif_pool;
136 extern struct sp_info   fore_vcc_pool;
137 extern struct atm_time  fore_timer;
138
139 #endif  /* _FORE_INCLUDE_H */