IgH EtherCAT Master  1.5.2
rtdm-ioctl.c File Reference

EtherCAT master character device. More...

Go to the source code of this file.

Macros

#define DEBUG_LATENCY   0
 Set to 1 to enable ioctl() latency tracing.
 
#define ATTRIBUTES
 Optional compiler attributes fo ioctl() functions.
 
#define EC_IOCTL   ec_ioctl
 ioctl() function to use.
 

Functions

static void ec_ioctl_strcpy (char *target, const char *source)
 Copies a string to an ioctl structure.
 
static ATTRIBUTES int ec_ioctl_module (void *arg)
 Get module information.
 
static ATTRIBUTES int ec_ioctl_master (ec_master_t *master, void *arg)
 Get master information.
 
static ATTRIBUTES int ec_ioctl_slave (ec_master_t *master, void *arg)
 Get slave information.
 
static ATTRIBUTES int ec_ioctl_slave_sync (ec_master_t *master, void *arg)
 Get slave sync manager information.
 
static ATTRIBUTES int ec_ioctl_slave_sync_pdo (ec_master_t *master, void *arg)
 Get slave sync manager PDO information.
 
static ATTRIBUTES int ec_ioctl_slave_sync_pdo_entry (ec_master_t *master, void *arg)
 Get slave sync manager PDO entry information.
 
static ATTRIBUTES int ec_ioctl_domain (ec_master_t *master, void *arg)
 Get domain information.
 
static ATTRIBUTES int ec_ioctl_domain_fmmu (ec_master_t *master, void *arg)
 Get domain FMMU information.
 
static ATTRIBUTES int ec_ioctl_domain_data (ec_master_t *master, void *arg)
 Get domain data.
 
static ATTRIBUTES int ec_ioctl_master_debug (ec_master_t *master, void *arg)
 Set master debug level.
 
static ATTRIBUTES int ec_ioctl_master_rescan (ec_master_t *master, void *arg)
 Issue a bus scan.
 
static ATTRIBUTES int ec_ioctl_slave_state (ec_master_t *master, void *arg)
 Set slave state.
 
static ATTRIBUTES int ec_ioctl_slave_sdo (ec_master_t *master, void *arg)
 Get slave SDO information.
 
static ATTRIBUTES int ec_ioctl_slave_sdo_entry (ec_master_t *master, void *arg)
 Get slave SDO entry information.
 
static ATTRIBUTES int ec_ioctl_slave_sdo_upload (ec_master_t *master, void *arg)
 Upload SDO.
 
static ATTRIBUTES int ec_ioctl_slave_sdo_download (ec_master_t *master, void *arg)
 Download SDO.
 
static ATTRIBUTES int ec_ioctl_slave_sii_read (ec_master_t *master, void *arg)
 Read a slave's SII.
 
static ATTRIBUTES int ec_ioctl_slave_sii_write (ec_master_t *master, void *arg)
 Write a slave's SII.
 
static ATTRIBUTES int ec_ioctl_slave_reg_read (ec_master_t *master, void *arg)
 Read a slave's registers.
 
static ATTRIBUTES int ec_ioctl_slave_reg_write (ec_master_t *master, void *arg)
 Write a slave's registers.
 
static ATTRIBUTES int ec_ioctl_config (ec_master_t *master, void *arg)
 Get slave configuration information.
 
static ATTRIBUTES int ec_ioctl_config_pdo (ec_master_t *master, void *arg)
 Get slave configuration PDO information.
 
static ATTRIBUTES int ec_ioctl_config_pdo_entry (ec_master_t *master, void *arg)
 Get slave configuration PDO entry information.
 
static ATTRIBUTES int ec_ioctl_config_sdo (ec_master_t *master, void *arg)
 Get slave configuration SDO information.
 
static ATTRIBUTES int ec_ioctl_config_idn (ec_master_t *master, void *arg)
 Get slave configuration IDN information.
 
static ATTRIBUTES int ec_ioctl_config_flag (ec_master_t *master, void *arg)
 Get slave configuration feature flag information.
 
static ATTRIBUTES int ec_ioctl_eoe_handler (ec_master_t *master, void *arg)
 Get EoE handler information.
 
static ATTRIBUTES int ec_ioctl_request (ec_master_t *master, void *arg, ec_ioctl_context_t *ctx)
 Request the master from userspace.
 
static ATTRIBUTES int ec_ioctl_create_domain (ec_master_t *master, void *arg, ec_ioctl_context_t *ctx)
 Create a domain.
 
static ATTRIBUTES int ec_ioctl_create_slave_config (ec_master_t *master, void *arg, ec_ioctl_context_t *ctx)
 Create a slave configuration.
 
static ATTRIBUTES int ec_ioctl_select_ref_clock (ec_master_t *master, void *arg, ec_ioctl_context_t *ctx)
 Select the DC reference clock.
 
static ATTRIBUTES int ec_ioctl_activate (ec_master_t *master, void *arg, ec_ioctl_context_t *ctx)
 Activates the master.
 
static ATTRIBUTES int ec_ioctl_deactivate (ec_master_t *master, void *arg, ec_ioctl_context_t *ctx)
 Deactivates the master.
 
static ATTRIBUTES int ec_ioctl_set_send_interval (ec_master_t *master, void *arg, ec_ioctl_context_t *ctx)
 Set max.
 
static ATTRIBUTES int ec_ioctl_send (ec_master_t *master, void *arg, ec_ioctl_context_t *ctx)
 Send frames.
 
static ATTRIBUTES int ec_ioctl_receive (ec_master_t *master, void *arg, ec_ioctl_context_t *ctx)
 Receive frames.
 
static ATTRIBUTES int ec_ioctl_master_state (ec_master_t *master, void *arg, ec_ioctl_context_t *ctx)
 Get the master state.
 
static ATTRIBUTES int ec_ioctl_master_link_state (ec_master_t *master, void *arg, ec_ioctl_context_t *ctx)
 Get the link state.
 
static ATTRIBUTES int ec_ioctl_app_time (ec_master_t *master, void *arg, ec_ioctl_context_t *ctx)
 Set the master DC application time.
 
static ATTRIBUTES int ec_ioctl_sync_ref (ec_master_t *master, void *arg, ec_ioctl_context_t *ctx)
 Sync the reference clock.
 
static ATTRIBUTES int ec_ioctl_sync_ref_to (ec_master_t *master, void *arg, ec_ioctl_context_t *ctx)
 Sync the reference clock.
 
static ATTRIBUTES int ec_ioctl_sync_slaves (ec_master_t *master, void *arg, ec_ioctl_context_t *ctx)
 Sync the slave clocks.
 
static ATTRIBUTES int ec_ioctl_ref_clock_time (ec_master_t *master, void *arg, ec_ioctl_context_t *ctx)
 Get the system time of the reference clock.
 
static ATTRIBUTES int ec_ioctl_sync_mon_queue (ec_master_t *master, void *arg, ec_ioctl_context_t *ctx)
 Queue the sync monitoring datagram.
 
