Provided by: manpages-es_1.55-10_all bug

NOMBRE

       ddp - Implementancion de Linux del protocolo AppleTalk

SINOPSIS

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

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

DESCRIPCI'ON

       Linux  implementa  el protocolo Appletalk descrito en Inside Appletalk.
       Unicamente la capa DDP y el AARP se encuentran dentro del nucleo. Estan
       disenados  para  ser  usados  mediante  las  bibliotecas  netatalk  del
       protocolo.  Esta pagina documenta la interfaz para aquellos que  desean
       o necesitan usar la capa DDP directamente.

       La  comunicacion  entre  Appletalk  y  el  programa de usuario funciona
       usando  una  interfaz  de  conectores  compatible  con  BSD.  Para  mas
       informacion sobre conectores, vea socket(7).

       Un conector Appletalk se crea llamando a la funcion socket(2) y pasando
       PF_APPLETALK como familia del conector. Los tipos de conectores validos
       son  SOCK_DGRAM  para  abrir  un  conector ddp o SOCK_RAW para abrir un
       conector raw (directo).  protocol  es  el  protocolo  Appletalk  a  ser
       recibido o enviado. Para SOCK_RAW debe especificar ATPROTO_DDP.

       Los  conectores  directos  solo pueden ser abiertos por un proceso cuyo
       identificador de usuario efectivo sea 0 o por un proceso que  posea  la
       capacidad CAP_NET_RAW.

FORMATO DE LAS DIRECCIONES

       La  direccion de un conector Appletalk se define como la combinacion de
       un numero de red, un numero de nodo y un numero de puerto.

              struct at_addr {
                  u_short         s_net;
                  u_char          s_node;
              };

              struct sockaddr_atalk {
                  sa_family_t     sat_family; /* familia de direcciones */
                  u_char          sat_port;   /* port */
                  struct at_addr  sat_addr;   /* red/nodo */
              };

       A sat_family siempre se le  asigna  el  valor  AF_APPLETALK.   sat_port
       contiene  el puerto. Los numeros de puerto por debajo de 129 se conocen
       como puertos  reservados.   Solo  los  procesos  con  identificador  de
       usuario  efectivo  0  o  con  la  capacidad CAP_NET_BIND_SERVICE pueden
       enlazar estos conectores mediante bind(2).  sat_addr  es  la  direccion
       del anfitrion (host).  El miembro net de struct at_addr contiene la red
       del anfitrion expresada en el formato "orden de red" de los  bytes.  El
       valor AT_ANYNET es un comodin y tambien implica "esta red."  El miembro
       node de struct at_addr contiene el numero de  nodo  del  anfitrion.  El
       valor  AT_ANYNODE es un comodin y tambien implica "este nodo." El valor
       de ATADDR_BCAST es la direccion de enlace de difusion local.

OPCIONES DE LOS CONECTORES

       No se soportan opciones de conector especificas del protocolo.

SYSCTLS

       IP soporta una  interfaz  sysctl  para  configurar  algunos  parametros
       AppleTalk   globales.   Se  puede  acceder  a  las  sysctls  leyendo  o
       escribiendo los ficheros del directorio /proc/sys/net/atalk  o  con  la
       interfaz sysctl(2).

       aarp-expiry-time
              El intervalo de tiempo (en segundos) antes de que una entrada de
              la cache AARP expire.

       aarp-resolve-time
              El intervalo de tiempo (en segundos) antes de  que  se  resuelva
              una entrada de la cache AARP.

       aarp-retransmit-limit
              El numero de retransmisiones de una entrada AARP antes de que el
              nodo sea declarado muerto.

       aarp-tick-time
              La frecuencia del cronometro (en segundos)  para  el  cronometro
              que controla el AARP.

       Los  valores  por  defecto coinciden con la especificacion y nunca debe
       ser necesario el cambiarlos.

IOCTLS

       Todas las ioctls descritas en socket(7) se aplican tambien a ddp.

OBSERVACIONES

       Tenga cuidado con la opcion SO_BROADCAST (no es privilegiada en Linux).
       Es  facil sobrecargar la red sin darse cuenta enviando a la direcciones
       de difusion.

VERSIONES

       Appletalk esta soportado a partir  de  la  version  2.0  de  Linux.  La
       interfaz sysctl es nueva en la version 2.2 de Linux.

ERRORES

       ENOTCONN
              La operacion solo esta definida en un conector conectado pero el
              conector no esta conectado.

       EINVAL Se ha pasado un argumento invalido.

       EMSGSIZE
              El datagrama es mayor que la MTU de DDP.

       EACCES El usuario ha intentado ejecutar una operacion sin los  permisos
              necesarios.   Estos  incluyen  el  enviar  a  una  direccion  de
              difusion sin haber activado la opcion de difusion e intentar  el
              enlace  a  un  puerto  reservado sin un identificador de usuario
              efectivo 0 y sin CAP_NET_BIND_SERVICE.

       EADDRINUSE
              Se ha intentado el enlace a una direccion ya en uso.

       ENOMEM y ENOBUFS
              No hay suficiente memoria disponible.

       ENOPROTOOPT y EOPNOTSUPP
              Se han pasado opciones de conector invalidas.

       EPERM  El usuario no tiene permiso para establecer  una  prioridad  mas
              alta,  hacer  un  cambio  a la configuracion o enviar senales al
              proceso o grupo solicitado.

       EADDRNOTAVAIL
              Se ha solicitado una interfaz inexistente o la direccion  fuente
              solicitada no es local.

       EAGAIN La operacion se bloquearia sobre un conector bloqueante.

       ESOCKTNOSUPPORT
              El  conector  esta  sin configurar o se ha solicitado un tipo de
              conector desconocido.

       EISCONN
              Se ha llamado a connect(2) sobre un conector ya conectado.

       EALREADY
              Ya se  esta  realizando  una  operacion  de  conexion  sobre  un
              conector no bloqueante.

       ECONNABORTED
              Se ha cerrado la conexion durante un accept(2).

       EPIPE  La conexion ha sido cerrada o cancelada por el otro extremo.

       ENOENT Se  ha  llamado  a  SIOCGSTAMP sobre un conector en donde no han
              llegado paquetes.

       EHOSTUNREACH
              No existe una entrada en la tabla de enrutamiento  que  coincida
              con la direccion de destino.

       ENODEV El  dispositivo de red no esta disponible o es incapaz de enviar
              IP.

       ENOPKG No se ha configurado un subsistema del nucleo.

COMPATIBILIDAD

       La interfaz basica de conectores AppleTalk es compatible  con  netatalk
       en  los  sistemas  derivados  de  BSD.  Muchos  sistemas  BSD fallan al
       comprobar SO_BROADCAST cuando se envian tramas de difusion. Esto  puede
       conducir a problemas de compatibilidad.

       El  modo  de  conector directo es unico de Linux y existe para soportar
       mas facilmente  el  paquete  alternativo  CAP  y  las  herramientas  de
       monitorizacion de AppleTalk.

FALLOS

       Hay demasiados valores de error inconsistentes.

       Las   ioctls   usadas  para  configurar  las  tablas  de  enrutamiento,
       dispositivos, tablas AARP y  otros  dispositivos  no  se  han  descrito
       todavia.

V'EASE TAMBI'EN

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

Pagina man de Linux               1 mayo 1999                           DDP(7)