summaryrefslogtreecommitdiffstats
path: root/src/include
diff options
context:
space:
mode:
authorH. Peter Anvin2008-03-26 23:10:56 +0100
committerH. Peter Anvin2008-03-26 23:10:56 +0100
commitd62e89d776095767d075a75ceffc884ed267f685 (patch)
tree83e12ddb9e620e53a6293fe6067eefbd092bcd50 /src/include
parent[DHCP] Save precious packet-aligned memory by copying DHCP responses (diff)
downloadipxe-d62e89d776095767d075a75ceffc884ed267f685.tar.gz
ipxe-d62e89d776095767d075a75ceffc884ed267f685.tar.xz
ipxe-d62e89d776095767d075a75ceffc884ed267f685.zip
[PXEXT] Add FILE_API_CHECK API function
Add FILE_API_CHECK to the PXEXT API so the NBP can query the availability and status of the API.
Diffstat (limited to 'src/include')
-rw-r--r--src/include/pxe.h1
-rw-r--r--src/include/pxe_api.h26
2 files changed, 27 insertions, 0 deletions
diff --git a/src/include/pxe.h b/src/include/pxe.h
index 8b3ca14c..6d332ac7 100644
--- a/src/include/pxe.h
+++ b/src/include/pxe.h
@@ -64,6 +64,7 @@ union u_PXENV_ANY {
struct s_PXENV_FILE_READ file_read;
struct s_PXENV_GET_FILE_SIZE get_file_size;
struct s_PXENV_FILE_EXEC file_exec;
+ struct s_PXENV_FILE_API_CHECK file_api_check;
};
typedef union u_PXENV_ANY PXENV_ANY_t;
diff --git a/src/include/pxe_api.h b/src/include/pxe_api.h
index 53708ed4..b3d4bca8 100644
--- a/src/include/pxe_api.h
+++ b/src/include/pxe_api.h
@@ -1706,6 +1706,32 @@ extern PXENV_EXIT_t pxenv_file_exec ( struct s_PXENV_FILE_EXEC *file_exec );
/** @} */ /* pxenv_file_exec */
+/** @defgroup pxenv_file_api_check PXENV_FILE_API_CHECK
+ *
+ * FILE API CHECK
+ *
+ * @{
+ */
+
+/** PXE API function code for pxenv_file_api_check() */
+#define PXENV_FILE_API_CHECK 0x00e6
+
+/** Parameter block for pxenv_file_api_check() */
+struct s_PXENV_FILE_API_CHECK {
+ PXENV_STATUS_t Status; /**< PXE status code */
+ UINT16_t Size; /**< Size of structure */
+ UINT32_t Magic; /**< Magic number */
+ UINT32_t Provider; /**< Implementation identifier */
+ UINT32_t APIMask; /**< Supported API functions */
+ UINT32_t Flags; /**< Reserved for the future */
+} PACKED;
+
+typedef struct s_PXENV_FILE_API_CHECK PXENV_FILE_API_CHECK_t;
+
+extern PXENV_EXIT_t pxenv_file_api_check ( struct s_PXENV_FILE_API_CHECK *file_api_check );
+
+/** @} */ /* pxenv_file_api_check */
+
/** @} */ /* pxe_file_api */
/** @defgroup pxe_loader_api PXE Loader API