bfcmap_ident.h (1790B)
1 /* 2 * 3 * This license is set out in https://raw.githubusercontent.com/Broadcom-Network-Switching-Software/OpenBCM/master/Legal/LICENSE file. 4 * 5 * Copyright 2007-2019 Broadcom Inc. All rights reserved. 6 */ 7 8 #ifndef BFCMAP_IDENT_H 9 #define BFCMAP_IDENT_H 10 11 struct bfcmap_chip_info_s; 12 struct bfcmap_port_ctrl_s; 13 struct bfcmap_dev_ctrl_s; 14 struct bfcmap_api_table_s; 15 struct bfcmap_counter_info_s; 16 struct bfcmap_counter_cb_s; 17 18 typedef struct bfcmap_drv_tbl_entry_s { 19 char *name; 20 bfcmap_core_t id; 21 int num_port; 22 struct bfcmap_api_table_s *apis; 23 } bfcmap_drv_tbl_entry_t; 24 25 /* Returns the bfcmap driver entry corresponding to device core dev_core */ 26 bfcmap_drv_tbl_entry_t* _bfcmap_find_driver(bfcmap_core_t dev_core); 27 28 extern int _bfcmap_get_device(bfcmap_dev_addr_t dev_addr); 29 /* 30 * Return mdev for device corresponding to its address. 31 */ 32 #define BFCMAP_GET_DEVICE_FROM_DEVADDR(a) _bfcmap_get_device((a)) 33 34 /* 35 * Adds mapping between bfcmap_port_t and bfcmap_port_ctrl_t */ 36 extern int _bfcmap_add_port(bfcmap_port_t p, struct bfcmap_port_ctrl_s *mpc); 37 38 #define BFCMAP_ADD_PORT(p, mpc) _bfcmap_add_port((p), (mpc)) 39 40 extern int _bfcmap_remove_port(bfcmap_port_t p); 41 42 #define BFCMAP_REMOVE_PORT(p) _bfcmap_remove_port((p)) 43 44 /* 45 * Return bfcmap_port_ctrl_t corresponding to port. 46 */ 47 extern struct bfcmap_port_ctrl_s * _bfcmap_get_port_ctrl(bfcmap_port_t p); 48 49 #define BFCMAP_GET_PORT_CONTROL_FROM_PORTID(p) \ 50 _bfcmap_get_port_ctrl((p)) 51 52 /* 53 * Return bfcmap_port_t corresponding to bfcmap_port_ctrl_t. 54 */ 55 extern bfcmap_port_t _bfcmap_get_port_id(struct bfcmap_port_ctrl_s *mpc); 56 57 #define BFCMAP_GET_PORT_ID(mpc) (mpc)->portId 58 59 #endif /* BFCMAP_IDENT_H */ 60