int main(int argc, char** argv) { int i = 0; char msg[256]; qm_publisher_t p; #ifndef _WIN32 struct timespec ts; ts.tv_sec = 1; ts.tv_nsec = 0; #endif const char* iface = ""; // whatever iface zyre defaults to qm_init("test_c_pub", iface); p = qm_publisher_new("chatter", qm_wait); for (i = 0; i < 10; ++i) { sprintf(msg, "Hello World %d", i); qm_publish(p, msg); #ifdef _WIN32 Sleep(1000); #else nanosleep(&ts, NULL); #endif } qm_publisher_destroy(p); qm_shutdown("done"); return 0; }
static int ks2_eth_start(struct udevice *dev) { struct ks2_eth_priv *priv = dev_get_priv(dev); #ifdef CONFIG_SOC_K2G keystone_rgmii_config(priv->phydev); #else keystone_sgmii_config(priv->phydev, priv->slave_port - 1, priv->sgmii_link_type); #endif udelay(10000); /* On chip switch configuration */ ethss_config(target_get_switch_ctl(), SWITCH_MAX_PKT_SIZE); qm_init(); if (ksnav_init(priv->netcp_pktdma, &priv->net_rx_buffs)) { error("ksnav_init failed\n"); goto err_knav_init; } /* * Streaming switch configuration. If not present this * statement is defined to void in target.h. * If present this is usually defined to a series of register writes */ hw_config_streaming_switch(); if (priv->has_mdio) { keystone2_mdio_reset(priv->mdio_bus); phy_startup(priv->phydev); if (priv->phydev->link == 0) { error("phy startup failed\n"); goto err_phy_start; } } emac_gigabit_enable(dev); ethss_start(); priv->emac_open = true; return 0; err_phy_start: ksnav_close(priv->netcp_pktdma); err_knav_init: qm_close(); return -EFAULT; }
int main(int argc, char** argv) { char msg[256]; qm_async_subscriber_t s; qm_init("test_sub"); s = qm_async_subscriber_new("test", callback, NULL); qm_async_subscriber_spin(s); // doesn't return qm_async_subscriber_destroy(s); qm_shutdown("done"); return 0; }
int main(int argc, char** argv) { char msg[256]; qm_async_subscriber_t s; const char* iface = ""; // whatever iface zyre defaults to qm_init("test_c_sub", iface); s = qm_async_subscriber_new("chatter", callback, NULL); qm_async_subscriber_spin(s); // doesn't return qm_async_subscriber_destroy(s); qm_shutdown("done"); return 0; }
/* Eth device open */ static int keystone2_eth_open(struct eth_device *dev, bd_t *bis) { struct eth_priv_t *eth_priv = (struct eth_priv_t *)dev->priv; struct phy_device *phy_dev = eth_priv->phy_dev; debug("+ emac_open\n"); net_rx_buffs.rx_flow = eth_priv->rx_flow; sys_has_mdio = (eth_priv->sgmii_link_type == SGMII_LINK_MAC_PHY) ? 1 : 0; if (sys_has_mdio) keystone2_mdio_reset(mdio_bus); #ifdef CONFIG_SOC_K2G keystone_rgmii_config(phy_dev); #else keystone_sgmii_config(phy_dev, eth_priv->slave_port - 1, eth_priv->sgmii_link_type); #endif udelay(10000); /* On chip switch configuration */ ethss_config(target_get_switch_ctl(), SWITCH_MAX_PKT_SIZE); /* TODO: add error handling code */ if (qm_init()) { printf("ERROR: qm_init()\n"); return -1; } if (ksnav_init(&netcp_pktdma, &net_rx_buffs)) { qm_close(); printf("ERROR: netcp_init()\n"); return -1; } /* * Streaming switch configuration. If not present this * statement is defined to void in target.h. * If present this is usually defined to a series of register writes */ hw_config_streaming_switch(); if (sys_has_mdio) { keystone2_mdio_reset(mdio_bus); phy_startup(phy_dev); if (phy_dev->link == 0) { ksnav_close(&netcp_pktdma); qm_close(); return -1; } } emac_gigabit_enable(dev); ethss_start(); debug("- emac_open\n"); emac_open = 1; return 0; }