#include /* XXX trim includes */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include static struct bios32_SDentry ACERbios; int find_acer_bios() { ACERbios.ident.id = 0x30552142; /* B!U0 */ if (!bios32_SDlookup(&ACERbios)) return(ENODEV); return(0); } /* wbutton_fct_2 * * turn on installed WLAN hardware together with the corresponding LED * * val: 0 turns off the LED * 1 turns the LED to orange * * return value: ? */ static int wbutton_fct_2(int val) { struct bios_regs regs; regs.eax = 0x9610; regs.ebx = ((val & 0xff) << 8) | 0x35; bios32(®s, ACERbios.ventry, GSEL(GCODE_SEL, SEL_KPL)); return (regs.eax & 0xffff); }