25#if !defined (__SAI_H_)
183typedef const char* (*sai_profile_get_value_fn)(
184 _In_ sai_switch_profile_id_t profile_id,
185 _In_
const char *variable);
187typedef int (*sai_profile_get_next_value_fn)(
188 _In_ sai_switch_profile_id_t profile_id,
189 _Out_
const char **variable,
190 _Out_
const char **value);
239 _Out_
void **api_method_table);
272 _In_ sai_object_id_t object_id);
285 _In_ sai_object_id_t object_id);
295 _In_
const char *dump_file_name);
310 _In_ sai_object_id_t switch_id,
312 _In_ uint32_t attr_count,
314 _Out_ uint64_t *count);
enum _sai_object_type_t sai_object_type_t
SAI object type.
enum _sai_api_t sai_api_t
Defined API sets have assigned IDs.
sai_status_t sai_api_query(_In_ sai_api_t api, _Out_ void **api_method_table)
Retrieve a pointer to the C-style method table for desired SAI functionality as specified by the give...
sai_status_t sai_log_set(_In_ sai_api_t api, _In_ sai_log_level_t log_level)
Set log level for SAI API module.
enum _sai_log_level_t sai_log_level_t
Defines log level.
struct _sai_service_method_table_t sai_service_method_table_t
Method table that contains function pointers for services exposed by adapter host for adapter.
sai_status_t sai_api_initialize(_In_ uint64_t flags, _In_ const sai_service_method_table_t *services)
Adapter module initialization call.
sai_object_type_t sai_object_type_query(_In_ sai_object_id_t object_id)
Query SAI object type.
sai_status_t sai_api_uninitialize(void)
Uninitialize adapter module. SAI functionalities, retrieved via sai_api_query() cannot be used after ...
sai_status_t sai_dbg_generate_dump(_In_ const char *dump_file_name)
Generate dump file. The dump file may include SAI state information and vendor SDK information.
sai_object_id_t sai_switch_id_query(_In_ sai_object_id_t object_id)
Query SAI switch id.
sai_status_t sai_object_type_get_availability(_In_ sai_object_id_t switch_id, _In_ sai_object_type_t object_type, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list, _Out_ uint64_t *count)
Get SAI object type resource availability.
_sai_log_level_t
Defines log level.
_sai_api_t
Defined API sets have assigned IDs.
@ SAI_API_GENERIC_PROGRAMMABLE
@ SAI_API_SCHEDULER_GROUP
@ SAI_API_ISOLATION_GROUP
@ SAI_API_CUSTOM_RANGE_START
@ SAI_API_ROUTER_INTERFACE
@ SAI_API_CUSTOM_RANGE_END
This module defines SAI ACL interface.
This module defines SAI interface for adaptive routing and switching.
This module defines SAI QOS Maps interface.
This module defines SAI BFD interface.
This module defines SAI Bridge.
This module defines SAI Buffer interface.
This module defines SAI Counter interface.
This module defines SAI Debug Counter interface.
This module defines SAI data plane telemetry (DTEL) interface.
This module defines SAI FDB interface.
This module defines SAI Genetic Programmable Extensions (GPE)
This module defines SAI Hash interface.
This module defines SAI host interface.
This module defines SAI IPMC interface.
This module defines SAI IPMC Group interface.
This module defines SAI IPsec interface.
This module defines SAI Isolation Group interface.
This module defines SAI L2MC interface.
This module defines SAI L2MC Group interface.
This module defines SAI LAG interface.
This module defines SAI MACsec interface.
This module defines SAI multicast FDB interface.
This module defines SAI Port Mirror interface.
This module defines SAI MPLS interface.
This module defines SAI My MAC.
This module defines SAI NAT (Network Address Translation) spec.
This module defines SAI Neighbor interface.
This module defines SAI Next Hop interface.
This module defines SAI Next Hop Group interface.
This module defines SAI APIs for bulk retrieval for each object-type.
This module defines SAI QOS Policer interface.
This module defines SAI Port interface.
This module defines SAI QOS Maps interface.
This module defines SAI QOS Queue interface.
This module defines SAI Route Entry interface.
This module defines SAI Router interface.
This module defines SAI RPF Group interface.
This module defines SAI Sample Packet interface.
This module defines SAI QOS Scheduler interface.
This module defines SAI QOS Scheduler Group interface.
This module defines SAI SRV6 Entry interface.
This module defines SAI Status codes.
This module defines SAI STP interface.
This module defines SAI Switch interface.
This module defines SAI System Port interface.
This module defines SAI TAM (Telemetry And Monitoring) spec.
This module defines SAI Tunnel interface.
This module defines SAI Two-Way Active Measurement Protocol interface.
This module defines SAI portable types.
This module defines SAI UDF (User Defined Field) interface.
Define the current version.
This module defines SAI Virtual Router interface.
This module defines SAI VLAN interface.
This module defines SAI QOS WRED interface.
Method table that contains function pointers for services exposed by adapter host for adapter.
sai_profile_get_next_value_fn profile_get_next_value
Enumerate all the K/V pairs in a profile.
sai_profile_get_value_fn profile_get_value
Get variable value given its name.