Mellanox SwitchX SDK API Guide  4.3.2104
Data Structures | Macros | Typedefs | Enumerations | Functions
sx_lib_adviser.h File Reference

Go to the source code of this file.

Data Structures

struct  sx_lib_adviser_event_info
 
struct  sx_lib_adviser_event_registration_params
 
struct  sx_lib_adviser_init_params
 

Macros

#define SX_GENERATE_ENUM(ENUM, STR)   ENUM,
 
#define FOREACH_SX_LIB_ADVISER_EVENT_TYPE(F)
 
#define SX_LIB_ADVISER_EVENT_TYPE_NUM   (SX_LIB_ADVISER_EVENT_TYPE_MAX_E + 1)
 
#define SX_LIB_ADVISER_EVENT_TYPE_CHECK_RANGE(TYPE)   (SX_CHECK_RANGE(SX_LIB_ADVISER_EVENT_TYPE_MIN_E, (TYPE), SX_LIB_ADVISER_EVENT_TYPE_MAX_E))
 

Typedefs

typedef enum sx_lib_adviser_event_type sx_lib_adviser_event_type_e
 
typedef sx_event_port_lag_changes_t sx_lib_adviser_event_lag_changes_t
 
typedef sx_event_port_added_deleted_t sx_lib_adviser_event_port_added_deleted_t
 
typedef struct sx_lib_adviser_event_info sx_lib_adviser_event_info_t
 
typedef sx_status_t(* sx_lib_adviser_cb_t) (const sx_lib_adviser_event_info_t event_info, const void *context)
 
typedef struct sx_lib_adviser_event_registration_params sx_lib_adviser_event_registration_params_t
 
typedef struct sx_lib_adviser_init_params sx_lib_adviser_init_params_t
 

Enumerations

enum  sx_lib_adviser_event_type {
  SX_LIB_ADVISER_EVENT_NONE_E = 0, SX_LIB_ADVISER_PORT_ADDED_E = 1, SX_LIB_ADVISER_PORT_DELETED_E = 2, SX_LIB_ADVISER_PORT_ADDED_TO_LAG = 3,
  SX_LIB_ADVISER_PORT_DELETED_FROM_LAG = 4, SX_LIB_ADVISER_EVENT_TYPE_MIN_E = SX_LIB_ADVISER_PORT_ADDED_E, SX_LIB_ADVISER_EVENT_TYPE_MAX_E = SX_LIB_ADVISER_PORT_DELETED_FROM_LAG
}
 

Functions

sx_status_t sx_lib_adviser_init (const sx_lib_adviser_init_params_t init_params)
 
sx_status_t sx_lib_adviser_deinit (void)
 
sx_status_t sx_lib_adviser_event_register (const sx_lib_adviser_event_registration_params_t event_register_params)
 
sx_status_t sx_lib_adviser_event_deregister (const sx_lib_adviser_event_registration_params_t event_register_params)
 

Macro Definition Documentation

◆ SX_GENERATE_ENUM

#define SX_GENERATE_ENUM (   ENUM,
  STR 
)    ENUM,

◆ FOREACH_SX_LIB_ADVISER_EVENT_TYPE

#define FOREACH_SX_LIB_ADVISER_EVENT_TYPE (   F)

◆ SX_LIB_ADVISER_EVENT_TYPE_NUM

#define SX_LIB_ADVISER_EVENT_TYPE_NUM   (SX_LIB_ADVISER_EVENT_TYPE_MAX_E + 1)

◆ SX_LIB_ADVISER_EVENT_TYPE_CHECK_RANGE

#define SX_LIB_ADVISER_EVENT_TYPE_CHECK_RANGE (   TYPE)    (SX_CHECK_RANGE(SX_LIB_ADVISER_EVENT_TYPE_MIN_E, (TYPE), SX_LIB_ADVISER_EVENT_TYPE_MAX_E))

Typedef Documentation

◆ sx_lib_adviser_event_type_e

◆ sx_lib_adviser_event_lag_changes_t

