Errata

Palm OS Network Programming

Errata for Palm OS Network Programming

Submit your own errata for this product.

The errata list is a list of errors and their corrections that were found after the product was released.

The following errata were submitted by our customers and have not yet been approved or disproved by the author or editor. They solely represent the opinion of the customer.

Color Key: Serious technical mistake Minor technical mistake Language or formatting error Typo Question Note Update

Version Location Description Submitted by Date submitted
Printed Page IX
2nd paragraph, 4th line

The sentence goes as follows:

Network application developers have a to create high-quality ...

I think there is a word missing between 'have a' and 'to'.

Anonymous   
Printed Page X
title 'Part I, ...', 'Chapter 2, ...', first line

The abbreviation of Open System Interconnect isn't OCI but OSI.

Anonymous   
Printed Page xiv
2nd paragraph in acknowlegments

Mr. Ben Mazza for sharing his to love of language and literature.

"his love of"

Anonymous   
Printed Page Page 8
Second to Last Paragraph

The entire subsection "Radio Frequency" is in error. The term "RF Networks" refers to a wide range of networks; as well as any "wireless network". The paragraphs suggest that "RF Networks" are different than "wireless network" but really it encompasses them all. A perfect example of this: "The architecture of RF is also similar to wireless. They differ only in the frequencies of the radios and the range of the network." RF networks = wireless networks. The terms are almost identical, except for the fact that RF is used in almost any kind of network, wired or not, but in this case the author seems to think otherwise.

Anonymous   
Printed Page 6
5th para

A well-written network application should run safely across the entire range of connected organizers, regardless of whom has made them.

"who has made them"?

Anonymous   
Printed Page 6
4th paragraph

The company TRG is now known as HandEra.

Anonymous   
Printed Page 7
First Illustration

Figure 1-1, "Dial-up networking architecture" contains a drawing of a PalmV device, sitting in a cradle or modem-type device. Under this drawing, it says "Device with Wireless Modem", and it clearly has a wire sticking out of it going to the ISP drawing. This illustration is for the dialup paradigm, and thus the heading under the PalmV should say "Device with Wired Modem" or something similar.

Anonymous   
Printed Page 7
Last Paragraph

There is a single quote in front of the word similar in "similar to wired modems." that is never closed.

Anonymous   
Printed Page 7
First Illustration

Figure 1-1, "Dial-up networking architecture" contains a drawing of a PalmV device, sitting in a cradle or modem-type device. Under this drawing, it says "Device with Wireless Modem", and it clearly has a wire sticking out of it going to the ISP drawing. This illustration is for the dialup paradigm, and thus the heading under the PalmV should say "Device with Wired Modem" or something similar.

Anonymous   
Printed Page 9
2nd paragraph

On page 9, the author mentions that 250 MBits per second is about the speed of a cable modem. No cable modem I know of goes that fast, but, irregardless, on the previous page, he says that a cablemodem runs at about 300kbps, which is a clear contradiction of his own definiton.

Anonymous   
Printed Page 10
Second Paragraph

The author says that a Palm's serial connection runs at a maximum of 56k, but in reality the majority of Palms (every palm made since about 1997) can run at 115.2k.

Anonymous   
Printed Page 10.2.6
Don't know - I'm using Safari Online!

The code snippets showing the use of netFDSet and netFDISSet have the arguments
transposed. Below are two snippets followed by the macro definition for PRC-Tools, in
NetMgr.h.

netFDSet (&readFDs, ctrlSocket);
netFDSet (&readFDs, sysFileDescStdIn);

if (netFDIsSet (&writeFDs, ctrlSocket))
if (netFDIsSet (&readFDs, ctrlSocket))
if (netFDIsSet (&sysFileDescStdIn, ctrlSocket))

#define netFDSet(n,p) ((*p) |= (1L << n))
#define netFDIsSet(n,p) ((*p) & (1L << n))

Anonymous   
Printed Page 16, 17
title 'The Network Protocol Stack', 2nd paragraph

You refer to Figure 2-3, which should illustrate how each layer int the protocol stack wraps a protocol-specific envelope around the data. But the figure who matches this description is Figure 2-3 but Figure 2-4. So you refer to the wrong picture. Same mistake on page 17 (subtitle 'Internetworking', 1st paragraph), this time you refer to Figure 2-4 as representing the logical model for packet routing. But this description matches Figure 2-3.

Anonymous   
Printed Page 20
subtitle 'Session Protocols', 4th paragraph, 1st sentence

"it is important that it end", should be "it is important that it ends"

Anonymous   
Printed Page 85
Second code snippet

An example of using NetLibIFGet is shown in the second code snippet.

The function prototype on display is:

Err NetLibIFGet(UInt16 netLibRefNum, UInt16 index, UInt16* ifCreatorP, UInt16* ifInstanceP);

The example is shown as:
Err NetLibIFGet(netLibNetLibRefNum, index, ifCreator, &ifInstance)

The correction is that the third parameter to the function takes a pointer to a UInt16. In this example the value is passed...not the pointer to the value.

It should read:
Err NetLibIFGet(netLibNetLibRefNum, index, &ifCreator, &ifInstance)

Anonymous   
Printed Page 111
footnote to table

Pointers are described as taking 2 bytes. The Linux prc tools, with which I've built
small but working applications, seem to think pointers are 4 bytes, and that the
NetHostInfoType structure described in this table takes 16 bytes, not 10. Several
other structure-layout description tables in the book are similarly incorrect.

Anonymous   
Printed Page 114
figure 7-2

The text below the figure describes how, due to a bug in the structure layout, the
four-element addressList array, which must be null-terminated, can only hold three
address pointers. This is supported by the struct definition on the previous page.
The figure, on the other hand, shows four address pointers and then a null pointer.

Anonymous   
Printed Page 216
4th paragraph

Example code is:

if (netFDIsSet (&writeFDs, ctrlSocket))
if (netFDIsSet (&readFDs, ctrlSocket))
if (netFDIsSet (&sysFileDescStdIn, ctrlSocket))

That third line looks like a cut-and-paste error.

Shouldn't it be:

if (netFDIsSet (&readFDs, sysFileDescStdIn))

Anonymous   
Printed Page 331
Example 13-4

Theres a few typos in the example,

In the netlibSend routine, *sizeP is mentioned, not declared
anywhere or passed in as an argument

Int the declaration at start of function there is "NetSocketRef socket" but by the
time we reach NetLibSend its called socketRef

Also in function start, one data type is called UInt17 (unless you
have declared something in the book I didnt notice!

*** SAFARI BOOKS ONLINE VERSION ***

Anonymous