david/ipxe
david
/
ipxe
Archived
1
0
Fork 0

Added all API codes and basic prototypes.

This commit is contained in:
Michael Brown 2005-05-21 17:19:57 +00:00
parent 8355ce8a32
commit 29733a153d
1 changed files with 181 additions and 0 deletions

181
src/include/pxe_api.h Normal file
View File

@ -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 */