static ATTRIBUTES int ec_ioctl_sync_mon_process (ec_master_t *master, void *arg, ec_ioctl_context_t *ctx)
 Processes the sync monitoring datagram.
 
static ATTRIBUTES int ec_ioctl_reset (ec_master_t *master, void *arg, ec_ioctl_context_t *ctx)
 Reset configuration.
 
static ATTRIBUTES int ec_ioctl_sc_sync (ec_master_t *master, void *arg, ec_ioctl_context_t *ctx)
 Configure a sync manager.
 
static ATTRIBUTES int ec_ioctl_sc_watchdog (ec_master_t *master, void *arg, ec_ioctl_context_t *ctx)
 Configure a slave's watchdogs.
 
static ATTRIBUTES int ec_ioctl_sc_add_pdo (ec_master_t *master, void *arg, ec_ioctl_context_t *ctx)
 Add a PDO to the assignment.
 
static ATTRIBUTES int ec_ioctl_sc_clear_pdos (ec_master_t *master, void *arg, ec_ioctl_context_t *ctx)
 Clears the PDO assignment.
 
static ATTRIBUTES int ec_ioctl_sc_add_entry (ec_master_t *master, void *arg, ec_ioctl_context_t *ctx)
 Add an entry to a PDO's mapping.
 
static ATTRIBUTES int ec_ioctl_sc_clear_entries (ec_master_t *master, void *arg, ec_ioctl_context_t *ctx)
 Clears the mapping of a PDO.
 
static ATTRIBUTES int ec_ioctl_sc_reg_pdo_entry (ec_master_t *master, void *arg, ec_ioctl_context_t *ctx)
 Registers a PDO entry.
 
static ATTRIBUTES int ec_ioctl_sc_reg_pdo_pos (ec_master_t *master, void *arg, ec_ioctl_context_t *ctx)
 Registers a PDO entry by its position.
 
static ATTRIBUTES int ec_ioctl_sc_dc (ec_master_t *master, void *arg, ec_ioctl_context_t *ctx)
 Sets the DC AssignActivate word and the sync signal times.
 
static ATTRIBUTES int ec_ioctl_sc_sdo (ec_master_t *master, void *arg, ec_ioctl_context_t *ctx)
 Configures an SDO.
 
static ATTRIBUTES int ec_ioctl_sc_emerg_size (ec_master_t *master, void *arg, ec_ioctl_context_t *ctx)
 Set the emergency ring buffer size.
 
static ATTRIBUTES int ec_ioctl_sc_emerg_pop (ec_master_t *master, void *arg, ec_ioctl_context_t *ctx)
 Get an emergency message from the ring.
 
static ATTRIBUTES int ec_ioctl_sc_emerg_clear (ec_master_t *master, void *arg, ec_ioctl_context_t *ctx)
 Clear the emergency ring.
 
static ATTRIBUTES int ec_ioctl_sc_emerg_overruns (ec_master_t *master, void *arg, ec_ioctl_context_t *ctx)
 Get the number of emergency overruns.
 
static ATTRIBUTES int ec_ioctl_sc_create_sdo_request (ec_master_t *master, void *arg, ec_ioctl_context_t *ctx)
 Create an SDO request.
 
static ATTRIBUTES int ec_ioctl_sc_create_reg_request (ec_master_t *master, void *arg, ec_ioctl_context_t *ctx)
 Create a register request.
 
static ATTRIBUTES int ec_ioctl_sc_create_voe_handler (ec_master_t *master, void *arg, ec_ioctl_context_t *ctx)
 Create a VoE handler.
 
static ATTRIBUTES int ec_ioctl_sc_state (ec_master_t *master, void *arg, ec_ioctl_context_t *ctx)
 Get the slave configuration's state.
 
static ATTRIBUTES int ec_ioctl_sc_idn (ec_master_t *master, void *arg, ec_ioctl_context_t *ctx)
 Configures an IDN.
 
static ATTRIBUTES int ec_ioctl_sc_flag (ec_master_t *master, void *arg, ec_ioctl_context_t *ctx)
 Configures a feature flag.
 
static ATTRIBUTES int ec_ioctl_domain_size (ec_master_t *master, void *arg, ec_ioctl_context_t *ctx)
 Gets the domain's data size.
 
static ATTRIBUTES int ec_ioctl_domain_offset (ec_master_t *master, void *arg, ec_ioctl_context_t *ctx)
 Gets the domain's offset in the total process data.
 
static ATTRIBUTES int ec_ioctl_domain_process (ec_master_t *master, void *arg, ec_ioctl_context_t *ctx)
 Process the domain.
 
static ATTRIBUTES int ec_ioctl_domain_queue (ec_master_t *master, void *arg, ec_ioctl_context_t *ctx)
 Queue the domain.
 
static ATTRIBUTES int ec_ioctl_domain_state (ec_master_t *master, void *arg, ec_ioctl_context_t *ctx)
 Get the domain state.
 
static ATTRIBUTES int ec_ioctl_sdo_request_index (ec_master_t *master, void *arg, ec_ioctl_context_t *ctx)
 Sets an SDO request's SDO index and subindex.
 
static ATTRIBUTES int ec_ioctl_sdo_request_timeout (ec_master_t *master, void *arg, ec_ioctl_context_t *ctx)
 Sets an SDO request's timeout.
 
static ATTRIBUTES int ec_ioctl_sdo_request_state (ec_master_t *master, void *arg, ec_ioctl_context_t *ctx)
 Gets an SDO request's state.
 
static ATTRIBUTES int ec_ioctl_sdo_request_read (ec_master_t *master, void *arg, ec_ioctl_context_t *ctx)
 Starts an SDO read operation.
 
static ATTRIBUTES int ec_ioctl_sdo_request_write (ec_master_t *master, void *arg, ec_ioctl_context_t *ctx)
 Starts an SDO write operation.
 
static ATTRIBUTES int ec_ioctl_sdo_request_data (ec_master_t *master, void *arg, ec_ioctl_context_t *ctx)
 Read SDO data.
 
static ATTRIBUTES int ec_ioctl_reg_request_data (ec_master_t *master, void *arg, ec_ioctl_context_t *ctx)
 Read register data.
 
static ATTRIBUTES int ec_ioctl_reg_request_state (ec_master_t *master, void *arg, ec_ioctl_context_t *ctx)
 Gets an register request's state.
 
static ATTRIBUTES int ec_ioctl_reg_request_write (ec_master_t *master, void *arg, ec_ioctl_context_t *ctx)
 Starts an register write operation.
 
static ATTRIBUTES int ec_ioctl_reg_request_read (ec_master_t *master, void *arg, ec_ioctl_context_t *ctx)
 Starts an register read operation.
 
static ATTRIBUTES int ec_ioctl_voe_send_header (ec_master_t *master, void *arg, ec_ioctl_context_t *ctx)
 Sets the VoE send header.
 
static ATTRIBUTES int ec_ioctl_voe_rec_header (ec_master_t *master, void *arg, ec_ioctl_context_t *ctx)
 Gets the received VoE header.
 
