Added all API codes and basic prototypes.
authorMichael Brown <mcb30@etherboot.org>
Sat, 21 May 2005 17:19:57 +0000 (17:19 +0000)
committerMichael Brown <mcb30@etherboot.org>
Sat, 21 May 2005 17:19:57 +0000 (17:19 +0000)
src/include/pxe_api.h [new file with mode: 0644]

diff --git a/src/include/pxe_api.h b/src/include/pxe_api.h
new file mode 100644 (file)
index 0000000..cfb5afd
--- /dev/null
@@ -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 */