diff options
author | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2011-03-20 18:18:19 +0000 |
---|---|---|
committer | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2011-03-20 18:18:19 +0000 |
commit | eafaeb9398216dacb92de69683ccdda6007efb1d (patch) | |
tree | e513e4fd791670d9b74d33821682d4059ed73098 /nuttx/examples/thttpd | |
parent | f68c474e8ae9cfa5c9124a6eb92ec06fe2bf40a1 (diff) | |
download | px4-nuttx-eafaeb9398216dacb92de69683ccdda6007efb1d.tar.gz px4-nuttx-eafaeb9398216dacb92de69683ccdda6007efb1d.tar.bz2 px4-nuttx-eafaeb9398216dacb92de69683ccdda6007efb1d.zip |
Move nuttx/examples to apps/examples
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3405 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx/examples/thttpd')
-rw-r--r-- | nuttx/examples/thttpd/Makefile | 80 | ||||
-rw-r--r-- | nuttx/examples/thttpd/content/Makefile | 104 | ||||
-rw-r--r-- | nuttx/examples/thttpd/content/hello/Makefile | 78 | ||||
-rw-r--r-- | nuttx/examples/thttpd/content/hello/hello.c | 79 | ||||
-rw-r--r-- | nuttx/examples/thttpd/content/index.html | 30 | ||||
-rwxr-xr-x | nuttx/examples/thttpd/content/mksymtab.sh | 39 | ||||
-rw-r--r-- | nuttx/examples/thttpd/content/netstat/Makefile | 78 | ||||
-rwxr-xr-x | nuttx/examples/thttpd/content/netstat/netstat.c | 134 | ||||
-rw-r--r-- | nuttx/examples/thttpd/content/style.css | 80 | ||||
-rwxr-xr-x | nuttx/examples/thttpd/content/tasks/Makefile | 78 | ||||
-rwxr-xr-x | nuttx/examples/thttpd/content/tasks/tasks.c | 168 | ||||
-rw-r--r-- | nuttx/examples/thttpd/main.c | 280 |
12 files changed, 0 insertions, 1228 deletions
diff --git a/nuttx/examples/thttpd/Makefile b/nuttx/examples/thttpd/Makefile deleted file mode 100644 index 696117e64..000000000 --- a/nuttx/examples/thttpd/Makefile +++ /dev/null @@ -1,80 +0,0 @@ -############################################################################ -# examples/thttpd/Makefile -# -# Copyright (C) 2009-2010 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <spudmonkey@racsa.co.cr> -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# 3. Neither the name NuttX nor the names of its contributors may be -# used to endorse or promote products derived from this software -# without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. -# -############################################################################ - --include $(TOPDIR)/.config --include $(TOPDIR)/Make.defs - -ASRCS = -AOBJS = $(ASRCS:.S=$(OBJEXT)) -CSRCS = main.c -COBJS = $(CSRCS:.c=$(OBJEXT)) - -SRCS = $(ASRCS) $(CSRCS) -OBJS = $(AOBJS) $(COBJS) - -BIN = libapp$(LIBEXT) - -all: $(BIN) -.PHONY: clean headers - -$(AOBJS): %$(OBJEXT): %.S - $(call ASSEMBLE, $<, $@) - -$(COBJS): %$(OBJEXT): %.c - $(call COMPILE, $<, $@) - -headers: - @$(MAKE) -C content TOPDIR=$(TOPDIR) CROSSDEV=$(CROSSDEV) - -$(BIN): headers $(OBJS) - @( for obj in $(OBJS) ; do \ - $(call ARCHIVE, $@, $${obj}); \ - done ; ) - -.depend: Makefile $(SRCS) - @$(MKDEP) $(CC) -- $(CFLAGS) -- $(SRCS) >Make.dep - @touch $@ - -depend: .depend - -clean: - @rm -f $(BIN) *~ .*.swp - @make -C content clean TOPDIR=$(TOPDIR) CROSSDEV=$(CROSSDEV) - $(call CLEAN) - -distclean: clean - @rm -f Make.dep .depend - --include Make.dep diff --git a/nuttx/examples/thttpd/content/Makefile b/nuttx/examples/thttpd/content/Makefile deleted file mode 100644 index 9ff8d87b5..000000000 --- a/nuttx/examples/thttpd/content/Makefile +++ /dev/null @@ -1,104 +0,0 @@ -############################################################################ -# examples/thttpd/content/Makefile -# -# Copyright (C) 2009 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <spudmonkey@racsa.co.cr> -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# 3. Neither the name NuttX nor the names of its contributors may be -# used to endorse or promote products derived from this software -# without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. -# -############################################################################ - -SUBDIRS = hello tasks netstat -INSTALL_FILES = index.html style.css - -THTTPD_DIR = $(TOPDIR)/examples/thttpd -CONTENT_DIR = $(THTTPD_DIR)/content -ROMFS_DIR = $(CONTENT_DIR)/romfs -ROMFS_IMG = $(CONTENT_DIR)/romfs.img -ROMFS_HDR = $(CONTENT_DIR)/romfs.h -ROMFSCGI_DIR = $(ROMFS_DIR)/cgi-bin -SYMTAB = $(CONTENT_DIR)/symtab.h - -define DIR_template -$(1)_$(2): - @$(MAKE) -C $(1) $(3) TOPDIR=$(TOPDIR) CROSSDEV=$(CROSSDEV) CGI_DIR=$(ROMFSCGI_DIR) -endef - -all: $(ROMFS_HDR) $(SYMTAB) -.PHONY: all build clean install populate - -$(foreach DIR, $(SUBDIRS), $(eval $(call DIR_template,$(DIR),build, all))) -$(foreach DIR, $(SUBDIRS), $(eval $(call DIR_template,$(DIR),clean,clean))) -$(foreach DIR, $(SUBDIRS), $(eval $(call DIR_template,$(DIR),install,install))) - -# Build program(s) in each sud-directory - -build: $(foreach DIR, $(SUBDIRS), $(DIR)_build) - -# Install each program in the romfs directory - -install: $(foreach DIR, $(SUBDIRS), $(DIR)_install) - @( for file in $(INSTALL_FILES); do\ - install -m 0644 -D $${file} $(ROMFS_DIR)/$${file}; \ - done; ) - -# Create the romfs directory - -$(ROMFS_DIR): - @mkdir -p $(ROMFS_DIR) - -$(ROMFSCGI_DIR): $(ROMFS_DIR) - @mkdir -p $(ROMFSCGI_DIR) - -# Populate the romfs directory - -populate: $(ROMFSCGI_DIR) build install - -# Create the romfs.img file from the populated romfs directory - -$(ROMFS_IMG): populate - @genromfs -f $@ -d $(ROMFS_DIR) -V "THTTPDTEST" - -# Create the romfs.h header file from the romfs.img file - -$(ROMFS_HDR) : $(ROMFS_IMG) - @(cd $(CONTENT_DIR); xxd -i romfs.img | sed -e "s/^unsigned/static const unsigned/g" >$@) - -# Create the exported symbol table list from the derived *-thunk.S files - -$(SYMTAB): build - @$(CONTENT_DIR)/mksymtab.sh $(CONTENT_DIR) >$@ - -# Clean each subdirectory - -clean: $(foreach DIR, $(SUBDIRS), $(DIR)_clean) - @rm -f $(ROMFS_HDR) $(ROMFS_IMG) $(SYMTAB) - @rm -rf $(ROMFS_DIR) - @rm -f *~ .*.swp - - diff --git a/nuttx/examples/thttpd/content/hello/Makefile b/nuttx/examples/thttpd/content/hello/Makefile deleted file mode 100644 index e980f1c34..000000000 --- a/nuttx/examples/thttpd/content/hello/Makefile +++ /dev/null @@ -1,78 +0,0 @@ -############################################################################ -# examples/thttpd/content/hello/Makefile -# -# Copyright (C) 2009 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <spudmonkey@racsa.co.cr> -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# 3. Neither the name NuttX nor the names of its contributors may be -# used to endorse or promote products derived from this software -# without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. -# -############################################################################ - --include $(TOPDIR)/.config # Current configuration --include $(TOPDIR)/Make.defs # Basic make info - -BIN = hello - -R1SRCS = $(BIN).c -R1OBJS = $(R1SRCS:.c=.o) - -R2SRC = $(BIN)-thunk.S -R2OBJ = $(R2SRC:.S=.o) - -all: $(BIN) - -$(R1OBJS): %.o: %.c - @echo "CC: $<" - @$(CC) -c $(CPICFLAGS) $< -o $@ - -$(R2OBJ): %.o: %.S - @echo "AS: $<" - @$(CC) -c $(CPICFLAGS) $< -o $@ - -$(BIN).r1: $(R1OBJS) - @echo "LD: $<" - @$(LD) $(NXFLATLDFLAGS1) -o $@ $^ - -$(R2SRC): $(BIN).r1 - @echo "MK: $<" - @$(MKNXFLAT) -o $@ $^ - -$(BIN).r2: $(R2OBJ) - @echo "LD: $<" - @$(LD) $(NXFLATLDFLAGS2) -o $@ $(R1OBJS) $(R2OBJ) - -$(BIN): $(BIN).r2 - @echo "LD: $<" - @$(LDNXFLAT) $(LDNXFLATFLAGS) -o $@ $^ - -clean: - @rm -f $(BIN) $(R2SRC) *.o *.r1 *.r2 *~ .*.swp core - -install: - @install -m 0755 -D $(BIN) $(CGI_DIR)/$(BIN) - diff --git a/nuttx/examples/thttpd/content/hello/hello.c b/nuttx/examples/thttpd/content/hello/hello.c deleted file mode 100644 index 40f31a454..000000000 --- a/nuttx/examples/thttpd/content/hello/hello.c +++ /dev/null @@ -1,79 +0,0 @@ -/**************************************************************************** - * examples/thttpd/content/hello/hello.c - * Manatory "Hello, World!" Example - * - * Copyright (C) 2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name Gregory Nutt nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdio.h> -#include <stdlib.h> - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -int main(int argc, char *argv[]) -{ - fprintf(stderr, "Hello requested from: %s\n", getenv("REMOTE_ADDR")); - - puts( - "Content-type: text/html\r\n" - "Status: 200/html\r\n" - "\r\n" - "<html>\r\n" - "<head>\r\n" - "<title>Hello!</title>\r\n" - "<link rel=\"stylesheet\" type=\"text/css\" href=\"/style.css\">\r\n" - "</head>\r\n" - "<body bgcolor=\"#fffeec\" text=\"black\">\r\n" - "<div class=\"menu\">\r\n" - "<div class=\"menubox\"><a href=\"/index.html\">Front page</a></div>\r\n" - "<div class=\"menubox\"><a href=\"hello\">Say Hello</a></div>\r\n" - "<div class=\"menubox\"><a href=\"tasks\">Tasks</a></div>\r\n" - "<div class=\"menubox\"><a href=\"netstat\">Network status</a></div>\r\n" - "<br>\r\n" - "</div>\r\n" - "<div class=\"contentblock\">\r\n"); - printf( - "<h2>Hello, World!</h2><p>Requested by: %s</p>\r\n", - getenv("REMOTE_ADDR")); - puts( - "</body>\r\n" - "</html>\r\n"); - return 0; -} diff --git a/nuttx/examples/thttpd/content/index.html b/nuttx/examples/thttpd/content/index.html deleted file mode 100644 index 1fba1fbf6..000000000 --- a/nuttx/examples/thttpd/content/index.html +++ /dev/null @@ -1,30 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> - <head> - <title>NuttX examples/thttpd</title> - <link rel="stylesheet" type="text/css" href="style.css"> - </head> - <body bgcolor="#fffeec" text="black"> - - <div class="menu"> - <div class="menubox"><a href="index.html">Front page</a></div> - <div class="menubox"><a href="cgi-bin/hello">Say Hello</a></div> - <div class="menubox"><a href="cgi-bin/tasks">Tasks</a></div> - <div class="menubox"><a href="cgi-bin/netstat">Network status</a></div> - <br> - </div> - - <div class="contentblock"> - <p> - These web pages are served by a port of <a href="http://acme.com/software/thttpd/">THTTPD</a> - running on top of <a href="http://www.nuttx.org">NuttX</a>. - NuttX includes a port of the <a href="http://www.sics.se/~adam/uip/">uIP</a> embedded TCP/IP stack. - </p> - <p> - Click on the links above to exercise THTTPD's CGI capability under NuttX. - Clicking the links will execute the CGI program from an - <a href="http://nuttx.sourceforge.net/NuttXNxFlat.html">NXFLAT</a> program residing - in a ROMFS file system. - </p> - </body> -</html> diff --git a/nuttx/examples/thttpd/content/mksymtab.sh b/nuttx/examples/thttpd/content/mksymtab.sh deleted file mode 100755 index 611d3a87a..000000000 --- a/nuttx/examples/thttpd/content/mksymtab.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/bash - -usage="Usage: %0 <test-dir-path>" - -dir=$1 -if [ -z "$dir" ]; then - echo "ERROR: Missing <test-dir-path>" - echo "" - echo $usage - exit 1 -fi - -if [ ! -d "$dir" ]; then - echo "ERROR: Directory $dir does not exist" - echo "" - echo $usage - exit 1 -fi - -varlist=`find $dir -name "*-thunk.S"| xargs grep -h asciz | cut -f3 | sort | uniq` - -echo "#ifndef __EXAMPLES_NXFLAT_TESTS_SYMTAB_H" -echo "#define __EXAMPLES_NXFLAT_TESTS_SYMTAB_H" -echo "" -echo "#include <nuttx/symtab.h>" -echo "" -echo "static const struct symtab_s exports[] = " -echo "{" - -for string in $varlist; do - var=`echo $string | sed -e "s/\"//g"` - echo " {$string, $var}," -done - -echo "};" -echo "#define NEXPORTS (sizeof(exports)/sizeof(struct symtab_s))" -echo "" -echo "#endif /* __EXAMPLES_NXFLAT_TESTS_SYMTAB_H */" - diff --git a/nuttx/examples/thttpd/content/netstat/Makefile b/nuttx/examples/thttpd/content/netstat/Makefile deleted file mode 100644 index b12cbabc8..000000000 --- a/nuttx/examples/thttpd/content/netstat/Makefile +++ /dev/null @@ -1,78 +0,0 @@ -############################################################################ -# examples/thttpd/content/netstat/Makefile -# -# Copyright (C) 2009 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <spudmonkey@racsa.co.cr> -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# 3. Neither the name NuttX nor the names of its contributors may be -# used to endorse or promote products derived from this software -# without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. -# -############################################################################ - --include $(TOPDIR)/.config # Current configuration --include $(TOPDIR)/Make.defs # Basic make info - -BIN = netstat - -R1SRCS = $(BIN).c -R1OBJS = $(R1SRCS:.c=.o) - -R2SRC = $(BIN)-thunk.S -R2OBJ = $(R2SRC:.S=.o) - -all: $(BIN) - -$(R1OBJS): %.o: %.c - @echo "CC: $<" - @$(CC) -c $(CPICFLAGS) $< -o $@ - -$(R2OBJ): %.o: %.S - @echo "AS: $<" - @$(CC) -c $(CPICFLAGS) $< -o $@ - -$(BIN).r1: $(R1OBJS) - @echo "LD: $<" - @$(LD) $(NXFLATLDFLAGS1) -o $@ $^ - -$(R2SRC): $(BIN).r1 - @echo "MK: $<" - @$(MKNXFLAT) -o $@ $^ - -$(BIN).r2: $(R2OBJ) - @echo "LD: $<" - @$(LD) $(NXFLATLDFLAGS2) -o $@ $(R1OBJS) $(R2OBJ) - -$(BIN): $(BIN).r2 - @echo "LD: $<" - @$(LDNXFLAT) $(LDNXFLATFLAGS) -o $@ $^ - -clean: - @rm -f $(BIN) $(R2SRC) *.o *.r1 *.r2 *~ .*.swp core - -install: - @install -m 0755 -D $(BIN) $(CGI_DIR)/$(BIN) - diff --git a/nuttx/examples/thttpd/content/netstat/netstat.c b/nuttx/examples/thttpd/content/netstat/netstat.c deleted file mode 100755 index 634146274..000000000 --- a/nuttx/examples/thttpd/content/netstat/netstat.c +++ /dev/null @@ -1,134 +0,0 @@ -/**************************************************************************** - * examples/thttpd/netstat/netstat.c - * - * Copyright (C) 2009, 2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> - -#include <netinet/ether.h> -#include <net/uip/uipopt.h> -#include <net/uip/uip-arch.h> - -/**************************************************************************** - * Pre-processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Function Prototypes - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/* NOTEs: - * - * 1. One limitation in the use of NXFLAT is that functions that are - * referenced as a pointer-to-a-function must have global scope. Otherwise - * ARM GCC will generate some bad logic. - * 2. In general, when called back, there is no guarantee to that PIC registers - * will be valid and, unless you take special precautions, it could be - * dangerous to reference global variables in the callback function. - */ - -/* static */ int netdev_callback(FAR struct uip_driver_s *dev, void *arg) -{ - struct in_addr addr; - - printf(" <dt>%s\r\n", dev->d_ifname); -#ifdef CONFIG_NET_ETHERNET - printf(" <dd>HWaddr: %s<br>\r\n", ether_ntoa(&dev->d_mac)); -#endif - addr.s_addr = dev->d_ipaddr; - printf(" IPaddr: %s<br>\r\n", inet_ntoa(addr)); - addr.s_addr = dev->d_draddr; - printf(" DRaddr: %s<br>\r\n", inet_ntoa(addr)); - addr.s_addr = dev->d_netmask; - printf(" Mask: %s\r\n", inet_ntoa(addr)); - return OK; -} - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -int main(int argc, char *argv[]) -{ - puts( - "Content-type: text/html\r\n" - "Status: 200/html\r\n" - "\r\n" - "<html>\r\n" - "<head>\r\n" - "<title>Network Status</title>\r\n" - "<link rel=\"stylesheet\" type=\"text/css\" href=\"/style.css\">\r\n" - "</head>\r\n" - "<body bgcolor=\"#fffeec\" text=\"black\">\r\n" - "<div class=\"menu\">\r\n" - "<div class=\"menubox\"><a href=\"/index.html\">Front page</a></div>\r\n" - "<div class=\"menubox\"><a href=\"hello\">Say Hello</a></div>\r\n" - "<div class=\"menubox\"><a href=\"tasks\">Tasks</a></div>\r\n" - "<div class=\"menubox\"><a href=\"netstat\">Network status</a></div>\r\n" - "<br>\r\n" - "</div>\r\n" - "<div class=\"contentblock\">\r\n" - "<dl>\r\n"); - - netdev_foreach(netdev_callback, NULL); - - puts( - "</dl>\r\n" - "</body>\r\n" - "</html>\r\n"); - return 0; -} diff --git a/nuttx/examples/thttpd/content/style.css b/nuttx/examples/thttpd/content/style.css deleted file mode 100644 index bfb0997a8..000000000 --- a/nuttx/examples/thttpd/content/style.css +++ /dev/null @@ -1,80 +0,0 @@ -h1 -{ - text-align: center; - font-size:14pt; - font-family:arial,helvetica; - font-weight:bold; - padding:10px; -} - -body -{ - background-color: #fffeec; - color:black; - font-size:8pt; - font-family:arial,helvetica; -} - -.menu -{ - margin: 4px; - width:60%; - padding:2px; - border: solid 1px; - background-color: #fffcd2; - text-align:left; - font-size:9pt; - font-family:arial,helvetica; -} - -div.menubox -{ - width: 25%; - border: 0; - float: left; - text-align: center; -} - -.contentblock -{ - margin: 4px; - width:60%; - padding:2px; - border: 1px dotted; - background-color: white; - font-size:8pt; - font-family:arial,helvetica; -} - -p.intro -{ - margin-left:20px; - margin-right:20px; - font-size:10pt; - font-family:arial,helvetica; -} - -p.clink -{ - font-size:12pt; - font-family:courier,monospace; - text-align:center; -} - -p.clink9 -{ - font-size:9pt; - font-family:courier,monospace; - text-align:center; -} - -p -{ - padding-left:10px; -} - -p.right -{ - text-align:right; -} - diff --git a/nuttx/examples/thttpd/content/tasks/Makefile b/nuttx/examples/thttpd/content/tasks/Makefile deleted file mode 100755 index 2666e0b69..000000000 --- a/nuttx/examples/thttpd/content/tasks/Makefile +++ /dev/null @@ -1,78 +0,0 @@ -############################################################################ -# examples/thttpd/content/tasks/Makefile -# -# Copyright (C) 2009 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <spudmonkey@racsa.co.cr> -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# 3. Neither the name NuttX nor the names of its contributors may be -# used to endorse or promote products derived from this software -# without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. -# -############################################################################ - --include $(TOPDIR)/.config # Current configuration --include $(TOPDIR)/Make.defs # Basic make info - -BIN = tasks - -R1SRCS = $(BIN).c -R1OBJS = $(R1SRCS:.c=.o) - -R2SRC = $(BIN)-thunk.S -R2OBJ = $(R2SRC:.S=.o) - -all: $(BIN) - -$(R1OBJS): %.o: %.c - @echo "CC: $<" - @$(CC) -c $(CPICFLAGS) $< -o $@ - -$(R2OBJ): %.o: %.S - @echo "AS: $<" - @$(CC) -c $(CPICFLAGS) $< -o $@ - -$(BIN).r1: $(R1OBJS) - @echo "LD: $<" - @$(LD) $(NXFLATLDFLAGS1) -o $@ $^ - -$(R2SRC): $(BIN).r1 - @echo "MK: $<" - @$(MKNXFLAT) -o $@ $^ - -$(BIN).r2: $(R2OBJ) - @echo "LD: $<" - @$(LD) $(NXFLATLDFLAGS2) -o $@ $(R1OBJS) $(R2OBJ) - -$(BIN): $(BIN).r2 - @echo "LD: $<" - @$(LDNXFLAT) $(LDNXFLATFLAGS) -o $@ $^ - -clean: - @rm -f $(BIN) $(R2SRC) *.o *.r1 *.r2 *~ .*.swp core - -install: - @install -m 0755 -D $(BIN) $(CGI_DIR)/$(BIN) - diff --git a/nuttx/examples/thttpd/content/tasks/tasks.c b/nuttx/examples/thttpd/content/tasks/tasks.c deleted file mode 100755 index 13ba5cbb6..000000000 --- a/nuttx/examples/thttpd/content/tasks/tasks.c +++ /dev/null @@ -1,168 +0,0 @@ -/**************************************************************************** - * examples/thttpd/tasks/tasks.c - * - * Copyright (C) 2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> -#include <sched.h> - -/**************************************************************************** - * Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Function Prototypes - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -static const char *g_statenames[] = -{ - "INVALID ", - "PENDING ", - "READY ", - "RUNNING ", - "INACTIVE", - "WAITSEM ", -#ifndef CONFIG_DISABLE_MQUEUE - "WAITSIG ", -#endif -#ifndef CONFIG_DISABLE_MQUEUE - "MQNEMPTY", - "MQNFULL " -#endif -}; - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/* NOTEs: - * - * 1. One limitation in the use of NXFLAT is that functions that are - * referenced as a pointer-to-a-function must have global scope. Otherwise - * ARM GCC will generate some bad logic. - * 2. In general, when called back, there is no guarantee to that PIC registers - * will be valid and, unless you take special precautions, it could be - * dangerous to reference global variables in the callback function. - */ - -/* static */ void show_task(FAR _TCB *tcb, FAR void *arg) -{ - int i; - - /* Show task status */ - - printf("%5d %3d %4s %7s%c%c %8s ", - tcb->pid, tcb->sched_priority, - tcb->flags & TCB_FLAG_ROUND_ROBIN ? "RR " : "FIFO", - tcb->flags & TCB_FLAG_PTHREAD ? "PTHREAD" : "TASK ", - tcb->flags & TCB_FLAG_NONCANCELABLE ? 'N' : ' ', - tcb->flags & TCB_FLAG_CANCEL_PENDING ? 'P' : ' ', - g_statenames[tcb->task_state]); - - /* Show task name and arguments */ - - printf("%s(", tcb->argv[0]); - - /* Special case 1st argument (no comma) */ - - if (tcb->argv[1]) - { - printf("%p", tcb->argv[1]); - } - - /* Then any additional arguments */ - -#if CONFIG_MAX_TASK_ARGS > 2 - for (i = 2; i <= CONFIG_MAX_TASK_ARGS && tcb->argv[i]; i++) - { - printf(", %p", tcb->argv[i]); - } -#endif - printf(")\n"); -} - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -int main(int argc, char *argv[]) -{ - puts( - "Content-type: text/html\r\n" - "Status: 200/html\r\n" - "\r\n" - "<html>\r\n" - "<head>\r\n" - "<title>NuttX Tasks</title>\r\n" - "<link rel=\"stylesheet\" type=\"text/css\" href=\"/style.css\">\r\n" - "</head>\r\n" - "<body bgcolor=\"#fffeec\" text=\"black\">\r\n" - "<div class=\"menu\">\r\n" - "<div class=\"menubox\"><a href=\"/index.html\">Front page</a></div>\r\n" - "<div class=\"menubox\"><a href=\"hello\">Say Hello</a></div>\r\n" - "<div class=\"menubox\"><a href=\"tasks\">Tasks</a></div>\r\n" - "<div class=\"menubox\"><a href=\"netstat\">Network status</a></div>\r\n" - "<br>\r\n" - "</div>\r\n" - "<div class=\"contentblock\">\r\n" - "<pre>\r\n" - "PID PRI SCHD TYPE NP STATE NAME\r\n"); - - sched_foreach(show_task, NULL); - - puts( - "</pre>\r\n" - "</body>\r\n" - "</html>\r\n"); - return 0; -} diff --git a/nuttx/examples/thttpd/main.c b/nuttx/examples/thttpd/main.c deleted file mode 100644 index e2fdda4f4..000000000 --- a/nuttx/examples/thttpd/main.c +++ /dev/null @@ -1,280 +0,0 @@ -/**************************************************************************** - * examples/thttpd/main.c - * - * Copyright (C) 2009-2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name Gregory Nutt nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <sys/ioctl.h> -#include <sys/mount.h> -#include <stdint.h> -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> -#include <errno.h> -#include <debug.h> - -#include <net/if.h> -#include <netinet/ether.h> - -#include <net/uip/uip-arp.h> -#include <apps/netutils/uiplib.h> -#include <apps/netutils/thttpd.h> - -#include <nuttx/ramdisk.h> -#include <nuttx/binfmt.h> -#include <nuttx/nxflat.h> -#ifdef CONFIG_NET_SLIP -# include <nuttx/net.h> -#endif - -#include "content/romfs.h" -#include "content/symtab.h" - -/**************************************************************************** - * Definitions - ****************************************************************************/ - -/* Check configuration. This is not all of the configuration settings that - * are required -- only the more obvious. - */ - -#if CONFIG_NFILE_DESCRIPTORS < 1 -# error "You must provide file descriptors via CONFIG_NFILE_DESCRIPTORS in your configuration file" -#endif - -#ifndef CONFIG_NXFLAT -# error "You must select CONFIG_NXFLAT in your configuration file" -#endif - -#ifndef CONFIG_FS_ROMFS -# error "You must select CONFIG_FS_ROMFS in your configuration file" -#endif - -#ifdef CONFIG_DISABLE_MOUNTPOINT -# error "You must not disable mountpoints via CONFIG_DISABLE_MOUNTPOINT in your configuration file" -#endif - -#ifdef CONFIG_BINFMT_DISABLE -# error "You must not disable loadable modules via CONFIG_BINFMT_DISABLE in your configuration file" -#endif - -/* SLIP-specific configuration */ - -#ifdef CONFIG_NET_SLIP - - /* No MAC address operations */ - -# undef CONFIG_EXAMPLE_THTTPD_NOMAC - - /* TTY device to use */ - -# ifndef CONFIG_NET_SLIPTTY -# define CONFIG_NET_SLIPTTY "/dev/ttyS1" -# endif - -# define SLIP_DEVNO 0 -# define NET_DEVNAME "sl0" -#else - - /* Otherwise, use the standard ethernet device name */ - -# define NET_DEVNAME "eth0" -#endif - -/* Describe the ROMFS file system */ - -#define SECTORSIZE 512 -#define NSECTORS(b) (((b)+SECTORSIZE-1)/SECTORSIZE) -#define ROMFSDEV "/dev/ram0" -#define MOUNTPT CONFIG_THTTPD_PATH - -#ifdef CONFIG_CPP_HAVE_VARARGS -# ifdef CONFIG_DEBUG -# define message(...) lib_lowprintf(__VA_ARGS__) -# define msgflush() -# else -# define message(...) printf(__VA_ARGS__) -# define msgflush() fflush(stdout) -# endif -#else -# ifdef CONFIG_DEBUG -# define message lib_lowprintf -# define msgflush() -# else -# define message printf -# define msgflush() fflush(stdout) -# endif -#endif - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/* These values must be provided by the user before the THTTPD task daemon - * is started: - * - * g_thttpdsymtab: A symbol table describing all of the symbols exported - * from the base system. These symbols are used to bind address references - * in CGI programs to NuttX. - * g_nsymbols: The number of symbols in g_thttpdsymtab[]. - */ - -FAR const struct symtab_s *g_thttpdsymtab; -int g_thttpdnsymbols; - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * user_initialize - ****************************************************************************/ - -#ifndef CONFIG_HAVE_WEAKFUNCTIONS -void user_initialize(void) -{ - /* Stub that must be provided only if the toolchain does not support weak - * functions. - */ -} -#endif - -/**************************************************************************** - * user_start - ****************************************************************************/ - -int user_start(int argc, char *argv[]) -{ - struct in_addr addr; -#ifdef CONFIG_EXAMPLE_THTTPD_NOMAC - uint8_t mac[IFHWADDRLEN]; -#endif - char *thttpd_argv = "thttpd"; - int ret; - - /* Configure SLIP */ - -#ifdef CONFIG_NET_SLIP - ret = slip_initialize(SLIP_DEVNO, CONFIG_NET_SLIPTTY); - if (ret < 0) - { - message("ERROR: SLIP initialization failed: %d\n", ret); - exit(1); - } -#endif - -/* Many embedded network interfaces must have a software assigned MAC */ - -#ifdef CONFIG_EXAMPLE_THTTPD_NOMAC - message("Assigning MAC\n"); - - mac[0] = 0x00; - mac[1] = 0xe0; - mac[2] = 0xb0; - mac[3] = 0x0b; - mac[4] = 0xba; - mac[5] = 0xbe; - uip_setmacaddr(NET_DEVNAME, mac); -#endif - - /* Set up our host address */ - - message("Setup network addresses\n"); - addr.s_addr = HTONL(CONFIG_THTTPD_IPADDR); - uip_sethostaddr(NET_DEVNAME, &addr); - - /* Set up the default router address */ - - addr.s_addr = HTONL(CONFIG_EXAMPLE_THTTPD_DRIPADDR); - uip_setdraddr(NET_DEVNAME, &addr); - - /* Setup the subnet mask */ - - addr.s_addr = HTONL(CONFIG_EXAMPLE_THTTPD_NETMASK); - uip_setnetmask(NET_DEVNAME, &addr); - - /* Initialize the NXFLAT binary loader */ - - message("Initializing the NXFLAT binary loader\n"); - ret = nxflat_initialize(); - if (ret < 0) - { - message("ERROR: Initialization of the NXFLAT loader failed: %d\n", ret); - exit(2); - } - - /* Create a ROM disk for the ROMFS filesystem */ - - message("Registering romdisk\n"); - ret = romdisk_register(0, (uint8_t*)romfs_img, NSECTORS(romfs_img_len), SECTORSIZE); - if (ret < 0) - { - message("ERROR: romdisk_register failed: %d\n", ret); - nxflat_uninitialize(); - exit(1); - } - - /* Mount the file system */ - - message("Mounting ROMFS filesystem at target=%s with source=%s\n", - MOUNTPT, ROMFSDEV); - - ret = mount(ROMFSDEV, MOUNTPT, "romfs", MS_RDONLY, NULL); - if (ret < 0) - { - message("ERROR: mount(%s,%s,romfs) failed: %s\n", - ROMFSDEV, MOUNTPT, errno); - nxflat_uninitialize(); - } - - /* Start THTTPD. At present, symbol table info is passed via global variables */ - - g_thttpdsymtab = exports; - g_thttpdnsymbols = NEXPORTS; - - message("Starting THTTPD\n"); - msgflush(); - thttpd_main(1, &thttpd_argv); - message("THTTPD terminated\n"); - msgflush(); - return 0; -} |