static ATTRIBUTES int ec_ioctl_voe_read (ec_master_t *master, void *arg, ec_ioctl_context_t *ctx)
 Starts a VoE read operation.
 
static ATTRIBUTES int ec_ioctl_voe_read_nosync (ec_master_t *master, void *arg, ec_ioctl_context_t *ctx)
 Starts a VoE read operation without sending a sync message first.
 
static ATTRIBUTES int ec_ioctl_voe_write (ec_master_t *master, void *arg, ec_ioctl_context_t *ctx)
 Starts a VoE write operation.
 
static ATTRIBUTES int ec_ioctl_voe_exec (ec_master_t *master, void *arg, ec_ioctl_context_t *ctx)
 Executes the VoE state machine.
 
static ATTRIBUTES int ec_ioctl_voe_data (ec_master_t *master, void *arg, ec_ioctl_context_t *ctx)
 Reads the received VoE data.
 
static ATTRIBUTES int ec_ioctl_slave_foe_read (ec_master_t *master, void *arg)
 Read a file from a slave via FoE.
 
static ATTRIBUTES int ec_ioctl_slave_foe_write (ec_master_t *master, void *arg)
 Write a file to a slave via FoE.
 
static ATTRIBUTES int ec_ioctl_slave_soe_read (ec_master_t *master, void *arg)
 Read an SoE IDN.
 
static ATTRIBUTES int ec_ioctl_slave_soe_write (ec_master_t *master, void *arg)
 Write an IDN to a slave via SoE.
 
long EC_IOCTL (ec_master_t *master, ec_ioctl_context_t *ctx, unsigned int cmd, void *arg)
 Called when an ioctl() command is issued.
 

Detailed Description

EtherCAT master character device.

Definition in file rtdm-ioctl.c.

Macro Definition Documentation

◆ DEBUG_LATENCY

#define DEBUG_LATENCY   0

Set to 1 to enable ioctl() latency tracing.

Requires CPU timestamp counter!

Definition at line 50 of file rtdm-ioctl.c.

◆ ATTRIBUTES

#define ATTRIBUTES

Optional compiler attributes fo ioctl() functions.

Definition at line 57 of file rtdm-ioctl.c.

◆ EC_IOCTL

#define EC_IOCTL   ec_ioctl

ioctl() function to use.

Definition at line 4254 of file rtdm-ioctl.c.

Function Documentation

◆ ec_ioctl_strcpy()

static void ec_ioctl_strcpy ( char *  target,
const char *  source 
)
static

Copies a string to an ioctl structure.

Parameters
targetTarget.
sourceSource.

Definition at line 64 of file rtdm-ioctl.c.

◆ ec_ioctl_module()

static ATTRIBUTES int ec_ioctl_module ( void *  arg)
static

Get module information.

Returns
Zero on success, otherwise a negative error code.
Parameters
argUserspace address to store the results.

Definition at line 83 of file rtdm-ioctl.c.

◆ ec_ioctl_master()

static ATTRIBUTES int ec_ioctl_master ( ec_master_t master,
void *  arg 
)
static

Get master information.

Returns
Zero on success, otherwise a negative error code.
Parameters
masterEtherCAT master.
argUserspace address to store the results.

Definition at line 104 of file rtdm-ioctl.c.

◆ ec_ioctl_slave()

static ATTRIBUTES int ec_ioctl_slave ( ec_master_t master,
void *  arg 
)
static

Get slave information.

Returns
Zero on success, otherwise a negative error code.
Parameters
masterEtherCAT master.
argUserspace address to store the results.

Definition at line 202 of file rtdm-ioctl.c.

◆ ec_ioctl_slave_sync()

static ATTRIBUTES int ec_ioctl_slave_sync ( ec_master_t master,
void *  arg 
)
static

Get slave sync manager information.

Returns
Zero on success, otherwise a negative error code.
Parameters
masterEtherCAT master.
argUserspace address to store the results.

Definition at line 289 of file rtdm-ioctl.c.

◆ ec_ioctl_slave_sync_pdo()

static ATTRIBUTES int ec_ioctl_slave_sync_pdo ( ec_master_t master,
void *  arg 
)
static

Get slave sync manager PDO information.

Returns
Zero on success, otherwise a negative error code.
Parameters
masterEtherCAT master.
argUserspace address to store the results.

Definition at line 342 of file rtdm-ioctl.c.

◆ ec_ioctl_slave_sync_pdo_entry()

static ATTRIBUTES int ec_ioctl_slave_sync_pdo_entry ( ec_master_t master,
void *  arg 
)
static

Get slave sync manager PDO entry information.

Returns
Zero on success, otherwise a negative error code.
Parameters
masterEtherCAT master.
argUserspace address to store the results.

Definition at line 401 of file rtdm-ioctl.c.

◆ ec_ioctl_domain()

static ATTRIBUTES int ec_ioctl_domain ( ec_master_t master,
void *  arg 
)
static

Get domain information.

Returns
Zero on success, otherwise a negative error code.
Parameters
masterEtherCAT master.
argUserspace address to store the results.

Definition at line 470 of file rtdm-ioctl.c.

◆ ec_ioctl_domain_fmmu()

static ATTRIBUTES int ec_ioctl_domain_fmmu ( ec_master_t master,
void *  arg 
)
static

Get domain FMMU information.

Returns
Zero on success, otherwise a negative error code.
Parameters
masterEtherCAT master.
argUserspace address to store the results.

Definition at line 515 of file rtdm-ioctl.c.

◆ ec_ioctl_domain_data()

static ATTRIBUTES int ec_ioctl_domain_data ( ec_master_t master,
void *  arg 
)
static

Get domain data.

Returns
Zero on success, otherwise a negative error code.
Parameters
masterEtherCAT master.
argUserspace address to store the results.

Definition at line 567 of file rtdm-ioctl.c.

◆ ec_ioctl_master_debug()

static ATTRIBUTES int ec_ioctl_master_debug ( ec_master_t master,
void *  arg 
)
static

Set master debug level.

Returns
Zero on success, otherwise a negative error code.
Parameters
masterEtherCAT master.
argioctl() argument.

Definition at line 612 of file rtdm-ioctl.c.

◆ ec_ioctl_master_rescan()

static ATTRIBUTES int ec_ioctl_master_rescan ( ec_master_t master,
void *  arg 
)
static

Issue a bus scan.

Returns
Always zero (success).
Parameters
masterEtherCAT master.
argioctl() argument.

Definition at line 626 of file rtdm-ioctl.c.

◆ ec_ioctl_slave_state()

static ATTRIBUTES int ec_ioctl_slave_state ( ec_master_t master,
void *  arg 
)
static

Set slave state.

Returns
Zero on success, otherwise a negative error code.
Parameters
masterEtherCAT master.
argioctl() argument.

Definition at line 641 of file rtdm-ioctl.c.

◆ ec_ioctl_slave_sdo()

static ATTRIBUTES int ec_ioctl_slave_sdo ( ec_master_t master,
void *  arg 
)
static

Get slave SDO information.

