Welcome to Linux Knowledge Base and Tutorial
"The place where you learn linux"
Kitty Hooch

 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

Man Pages
Linux Topics
Test Your Knowledge

Site Menu
Site Map
Copyright Info
Terms of Use
Privacy Info
Masthead / Impressum
Your Account

Private Messages

News Archive
Submit News
User Articles
Web Links


The Web

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

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




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

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


       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

       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­


       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
              The time interval (in seconds) before an AARP cache
              entry expires.

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

              The  number  of  retransmissions  of  an AARP query
              before the node is declared dead.

              The timer rate (in seconds) for the  timer  driving

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


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


       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.


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


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

       EINVAL Invalid argument passed.

              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.

              Tried to bind to an address already in use.

       EAGAIN Operation on a nonblocking socket would block.

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

              connect(2)  was  called  on  an  already  connected

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

              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

              No routing  table  entry  matches  the  destination

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

       ENOPKG A kernel subsystem was not configured.


       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.


       There are too many inconsistent error values.

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


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


The Linux Tutorial is always looking for new contributors.



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 choose larger fonts by selecting a different themes.


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.11 Seconds