You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdeutils/klaptopdaemon/smapibios.h

94 lines
3.1 KiB

/*********************************************************************
*
* Filename: smapibios.h
* Description: header file for the IBM SMAPI BIOS
* Author: Thomas Hood
* Created: 14 July 1999
*
* Please report bugs to the author ASAP.
*
* Copyright (c) 1999 J.D. Thomas Hood, All rights reserved
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of
* the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* To receive a copy of the GNU General Public License, please write
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301 USA
*
********************************************************************/
#ifndef __SMAPIBIOS_H__
#define __SMAPIBIOS_H__
/* Is included by smapi.h */
/*** SMAPI BIOS error codes ***/
#define ERR_SMB_MIN ((byte)0x01)
#define ERR_SMB_FUNC_NOT_AVAIL ((byte)0x53)
#define ERR_SMB_FUNC_NOT_SUPPORTED ((byte)0x86)
#define ERR_SMB_SYSTEM_ERROR ((byte)0x90)
#define ERR_SMB_SYSTEM_INVALID ((byte)0x91)
#define ERR_SMB_SYSTEM_BUSY ((byte)0x92)
#define ERR_SMB_DEVICE_ERROR ((byte)0xA0)
#define ERR_SMB_DEVICE_BUSY ((byte)0xA1)
#define ERR_SMB_DEVICE_NOT_ATTACHED ((byte)0xA2)
#define ERR_SMB_DEVICE_DISABLED ((byte)0xA3)
#define ERR_SMB_PARM_INVALID ((byte)0x81)
#define ERR_SMB_PARM_OUT_OF_RANGE ((byte)0xA4)
#define ERR_SMB_PARM_NOT_ACCEPTED ((byte)0xA5)
#define ERR_SMB_MAX ((byte)0xFF)
/* The following structure definitions come from the ThinkPad 560Z Technical Reference */
/*** SMAPI BIOS header ***/
typedef struct _smb_header {
byte bSig[4]; /* signature */
byte bVerMajor; /* major version */
byte bVerMinor; /* minor version */
byte bLen; /* length */
byte bChksum; /* checksum */
word wInfo; /* information word */
word wRsv1; /* reserve 1 */
word wR_offset; /* real mode offset */
word wR_segment; /* real mode segment */
word wRsv2; /* reserve 2 */
word wP16_offset; /* 16-bit protect mode offset */
dword dwP16_base; /* 16-bit protect mode base address */
dword dwP32_offset; /* 32-bit protect mode offset */
dword dwP32_base; /* 32-bit protect mode base address */
} smb_header_t;
/*** SMAPI BIOS call input parameters ***/
typedef struct _smb_inparm {
byte bFunc;
byte bSubFunc;
word wParm1;
word wParm2;
word wParm3;
dword dwParm4;
dword dwParm5;
} smb_inparm_t;
/*** SMAPI BIOS call output parameters ***/
typedef struct _smb_outparm {
byte bRc;
byte bSubRc;
word wParm1;
word wParm2;
word wParm3;
dword dwParm4;
dword dwParm5;
} smb_outparm_t;
#endif