Returns
Zero on success, otherwise a negative error code.
Parameters
masterEtherCAT master.
argioctl() argument.

Definition at line 676 of file rtdm-ioctl.c.

◆ ec_ioctl_slave_sdo_entry()

static ATTRIBUTES int ec_ioctl_slave_sdo_entry ( ec_master_t master,
void *  arg 
)
static

Get slave SDO entry information.

Returns
Zero on success, otherwise a negative error code.
Parameters
masterEtherCAT master.
argioctl() argument.

Definition at line 725 of file rtdm-ioctl.c.

◆ ec_ioctl_slave_sdo_upload()

static ATTRIBUTES int ec_ioctl_slave_sdo_upload ( ec_master_t master,
void *  arg 
)
static

Upload SDO.

Returns
Zero on success, otherwise a negative error code.
Parameters
masterEtherCAT master.
argioctl() argument.

Definition at line 805 of file rtdm-ioctl.c.

◆ ec_ioctl_slave_sdo_download()

static ATTRIBUTES int ec_ioctl_slave_sdo_download ( ec_master_t master,
void *  arg 
)
static

Download SDO.

Returns
Zero on success, otherwise a negative error code.
Parameters
masterEtherCAT master.
argioctl() argument.

Definition at line 851 of file rtdm-ioctl.c.

◆ ec_ioctl_slave_sii_read()

static ATTRIBUTES int ec_ioctl_slave_sii_read ( ec_master_t master,
void *  arg 
)
static

Read a slave's SII.

Returns
Zero on success, otherwise a negative error code.
Parameters
masterEtherCAT master.
argioctl() argument.

Definition at line 899 of file rtdm-ioctl.c.

◆ ec_ioctl_slave_sii_write()

static ATTRIBUTES int ec_ioctl_slave_sii_write ( ec_master_t master,
void *  arg 
)
static

Write a slave's SII.

Returns
Zero on success, otherwise a negative error code.
Parameters
masterEtherCAT master.
argioctl() argument.

Definition at line 947 of file rtdm-ioctl.c.

◆ ec_ioctl_slave_reg_read()

static ATTRIBUTES int ec_ioctl_slave_reg_read ( ec_master_t master,
void *  arg 
)
static

Read a slave's registers.

Returns
Zero on success, otherwise a negative error code.
Parameters
masterEtherCAT master.
argioctl() argument.

Definition at line 1035 of file rtdm-ioctl.c.

◆ ec_ioctl_slave_reg_write()

static ATTRIBUTES int ec_ioctl_slave_reg_write ( ec_master_t master,
void *  arg 
)
static

Write a slave's registers.

Returns
Zero on success, otherwise a negative error code.
Parameters
masterEtherCAT master.
argioctl() argument.

Definition at line 1114 of file rtdm-ioctl.c.

◆ ec_ioctl_config()

static ATTRIBUTES int ec_ioctl_config ( ec_master_t master,
void *  arg 
)
static

Get slave configuration information.

Returns
Zero on success, otherwise a negative error code.
Parameters
masterEtherCAT master.
argioctl() argument.

Definition at line 1199 of file rtdm-ioctl.c.

◆ ec_ioctl_config_pdo()

static ATTRIBUTES int ec_ioctl_config_pdo ( ec_master_t master,
void *  arg 
)
static

Get slave configuration PDO information.

Returns
Zero on success, otherwise a negative error code.
Parameters
masterEtherCAT master.
argioctl() argument.

Definition at line 1258 of file rtdm-ioctl.c.

◆ ec_ioctl_config_pdo_entry()

static ATTRIBUTES int ec_ioctl_config_pdo_entry ( ec_master_t master,
void *  arg 
)
static

Get slave configuration PDO entry information.

Returns
Zero on success, otherwise a negative error code.
Parameters
masterEtherCAT master.
argioctl() argument.

Definition at line 1314 of file rtdm-ioctl.c.

◆ ec_ioctl_config_sdo()

static ATTRIBUTES int ec_ioctl_config_sdo ( ec_master_t master,
void *  arg 
)
static

Get slave configuration SDO information.

Returns
Zero on success, otherwise a negative error code.
Parameters
masterEtherCAT master.
argioctl() argument.

Definition at line 1379 of file rtdm-ioctl.c.

◆ ec_ioctl_config_idn()

static ATTRIBUTES int ec_ioctl_config_idn ( ec_master_t master,
void *  arg 
)
static

Get slave configuration IDN information.

Returns
Zero on success, otherwise a negative error code.
Parameters
masterEtherCAT master.
argioctl() argument.

Definition at line 1443 of file rtdm-ioctl.c.

◆ ec_ioctl_config_flag()

static ATTRIBUTES int ec_ioctl_config_flag ( ec_master_t master,
void *  arg 
)
static

Get slave configuration feature flag information.

Returns
Zero on success, otherwise a negative error code.
Parameters
masterEtherCAT master.
argioctl() argument.

Definition at line 1507 of file rtdm-ioctl.c.

◆ ec_ioctl_eoe_handler()

static ATTRIBUTES int ec_ioctl_eoe_handler ( ec_master_t master,
void *  arg 
)
static

Get EoE handler information.

Returns
Zero on success, otherwise a negative error code.
Parameters
masterEtherCAT master.
argioctl() argument.

Definition at line 1572 of file rtdm-ioctl.c.

◆ ec_ioctl_request()

static ATTRIBUTES int ec_ioctl_request ( ec_master_t master,
void *  arg,
ec_ioctl_context_t *  ctx 
)
static

Request the master from userspace.

Returns
Zero on success, otherwise a negative error code.
Parameters
masterEtherCAT master.
argioctl() argument.
ctxPrivate data structure of file handle.

Definition at line 1624 of file rtdm-ioctl.c.

◆ ec_ioctl_create_domain()

static ATTRIBUTES int ec_ioctl_create_domain ( ec_master_t master,
void *  arg,
ec_ioctl_context_t *  ctx 
)
static

Create a domain.

Returns
Domain index on success, otherwise a negative error code.
Parameters
masterEtherCAT master.
argioctl() argument.
ctxPrivate data structure of file handle.

Definition at line 1649 of file rtdm-ioctl.c.

◆ ec_ioctl_create_slave_config()

static ATTRIBUTES int ec_ioctl_create_slave_config ( ec_master_t master,
void *  arg,
ec_ioctl_context_t *  ctx 
)
static

Create a slave configuration.

Returns
Zero on success, otherwise a negative error code.
Parameters
masterEtherCAT master.
argioctl() argument.
ctxPrivate data structure of file handle.

Definition at line 1673 of file rtdm-ioctl.c.

◆ ec_ioctl_select_ref_clock()

static ATTRIBUTES int ec_ioctl_select_ref_clock ( ec_master_t master,
void *  arg,
ec_ioctl_context_t *  ctx 
)
static

Select the DC reference clock.

Returns
Zero on success, otherwise a negative error code.
Parameters
masterEtherCAT master.
argioctl() argument.
ctxPrivate data structure of file handle.

Definition at line 1719 of file rtdm-ioctl.c.

