Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
(ARM).Porting TCP-IP programmer's guide.Ver 1.6.pdf
Скачиваний:
43
Добавлен:
23.08.2013
Размер:
2.64 Mб
Скачать

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

 

 

 

 

 

 

 

B

 

 

 

 

 

D

 

 

 

 

 

 

 

add_route() 10--9

 

 

 

 

blocklist()

9--3

 

 

Debugging aids

2--

6

 

 

 

add_user()

9 --

24, 9--

25

 

 

 

 

 

 

 

 

dprintf()

 

2--7

 

 

 

 

app_ping.c 9--2

 

 

 

 

 

C

 

 

 

 

 

dtrap()

2--

6

 

 

 

 

 

ARM directories

8--

2

14, 3

2, 8

 

 

 

 

 

initmsg()

2--

7

7

 

 

 

\armthumb

2--

5, 2--

2

 

 

 

 

 

NPDEBUG

2--

 

 

 

\pid7tdm

2--

14, 3--

2, 8--

2

 

Callback function

7--3, 7--6

Default router, setting

2--

18

 

ARM Firmware Suite

8--8

 

calloc()

3--

8, 9--

2

 

DHCP client functions

4--

2

 

ARM TCP/IP requirements

1--

4

ccksum.c 3--3

 

 

dhc_discover() 4--3

 

 

memory

1--

4

 

 

 

 

 

check_permit() 9--25

dhc_halt()

4--

3, 4--

5

 

 

operating system

1--

6

 

 

cksum()

3--

3, 8--

3

 

dhc_init() 4--2

 

 

 

 

armsd.ini 8

--3

 

 

 

 

 

 

cksum.s

3--

3, 8--

3

 

dhc_second()

4--

2, 4--

6

 

ARM-specific routines

8--

2

 

clock()

2--

8

 

 

dhc_set_callback() 4--5

 

ARP routines

10--

2

 

 

 

 

clock.c

2--

8, 8--

5

 

dhcpclnt.c

4--

2

 

 

 

 

 

arprcv()

10--3

 

 

 

 

 

con_page() 9--7

 

dhcputil.c

4--

2

 

 

 

 

 

etainit()

10

--2

 

 

 

 

 

Critical section

2--

16

dhc_discover() 4--3

 

 

 

make_arp_entry() 10--2

 

crit.c

8--

5

 

 

 

dhc_halt()

4--

3, 4--

5

 

 

 

arprcv() 10--

3

 

 

 

 

 

 

cticks

2

--8

 

 

 

dhc_init() 4--2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

dhc_second()

4--

2, 4--

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

dhc_set_callback() 4--5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Domain Name Service (DNS)

9--19

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Dotted-quad notation

9--

18, 9--

19

ARM DUI 0144B

Copyright © 1998-2001 ARM Limited. All rights reserved.

Index-1

Index

dprintf()

2--

7, 3--

4, 9--

3, 9--

5, 9

--8,

H

 

 

 

 

 

 

 

 

pk_alloc() 10--12

 

 

 

 

 

 

9--

11

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

pk_free() 10--13

 

 

 

 

 

 

 

dputchar()

9--5

 

 

 

 

 

 

hexdump()

 

9--

8

 

 

 

 

ipport.c

2--

14, 3--

2

 

 

 

 

 

 

 

dtrap()

 

2--

6, 3--

 

5, 8--

3, 9

--11

 

htonl()

2--

5

 

 

 

 

 

ipport.h

2--

2, 2--

 

4, 5--

18, 9--4

 

 

dtrap.s

 

8--

3

 

 

 

 

 

 

 

 

htons()

2--

5

 

 

 

 

 

CPU architecture

 

2--

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

creating

2

--4

 

 

 

 

 

 

 

 

 

E

 

 

 

 

 

 

 

 

 

 

 

I

 

 

 

 

 

 

 

 

debugging aids

2--

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

definitions in

 

2--

 

8, 2--

9, 2--

14,

9,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2--

16, 3--

2, 3--

 

4, 3--

7, 3--

8, 3--

Editing .nv files

B--

1

 

 

 

ICMP routines

10--

14

 

 

9--

2

 

 

 

 

 

 

 

 

 

 

 

 

ENP_ error codes

A--

2

 

 

 

icmpEcho()

10--

16

 

 

errors defined in

 

5--2, 5--4, 5--

5,

 

ENTER_CRIT_SECTION() 3--6

icmprcv() 10--

14

 

 

5--

