Buy this Book
Print Book $39.95 Read it Now!
Print Book £28.50
Add to UK Cart
Reprint Licensing
Palm OS Network Programming
Palm OS Network Programming Writing Connected Applications for the Palm

By Greg Winton
Price: $39.95 USD
£28.50 GBP

Cover | Table of Contents | Colophon


Index


[ 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