Home | History | Annotate | Download | only in linux
      1 /* toshiba.h -- Linux driver for accessing the SMM on Toshiba laptops
      2  *
      3  * Copyright (c) 1996-2000  Jonathan A. Buzzard (jonathan (at) buzzard.org.uk)
      4  *
      5  * Thanks to Juergen Heinzl <juergen (at) monocerus.demon.co.uk> for the pointers
      6  * on making sure the structure is aligned and packed.
      7  *
      8  * This program is free software; you can redistribute it and/or modify it
      9  * under the terms of the GNU General Public License as published by the
     10  * Free Software Foundation; either version 2, or (at your option) any
     11  * later version.
     12  *
     13  * This program is distributed in the hope that it will be useful, but
     14  * WITHOUT ANY WARRANTY; without even the implied warranty of
     15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
     16  * General Public License for more details.
     17  *
     18  */
     19 
     20 #ifndef _LINUX_TOSHIBA_H
     21 #define _LINUX_TOSHIBA_H
     22 
     23 #define TOSH_PROC "/proc/toshiba"
     24 #define TOSH_DEVICE "/dev/toshiba"
     25 #define TOSH_SMM _IOWR('t', 0x90, int)	/* broken: meant 24 bytes */
     26 
     27 typedef struct {
     28 	unsigned int eax;
     29 	unsigned int ebx __attribute__ ((packed));
     30 	unsigned int ecx __attribute__ ((packed));
     31 	unsigned int edx __attribute__ ((packed));
     32 	unsigned int esi __attribute__ ((packed));
     33 	unsigned int edi __attribute__ ((packed));
     34 } SMMRegisters;
     35 
     36 int tosh_smm(SMMRegisters *regs);
     37 
     38 #endif
     39