summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhpa <hpa>2002-06-12 06:16:58 +0000
committerhpa <hpa>2002-06-12 06:16:58 +0000
commitcc055d5ee74a3ea85744a634936957d67dd2d783 (patch)
treeb4dc77d19984b527de92722f1e35bfe96c7eda13
parent62405f3c19985cec219984cf8722af083dc7dd78 (diff)
downloadsyslinux-cc055d5ee74a3ea85744a634936957d67dd2d783.tar.gz
Add an API call to invoke the PXE stack directly.
-rw-r--r--comboot.doc10
-rw-r--r--comboot.inc12
2 files changed, 22 insertions, 0 deletions
diff --git a/comboot.doc b/comboot.doc
index 97bb89f4..50b9720b 100644
--- a/comboot.doc
+++ b/comboot.doc
@@ -298,3 +298,13 @@ AX=0008h Close file
will probably crash the system.
+AX=0009h Call PXE Stack [PXELINUX ONLY]
+
+ Input: AX 0009h
+ BX PXE function number
+ ES:DI PXE data buffer
+ Output: AX PXE return status code
+
+ Invoke an arbitrary PXE stack function. On SYSLINUX/ISOLINUX,
+ this function returns with an error (CF=1) and no action is
+ taken.
diff --git a/comboot.inc b/comboot.inc
index e8ec32c3..28049274 100644
--- a/comboot.inc
+++ b/comboot.inc
@@ -357,6 +357,17 @@ comapi_close:
clc
ret
+;
+; INT 22h AX=0009h Call PXE stack
+;
+%if IS_PXELINUX
+ call far [PXENVEntry]
+ clc
+ ret
+%else
+ stc ; Function not available
+ ret
+%endif
align 2, db 0
int22_table:
@@ -369,4 +380,5 @@ int22_table:
dw comapi_open ; 0006 open file
dw comapi_read ; 0007 read file
dw comapi_close ; 0008 close file
+ dw comapi_pxecall ; 0009 call PXE stack
int22_count equ ($-int22_table)/2