bcm的dispatch机制
bcm的dispatch机制
dispatch 机制的简介
dispatch机制,是用于一套代码可以适配多个设备用的,对于交换机来说,一般可能所用的芯片不只有一种芯片,例如:有可能用bcm的芯片,也有可能用marvell的芯片,这样怎样能让其根据所使用的不同的芯片,代码里根据不同的芯片调用不同的流程呢? 同事还能满足应用层对sdk调用的接口不变,例如:应用程序调用set_port_status_block(), 对于应用程序,永远调用的是这一个函数,但是底层,就是sdk层,所走的流程完全不同,所调用的函数也不同,对于bcm的调用bcm里相应的函数。对于marvell的调用marvell里的相应的函数。
bcm sdk中有这样一种机制,dispatch机制,下面我们对这个机制来学习一下。
dispatch 文件的生成
生成的这些dispatch文件是用来展开各个不同的设备的,dispatch文件展开的话,会自动的调用不同设备的api函数。
dispatch 文件的展开
如上include的dist.h 文件,是如下的形式定义的,很明显的是,先使用宏,然后在undef宏,这样这个宏就能使用多次,为多个函数来服务了。
时间仓促,感觉写的真不咋样,看了不理解的,可以给我评论留言。