您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ IFM_MAKEWORD函数代码示例

51自学网 2021-06-01 21:28:40
  C++
这篇教程C++ IFM_MAKEWORD函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中IFM_MAKEWORD函数的典型用法代码示例。如果您正苦于以下问题:C++ IFM_MAKEWORD函数的具体用法?C++ IFM_MAKEWORD怎么用?C++ IFM_MAKEWORD使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了IFM_MAKEWORD函数的21个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: xmphy_attach

voidxmphy_attach(struct device *parent, struct device *self, void *aux){	struct mii_softc *sc = (struct mii_softc *)self;	struct mii_attach_args *ma = aux;	struct mii_data *mii = ma->mii_data;	const struct mii_phydesc *mpd;	mpd = mii_phy_match(ma, xmphys);	printf(": %s, rev. %d/n", mpd->mpd_name, MII_REV(ma->mii_id2));	sc->mii_inst = mii->mii_instance;	sc->mii_phy = ma->mii_phyno;	sc->mii_funcs = &xmphy_funcs;	sc->mii_pdata = mii;	sc->mii_flags = ma->mii_flags;	sc->mii_anegticks = MII_ANEGTICKS;	sc->mii_flags |= MIIF_NOISOLATE;#define	ADD(m, c)	ifmedia_add(&mii->mii_media, (m), (c), NULL)	ADD(IFM_MAKEWORD(IFM_ETHER, IFM_NONE, 0, sc->mii_inst),	    BMCR_ISO);	PHY_RESET(sc);	ADD(IFM_MAKEWORD(IFM_ETHER, IFM_1000_SX, 0, sc->mii_inst),	    XMPHY_BMCR_FDX);	ADD(IFM_MAKEWORD(IFM_ETHER, IFM_1000_SX, IFM_FDX, sc->mii_inst), 0);	ADD(IFM_MAKEWORD(IFM_ETHER, IFM_AUTO, 0, sc->mii_inst), 0);#undef ADD}
开发者ID:repos-holder,项目名称:openbsd-patches,代码行数:34,


示例2: xmphy_attach

static intxmphy_attach(device_t dev){	struct mii_softc *sc;	const char *sep = "";	sc = device_get_softc(dev);	mii_phy_dev_attach(dev, MIIF_NOISOLATE | MIIF_NOMANPAUSE,	    &xmphy_funcs, 0);	sc->mii_anegticks = MII_ANEGTICKS;	PHY_RESET(sc);#define	ADD(m)		ifmedia_add(&sc->mii_pdata->mii_media, (m), 0, NULL)#define PRINT(s)	printf("%s%s", sep, s); sep = ", "	device_printf(dev, " ");	ADD(IFM_MAKEWORD(IFM_ETHER, IFM_1000_SX, 0, sc->mii_inst));	PRINT("1000baseSX");	ADD(IFM_MAKEWORD(IFM_ETHER, IFM_1000_SX, IFM_FDX, sc->mii_inst));	PRINT("1000baseSX-FDX");	ADD(IFM_MAKEWORD(IFM_ETHER, IFM_AUTO, 0, sc->mii_inst));	PRINT("auto");	printf("/n");#undef ADD#undef PRINT	MIIBUS_MEDIAINIT(sc->mii_dev);	return (0);}
开发者ID:hmatyschok,项目名称:MeshBSD,代码行数:33,


示例3: nsgphy_attach

static intnsgphy_attach(device_t dev){	struct mii_softc *sc;	struct mii_attach_args *ma;	struct mii_data *mii;	sc = device_get_softc(dev);	ma = device_get_ivars(dev);	mii_softc_init(sc, ma);	sc->mii_dev = device_get_parent(dev);	mii = device_get_softc(sc->mii_dev);	LIST_INSERT_HEAD(&mii->mii_phys, sc, mii_list);	sc->mii_inst = mii->mii_instance;	sc->mii_service = nsgphy_service;	/*	 * Only retry autonegotiation every 17 seconds.	 * Actually, for gigE PHYs, we should wait longer, since	 * 5 seconds is the mimimum time the documentation	 * says to wait for a 1000mbps link to be established.	 */	sc->mii_anegticks = 17;	sc->mii_pdata = mii;	sc->mii_flags |= MIIF_NOISOLATE;	mii->mii_instance++;#define	ADD(m, c)	ifmedia_add(&mii->mii_media, (m), (c), NULL)	ADD(IFM_MAKEWORD(IFM_ETHER, IFM_NONE, 0, sc->mii_inst),	    MII_MEDIA_NONE);#if 0	ADD(IFM_MAKEWORD(IFM_ETHER, IFM_100_TX, IFM_LOOP, sc->mii_inst),	    MII_MEDIA_100_TX);#endif	mii_phy_reset(sc);	sc->mii_capabilities = PHY_READ(sc, MII_BMSR) & ma->mii_capmask;        if (sc->mii_capabilities & BMSR_EXTSTAT)		sc->mii_extcapabilities = PHY_READ(sc, MII_EXTSR);	device_printf(dev, " ");	if ((sc->mii_capabilities & BMSR_MEDIAMASK) ||	    (sc->mii_extcapabilities & EXTSR_MEDIAMASK))		mii_phy_add_media(sc);	else		kprintf("no media present");	kprintf("/n");#undef ADD	MIIBUS_MEDIAINIT(sc->mii_dev);	return(0);}
开发者ID:AhmadTux,项目名称:DragonFlyBSD,代码行数:56,


示例4: le_dma_supmediastatus

static voidle_dma_supmediastatus(struct lance_softc *sc, struct ifmediareq *ifmr){	struct lsi64854_softc *dma = ((struct le_dma_softc *)sc)->sc_dma;	/*	 * Notify the world which media we're currently using.	 */	if (L64854_GCSR(dma) & E_TP_AUI)		ifmr->ifm_active = IFM_MAKEWORD(IFM_ETHER, IFM_10_T, 0, 0);	else		ifmr->ifm_active = IFM_MAKEWORD(IFM_ETHER, IFM_10_5, 0, 0);}
开发者ID:looncraz,项目名称:haiku,代码行数:13,


示例5: brgphy_attach

static intbrgphy_attach(device_t dev){	struct mii_softc *sc;	struct mii_attach_args *ma;	struct mii_data *mii;	sc = device_get_softc(dev);	ma = device_get_ivars(dev);	mii_softc_init(sc, ma);	sc->mii_dev = device_get_parent(dev);	mii = device_get_softc(sc->mii_dev);	LIST_INSERT_HEAD(&mii->mii_phys, sc, mii_list);	sc->mii_inst = mii->mii_instance;	sc->mii_service = brgphy_service;	sc->mii_reset = brgphy_reset;	sc->mii_pdata = mii;	sc->mii_flags |= MIIF_NOISOLATE;	mii->mii_instance++;	brgphy_reset(sc);#define	ADD(m, c)	ifmedia_add(&mii->mii_media, (m), (c), NULL)	ADD(IFM_MAKEWORD(IFM_ETHER, IFM_NONE, 0, sc->mii_inst),	    MII_MEDIA_NONE);#if 0	ADD(IFM_MAKEWORD(IFM_ETHER, IFM_100_TX, IFM_LOOP, sc->mii_inst),	    MII_MEDIA_100_TX);#endif#undef ADD	sc->mii_capabilities = PHY_READ(sc, MII_BMSR) & ma->mii_capmask;	if (sc->mii_capabilities & BMSR_EXTSTAT)		sc->mii_extcapabilities = PHY_READ(sc, MII_EXTSR);	device_printf(dev, " ");	if ((sc->mii_capabilities & BMSR_MEDIAMASK) ||	    (sc->mii_extcapabilities & EXTSR_MEDIAMASK))		mii_phy_add_media(sc);	else		kprintf("no media present");	kprintf("/n");	MIIBUS_MEDIAINIT(sc->mii_dev);	return(0);}
开发者ID:varialus,项目名称:DragonFlyX,代码行数:50,


示例6: xmphy_attach

static intxmphy_attach(device_t dev){	struct mii_softc *sc;	struct mii_attach_args *ma;	struct mii_data *mii;	const char *sep = "";	sc = device_get_softc(dev);	ma = device_get_ivars(dev);	sc->mii_dev = device_get_parent(dev);	mii = device_get_softc(sc->mii_dev);	LIST_INSERT_HEAD(&mii->mii_phys, sc, mii_list);	sc->mii_inst = mii->mii_instance;	sc->mii_phy = ma->mii_phyno;	sc->mii_service = xmphy_service;	sc->mii_pdata = mii;	sc->mii_flags |= MIIF_NOISOLATE;	mii->mii_instance++;#define	ADD(m, c)	ifmedia_add(&mii->mii_media, (m), (c), NULL)#define PRINT(s)	printf("%s%s", sep, s); sep = ", "	ADD(IFM_MAKEWORD(IFM_ETHER, IFM_NONE, 0, sc->mii_inst),	    BMCR_ISO);#if 0	ADD(IFM_MAKEWORD(IFM_ETHER, IFM_100_TX, IFM_LOOP, sc->mii_inst),	    BMCR_LOOP|BMCR_S100);#endif	mii_phy_reset(sc);	device_printf(dev, " ");	ADD(IFM_MAKEWORD(IFM_ETHER, IFM_1000_SX, 0, sc->mii_inst),	    XMPHY_BMCR_FDX);	PRINT("1000baseSX");	ADD(IFM_MAKEWORD(IFM_ETHER, IFM_1000_SX, IFM_FDX, sc->mii_inst), 0);	PRINT("1000baseSX-FDX");	ADD(IFM_MAKEWORD(IFM_ETHER, IFM_AUTO, 0, sc->mii_inst), 0);	PRINT("auto");	printf("/n");#undef ADD#undef PRINT	MIIBUS_MEDIAINIT(sc->mii_dev);	return (0);}
开发者ID:luciang,项目名称:haiku,代码行数:50,


示例7: lxtphyattach

static voidlxtphyattach(device_t parent, device_t self, void *aux){	struct mii_softc *sc = device_private(self);	struct mii_attach_args *ma = aux;	struct mii_data *mii = ma->mii_data;	const struct mii_phydesc *mpd;	mpd = mii_phy_match(ma, lxtphys);	aprint_naive(": Media interface/n");	aprint_normal(": %s, rev. %d/n", mpd->mpd_name, MII_REV(ma->mii_id2));	sc->mii_dev = self;	sc->mii_inst = mii->mii_instance;	sc->mii_phy = ma->mii_phyno;	if (mpd->mpd_model == MII_MODEL_LEVEL1_LXT971)		sc->mii_funcs = &lxtphy971_funcs;	else		sc->mii_funcs = &lxtphy_funcs;	sc->mii_pdata = mii;	sc->mii_flags = ma->mii_flags;	sc->mii_anegticks = MII_ANEGTICKS;	PHY_RESET(sc);	sc->mii_capabilities =	    PHY_READ(sc, MII_BMSR) & ma->mii_capmask;	aprint_normal_dev(self, "");	if (sc->mii_flags & MIIF_HAVEFIBER) {#define	ADD(m, c)	ifmedia_add(&mii->mii_media, (m), (c), NULL)		ADD(IFM_MAKEWORD(IFM_ETHER, IFM_100_FX, 0, sc->mii_inst),		    MII_MEDIA_100_TX);		aprint_normal("100baseFX, ");		ADD(IFM_MAKEWORD(IFM_ETHER, IFM_100_FX, IFM_FDX, sc->mii_inst),		    MII_MEDIA_100_TX_FDX);		aprint_normal("100baseFX-FDX, ");#undef ADD	}	if ((sc->mii_capabilities & BMSR_MEDIAMASK) == 0)		aprint_error("no media present");	else		mii_phy_add_media(sc);	aprint_normal("/n");	if (!pmf_device_register(self, NULL, mii_phy_resume))		aprint_error_dev(self, "couldn't establish power handler/n");}
开发者ID:Tommmster,项目名称:netbsd-avr32,代码行数:49,


示例8: pnaphy_attach

static intpnaphy_attach(device_t dev){	struct mii_softc *sc;	struct mii_attach_args *ma;	struct mii_data *mii;	const char *sep = "";	sc = device_get_softc(dev);	ma = device_get_ivars(dev);	sc->mii_dev = device_get_parent(dev);	mii = device_get_softc(sc->mii_dev);	LIST_INSERT_HEAD(&mii->mii_phys, sc, mii_list);	sc->mii_inst = mii->mii_instance;	sc->mii_phy = ma->mii_phyno;	sc->mii_service = pnaphy_service;	sc->mii_pdata = mii;	mii->mii_instance++;	sc->mii_flags |= MIIF_NOISOLATE;#define	ADD(m, c)	ifmedia_add(&mii->mii_media, (m), (c), NULL)#define PRINT(s)	printf("%s%s", sep, s); sep = ", "	mii_phy_reset(sc);	sc->mii_capabilities =	    PHY_READ(sc, MII_BMSR) & ma->mii_capmask;	device_printf(dev, " ");	if ((sc->mii_capabilities & BMSR_MEDIAMASK) == 0)		printf("no media present");	else {		ADD(IFM_MAKEWORD(IFM_ETHER, IFM_HPNA_1, 0, sc->mii_inst), 0);		PRINT("HomePNA");	}	ADD(IFM_MAKEWORD(IFM_ETHER, IFM_NONE, 0, sc->mii_inst),	    BMCR_ISO);	printf("/n");#undef ADD#undef PRINT	MIIBUS_MEDIAINIT(sc->mii_dev);	return (0);}
开发者ID:syedzubairahmed,项目名称:FreeBSD-7.3-dyntick,代码行数:49,


示例9: tdkphy_attach

static inttdkphy_attach(device_t dev){	struct mii_softc *sc;	struct mii_attach_args *ma;	struct mii_data *mii;	sc = device_get_softc(dev);	ma = device_get_ivars(dev);	sc->mii_dev = device_get_parent(dev);	mii = device_get_softc(sc->mii_dev);	LIST_INSERT_HEAD(&mii->mii_phys, sc, mii_list);	if (bootverbose)		device_printf(dev, "OUI 0x%06x, model 0x%04x, rev. %d/n",		    MII_OUI(ma->mii_id1, ma->mii_id2),		    MII_MODEL(ma->mii_id2), MII_REV(ma->mii_id2));	sc->mii_inst = mii->mii_instance;	sc->mii_phy = ma->mii_phyno;	sc->mii_service = tdkphy_service;	sc->mii_pdata = mii;	mii->mii_instance++;	sc->mii_flags |= MIIF_NOISOLATE;#define	ADD(m, c)	ifmedia_add(&mii->mii_media, (m), (c), NULL)	ADD(IFM_MAKEWORD(IFM_ETHER, IFM_NONE, 0, sc->mii_inst),	    BMCR_ISO);#if 0	ADD(IFM_MAKEWORD(IFM_ETHER, IFM_100_TX, IFM_LOOP, sc->mii_inst),	    BMCR_LOOP|BMCR_S100);#endif	mii_phy_reset(sc);	sc->mii_capabilities =	    PHY_READ(sc, MII_BMSR) & ma->mii_capmask;	device_printf(dev, " ");	mii_add_media(mii, sc->mii_capabilities, sc->mii_inst);	printf("/n");#undef ADD	MIIBUS_MEDIAINIT(sc->mii_dev);	return(0);}
开发者ID:UnitedMarsupials,项目名称:kame,代码行数:48,


示例10: tlp_cogent_em1x0_tmsw_init

static voidtlp_cogent_em1x0_tmsw_init(struct tulip_softc *sc){	struct tulip_21x4x_media *tm;	const char *sep = "";	sc->sc_gp_dir = GPP_COGENT_EM1x0_PINS;	sc->sc_opmode = OPMODE_MBO | OPMODE_PS;	TULIP_WRITE(sc, CSR_OPMODE, sc->sc_opmode);	ifmedia_init(&sc->sc_mii.mii_media, 0, tlp_mediachange,	    tlp_mediastatus);	aprint_normal_dev(sc->sc_dev, "");#define	ADD(m, c) /	tm = malloc(sizeof(*tm), M_DEVBUF, M_WAITOK|M_ZERO);		/	tm->tm_opmode = (c);						/	tm->tm_gpdata = GPP_COGENT_EM1x0_INIT;				/	ifmedia_add(&sc->sc_mii.mii_media, (m), 0, tm)#define	PRINT(str)	aprint_normal("%s%s", sep, str); sep = ", "	if (sc->sc_srom[32] == 0x15) {		ADD(IFM_MAKEWORD(IFM_ETHER, IFM_100_FX, 0, 0),		    OPMODE_PS | OPMODE_PCS);		PRINT("100baseFX");		ADD(IFM_MAKEWORD(IFM_ETHER, IFM_100_FX, IFM_FDX, 0),		    OPMODE_PS | OPMODE_PCS | OPMODE_FD);		PRINT("100baseFX-FDX");		aprint_normal("/n");		ifmedia_set(&sc->sc_mii.mii_media, IFM_ETHER|IFM_100_FX);	} else {		ADD(IFM_MAKEWORD(IFM_ETHER, IFM_100_TX, 0, 0),		    OPMODE_PS | OPMODE_PCS | OPMODE_SCR);		PRINT("100baseTX");		ADD(IFM_MAKEWORD(IFM_ETHER, IFM_100_FX, IFM_FDX, 0),		    OPMODE_PS | OPMODE_PCS | OPMODE_SCR | OPMODE_FD);		PRINT("100baseTX-FDX");		aprint_normal("/n");		ifmedia_set(&sc->sc_mii.mii_media, IFM_ETHER|IFM_100_TX);	}#undef ADD#undef PRINT}
开发者ID:RyanLucchese,项目名称:rumpkernel-netbsd-src,代码行数:48,


示例11: ip1000phy_attach

static intip1000phy_attach(device_t dev){	struct mii_softc *sc;	struct mii_attach_args *ma;	struct mii_data *mii;	sc = device_get_softc(dev);	ma = device_get_ivars(dev);	mii_softc_init(sc, ma);	sc->mii_dev = device_get_parent(dev);	mii = device_get_softc(sc->mii_dev);	LIST_INSERT_HEAD(&mii->mii_phys, sc, mii_list);	sc->mii_inst = mii->mii_instance;	sc->mii_service = ip1000phy_service;	sc->mii_pdata = mii;	sc->mii_anegticks = MII_ANEGTICKS_GIGE;	sc->mii_flags |= MIIF_NOISOLATE;	mii->mii_instance++;	device_printf(dev, " ");#define	ADD(m, c)	ifmedia_add(&mii->mii_media, (m), (c), NULL)	ADD(IFM_MAKEWORD(IFM_ETHER, IFM_NONE, 0, sc->mii_inst),	    BMCR_ISO);	ADD(IFM_MAKEWORD(IFM_ETHER, IFM_10_T, 0, sc->mii_inst),	    IP1000PHY_BMCR_10);	kprintf("10baseT, ");	ADD(IFM_MAKEWORD(IFM_ETHER, IFM_10_T, IFM_FDX, sc->mii_inst),	    IP1000PHY_BMCR_10 | IP1000PHY_BMCR_FDX);	kprintf("10baseT-FDX, ");	ADD(IFM_MAKEWORD(IFM_ETHER, IFM_100_TX, 0, sc->mii_inst),	    IP1000PHY_BMCR_100);	kprintf("100baseTX, ");	ADD(IFM_MAKEWORD(IFM_ETHER, IFM_100_TX, IFM_FDX, sc->mii_inst),	    IP1000PHY_BMCR_100 | IP1000PHY_BMCR_FDX);	kprintf("100baseTX-FDX, ");	/* 1000baseT half-duplex, really supported? */	ADD(IFM_MAKEWORD(IFM_ETHER, IFM_1000_T, 0, sc->mii_inst),	    IP1000PHY_BMCR_1000);	kprintf("1000baseT, ");	ADD(IFM_MAKEWORD(IFM_ETHER, IFM_1000_T, IFM_FDX, sc->mii_inst),	    IP1000PHY_BMCR_1000 | IP1000PHY_BMCR_FDX);	kprintf("1000baseT-FDX, ");	ADD(IFM_MAKEWORD(IFM_ETHER, IFM_AUTO, 0, sc->mii_inst), 0);	kprintf("auto/n");#undef ADD	ip1000phy_reset(sc);	MIIBUS_MEDIAINIT(sc->mii_dev);	return(0);}
开发者ID:Gwenio,项目名称:DragonFlyBSD,代码行数:58,


示例12: pnphy_attach

static intpnphy_attach(device_t dev){	struct mii_softc *sc;	struct mii_attach_args *ma;	struct mii_data *mii;	sc = device_get_softc(dev);	ma = device_get_ivars(dev);	mii_softc_init(sc, ma);	sc->mii_dev = device_get_parent(dev);	mii = device_get_softc(sc->mii_dev);	LIST_INSERT_HEAD(&mii->mii_phys, sc, mii_list);	sc->mii_inst = mii->mii_instance;	sc->mii_service = pnphy_service;	sc->mii_pdata = mii;	sc->mii_flags |= MIIF_NOISOLATE;	mii->mii_instance++;#define	ADD(m, c)	ifmedia_add(&mii->mii_media, (m), (c), NULL)	sc->mii_capabilities =	    BMSR_100TXFDX|BMSR_100TXHDX|BMSR_10TFDX|BMSR_10THDX;	sc->mii_capabilities &= ma->mii_capmask;	device_printf(dev, " ");	if ((sc->mii_capabilities & BMSR_MEDIAMASK) == 0)		kprintf("no media present");	else		mii_phy_add_media(sc);	kprintf("/n");	ADD(IFM_MAKEWORD(IFM_ETHER, IFM_NONE, 0, sc->mii_inst),	    MII_MEDIA_NONE);	ADD(IFM_MAKEWORD(IFM_ETHER, IFM_100_TX, IFM_LOOP, sc->mii_inst),	    MII_MEDIA_100_TX);#undef ADD	MIIBUS_MEDIAINIT(sc->mii_dev);	return(0);}
开发者ID:AhmadTux,项目名称:DragonFlyBSD,代码行数:44,


示例13: e1000phy_attach

static inte1000phy_attach(device_t dev){	struct mii_softc *sc;	struct mii_attach_args *ma;	struct mii_data *mii;	getenv_int("e1000phy_debug", &e1000phy_debug);	sc = device_get_softc(dev);	ma = device_get_ivars(dev);	sc->mii_dev = device_get_parent(dev);	mii = device_get_softc(sc->mii_dev);	LIST_INSERT_HEAD(&mii->mii_phys, sc, mii_list);	sc->mii_inst = mii->mii_instance;	sc->mii_phy = ma->mii_phyno;	sc->mii_service = e1000phy_service;	sc->mii_pdata = mii;	sc->mii_flags |= MIIF_NOISOLATE;	mii->mii_instance++;	e1000phy_reset(sc);	device_printf(dev, " ");#define	ADD(m, c)	ifmedia_add(&mii->mii_media, (m), (c), NULL)/*	ADD(IFM_MAKEWORD(IFM_ETHER, IFM_NONE, 0, sc->mii_inst),	    E1000_CR_ISOLATE);*/	ADD(IFM_MAKEWORD(IFM_ETHER, IFM_10_T, 0, sc->mii_inst),	    E1000_CR_SPEED_10);	printf("10baseT, ");	ADD(IFM_MAKEWORD(IFM_ETHER, IFM_10_T, IFM_FDX, sc->mii_inst),	    E1000_CR_SPEED_10 | E1000_CR_FULL_DUPLEX);	printf("10baseT-FDX, ");	ADD(IFM_MAKEWORD(IFM_ETHER, IFM_100_TX, 0, sc->mii_inst),	    E1000_CR_SPEED_100);	printf("100baseTX, ");	ADD(IFM_MAKEWORD(IFM_ETHER, IFM_100_TX, IFM_FDX, sc->mii_inst),	    E1000_CR_SPEED_100 | E1000_CR_FULL_DUPLEX);	printf("100baseTX-FDX, ");	/*	 * 1000BT-simplex not supported; driver must ignore this entry,	 * but it must be present in order to manually set full-duplex.	 */	ADD(IFM_MAKEWORD(IFM_ETHER, IFM_1000_T, 0, sc->mii_inst),	    E1000_CR_SPEED_1000);	ADD(IFM_MAKEWORD(IFM_ETHER, IFM_1000_T, IFM_FDX, sc->mii_inst),	    E1000_CR_SPEED_1000 | E1000_CR_FULL_DUPLEX);	printf("1000baseTX-FDX, ");	ADD(IFM_MAKEWORD(IFM_ETHER, IFM_AUTO, 0, sc->mii_inst), 0);	printf("auto/n");#undef ADD	MIIBUS_MEDIAINIT(sc->mii_dev);	return(0);}
开发者ID:MarginC,项目名称:kame,代码行数:59,


示例14: acphy_attach

static intacphy_attach(device_t dev){	struct mii_softc *sc;	struct mii_attach_args *ma;	struct mii_data *mii;	sc = device_get_softc(dev);	ma = device_get_ivars(dev);	sc->mii_dev = device_get_parent(dev);	mii = device_get_softc(sc->mii_dev);	LIST_INSERT_HEAD(&mii->mii_phys, sc, mii_list);	sc->mii_inst = mii->mii_instance;	sc->mii_phy = ma->mii_phyno;	sc->mii_service = acphy_service;	sc->mii_pdata = mii;	mii->mii_instance++;	acphy_reset(sc);	sc->mii_capabilities =	    PHY_READ(sc, MII_BMSR) & ma->mii_capmask;	device_printf(dev, " ");#define	ADD(m, c)	ifmedia_add(&mii->mii_media, (m), (c), NULL)	if ((PHY_READ(sc, MII_ACPHY_MCTL) & AC_MCTL_FX_SEL) != 0) {		sc->mii_flags |= MIIF_HAVEFIBER;		ADD(IFM_MAKEWORD(IFM_ETHER, IFM_100_FX, 0, sc->mii_inst),		    MII_MEDIA_100_TX);		printf("100baseFX, ");		ADD(IFM_MAKEWORD(IFM_ETHER, IFM_100_FX, IFM_FDX, sc->mii_inst),		    MII_MEDIA_100_TX_FDX);		printf("100baseFX-FDX, ");	}#undef ADD	mii_phy_add_media(sc);	printf("/n");	MIIBUS_MEDIAINIT(sc->mii_dev);	return (0);}
开发者ID:syedzubairahmed,项目名称:FreeBSD-7.3-dyntick,代码行数:44,


示例15: rlphy_attach

static intrlphy_attach(device_t dev){	struct mii_softc	*sc;	struct mii_attach_args	*ma;	struct mii_data		*mii;	struct rlphy_softc 	*rsc;	sc = device_get_softc(dev);	ma = device_get_ivars(dev);	sc->mii_dev = device_get_parent(dev);	mii = device_get_softc(sc->mii_dev);        /*         * Check whether we're the RTL8201L PHY and remember so the status         * routine can query the proper register for speed detection.         */	rsc = (struct rlphy_softc *)sc;	if (mii_phy_dev_probe(dev, rlphys, 0) == 0)		rsc->sc_is_RTL8201L++;		/*	 * The RealTek PHY can never be isolated, so never allow non-zero	 * instances!	 */	if (mii->mii_instance != 0) {		device_printf(dev, "ignoring this PHY, non-zero instance/n");		return (ENXIO);	}	LIST_INSERT_HEAD(&mii->mii_phys, sc, mii_list);	sc->mii_inst = mii->mii_instance;	sc->mii_phy = ma->mii_phyno;	sc->mii_service = rlphy_service;	sc->mii_pdata = mii;	mii->mii_instance++;	sc->mii_flags |= MIIF_NOISOLATE;#define	ADD(m, c)	ifmedia_add(&mii->mii_media, (m), (c), NULL)	ADD(IFM_MAKEWORD(IFM_ETHER, IFM_100_TX, IFM_LOOP, sc->mii_inst),	    MII_MEDIA_100_TX);	mii_phy_reset(sc);	sc->mii_capabilities =	    PHY_READ(sc, MII_BMSR) & ma->mii_capmask;	device_printf(dev, " ");	mii_phy_add_media(sc);	printf("/n");#undef ADD	MIIBUS_MEDIAINIT(sc->mii_dev);	return (0);}
开发者ID:DangerDexter,项目名称:FreeBSD-8.0-dyntick,代码行数:56,


示例16: dcphy_attach

voiddcphy_attach(struct device *parent, struct device *self, void *aux){	struct mii_softc *sc = (struct mii_softc *)self;	struct mii_attach_args *ma = aux;	struct mii_data *mii = ma->mii_data;	struct dc_softc *dc_sc;	printf(": internal PHY/n");	sc->mii_inst = mii->mii_instance;	sc->mii_phy = ma->mii_phyno;	sc->mii_funcs = &dcphy_funcs;	sc->mii_pdata = mii;	sc->mii_flags = ma->mii_flags;	sc->mii_anegticks = 50;	sc->mii_flags |= MIIF_NOISOLATE;	dc_sc = mii->mii_ifp->if_softc;	CSR_WRITE_4(dc_sc, DC_10BTSTAT, 0);	CSR_WRITE_4(dc_sc, DC_10BTCTRL, 0);#define	ADD(m, c)	ifmedia_add(&mii->mii_media, (m), (c), NULL)	switch(dc_sc->dc_csid) {	case COMPAQ_PRESARIO_ID:		/* Example of how to only allow 10Mbps modes. */		sc->mii_capabilities = BMSR_ANEG|BMSR_10TFDX|BMSR_10THDX;		break;	default:		if (dc_sc->dc_pmode == DC_PMODE_SIA) {			sc->mii_capabilities =			    BMSR_ANEG|BMSR_10TFDX|BMSR_10THDX;		} else {			ADD(IFM_MAKEWORD(IFM_ETHER, IFM_100_TX, IFM_LOOP,			    sc->mii_inst), BMCR_LOOP|BMCR_S100);			sc->mii_capabilities =			    BMSR_ANEG|BMSR_100TXFDX|BMSR_100TXHDX|			    BMSR_10TFDX|BMSR_10THDX;		}		break;	}	if (dc_sc->dc_type == DC_TYPE_21145)		sc->mii_capabilities = BMSR_10THDX;	sc->mii_capabilities &= ma->mii_capmask;	if (sc->mii_capabilities & BMSR_MEDIAMASK)		mii_phy_add_media(sc);#undef ADD}
开发者ID:alenichev,项目名称:openbsd-kernel,代码行数:52,


示例17: acphyattach

voidacphyattach(struct device *parent, struct device *self, void *aux){	struct mii_softc *sc = (struct mii_softc *)self;	struct mii_attach_args *ma = aux;	struct mii_data *mii = ma->mii_data;	const struct mii_phydesc *mpd;	mpd = mii_phy_match(ma, acphys);	printf(": %s, rev. %d/n", mpd->mpd_name, MII_REV(ma->mii_id2));	sc->mii_inst = mii->mii_instance;	sc->mii_phy = ma->mii_phyno;	sc->mii_funcs = &acphy_funcs;	sc->mii_pdata = mii;	sc->mii_flags = ma->mii_flags;	sc->mii_anegticks = MII_ANEGTICKS;	PHY_RESET(sc);	/*	 * XXX Check MCR_FX_SEL to set MIIF_HAVE_FIBER?	 */	sc->mii_capabilities =	    PHY_READ(sc, MII_BMSR) & ma->mii_capmask;#define	ADD(m, c)	ifmedia_add(&mii->mii_media, (m), (c), NULL)	if (sc->mii_flags & MIIF_HAVEFIBER) {		ADD(IFM_MAKEWORD(IFM_ETHER, IFM_100_FX, 0, sc->mii_inst),		    MII_MEDIA_100_TX);		ADD(IFM_MAKEWORD(IFM_ETHER, IFM_100_FX, IFM_FDX, sc->mii_inst),		    MII_MEDIA_100_TX);	}#undef ADD	if (sc->mii_capabilities & BMSR_MEDIAMASK)		mii_phy_add_media(sc);}
开发者ID:ajinkya93,项目名称:OpenBSD,代码行数:39,


示例18: mii_add_media

/* * Initialize generic PHY media based on BMSR, called when a PHY is * attached.  We expect to be set up to print a comma-separated list * of media names.  Does not print a newline. */voidmii_add_media(struct mii_softc *sc){	const char *sep = "";	struct mii_data *mii;	mii = device_get_softc(sc->mii_dev);	if ((sc->mii_capabilities & BMSR_MEDIAMASK) == 0) {		printf("no media present");		return;	}#define	ADD(m, c)	ifmedia_add(&mii->mii_media, (m), (c), NULL)#define	PRINT(s)	printf("%s%s", sep, s); sep = ", "	if (sc->mii_capabilities & BMSR_10THDX) {		ADD(IFM_MAKEWORD(IFM_ETHER, IFM_10_T, 0, sc->mii_inst), 0);		PRINT("10baseT");	}	if (sc->mii_capabilities & BMSR_10TFDX) {		ADD(IFM_MAKEWORD(IFM_ETHER, IFM_10_T, IFM_FDX, sc->mii_inst),		    BMCR_FDX);		PRINT("10baseT-FDX");	}	if (sc->mii_capabilities & BMSR_100TXHDX) {		ADD(IFM_MAKEWORD(IFM_ETHER, IFM_100_TX, 0, sc->mii_inst),		    BMCR_S100);		PRINT("100baseTX");	}	if (sc->mii_capabilities & BMSR_100TXFDX) {		ADD(IFM_MAKEWORD(IFM_ETHER, IFM_100_TX, IFM_FDX, sc->mii_inst),		    BMCR_S100|BMCR_FDX);		PRINT("100baseTX-FDX");	}	if (sc->mii_capabilities & BMSR_100T4) {		/*		 * XXX How do you enable 100baseT4?  I assume we set		 * XXX BMCR_S100 and then assume the PHYs will take		 * XXX watever action is necessary to switch themselves		 * XXX into T4 mode.		 */		ADD(IFM_MAKEWORD(IFM_ETHER, IFM_100_T4, 0, sc->mii_inst),		    BMCR_S100);		PRINT("100baseT4");	}	if (sc->mii_capabilities & BMSR_ANEG) {		ADD(IFM_MAKEWORD(IFM_ETHER, IFM_AUTO, 0, sc->mii_inst),		    BMCR_AUTOEN);		PRINT("auto");	}#undef ADD#undef PRINT}
开发者ID:DangerDexter,项目名称:FreeBSD-8.0-dyntick,代码行数:61,


示例19: rtems_str2ifmedia

/* convert a string to a media word * RETURNS: 0 on failure; valid results have always at least IFM_ETHER set */intrtems_str2ifmedia (const char *str, int phy){  int sub, opt = 0;  char *chpt;  if (!strncmp (str, "auto", 4)) {    sub = IFM_AUTO;  } else if ((sub = find_tag (str, ethern_media_strings)) < 0) {    if ((sub = find_tag (str, eth_al_media_strings)) < 0) {      /* allow more */      /* if no number, 0 is returned which will not pass the test */      switch (strtol (str, &chpt, 10)) {      case 10:        sub = IFM_10_T;        break;      case 100:        sub = IFM_100_TX;        break;      case 1000:        sub = IFM_1000_T;        break;      default:        return 0;      }      /* need 'b' or 'base' */      if ('b' != *chpt++)        return 0;      if (!strncmp (chpt, "ase", 3))        chpt += 3;      if (toupper (*chpt++) != 'T')        return 0;      if (IFM_100_TX == sub && toupper (*chpt++) != 'X')        return 0;    }  }  if (strstr (str, "full") || strstr (str, "FDX") || strstr (str, "fdx"))    opt |= IFM_FDX;  return IFM_MAKEWORD (IFM_ETHER, sub, opt, phy);}
开发者ID:jfpmonteiro,项目名称:rtems-4.8-rhealstone,代码行数:47,


示例20: compat_open

static status_tcompat_open(const char *name, uint32 flags, void **cookie){	struct ifnet *ifp;	struct ifreq ifr;	int i;	for (i = 0; i < MAX_DEVICES; i++) {		if (gDevices[i] != NULL && !strcmp(gDevices[i]->device_name, name))			break;	}	if (i == MAX_DEVICES)		return B_ERROR;	if (get_module(NET_STACK_MODULE_NAME, (module_info **)&gStack) != B_OK)		return B_ERROR;	ifp = gDevices[i];	if_printf(ifp, "compat_open(0x%" B_PRIx32 ")/n", flags);	if (atomic_or(&ifp->open_count, 1)) {		put_module(NET_STACK_MODULE_NAME);		return B_BUSY;	}	ifp->if_init(ifp->if_softc);	if (!HAIKU_DRIVER_REQUIRES(FBSD_WLAN)) {		ifp->if_flags &= ~IFF_UP;		ifp->if_ioctl(ifp, SIOCSIFFLAGS, NULL);	}	memset(&ifr, 0, sizeof(ifr));	ifr.ifr_media = IFM_MAKEWORD(IFM_ETHER, IFM_AUTO, 0, 0);	ifp->if_ioctl(ifp, SIOCSIFMEDIA, (caddr_t)&ifr);	ifp->if_flags |= IFF_UP;	ifp->if_ioctl(ifp, SIOCSIFFLAGS, NULL);	*cookie = ifp;	return B_OK;}
开发者ID:Barrett17,项目名称:haiku-contacts-kit-old,代码行数:43,


示例21: brgphy_attach

/* Attach the PHY to the MII bus */static intbrgphy_attach(device_t dev){	struct brgphy_softc *bsc;	struct bge_softc *bge_sc = NULL;	struct bce_softc *bce_sc = NULL;	struct mii_softc *sc;	struct ifnet *ifp;	bsc = device_get_softc(dev);	sc = &bsc->mii_sc;	mii_phy_dev_attach(dev, MIIF_NOISOLATE | MIIF_NOMANPAUSE,	    &brgphy_funcs, 0);	bsc->serdes_flags = 0;	ifp = sc->mii_pdata->mii_ifp;	/* Find the MAC driver associated with this PHY. */	if (strcmp(ifp->if_dname, "bge") == 0)		bge_sc = ifp->if_softc;	else if (strcmp(ifp->if_dname, "bce") == 0)		bce_sc = ifp->if_softc;	/* Handle any special cases based on the PHY ID */	switch (sc->mii_mpd_oui) {	case MII_OUI_BROADCOM:		switch (sc->mii_mpd_model) {		case MII_MODEL_BROADCOM_BCM5706:		case MII_MODEL_BROADCOM_BCM5714:			/*			 * The 5464 PHY used in the 5706 supports both copper			 * and fiber interfaces over GMII.  Need to check the			 * shadow registers to see which mode is actually			 * in effect, and therefore whether we have 5706C or			 * 5706S.			 */			PHY_WRITE(sc, BRGPHY_MII_SHADOW_1C,				BRGPHY_SHADOW_1C_MODE_CTRL);			if (PHY_READ(sc, BRGPHY_MII_SHADOW_1C) &				BRGPHY_SHADOW_1C_ENA_1000X) {				bsc->serdes_flags |= BRGPHY_5706S;				sc->mii_flags |= MIIF_HAVEFIBER;			}			break;		}		break;	case MII_OUI_BROADCOM2:		switch (sc->mii_mpd_model) {		case MII_MODEL_BROADCOM2_BCM5708S:			bsc->serdes_flags |= BRGPHY_5708S;			sc->mii_flags |= MIIF_HAVEFIBER;			break;		case MII_MODEL_BROADCOM2_BCM5709S:			/*			 * XXX			 * 5720S and 5709S shares the same PHY id.			 * Assume 5720S PHY if parent device is bge(4).			 */			if (bge_sc != NULL)				bsc->serdes_flags |= BRGPHY_5708S;			else				bsc->serdes_flags |= BRGPHY_5709S;			sc->mii_flags |= MIIF_HAVEFIBER;			break;		}		break;	}	PHY_RESET(sc);	/* Read the PHY's capabilities. */	sc->mii_capabilities = PHY_READ(sc, MII_BMSR) & sc->mii_capmask;	if (sc->mii_capabilities & BMSR_EXTSTAT)		sc->mii_extcapabilities = PHY_READ(sc, MII_EXTSR);	device_printf(dev, " ");#define	ADD(m, c)	ifmedia_add(&sc->mii_pdata->mii_media, (m), (c), NULL)	/* Add the supported media types */	if ((sc->mii_flags & MIIF_HAVEFIBER) == 0) {		mii_phy_add_media(sc);		printf("/n");	} else {		sc->mii_anegticks = MII_ANEGTICKS_GIGE;		ADD(IFM_MAKEWORD(IFM_ETHER, IFM_1000_SX, IFM_FDX, sc->mii_inst),			BRGPHY_S1000 | BRGPHY_BMCR_FDX);		printf("1000baseSX-FDX, ");		/* 2.5G support is a software enabled feature on the 5708S and 5709S. */		if (bce_sc && (bce_sc->bce_phy_flags & BCE_PHY_2_5G_CAPABLE_FLAG)) {			ADD(IFM_MAKEWORD(IFM_ETHER, IFM_2500_SX, IFM_FDX, sc->mii_inst), 0);			printf("2500baseSX-FDX, ");		} else if ((bsc->serdes_flags & BRGPHY_5708S) && bce_sc &&		    (detect_hs21(bce_sc) != 0)) {			/*			 * There appears to be certain silicon revision			 * in IBM HS21 blades that is having issues with			 * this driver wating for the auto-negotiation to			 * complete. This happens with a specific chip id//.........这里部分代码省略.........
开发者ID:AmirAbrams,项目名称:haiku,代码行数:101,



注:本文中的IFM_MAKEWORD函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ IFM_SUBTYPE函数代码示例
C++ IFLA_RTA函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。