ATALK(4)

Name
atalk — AppleTalk protocol family

Synopsis

        #include <sys/types.h>
        #include <netatalk/at.h>

Description
The AppleTalk protocol family is a collection of protocols layered above the Datagram Delivery Protocol (DDP), and using AppleTalk address format. The AppleTalk family may provide SOCK_STREAM (ADSP), SOCK_DGRAM (DDP), SOCK_RDM (ATP), and SOCK_SEQPACKET (ASP). Currently, DDP is implemented in the kernel; ATP and ASP are implemented in Netatalk user level libraries.

Addressing
AppleTalk addresses are three byte quantities, stored in network byte order. The include file <netatalk/at.h> defines the AppleTalk address format.

Sockets in the AppleTalk protocol family use the following address structure:

        struct sockaddr_at {
            short sat_family;
            unsigned char sat_port;
            struct at_addr sat_addr;
            char sat_zero[8];
        };

The port of a socket may be set with bind(2). The node for bind must always be ATADDR_ANYNODE: "this node." The net may be ATADDR_ANYNET or ATADDR_LATENET. ATADDR_ANYNET corresponds to the machine's "primary" address (the first configured). ATADDR_LATENET causes the address in outgoing packets to be determined when a packet is sent, i.e. determined late. ATADDR_LATENET is equivalent to opening one socket for each network interface. The port of a socket and either the primary address or ATADDR_LATENET are returned with getsockname(2).

See Also
bind(2), getsockname(2), atalkd(8)

Author
Contributors to the Netatalk Project (https://netatalk.io/contributors)