6, 5--

8, 5--

9, 5--

10, 5--

13,

 

errno

5--

2, 5--

7, 5--

18

 

 

 

icmp_destun() 10--15

 

5--

14, 5--

19, 5--

 

21, 5--

24, A--

2

Error codes

A--

2, A--

4

 

 

 

icmpEcho()

10--

16

 

 

 

optional compilation switches

2--

9

etainit()

10--

2

 

 

 

 

 

 

 

icmprcv()

10--

14

 

 

 

pre-emption and protection

2--

6

 

EWOULDBLOCK

5

--15, 5--

20

 

icmp_destun() 10--15

 

 

stack features and options

2--8

 

exceptfds

5--

16

 

 

 

 

 

 

inet_timer() 9--21

 

 

 

standard macros and definitions

 

 

EXIT_CRITICAL_SECTION(). 2--17

INICHE_LIBS (macro)

9--

4

2--

4

 

 

 

 

 

 

 

 

 

 

 

 

EXIT_CRIT_SECTION()

3--

6

 

initboard.c

 

8--7

 

 

 

 

timers and multitasking

2--

8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

initmsg()

2--

7, 3--

4

 

 

 

iproute()

10--

8

 

 

 

 

 

 

 

 

 

 

F

 

 

 

 

 

 

 

 

 

 

 

Integrator/AP-specific routines 8--4

ip2mac()

10--

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Internal functions

10--

1

 

ip_addr

9--

18, 9--

19

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

in_reshost() 9--19

 

 

 

ip_mymach() 10--7

 

 

 

 

 

 

 

farp 9

--

23

 

 

 

 

 

 

 

 

in_utils.c

9--

2, 9--

6

 

 

 

ip_rcv() 10--10

 

 

 

 

 

 

 

 

 

fcount

9--

23

 

 

 

 

 

 

 

con_page() 9--7

 

 

 

ip_write() 10--5

 

 

 

 

 

 

 

 

 

FD_CLR() 5--17

 

 

 

 

 

hexdump()

9--

8

 

 

 

irq.c 2--

16

 

 

 

 

 

 

 

 

 

 

 

 

FD_ISSET() 5--17

 

 

 

 

nextarg()

9--

9

 

 

 

istring.c

 

 

 

 

 

 

 

 

 

 

 

 

 

fd_set structures

 

 

 

 

 

 

ns_printf() 9--10

 

 

strcmp()

9--

4

 

 

 

 

 

 

 

 

 

FD_CLR() 5--17

 

 

 

 

panic()

9--11

 

 

 

 

stricmp() 9--

4

 

 

 

 

 

 

 

 

FD_ISSET() 5--17

 

 

 

print_eth() 9--12

 

 

stristr()

9--

4

 

 

 

 

 

 

 

 

 

FD_SET() 5--17

 

 

 

 

print_ipad() 9--13

 

 

strncmp() --

9

 

4

 

 

 

 

 

 

 

 

FD_ZERO() 5--17

 

 

 

print_uptime() 9--13

 

strnicmp()

9--

4

 

 

 

 

 

 

 

 

FD_SET() 5--17

 

 

 

 

 

std_in() 9--14

 

 

 

strstr() 9--

4

 

 

 

 

 

 

 

 

 

 

FD_ZERO() 5--17

 

 

 

 

std_out() 9--15

 

 

 

i8255x Ethernet driver D--

1

 

 

 

fping

9--

23

 

 

 

 

 

 

 

 

sysuptime()

9--15

 

 

build options

 

D--

 

4

 

 

 

 

 

free()

3--9, 9--

2

 

 

 

 

 

 

uslash()

9--

16

 

 

 

error statistics

D--

 

4

 

 

 

 

 

Fully-qualified domain name

9--

19

in_utils.h 9--4

 

 

 

 

 

general configurable values

D--

5

 

 

 

 

 

 

 

 

 

 

 

 

IP

 

 

 

 

 

 

 

 

memory allocation

D--6

 

 

 

G

 

 

 

 

 

 

 

 

 

 

 

addresses 2--18

 

 

 

memory architecture

D--

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

end user

2--

19

 

2

18

porting

D--

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

porting programmer

uHAL D--

6

 

 

 

 

 

 

 

 

 

 

Glue layer

 

 

 

 

 

 

 

 

 

IP routines

 

10--

4

 

 

 

i8255x.c

8--

6

 

 

 

 

 

 

 

 

 

 

coding task control

2--

14

 

