PXENV_FILE_API_CHECK
[PXE FILE API]

FILE API CHECK. More...


Data Structures

struct  s_PXENV_FILE_API_CHECK
 Parameter block for pxenv_file_api_check(). More...

Defines

#define PXENV_FILE_API_CHECK   0x00e6
 PXE API function code for pxenv_file_api_check().

Typedefs

typedef struct
s_PXENV_FILE_API_CHECK 
PXENV_FILE_API_CHECK_t

Functions

PXENV_EXIT_t pxenv_file_api_check (struct s_PXENV_FILE_API_CHECK *file_api_check)
 FILE API CHECK.


Detailed Description

FILE API CHECK.

Define Documentation

#define PXENV_FILE_API_CHECK   0x00e6

PXE API function code for pxenv_file_api_check().

Definition at line 1763 of file pxe_api.h.

Referenced by pxe_api_call().


Typedef Documentation

Definition at line 1775 of file pxe_api.h.


Function Documentation

PXENV_EXIT_t pxenv_file_api_check ( struct s_PXENV_FILE_API_CHECK file_api_check  ) 

FILE API CHECK.

Parameters:
file_exec Pointer to a struct s_PXENV_FILE_API_CHECK
s_PXENV_FILE_API_CHECK::Magic Inbound magic number (0x91d447b2)
Return values:
PXENV_EXIT_SUCCESS Command was executed successfully
PXENV_EXIT_FAILURE Command was not executed successfully
s_PXENV_FILE_API_CHECK::Status PXE status code
s_PXENV_FILE_API_CHECK::Magic Outbound magic number (0xe9c17b20)
s_PXENV_FILE_API_CHECK::Provider "gPXE" (0x45585067)
s_PXENV_FILE_API_CHECK::APIMask API function bitmask
s_PXENV_FILE_API_CHECK::Flags Reserved

Definition at line 253 of file pxe_file.c.

References s_PXENV_FILE_API_CHECK::APIMask, DBG, s_PXENV_FILE_API_CHECK::Flags, s_PXENV_FILE_API_CHECK::Magic, s_PXENV_FILE_API_CHECK::Provider, pxe_exit_hook, PXENV_EXIT_FAILURE, PXENV_EXIT_SUCCESS, PXENV_STATUS_BAD_FUNC, PXENV_STATUS_OUT_OF_RESOURCES, PXENV_STATUS_SUCCESS, s_PXENV_FILE_API_CHECK::Size, and s_PXENV_FILE_API_CHECK::Status.

Referenced by pxe_api_call().

00253                                                                                     {
00254         DBG ( "PXENV_FILE_API_CHECK" );
00255 
00256         if ( file_api_check->Magic != 0x91d447b2 ) {
00257                 file_api_check->Status = PXENV_STATUS_BAD_FUNC;
00258                 return PXENV_EXIT_FAILURE;
00259         } else if ( file_api_check->Size <
00260                     sizeof(struct s_PXENV_FILE_API_CHECK) ) {
00261                 file_api_check->Status = PXENV_STATUS_OUT_OF_RESOURCES;
00262                 return PXENV_EXIT_FAILURE;
00263         } else {
00264                 file_api_check->Status   = PXENV_STATUS_SUCCESS;
00265                 file_api_check->Size     = sizeof(struct s_PXENV_FILE_API_CHECK);
00266                 file_api_check->Magic    = 0xe9c17b20;
00267                 file_api_check->Provider = 0x45585067; /* "gPXE" */
00268                 file_api_check->APIMask  = 0x0000007f; /* Functions e0-e6 */
00269                 /* Check to see if we have a PXE exit hook */
00270                 if ( pxe_exit_hook.segment | pxe_exit_hook.offset )
00271                         /* Function e7, also */
00272                         file_api_check->APIMask |= 0x00000080;
00273                 file_api_check->Flags    = 0;          /* None defined */
00274                 return PXENV_EXIT_SUCCESS;
00275         }
00276 }


Generated on Tue Apr 6 20:01:59 2010 for gPXE by  doxygen 1.5.7.1