Path: utzoo!utgpu!news-server.csri.toronto.edu!mailrus!uunet!cs.utexas.edu!swrinde!zaphod.mps.ohio-state.edu!mips!pacbell.com!perl From: perl@PacBell.COM (Richard Perlman) Newsgroups: comp.protocols.appletalk Subject: Re: which Unix versions have native Appletalk stacks? Message-ID: <1990Jun29.225040.12501@PacBell.COM> Date: 29 Jun 90 22:50:40 GMT References: <1990Jun29.214819.28865@maytag.waterloo.edu> Sender: news@PacBell.COM Organization: Pacific Bell - Financial Management Lines: 76 In article <1990Jun29.214819.28865@maytag.waterloo.edu> gamiddle@maytag.waterloo.edu (Guy Middleton) writes: >Are there vendors who sell...native, in-kernel Appletalk stack on a Unix box. Sequent does. It's in the current Dynix kernel. BUT, according to people who know (much) more than I do, it may not be usable for anything practical. Man page follows: ==================================================================== APPLETALK(4F) DYNIX Programmer's Manual APPLETALK(4F) NAME appletalk - AppleTalk protocol family SYNOPSIS #include DESCRIPTION The AppleTalk protocol family provides basic communications for AppleTalk datagram delivery packetized in Ethernet pack- ets. It provides protocol support only for the SOCK_DGRAM socket type. Other protocols in the suite can be layered atop this facility using the standard socket interfaces. ADDRESSING AppleTalk addresses are four-byte quantities, stored in network-standard format (on the Balance and Symmetry series the addresses are word- and byte-reversed). The include file defines this address as a discriminated union. Sockets bound to the AppleTalk protocol family utilize the following addressing structure: struct sockaddr_at { short at_family; /* AF_APPLETALK */ struct a_addr at_addr; /* 4 bytes */ u_char at_sno; /* ddp socket number */ u_char at_ptype; /* ddp protocol type */ char at_dummy[8]; /* fill */ }; where: struct a_addr { union { struct { u_short Net; u_char Node; u_char Abridge; } at_chrs; long Addr; } at_un; }; #define at_Net at_un.at_chrs.Net #define at_Node at_un.at_chrs.Node #define at_Abridge at_un.at_chrs.Abridge #define at_adr at_un.Addr Sockets may be created with the address at_Net and at_Node equal to zero (0) to effect "wildcard" matching on incoming messages. A connect() that specifies at_Net and at_Node equal to zero (0) returns the current values for the host. PROTOCOLS The AppleTalk protocol family consists of the Datagram Delivery Protocol (DDP) only. It is used to support the SOCK_DGRAM abstraction. -- "The universe is not only queerer than we imagine, but it is queerer than we can imagine." J.B.S. Haldane -- Richard Perlman |*| perl@pbseps.pacbell.com |*| (415) 545-0233