Project

General

Profile

Statistics
| Revision:

root / lab4 / .minix-src / include / minix / i2c.h @ 13

History | View | Annotate | Download (875 Bytes)

1
#ifndef __MINIX_I2C_H
2
#define        __MINIX_I2C_H
3

    
4
/*
5
 * Minix I2C /dev Interface.
6
 *
7
 * Same as NetBSD/OpenBSD interface but with a flat struct (i.e. no pointers). 
8
 * The NetBSD/OpenBSD interface can still be used on i2c device files. The
9
 * ioctl(2) function will translate to/from the Minix version of the struct.
10
 */
11

    
12
#include <sys/types.h>
13
#include <dev/i2c/i2c_io.h>
14
#include <minix/ioctl.h>
15

    
16
typedef struct minix_i2c_ioctl_exec {
17
        i2c_op_t iie_op;                /* operation to perform */
18
        i2c_addr_t iie_addr;                /* address of device */
19
        uint8_t iie_cmd[I2C_EXEC_MAX_CMDLEN];        /* pointer to command */
20
        size_t iie_cmdlen;                /* length of command */
21
        uint8_t iie_buf[I2C_EXEC_MAX_BUFLEN];        /* pointer to data buffer */
22
        size_t iie_buflen;                /* length of data buffer */
23
} minix_i2c_ioctl_exec_t;
24

    
25
#define        MINIX_I2C_IOCTL_EXEC                 _IOWR('I', 1, minix_i2c_ioctl_exec_t)
26

    
27
#endif /* __MINIX_I2C_H */