Add the DragonFly cvs id and perform general cleanups on cvs/rcs/sccs ids. Most
[dragonfly.git] / sys / netproto / atalk / at_proto.c
1 /*
2  * Copyright (c) 1990,1991 Regents of The University of Michigan.
3  * All Rights Reserved.
4  *
5  * Permission to use, copy, modify, and distribute this software and
6  * its documentation for any purpose and without fee is hereby granted,
7  * provided that the above copyright notice appears in all copies and
8  * that both that copyright notice and this permission notice appear
9  * in supporting documentation, and that the name of The University
10  * of Michigan not be used in advertising or publicity pertaining to
11  * distribution of the software without specific, written prior
12  * permission. This software is supplied as is without expressed or
13  * implied warranties of any kind.
14  *
15  *      Research Systems Unix Group
16  *      The University of Michigan
17  *      c/o Mike Clark
18  *      535 W. William Street
19  *      Ann Arbor, Michigan
20  *      +1-313-763-0525
21  *      netatalk@itd.umich.edu
22  */
23
24 #include <sys/param.h>
25 #include <sys/protosw.h>
26 #include <sys/domain.h>
27 #include <sys/socket.h>
28
29 #include <sys/kernel.h>
30
31 #include <net/route.h>
32
33 #include <netatalk/at.h>
34 #include <netatalk/ddp_var.h>
35 #include <netatalk/at_extern.h>
36
37 extern struct domain    atalkdomain;
38
39 static struct protosw   atalksw[] = {
40     {
41         /* Identifiers */
42         SOCK_DGRAM,     &atalkdomain,   ATPROTO_DDP,    PR_ATOMIC|PR_ADDR,
43         /*
44          * protocol-protocol interface.
45          * fields are pr_input, pr_output, pr_ctlinput, and pr_ctloutput.
46          * pr_input can be called from the udp protocol stack for iptalk
47          * packets bound for a local socket.
48          * pr_output can be used by higher level appletalk protocols, should
49          * they be included in the kernel.
50          */
51         0,              ddp_output,     0,              0,
52         /* socket-protocol interface. deprecated */
53         NULL,
54         /* utility routines. */
55         ddp_init,       0,              0,              0,
56         &ddp_usrreqs
57     },
58 };
59
60 static struct domain    atalkdomain = {
61     AF_APPLETALK,       "appletalk",    0,      0,      0,
62     atalksw, &atalksw[sizeof(atalksw)/sizeof(atalksw[0])],
63     0, rn_inithead,
64     8 * (u_long) &((struct sockaddr_at *) 0)->sat_addr,
65     sizeof(struct sockaddr_at)
66 };
67
68 DOMAIN_SET(atalk);
69