libsysactivity  0.6.3
 All Data Structures Functions Variables Enumerations Enumerator Groups Pages
Data Structures | Functions
Network interface

Data Structures

struct  sa_net_interface

Functions

int sa_open_net (void) SA_EXPORT
int sa_close_net (void) SA_EXPORT
int sa_count_net_interfaces (uint16_t *number) SA_EXPORT SA_NONNULL
int sa_reset_net_interfaces () SA_EXPORT
int sa_get_net_interfaces_ids (char *dst, uint16_t dst_size, uint16_t *written) SA_EXPORT SA_NONNULL
int sa_get_net_interface (char *name, struct sa_net_interface *dst) SA_EXPORT SA_NONNULL
int sa_get_net_interfaces (struct sa_net_interface *dst, uint16_t dst_size, uint16_t *written) SA_EXPORT SA_NONNULL

Detailed Description


Function Documentation

int sa_open_net ( void  )

Prepares the resources needed for retrieving network statistics. This function exists (and is needed) only when SA_OPEN_NET is defined.

Returns:
If successful 0 is returned, otherwise an error code is returned. If the operating system is not supported the return value will be ENOTSUP.
See also:
sa_close_net()
Since:
0.6.0
int sa_close_net ( void  )

This function closes the resources used for retrieving network statistics. You should call it even when there was a previous error in another function of this API. This function exists (and is needed) only when SA_CLOSE_NET is defined.

Returns:
If successful 0 is returned, otherwise an error code is returned.
See also:
sa_open_net()
Since:
0.6.0
int sa_count_net_interfaces ( uint16_t *  number)

Gives the total number of network interfaces. You don't need to call sa_reset_net_interfaces() before this function.

Parameters:
numberThe number will be stored here
Returns:
If successful 0 is returned, otherwise an error code is returned.
Since:
0.6.0
int sa_reset_net_interfaces ( )

Refreshes the underlying operating system cache.

Returns:
If successful 0 is returned, otherwise an error code is returned.
Since:
0.6.0
int sa_get_net_interfaces_ids ( char *  dst,
uint16_t  dst_size,
uint16_t *  written 
)

Returns a list of the existing the network interfaces ids. The array will be fully populated even if it's not big enough (but ENOMEM is returned). sa_reset_net_interfaces() should be called at least once before this function and everytime you need fresh values.

Parameters:
dstWhere the statistics will be stored.
dst_sizeThe number of ids that fits on the dst pointer.
writtenThe number of network interfaces ids written.
Returns:
If successful 0 is returned, otherwise an error code is returned. ENODEV is returned when there are no more disks available.
Since:
0.6.0
int sa_get_net_interface ( char *  name,
struct sa_net_interface dst 
)

Retrieves statistics from a network interface identified by its name. sa_reset_net_interfaces() should be called at least once before this function and everytime you need fresh values.

Parameters:
nameThe name of the network interface.
dstWhere the statistics will be stored.
Returns:
If successful 0 is returned, otherwise an error code is returned. ENODEV is returned when the requested device was not found.
Since:
0.6.0
int sa_get_net_interfaces ( struct sa_net_interface dst,
uint16_t  dst_size,
uint16_t *  written 
)

Retrieves statistics about all the network interfaces' activity. sa_reset_net_interfaces() should be called at least once before this function and everytime you need fresh values.

Parameters:
dstA buffer where the statistics will be stored.
dst_sizeThe number of interfaces that fits in the dst buffer. If it's not big enough dst will be filled but ENOMEM will be returned.
writtenThe amount of interface statistics written.
Returns:
If successful 0 is returned, otherwise an error code is returned.
Since:
0.6.0