1 /* $NetBSD: ccitt_proto.c,v 1.14 2003/08/07 16:32:59 agc Exp $ */
2
3 /*
4 * Copyright (c) 1990, 1993
5 * The Regents of the University of California. All rights reserved.
6 *
7 * This code is derived from software contributed to Berkeley by
8 * the Laboratory for Computation Vision and the Computer Science Department
9 * of the University of British Columbia.
10 *
11 * Redistribution and use in source and binary forms, with or without
12 * modification, are permitted provided that the following conditions
13 * are met:
14 * 1. Redistributions of source code must retain the above copyright
15 * notice, this list of conditions and the following disclaimer.
16 * 2. Redistributions in binary form must reproduce the above copyright
17 * notice, this list of conditions and the following disclaimer in the
18 * documentation and/or other materials provided with the distribution.
19 * 3. Neither the name of the University nor the names of its contributors
20 * may be used to endorse or promote products derived from this software
21 * without specific prior written permission.
22 *
23 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
24 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
25 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
26 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
27 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
28 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
29 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
30 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
31 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
32 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
33 * SUCH DAMAGE.
34 *
35 * @(#)ccitt_proto.c 8.1 (Berkeley) 6/10/93
36 */
37
38 /*
39 * Copyright (c) 1984 University of British Columbia.
40 *
41 * This code is derived from software contributed to Berkeley by
42 * the Laboratory for Computation Vision and the Computer Science Department
43 * of the University of British Columbia.
44 *
45 * Redistribution and use in source and binary forms, with or without
46 * modification, are permitted provided that the following conditions
47 * are met:
48 * 1. Redistributions of source code must retain the above copyright
49 * notice, this list of conditions and the following disclaimer.
50 * 2. Redistributions in binary form must reproduce the above copyright
51 * notice, this list of conditions and the following disclaimer in the
52 * documentation and/or other materials provided with the distribution.
53 * 3. All advertising materials mentioning features or use of this software
54 * must display the following acknowledgement:
55 * This product includes software developed by the University of
56 * California, Berkeley and its contributors.
57 * 4. Neither the name of the University nor the names of its contributors
58 * may be used to endorse or promote products derived from this software
59 * without specific prior written permission.
60 *
61 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
62 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
63 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
64 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
65 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
66 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
67 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
68 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
69 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
70 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
71 * SUCH DAMAGE.
72 *
73 * @(#)ccitt_proto.c 8.1 (Berkeley) 6/10/93
74 */
75
76 #include <sys/cdefs.h>
77 __KERNEL_RCSID(0, "$NetBSD: ccitt_proto.c,v 1.14 2003/08/07 16:32:59 agc Exp $");
78
79 #include "opt_hdlc.h"
80 #include "opt_llc.h"
81
82 #include <sys/param.h>
83 #include <sys/socket.h>
84 #include <sys/protosw.h>
85 #include <sys/domain.h>
86
87 #include <netccitt/x25.h>
88
89 #include <net/radix.h>
90
91 /*
92 * Definitions of protocols supported in the CCITT domain.
93 */
94
95 extern struct domain ccittdomain;
96 #define DOMAIN &ccittdomain
97
98 #ifdef LLC
99 #include <net/if.h>
100 #include <net/if_dl.h>
101 #include <net/if_llc.h>
102 #include <netccitt/dll.h>
103 #include <netccitt/llc_var.h>
104 #endif
105 #ifdef HDLC
106 #include <netccitt/hdlc.h>
107 #include <netccitt/hd_var.h>
108 #endif
109 #include <netccitt/pk_extern.h>
110
111 struct protosw ccittsw[] = {
112 #ifdef LLC
113 { 0, DOMAIN, IEEEPROTO_802LLC,0,
114 0, llc_output, llc_ctlinput, 0,
115 0,
116 llc_init, 0, llc_timer, 0,
117 },
118 #endif
119 #ifdef HDLC
120 { 0, DOMAIN, CCITTPROTO_HDLC,0,
121 0, hd_output, hd_ctlinput, 0,
122 0,
123 hd_init, 0, hd_timer, 0,
124 },
125 #endif
126 { SOCK_STREAM, DOMAIN, CCITTPROTO_X25, PR_CONNREQUIRED|PR_ATOMIC|PR_WANTRCVD|PR_LISTEN|PR_ABRTACPTDIS,
127 pk_input, 0, pk_ctlinput, pk_ctloutput,
128 pk_usrreq,
129 pk_init, 0, pk_timer, 0,
130 }
131 };
132
133 struct domain ccittdomain =
134 { PF_CCITT, "ccitt", 0, 0, 0, ccittsw,
135 &ccittsw[sizeof(ccittsw)/sizeof(ccittsw[0])], 0,
136 rn_inithead, 32, sizeof (struct sockaddr_x25) };
Cache object: 05c999d12e59571727dd3fe1dd3a4d65
|