From 29733a153ddadee4e233dfc731f346755ea0e27a Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Sat, 21 May 2005 17:19:57 +0000 Subject: [PATCH] Added all API codes and basic prototypes. --- src/include/pxe_api.h | 181 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 181 insertions(+) create mode 100644 src/include/pxe_api.h diff --git a/src/include/pxe_api.h b/src/include/pxe_api.h new file mode 100644 index 00000000..cfb5afd3 --- /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 */