Important: The information in this document is obsolete and should not be used for new development.
Figures, Tables, and Listings
Chapter 1 Introduction to AppleTalk 1-1Table 1-1 AppleTalk addressing numbers and names 1-6
Figure 1-1 Data delivery on AppleTalk networks 1-9
Figure 1-2 AppleTalk protocol stack 1-12
Figure 1-3 Device drivers and connections files that implement AppleTalk protocols 1-17
Table 1-2 AppleTalk drivers and the protocols they implement 1-17
Figure 1-4 AppleTalk protocols with programming interfaces 1-18
Figure 1-5 AppleTalk protocol stack and the OSI model 1-20
Chapter 2 AppleTalk Utilities 2-1
Listing 2-1 Opening the .MPP driver and obtaining a node ID in the server range 2-8
Chapter 3 Name-Binding Protocol (NBP) 3-1
Figure 3-1 The Name-Binding Protocol and the underlying AppleTalk protocols 3-4
Figure 3-2 The NBP names table on each node, collectively forming an NBP names directory 3-6
Figure 3-3 The internet socket address and entity name of an application 3-8
Figure 3-4 Names table entry record format 3-9
Listing 3-1 Registering an application with NBP 3-11
Figure 3-5 Entity name record format 3-12
Figure 3-6 Tuple returned by the PLookupName function 3-13
Table 3-1 NBP wildcards 3-14
Listing 3-2 Calling PLookupName to find matches for an entity name 3-15
Listing 3-3 Creating a buffer to hold name matches found, then using NBPExtract to read the matches 3-17
Listing 3-4 Confirming an existing NBP name and address 3-18
Listing 3-5 Removing an NBP names table entry 3-19
Listing 3-6 Canceling a request to look up a name 3-20
Chapter 4 Zone Information Protocol (ZIP) 4-1
Figure 4-1 The Zone Information Protocol (ZIP) and the underlying AppleTalk protocols 4-4
Listing 4-1 Using the GetMyZone function 4-6
Listing 4-2 Using GetZoneList to retrieve names of zones throughout the AppleTalk internet 4-8
Listing 4-3 Extracting a zone name from the list of zone names returned in the buffer 4-9
Chapter 5 AppleTalk Data Stream Protocol (ADSP) 5-1
Figure 5-1 ADSP and its underlying protocols 5-4
Figure 5-2 Steps for creating an ADSP connection end 5-5
Figure 5-3 ADSP connection ends and their components 5-7
Figure 5-4 Standard tasks for an ADSP connection listener 5-8
Listing 5-1 Using ADSP to establish and use a connection 5-17
Listing 5-2 Using ADSP to establish and use a connection listener 5-24
Listing 5-3 An ADSP user routine 5-28
Chapter 6 AppleTalk Transaction Protocol (ATP) 6-1
Figure 6-1 An ATP transaction 6-4
Figure 6-2 ATP and its underlying protocols 6-5
Figure 6-3 The ATP packet header control information byte 6-6
Table 6-1 Constants for ATP flag bits 6-9
Listing 6-1 Opening a socket and sending an ATP request 6-10
Listing 6-2 Opening a socket to receive a request and sending response data 6-17
Chapter 7 Datagram Delivery Protocol (DDP) 7-1
Figure 7-1 Two applications running on the same node, each with its own socket 7-5
Figure 7-2 Sending and receiving data using DDP 7-6
Figure 7-3 Assigning sockets 7-7
Figure 7-4 DDP write-data structure 7-13
Figure 7-5 The RHA for both long and short DDP headers 7-15
Figure 7-6 Data-link frame header and DDP packet header 7-15
Listing 7-1 Declarations for pointers to the sample socket listener's queues and packet buffer 7-21
Listing 7-2 Declaration for the sample socket listener's packet buffer record 7-22
Listing 7-3 Declaration for the sample socket listener's queue header record 7-22
Listing 7-4 Setting up the socket listener from the client application 7-23
Listing 7-5 Initializing the socket listener 7-24
Listing 7-6 Receiving and processing a DDP packet 7-26
Listing 7-7 Determining if the socket listener has processed a packet 7-31
Chapter 8 AppleTalk Session Protocol (ASP) 8-1
Figure 8-1 ASP and its underlying protocols 8-4
Figure 8-2 Differences between ASP and ADSP 8-5
Figure 8-3 Error reporting in ASP 8-18
Chapter 9 AppleTalk Filing Protocol (AFP) 9-1
Figure 9-1 AFP and its underlying protocols 9-4
Table 9-1 AFP command codes 9-9
Table 9-2 Mapping of AFP commands to ASP functions 9-13
Chapter 10 Link-Access Protocol (LAP) Manager 10-1
Figure 10-1 LAP Manager connecting the higher-level AppleTalk protocols with the selected data link 10-4
Listing 10-1 Checking to determine if the LAP Manager is installed 10-6
Listing 10-2 Adding an AppleTalk Transition Queue entry 10-8
Listing 10-3 Removing an AppleTalk Transition Queue entry 10-8
Table 10-1 AppleTalk transitions and their constants and routine selectors 10-9
Listing 10-4 Glue code for a Pascal transition event handler routine 10-12
Listing 10-5 Glue code to handle the network-connection-change transition from Pascal 10-19
Listing 10-6 Using the glue code for the network validation procedure 10-19
Figure 10-2 Ethernet Phase 1 packet formats 10-28
Figure 10-3 Ethernet Phase 2 packet formats 10-29
Figure 10-4 Using the LAP Manager to receive data for 802.2 protocols 10-31
Listing 10-7 Calling a LAP Manager 802.2 routine from assembly language 10-32
Chapter 11 Ethernet, Token Ring, and Fiber Distributed Data Interface 11-1
Figure 11-1 Using protocol handlers to read data directly from the Ethernet driver 11-4
Figure 11-2 How AppleTalk uses multivendor support 11-6
Listing 11-1 Finding an Ethernet card and opening the .ENET driver 11-8
Figure 11-3 An Ethernet write-data structure 11-11
Listing 11-2 Sending a data packet over Ethernet 11-12
Listing 11-3 Attaching a protocol handler and reading a packet 11-14
Listing 11-4 Completion routine to process received packet and await the next packet 11-16
Chapter 12 Multinode Architecture 12-1
Figure 12-1 The long DDP packet header used for multinode 12-5
Figure 12-2 How a server-client multinode application might send a broadcast NBP lookup packet 12-7
Listing 12-1 Defining a Pascal function that makes an immediate AddNode call 12-9
Figure 12-3 The write-data structure for a multinode 12-15