Welcome to Linux Knowledge Base and Tutorial
"The place where you learn linux"
Linux Magazine - Missing Anything?

 Create an AccountHome | Submit News | Your Account  

Tutorial Menu
Linux Tutorial Home
Table of Contents

· Introduction to Operating Systems
· Linux Basics
· Working with the System
· Shells and Utilities
· Editing Files
· Basic Administration
· The Operating System
· The X Windowing System
· The Computer Itself
· Networking
· System Monitoring
· Solving Problems
· Security
· Installing and Upgrading
· Linux and Windows

Glossary
MoreInfo
Man Pages
Linux Topics
Test Your Knowledge

Site Menu
Site Map
FAQ
Copyright Info
Terms of Use
Privacy Info
Disclaimer
WorkBoard
Thanks
Donations
Advertising
Masthead / Impressum
Your Account

Communication
Feedback
Forums
Private Messages
Surveys

Features
HOWTOs
News Archive
Submit News
Topics
User Articles
Web Links

Google
Google


The Web
linux-tutorial.info

Who's Online
There are currently, 277 guest(s) and 6 member(s) that are online.

You are an Anonymous user. You can register for free by clicking here

  

ddp



SYNOPSIS

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

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


DESCRIPTION

       Linux  implements  the  Appletalk  protocols  described in
       Inside Appletalk.  Only the DDP layer and AARP are present
       in  the  kernel.  They  are  designed  to  be used via the
       netatalk  protocol  libraries.  This  page  documents  the
       interface  for those who wish or need to use the DDP layer
       directly.

       The communication between Appletalk and the  user  program
       works  using  a  BSD-compatible socket interface. For more
       information on sockets, see socket(7).

       An AppleTalk socket is created by  calling  the  socket(2)
       function with a PF_APPLETALK socket family argument. Valid
       socket types are  SOCK_DGRAM  to  open  a  ddp  socket  or
       SOCK_RAW  to open a raw socket.  protocol is the Appletalk
       protocol to be received or sent.  For  SOCK_RAW  you  must
       specify ATPROTO_DDP.

       Raw sockets may be only opened by a process with effective
       user id 0 or when the process has the CAP_NET_RAW capabil­
       ity.


ADDRESS FORMAT

       An Appletalk socket address is defined as a combination of
       a network number, a node number, and a port number.

              struct at_addr {
                  u_short         s_net;
                  u_char          s_node;
              };

              struct sockaddr_atalk {
                  sa_family_t     sat_family; /* address family */
                  u_char          sat_port;   /* port */
                  struct at_addr  sat_addr;   /* net/node */
              };

       sat_family is always set to AF_APPLETALK.   sat_port  con­
       tains  the  port.  The port numbers below 129 are known as
       reserved ports.  Only processes with the effective user id
       0  or  the  CAP_NET_BIND_SERVICE capability may bind(2) to
       these sockets.  sat_addr is the  host  address.   The  net
       member of struct at_addr contains the host network in net­
       work byte order.  The value of AT_ANYNET is a wildcard and
       aarp-expiry-time
              The time interval (in seconds) before an AARP cache
              entry expires.

       aarp-resolve-time
              The time interval (in seconds) before an AARP cache
              entry is resolved.

       aarp-retransmit-limit
              The  number  of  retransmissions  of  an AARP query
              before the node is declared dead.

       aarp-tick-time
              The timer rate (in seconds) for the  timer  driving
              AARP.

       The  default  values  match  the  specification and should
       never need to be changed.


IOCTLS

       All ioctls described in socket(7) apply to ddp.


NOTES

       Be very careful with the SO_BROADCAST option - it  is  not
       privileged  in  Linux.  It is easy to overload the network
       with careless sending to broadcast addresses.


VERSIONS

       Appletalk is supported by Linux 2.0 or higher. The  sysctl
       interface is new in Linux 2.2.


ERRORS

       ENOTCONN
              The  operation  is  only  defined  on  a  connected
              socket, but the socket wasn't connected.

       EINVAL Invalid argument passed.

       EMSGSIZE
              Datagram is bigger than the DDP MTU.

       EACCES The user tried to execute an operation without  the
              necessary  permissions.  These include sending to a
              broadcast address without having the broadcast flag
              set,  and trying to bind to a reserved port without
              effective user id 0 or CAP_NET_BIND_SERVICE.

       EADDRINUSE
              Tried to bind to an address already in use.

       EAGAIN Operation on a nonblocking socket would block.

       ESOCKTNOSUPPORT
              The  socket  was unconfigured, or an unknown socket
              type was requested.

       EISCONN
              connect(2)  was  called  on  an  already  connected
              socket.

       EALREADY
              A  connection operation on a non-blocking socket is
              already in progress.

       ECONNABORTED
              A connection was closed during an accept(2).

       EPIPE  The connection was unexpectedly closed or shut down
              by the other end.

       ENOENT SIOCGSTAMP  was  called on a socket where no packet
              arrived.

       EHOSTUNREACH
              No routing  table  entry  matches  the  destination
              address.

       ENODEV Network  device  not  available  or  not capable of
              sending IP.

       ENOPKG A kernel subsystem was not configured.


COMPATIBILITY

       The basic AppleTalk socket interface  is  compatible  with
       netatalk  on BSD-derived systems. Many BSD systems fail to
       check SO_BROADCAST when sending broadcast frames; this can
       lead to compatibility problems.

       The  raw socket mode is unique to Linux and exists to sup­
       port the alternative CAP package and AppleTalk  monitoring
       tools more easily.


BUGS

       There are too many inconsistent error values.

       The ioctls used to configure routing tables, devices, AARP
       tables and other devices are not yet described.


SEE ALSO

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

  
Help us cut cost by not downloading the whole site!
Use of automated download sofware ("harvesters") such as wget, httrack, etc. causes the site to quickly exceed its bandwidth limitation and therefore is expressedly prohibited. For more details on this, take a look here

Login
Nickname

Password

Security Code
Security Code
Type Security Code


Don't have an account yet? You can create one. As a registered user you have some advantages like theme manager, comments configuration and post comments with your name.

Help if you can!


Amazon Wish List

Did You Know?
You can get all the latest Site and Linux news by checking out our news page.


Friends



Tell a Friend About Us

Bookmark and Share



Web site powered by PHP-Nuke

Is this information useful? At the very least you can help by spreading the word to your favorite newsgroups, mailing lists and forums.
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters. Articles are the property of their respective owners. Unless otherwise stated in the body of the article, article content (C) 1994-2013 by James Mohr. All rights reserved. The stylized page/paper, as well as the terms "The Linux Tutorial", "The Linux Server Tutorial", "The Linux Knowledge Base and Tutorial" and "The place where you learn Linux" are service marks of James Mohr. All rights reserved.
The Linux Knowledge Base and Tutorial may contain links to sites on the Internet, which are owned and operated by third parties. The Linux Tutorial is not responsible for the content of any such third-party site. By viewing/utilizing this web site, you have agreed to our disclaimer, terms of use and privacy policy. Use of automated download software ("harvesters") such as wget, httrack, etc. causes the site to quickly exceed its bandwidth limitation and are therefore expressly prohibited. For more details on this, take a look here

PHP-Nuke Copyright © 2004 by Francisco Burzi. This is free software, and you may redistribute it under the GPL. PHP-Nuke comes with absolutely no warranty, for details, see the license.
Page Generation: 0.08 Seconds