master/ioctl.h
changeset 1335 09c6fce1ae45
parent 1326 ef907b0b5125
child 1336 e27b37e80a99
equal deleted inserted replaced
1334:da3d22a27500 1335:09c6fce1ae45
    66 #define EC_IOCTL_SLAVE_SDO_DOWNLOAD   EC_IOWR(0x0d, ec_ioctl_slave_sdo_download_t)
    66 #define EC_IOCTL_SLAVE_SDO_DOWNLOAD   EC_IOWR(0x0d, ec_ioctl_slave_sdo_download_t)
    67 #define EC_IOCTL_SLAVE_SII_READ       EC_IOWR(0x0e, ec_ioctl_slave_sii_t)
    67 #define EC_IOCTL_SLAVE_SII_READ       EC_IOWR(0x0e, ec_ioctl_slave_sii_t)
    68 #define EC_IOCTL_SLAVE_SII_WRITE       EC_IOW(0x0f, ec_ioctl_slave_sii_t)
    68 #define EC_IOCTL_SLAVE_SII_WRITE       EC_IOW(0x0f, ec_ioctl_slave_sii_t)
    69 #define EC_IOCTL_SLAVE_PHY_READ       EC_IOWR(0x10, ec_ioctl_slave_phy_t)
    69 #define EC_IOCTL_SLAVE_PHY_READ       EC_IOWR(0x10, ec_ioctl_slave_phy_t)
    70 #define EC_IOCTL_SLAVE_PHY_WRITE       EC_IOW(0x11, ec_ioctl_slave_phy_t)
    70 #define EC_IOCTL_SLAVE_PHY_WRITE       EC_IOW(0x11, ec_ioctl_slave_phy_t)
    71 #define EC_IOCTL_CONFIG               EC_IOWR(0x12, ec_ioctl_config_t)
    71 #define EC_IOCTL_SLAVE_FOE_READ       EC_IOWR(0x12, ec_ioctl_slave_foe_t)
    72 #define EC_IOCTL_CONFIG_PDO           EC_IOWR(0x13, ec_ioctl_config_pdo_t)
    72 #define EC_IOCTL_SLAVE_FOE_WRITE       EC_IOW(0x13, ec_ioctl_slave_foe_t)
    73 #define EC_IOCTL_CONFIG_PDO_ENTRY     EC_IOWR(0x14, ec_ioctl_config_pdo_entry_t)
    73 #define EC_IOCTL_CONFIG               EC_IOWR(0x14, ec_ioctl_config_t)
    74 #define EC_IOCTL_CONFIG_SDO           EC_IOWR(0x15, ec_ioctl_config_sdo_t)
    74 #define EC_IOCTL_CONFIG_PDO           EC_IOWR(0x15, ec_ioctl_config_pdo_t)
       
    75 #define EC_IOCTL_CONFIG_PDO_ENTRY     EC_IOWR(0x16, ec_ioctl_config_pdo_entry_t)
       
    76 #define EC_IOCTL_CONFIG_SDO           EC_IOWR(0x17, ec_ioctl_config_sdo_t)
    75 
    77 
    76 // Application interface
    78 // Application interface
    77 #define EC_IOCTL_REQUEST                EC_IO(0x16)
    79 #define EC_IOCTL_REQUEST                EC_IO(0x18)
    78 #define EC_IOCTL_CREATE_DOMAIN          EC_IO(0x17)
    80 #define EC_IOCTL_CREATE_DOMAIN          EC_IO(0x19)
    79 #define EC_IOCTL_CREATE_SLAVE_CONFIG  EC_IOWR(0x18, ec_ioctl_config_t)
    81 #define EC_IOCTL_CREATE_SLAVE_CONFIG  EC_IOWR(0x1a, ec_ioctl_config_t)
    80 #define EC_IOCTL_ACTIVATE              EC_IOR(0x19, size_t)
    82 #define EC_IOCTL_ACTIVATE              EC_IOR(0x1b, size_t)
    81 #define EC_IOCTL_SEND                   EC_IO(0x1a)
    83 #define EC_IOCTL_SEND                   EC_IO(0x1c)
    82 #define EC_IOCTL_RECEIVE                EC_IO(0x1b)
    84 #define EC_IOCTL_RECEIVE                EC_IO(0x1d)
    83 #define EC_IOCTL_MASTER_STATE          EC_IOR(0x1c, ec_master_state_t)
    85 #define EC_IOCTL_MASTER_STATE          EC_IOR(0x1e, ec_master_state_t)
    84 #define EC_IOCTL_SC_SYNC               EC_IOW(0x1d, ec_ioctl_config_t)
    86 #define EC_IOCTL_SC_SYNC               EC_IOW(0x1f, ec_ioctl_config_t)
    85 #define EC_IOCTL_SC_ADD_PDO            EC_IOW(0x1e, ec_ioctl_config_pdo_t)
    87 #define EC_IOCTL_SC_ADD_PDO            EC_IOW(0x20, ec_ioctl_config_pdo_t)
    86 #define EC_IOCTL_SC_CLEAR_PDOS         EC_IOW(0x1f, ec_ioctl_config_pdo_t)
    88 #define EC_IOCTL_SC_CLEAR_PDOS         EC_IOW(0x21, ec_ioctl_config_pdo_t)
    87 #define EC_IOCTL_SC_ADD_ENTRY          EC_IOW(0x20, ec_ioctl_add_pdo_entry_t)
    89 #define EC_IOCTL_SC_ADD_ENTRY          EC_IOW(0x22, ec_ioctl_add_pdo_entry_t)
    88 #define EC_IOCTL_SC_CLEAR_ENTRIES      EC_IOW(0x21, ec_ioctl_config_pdo_t)
    90 #define EC_IOCTL_SC_CLEAR_ENTRIES      EC_IOW(0x23, ec_ioctl_config_pdo_t)
    89 #define EC_IOCTL_SC_REG_PDO_ENTRY     EC_IOWR(0x22, ec_ioctl_reg_pdo_entry_t)
    91 #define EC_IOCTL_SC_REG_PDO_ENTRY     EC_IOWR(0x24, ec_ioctl_reg_pdo_entry_t)
    90 #define EC_IOCTL_SC_SDO                EC_IOW(0x23, ec_ioctl_sc_sdo_t)
    92 #define EC_IOCTL_SC_SDO                EC_IOW(0x25, ec_ioctl_sc_sdo_t)
    91 #define EC_IOCTL_SC_VOE               EC_IOWR(0x24, ec_ioctl_voe_t)
    93 #define EC_IOCTL_SC_VOE               EC_IOWR(0x26, ec_ioctl_voe_t)
    92 #define EC_IOCTL_SC_STATE             EC_IOWR(0x25, ec_ioctl_sc_state_t)
    94 #define EC_IOCTL_SC_STATE             EC_IOWR(0x27, ec_ioctl_sc_state_t)
    93 #define EC_IOCTL_DOMAIN_OFFSET          EC_IO(0x26)
    95 #define EC_IOCTL_DOMAIN_OFFSET          EC_IO(0x28)
    94 #define EC_IOCTL_DOMAIN_PROCESS         EC_IO(0x27)
    96 #define EC_IOCTL_DOMAIN_PROCESS         EC_IO(0x29)
    95 #define EC_IOCTL_DOMAIN_QUEUE           EC_IO(0x28)
    97 #define EC_IOCTL_DOMAIN_QUEUE           EC_IO(0x2a)
    96 #define EC_IOCTL_DOMAIN_STATE         EC_IOWR(0x29, ec_ioctl_domain_state_t)
    98 #define EC_IOCTL_DOMAIN_STATE         EC_IOWR(0x2b, ec_ioctl_domain_state_t)
    97 #define EC_IOCTL_VOE_SEND_HEADER       EC_IOW(0x2a, ec_ioctl_voe_t)
    99 #define EC_IOCTL_VOE_SEND_HEADER       EC_IOW(0x2c, ec_ioctl_voe_t)
    98 #define EC_IOCTL_VOE_REC_HEADER       EC_IOWR(0x2b, ec_ioctl_voe_t)
   100 #define EC_IOCTL_VOE_REC_HEADER       EC_IOWR(0x2d, ec_ioctl_voe_t)
    99 #define EC_IOCTL_VOE_READ              EC_IOW(0x2c, ec_ioctl_voe_t)
   101 #define EC_IOCTL_VOE_READ              EC_IOW(0x2e, ec_ioctl_voe_t)
   100 #define EC_IOCTL_VOE_READ_NOSYNC       EC_IOW(0x2d, ec_ioctl_voe_t)
   102 #define EC_IOCTL_VOE_READ_NOSYNC       EC_IOW(0x2f, ec_ioctl_voe_t)
   101 #define EC_IOCTL_VOE_WRITE            EC_IOWR(0x2e, ec_ioctl_voe_t)
   103 #define EC_IOCTL_VOE_WRITE            EC_IOWR(0x30, ec_ioctl_voe_t)
   102 #define EC_IOCTL_VOE_EXEC             EC_IOWR(0x2f, ec_ioctl_voe_t)
   104 #define EC_IOCTL_VOE_EXEC             EC_IOWR(0x31, ec_ioctl_voe_t)
   103 #define EC_IOCTL_VOE_DATA             EC_IOWR(0x30, ec_ioctl_voe_t)
   105 #define EC_IOCTL_VOE_DATA             EC_IOWR(0x32, ec_ioctl_voe_t)
   104 
   106 
   105 /*****************************************************************************/
   107 /*****************************************************************************/
   106 
   108 
   107 #define EC_IOCTL_STRING_SIZE 64
   109 #define EC_IOCTL_STRING_SIZE 64
   108 
   110 
   323 
   325 
   324 /*****************************************************************************/
   326 /*****************************************************************************/
   325 
   327 
   326 typedef struct {
   328 typedef struct {
   327     // inputs
   329     // inputs
       
   330     uint16_t slave_position;
       
   331     uint16_t offset;
       
   332     uint32_t buffer_size;
       
   333     uint8_t *buffer;
       
   334 
       
   335     // outputs
       
   336     uint32_t data_size;
       
   337     uint32_t abort_code;
       
   338     char file_name[32];
       
   339 } ec_ioctl_slave_foe_t;
       
   340 
       
   341 /*****************************************************************************/
       
   342 
       
   343 typedef struct {
       
   344     // inputs
   328     uint32_t config_index;
   345     uint32_t config_index;
   329 
   346 
   330     // outputs
   347     // outputs
   331     uint16_t alias;
   348     uint16_t alias;
   332     uint16_t position;
   349     uint16_t position;