int bcm_mirror_destination_count_command_get(int unit, bcm_core_t core_id, bcm_gport_t mirror_dest_id, int counter_cmd_id, uint32 flags, bcm_mirror_profile_cmd_count_t *mirror_count_info);
int bcm_mirror_destination_count_command_set(int unit, bcm_core_t core_id, bcm_gport_t mirror_dest_id, int counter_cmd_id, uint32 flags, bcm_mirror_profile_cmd_count_t *mirror_count_info);
int bcm_mirror_destination_create(int unit, bcm_mirror_destination_t *mirror_dest);
int bcm_mirror_destination_destroy(int unit, bcm_gport_t mirror_dest_id);
int bcm_mirror_destination_get(int unit, bcm_gport_t mirror_dest_id, bcm_mirror_destination_t *mirror_dest);
void bcm_mirror_destination_t_init(bcm_mirror_destination_t *mirror_dest);
int bcm_mirror_destination_traverse(int unit, bcm_mirror_destination_traverse_cb cb, void *user_data);
int bcm_mirror_egress_get(int unit, bcm_port_t port, int *val);
int bcm_mirror_egress_mod_event_group_create(int unit, bcm_egress_drop_event_t *event_array, int num_events, bcm_mirror_egress_mod_event_group_t *group); /* not in OpenBCM 6.5.27 */
int bcm_mirror_egress_mod_event_group_destroy(int unit, bcm_mirror_egress_mod_event_group_t group); /* not in OpenBCM 6.5.27 */
int bcm_mirror_egress_mod_event_group_get(int unit, bcm_mirror_egress_mod_event_group_t group, bcm_egress_drop_event_t *event_array, int *count); /* not in OpenBCM 6.5.27 */
int bcm_mirror_egress_mod_event_group_get_all(int unit, bcm_mirror_egress_mod_event_group_t *group_array, int *count); /* not in OpenBCM 6.5.27 */
int bcm_mirror_egress_mod_event_profile_create(int unit, bcm_mirror_egress_mod_event_profile_t *profile, int *profile_id); /* not in OpenBCM 6.5.27 */
int bcm_mirror_egress_mod_event_profile_destroy(int unit, int profile_id); /* not in OpenBCM 6.5.27 */
int bcm_mirror_egress_mod_event_profile_get(int unit, int profile_id, bcm_mirror_egress_mod_event_profile_t *profile); /* not in OpenBCM 6.5.27 */
int bcm_mirror_egress_mod_event_profile_get_all(int unit, int *profile_id_array, int *count); /* not in OpenBCM 6.5.27 */
int bcm_mirror_egress_mod_event_profile_group_add(int unit, int profile_id, bcm_mirror_egress_mod_event_group_t group, int hit); /* not in OpenBCM 6.5.27 */
int bcm_mirror_egress_mod_event_profile_group_delete(int unit, int profile_id, bcm_mirror_egress_mod_event_group_t group); /* not in OpenBCM 6.5.27 */
int bcm_mirror_egress_mod_event_profile_group_get(int unit, int profile_id, bcm_mirror_egress_mod_event_group_t group, int *hit); /* not in OpenBCM 6.5.27 */
int bcm_mirror_egress_mod_event_profile_group_get_all(int unit, int profile_id, bcm_mirror_egress_mod_event_group_t *group_array, int *count); /* not in OpenBCM 6.5.27 */
void bcm_mirror_egress_mod_event_profile_t_init(bcm_mirror_egress_mod_event_profile_t *profile); /* not in OpenBCM 6.5.27 */
int bcm_mirror_egress_set(int unit, bcm_port_t port, int val);
int bcm_mirror_encap_info_get(int unit, bcm_mirror_encap_instance_t *encap_instance, bcm_mirror_encap_info_t *encap_info);
void bcm_mirror_encap_info_t_init(bcm_mirror_encap_info_t *info);
int bcm_mirror_encap_instance_get(int unit, int mtp_index, bcm_mirror_encap_instance_t *encap_instance); /* not in OpenBCM 6.5.27 */
void bcm_mirror_encap_instance_t_init(bcm_mirror_encap_instance_t *instance);
int bcm_mirror_global_truncate_get(int unit, bcm_mirror_global_truncate_t *global_truncate);
int bcm_mirror_global_truncate_set(int unit, bcm_mirror_global_truncate_t *global_truncate);
void bcm_mirror_global_truncate_t_init(bcm_mirror_global_truncate_t *global_truncate);
int bcm_mirror_header_info_get(int unit, bcm_gport_t mirror_dest_id, uint32 *flags, bcm_mirror_header_info_t *mirror_header_info);
int bcm_mirror_header_info_set(int unit, uint32 flags, bcm_gport_t mirror_dest_id, bcm_mirror_header_info_t *mirror_header_info);
void bcm_mirror_header_info_t_init(bcm_mirror_header_info_t *mirror_header_info);
int bcm_mirror_ingress_get(int unit, bcm_port_t port, int *val);
int bcm_mirror_ingress_mod_apu_drop_control_get(int unit, bcm_mirror_ingress_mod_event_profile_t *profile); /* not in OpenBCM 6.5.27 */
int bcm_mirror_ingress_mod_apu_drop_control_set(int unit, bcm_mirror_ingress_mod_event_profile_t *profile); /* not in OpenBCM 6.5.27 */
int bcm_mirror_ingress_mod_event_group_create(int unit, bcm_mirror_ingress_mod_event_t *event_array, int num_events, bcm_mirror_ingress_mod_event_group_t *group);
int bcm_mirror_ingress_mod_event_group_destroy(int unit, bcm_mirror_ingress_mod_event_group_t group);
int bcm_mirror_ingress_mod_event_group_get(int unit, bcm_mirror_ingress_mod_event_group_t group, bcm_mirror_ingress_mod_event_t *event_array, int *count);
int bcm_mirror_ingress_mod_event_group_get_all(int unit, bcm_mirror_ingress_mod_event_group_t *group_array, int *count);
int bcm_mirror_ingress_mod_event_profile_create(int unit, bcm_mirror_ingress_mod_event_profile_t *profile, int *profile_id);
int bcm_mirror_ingress_mod_event_profile_destroy(int unit, int profile_id);
int bcm_mirror_ingress_mod_event_profile_get(int unit, int profile_id, bcm_mirror_ingress_mod_event_profile_t *profile);
int bcm_mirror_ingress_mod_event_profile_get_all(int unit, int *profile_id_array, int *count);
int bcm_mirror_ingress_mod_event_profile_group_add(int unit, int profile_id, bcm_mirror_ingress_mod_event_group_t group, int hit);
int bcm_mirror_ingress_mod_event_profile_group_delete(int unit, int profile_id, bcm_mirror_ingress_mod_event_group_t group);
int bcm_mirror_ingress_mod_event_profile_group_get(int unit, int profile_id, bcm_mirror_ingress_mod_event_group_t group, int *hit);
int bcm_mirror_ingress_mod_event_profile_group_get_all(int unit, int profile_id, bcm_mirror_ingress_mod_event_group_t *group_array, int *count);
void bcm_mirror_ingress_mod_event_profile_t_init(bcm_mirror_ingress_mod_event_profile_t *profile);
int bcm_mirror_ingress_mod_events_get_all(int unit, int max_events, bcm_mirror_ingress_mod_event_t *event_array, int *num_events); /* not in OpenBCM 6.5.27 */
int bcm_mirror_ingress_set(int unit, bcm_port_t port, int val);
int bcm_mirror_init(int unit);
void bcm_mirror_int_probe_header_t_init(bcm_mirror_int_probe_header_t *header);
int bcm_mirror_mode_get(int unit, int *mode);
int bcm_mirror_mode_set(int unit, int mode);
int bcm_mirror_mon_sample_get(int unit, bcm_mirror_mon_sample_t *sample); /* not in OpenBCM 6.5.27 */
int bcm_mirror_mon_sample_set(int unit, bcm_mirror_mon_sample_t *sample); /* not in OpenBCM 6.5.27 */
void bcm_mirror_mon_sample_t_init(bcm_mirror_mon_sample_t *sample); /* not in OpenBCM 6.5.27 */
int bcm_mirror_multi_dip_group_ipv4_create(int unit, bcm_mirror_multi_dip_entry_num_t num_entries, bcm_ip_t *ipv4_addr_array, bcm_mirror_multi_dip_group_t *group);
int bcm_mirror_multi_dip_group_ipv4_destroy(int unit, bcm_mirror_multi_dip_group_t group);
int bcm_mirror_multi_dip_group_ipv4_get(int unit, bcm_mirror_multi_dip_group_t group, bcm_ip_t *ipv4_addr_array, int *count);
int bcm_mirror_multi_dip_group_ipv4_get_all(int unit, bcm_mirror_multi_dip_group_t *ipv4_group_array, int *count);
int bcm_mirror_multi_dip_group_ipv6_create(int unit, bcm_mirror_multi_dip_entry_num_t num_entries, bcm_ip6_t *ipv6_addr_array, bcm_mirror_multi_dip_group_t *group);
int bcm_mirror_multi_dip_group_ipv6_destroy(int unit, bcm_mirror_multi_dip_group_t group);
int bcm_mirror_multi_dip_group_ipv6_get(int unit, bcm_mirror_multi_dip_group_t group, bcm_ip6_t *ipv6_addr_array, int *count);
int bcm_mirror_multi_dip_group_ipv6_get_all(int unit, bcm_mirror_multi_dip_group_t *ipv6_group_array, int *count);
int bcm_mirror_on_event_get(int unit, uint32 flags, bcm_mirror_on_event_key_t *key, bcm_mirror_on_event_info_t *info); /* not in OpenBCM 6.5.27 */
int bcm_mirror_on_event_set(int unit, uint32 flags, bcm_mirror_on_event_key_t *key, bcm_mirror_on_event_info_t *info); /* not in OpenBCM 6.5.27 */
void bcm_mirror_options_t_init(bcm_mirror_options_t *mirror_dest);
int bcm_mirror_payload_zero_control_multi_get(int unit, bcm_mirror_payload_zero_info_t *payload_zero_config_array, int num_configs);
int bcm_mirror_payload_zero_control_multi_set(int unit, bcm_mirror_payload_zero_info_t *payload_zero_config_array, int num_configs);
void bcm_mirror_payload_zero_info_t_init(bcm_mirror_payload_zero_info_t *info);
void bcm_mirror_payload_zero_offsets_t_init(bcm_mirror_payload_zero_offsets_t *mirror_payload_zero_offset);
int bcm_mirror_payload_zero_profile_create(int unit, bcm_mirror_payload_zero_offsets_t *mirror_payload_offset_info, uint32 flags, uint32 *profile_index);
int bcm_mirror_payload_zero_profile_destroy(int unit, uint32 flags, uint32 profile_index);
void bcm_mirror_pkt_header_updates_t_init(bcm_mirror_pkt_header_updates_t *mirror_dest);
int bcm_mirror_port_dest_add(int unit, bcm_port_t port, uint32 flags, bcm_gport_t mirror_dest_id);
int bcm_mirror_port_dest_delete(int unit, bcm_port_t port, uint32 flags, bcm_gport_t mirror_dest_id);
int bcm_mirror_port_dest_delete_all(int unit, bcm_port_t port, uint32 flags);
int bcm_mirror_port_dest_get(int unit, bcm_port_t port, uint32 flags, int mirror_dest_size, bcm_gport_t *mirror_dest, int *mirror_dest_count);
int bcm_mirror_port_destination_add(int unit, bcm_port_t port, uint32 flags, bcm_gport_t mirror_dest, bcm_mirror_options_t options);
int bcm_mirror_port_destination_get(int unit, bcm_port_t port, uint32 flags, int mirror_dest_size, bcm_gport_t *mirror_dest, int *mirror_dest_count, bcm_mirror_options_t *options);
int bcm_mirror_port_get(int unit, bcm_port_t port, bcm_module_t *dest_mod, bcm_port_t *dest_port, uint32 *flags);
int bcm_mirror_port_info_get(int unit, bcm_port_t port, uint32 flags, bcm_mirror_port_info_t *info);
int bcm_mirror_port_info_set(int unit, bcm_port_t port, uint32 flags, bcm_mirror_port_info_t *info);
void bcm_mirror_port_info_t_init(bcm_mirror_port_info_t *info);
int bcm_mirror_port_set(int unit, bcm_port_t port, bcm_module_t dest_mod, bcm_port_t dest_port, uint32 flags);
int bcm_mirror_port_to_rcy_port_map_get(int unit, uint32 flags, bcm_port_t forward_port, bcm_mirror_port_to_rcy_map_info_t *rcy_map_info);
int bcm_mirror_port_to_rcy_port_map_set(int unit, uint32 flags, bcm_port_t forward_port, bcm_mirror_port_to_rcy_map_info_t *rcy_map_info);
int bcm_mirror_port_vlan_dest_add(int unit, bcm_port_t port, bcm_vlan_t vlan, uint32 flags, bcm_gport_t destid);
int bcm_mirror_port_vlan_dest_delete(int unit, bcm_port_t port, bcm_vlan_t vlan, uint32 flags, bcm_gport_t destid);
int bcm_mirror_port_vlan_dest_delete_all(int unit, bcm_port_t port, bcm_vlan_t vlan, uint32 flags);
int bcm_mirror_port_vlan_dest_get(int unit, bcm_port_t port, bcm_vlan_t vlan, uint32 flags, uint32 mirror_dest_size, bcm_gport_t *destid, uint32 *destcount);
int bcm_mirror_port_vlan_destination_add(int unit, bcm_port_t port, bcm_vlan_t vlan, uint32 flags, bcm_gport_t destid, bcm_mirror_options_t options);
int bcm_mirror_port_vlan_destination_get(int unit, bcm_port_t port, bcm_vlan_t vlan, uint32 flags, uint32 mirror_dest_size, bcm_gport_t *destid, uint32 *destcount, bcm_mirror_options_t *options);
int bcm_mirror_port_vlan_get(int unit, bcm_port_t port, bcm_vlan_t vlan, bcm_gport_t *dest_port, uint32 *flags);
int bcm_mirror_port_vlan_set(int unit, bcm_port_t port, bcm_vlan_t vlan, bcm_gport_t destport, uint32 flags);
int bcm_mirror_sample_egress_ports_and_queues_get(int unit, bcm_mirror_sample_egress_ports_and_queues_t *source); /* not in OpenBCM 6.5.27 */
int bcm_mirror_sample_egress_ports_and_queues_set(int unit, bcm_mirror_sample_egress_ports_and_queues_t *source); /* not in OpenBCM 6.5.27 */
int bcm_mirror_sample_profile_create(int unit, uint32 options, bcm_mirror_sample_type_t type, int *profile_id);
int bcm_mirror_sample_profile_destroy(int unit, bcm_mirror_sample_type_t type, int profile_id);
int bcm_mirror_sample_profile_get(int unit, bcm_mirror_sample_type_t type, int profile_id, bcm_mirror_sample_profile_t *profile);
int bcm_mirror_sample_profile_set(int unit, bcm_mirror_sample_type_t type, int profile_id, bcm_mirror_sample_profile_t *profile);
void bcm_mirror_sample_profile_t_init(bcm_mirror_sample_profile_t *profile);
int bcm_mirror_sample_stat_attach(int unit, bcm_mirror_sample_type_t type, uint32 stat_counter_id);
int bcm_mirror_sample_stat_detach(int unit, bcm_mirror_sample_type_t type, uint32 stat_counter_id);
int bcm_mirror_sample_stat_get(int unit, int profile_id, bcm_mirror_sample_stat_type_t type, uint64 *value);
int bcm_mirror_sample_stat_set(int unit, int profile_id, bcm_mirror_sample_stat_type_t type, uint64 value);
int bcm_mirror_sample_stat_sync_get(int unit, int profile_id, bcm_mirror_sample_stat_type_t type, uint64 *value);
int bcm_mirror_second_pass_enable_get(int unit, int profile_id, bcm_mirror_encap_instance_t *instance, int *enable); /* not in OpenBCM 6.5.27 */
int bcm_mirror_second_pass_enable_set(int unit, int profile_id, bcm_mirror_encap_instance_t *instance, int enable); /* not in OpenBCM 6.5.27 */
int bcm_mirror_source_dest_add(int unit, bcm_mirror_source_t *source, bcm_gport_t mirror_dest_id);
int bcm_mirror_source_dest_delete(int unit, bcm_mirror_source_t *source, bcm_gport_t mirror_dest_id);
int bcm_mirror_source_dest_delete_all(int unit, bcm_mirror_source_t *source);
int bcm_mirror_source_dest_get_all(int unit, bcm_mirror_source_t *source, int array_size, bcm_gport_t *mirror_dest, int *count);
void bcm_mirror_source_t_init(bcm_mirror_source_t *source);
int bcm_mirror_stat_get(int unit, bcm_mirror_stat_object_t *object, bcm_mirror_stat_t type, uint64 *value);
void bcm_mirror_stat_object_t_init(bcm_mirror_stat_object_t *object);
int bcm_mirror_stat_set(int unit, bcm_mirror_stat_object_t *object, bcm_mirror_stat_t type, uint64 value);
int bcm_mirror_stat_sync_get(int unit, bcm_mirror_stat_object_t *object, bcm_mirror_stat_t type, uint64 *value);
int bcm_mirror_to_get(int unit, bcm_port_t *port);
int bcm_mirror_to_pbmp_get(int unit, bcm_port_t port, bcm_pbmp_t *pbmp);
int bcm_mirror_to_pbmp_set(int unit, bcm_port_t port, bcm_pbmp_t pbmp);
int bcm_mirror_to_set(int unit, bcm_port_t port);
int bcm_mirror_truncate_length_profile_create(int unit, uint32 options, int *profile_id, bcm_mirror_truncate_length_profile_t *profile);
int bcm_mirror_truncate_length_profile_destroy(int unit, int profile_id);
int bcm_mirror_truncate_length_profile_get(int unit, int profile_id, bcm_mirror_truncate_length_profile_t *profile);
void bcm_mirror_truncate_length_profile_t_init(bcm_mirror_truncate_length_profile_t *profile);
int bcm_mirror_vlan_get(int unit, bcm_port_t port, uint16 *tpid, uint16 *vlan);
int bcm_mirror_vlan_set(int unit, bcm_port_t port, uint16 tpid, uint16 vlan);