diff options
Diffstat (limited to 'com32/lib/syslinux/pxe_get_nic.c')
-rw-r--r-- | com32/lib/syslinux/pxe_get_nic.c | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/com32/lib/syslinux/pxe_get_nic.c b/com32/lib/syslinux/pxe_get_nic.c index b301a75a..6e256f92 100644 --- a/com32/lib/syslinux/pxe_get_nic.c +++ b/com32/lib/syslinux/pxe_get_nic.c @@ -42,25 +42,19 @@ or -1 on invocation failure */ int pxe_get_nic_type(t_PXENV_UNDI_GET_NIC_TYPE *gnt) { - com32sys_t regs; t_PXENV_UNDI_GET_NIC_TYPE *lgnt; + int err; lgnt = lzalloc(sizeof *lgnt); if (!lgnt) return -1; - memset(®s, 0, sizeof regs); - regs.eax.w[0] = 0x0009; - regs.ebx.w[0] = PXENV_UNDI_GET_NIC_TYPE; - regs.es = SEG(lgnt); - /* regs.edi.w[0] = OFFS(lgnt); */ - - __intcall(0x22, ®s, ®s); + err = pxe_call(PXENV_UNDI_GET_NIC_TYPE, lgnt); memcpy(gnt, lgnt, sizeof(t_PXENV_UNDI_GET_NIC_TYPE)); lfree(lgnt); - if (regs.eflags.l & EFLAGS_CF) + if (err) return -1; return gnt->Status; |