◆ ec_ioctl_activate()

static ATTRIBUTES int ec_ioctl_activate ( ec_master_t master,
void *  arg,
ec_ioctl_context_t *  ctx 
)
static

Activates the master.

Returns
Zero on success, otherwise a negative error code.
Parameters
masterEtherCAT master.
argioctl() argument.
ctxPrivate data structure of file handle.

Definition at line 1760 of file rtdm-ioctl.c.

◆ ec_ioctl_deactivate()

static ATTRIBUTES int ec_ioctl_deactivate ( ec_master_t master,
void *  arg,
ec_ioctl_context_t *  ctx 
)
static

Deactivates the master.

Returns
Zero on success, otherwise a negative error code.
Parameters
masterEtherCAT master.
argioctl() argument.
ctxPrivate data structure of file handle.

Definition at line 1843 of file rtdm-ioctl.c.

◆ ec_ioctl_set_send_interval()

static ATTRIBUTES int ec_ioctl_set_send_interval ( ec_master_t master,
void *  arg,
ec_ioctl_context_t *  ctx 
)
static

Set max.

number of databytes in a cycle

Returns
Zero on success, otherwise a negative error code.
Parameters
masterEtherCAT master.
argioctl() argument.
ctxPrivate data structure of file handle.

Definition at line 1862 of file rtdm-ioctl.c.

◆ ec_ioctl_send()

static ATTRIBUTES int ec_ioctl_send ( ec_master_t master,
void *  arg,
ec_ioctl_context_t *  ctx 
)
static

Send frames.

Returns
Zero on success, otherwise a negative error code.
Parameters
masterEtherCAT master.
argioctl() argument.
ctxPrivate data structure of file handle.

Definition at line 1894 of file rtdm-ioctl.c.

◆ ec_ioctl_receive()

static ATTRIBUTES int ec_ioctl_receive ( ec_master_t master,
void *  arg,
ec_ioctl_context_t *  ctx 
)
static

Receive frames.

Returns
Zero on success, otherwise a negative error code.
Parameters
masterEtherCAT master.
argioctl() argument.
ctxPrivate data structure of file handle.

Definition at line 1916 of file rtdm-ioctl.c.

◆ ec_ioctl_master_state()

static ATTRIBUTES int ec_ioctl_master_state ( ec_master_t master,
void *  arg,
ec_ioctl_context_t *  ctx 
)
static

Get the master state.

Returns
Zero on success, otherwise a negative error code.
Parameters
masterEtherCAT master.
argioctl() argument.
ctxPrivate data structure of file handle.

Definition at line 1938 of file rtdm-ioctl.c.

◆ ec_ioctl_master_link_state()

static ATTRIBUTES int ec_ioctl_master_link_state ( ec_master_t master,
void *  arg,
ec_ioctl_context_t *  ctx 
)
static

Get the link state.

Returns
Zero on success, otherwise a negative error code.
Parameters
masterEtherCAT master.
argioctl() argument.
ctxPrivate data structure of file handle.

Definition at line 1960 of file rtdm-ioctl.c.

◆ ec_ioctl_app_time()

static ATTRIBUTES int ec_ioctl_app_time ( ec_master_t master,
void *  arg,
ec_ioctl_context_t *  ctx 
)
static

Set the master DC application time.

Returns
Zero on success, otherwise a negative error code.
Parameters
masterEtherCAT master.
argioctl() argument.
ctxPrivate data structure of file handle.

Definition at line 1992 of file rtdm-ioctl.c.

◆ ec_ioctl_sync_ref()

static ATTRIBUTES int ec_ioctl_sync_ref ( ec_master_t master,
void *  arg,
ec_ioctl_context_t *  ctx 
)
static

Sync the reference clock.

Returns
Zero on success, otherwise a negative error code.
Parameters
masterEtherCAT master.
argioctl() argument.
ctxPrivate data structure of file handle.

Definition at line 2017 of file rtdm-ioctl.c.

◆ ec_ioctl_sync_ref_to()

static ATTRIBUTES int ec_ioctl_sync_ref_to ( ec_master_t master,
void *  arg,
ec_ioctl_context_t *  ctx 
)
static

Sync the reference clock.

Returns
Zero on success, otherwise a negative error code.
Parameters
masterEtherCAT master.
argioctl() argument.
ctxPrivate data structure of file handle.

Definition at line 2039 of file rtdm-ioctl.c.

◆ ec_ioctl_sync_slaves()

static ATTRIBUTES int ec_ioctl_sync_slaves ( ec_master_t master,
void *  arg,
ec_ioctl_context_t *  ctx 
)
static

Sync the slave clocks.

Returns
Zero on success, otherwise a negative error code.
Parameters
masterEtherCAT master.
argioctl() argument.
ctxPrivate data structure of file handle.

Definition at line 2066 of file rtdm-ioctl.c.

◆ ec_ioctl_ref_clock_time()

static ATTRIBUTES int ec_ioctl_ref_clock_time ( ec_master_t master,
void *  arg,
ec_ioctl_context_t *  ctx 
)
static

Get the system time of the reference clock.

Returns
Zero on success, otherwise a negative error code.
Parameters
masterEtherCAT master.
argioctl() argument.
ctxPrivate data structure of file handle.

Definition at line 2088 of file rtdm-ioctl.c.

◆ ec_ioctl_sync_mon_queue()

static ATTRIBUTES int ec_ioctl_sync_mon_queue ( ec_master_t master,
void *  arg,
ec_ioctl_context_t *  ctx 
)
static

Queue the sync monitoring datagram.

Returns
Zero on success, otherwise a negative error code.
Parameters
masterEtherCAT master.
argioctl() argument.
ctxPrivate data structure of file handle.

Definition at line 2119 of file rtdm-ioctl.c.

◆ ec_ioctl_sync_mon_process()

static ATTRIBUTES int ec_ioctl_sync_mon_process ( ec_master_t master,
void *  arg,
ec_ioctl_context_t *  ctx 
)
static

Processes the sync monitoring datagram.

Returns
Zero on success, otherwise a negative error code.
Parameters
masterEtherCAT master.
argioctl() argument.
ctxPrivate data structure of file handle.

Definition at line 2141 of file rtdm-ioctl.c.

◆ ec_ioctl_reset()

static ATTRIBUTES int ec_ioctl_reset ( ec_master_t master,
void *  arg,
ec_ioctl_context_t *  ctx 
)
static

Reset configuration.

Returns
Always zero (success).
Parameters
masterEtherCAT master.
argioctl() argument.
ctxPrivate data structure of file handle.

Definition at line 2166 of file rtdm-ioctl.c.

◆ ec_ioctl_sc_sync()

static ATTRIBUTES int ec_ioctl_sc_sync ( ec_master_t master,
void *  arg,
ec_ioctl_context_t *  ctx 
)
static

Configure a sync manager.

Returns
Zero on success, otherwise a negative error code.
Parameters
masterEtherCAT master.
argioctl() argument.
ctxPrivate data structure of file handle.

Definition at line 2184 of file rtdm-ioctl.c.

