Loading

NOM

       ddp - Implémentation Linux du protocole AppleTalk

SYNOPSIS

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

       ddp_socket = socket(AF_APPLETALK, SOCK_DGRAM, 0);
       raw_socket = socket(AF_APPLETALK, SOCK_RAW, protocol);

       Linux  implémente le protocole AppleTalk décrit dans le document Inside
       Appletalk. Seuls le niveau DDP et l’AARP sont présents dans  le  noyau,
       ils  sont  conçus pour être utilisés via les bibliothèques du protocole
       netatalk. Cette page documente l’interface pour ceux qui ont envie  (ou
       besoin) d’utiliser directement le niveau DDP.

       La communication entre Appletalk et le programme utilisateur fonctionne
       en utilisant une  interface  compatible  avec  les  sockets  BSD.  Voir
       socket(7).

       Une  socket  AppleTalk est créée en appelant la fonction socket(2) avec
       un argument AF_APPLETALK en famille de socket. Les types  valides  sont
       SOCK_DGRAM  pour  ouvrir  une  socket  ddp  ou SOCK_RAW pour ouvrir une
       socket raw.  protocol  est  le  protocole  Appletalk  pour  envoyer  ou
       recevoir   des   données.  Pour  le  type  SOCK_RAW  il  faut  indiquer
       ATPROTO_DDP.

       Les sockets raw peuvent seulement être ouvertes par un processus  ayant
       UID effectif nul ou ayant la capacité CAP_NET_RAW.

   Format dadresse
       Une  socket  AppleTalk  est définie comme la combinaison d’un numéro de
       réseau, d’un numéro de noeud et d’un numéro de port.

           struct at_addr {
               unsigned short s_net;
               unsigned char  s_node;
           };

           struct sockaddr_atalk {
               sa_family_t    sat_family;    /* Famille d’adresse */
               unsigned char  sat_port;      /* Port              */
               struct at_addr sat_addr;      /* Réseau / Noeud    */
           };

       sat_family  doit  toujours  être  rempli  avec  AF_APPLETALK.  sat_port
       contient le numéro de port. Les numéros inférieurs à 129 sont rservs.
       Seuls  les  processus  ayant  un  UID  effectif  nul  ou  la   capacité
       CAP_NET_BIND_SERVICE peut appeler bind(2) sur ces sockets. sat_addr est
       l’adresse de l’hôte. Le membre net de la structure at_addr contient  le
       numéro  de  réseau  dans  l’ordre  des octets du réseau (« network byte
       order »). La valeur AT_ANYNET est générique et correspond aussi à  « ce
       réseau ».  Le  membre  node  de la structure at_addr contient le numéro
       d’hôte. La valeur AT_ANYNODE est générique, et correspond aussi à « cet
       hôte ». La valeur ATADDR_BCAST est une adresse broadcast locale.

   Options de sockets
       Il n’y a pas d’options spécifiques au protocole sur les sockets.

   Interfaces /proc
       IP  prend  en  charge  une  série  d’interfaces  /proc  pour configurer
       certains paramètres AppleTalk globaux. On peut y accéder en  lisant  ou
       écrivant les fichiers du répertoire /proc/sys/net/atalk/.

       aarp-expiry-time
              L’intervalle de temps (en secondes) avant qu’une entrée du cache
              AARP expire.

       aarp-resolve-time
              L’intervalle de temps (en secondes) avant qu’une entrée du cache
              AARP soit résolue.

       aarp-retransmit-limit
              Le  nombre  de  retransmissions  d’une  demande  AARP  avant  de
              déclarer le noeud mort.

       aarp-tick-time
              La période (en secondes) de la temporisation dirigeant l’AARP.

       Les valeurs par défaut correspondent aux spécifications et  ne  doivent
       normalement pas être modifiées.

   Ioctls
       Toutes les ioctls décrits dans socket(7) s’appliquent à DDP.

