summaryrefslogtreecommitdiffstats
path: root/src/arch/i386/include
diff options
context:
space:
mode:
authorMichael Brown2012-07-11 19:16:13 +0200
committerMichael Brown2012-07-11 19:16:13 +0200
commita814eff38ea0e300b56a899138505abf5a8f9dff (patch)
treeaf0e39a6a9d04795a00f047b407d5296383a91c5 /src/arch/i386/include
parent[pxeprefix] Place temporary stack after iPXE binary (diff)
downloadipxe-a814eff38ea0e300b56a899138505abf5a8f9dff.tar.gz
ipxe-a814eff38ea0e300b56a899138505abf5a8f9dff.tar.xz
ipxe-a814eff38ea0e300b56a899138505abf5a8f9dff.zip
[pxe] Add PXENV_FILE_CMDLINE API call
Allow a PXE NBP to obtain its command line (if any) via the new PXE API call PXENV_FILE_CMDLINE. Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/arch/i386/include')
-rw-r--r--src/arch/i386/include/pxe.h1
-rw-r--r--src/arch/i386/include/pxe_api.h21
2 files changed, 22 insertions, 0 deletions
diff --git a/src/arch/i386/include/pxe.h b/src/arch/i386/include/pxe.h
index a6bb65c00..0206f683a 100644
--- a/src/arch/i386/include/pxe.h
+++ b/src/arch/i386/include/pxe.h
@@ -188,6 +188,7 @@ struct pcir_header {
( ( 'P' << 0 ) + ( 'C' << 8 ) + ( 'I' << 16 ) + ( 'R' << 24 ) )
extern struct net_device *pxe_netdev;
+extern const char *pxe_cmdline;
extern void pxe_set_netdev ( struct net_device *netdev );
extern PXENV_EXIT_t pxenv_tftp_read_file ( struct s_PXENV_TFTP_READ_FILE
diff --git a/src/arch/i386/include/pxe_api.h b/src/arch/i386/include/pxe_api.h
index d01c262d2..fd179ddbf 100644
--- a/src/arch/i386/include/pxe_api.h
+++ b/src/arch/i386/include/pxe_api.h
@@ -1690,6 +1690,27 @@ typedef struct s_PXENV_FILE_EXIT_HOOK PXENV_FILE_EXIT_HOOK_t;
/** @} */ /* pxenv_file_exit_hook */
+/** @defgroup pxenv_file_cmdline PXENV_FILE_CMDLINE
+ *
+ * FILE CMDLINE
+ *
+ * @{
+ */
+
+/** PXE API function code for pxenv_file_cmdline() */
+#define PXENV_FILE_CMDLINE 0x00e8
+
+/** Parameter block for pxenv_file_cmdline() */
+struct s_PXENV_FILE_CMDLINE {
+ PXENV_STATUS_t Status; /**< PXE status code */
+ UINT16_t BufferSize; /**< Data buffer size */
+ SEGOFF16_t Buffer; /**< Data buffer */
+} __attribute__ (( packed ));
+
+typedef struct s_PXENV_FILE_CMDLINE PXENV_FILE_CMDLINE_t;
+
+/** @} */ /* pxe_file_cmdline */
+
/** @} */ /* pxe_file_api */
/** @defgroup pxe_loader_api PXE Loader API