c1cf74e92abe6578c872576eef1c2aa9e5968872
[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.7 2005/02/01 00:51:50 joerg 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 <netproto/atm/kern_include.h>
43
44 /*
45  * If not specified elsewhere, guess which type of bus support we want
46  */
47 #include <bus/pci/pcireg.h>
48 #include <bus/pci/pcivar.h>
49
50 #include "fore.h"
51 #include "fore_aali.h"
52 #include "fore_slave.h"
53 #include "fore_stats.h"
54 #include "fore_var.h"
55
56 /*
57  * Global function declarations
58  */
59         /* fore_buffer.c */
60 int             fore_buf_allocate (Fore_unit *);
61 void            fore_buf_initialize (Fore_unit *);
62 void            fore_buf_supply (Fore_unit *);
63 void            fore_buf_free (Fore_unit *);
64
65         /* fore_command.c */
66 int             fore_cmd_allocate (Fore_unit *);
67 void            fore_cmd_initialize (Fore_unit *);
68 void            fore_cmd_drain (Fore_unit *);
69 void            fore_cmd_free (Fore_unit *);
70
71         /* fore_if.c */
72 int             fore_atm_ioctl (int, caddr_t, caddr_t);
73 void            fore_interface_free (Fore_unit *);
74
75         /* fore_init.c */
76 void            fore_initialize(void *);
77 void            fore_initialize_complete (Fore_unit *);
78
79         /* fore_intr.c */
80 void            fore_intr (void *);
81 void            fore_watchdog (Fore_unit *);
82
83         /* fore_load.c */
84
85         /* fore_output.c */
86 void            fore_output (Cmn_unit *, Cmn_vcc *, KBuffer *);
87
88         /* fore_receive.c */
89 int             fore_recv_allocate (Fore_unit *);
90 void            fore_recv_initialize (Fore_unit *);
91 void            fore_recv_drain (Fore_unit *);
92 void            fore_recv_free (Fore_unit *);
93
94         /* fore_stats.c */
95 int             fore_get_stats (Fore_unit *);
96
97         /* fore_timer.c */
98 void            fore_timeout (struct atm_time *);
99
100         /* fore_transmit.c */
101 int             fore_xmit_allocate (Fore_unit *);
102 void            fore_xmit_initialize (Fore_unit *);
103 void            fore_xmit_drain (Fore_unit *);
104 void            fore_xmit_free (Fore_unit *);
105
106         /* fore_vcm.c */
107 int             fore_instvcc (Cmn_unit *, Cmn_vcc *);
108 int             fore_openvcc (Cmn_unit *, Cmn_vcc *);
109 int             fore_closevcc (Cmn_unit *, Cmn_vcc *);
110
111
112 /*
113  * Global variable declarations
114  */
115 extern Fore_device      fore_devices[];
116 extern Fore_unit        *fore_units[];
117 extern int              fore_nunits;
118 extern struct stack_defn        *fore_services;
119 extern struct sp_info   fore_nif_pool;
120 extern struct sp_info   fore_vcc_pool;
121 extern struct atm_time  fore_timer;
122
123 #endif  /* _FORE_INCLUDE_H */