summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Brown2005-05-21 19:19:57 +0200
committerMichael Brown2005-05-21 19:19:57 +0200
commit29733a153ddadee4e233dfc731f346755ea0e27a (patch)
treee6dec1235ae33e355630554bf56fccdfad59fd1f
parentDocumented the basic PXE data types (diff)
downloadipxe-29733a153ddadee4e233dfc731f346755ea0e27a.tar.gz
ipxe-29733a153ddadee4e233dfc731f346755ea0e27a.tar.xz
ipxe-29733a153ddadee4e233dfc731f346755ea0e27a.zip
Added all API codes and basic prototypes.
-rw-r--r--src/include/pxe_api.h181
1 files changed, 181 insertions, 0 deletions
diff --git a/src/include/pxe_api.h b/src/include/pxe_api.h
new file mode 100644
index 000000000..cfb5afd3e
--- /dev/null
+++ b/src/include/pxe_api.h
@@ -0,0 +1,181 @@
+#ifndef PXE_API_H
+#define PXE_API_H
+
+/** @addtogroup pxe Preboot eXecution Environment (PXE) API
+ * @{
+ */
+
+/** @file
+ *
+ * Preboot eXecution Environment (PXE) API
+ *
+ */
+
+#include "pxe_types.h"
+
+/** @defgroup pxe_code PXE API function codes
+ * @{
+ */
+
+/** START UNDI (call function pxenv_start_undi())*/
+#define PXENV_START_UNDI 0x0000
+/** UNDI STARTUP (call function pxenv_undi_startup()) */
+#define PXENV_UNDI_STARTUP 0x0001
+/** UNDI CLEANUP (call function pxenv_undi_cleanup()) */
+#define PXENV_UNDI_CLEANUP 0x0002
+/** UNDI INITIALIZE (call function pxenv_undi_initialize()) */
+#define PXENV_UNDI_INITIALIZE 0x0003
+/** UNDI RESET ADAPTER (call function pxenv_undi_reset_adapter()) */
+#define PXENV_UNDI_RESET_ADAPTER 0x0004
+/** UNDI SHUTDOWN (call function pxenv_undi_shutdown()) */
+#define PXENV_UNDI_SHUTDOWN 0x0005
+/** UNDI OPEN (call function pxenv_undi_open()) */
+#define PXENV_UNDI_OPEN 0x0006
+/** UNDI CLOSE (call function pxenv_undi_close()) */
+#define PXENV_UNDI_CLOSE 0x0007
+/** UNDI TRANSMIT PACKET (call function pxenv_undi_transmit()) */
+#define PXENV_UNDI_TRANSMIT 0x0008
+/** UNDI SET MULTICAST ADDRESS
+ * (call function pxenv_undi_set_mcast_address()) */
+#define PXENV_UNDI_SET_MCAST_ADDRESS 0x0009
+/** UNDI SET STATION ADDRESS
+ * (call function pxenv_undi_set_station_address()) */
+#define PXENV_UNDI_SET_STATION_ADDRESS 0x000A
+/** UNDI SET PACKET FILTER (call function pxenv_undi_set_packet_filter()) */
+#define PXENV_UNDI_SET_PACKET_FILTER 0x000B
+/** UNDI GET INFORMATION (call function pxenv_undi_get_information()) */
+#define PXENV_UNDI_GET_INFORMATION 0x000C
+/** UNDI GET STATISTICS (call function pxenv_undi_get_statistics()) */
+#define PXENV_UNDI_GET_STATISTICS 0x000D
+/** UNDI CLEAR STATISTICS (call function pxenv_undi_get_statistics()) */
+#define PXENV_UNDI_CLEAR_STATISTICS 0x000E
+/** UNDI INITIATE DIAGS (call function pxenv_undi_initiate_diags()) */
+#define PXENV_UNDI_INITIATE_DIAGS 0x000F
+/** UNDI FORCE INTERRUPT (call function pxenv_undi_force_interrupt()) */
+#define PXENV_UNDI_FORCE_INTERRUPT 0x0010
+/** UNDI GET MULTICAST ADDRESS
+ * (call function pxenv_undi_get_mcast_address()) */
+#define PXENV_UNDI_GET_MCAST_ADDRESS 0x0011
+/** UNDI GET NIC TYPE (call function pxenv_undi_get_nic_type()) */
+#define PXENV_UNDI_GET_NIC_TYPE 0x0012
+/** UNDI GET IFACE INFO (call function pxenv_undi_get_iface_info()) */
+#define PXENV_UNDI_GET_IFACE_INFO 0x0013
+/** UNDI ISR (call function pxenv_undi_isr()) */
+#define PXENV_UNDI_ISR 0x0014
+/** UNDI GET STATE (call function pxenv_undi_get_state()) */
+#define PXENV_UNDI_GET_STATE 0x0015
+/** STOP UNDI (call function pxenv_stop_undi()) */
+#define PXENV_STOP_UNDI 0x0015
+/** TFTP OPEN (call function pxenv_tftp_open()) */
+#define PXENV_TFTP_OPEN 0x0020
+/** TFTP CLOSE (call function pxenv_tftp_close()) */
+#define PXENV_TFTP_CLOSE 0x0021
+/** TFTP READ (call function pxenv_tftp_read()) */
+#define PXENV_TFTP_READ 0x0022
+/** TFTP/MTFTP READ FILE (call function pxenv_tftp_read_file()) */
+#define PXENV_TFTP_READ_FILE 0x0023
+/** TFTP GET FILE SIZE (call function pxenv_tftp_get_fsize()) */
+#define PXENV_TFTP_GET_FSIZE 0x0025
+/** UDP OPEN (call function pxenv_udp_open()) */
+#define PXENV_UDP_OPEN 0x0030
+/** UDP CLOSE (call function pxenv_udp_close()) */
+#define PXENV_UDP_CLOSE 0x0031
+/** UDP WRITE (call function pxenv_udp_write()) */
+#define PXENV_UDP_READ 0x0032
+/** UDP READ (call function pxenv_udp_read()) */
+#define PXENV_UDP_WRITE 0x0033
+/** UNLOAD BASE CODE STACK (call function pxenv_unload_stack()) */
+#define PXENV_UNLOAD_STACK 0x0070
+/** GET CACHED INFO (call function pxenv_get_cached_info()) */
+#define PXENV_GET_CACHED_INFO 0x0071
+/** RESTART TFTP (call function pxenv_restart_tftp()) */
+#define PXENV_RESTART_TFTP 0x0073
+/** START BASE (call function pxenv_start_base()) */
+#define PXENV_START_BASE 0x0075
+/** STOP BASE (call function pxenv_stop_base()) */
+#define PXENV_STOP_BASE 0x0076
+/** @} */
+
+/** @defgroup pxe_preboot PXE Preboot API
+ * @{
+ */
+extern PXENV_EXIT_t pxenv_unload_stack ( struct s_PXENV_UNLOAD_STACK
+ *unload_stack );
+extern PXENV_EXIT_t pxenv_get_cached_info ( struct s_PXENV_GET_CACHED_INFO
+ *get_cached_info );
+extern PXENV_EXIT_t pxenv_restart_tftp ( struct s_PXENV_TFTP_READ_FILE
+ *restart_tftp );
+extern PXENV_EXIT_t pxenv_start_undi ( struct s_PXENV_START_UNDI *start_undi );
+extern PXENV_EXIT_t pxenv_stop_undi ( struct s_PXENV_STOP_UNDI *stop_undi );
+extern PXENV_EXIT_t pxenv_start_base ( struct s_PXENV_START_BASE *start_base );
+extern PXENV_EXIT_t pxenv_stop_base ( struct s_PXENV_STOP_BASE *stop_base );
+/** @} */
+
+/** @defgroup pxe_tftp PXE TFTP API
+ * @{
+ */
+extern PXENV_EXIT_t pxenv_tftp_open ( struct s_PXENV_TFTP_OPEN *tftp_open );
+extern PXENV_EXIT_t pxenv_tftp_close ( struct s_PXENV_TFTP_CLOSE *tftp_close );
+extern PXENV_EXIT_t pxenv_tftp_read ( struct s_PXENV_TFTP_READ *tftp_read );
+extern PXENV_EXIT_t pxenv_tftp_read_file ( struct s_PXENV_TFTP_READ_FILE
+ *tftp_read_file );
+extern PXENV_EXIT_t pxenv_tftp_get_fsize ( struct s_PXENV_TFTP_GET_FSIZE
+ *get_fsize );
+/** @} */
+
+/** @defgroup pxe_udp PXE UDP API
+ * @{
+ */
+extern PXENV_EXIT_t pxenv_udp_open ( struct s_PXENV_UDP_OPEN *udp_open );
+extern PXENV_EXIT_t pxenv_udp_close ( struct s_PXENV_UDP_CLOSE *udp_close );
+extern PXENV_EXIT_t pxenv_udp_write ( struct s_PXENV_UDP_WRITE *udp_write );
+extern PXENV_EXIT_t pxenv_udp_read ( struct s_PXENV_UDP_READ *udp_read );
+/** @} */
+
+/** @defgroup pxe_undi PXE UNDI API
+ * @{
+ */
+extern PXENV_EXIT_t pxenv_undi_startup ( struct s_PXENV_UNDI_STARTUP
+ *undi_startup );
+extern PXENV_EXIT_t pxenv_undi_cleanup ( struct s_PXENV_UNDI_CLEANUP
+ *undi_cleanup );
+extern PXENV_EXIT_t pxenv_undi_initialize ( struct s_PXENV_UNDI_INITIALIZE
+ *undi_initialize );
+extern PXENV_EXIT_t pxenv_undi_reset_adapter ( struct s_PXENV_UNDI_RESET
+ *undi_reset_adapter );
+extern PXENV_EXIT_t pxenv_undi_shutdown ( struct s_PXENV_UNDI_SHUTDOWN
+ *undi_shutdown );
+extern PXENV_EXIT_t pxenv_undi_open ( struct s_PXENV_UNDI_OPEN *undi_open );
+extern PXENV_EXIT_t pxenv_undi_close ( struct s_PXENV_UNDI_CLOSE *undi_close );
+extern PXENV_EXIT_t pxenv_undi_transmit ( struct s_PXENV_UNDI_TRANSMIT
+ *undi_transmit );
+extern PXENV_EXIT_t pxenv_undi_set_mcast_address (
+ struct s_PXENV_UNDI_SET_MCAST_ADDRESS *undi_set_mcast_address );
+extern PXENV_EXIT_t pxenv_undi_set_station_address (
+ struct s_PXENV_UNDI_SET_STATION_ADDRESS *undi_set_station_address );
+extern PXENV_EXIT_t pxenv_undi_set_packet_filter (
+ struct s_PXENV_UNDI_SET_PACKET_FILTER *undi_set_packet_filter );
+extern PXENV_EXIT_t pxenv_undi_get_information (
+ struct s_PXENV_UNDI_GET_INFORMATION *undi_get_information );
+extern PXENV_EXIT_t pxenv_undi_get_statistics (
+ struct s_PXENV_UNDI_GET_STATISTICS *undi_get_statistics );
+extern PXENV_EXIT_t pxenv_undi_clear_statistics (
+ struct s_PXENV_UNDI_CLEAR_STATISTICS *undi_clear_statistics );
+extern PXENV_EXIT_t pxenv_undi_initiate_diags (
+ struct s_PXENV_UNDI_INITIATE_DIAGS *undi_initiate_diags );
+extern PXENV_EXIT_t pxenv_undi_force_interrupt (
+ struct s_PXENV_UNDI_FORCE_INTERRUPT *undi_force_interrupt );
+extern PXENV_EXIT_t pxenv_undi_get_mcast_address (
+ struct s_PXENV_UNDI_GET_MCAST_ADDRESS *undi_get_mcast_address );
+extern PXENV_EXIT_t pxenv_undi_get_nic_type (
+ struct s_PXENV_UNDI_GET_NIC_TYPE *undi_get_nic_type );
+extern PXENV_EXIT_t pxenv_undi_get_iface_info (
+ struct s_PXENV_UNDI_GET_IFACE_INFO *undi_get_iface_info );
+extern PXENV_EXIT_t pxenv_undi_get_state ( struct s_PXENV_UNDI_GET_STATE
+ *undi_get_state );
+extern PXENV_EXIT_t pxenv_undi_isr ( struct s_PXENV_UNDI_ISR *undi_isr );
+/** @} */
+
+/** @} */ /* addtogroup */
+
+#endif /* PXE_API_H */