◆ ec_ioctl_sc_watchdog()

static ATTRIBUTES int ec_ioctl_sc_watchdog ( ec_master_t master,
void *  arg,
ec_ioctl_context_t *  ctx 
)
static

Configure a slave's watchdogs.

Returns
Zero on success, otherwise a negative error code.
Parameters
masterEtherCAT master.
argioctl() argument.
ctxPrivate data structure of file handle.

Definition at line 2237 of file rtdm-ioctl.c.

◆ ec_ioctl_sc_add_pdo()

static ATTRIBUTES int ec_ioctl_sc_add_pdo ( ec_master_t master,
void *  arg,
ec_ioctl_context_t *  ctx 
)
static

Add a PDO to the assignment.

Returns
Zero on success, otherwise a negative error code.
Todo:
sc could be invalidated
Parameters
masterEtherCAT master.
argioctl() argument.
ctxPrivate data structure of file handle.

Definition at line 2282 of file rtdm-ioctl.c.

◆ ec_ioctl_sc_clear_pdos()

static ATTRIBUTES int ec_ioctl_sc_clear_pdos ( ec_master_t master,
void *  arg,
ec_ioctl_context_t *  ctx 
)
static

Clears the PDO assignment.

Returns
Zero on success, otherwise a negative error code.
Todo:
sc could be invalidated
Parameters
masterEtherCAT master.
argioctl() argument.
ctxPrivate data structure of file handle.

Definition at line 2316 of file rtdm-ioctl.c.

◆ ec_ioctl_sc_add_entry()

static ATTRIBUTES int ec_ioctl_sc_add_entry ( ec_master_t master,
void *  arg,
ec_ioctl_context_t *  ctx 
)
static

Add an entry to a PDO's mapping.

Returns
Zero on success, otherwise a negative error code.
Todo:
sc could be invalidated
Parameters
masterEtherCAT master.
argioctl() argument.
ctxPrivate data structure of file handle.

Definition at line 2351 of file rtdm-ioctl.c.

◆ ec_ioctl_sc_clear_entries()

static ATTRIBUTES int ec_ioctl_sc_clear_entries ( ec_master_t master,
void *  arg,
ec_ioctl_context_t *  ctx 
)
static

Clears the mapping of a PDO.

Returns
Zero on success, otherwise a negative error code.
Todo:
sc could be invalidated
Parameters
masterEtherCAT master.
argioctl() argument.
ctxPrivate data structure of file handle.

Definition at line 2386 of file rtdm-ioctl.c.

◆ ec_ioctl_sc_reg_pdo_entry()

static ATTRIBUTES int ec_ioctl_sc_reg_pdo_entry ( ec_master_t master,
void *  arg,
ec_ioctl_context_t *  ctx 
)
static

Registers a PDO entry.

Returns
Process data offset on success, otherwise a negative error code.
Todo:
sc or domain could be invalidated
Parameters
masterEtherCAT master.
argioctl() argument.
ctxPrivate data structure of file handle.

Definition at line 2421 of file rtdm-ioctl.c.

◆ ec_ioctl_sc_reg_pdo_pos()

static ATTRIBUTES int ec_ioctl_sc_reg_pdo_pos ( ec_master_t master,
void *  arg,
ec_ioctl_context_t *  ctx 
)
static

Registers a PDO entry by its position.

Returns
Process data offset on success, otherwise a negative error code.
Todo:
sc or domain could be invalidated
Parameters
masterEtherCAT master.
argioctl() argument.
ctxPrivate data structure of file handle.

Definition at line 2468 of file rtdm-ioctl.c.

◆ ec_ioctl_sc_dc()

static ATTRIBUTES int ec_ioctl_sc_dc ( ec_master_t master,
void *  arg,
ec_ioctl_context_t *  ctx 
)
static

Sets the DC AssignActivate word and the sync signal times.

Returns
Zero on success, otherwise a negative error code.
Parameters
masterEtherCAT master.
argioctl() argument.
ctxPrivate data structure of file handle.

Definition at line 2518 of file rtdm-ioctl.c.

◆ ec_ioctl_sc_sdo()

static ATTRIBUTES int ec_ioctl_sc_sdo ( ec_master_t master,
void *  arg,
ec_ioctl_context_t *  ctx 
)
static

Configures an SDO.

Returns
Zero on success, otherwise a negative error code.
Todo:
sc could be invalidated
Parameters
masterEtherCAT master.
argioctl() argument.
ctxPrivate data structure of file handle.

Definition at line 2558 of file rtdm-ioctl.c.

◆ ec_ioctl_sc_emerg_size()

static ATTRIBUTES int ec_ioctl_sc_emerg_size ( ec_master_t master,
void *  arg,
ec_ioctl_context_t *  ctx 
)
static

Set the emergency ring buffer size.

Returns
Zero on success, otherwise a negative error code.
Parameters
masterEtherCAT master.
argioctl() argument.
ctxPrivate data structure of file handle.

Definition at line 2617 of file rtdm-ioctl.c.

◆ ec_ioctl_sc_emerg_pop()

static ATTRIBUTES int ec_ioctl_sc_emerg_pop ( ec_master_t master,
void *  arg,
ec_ioctl_context_t *  ctx 
)
static

Get an emergency message from the ring.

Returns
Zero on success, otherwise a negative error code.
Parameters
masterEtherCAT master.
argioctl() argument.
ctxPrivate data structure of file handle.

Definition at line 2655 of file rtdm-ioctl.c.

◆ ec_ioctl_sc_emerg_clear()

static ATTRIBUTES int ec_ioctl_sc_emerg_clear ( ec_master_t master,
void *  arg,
ec_ioctl_context_t *  ctx 
)
static

Clear the emergency ring.

Returns
Zero on success, otherwise a negative error code.
Parameters
masterEtherCAT master.
argioctl() argument.
ctxPrivate data structure of file handle.

Definition at line 2699 of file rtdm-ioctl.c.

◆ ec_ioctl_sc_emerg_overruns()

static ATTRIBUTES int ec_ioctl_sc_emerg_overruns ( ec_master_t master,
void *  arg,
ec_ioctl_context_t *  ctx 
)
static

Get the number of emergency overruns.

Returns
Zero on success, otherwise a negative error code.
Parameters
masterEtherCAT master.
argioctl() argument.
ctxPrivate data structure of file handle.

Definition at line 2732 of file rtdm-ioctl.c.

◆ ec_ioctl_sc_create_sdo_request()

static ATTRIBUTES int ec_ioctl_sc_create_sdo_request ( ec_master_t master,
void *  arg,
ec_ioctl_context_t *  ctx 
)
static

Create an SDO request.

Returns
Zero on success, otherwise a negative error code.
Todo:
sc could be invalidated
Parameters
masterEtherCAT master.
argioctl() argument.
ctxPrivate data structure of file handle.

Definition at line 2777 of file rtdm-ioctl.c.

◆ ec_ioctl_sc_create_reg_request()

static ATTRIBUTES int ec_ioctl_sc_create_reg_request ( ec_master_t master,
void *  arg,
ec_ioctl_context_t *  ctx 
)
static

