
- •Contents
- •Preface
- •About this book
- •Intended audience
- •Organization
- •Typographical conventions
- •Further reading
- •ARM publications
- •Other publications
- •Feedback
- •Feedback on the ARM Webserver software
- •Feedback on this book
- •1.1 About the ARM Webserver
- •1.1.1 Terms
- •1.2 Demonstration program
- •2.1 Server architecture
- •2.1.1 HTTP engine
- •2.1.2 Virtual File System
- •2.1.3 Common Gateway Interface
- •2.1.4 System interfaces
- •2.2 Embedded data and executable files in the Virtual File System
- •2.2.1 File compression
- •2.3 Users, authentication, and security
- •2.3.1 Background information
- •2.3.2 Higher levels of security
- •2.3.3 Requirements for embedded applications
- •2.4 System requirements
- •2.4.1 TCP/IP and sockets
- •2.4.2 Static memory
- •2.4.3 Dynamic memory
- •2.4.4 Clock tick
- •3.1 Setting up your source tree
- •3.1.1 Source and include files
- •3.1.2 Port files
- •3.1.3 HTML compression tags table
- •3.1.4 HTML compiler output
- •3.2 Start with HTML sources
- •3.2.1 Index.htm
- •3.3 HTML Compiler
- •3.3.1 Building the HTML Compiler
- •3.3.2 Running the HTML Compiler
- •3.4 Provide the system routines
- •3.4.1 Dynamic memory
- •3.4.2 TCP/IP and sockets
- •3.4.3 String library
- •3.4.4 Timer tick routine
- •3.5 Initialization routine
- •3.6 User and password lookup routine
- •3.7 SSI routines
- •3.7.1 Including other files within a page
- •3.7.2 Dynamic page content
- •3.7.3 SSI exec routine
- •3.7.4 html_exec
- •3.7.5 SSI include routines
- •3.7.6 Displaying C variables using #include
- •3.8 CGI routines
- •3.8.1 CGI routine inputs
- •3.8.2 CGI routine return values
- •3.8.3 Using the HTML Compiler to automatically generate CGI functions
- •4.1 About the HTML Compiler
- •4.2 Usage
- •4.2.1 Command lines
- •4.2.2 Input lines
- •4.3 Sample input file
- •4.3.1 Code sample
- •4.3.7 The setip.cgi option
- •4.3.8 Generating stub routines
- •A.1 Requirements
- •A.1.1 FPGA product information
- •A.2 Installation procedure
- •A.3 Building using ADS for Windows
- •A.3.1 Build the HTML Compiler
- •A.3.2 Compile the sample HTML files
- •A.3.3 Build the Widget application
- •A.3.4 Run the Widget application
- •A.4 Building using ADS from the command line
- •Glossary
- •Index
- •Symbols

