gamiddle@maytag.waterloo.edu (Guy Middleton) (06/30/90)
We would like to run a native, in-kernel Appletalk stack on a Unix box. Are there any vendors who sell one? -Guy Middleton, University of Waterloo gamiddleton@watmath.waterloo.edu (+1 519 885 1211 x3472) gamiddleton@watmath.uwaterloo.ca
perl@PacBell.COM (Richard Perlman) (06/30/90)
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. <IMHO> 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 <netat/atalk.h> 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 <netat/atalk.h> 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
liam@cs.qmw.ac.uk (William Roberts) (07/03/90)
In <1990Jun29.214819.28865@maytag.waterloo.edu> gamiddle@maytag.waterloo.edu (Guy Middleton) writes: >We would like to run a native, in-kernel Appletalk stack on a Unix box. Are >there any vendors who sell one? Rumour has it that SunOS includes some AppleTalk support, and the Sequent operating system definitely has some, though both of these might be hooks on which to hang extra software (e.g. Tops, Kinetics things like K-Spool, and so on). You could always get A/UX - A/UX 2.0 has EtherTalk and LocalTalk support in kernel as standard, and A/UX 1.1 has this as an extra which you can buy from Apple. Apple's A/UX implementation of this stuff was done in C and is intended to be portable: you can licence the source code from them at sensible rates and it is based on Streams drivers. Vendors wishing to include it in their products get a discount on the licence fee if they make it a standard part of the product (that's what they said at the WWDC in San Jose this year). This is all AppleTalk phase 2, so you get ISO conformant Ethernet packets into the bargain. -- William Roberts ARPA: liam@cs.qmw.ac.uk Queen Mary & Westfield College UUCP: liam@qmw-cs.UUCP Mile End Road AppleLink: UK0087 LONDON, E1 4NS, UK Tel: 071-975 5250 (Fax: 081-980 6533)