/*
 * bcmolt_dev_ctrl_ioctl.h
 *
 *  Created on: 7 ???? 2015
 *      Author: milya
 */

#ifndef HOST_DEV_CTRL_LINUX_BCMOLT_DEV_CTRL_IOCTL_H_
#define HOST_DEV_CTRL_LINUX_BCMOLT_DEV_CTRL_IOCTL_H_


#include <linux/ioctl.h>

typedef struct
{
    uint32_t *dumpptr;
    int32_t start_index;
    int32_t howmany;
    uint8_t device;
    uint32_t event; /* For MAPLE_DEV_CTRL_IOCTL_OP_HOST_EVENT_WRITE only */
} dev_ctrl_ioctl_param;

#define MAPLE_DEV_CTRL_IOCTL_MAGIC 'J'

#define MAPLE_DEV_CTRL_IOCTL_OP_PCI_STAT    _IOW(MAPLE_DEV_CTRL_IOCTL_MAGIC, 1, dev_ctrl_ioctl_param)
#define MAPLE_DEV_CTRL_IOCTL_OP_PCI_DUMP_TX _IOW(MAPLE_DEV_CTRL_IOCTL_MAGIC, 2, dev_ctrl_ioctl_param)
#define MAPLE_DEV_CTRL_IOCTL_OP_PCI_DUMP_RX _IOWR(MAPLE_DEV_CTRL_IOCTL_MAGIC, 3, dev_ctrl_ioctl_param)
#define MAPLE_DEV_CTRL_IOCTL_OP_HOST_EVENT_WRITE _IOW(MAPLE_DEV_CTRL_IOCTL_MAGIC, 4, dev_ctrl_ioctl_param)

#endif /* HOST_DEV_CTRL_LINUX_BCMOLT_DEV_CTRL_IOCTL_H_ */