add_route() 10--9

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

TCP

2--

15

 

 

 

 

 

 

 

iproute()

10--

8

 

 

 

L

 

 

 

 

 

 

 

 

 

 

 

 

 

Glue layer coding

2--

14

 

 

 

ip2mac()

10--

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ip_mymach() 10--7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ip_rcv() 10--10

 

 

 

LOCK_NET_RESOURCE() 2--17,

 

 

 

 

 

 

 

 

 

 

 

 

 

ip_write() 10--5

 

 

 

3--

7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

parse_ipad()

10--

11

 

lowlevel.s

8--

6

 

 

 

 

 

 

 

 

 

 

Index-2

Copyright © 1998-2001 ARM Limited. All rights reserved.

ARM DUI 0144B

Index

lswap()

2--

5

 

 

 

 

 

NPDEBUG

2

-- 7

 

 

 

readfds

5

--16

 

 

 

 

 

 

 

 

 

 

 

 

 

 

npfree()

3--

9, 9--

2

 

 

 

reg_type 3--18

 

 

 

 

 

M

 

 

 

 

 

 

 

nrmenus.c

9--

 

 

 

 

reshost.c

9--

19

 

 

 

 

 

 

 

 

 

 

 

 

ns_printf()

9--

10, 9--15

 

 

in_reshost() 9--19

 

 

 

 

 

 

 

 

 

ntohl() 2--5

 

 

 

 

RH_BLOCK 9--19

 

 

macloop.c

2--

18

 

 

 

ntohs()

2--

5

 

 

 

 

RH_VERBOSE 9--19

 

make_arp_entry() 10--2

 

NUM_NETUSERS 9--24

 

 

rvcdq 3--

18

 

 

 

 

 

 

malloc()

3--

8

 

 

 

 

nvparms.c

9--

 

 

 

 

RXQ_RESID

3--

7

 

 

 

MAXNETS

3--

14

 

 

n_close() 3--17

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MAX_USERLENGTH 9--24

n_defgw 2--18

 

 

 

 

S

 

 

 

 

 

 

 

 

 

memman.c

3--

8, 3--9

 

 

n_init()

2--

18, 3--

18

 

 

 

 

 

 

 

 

 

 

 

 

blocklist()

9--

3

 

 

n_ipaddr 2--18

 

 

 

 

 

 

 

 

 

 

 

 

 

 

npalloc()

9--

2

 

 

 

n_mib 3--23, --3

25

 

 

 

Sample applications

C--

1

npfree()

9

--2

 

 

 

n_reg_type() 3--

18, 3--

20

 

 

building projects

 

C--

3

menulib.c 9--

3

 

 

 

 

n_stats()

3--

21

 

 

 

 

chargen

C--

5

 

 

 

 

menus demo

9--

2, 9--

14

 

 

 

 

 

 

 

 

maildemo

C--

 

5

 

 

 

menus.c

9--

3

 

 

 

 

 

O

 

 

 

 

 

 

menus

C--

5

 

 

 

 

 

MIB-II 3--18

 

4

1

 

 

 

 

 

 

 

project files

C--

3

 

Modem functions

 

 

 

 

 

 

 

 

project folders

C

--3

MSG_DONTROUTE 5--18

 

olicom.c

3--

16, 3--19

 

 

 

requirements

 

C--

 

2

 

MSG_OOB

5--

18

 

 

 

Optional compile switches

2--

9

running

C--

4

 

 

 

 

 

 

 

 

 

 

 

 

Out-of-band 5--16, 5--

18

 

 

Sample package directories 1--7

N

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Sample programs

1--

8

 

 

 

 

 

 

 

 

P

 

 

 

 

 

 

send_next_from_q() 3--23

NET structure

3 15

 

 

 

 

 

 

 

 

sleep_chan() 2--16

 

 

 

 

 

 

 

 

 

 

 

 

sleep()

2--

16

 

 

 

 

 

 

netbuf.h

3--

22

 

 

 

 

Packet buffers --

2, 7--

4

 

 

Socket

5--

4

 

 

 

 

 

 

netexit()

9--

11

 

 

 

 

panic()

3--

10, --9

11

 

 

 

Socket error codes

A--

4

Network interfaces

3--

14

 

parseip.c

9--18

 

 

 

 

Socket functions

 

 

 

 

 

n_close()

3--

17

 

 

parse_ipad() --9 18

 

 

 

t_accept()

5--

 

4

 

 

 

n_init()

3--

18

 

 

 