typedef sx_event_port_lag_changes_t sx_lib_adviser_event_lag_changes_t

◆ sx_lib_adviser_event_port_added_deleted_t

typedef sx_event_port_added_deleted_t sx_lib_adviser_event_port_added_deleted_t

◆ sx_lib_adviser_event_info_t

◆ sx_lib_adviser_cb_t

typedef sx_status_t(* sx_lib_adviser_cb_t) (const sx_lib_adviser_event_info_t event_info, const void *context)

◆ sx_lib_adviser_event_registration_params_t

◆ sx_lib_adviser_init_params_t

Enumeration Type Documentation

◆ sx_lib_adviser_event_type

Enumerator
SX_LIB_ADVISER_EVENT_NONE_E 
SX_LIB_ADVISER_PORT_ADDED_E 
SX_LIB_ADVISER_PORT_DELETED_E 
SX_LIB_ADVISER_PORT_ADDED_TO_LAG 
SX_LIB_ADVISER_PORT_DELETED_FROM_LAG 
SX_LIB_ADVISER_EVENT_TYPE_MIN_E 
SX_LIB_ADVISER_EVENT_TYPE_MAX_E 

Function Documentation

◆ sx_lib_adviser_init()

sx_status_t sx_lib_adviser_init ( const sx_lib_adviser_init_params_t  init_params)

Initializes and sets the verbosity level of this module. This function should be called before any use of the library. The function initializes a host-ifc channel, registers for the supported events, and initializes a thread that will receive the events.

Parameters
[in]init_params– a structure that holds the init parameters
Returns
SX_STATUS_SUCCESS if operation completes successfully
SX_STATUS_PARAM_ERROR if an input parameter is invalid
SX_STATUS_ERROR for a general error

◆ sx_lib_adviser_deinit()

sx_status_t sx_lib_adviser_deinit ( void  )

Deinitializes this module.

Returns
SX_STATUS_SUCCESS if operation completes successfully
SX_STATUS_ERROR for a general error

◆ sx_lib_adviser_event_register()

sx_status_t sx_lib_adviser_event_register ( const sx_lib_adviser_event_registration_params_t  event_register_params)

Registers a callback to an event. When such event occurs, the callback function provided will be triggered. In case of port related events, there is an option to exclude ports, by specifying the excluded ports in the provided parameters. Any number of callbacks can be registered.

Parameters
[in]event_register_params– relevant event parameters.
Returns
SX_STATUS_SUCCESS if operation completes successfully
SX_STATUS_PARAM_ERROR if an input parameter is invalid
SX_STATUS_ERROR for a general error

◆ sx_lib_adviser_event_deregister()

sx_status_t sx_lib_adviser_event_deregister ( const sx_lib_adviser_event_registration_params_t  event_register_params)

Deregisters a callback from an event. The event type and callback must be specified in the given struct. The rest of the parameters inside the struct are ignored.

Parameters
[in]event_register_params– holds the event parameters. only event_type and callback should be set.
Returns
SX_STATUS_SUCCESS if operation completes successfully
SX_STATUS_PARAM_ERROR if an input parameter is invalid
SX_STATUS_ERROR for a general error
SX_LIB_ADVISER_PORT_ADDED_TO_LAG
Definition: sx_lib_adviser.h:41
SX_LIB_ADVISER_EVENT_TYPE_MAX_E
Definition: sx_lib_adviser.h:41
SX_LIB_ADVISER_PORT_DELETED_E
Definition: sx_lib_adviser.h:41
SX_LIB_ADVISER_EVENT_NONE_E
Definition: sx_lib_adviser.h:41
SX_LIB_ADVISER_PORT_DELETED_FROM_LAG
Definition: sx_lib_adviser.h:41
SX_LIB_ADVISER_PORT_ADDED_E
Definition: sx_lib_adviser.h:41
SX_LIB_ADVISER_EVENT_TYPE_MIN_E
Definition: sx_lib_adviser.h:41