By Greg Winton
Price: $39.95 USD
£28.50 GBP
Cover | Table of Contents | Colophon
[ Numbers ], [ A ], [ B ], [ C ], [ D ], [ E ], [ F ], [ G ], [ H ], [ I ], [ L ], [ M ], [ N ], [ O ], [ P ], [ Q ], [ R ], [ S ], [ T ], [ U ], [ V ], [ W ], [ Z ]
Numbers[ Top ]
3G technologies, 8
A[ Top ]
accepting connection requests, 259-260
accepting connections, 72-73
FtpView, 268-292
ACK packet, 144
addresses
hostname resolution
converting, 116-117
NetHostInfoBufType structure, 112-115
NetHostInfoType structure, 111-112
NetLibGetHostAddr structure, 115-116
NetLibGetHostByName structure, 115
Internet addresses, 147
IP addresses, 70, 110
lookup, FtpView, 123-124
PrvNetLogAddresses, 136-138
sockets, binding, 70
sockets, FtpView, 32
addressing schemes, 111
addressList array, 113
aliases
FtpView, 135-136
NetHostInfoBufType structure, 113
service resolution, 120
ANSI (American National Standards Institute), 12
AP (Access Point), 9
APIs
Berkeley Sockets API, 12
Net Library, 46, 59
Sockets, 140
application development, The Zen of Palm, 26-29
application layer, OSI model, 15, 17-19
application protocol stack, 13, 15-16
OSI model and, 15-16
Palm OS kernel, 14
application protocol syntax, 18
application protocols, OSI model, 17-19
file transfer client application, 19
request and response model, 18
applications
built-in, 27
counting those in use, 86-87
enlightened Network application, 29
enlightened Palm applications, 27-28
exiting, Net Library and, 93-94
startup, Net Library and, 89-90
architecture
FtpView, 94-107
exchanging data, 179-204
login/logout transactions, 220-221
network, 33-34
Net Library, 59-60
RF, 8
arrays
addressList, 113
scatter gather arrays, 74
asymmetric presentation protocols, OSI model, 20
attributes, 182
NetHostInfoBufType structure, 113
NetHostInfoType structure, 111
NetServInfoBufType structure, 118
NetServInfoType structure, 118
NetSocketAddrINType structure, 146
NetSocketAddrType structure, 145
socket names, 70
B[ Top ]
backward compatibility, 82
bandwidth, 8
UDP and, 326
batteries, efficiency and, 61
Berkeley Sockets API, 12, 23
functions, parameters, 68
Net Library and, 68
Berkeley Sockets "Glue", 46
Beta testing stage of POSE, 48
Big-Endian processors, 121
binding sockets
addresses, 70
UDP, 328-330
bit-wise operators, version checking, 81
blocking connects, 296
blocking sockets, 294, 294-295
broadcast conversations, UDP, 326
buffers, 75
built-in applications, functions of, 27
byte ordering, 120-121
Host Byte Order, 121
Network Byte Order, 121
C[ Top ]
carved wood block, Palm prototype, 27
C/C++, CodeWarrior and, 45
channels, TCP connections, 144
client sockets, naming, 257
client/server conversations, UDP, 325-326
close wait state, 88
resources, freeing, 92
terminating, 102
closing
connections, data exchange and, 172-173
Net Library, 87, 100-102
sockets, 149-150
UDP, 333-334
CodeWarrior, 44-45
debugging and, 47
POSE and, 47
commands
FtpView
LIST, 32
PASS, 31
PORT, 32
QUIT, 32
USER, 31
response, 243-245
compression, 19-20
configuration
Net Library, 64-65
POSE
Macintosh, 50
Windows, 50-55
sockets, 69-70
confirmations, 28
Connect transaction, 232-234
FtpView login, 208-209
connection speed, Ethernet cradles and, 10
connectionless transports, 21
connection-oriented semantics, 21
connections
accepting, 72-73
FtpView, 268-292
blocking connects, 296
closing
data exchange and, 172-173
Net Library support, 172-173
completing, 72
datagram sockets and, 72
establishing, 71-73
FTP, data connections, 260-268
initiating, 71-72
network, 83-87
disconnecting, 87-89
FtpView, 89-107
Net Library, FtpView and, 90-92
opening Net Library, 83-84
overview, 139-141
Palm OS, 141-142
requests
accepting, 259-260
listening for, 72
socket connections, 140-150
disconnecting, 148-149
FtpView, 151
identifying, 147-148
NetSocketAddrTyp, 145
TCP, 144
TCP, 140
listening for requests, 258-259
requests, 255
UDP and, 330
connectivity, 3
constraints
memory, FTP, 266-268
sockets, 265
converting addresses, hostname resolution, 116-117
counts, applications in use, 86-87
coverage, 8
creator argument, FtrGet feature, 81
D[ Top ]
data
connections, FTP, 260-268
exchange (see exchanging data)
input, 28
receipt, 76-77
socket, FTP, 261
data link layer, OSI model, 14, 17, 22-23
database records, reading to, 76
datagram sockets
connections and, 72
opening, 328
UDP, 67
datagrams, 21
overview, 323-324
Daytime layer, FtpView, 336-338
Daytime Peer
daytime consumer, 37
Daytime Protocol, 39
Daytime Protocol module, 40
daytime supplier, 37-38
designing, 36-42
FtpView, 39-42
Log Table, 40
network architecture, 38-39
UDP and, 37
user interface, 40
User Interface module, 39
Daytime Protocol, 333-334
FtpView
event processing, 352-367
initializing/terminating, 340-345
session, starting, 345-350
session, stopping, 351-352
loopback addresses, 333
Daytime Protocol module, 40
debugging tools, 47
Beta testing and, 48
network applications, POSE and, 49-50
POSE, 47-55
ROM images, POSE and, 48
DES encryption, 19-20
design
Daytime Peer, 36-42
FtpView, 29-36
Net Library, 59-63
dial-ups, 6-7
POSE and, 49
PPP, 23
protocol stack and, 84
SLIP, protocol stack and, 84
Direct Serial Access, 10-11
directories
root, listing, 32-33
server, listing, 264-265
Disconnect transaction, 237-239
FtpView logout, 211
disconnecting, 77-78
sockets, 148-149
FtpView and, 151-152
disconnecting from network, 87-89
FtpView, 89-107
Net Library, FtpView and, 92-93
resource consumption and, 88
dispatch tables, shared libraries, 83
DNS (Domain Naming System) protocol, host name resolution and, 110
domains, 109
DTP (Daytime Protocol), 18, 39
duplicate packets, 166
E[ Top ]
emulation, 44
Net Library calls, redirecting, 91
EncDES function, 20
encryption, 19-20
end-points, TCP, 140
enlightened applications
Network, 29
Palm, 27-28
ephemeral port numbers, 257
errno global variable, 140
errors
ifErrs, 84
netErrAlreadyOpen, 99
netErrClosedByRemote, 169
netErrNotOpen, 65, 101
Ethernet cradles, 9-10
events
EvtGetEvent event, 217
evtWaitForever, 217
nilEvents, 217
exchanging data
closing connection, 172-173
FTP, 173-176
FtpView and, 176-204
implementation, 278-283
Net Library support
closing connections, 172-173
receiving data, 169-172
sending data, 166-169
receiving data, 169-172
sending data, 165-169
streaming, 165-173
existence of applications, 80-82
external network interface, 84
F[ Top ]
featureNum, FtrGet, 81
features
FtrGet, 81
operating system, 81
version, 81
file descriptors, 214-215
file transfer client application, 19
File Transfer Protocol (see FTP)
FIN segment, 148
closing connections, 172
FTP (File Transfer Protocol), 18, 173-176
data connections, 260-268
FtpView, stream sockets implementation, 306-313
information structure, 183-184
protocols, 20
LIST transaction, 264-265
login, 174-176
logout, 189-191
memory constraints, 266-268
PORT transaction, 263-264
reply codes, 173
server access, FtpView and, 30
server directory, listing, 261-262
sessions
ending, 184-185
ending, FtpView, 179
FtpView and, 30
information structure, 223-224
login, 30
logout, 31
starting, FtpView, 177-179
state machine, 207-216
sockets
constraints, 265
listening, 262-263
states, 212-215
state machine implementation, 231-252
transactions
codes, 221-222
state constants, 222-223
FTP interface, 221-231
FtpView
accepting connections, 271-278
stream socket optimization, 305-306
PnpFtpList function, 277-278
FtpInfo, 182
FtpView
address lookup, 123-124
aliases, 135-136
application exit, hosts and, 124
application startup
accepting connections and, 268-269
hosts, 122
sockets and, 150-151
UDP, 334-336
architecture, 94-107
accepting connections, 270-271
exchanging data, 179-204
host additions, 125-129
login/logout transactions, 220-221
socket connections and, 152-163
stream socket, optimizing, 304-305
UDP and, 338-340
commands
LIST, 32
PASS, 31
PORT, 32
QUIT, 32
USER, 31
connecting to network, 89-107
connections, accepting, 268-292
Daytime layer, 336-338
Daytime Peer, 39-42
Daytime Protocol
event processing, 352-367
interface, initializing/terminating, 340-345
session, starting, 345-350
session, stopping, 351-352
designing, 29-36
disconnecting from network, 89-107
exchanging data, 176-204
implementation, 278-283
FTP interface, 221-231
accepting connections, 271-278
stream socket optimization and, 305-306
FTP session information structure, 223-224
FTP sessions, 30
login, 30
logout, 31
Login operation, 207
login transactions, 217-219
Logout operation, 207
logout transactions, 219-220
name lookup, 122-123
Net Library
accepting connections, 284-292
application startup, 89-90
applications, exiting, 93-94
connecting to network, 90-92
disconnecting from network, 92-93
read/write changes, 252-254
network
design, 34-36
network architecture, 33-34
networks
access, 36
implementation, 199-204
nonblocking sockets, 303-321
response, receiving, 206-207
root directory, listing, 32-33
server access, 30
service lookup, 124-125
sockets
connections and, 150-163
disconnection, 151-152
opening, 32
state machine
accepting connections, 269-270
design, 217-220
stream socket optimization, network level changes, 313-321
transactions, 207
codes, 221-222, 272
login, 207-210
logout, 210-212
state constants, 222-223
user interface, 34-35
FtrGet function, 81, 97
functions, 85
Berkeley Sockets API, 68
EncDES, 20
FtrGet, 81, 97
Net Library, calling, 61
shared libraries, parameters, 83
sockets, pointers, 140
timeouts, 199
trap identifiers, dispatch table, 83
G[ Top ]
GCC (GNU C Compiler), 45
GLib, 47
GNU PalmPilot SDK, 45
GoAmerica, 5
Greg's Palm OS Glib Library, 47
guest access, FTP, 174
H[ Top ]
hacks, history of Palm, 4
handshake, 255
Handspring USB ports, 10
Host Byte Order, 121
host file, name resolution server, 110
hostname resolution, 108
address conversion, 116-117
addresses
NetHostInfoBufType structures, 112-115
NetHostInfoType structures, 111-112
NetLibGetHostAddr structures, 115-116
NetLibGetHostByName structures, 115
addressing schemes, 111
domains, 109
FtpView, 122-123
IP addresses, 110
name resolution server, 110
Net Library support, 111-117
NetLibGetHostByName( ) function, 111
protocol stack requests, 110
resolution mechanisms, 110
hostnames, 109
hosts
FtpView application exit, 124
FtpView application startup, 122
HotSync
history of Palm, 4
network, 5
I[ Top ]
IDE (Integrated Development Environment), CodeWarrior, 45
identifying connections, 147-148
ifErrs, 84
implementation, 42
exchanging data, FtpView, 278-283
FTP state machine, 231-252
network, FtpView, 199-204
initialization
Net Library, 80-83
Net Library protocol stack, 65-66
initiating connections, 71-72
input, 28
interfaces
availability checking, 85
external network interface, 84
FTP, 221-231
loading failure, 84
determining specific interface, 84
loading failures, 84-86
loopback, 84
names, 86
network, loading, 66
network programming interface, 23-25
PrvNetLogInterfaces and, 99
sockets, 24
state, 104-107
user
Daytime Peer, 40
FtpView, 34-35
Internet addresses, 147
Internet Library, 24
Internet Protocol (IP), 22
internetworking, 17
IP addresses, 70, 110
acquiring, 110
IP (Internet Protocol), 22
IP level, socket options, 301
IRK (Internet Resource Kit), 24
ISO (International Organization for Standardization), 12
ISP (Internet service provider), 7
Windows POSE configuration, 52-55
L[ Top ]
LAWNs (Local Area Wireless Networks), 3
layers, OSI model, 13-15
application protocols, 17-19
protocol stack and, 140
libraries
Internet Library, 24
shared libraries, 83
Sockets library, 141
system libraries, 63
loading, 82
life cycle of a socket, 142-143
LIST command, FtpView, 32
LIST transaction, 264-265
listening sockets, opening, 262-263
listing
root directory, FtpView, 32-33
server directory, 264-265
Little-Endian processors, 121
loading
external network interface, 84
interfaces, failures, 84-86
protocol stack
Net Library, 97-100
NetLibOpen, 83
system libraries, 82
Local, 23
Log Table
Daytime Peer, 40
FtpView user interface, 34
login
FTP, 174-176
FTP sessions, 30
PnpFtpLogin, 185-189
transactions, FtpView, 207-210, 217-219
Login operation, FtpView, 207
logout
FTP, 176
FTP sessions, 31
session protocols, 20
transactions, FtpView, 210-212, 219-220
Logout operation, FtpView, 207
logs, 246-249
lookups, addresses (FtpView), 123-124
loopback addresses, Daytime Protocol (UDP), 333
loopback interface, 84
M[ Top ]
Macintosh, POSE configuration, 50
macros, SYS_TRAP, 83
mailbox queue, Net Library, 61
mapping, services/ports, 117
memory
connecting to network, 91
constraints, FTP, 266-268
messages, incoming, 249-252
Metrowerks CodeWarrior (see CodeWarrier)
Mobitech network, UDP and, 22
MochaPPP, 11, 44, 55-56
debugger, 47
MochaSoft remote access server, 11
modems
POSE
Macintosh, 50
Windows, 51
wireless, 7-8
multiplexing sockets, 215-216
multitasking, traffic and, 61
N[ Top ]
Nagle algorithm, 297, 298
name lookup, FtpView, 122-123
name resolution servers, host file, 110
naming
interfaces, 86
sockets, 70-71
TCP, 257-258
Net Library, 4
API, 59
application exit and, 93-94
application startup and, 89-90
architecture, 59-60
backward compatibility, 82
Berkeley Sockets API and, 68
calling, 63
closing, 78-79, 87, 100-102
configuration, 64-65
connecting to network, FtpView and, 90-92
design overview, 59-63
disconnecting from network, FtpView and, 92-93
exchanging data
closing connections, 172-173
receiving, 169-172
sending, 166-169
existence of, OS and, 64
FtpView
accepting connections and, 284-292
read/write changes, 252-254
function calls, 61
hostname resolution and, 111-117
initialization, 80-83
IP addresses, 70
location, 64, 82-83, 95-97
mailbox queue, 61
nonblocking sockets and, 295
open connections, 86-87
open count, 86-87
reporting, 103-104
opening, 65-67, 97-100
connecting to network, 83-84
Palm IV, 5
Palm OS Platform SDK, 46
protocol stack, 59, 60-61
initializing, 65-66
loading, 97-100
sockets-based interface, 24
reference number, Sockets API and, 140
references, 80, 83
resources, 87
ROM, 82
SysLibFind, 64
traffic, 61
version checking, 80-82
Net Library APIs, 46
netErrAlreadyOpen error, 99
netErrClosedByRemote error, 169
netErrInvalidInterface error, 85
netErrNotOpen error, 65, 101
NetHostInfoBufType, 112-115
aliases, 113
attributes, 113
NetHostInfoType, 111-112
attributes, 111
netIFSettingName setting, 86
netIFSettingUp, interface loading, 85
NetLib (see Net Library)
NetLibAccept, 72
NetLibAddAToIN, 116
NetLibAddrINToA, 117
NetLibClose, 77-78, 87, 88, 101
NetLibDmReceive, 76, 266-267
NetLibFinishCloseWait, 88, 102
NetLibGetHostAddr, 115-116
NetLibGetHostByName, 115
NetLibGetHostByName( ) function, 111
NetLibGetServeByName, 120
NetLibIFGet, interfaces and, 84
NetLibIFSettingGet, 85
NetLibOpen, 65-66, 83
calling from user interface, 84
error checking, 67
ifErrs, 84
PPP and, 66
SLIP and, 66
NetLibOpenCount, 87
NetLibReceive, 76-77, 170-172, 178
NetLibSelect, 212-214
NetLibSend, 73-75, 166-169, 178
NetLibSendPB, 74
NetLibShutdown, 77
NetLibSocketAccept operations, 296
NetLibSocketAddr, 147
NetLibSocketBind, 70, 257-258
NetLibSocketClose, 149
NetLibSocketConnect, 71-72, 146-147, 296
NetLibSocketListen, 72, 258-259
NetLibSocketOpen, 67-69
NetLibSocketOptionGet, 69
socket blocking modes, 299-300
NetLibSocketOptionSet
socket configuration, 69
socket options and, 300-301
NetLibSocketShutdown, 149
NetMgr.h, 46
NetServInfoBufType, 118-120
NetServInfoType, 117
NetSocketAddrINTType, 145-146
NetSocketAddrType, 145
NetSocketLinger structure, 302-303
NetSocketRef handle, 67-69, 143
network
access, FtpView, 36
addresses, Internet Family of, 147
APIs, FtpView, 36
applications
debugging, POSE and, 49-50
encouraging use, 62
architecture
Daytime Peer, 38-39
FtpView, 33-34
connecting to, 83-87
Net Library, FtpView, 90-92
design, FtpView, 34-36
disconnecting from, 87-89
Net Library, FtpView, 92-93
driver layer, 14, 17, 22-23
enlightened Network application, 29
implementation, FtpView, 199-204
interfaces, loading, 66
layer, OSI model, 14, 17, 22
programming interface, 23-25
protocol stack, 14
data link layer, 17
network layer, 17
OSI model and, 16-17
transport layer, 16
protocols
OSI layer, 22
reliability, 21
Tao of Networking, 28
Network Byte Order, 121
Network panel, Preferences application, 64-65
network protocol stack
Palm OS kernel, 14
networking
disabling, external network interface failure, 84
history of, 4-6
options, 6-11
peer-to-peer, 4
nil events, 218
nilEvents, 217
nonblocking
accept operations, 296
network operations, 296-298
receives, 297
send operations, 296-297
sockets, 294, 295-303
FtpView, 303-321
options, 301-302
Palm OS and, 298-303
O[ Top ]
open connections, counting, 86-87
open counts, reporting, 103-104
opening
Net Library, 65-67
sockets, 67-69
UDP, 328
operating modes, sockets, 294
operating system versions, history of Palm, 6
operations, warnings prior, 28
OSI (Open System Interconnect) model, 12, 12-17
application layer, 17-19
data link layer, 14, 17, 22-23
internetworking, 17
layers, 13-15
application protocols, 17-19
network layer, 14, 17, 22
network protocol stack, 16-17
overview, 14-15
physical layer, 14, 23
presentation layer, 19-20
presentation protocols, 19-20
routers protocol stack, 17
session layer, 20
transport layer, 14, 16, 20-22
P[ Top ]
packets
duplicate, 166
TCP and, 140
Palm III, history of Palm and, 5
Palm OS connections, 141-142
Palm OS Emulator (see POSE)
Palm OS kernel
application protocol stack, 14
network
protocol stack, 14
Palm OS Platform SDK, 46-47
Palm OS SDK, DES encryption, 20
Palm VII, history of Palm and, 5
parameters, shared library functions, 83
PASS command, FtpView, 31
password transaction, FtpView login, 209-210
passwords, Windows dialup configuration, 53
PAWNs (Personal Area Wireless Networks), 3
pdQ (Qualcomm), 8
Peer-to-Peer conversations (UDP), 324-325
peer-to-peer networking, 4
permanent changes, warnings, 28
phone number, Windows dial-up setup, 53-54
physical layer, OSI model, 14, 23
Pilot 1000, history of Palm and, 4
Pilot 5000, history of Palm and, 4
PIM (Personal Information Management), 26
PnpFtp.c module, 180
PnpFtpCanLogin function, 229-231
PnpFtpInfoType function, 182
PnpFtpInit function, 183-184
PnpFtpList function, 277-278
PnpFtpLogin function, 185-189, 226-228, 306-308
PnpFtpLogout function, 189-191, 228
PnpFtpProcess function, 218, 224-226
PnpFtpTerm function, 184-185
PnpMain.c, 180
PnpNetConnect( ) function, 97-100, 100-102
PnpNetDisconnect( ) function, 102
PnpNetFindAddress function, 129-132
PnpNetFindName function, 126-129
PnpNetFindService function, 132-135
PnpNetInit( ) function, 95-97
PnpNetSelect function, 252-254
PnpNetSocketAccept function, 286-287
PnpNetSocketClose function, 316-317
PnpNetSocketConnect function, 153-156, 314-316, 317-319
PnpNetSocketDisconnect function, 156-157
PnpNetSocketDmRecieve function, 287-289
PnpNetSocketGetAddress function, 289-291
PnpNetSocketListen function, 284-286, 319-321
PnpNetSocketPort function, 291-292
PnpNetSocketReceive function, 201-203
PnpNetSocketSend function, 199-201
PnpNetSocketShutdown function, 203-204
PnpNetTerm( ) function, 102-103
pointers, socket functions, 140
PORT command, FtpView, 32
PORT transaction, 263-264
ports, ephemeral port numbers, 257
POSE (Palm OS Emulator), 44, 45
Beta testing stage, 48
CodeWarrior, 47
configuration
Macintosh, 50
Windows, 50-55
debugging, 47, 47-55
network applications, 49-50
dial-up connections and, 49
PRC tools, 47
ROM images, 48
timeouts, 199
PPP (Point-to-Point) protocol, 22
client, Ethernet cradles and, 10
NetLibOpen and, 66
protocol stack and, 84
PRC tools, 45
debugger, 47
POSE and, 47
Preferences application, Network panel, 64-65
Preferences form, Daytime Protocol, 335
presentation layer, OSI model, 19-20
application protocol stack, 15
presentation protocols, OSI model, 19-20
asymmetric presentation protocols, 20
symmetric presentation protocols, 19
processor in original Palm, 27
protocol stack
application protocol stack, 13
countdown to termination, 88
history of Palm, 4
layers and, 140
loading, 97-100
NetLibOpen, 83
name resolution requests, 110
Net Library, 59, 60-61
initializing, 65-66
sockets-based interface, 24
network protocol stack, 14
OSI layers, 14
outbound segments, sending and, 166
socket resources, returning, 77
TCP, 61
unloading, 100-102
protocols
Daytime Protocol (Daytime Peer), 39
defined, 13
IP, 22
network protocols, reliability, 21
OSI layer, 22
PPP, 22
presentation protocols, OSI model, 19-20
asymmetric presentation protocols, 20
symmetric presentation protocols, 19
SLIP, 22
TCP, 21
UDP, 22
ProxiMail, 5
ProxiWeb, 5
PrvFtpCloseControl function, 312-313
PrvFtpConnect function, 232-234, 310-312
PrvFtpDisconnect function, 237-239
PrvFtpExchange function, 234-237
PrvFtpIsLogin function, 191
PrvFtpIsTranSuccess function, 242
PrvFtpNetConnect function, 182
PrvFtpQueueCommand function, 243-245, 308-310
PrvFtpReadControl function, 196-199
PrvFtpReadResponse function, 194-196, 252
PrvFtpReadResponses function, 249-252
PrvFtpUpdate function, 239-242
PrvFtpWriteCommand function, 191-193, 246-249
PrvFtpWriteControl function, 193-194
PrvNetCalcNetAddr function, 158-159
PrvNetCalcSocketType function, 159-160
PrvNetLogAddresses function, 136-138
PrvNetLogAliases function, 135-136
PrvNetLogInterfaces( ) function, 99, 104-107
PrvNetLogOpenCount( ) function, 103-104
PrvNetLogSocketInfo function, 160-163
P'u of Palm, carved wood and, 27
Q[ Top ]
Qualcomm pdQ, 8
QUIT command
FTP, 176
FtpView, 32
Quit transaction, FtpView logout, 210-211
R[ Top ]
Radio Frequency (see RF)
RAS (remote access server), 7
Windows POSE configuration, 52-55
raw sockets, 24
reading from sockets, 214
receiving data, 76-77, 169-172
Net Library support, 169-172
UDP, 331-332
redials, resources and, 62-63
reference numbers, Net Library, 140
references, Net Library, 80, 83
release stages, versions, 81
reliability, 8
UDP, 326
request and response model, application protocols, 18
requests, listening for, 72
resolution mechanisms, hostname resolution, 110
resources
connecting to network and, 91
conserving, 62-63
consumption
disconnecting and, 88
rates, 91
Net Library and, 87
releasing, 92
response time, enlightened Network and, 29
responses, FtpView, 206-207
RF (Radio Frequency), 8-9
devices, 9
ROM images, POSE and, 48
ROM, Net Library, 82
root directory, listing in FtpView, 32-33
routers protocol stack, OSI model, 17
S[ Top ]
scatter gather arrays, 74
security, 19-20
semantics, connection-oriented, 21
sending data, 73-75, 165-169
Net Library support, 166-169
UDP, 331
Serial Link protocol debugger, 47
server directory
FTP, 261-262
listing, 264-265
servers
FTP, FtpView and, 30
name resolution, 110
service lookup, FtpView, 124-125
service resolution, 117-120
NetLibGetServByName structure, 120
NetServInfoBufType structure, 118-120
NetServInfoType structure, 117
services
PnpNetFindService function, 132-135
ports, mapping, 117
session layer, OSI model, 20
application protocol stack, 15
session protocols, OSI model, 20
FTP and, 20
logging out and, 20
Telnet, 20
sessions, FTP
FtpView
end, 179
starting, 177-179
state, updating, 239-242
shared libraries, 83
dispatch tables, 83
functions, parameters, 83
simplicity (see Zen of Palm)
SLIP (Serial Line Internet Protocol), 22
NetLibOpen and, 66
protocol stack and, 84
Socket Blocking, NetLibSocketOptionSet, 69
socket connections, 140-141, 142-150
FtpView and, 150-163
identifying, 147-148
NetLibSocketAddr, 147
NetLibSocketConnect and, 146-147
NetSocketAddrINType, 145-146
NetSocketAddrType, 145
TCP, 144
Socket Error Status option, NetLibSocketOptionGet, 69
Socket Keep Alive option, NetLibSocketOptionSet, 69
Socket level, socket options, 301
Socket Linger option, NetLibSocketOptionSet, 69
socket references (See file descriptors)
Socket Type option, NetLibSocketOptionGet API function, 69
sockets
addresses
binding, 70
FtpView, 32
binding, UDP, 328-330
blocking, 294, 294-295
closing, 149-150
UDP, 332
configuration, 69-70
constraints, FTP, 265
data socket, FTP, 261
datagram sockets, 328
connections, 72
datagrams, UDP, 67
disconnecting, FtpView and, 151-152
FTP sessions, 212-215
FtpView startup, 150-151
functions, pointers, 140
life cycle, 142-143
listening, opening, 262-263
multiple, 252-254
multiplexing, 215-216
Nagle algorithm, 298
naming, 70-71
TCP, 257-258
NetSocketRef, 143
nonblocking, 294, 295-303
FtpView, 303-321
options, 301-302
Palm OS and, 298-303
opening, 67-69, 143-144
FtpView, 32
NetLibSocketOpen function, 143
PnpNetSocketConnect, 153
UDP, 328
operating modes, 294
raw, 24
reading from, 214
resources, returning to protocol stack, 77
state, 215
stream (see stream sockets)
TCP, 21
UDP, 323
writing to, 214
Sockets API, 140
sockets interface, 24, 140
Sockets library, 141
sockets-based interface, protocol stack, 24
sOpenCount, 103
state machine
FTP, 231-252
FtpView
accepting connections, 269-270
designing, 217-220
stream sockets, 21
NetLibSend, 74
optimizing, 294-295, 295-303
FtpView FTP implementation, 306-313
FtpView network level changes, 313-321
FtpView program architecture, 304-305
streaming data exchanges, 165-173
streams, 21
support, 80-82
Symbol Technologies RF devices, 9
symmetric presentation protocols, OSI model, 19
SYN segment, 144, 255
syntax, application protocol, 18
sysFtrNumROMVersion, 64
SysLibFind function, 82
SysLibFind, Net Library and, 64
system libraries, 63
loading, 82
trap dispatcher, 63
(see also shared libraries)
SYS_TRAP macro, 83
T[ Top ]
Tao of Networking, 28
TCP (Transmission Control Protocol), 21
connection-oriented semantics, 21
connections, 140
listening for requests, 258-259
overview, 255-260
requests, 255
level, socket options, 301
Maximum Segment option, NetLibSocketOptionGet, 69
No Delay option, NetLibSocketOptionSet, 69
protocol stacks, 61
reliability, 67
socket connections, 144
sockets, 21
naming, 257-258
stream sockets, 67
TCP/IP (Transmission Control Protocol/Internet Protocol), 12
TCPNoDelay, 303
Telnet, session protocols and, 20
threads
single-thread environments, blocking sockets and, 295
Sockets library, 141
three-way handshake, 255
timeouts, 178
connection requests, 73
functions, 199
POSE, 199
traffic
enlightened network and, 29
Net Library, 61
transactions
FTP
LIST, 264-265
PORT, 263-264
FtpView, 207
login, 207-210, 217-219
logout, 210-212, 219-220
state constants, 222-223
success, 242
Transmission Control Protocol (see TCP)
transport layer, OSI model, 14, 16, 20-22
transport protocols, OSI model, 20-22
connectionless transports, 21
trap dispatcher, 63
trap identifiers, dispatch tables, 83
U[ Top ]
UDP, 333
UDP (User Datagram Protocol), 22
bandwidth, 326
complexity, 327
connections, 330
conversations, 324-326, 330-331
broadcast, 326
client/server, 325-326
Peer-to-Peer, 324-325
datagram sockets, 67
Daytime Peer and, 37
Daytime Protocol, 333-334
FtpView Daytime layer, 336-338
FtpView, application startup, 334-336
FtpView architecture, 338-340
implications of, 326-327
network and, 327-332
overview, 323-327
receiving data, 331-332
reliability, 326
sending data, 331
sockets, 323
binding, 328-330
closing, 332
opening, 328
UDP/IP, 12
unloading protocol stack, Net Library, 100-102
unsigned longs, version numbers, 81
USB ports, Handspring, 10
USER command, FtpView, 31, 218
User Datagram Protocol (see UDP)
user interface
Daytime Peer, 40
FtpView, 34-35
NetLibOpen function, calling, 84
User Interface module, Daytime Peer, 39
User transaction, FtpView login, 209
username, FtpView, 31
V[ Top ]
valueP, FtrGet, 81
version checking, 95-97
Net Library, 80-82
version numbers, 81
VPNs (Virtual Private Networks), 19-20
W[ Top ]
warnings
lengthy operations, 28
permanent changes, 28
Windows, POSE configuration, 50-55
wireless modems, 7-8
writing to sockets, 214
Z[ Top ]
The Zen of Palm, 26-29
Return to Palm OS Network Programming