parse_ipad() 10--11

 

 

 

t_bind()

5--

5

 

 

 

 

n_reg_type()

3--

20

 

ping 9--

2

 

 

 

 

 

t_connect()

5--

6

 

 

n_stats() 3--21

 

 

 

pkt_send() 3--22

 

 

 

t_errno()

5--

7

 

 

 

pkt_send() 3--22

 

 

pk_alloc() 10--12

 

 

 

t_getpeername()

--

5

8

raw_send() 3--25

 

 

pk_free() 10--13

 

 

 

t_getsockname()

 

5--

9

Network interfacesNET structure

Portable files --

3

 

 

 

t_getsockopt()

5--

10

3--

15

 

 

 

 

 

 

Pre-emption and protection

2--

6, 2--16

t_listen()

5--

13

 

 

 

Network resource locks 2--17

critical sections 2--

16

 

 

t_recvfrom()

 

5--

14

 

NET_RESID 3--7

 

 

network resource locks

2--

17

t_recv()

5--

14

 

 

 

net.h 3--

14, 3--15, 3--

16, 3--

19

prep_ifaces() --

11, 3--

18, 3--

19

t_select()

5--

16

 

 

 

net[ ] structure

 

 

 

 

printf()

3--

4

 

 

 

 

t_sendto()

5--

 

18

 

 

driver-specific 3--16

 

print_eth() 9--12

 

 

 

t_send()

5--

18

 

 

 

IP addressing information

3--16

print_ipad() 9--13

 

 

 

t_setsockopt()

5--

19

MIB information 3--16

 

print_uptime() --

13

 

 

 

t_shutdown()

 

5--

 

21

 

nextarg()

9--9

 

 

 

 

 

 

 

 

 

 

 

t_socketclose()

5--24

nextcarg.c

9--

17

 

 

 

R

 

 

 

 

 

 

t_socket() 5--22

 

 

nextcarg()

9--

17

3

 

 

 

 

 

 

 

Sockets

5--

1

 

 

5

3

 

Non-portable files

2--

 

 

 

 

 

 

 

 

API reference

 

npalloc()

3--

8, 9--

2

 

 

raw_send()

3--

25

 

 

 

identifying

7--

7

 

 

 

ARM DUI 0144B

Copyright © 1998-2001 ARM Limited. All rights reserved.

Index-3

Index

implementation

5

-- 2

 

dtrap()

3--

 

5

 

 

 

 

 

UDP functions 6--

2

 

TCP Zero-copy API extension 7--2

ENTER_CRIT_SECTION() 3--

6

udp_alloc()

6--

2

 

socket.h

5--

11, 5--

20, 5--

22, 5--23

EXIT_CRIT_SECTION() 3--6

 

udp_close() 6--3

 

splnet()

2--

16

 

 

 

 

 

initmsg()

3--

4

 

 

 

 

udp_free()

 

6--

4

 

splx()

2--

 

16

 

 

 

 

 

 

LOCK_NET_RESOURCE() 3--

7

udp_open()

6--

5

 

Stack

2--

8

 

 

 

 

 

 

 

npalloc()

3--

8

 

 

 

 

udp_send() 6--6

 

stdio.h

2--

4

 

 

 

 

 

 

npfree()

3--

9

 

 

 

 

udp_socket() 6--7

 

std_in() 9--14

 

 

 

 

 

panic()

3--

 

10

 

 

 

 

udp_alloc() 6--2

 

 

std_out() 9--15

 

 

 

 

prep_ifaces() 3--11

 

 

 

udp_close() 6--3

 

 

strcat()

9--

4

 

 

 

 

 

 

tcp_sleep() 3--12

 

 

 

udp_echo.c 9--5

 

 

strchr()

 

9--

 

4

 

 

 

 

 

 

tcp_wakeup() 3--13

 

 

 

udp_free() 6--4

 

 

strcmp()

9--

4

 

 

 

 

 

UNLOCK_NET_RESOURCE()

 

udp_open() 6--5

 

 

strcpy()

9--

4

 

 

 

 

 

3--

7

 

 

 

 

 

 

 

 

udp_send() 6--6

 

 

stricmp()

 

9--

4

 

 

 

 

 

TCP/IP, testing

2--

20

 

 

 

udp_socket() 6--7

 

strilib.c

9--

4

 

 

 

 

 

 

Testing

2--

20

 

 

 

 

 

udp.c

6--

2

 

 

 

 

 

stristr()

 