Index
The items in this index are listed in alphabetical order, with symbols and numerics appearing at the end. The references given are to page numbers.
A |
cgi.h |
3--3 |
2 14 |
Dynamic data 3-- |
17 |
13 |
|
Clock tick |
Dynamic memory |
2-- |
|||
ADS, see ARM Developer Suite |
close() |
3-- |
7 |
|
|
|
ARM Developer Suite |
1-- |
3 |
Compression |
|
|
|
|
|
|
E |
|
|
|
|
|
||||
compiler |
2 |
--13 |
|
|
|
HTML files |
2-- |
7 |
|
|
|
|
|
|
|
|
|
||
Authorization |
4--2 |
|
|
|
CPU cycles |
3-- |
9 |
|
|
|
|
|
|
|
|
|
|
|
|
user and password |
3-- |
11 |
cvar files 3-- |
17, 4-- |
7, 4-- |
10 |
|
|
Encryption 2--10 |
|
|
|
|
||||||
|
|
|
|
|
|
C++ (programming language) |
1 |
--3 |
-endform (directive) |
4-- |
8 |
|
|||||||
B |
|
|
|
|
|
|
|
|
|
|
|
|
|
errno() |
3--7 |
|
|
|
|
|
|
|
|
|
D |
|
|
|
|
|
|
|
ether.nv |
A--5, A-- |
6 |
|
|
|
|
Basic authentication |
4 |
3, 4 6 |
|
|
|
|
|
|
|
exec commands (#exec) |
3-- |
13 |
|||||||
|
|
|
|
|
|
|
|
Executable files (in VFS) 3-- |
16 |
||||||||||
Buffer sizes |
2-- |
13 |
|
|
|
Demonstration program |
1--3, 2-- |
2, |
exec() |
2--2 |
|
|
|
|
|||||
|
|
|
|
|
|
3--14, A-- |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
C |
|
|
|
|
|
building |
A-- |
4, A-- |
6 |
|
|
|
F |
|
|
|
|
|
|
|
|
|
|
|
input file |
4-- |
5 |
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
installation |
A--3 |
|
|
|
|
|
|
|
|
|
|
||
calloc() 3-- |
7 |
|
|
|
|
module sizes in |
2-- |
12 |
|
|
File compression |
2-- |
7 |
|
|
||||
CGI |
|
|
|
|
|
requirements A-- |
2 |
|
|
|
|
File system 2--2 |
|
|
|
|
|||
commands |
4--10 |
|
|
|
routines |
3-- |
7, 3-- |
9, 3-- |
10, 3-- |
21, |
filetext (parameter) |
3--20 |
|
||||||
routines |
2-- |
5, 3-- |
19, 4 |
--10 |
4--10 |
|
|
|
|
|
|
|
fork() 2--2 |
|
|
|
|
||
CGI (Common Gateway Interface) |
Digest (MD5) authentication |
2-- |
10, |
-form (directive) |
4-- |
8 |
|
|
|||||||||||
2--5 |
|
|
|
|
|
4--3, 4-- |
6 |
|
|
|
|
|
|
Forms |
2--13 |
|
|
|
|
ARM DUI 0075D |
Copyright © 1999-2001 ARM Limited. All rights reserved. |
Index-1 |

Index
FP_DONE 3--20 |
|
|
|
|
ht_ssi_cvar() |
4-- |
7 |
|
|
|
|
|
|
R |
|
|
|
|
|
|
|
|
||||||
FP_ERRHD 3--20 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
FP_FILE 3--19 |
|
|
|
|
|
I |
|
|
|
|
|
|
|
|
|
Realm |
|
|
|
|
|
|
|
|
||||
FP_OK 3--19 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
HTTP authentication 3-- |
11 |
|
|
|
||||||||
FP_OKHD 3--20 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
recv() 3 |
--7 |
|
|
|
|
|
|
||||||
FP_TEXT 3--19 |
|
|
|
|
|
In-Circuit Emulators (ICE) 1-- |
3 |
|
Requirements (demonstration program) |
|||||||||||||||||||
Frames |
2-- |
13 |
|
|
|
|
|
|
include commands (#include) |
3-- |
13 |
|
A-- |
2 |
|
|
|
|
|
|
|
|||||||
free() |
3-- |
7 |
|
|
|
|
|
|
|
index.htm |
3-- |
5 |
|
|
|
|
|
|
|
Runtime options |
4-- |
3 |
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
Initialization routine |
3-- |
10 |
|
|
|
|
|
|
|
|
|
|
|
|
||||
G |
|
|
|
|
|
|
|
|
|
Input file (for HTML Compiler) |
4-- |
5 |
S |
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
Installation procedure (demonstration |
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
program) |
A-- |
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
GET (HTTP method) |
2-- |
4, 2-- |
5, 4--8 |
ipmask 4-- |
10 |
|
|
|
|
|
|
|
send() 3-- |
7 |
|
|
|
|
|
|
||||||||
Glue routines |
3-- |
7 |
|
|
|
|
Iterated pages 2-- |
2 |
|
|
|
|
|
SET community (SNMP) |
2--9 |
|
|
|
||||||||||
Graphics |
2 |
--13 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
setip_cgi() |
3--18, 4-- |
8 |
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
L |
|
|
|
|
|
|
|
|
|
SNMP |
|
|
|
|
|
|
|
|
H |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
communities 2--9 |
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
listen (TCP/IP function) |
3 10 |
|
|
|
Sockets |
2-- |
11 |
3 |
2 |
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
Source files (list) |
|
|
|
|
|||||||||||
header.htm |
3-- |
13 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SSI routines |
|
|
|
|
|
|
|||||
Home page |
3-- |
5 |
|
|
|
|
|
M |
|
|
|
|
|
|
|
|
|
exec |
3-- |
14 |
|
|
|
|
|
|
||
htauth.c |
3-- |
2 |
7, 3 |
2, 3 |
4 |
|
|
|
|
|
|
|
|
|
|
include |
3--16, 4-- |
10 |
|
|
|
|
||||||
htcmptab.h |
2-- |
|
|
|
|
|
|
|
|
|
|
|
SSI stubs |
|
|
|
|
|
|
|
||||||||
htfiles.c |
3-- |
2, 3-- |
3 |
|
|
|
|
malloc() 3--7 |
|
|
|
|
|
|
|
generating with the HTML Compiler |
||||||||||||
htfiles.h |
3-- |
3 |
|
|
|
|
|
|
MD5 authentication |
2-- |
10, 4-- |
3 |
|
|
4-- |
6 |
|
|
|
|
|
|
|
|||||
HTML Compiler |
3-- |
2, 3-- |
6, 4-- |
2 |
Memory requirements 2--2 |
|
|
|
strilib.c -- |
3 |
8 |
|
|
|
|
|
|
|||||||||||
building |
3-- |
6 |
|
|
|
|
|
Multitasking |
2-- |
2 |
|
|
|
|
|
|
String library (list of routines) |
3 |
--8 |
|
||||||||
running |
3-- |
6, 4-- |
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
System efficiency |
3-- |
9 |
|
|
|
|
|||||
HTML form data |
|
|
|
|
|
N |
|
|
|
|
|
|
|
|
|
System interfaces |
2-- |
6 |
|
|
|
|
||||||
and CGI |
2-- |
5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
System requirements |
2--11 |
|
|
|
|||||||
htmlcomp.c |
3-- |
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
sys_closesocket() |
3-- |
7, 3-- |
10 |
|
|
|
||||
htmldata.c |
3-- |
4, 4-- |
3, 4-- |
6 |
|
Name/value pairs |
2-- |
2 |
|
|
|
|
sys_errno() 3--7 |
|
|
|
|
|
|
|||||||||
htmldata.h |
3-- |
4, 4-- |
3, 4-- |
10 |
|
name_val 3--18 |
|
|
|
|
|
|
|
SYS_EWOULDBLOCK 3--8 |
|
|
|
|||||||||||
htmllib.c |
4-- |
7 |
|
|
|
|
|
|
Native file system |
2-- |
4 |
|
|
|
|
sys_recv() 3--7 |
|
|
|
|
|
|
||||||
htmllist.vfs |
3-- |
6 |
|
|
|
|
|
Non-Volatile Random Access Memory |
sys_send() |
3--7 |
|
|
|
|
|
|
||||||||||||
html_exec() 3--14 |
|
|
|
|
(NVRAM) |
3-- |
12 |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
httpcgi.c |
3-- |
2 |
|
|
|
|
|
|
npalloc() |
2-- |
14, 3-- |
7, 3-- |
19 |
|
|
|
T |
|
|
|
|
|
|
|
|
|||
httpd.h |
2--4, 3--3 |
|
|
|
|
npfree() 2--14, 3-- |
7, 3-- |
19 |
|
|
|
|
|
|
|
|
|
|
|
|||||||||
httpform |
3-- |
18 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
HTTPMAXSEND |
2-- |
4 |
|
|
P |
|
|
|
|
|
|
|
|
|
Tag compression |
|
|
|
|
|
|
|||||||
httpport.c |
3--4, 3 |
--10 |
|
|
|
|
|
|
|
|
|
|
|
|
HTML file compression |
2-- |
7, 4-- |
2 |
||||||||||
httpsrv.c |
2-- |
4, 3-- |
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
TCP/IP -- |
2 |
11 |
|
|
|
|
|
|
||
http_connection() |
2-- |
14, 3--10 |
|
Password |
3-- |
11 |
|
|
|
|
|
|
|
Timer tick routine |
3-- |
8 |
|
|
|
|
||||||||
http_init() 3--10 |
|
|
|
|
|
user 2-- |
9 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
http_loop() |
3-- |
9, 3-- |
19 |
|
|
Perl script |
2-- |
5 |
|
|
|
|
|
|
|
U |
|
|
|
|
|
|
|
|
||||
ht_ipaddr() 3--16 |
|
|
|
|
POST (HTTP method) |
2--4, 2-- |
|
5, 4-- |
8 |
|
|
|
|
|
|
|
|
|||||||||||
HT_LOCALFS 2--8 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
HT_MD5AUTH 2--10 |
|
|
|
|
|
|
|
|
|
|
|
|
User (names, for authentication) |
2-- |
9, |
|||||||||||||
HT_NOVFS 2--8 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3-- |
11 |
|
|
|
|
|
|
Index-2 |
Copyright © 1999-2001 ARM Limited. All rights reserved. |
ARM DUI 0075D |

Index
User, password lookup routine 3--11 user_ok() 3--12
uuencoding 2--9
V
vfclose() 2--8
VFILE pointer to VFS open file struct 2--8
vfopen() 2--8 vfread() 2--8 VFS
see Virtual File System 1--3 vfseek() 2--8
vfs_file (structure) 3--12 vgetc() 2--8
Virtual File System 1--3, 2--4 compiling HTML files 3--6, 4--2,
4--10
embedded data 2--7 executable files 2--7, 3--16
layering on pre-existing system 2--8 source files 3--2, 3--3
W
Web performance 3--9
webport.h 1--3, 2--4, 2--10, 3--2, 3--4 webserve (directory) A--3
widget (directory) A--3
Symbols
#exec commands 3--13 #include commands 3--13
ARM DUI 0075D |
Copyright © 1999-2001 ARM Limited. All rights reserved. |
Index-3 |

Index
Index-4 |
Copyright © 1999-2001 ARM Limited. All rights reserved. |
ARM DUI 0075D |