master/ioctl.h
branchstable-1.5
changeset 2487 ccafdf1e261f
parent 2453 d461b1f07296
child 2504 5ef9d5b14879
equal deleted inserted replaced
2486:807983200019 2487:ccafdf1e261f
    54 
    54 
    55 /** EtherCAT master ioctl() version magic.
    55 /** EtherCAT master ioctl() version magic.
    56  *
    56  *
    57  * Increment this when changing the ioctl interface!
    57  * Increment this when changing the ioctl interface!
    58  */
    58  */
    59 #define EC_IOCTL_VERSION_MAGIC 24
    59 #define EC_IOCTL_VERSION_MAGIC 25
    60 
    60 
    61 // Command-line tool
    61 // Command-line tool
    62 #define EC_IOCTL_MODULE                EC_IOR(0x00, ec_ioctl_module_t)
    62 #define EC_IOCTL_MODULE                EC_IOR(0x00, ec_ioctl_module_t)
    63 #define EC_IOCTL_MASTER                EC_IOR(0x01, ec_ioctl_master_t)
    63 #define EC_IOCTL_MASTER                EC_IOR(0x01, ec_ioctl_master_t)
    64 #define EC_IOCTL_SLAVE                EC_IOWR(0x02, ec_ioctl_slave_t)
    64 #define EC_IOCTL_SLAVE                EC_IOWR(0x02, ec_ioctl_slave_t)
   377 typedef struct {
   377 typedef struct {
   378     // inputs
   378     // inputs
   379     uint16_t slave_position;
   379     uint16_t slave_position;
   380     uint16_t sdo_index;
   380     uint16_t sdo_index;
   381     uint8_t sdo_entry_subindex;
   381     uint8_t sdo_entry_subindex;
   382     uint32_t target_size;
   382     size_t target_size;
   383     uint8_t *target;
   383     uint8_t *target;
   384 
   384 
   385     // outputs
   385     // outputs
   386     uint32_t data_size;
   386     size_t data_size;
   387     uint32_t abort_code;
   387     uint32_t abort_code;
   388 } ec_ioctl_slave_sdo_upload_t;
   388 } ec_ioctl_slave_sdo_upload_t;
   389 
   389 
   390 /*****************************************************************************/
   390 /*****************************************************************************/
   391 
   391 
   393     // inputs
   393     // inputs
   394     uint16_t slave_position;
   394     uint16_t slave_position;
   395     uint16_t sdo_index;
   395     uint16_t sdo_index;
   396     uint8_t sdo_entry_subindex;
   396     uint8_t sdo_entry_subindex;
   397     uint8_t complete_access;
   397     uint8_t complete_access;
   398     uint32_t data_size;
   398     size_t data_size;
   399     uint8_t *data;
   399     uint8_t *data;
   400 
   400 
   401     // outputs
   401     // outputs
   402     uint32_t abort_code;
   402     uint32_t abort_code;
   403 } ec_ioctl_slave_sdo_download_t;
   403 } ec_ioctl_slave_sdo_download_t;
   426 
   426 
   427 typedef struct {
   427 typedef struct {
   428     // inputs
   428     // inputs
   429     uint16_t slave_position;
   429     uint16_t slave_position;
   430     uint16_t offset;
   430     uint16_t offset;
   431     uint32_t buffer_size;
   431     size_t buffer_size;
   432     uint8_t *buffer;
   432     uint8_t *buffer;
   433 
   433 
   434     // outputs
   434     // outputs
   435     uint32_t data_size;
   435     size_t data_size;
   436     uint32_t result;
   436     uint32_t result;
   437     uint32_t error_code;
   437     uint32_t error_code;
   438     char file_name[32];
   438     char file_name[32];
   439 } ec_ioctl_slave_foe_t;
   439 } ec_ioctl_slave_foe_t;
   440 
   440 
   443 typedef struct {
   443 typedef struct {
   444     // inputs
   444     // inputs
   445     uint16_t slave_position;
   445     uint16_t slave_position;
   446     uint8_t drive_no;
   446     uint8_t drive_no;
   447     uint16_t idn;
   447     uint16_t idn;
   448     uint32_t mem_size;
   448     size_t mem_size;
   449     uint8_t *data;
   449     uint8_t *data;
   450 
   450 
   451     // outputs
   451     // outputs
   452     size_t data_size;
   452     size_t data_size;
   453     uint16_t error_code;
   453     uint16_t error_code;
   536     uint32_t sdo_pos;
   536     uint32_t sdo_pos;
   537 
   537 
   538     // outputs
   538     // outputs
   539     uint16_t index;
   539     uint16_t index;
   540     uint8_t subindex;
   540     uint8_t subindex;
   541     uint32_t size;
   541     size_t size;
   542     uint8_t data[EC_MAX_SDO_DATA_SIZE];
   542     uint8_t data[EC_MAX_SDO_DATA_SIZE];
   543     uint8_t complete_access;
   543     uint8_t complete_access;
   544 } ec_ioctl_config_sdo_t;
   544 } ec_ioctl_config_sdo_t;
   545 
   545 
   546 /*****************************************************************************/
   546 /*****************************************************************************/