#include <sys/types.h> #include <netatalk/at.h>
AppleTalk プロトコル ファミリは、データグラム配信プロトコル (DDP) の上位層にあり、AppleTalk アドレス形式を使用するプロトコルのコレクションです。AppleTalk ファミリは、SOCK_STREAM (ADSP)、SOCK_DGRAM (DDP)、SOCK_RDM (ATP)、および SOCK_SEQPACKET (ASP) を提供します。現在、DDP のみがカーネルに実装されています。ATP と ASP は、ユーザー レベルのライブラリに実装されています。 ADSP も計画されています。
AppleTalk アドレスは 3 バイトの量で、ネットワーク バイト オーダーで保存されます。インクルード ファイル <netatalk/at.h> は AppleTalk アドレス形式を定義します。
AppleTalk プロトコル ファミリのソケットは、次のアドレス構造を使用します:
struct sockaddr_at { short sat_family; unsigned char sat_port; struct at_addr sat_addr; char sat_zero[ 8 ]; };
ソケットのポートは、bind(2) で設定できます。 bind のノードは、常に ATADDR_ANYNODE: ``このノード。'' でなければなりません。ネットは、ATADDR_ANYNET または ATADDR_LATENET です。 ATADDR_ANYNET は、マシンの ``プライマリ'' アドレス (最初に構成されたアドレス) に対応します。 ATADDR_LATENET により、送信パケット内のアドレスはパケットの送信時に決定されます (つまり、遅れて決定されます)。ATADDR_LATENET は、ネットワーク インターフェイスごとに 1 つのソケットを開くことと同じです。ソケットのポートと プライマリ アドレスまたは ATADDR_LATENET のいずれかが、getsockname(2) で返されます。