Create a register request.

Returns
Zero on success, otherwise a negative error code.
Todo:
sc could be invalidated
Parameters
masterEtherCAT master.
argioctl() argument.
ctxPrivate data structure of file handle.

Definition at line 2828 of file rtdm-ioctl.c.

◆ ec_ioctl_sc_create_voe_handler()

static ATTRIBUTES int ec_ioctl_sc_create_voe_handler ( ec_master_t master,
void *  arg,
ec_ioctl_context_t *  ctx 
)
static

Create a VoE handler.

Returns
Zero on success, otherwise a negative error code.
Todo:
sc could be invalidated
Parameters
masterEtherCAT master.
argioctl() argument.
ctxPrivate data structure of file handle.

Definition at line 2882 of file rtdm-ioctl.c.

◆ ec_ioctl_sc_state()

static ATTRIBUTES int ec_ioctl_sc_state ( ec_master_t master,
void *  arg,
ec_ioctl_context_t *  ctx 
)
static

Get the slave configuration's state.

Returns
Zero on success, otherwise a negative error code.
Parameters
masterEtherCAT master.
argioctl() argument.
ctxPrivate data structure of file handle.

Definition at line 2932 of file rtdm-ioctl.c.

◆ ec_ioctl_sc_idn()

static ATTRIBUTES int ec_ioctl_sc_idn ( ec_master_t master,
void *  arg,
ec_ioctl_context_t *  ctx 
)
static

Configures an IDN.

Returns
Zero on success, otherwise a negative error code.
Todo:
sc could be invalidated
Parameters
masterEtherCAT master.
argioctl() argument.
ctxPrivate data structure of file handle.

Definition at line 2970 of file rtdm-ioctl.c.

◆ ec_ioctl_sc_flag()

static ATTRIBUTES int ec_ioctl_sc_flag ( ec_master_t master,
void *  arg,
ec_ioctl_context_t *  ctx 
)
static

Configures a feature flag.

Returns
Zero on success, otherwise a negative error code.
Todo:
sc could be invalidated
Parameters
masterEtherCAT master.
argioctl() argument.
ctxPrivate data structure of file handle.

Definition at line 3024 of file rtdm-ioctl.c.

◆ ec_ioctl_domain_size()

static ATTRIBUTES int ec_ioctl_domain_size ( ec_master_t master,
void *  arg,
ec_ioctl_context_t *  ctx 
)
static

Gets the domain's data size.

Returns
Domain size, or a negative error code.
Parameters
masterEtherCAT master.
argioctl() argument.
ctxPrivate data structure of file handle.

Definition at line 3080 of file rtdm-ioctl.c.

◆ ec_ioctl_domain_offset()

static ATTRIBUTES int ec_ioctl_domain_offset ( ec_master_t master,
void *  arg,
ec_ioctl_context_t *  ctx 
)
static

Gets the domain's offset in the total process data.

Returns
Domain offset, or a negative error code.
Parameters
masterEtherCAT master.
argioctl() argument.
ctxPrivate data structure of file handle.

Definition at line 3114 of file rtdm-ioctl.c.

◆ ec_ioctl_domain_process()

static ATTRIBUTES int ec_ioctl_domain_process ( ec_master_t master,
void *  arg,
ec_ioctl_context_t *  ctx 
)
static

Process the domain.

Returns
Zero on success, otherwise a negative error code.
Parameters
masterEtherCAT master.
argioctl() argument.
ctxPrivate data structure of file handle.

Definition at line 3148 of file rtdm-ioctl.c.

◆ ec_ioctl_domain_queue()

static ATTRIBUTES int ec_ioctl_domain_queue ( ec_master_t master,
void *  arg,
ec_ioctl_context_t *  ctx 
)
static

Queue the domain.

Returns
Zero on success, otherwise a negative error code.
Parameters
masterEtherCAT master.
argioctl() argument.
ctxPrivate data structure of file handle.

Definition at line 3176 of file rtdm-ioctl.c.

◆ ec_ioctl_domain_state()

static ATTRIBUTES int ec_ioctl_domain_state ( ec_master_t master,
void *  arg,
ec_ioctl_context_t *  ctx 
)
static

Get the domain state.

Returns
Zero on success, otherwise a negative error code.
Parameters
masterEtherCAT master.
argioctl() argument.
ctxPrivate data structure of file handle.

Definition at line 3206 of file rtdm-ioctl.c.

◆ ec_ioctl_sdo_request_index()

static ATTRIBUTES int ec_ioctl_sdo_request_index ( ec_master_t master,
void *  arg,
ec_ioctl_context_t *  ctx 
)
static

Sets an SDO request's SDO index and subindex.

Returns
Zero on success, otherwise a negative error code.
Parameters
masterEtherCAT master.
argioctl() argument.
ctxPrivate data structure of file handle.

Definition at line 3244 of file rtdm-ioctl.c.

◆ ec_ioctl_sdo_request_timeout()

static ATTRIBUTES int ec_ioctl_sdo_request_timeout ( ec_master_t master,
void *  arg,
ec_ioctl_context_t *  ctx 
)
static

Sets an SDO request's timeout.

Returns
Zero on success, otherwise a negative error code.
Parameters
masterEtherCAT master.
argioctl() argument.
ctxPrivate data structure of file handle.

Definition at line 3281 of file rtdm-ioctl.c.

◆ ec_ioctl_sdo_request_state()

static ATTRIBUTES int ec_ioctl_sdo_request_state ( ec_master_t master,
void *  arg,
ec_ioctl_context_t *  ctx 
)
static

Gets an SDO request's state.

Returns
Zero on success, otherwise a negative error code.
Parameters
masterEtherCAT master.
argioctl() argument.
ctxPrivate data structure of file handle.

Definition at line 3318 of file rtdm-ioctl.c.

◆ ec_ioctl_sdo_request_read()

static ATTRIBUTES int ec_ioctl_sdo_request_read ( ec_master_t master,
void *  arg,
ec_ioctl_context_t *  ctx 
)
static

Starts an SDO read operation.

Returns
Zero on success, otherwise a negative error code.
Parameters
masterEtherCAT master.
argioctl() argument.
ctxPrivate data structure of file handle.

Definition at line 3363 of file rtdm-ioctl.c.

◆ ec_ioctl_sdo_request_write()

static ATTRIBUTES int ec_ioctl_sdo_request_write ( ec_master_t master,
void *  arg,
ec_ioctl_context_t *  ctx 
)
static

Starts an SDO write operation.

Returns
Zero on success, otherwise a negative error code.
Parameters
masterEtherCAT master.
argioctl() argument.
ctxPrivate data structure of file handle.

Definition at line 3400 of file rtdm-ioctl.c.

◆ ec_ioctl_sdo_request_data()

static ATTRIBUTES int ec_ioctl_sdo_request_data ( ec_master_t master,
void *  arg,
ec_ioctl_context_t *  ctx 
)
static

Read SDO data.