ERREURS

       EACCES L’utilisateur  a  essayé d’exécuter une opération sans avoir les
              permissions adéquates. Ceci  inclut  l’envoi  vers  une  adresse
              broadcast  sans  avoir l’attribut correspondant, ou la tentative
              d’utilisation de port réservé sans UID effectif nul et  sans  la
              capacité CAP_NET_BIND_SERVICE.

       EADDRINUSE
              Tentative d’attachement à une adresse déjà utilisée.

       EADDRNOTAVAIL
              Une   interface   inexistante   a  été  demandée,  ou  l’adresse
              d’émission demandée n’était pas locale.

       EAGAIN L’opération sur une socket non bloquante devrait bloquer.

       EALREADY
              Une connexion est déjà en cours sur la socket non bloquante.

       ECONNABORTED
              Une connexion a été fermée durant un appel à accept(2).

       EHOSTUNREACH
              Aucune entrée dans la table de routage ne correspond à l’adresse
              de destination.

       EINVAL Un paramètre non valable a été fourni.

       EISCONN
              connect(2) a été appelée sur une socket déjà connectée.

       EMSGSIZE
              Le datagramme est plus grand que le MTU DDP.

       ENODEV Le  périphérique  réseau  n’est  pas disponible ou est incapable
              d’utiliser le protocole IP.

       ENOENT SIOCGSTAMP a été appelé  sur  une  socket  qu’aucun  paquet  n’a
              atteint.

       ENOMEM et ENOBUFS
              Pas assez de mémoire.

       ENOPKG Un sous-système du noyau n’est pas configuré.

       ENOPROTOOPT et EOPNOTSUPP
              Passage d’une option de socket non valable.

       ENOTCONN
              L’opération  n’est  définie  que  sur une socket connectée, mais
              cette socket n’était pas connectée.

       EPERM  L’utilisateur n’a pas les permissions nécessaires.

       EPIPE  La connexion a été  fermée  prématurément  ou  volontairement  à
              l’autre extrémité.

       ESOCKTNOSUPPORT
              La  socket n’est pas configurée ou on a demandé un type inconnu.

VERSIONS

       Appletalk est supporté par Linux  2.0  et  ultérieurs.  Les  interfaces
       /proc existent depuis Linux 2.2.

NOTES

       Soyez   très  prudents  avec  l’option  SO_BROADCAST,  elle  n’est  pas
       privilégiée sous Linux. Il  est  facile  de  surcharger  le  réseau  en
       écrivant sans faire attention vers des adresses broadcast.

   Compatibilité
       L’interface  socket  AppleTalk de base est compatible avec netatalk sur
       les systèmes dérivés de BSD. Plusieurs systèmes BSD peuvent  échouer  à
       vérifier  SO_BROADCAST  lorsqu’ils  envoient des trames broadcast. Ceci
       peut poser des problèmes de compatibilité.

       Le mode socket raw est spécifique à Linux et existe pour  supporter  le
       paquetage CAP et les outils de supervision AppleTalk plus facilement.

BOGUES

       Il y a trop de valeurs d’erreurs hétérogènes.

       Les  ioctls  utilisées  pour  configurer  les  tables  de  routage, les
       périphériques, et les tables AARP ne sont pas encore décrites.

VOIR AUSSI

       recvmsg(2), sendmsg(2), capabilities(7), socket(7)

COLOPHON

       Cette page fait partie de  la  publication  3.23  du  projet  man-pages
       Linux.  Une description du projet et des instructions pour signaler des
       anomalies      peuvent      être       trouvées       à       l’adresse
       http://www.kernel.org/doc/man-pages/.

TRADUCTION

       Cette  page  de  manuel  a  été  traduite et mise à jour par Christophe
       Blaess <http://www.blaess.fr/christophe/> entre 1996 et 2003, puis  par
       Alain  Portal  <aportal AT univ-montp2 DOT fr> jusqu’en 2006, et mise à
       disposition sur http://manpagesfr.free.fr/.

       Les mises à jour et corrections de la version présente dans Debian sont
       directement gérées par Julien Cristau <jcristau@debian.org> et l’équipe
       francophone de traduction de Debian.

       Veuillez  signaler  toute  erreur   de   traduction   en   écrivant   à
       <debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
       paquet manpages-fr.

       Vous pouvez toujours avoir accès à la version anglaise de  ce  document
       en utilisant la commande « man -L C <section> <page_de_man> ».