xref: /csrg-svn/sys/netccitt/ccitt_proto.c (revision 41585)
1*41585Ssklower /* Copyright (c) University of British Columbia, 1984 */
2*41585Ssklower 
3*41585Ssklower #include "../h/param.h"
4*41585Ssklower #include "../h/socket.h"
5*41585Ssklower #include "../h/protosw.h"
6*41585Ssklower #include "../h/domain.h"
7*41585Ssklower #include "../netccitt/x25.h"
8*41585Ssklower 
9*41585Ssklower /*
10*41585Ssklower  *	Definitions of protocols supported in the CCITT domain.
11*41585Ssklower  */
12*41585Ssklower 
13*41585Ssklower #ifdef BSD4_3
14*41585Ssklower extern	struct domain ccittdomain;
15*41585Ssklower #endif
16*41585Ssklower 
17*41585Ssklower #ifdef XE
18*41585Ssklower int	xe_output (), xe_ctlinput (), xe_init(), xe_timer();
19*41585Ssklower #endif
20*41585Ssklower #ifdef HDLC
21*41585Ssklower int	hd_output (), hd_ctlinput (), hd_init (), hd_timer ();
22*41585Ssklower #endif
23*41585Ssklower int	pk_usrreq (), pk_timer ();
24*41585Ssklower 
25*41585Ssklower struct protosw ccittsw[] = {
26*41585Ssklower #ifdef XE
27*41585Ssklower #ifdef BSD4_3
28*41585Ssklower  {	0,		&ccittdomain,	IEEEPROTO_802LLC,0,
29*41585Ssklower #else
30*41585Ssklower  {	0,		PF_CCITT,	IEEEPROTO_802LLC,0,
31*41585Ssklower #endif
32*41585Ssklower 	0,		xe_output,	xe_ctlinput,	0,
33*41585Ssklower 	0,
34*41585Ssklower 	xe_init,	0,	 	xe_timer,	0,
35*41585Ssklower  },
36*41585Ssklower #endif
37*41585Ssklower #ifdef HDLC
38*41585Ssklower #ifdef BSD4_3
39*41585Ssklower  {	0,		&ccittdomain,	CCITTPROTO_HDLC,0,
40*41585Ssklower #else
41*41585Ssklower  {	0,		PF_CCITT,	CCITTPROTO_HDLC,0,
42*41585Ssklower #endif
43*41585Ssklower 	0,		hd_output,	hd_ctlinput,	0,
44*41585Ssklower 	0,
45*41585Ssklower 	hd_init,	0,	 	hd_timer,	0,
46*41585Ssklower  },
47*41585Ssklower #endif
48*41585Ssklower #ifdef BSD4_3
49*41585Ssklower  {	SOCK_STREAM,	&ccittdomain,	CCITTPROTO_X25,	PR_CONNREQUIRED|PR_ATOMIC|PR_WANTRCVD,
50*41585Ssklower #else
51*41585Ssklower  {	SOCK_STREAM,	PF_CCITT,	CCITTPROTO_X25,	PR_CONNREQUIRED|PR_ATOMIC|PR_WANTRCVD,
52*41585Ssklower #endif
53*41585Ssklower 	0,		0,		0,		0,
54*41585Ssklower 	pk_usrreq,
55*41585Ssklower 	0,		0,		pk_timer,	0,
56*41585Ssklower  }
57*41585Ssklower };
58*41585Ssklower 
59*41585Ssklower struct domain ccittdomain =
60*41585Ssklower #ifdef BSD4_3
61*41585Ssklower 	{ AF_CCITT, "ccitt", 0, 0, 0, ccittsw,
62*41585Ssklower 		&ccittsw[sizeof(ccittsw)/sizeof(ccittsw[0])] };
63*41585Ssklower #else
64*41585Ssklower 	{ AF_CCITT, "ccitt", ccittsw, &ccittsw[sizeof(ccittsw)/sizeof(ccittsw[0])] };
65*41585Ssklower #endif
66*41585Ssklower 
67