Returns
Zero on success, otherwise a negative error code.
Parameters
masterEtherCAT master.
argioctl() argument.
ctxPrivate data structure of file handle.

Definition at line 3451 of file rtdm-ioctl.c.

◆ ec_ioctl_reg_request_data()

static ATTRIBUTES int ec_ioctl_reg_request_data ( ec_master_t master,
void *  arg,
ec_ioctl_context_t *  ctx 
)
static

Read register data.

Returns
Zero on success, otherwise a negative error code.
Parameters
masterEtherCAT master.
argioctl() argument.
ctxPrivate data structure of file handle.

Definition at line 3491 of file rtdm-ioctl.c.

◆ ec_ioctl_reg_request_state()

static ATTRIBUTES int ec_ioctl_reg_request_state ( ec_master_t master,
void *  arg,
ec_ioctl_context_t *  ctx 
)
static

Gets an register request's state.

Returns
Zero on success, otherwise a negative error code.
Parameters
masterEtherCAT master.
argioctl() argument.
ctxPrivate data structure of file handle.

Definition at line 3538 of file rtdm-ioctl.c.

◆ ec_ioctl_reg_request_write()

static ATTRIBUTES int ec_ioctl_reg_request_write ( ec_master_t master,
void *  arg,
ec_ioctl_context_t *  ctx 
)
static

Starts an register write operation.

Returns
Zero on success, otherwise a negative error code.
Parameters
masterEtherCAT master.
argioctl() argument.
ctxPrivate data structure of file handle.

Definition at line 3583 of file rtdm-ioctl.c.

◆ ec_ioctl_reg_request_read()

static ATTRIBUTES int ec_ioctl_reg_request_read ( ec_master_t master,
void *  arg,
ec_ioctl_context_t *  ctx 
)
static

Starts an register read operation.

Returns
Zero on success, otherwise a negative error code.
Parameters
masterEtherCAT master.
argioctl() argument.
ctxPrivate data structure of file handle.

Definition at line 3631 of file rtdm-ioctl.c.

◆ ec_ioctl_voe_send_header()

static ATTRIBUTES int ec_ioctl_voe_send_header ( ec_master_t master,
void *  arg,
ec_ioctl_context_t *  ctx 
)
static

Sets the VoE send header.

Returns
Zero on success, otherwise a negative error code.
Parameters
masterEtherCAT master.
argioctl() argument.
ctxPrivate data structure of file handle.

Definition at line 3674 of file rtdm-ioctl.c.

◆ ec_ioctl_voe_rec_header()

static ATTRIBUTES int ec_ioctl_voe_rec_header ( ec_master_t master,
void *  arg,
ec_ioctl_context_t *  ctx 
)
static

Gets the received VoE header.

Returns
Zero on success, otherwise a negative error code.
Parameters
masterEtherCAT master.
argioctl() argument.
ctxPrivate data structure of file handle.

Definition at line 3719 of file rtdm-ioctl.c.

◆ ec_ioctl_voe_read()

static ATTRIBUTES int ec_ioctl_voe_read ( ec_master_t master,
void *  arg,
ec_ioctl_context_t *  ctx 
)
static

Starts a VoE read operation.

Returns
Zero on success, otherwise a negative error code.
Parameters
masterEtherCAT master.
argioctl() argument.
ctxPrivate data structure of file handle.

Definition at line 3767 of file rtdm-ioctl.c.

◆ ec_ioctl_voe_read_nosync()

static ATTRIBUTES int ec_ioctl_voe_read_nosync ( ec_master_t master,
void *  arg,
ec_ioctl_context_t *  ctx 
)
static

Starts a VoE read operation without sending a sync message first.

Returns
Zero on success, otherwise a negative error code.
Parameters
masterEtherCAT master.
argioctl() argument.
ctxPrivate data structure of file handle.

Definition at line 3804 of file rtdm-ioctl.c.

◆ ec_ioctl_voe_write()

static ATTRIBUTES int ec_ioctl_voe_write ( ec_master_t master,
void *  arg,
ec_ioctl_context_t *  ctx 
)
static

Starts a VoE write operation.

Returns
Zero on success, otherwise a negative error code.
Parameters
masterEtherCAT master.
argioctl() argument.
ctxPrivate data structure of file handle.

Definition at line 3841 of file rtdm-ioctl.c.

◆ ec_ioctl_voe_exec()

static ATTRIBUTES int ec_ioctl_voe_exec ( ec_master_t master,
void *  arg,
ec_ioctl_context_t *  ctx 
)
static

Executes the VoE state machine.

Returns
Zero on success, otherwise a negative error code.
Parameters
masterEtherCAT master.
argioctl() argument.
ctxPrivate data structure of file handle.

Definition at line 3887 of file rtdm-ioctl.c.

◆ ec_ioctl_voe_data()

static ATTRIBUTES int ec_ioctl_voe_data ( ec_master_t master,
void *  arg,
ec_ioctl_context_t *  ctx 
)
static

Reads the received VoE data.

Returns
Zero on success, otherwise a negative error code.
Parameters
masterEtherCAT master.
argioctl() argument.
ctxPrivate data structure of file handle.

Definition at line 3934 of file rtdm-ioctl.c.

◆ ec_ioctl_slave_foe_read()

static ATTRIBUTES int ec_ioctl_slave_foe_read ( ec_master_t master,
void *  arg 
)
static

Read a file from a slave via FoE.

Returns
Zero on success, otherwise a negative error code.
Parameters
masterEtherCAT master.
argioctl() argument.

Definition at line 3974 of file rtdm-ioctl.c.

◆ ec_ioctl_slave_foe_write()

static ATTRIBUTES int ec_ioctl_slave_foe_write ( ec_master_t master,
void *  arg 
)
static

Write a file to a slave via FoE.

Returns
Zero on success, otherwise a negative error code.
Parameters
masterEtherCAT master.
argioctl() argument.

Definition at line 4070 of file rtdm-ioctl.c.

◆ ec_ioctl_slave_soe_read()

static ATTRIBUTES int ec_ioctl_slave_soe_read ( ec_master_t master,
void *  arg 
)
static

Read an SoE IDN.

Returns
Zero on success, otherwise a negative error code.
Parameters
masterEtherCAT master.
argioctl() argument.

Definition at line 4158 of file rtdm-ioctl.c.

◆ ec_ioctl_slave_soe_write()

static ATTRIBUTES int ec_ioctl_slave_soe_write ( ec_master_t master,
void *  arg 
)
static

Write an IDN to a slave via SoE.

Returns
Zero on success, otherwise a negative error code.
Parameters
masterEtherCAT master.
argioctl() argument.

Definition at line 4207 of file rtdm-ioctl.c.

◆ EC_IOCTL()

long EC_IOCTL ( ec_master_t master,
ec_ioctl_context_t *  ctx,
unsigned int  cmd,
void *  arg 
)

Called when an ioctl() command is issued.

Returns
ioctl() return code.
Parameters
masterEtherCAT master.
ctxDevice context.
cmdioctl() command identifier.
argioctl() argument.

Definition at line 4261 of file rtdm-ioctl.c.