void network_init(void) { printf("\nStarting %s\n", __FUNCTION__); // Initialise the nslu2 hardware ixOsalOemInit(); /* Initialise lwIP */ mem_init(); memp_init(); pbuf_init(); netif_init(); udp_init(); etharp_init(); /* Setup the network interface */ struct ip_addr netmask, ipaddr, gw; IP4_ADDR(&netmask, 255, 255, 255, 0); // Standard net mask IP4_ADDR(&gw, 192, 168, 0, 1); // Your host system IP4_ADDR(&ipaddr, 192, 168, 0, 2); // The Slug's IP address struct netif *netif = netif_add(&ipaddr,&netmask,&gw, sosIfInit, ip_input); netif_set_default(netif); // Generate an arp entry for our gateway // We should only need to do this once, but Linux seems to love ignoring // ARP queries (why??!), so we keep trying until we get a response struct pbuf *p = etharp_query(netif, &netif->gw, NULL); do { (*netif_default->linkoutput)(netif, p); // Direct output sos_usleep(100000); // Wait a while for a reply } while (!etharp_entry_present(&netif->gw)); pbuf_free(p); // Finish the initialisation of the nslu2 hardware ixOsalOSServicesFinaliseInit(); /* Initialise NFS */ int r = nfs_init(gw); assert(!r); mnt_get_export_list(); // Print out the exports on this server const char *msg; if (mnt_mount(NFS_DIR, &mnt_point)) // Mount aos_nfs msg = "%s: Error mounting path '%s'!\n"; else msg = "Successfully mounted '%s'\n"; printf(msg, __FUNCTION__, NFS_DIR); printf("Finished %s\n\n", __FUNCTION__); }
PUBLIC UINT32 ixOsalOsIxp400TimestampGet (void) { IX_STATUS ixStatus; /* * ensure the register is I/O mapped */ if (IxOsalOemInitialized == FALSE) { /* * Assert if not success */ ixStatus = ixOsalOemInit (); IX_OSAL_ASSERT (ixStatus == IX_SUCCESS); } return IX_OSAL_READ_LONG (ixOsalOstsRegAddr); }