9--

 

4

 

 

 

 

 

 

testmenu.c

9--

23

 

 

 

 

UNIX kernels

2--

16

 

strlen()

9--

4

 

 

 

 

 

 

timeouts.c

9--

 

21

 

 

 

 

UNLOCK_NET_RESOURCE()

strlib.c

9--

4

 

 

 

 

 

 

Timers and multitasking 2--

8

 

 

2--

17, 3--

7

 

 

strncmp()

9--

4

 

 

 

 

 

tk_yield()

2--

 

14, 3--

13

 

 

 

userpass.c

9--

 

24

 

 

strncpy()

 

9

--

4

 

 

 

 

 

ttyio.c 2--7, 3--4, 9--5

 

 

 

add_user() 9--24

 

strnicmp()

 

9--

4

 

 

 

 

t_accept()

5--

 

4

 

 

 

 

 

check_permit() 9--25

strstr()

9--

4

 

 

 

 

 

 

t_bind()

5--

5

 

 

 

 

 

 

userpass.h

9--

 

24, 9--25

 

struct net

 

3--

14

 

 

 

 

t_connect()

5--

6

 

 

 

 

uslash()

9--

16

 

 

Subnet mask, setting

2 --

18

t_errno()

5--

4, 5--7, 5--

9, 5--

13, 5--

14,

 

 

 

 

 

 

 

 

sysuptime()

 

9--

15

 

 

 

5--

18, 5--

24

 

 

 

 

W

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

t_getpeername()

5--

8

 

 

 

 

 

 

 

 

 

 

T

 

 

 

 

 

 

 

 

 

 

t_getsockname()

5--

9

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

t_getsockopt()

5--10

 

 

 

wakeup_chan() 2--16

 

 

 

 

 

 

 

 

 

 

 

 

t_listen()

5--

13

 

 

 

 

 

wakeup() 2--

16

 

 

Task control

2--

14

 

 

t_recvfrom()

 

5--

14

 

 

 

writefds

5--

16

 

 

superloop method

2 --

14

t_recv()

5--

14

 

 

 

 

 

 

 

 

 

 

 

 

 

TCP Zero-copy API

7 --

2

t_select() 5--16

 

 

 

 

 

Directories

 

functions

7--

8

7

6

 

fd_set structures

5--

17

 

 

 

receiving data

 

 

t_sendto()

5--

 

18

 

 

 

 

 

 

 

 

 

 

 

 

sending data

 

7--

4

 

 

t_send() 5--18

 

 

 

 

 

\armthumb

1--

7, 2--5, 2

--14, 3--2, 8--2

tcp_pkfree() 7--9

 

 

flags

5--

18

 

 

 

 

 

\chargen

1

--7

 

 

 

tcp_pktalloc() 7--8

 

t_send() flags

 

 

 

 

 

 

\docs

1--

7

 

 

 

 

 

tcp_xout() 7--9

 

 

MSG_DONTROUTE 5--18

 

\inet

1--

7, 2--

 

3, 8--

3, 9--

2

tcpport.c

 

2--

15

 

 

 

 

MSG_OOB 5--18

 

 

 

\loopback

1--

 

7

 

 

tcpport.h

 

5--

 

2, 5--

 

11

 

 

t_setsockopt()

5--19, 7--

3

 

 

\maildemo

1--

 

7

 

 

tcp_echo.c 9--4

 

 

 

 

t_shutdown()

 

5--

21

 

 

 

\menus

1--

7

 

 

 

 

tcp_pktalloc()

7--

2, 7--8

t_socketclose()

5--

24

 

 

 

\misclib

9--

1

 

 

 

tcp_pktfree()

7--

2, 7--

9

 

t_socket()

5--

 

2, 5--

22

 

 

 

\pid7tdm 1--

7, 2--

14, 3--

2, 8--2

tcp_sleep()

3--

12, 3--

13

 

 

 

 

 

 

 

 

 

 

 

\tcp

1--7, 2--

3

 

 

tcp_wakeup()

3--

12, --3

13

U

 

 

 

 

 

 

 

 

 

\uHAL

8--

8

 

 

 

 

tcp_xout()

 

7--

3, 7--

9

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

TCP/IP functions

 

3--

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

cksum()

3--

3

 

 

 

 

uartio.c

8--

7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

dprintf()

3--

4

 

 

 

uart.c 2--

7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Index-4

Copyright © 1998-2001 ARM Limited. All rights reserved.

ARM DUI 0144B