xf86i2c.h revision c0dfd29d0951fba6d2505a1a5fd79b2c1c32eccd
/*
* Copyright (C) 1998 Itai Nahshon, Michael Schimek
*/
#ifndef _XF86I2C_H
#define _XF86I2C_H
#include "regionstr.h"
typedef unsigned char I2CByte;
typedef unsigned short I2CSlaveAddr;
typedef struct _I2CBusRec *I2CBusPtr;
typedef struct _I2CDevRec *I2CDevPtr;
/* I2C masters have to register themselves */
typedef struct _I2CBusRec {
char * BusName;
int scrnIndex;
/* Look at the generic routines to see how these functions should behave. */
int HoldTime; /* 1 / bus clock frequency, 5 or 2 usec */
int BitTimeout; /* usec */
int ByteTimeout; /* usec */
int AcknTimeout; /* usec */
int StartTimeout; /* usec */
int RiseFallTime; /* usec */
} I2CBusRec;
I2CBusPtr xf86CreateI2CBusRec(void);
/* I2C slave devices */
typedef struct _I2CDevRec {
char * DevName;
int BitTimeout; /* usec */
int ByteTimeout; /* usec */
int AcknTimeout; /* usec */
int StartTimeout; /* usec */
} I2CDevRec;
I2CDevPtr xf86CreateI2CDevRec(void);
/* See descriptions of these functions in xf86i2c.c */
#endif /*_XF86I2C_H */