|
@@ -0,0 +1,181 @@
|
|
1
|
+#ifndef PXE_API_H
|
|
2
|
+#define PXE_API_H
|
|
3
|
+
|
|
4
|
+/** @addtogroup pxe Preboot eXecution Environment (PXE) API
|
|
5
|
+ * @{
|
|
6
|
+ */
|
|
7
|
+
|
|
8
|
+/** @file
|
|
9
|
+ *
|
|
10
|
+ * Preboot eXecution Environment (PXE) API
|
|
11
|
+ *
|
|
12
|
+ */
|
|
13
|
+
|
|
14
|
+#include "pxe_types.h"
|
|
15
|
+
|
|
16
|
+/** @defgroup pxe_code PXE API function codes
|
|
17
|
+ * @{
|
|
18
|
+ */
|
|
19
|
+
|
|
20
|
+/** START UNDI (call function pxenv_start_undi())*/
|
|
21
|
+#define PXENV_START_UNDI 0x0000
|
|
22
|
+/** UNDI STARTUP (call function pxenv_undi_startup()) */
|
|
23
|
+#define PXENV_UNDI_STARTUP 0x0001
|
|
24
|
+/** UNDI CLEANUP (call function pxenv_undi_cleanup()) */
|
|
25
|
+#define PXENV_UNDI_CLEANUP 0x0002
|
|
26
|
+/** UNDI INITIALIZE (call function pxenv_undi_initialize()) */
|
|
27
|
+#define PXENV_UNDI_INITIALIZE 0x0003
|
|
28
|
+/** UNDI RESET ADAPTER (call function pxenv_undi_reset_adapter()) */
|
|
29
|
+#define PXENV_UNDI_RESET_ADAPTER 0x0004
|
|
30
|
+/** UNDI SHUTDOWN (call function pxenv_undi_shutdown()) */
|
|
31
|
+#define PXENV_UNDI_SHUTDOWN 0x0005
|
|
32
|
+/** UNDI OPEN (call function pxenv_undi_open()) */
|
|
33
|
+#define PXENV_UNDI_OPEN 0x0006
|
|
34
|
+/** UNDI CLOSE (call function pxenv_undi_close()) */
|
|
35
|
+#define PXENV_UNDI_CLOSE 0x0007
|
|
36
|
+/** UNDI TRANSMIT PACKET (call function pxenv_undi_transmit()) */
|
|
37
|
+#define PXENV_UNDI_TRANSMIT 0x0008
|
|
38
|
+/** UNDI SET MULTICAST ADDRESS
|
|
39
|
+ * (call function pxenv_undi_set_mcast_address()) */
|
|
40
|
+#define PXENV_UNDI_SET_MCAST_ADDRESS 0x0009
|
|
41
|
+/** UNDI SET STATION ADDRESS
|
|
42
|
+ * (call function pxenv_undi_set_station_address()) */
|
|
43
|
+#define PXENV_UNDI_SET_STATION_ADDRESS 0x000A
|
|
44
|
+/** UNDI SET PACKET FILTER (call function pxenv_undi_set_packet_filter()) */
|
|
45
|
+#define PXENV_UNDI_SET_PACKET_FILTER 0x000B
|
|
46
|
+/** UNDI GET INFORMATION (call function pxenv_undi_get_information()) */
|
|
47
|
+#define PXENV_UNDI_GET_INFORMATION 0x000C
|
|
48
|
+/** UNDI GET STATISTICS (call function pxenv_undi_get_statistics()) */
|
|
49
|
+#define PXENV_UNDI_GET_STATISTICS 0x000D
|
|
50
|
+/** UNDI CLEAR STATISTICS (call function pxenv_undi_get_statistics()) */
|
|
51
|
+#define PXENV_UNDI_CLEAR_STATISTICS 0x000E
|
|
52
|
+/** UNDI INITIATE DIAGS (call function pxenv_undi_initiate_diags()) */
|
|
53
|
+#define PXENV_UNDI_INITIATE_DIAGS 0x000F
|
|
54
|
+/** UNDI FORCE INTERRUPT (call function pxenv_undi_force_interrupt()) */
|
|
55
|
+#define PXENV_UNDI_FORCE_INTERRUPT 0x0010
|
|
56
|
+/** UNDI GET MULTICAST ADDRESS
|
|
57
|
+ * (call function pxenv_undi_get_mcast_address()) */
|
|
58
|
+#define PXENV_UNDI_GET_MCAST_ADDRESS 0x0011
|
|
59
|
+/** UNDI GET NIC TYPE (call function pxenv_undi_get_nic_type()) */
|
|
60
|
+#define PXENV_UNDI_GET_NIC_TYPE 0x0012
|
|
61
|
+/** UNDI GET IFACE INFO (call function pxenv_undi_get_iface_info()) */
|
|
62
|
+#define PXENV_UNDI_GET_IFACE_INFO 0x0013
|
|
63
|
+/** UNDI ISR (call function pxenv_undi_isr()) */
|
|
64
|
+#define PXENV_UNDI_ISR 0x0014
|
|
65
|
+/** UNDI GET STATE (call function pxenv_undi_get_state()) */
|
|
66
|
+#define PXENV_UNDI_GET_STATE 0x0015
|
|
67
|
+/** STOP UNDI (call function pxenv_stop_undi()) */
|
|
68
|
+#define PXENV_STOP_UNDI 0x0015
|
|
69
|
+/** TFTP OPEN (call function pxenv_tftp_open()) */
|
|
70
|
+#define PXENV_TFTP_OPEN 0x0020
|
|
71
|
+/** TFTP CLOSE (call function pxenv_tftp_close()) */
|
|
72
|
+#define PXENV_TFTP_CLOSE 0x0021
|
|
73
|
+/** TFTP READ (call function pxenv_tftp_read()) */
|
|
74
|
+#define PXENV_TFTP_READ 0x0022
|
|
75
|
+/** TFTP/MTFTP READ FILE (call function pxenv_tftp_read_file()) */
|
|
76
|
+#define PXENV_TFTP_READ_FILE 0x0023
|
|
77
|
+/** TFTP GET FILE SIZE (call function pxenv_tftp_get_fsize()) */
|
|
78
|
+#define PXENV_TFTP_GET_FSIZE 0x0025
|
|
79
|
+/** UDP OPEN (call function pxenv_udp_open()) */
|
|
80
|
+#define PXENV_UDP_OPEN 0x0030
|
|
81
|
+/** UDP CLOSE (call function pxenv_udp_close()) */
|
|
82
|
+#define PXENV_UDP_CLOSE 0x0031
|
|
83
|
+/** UDP WRITE (call function pxenv_udp_write()) */
|
|
84
|
+#define PXENV_UDP_READ 0x0032
|
|
85
|
+/** UDP READ (call function pxenv_udp_read()) */
|
|
86
|
+#define PXENV_UDP_WRITE 0x0033
|
|
87
|
+/** UNLOAD BASE CODE STACK (call function pxenv_unload_stack()) */
|
|
88
|
+#define PXENV_UNLOAD_STACK 0x0070
|
|
89
|
+/** GET CACHED INFO (call function pxenv_get_cached_info()) */
|
|
90
|
+#define PXENV_GET_CACHED_INFO 0x0071
|
|
91
|
+/** RESTART TFTP (call function pxenv_restart_tftp()) */
|
|
92
|
+#define PXENV_RESTART_TFTP 0x0073
|
|
93
|
+/** START BASE (call function pxenv_start_base()) */
|
|
94
|
+#define PXENV_START_BASE 0x0075
|
|
95
|
+/** STOP BASE (call function pxenv_stop_base()) */
|
|
96
|
+#define PXENV_STOP_BASE 0x0076
|
|
97
|
+/** @} */
|
|
98
|
+
|
|
99
|
+/** @defgroup pxe_preboot PXE Preboot API
|
|
100
|
+ * @{
|
|
101
|
+ */
|
|
102
|
+extern PXENV_EXIT_t pxenv_unload_stack ( struct s_PXENV_UNLOAD_STACK
|
|
103
|
+ *unload_stack );
|
|
104
|
+extern PXENV_EXIT_t pxenv_get_cached_info ( struct s_PXENV_GET_CACHED_INFO
|
|
105
|
+ *get_cached_info );
|
|
106
|
+extern PXENV_EXIT_t pxenv_restart_tftp ( struct s_PXENV_TFTP_READ_FILE
|
|
107
|
+ *restart_tftp );
|
|
108
|
+extern PXENV_EXIT_t pxenv_start_undi ( struct s_PXENV_START_UNDI *start_undi );
|
|
109
|
+extern PXENV_EXIT_t pxenv_stop_undi ( struct s_PXENV_STOP_UNDI *stop_undi );
|
|
110
|
+extern PXENV_EXIT_t pxenv_start_base ( struct s_PXENV_START_BASE *start_base );
|
|
111
|
+extern PXENV_EXIT_t pxenv_stop_base ( struct s_PXENV_STOP_BASE *stop_base );
|
|
112
|
+/** @} */
|
|
113
|
+
|
|
114
|
+/** @defgroup pxe_tftp PXE TFTP API
|
|
115
|
+ * @{
|
|
116
|
+ */
|
|
117
|
+extern PXENV_EXIT_t pxenv_tftp_open ( struct s_PXENV_TFTP_OPEN *tftp_open );
|
|
118
|
+extern PXENV_EXIT_t pxenv_tftp_close ( struct s_PXENV_TFTP_CLOSE *tftp_close );
|
|
119
|
+extern PXENV_EXIT_t pxenv_tftp_read ( struct s_PXENV_TFTP_READ *tftp_read );
|
|
120
|
+extern PXENV_EXIT_t pxenv_tftp_read_file ( struct s_PXENV_TFTP_READ_FILE
|
|
121
|
+ *tftp_read_file );
|
|
122
|
+extern PXENV_EXIT_t pxenv_tftp_get_fsize ( struct s_PXENV_TFTP_GET_FSIZE
|
|
123
|
+ *get_fsize );
|
|
124
|
+/** @} */
|
|
125
|
+
|
|
126
|
+/** @defgroup pxe_udp PXE UDP API
|
|
127
|
+ * @{
|
|
128
|
+ */
|
|
129
|
+extern PXENV_EXIT_t pxenv_udp_open ( struct s_PXENV_UDP_OPEN *udp_open );
|
|
130
|
+extern PXENV_EXIT_t pxenv_udp_close ( struct s_PXENV_UDP_CLOSE *udp_close );
|
|
131
|
+extern PXENV_EXIT_t pxenv_udp_write ( struct s_PXENV_UDP_WRITE *udp_write );
|
|
132
|
+extern PXENV_EXIT_t pxenv_udp_read ( struct s_PXENV_UDP_READ *udp_read );
|
|
133
|
+/** @} */
|
|
134
|
+
|
|
135
|
+/** @defgroup pxe_undi PXE UNDI API
|
|
136
|
+ * @{
|
|
137
|
+ */
|
|
138
|
+extern PXENV_EXIT_t pxenv_undi_startup ( struct s_PXENV_UNDI_STARTUP
|
|
139
|
+ *undi_startup );
|
|
140
|
+extern PXENV_EXIT_t pxenv_undi_cleanup ( struct s_PXENV_UNDI_CLEANUP
|
|
141
|
+ *undi_cleanup );
|
|
142
|
+extern PXENV_EXIT_t pxenv_undi_initialize ( struct s_PXENV_UNDI_INITIALIZE
|
|
143
|
+ *undi_initialize );
|
|
144
|
+extern PXENV_EXIT_t pxenv_undi_reset_adapter ( struct s_PXENV_UNDI_RESET
|
|
145
|
+ *undi_reset_adapter );
|
|
146
|
+extern PXENV_EXIT_t pxenv_undi_shutdown ( struct s_PXENV_UNDI_SHUTDOWN
|
|
147
|
+ *undi_shutdown );
|
|
148
|
+extern PXENV_EXIT_t pxenv_undi_open ( struct s_PXENV_UNDI_OPEN *undi_open );
|
|
149
|
+extern PXENV_EXIT_t pxenv_undi_close ( struct s_PXENV_UNDI_CLOSE *undi_close );
|
|
150
|
+extern PXENV_EXIT_t pxenv_undi_transmit ( struct s_PXENV_UNDI_TRANSMIT
|
|
151
|
+ *undi_transmit );
|
|
152
|
+extern PXENV_EXIT_t pxenv_undi_set_mcast_address (
|
|
153
|
+ struct s_PXENV_UNDI_SET_MCAST_ADDRESS *undi_set_mcast_address );
|
|
154
|
+extern PXENV_EXIT_t pxenv_undi_set_station_address (
|
|
155
|
+ struct s_PXENV_UNDI_SET_STATION_ADDRESS *undi_set_station_address );
|
|
156
|
+extern PXENV_EXIT_t pxenv_undi_set_packet_filter (
|
|
157
|
+ struct s_PXENV_UNDI_SET_PACKET_FILTER *undi_set_packet_filter );
|
|
158
|
+extern PXENV_EXIT_t pxenv_undi_get_information (
|
|
159
|
+ struct s_PXENV_UNDI_GET_INFORMATION *undi_get_information );
|
|
160
|
+extern PXENV_EXIT_t pxenv_undi_get_statistics (
|
|
161
|
+ struct s_PXENV_UNDI_GET_STATISTICS *undi_get_statistics );
|
|
162
|
+extern PXENV_EXIT_t pxenv_undi_clear_statistics (
|
|
163
|
+ struct s_PXENV_UNDI_CLEAR_STATISTICS *undi_clear_statistics );
|
|
164
|
+extern PXENV_EXIT_t pxenv_undi_initiate_diags (
|
|
165
|
+ struct s_PXENV_UNDI_INITIATE_DIAGS *undi_initiate_diags );
|
|
166
|
+extern PXENV_EXIT_t pxenv_undi_force_interrupt (
|
|
167
|
+ struct s_PXENV_UNDI_FORCE_INTERRUPT *undi_force_interrupt );
|
|
168
|
+extern PXENV_EXIT_t pxenv_undi_get_mcast_address (
|
|
169
|
+ struct s_PXENV_UNDI_GET_MCAST_ADDRESS *undi_get_mcast_address );
|
|
170
|
+extern PXENV_EXIT_t pxenv_undi_get_nic_type (
|
|
171
|
+ struct s_PXENV_UNDI_GET_NIC_TYPE *undi_get_nic_type );
|
|
172
|
+extern PXENV_EXIT_t pxenv_undi_get_iface_info (
|
|
173
|
+ struct s_PXENV_UNDI_GET_IFACE_INFO *undi_get_iface_info );
|
|
174
|
+extern PXENV_EXIT_t pxenv_undi_get_state ( struct s_PXENV_UNDI_GET_STATE
|
|
175
|
+ *undi_get_state );
|
|
176
|
+extern PXENV_EXIT_t pxenv_undi_isr ( struct s_PXENV_UNDI_ISR *undi_isr );
|
|
177
|
+/** @} */
|
|
178
|
+
|
|
179
|
+/** @} */ /* addtogroup */
|
|
180
|
+
|
|
181
|
+#endif /* PXE_API_H */
|