This repository has been archived on 2024-12-16. You can view files and clone it, but cannot push or open issues or pull requests.
CodeBlocksPortable/WATCOM/h/nt/ddk/smbus.h

138 lines
4.4 KiB
C
Raw Normal View History

/*
* smbus.h SMBus functions
*
* =========================================================================
*
* Open Watcom Project
*
* Copyright (c) 2004-2010 The Open Watcom Contributors. All Rights Reserved.
*
* This file is automatically generated. Do not edit directly.
*
* =========================================================================
*/
#ifndef _ENABLE_AUTODEPEND
#pragma read_only_file;
#endif
#ifdef __cplusplus
extern "C" {
#endif
/* Macro to specify SMBus functions */
#if (NTDDI_VERSION >= 0x05010000) && (NTDDI_VERSION < 0x06000000)
#define SMBCLASSAPI DECLSPEC_IMPORT
#endif
/* SMBus maximum data size */
#if (NTDDI_VERSION >= 0x05010000) && (NTDDI_VERSION < 0x06000000)
#define SMB_MAX_DATA_SIZE 32
#endif
/* SMBus protocols */
#if (NTDDI_VERSION >= 0x05010000) && (NTDDI_VERSION < 0x06000000)
#define SMB_WRITE_QUICK 0x00
#define SMB_READ_QUICK 0x01
#define SMB_SEND_BYTE 0x02
#define SMB_RECEIVE_BYTE 0x03
#define SMB_WRITE_BYTE 0x04
#define SMB_READ_BYTE 0x05
#define SMB_WRITE_WORD 0x06
#define SMB_READ_WORD 0x07
#define SMB_WRITE_BLOCK 0x08
#define SMB_READ_BLOCK 0x09
#define SMB_PROCESS_CALL 0x0A
#define SMB_BLOCK_PROCESS_CALL 0x0B
#define SMB_MAXIMUM_PROTOCOL 0x0B
#endif
/* SMBus status codes */
#if (NTDDI_VERSION >= 0x05010000) && (NTDDI_VERSION < 0x06000000)
#define SMB_STATUS_OK 0x00
#define SMB_UNKNOWN_FAILURE 0x07
#define SMB_ADDRESS_NOT_ACKNOWLEDGED 0x10
#define SMB_DEVICE_ERROR 0x11
#define SMB_COMMAND_ACCESS_DENIED 0x12
#define SMB_UNKNOWN_ERROR 0x13
#define SMB_DEVICE_ACCESS_DENIED 0x17
#define SMB_TIMEOUT 0x18
#define SMB_UNSUPPORTED_PROTOCOL 0x19
#define SMB_BUS_BUSY 0x1A
#endif
/* SMBus device I/O control codes */
#if (NTDDI_VERSION >= 0x05010000) && (NTDDI_VERSION < 0x06000000)
#define SMB_BUS_REQUEST \
CTL_CODE( FILE_DEVICE_UNKNOWN, 0, METHOD_NEITHER, FILE_ANY_ACCESS )
#define SMB_REGISTER_ALARM_NOTIFY \
CTL_CODE( FILE_DEVICE_UNKNOWN, 1, METHOD_NEITHER, FILE_ANY_ACCESS )
#define SMB_DEREGISTER_ALARM_NOTIFY \
CTL_CODE( FILE_DEVICE_UNKNOWN, 2, METHOD_NEITHER, FILE_ANY_ACCESS )
#endif
/* SMBus class version numbers */
#if (NTDDI_VERSION >= 0x05010000) && (NTDDI_VERSION < 0x06000000)
#define SMB_CLASS_MAJOR_VERSION 0x0001
#define SMB_CLASS_MINOR_VERSION 0x0000
#endif
/* SMBus request */
#if (NTDDI_VERSION >= 0x05010000) && (NTDDI_VERSION < 0x06000000)
typedef struct {
UCHAR Status;
UCHAR Protocol;
UCHAR Address;
UCHAR Command;
UCHAR BlockLength;
UCHAR Data[SMB_MAX_DATA_SIZE];
} SMB_REQUEST;
typedef SMB_REQUEST *PSMB_REQUEST;
#endif
/* SMBus alaram notification callback */
#if (NTDDI_VERSION >= 0x05010000) && (NTDDI_VERSION < 0x06000000)
typedef VOID (NTAPI *SMB_ALARM_NOTIFY)( PVOID, UCHAR, USHORT );
typedef NTSTATUS (NTAPI *SMB_RESET_DEVICE)( struct _SMB_CLASS *, PVOID );
typedef VOID (NTAPI *SMB_START_IO)( struct _SMB_CLASS *, PVOID );
typedef NTSTATUS (NTAPI *SMB_STOP_DEVICE)( struct _SMB_CLASS *, PVOID );
#endif
/* SMBus alarm registration parameters */
#if (NTDDI_VERSION >= 0x05010000) && (NTDDI_VERSION < 0x06000000)
typedef struct {
UCHAR MinAddress;
UCHAR MaxAddress;
SMB_ALARM_NOTIFY NotifyFunction;
PVOID NotifyContext;
} SMB_REGISTER_ALARM;
typedef SMB_REGISTER_ALARM *PSMB_REGISTER_ALARM;
#endif
/* SMBus class */
#if (NTDDI_VERSION >= 0x05010000) && (NTDDI_VERSION < 0x06000000)
typedef struct _SMB_CLASS {
USHORT MajorVersion;
USHORT MinorVersion;
PVOID Miniport;
PDEVICE_OBJECT DeviceObject;
PDEVICE_OBJECT PDO;
PDEVICE_OBJECT LowerDeviceObject;
PIRP CurrentIrp;
PSMB_REQUEST CurrentSmb;
SMB_RESET_DEVICE ResetDevice;
SMB_START_IO StartIo;
SMB_STOP_DEVICE StopDevice;
} SMB_CLASS;
typedef SMB_CLASS *PSMB_CLASS;
#endif
/* SMBus miniport initialization callback */
#if (NTDDI_VERSION >= 0x05010000) && (NTDDI_VERSION < 0x06000000)
typedef NTSTATUS (NTAPI *PSMB_INITIALIZE_MINIPORT)( PSMB_CLASS, PVOID, PVOID );
#endif
#ifdef __cplusplus
} /* extern "C" */
#endif