00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00014 #ifndef __i2ccom__
00015 #define __i2ccom__
00016
00017
00020 typedef unsigned int i2c_dev_t;
00021
00022
00023
00026 typedef struct
00027 {
00029 int fd;
00031 i2c_dev_t dev;
00032 }
00033 i2c_t;
00034
00035
00036
00037
00038
00039
00040 extern int i2c_open( i2c_t *i2c , const char * device );
00041
00042 extern void i2c_close( i2c_t *i2c );
00043
00044 extern int i2c_llread( i2c_t *i2c ,
00045 i2c_dev_t dev ,
00046 char * buf , unsigned int len );
00047
00048 extern int i2c_llwrite( i2c_t *i2c ,
00049 i2c_dev_t dev ,
00050 const char * buf , unsigned int len );
00051
00052 extern int i2c_lltransfer( i2c_t * i2c ,
00053 i2c_dev_t dev ,
00054 const char * write_buf ,
00055 unsigned int write_len ,
00056 char * read_buf ,
00057 unsigned int read_len );
00058
00059 extern int i2c_exists( i2c_t * i2c , i2c_dev_t dev );
00060
00061 extern int i2c_scan( i2c_t * i2c ,
00062 int (*callback)( i2c_t * i2c ,
00063 i2c_dev_t dev ,
00064 void * context ) ,
00065 void * context);
00066
00067 #endif