master/ioctl.h
changeset 2609 777d1a8b3a27
parent 2597 0e145bb05859
child 2622 1aee02c1e294
equal deleted inserted replaced
2608:ec0b5d9a2ff1 2609:777d1a8b3a27
    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 29
    59 #define EC_IOCTL_VERSION_MAGIC 30
    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)
   151 #define EC_IOCTL_VOE_READ_NOSYNC       EC_IOW(0x55, ec_ioctl_voe_t)
   151 #define EC_IOCTL_VOE_READ_NOSYNC       EC_IOW(0x55, ec_ioctl_voe_t)
   152 #define EC_IOCTL_VOE_WRITE            EC_IOWR(0x56, ec_ioctl_voe_t)
   152 #define EC_IOCTL_VOE_WRITE            EC_IOWR(0x56, ec_ioctl_voe_t)
   153 #define EC_IOCTL_VOE_EXEC             EC_IOWR(0x57, ec_ioctl_voe_t)
   153 #define EC_IOCTL_VOE_EXEC             EC_IOWR(0x57, ec_ioctl_voe_t)
   154 #define EC_IOCTL_VOE_DATA             EC_IOWR(0x58, ec_ioctl_voe_t)
   154 #define EC_IOCTL_VOE_DATA             EC_IOWR(0x58, ec_ioctl_voe_t)
   155 #define EC_IOCTL_SET_SEND_INTERVAL     EC_IOW(0x59, size_t)
   155 #define EC_IOCTL_SET_SEND_INTERVAL     EC_IOW(0x59, size_t)
       
   156 #define EC_IOCTL_SC_OVERLAPPING_IO     EC_IOW(0x5a, ec_ioctl_config_t)
   156 
   157 
   157 /*****************************************************************************/
   158 /*****************************************************************************/
   158 
   159 
   159 #define EC_IOCTL_STRING_SIZE 64
   160 #define EC_IOCTL_STRING_SIZE 64
   160 
   161 
   493     uint32_t sdo_count;
   494     uint32_t sdo_count;
   494     uint32_t idn_count;
   495     uint32_t idn_count;
   495     int32_t slave_position;
   496     int32_t slave_position;
   496     uint16_t dc_assign_activate;
   497     uint16_t dc_assign_activate;
   497     ec_sync_signal_t dc_sync[EC_SYNC_SIGNAL_COUNT];
   498     ec_sync_signal_t dc_sync[EC_SYNC_SIGNAL_COUNT];
       
   499     uint8_t allow_overlapping_pdos;
   498 } ec_ioctl_config_t;
   500 } ec_ioctl_config_t;
   499 
   501 
   500 /*****************************************************************************/
   502 /*****************************************************************************/
   501 
   503 
   502 typedef struct {
   504 typedef struct {