ddp   Début   Suivant   Sommaire   Préc.page.lue   Accueil
Section: Manuel de l'administrateur Linux (7)
Updated: 1er mai 1999
Sommaire  



NOM   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
ddp - Implémentation Linux du protocole AppleTalk  



SYNOPSIS   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
#include <sys/socket.h>
#include <netatalk/at.h>

ddp_socket = socket(PF_APPLETALK, SOCK_DGRAM, 0);
raw_socket = socket(PF_APPLETALK, SOCK_RAW, protocole);  




DESCRIPTION   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
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 PF_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 un UID effectif nul ou ayant la capacité CAP_NET_RAW.  




Format d'adresse   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
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;   /* noeud / réseau    */
};

sat_family doit toujours être rempli avec AF_APPLETALK. sat_port contient le numéro de port. Les numéros inférieurs à 129 sont réservés. 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. La valeur AT_ANYNET est générique et correspond aussi à « 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 à « hôte ». La valeur ATADDR_BCAST est une adresse broadcast locale.  




Options des sockets   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
Il n'y a pas d'options spécifiques au protocole sur les sockets.  



Sysctls   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
Il y a une interface sysctls pour configurer certains paramètres AppleTalk globaux.

On peut y accéder en lisant ou écrivant les fichiers /proc/sys/net/atalk/* ou en utilisant l'appel système sysctl(2).

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   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
Toutes les ioctls décrites dans la page socket(7) s'appliquent au ddp.  



ERREURS   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
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
L'adresse est déjà utilisée.
EADDRNOTAVAIL
On a demandé une interface inexistante, ou l'adresse d'émission réclamée n'est pas locale.
EAGAIN
L'opération bloquerait alors que la socket est non bloquante.
EALREADY
Une connexion est déjà en cours sur la socket non bloquante.
ECONNABORTED
Une connexion a été refermée pendant la durée de accept(2).
EHOSTUNREACH
Aucune entrée dans la table de routage ne correspond à l'adresse de destination.
EINVAL
Argument invalide.
EISCONN
On appelle connect(2) sur une socket déjà connectée.
EMSGSIZE
Le datagramme est plus grand que le MTU DDP.
ENODEV
Périphérique réseau non disponible ou incapable d'envoyer en IP.
ENOENT
SIOCGSTAMP a été appelée sur une socket où aucun paquet n'est arrivé.
ENOTCONN
L'opération n'est définie que sur une socket connectée et ce n'était pas le cas.
ENOMEM et ENOBUFS
Pas assez de mémoire.
ENOPKG
Un sous-système du noyau n'est pas configuré.
ENOPROTOOPT EOPNOTSUPP
Option invalide.
EPERM
L'utilisateur n'a pas les permissions nécessaires.
EPIPE
La connexion a été fermée par l'interlocuteur.
ESOCKTNOSUPPORT
La socket n'est pas configurée ou on a demandé un type inconnu.
 



VERSIONS   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
Appletalk est supporté par Linux 2.0 et ultérieurs.         L'interface
sysctl(2) est nouvelle dans Linux 2.2.  



NOTES   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
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é   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
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   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
Il y a trop de valeurs d'erreurs incohérentes.

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   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
recvmsg(2), sendmsg(2), capabilities(7), socket(7)  



TRADUCTION   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil

Ce document est une traduction réalisée par Christophe Blaess <http://www.blaess.fr/christophe/> le 4 janvier 2000 et révisée le 8 janvier 2008.

L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 7 ddp ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.


 



Sommaire   Début   Suivant   Sommaire   Préc.page.lue   Accueil
NOM
SYNOPSIS
DESCRIPTION
Format d'adresse
Options des sockets
Sysctls
Ioctls
ERREURS
VERSIONS
NOTES
Compatibilité
BOGUES
VOIR AUSSI
TRADUCTION

Table des mots clés   Début   Suivant   Sommaire   Préc.page.lue   Accueil
aarp-expiry-timeSysctls
aarp-resolve-timeSysctls
aarp-retransmit-limitSysctls
aarp-tick-timeSysctls
EACCESERREURS
EADDRINUSEERREURS
EADDRNOTAVAILERREURS
EAGAINERREURS
EALREADYERREURS
ECONNABORTEDERREURS
EHOSTUNREACHERREURS
EINVALERREURS
EISCONNERREURS
EMSGSIZEERREURS
ENODEVERREURS
ENOENTERREURS
ENOMEM et ENOBUFSERREURS
ENOPKGERREURS
ENOPROTOOPT EOPNOTSUPPERREURS
ENOTCONNERREURS
EPERMERREURS
EPIPEERREURS
ESOCKTNOSUPPORTERREURS



Ce document a été créé par man2html suivi de man2html.pl, le 17/10/2008 17:49:58, en utilisant les pages de 'man'.
 

Valid HTML 4.01 Transitional