1*41701Ssklower /* 2*41701Ssklower * Copyright (c) University of British Columbia, 1984 3*41701Ssklower * Copyright (c) 1990 The Regents of the University of California. 4*41701Ssklower * All rights reserved. 5*41701Ssklower * 6*41701Ssklower * This code is derived from software contributed to Berkeley by 7*41701Ssklower * the Laboratory for Computation Vision and the Computer Science Department 8*41701Ssklower * of the University of British Columbia. 9*41701Ssklower * 10*41701Ssklower * %sccs.include.redist.c% 11*41701Ssklower * 12*41701Ssklower * @(#)ccitt_proto.c 7.2 (Berkeley) 05/11/90 13*41701Ssklower */ 1441585Ssklower 1541585Ssklower #include "../h/param.h" 1641585Ssklower #include "../h/socket.h" 1741585Ssklower #include "../h/protosw.h" 1841585Ssklower #include "../h/domain.h" 1941585Ssklower #include "../netccitt/x25.h" 2041585Ssklower 2141585Ssklower /* 2241585Ssklower * Definitions of protocols supported in the CCITT domain. 2341585Ssklower */ 2441585Ssklower 2541585Ssklower #ifdef BSD4_3 2641585Ssklower extern struct domain ccittdomain; 2741585Ssklower #endif 2841585Ssklower 2941585Ssklower #ifdef XE 3041585Ssklower int xe_output (), xe_ctlinput (), xe_init(), xe_timer(); 3141585Ssklower #endif 3241585Ssklower #ifdef HDLC 3341585Ssklower int hd_output (), hd_ctlinput (), hd_init (), hd_timer (); 3441585Ssklower #endif 3541585Ssklower int pk_usrreq (), pk_timer (); 3641585Ssklower 3741585Ssklower struct protosw ccittsw[] = { 3841585Ssklower #ifdef XE 3941585Ssklower #ifdef BSD4_3 4041585Ssklower { 0, &ccittdomain, IEEEPROTO_802LLC,0, 4141585Ssklower #else 4241585Ssklower { 0, PF_CCITT, IEEEPROTO_802LLC,0, 4341585Ssklower #endif 4441585Ssklower 0, xe_output, xe_ctlinput, 0, 4541585Ssklower 0, 4641585Ssklower xe_init, 0, xe_timer, 0, 4741585Ssklower }, 4841585Ssklower #endif 4941585Ssklower #ifdef HDLC 5041585Ssklower #ifdef BSD4_3 5141585Ssklower { 0, &ccittdomain, CCITTPROTO_HDLC,0, 5241585Ssklower #else 5341585Ssklower { 0, PF_CCITT, CCITTPROTO_HDLC,0, 5441585Ssklower #endif 5541585Ssklower 0, hd_output, hd_ctlinput, 0, 5641585Ssklower 0, 5741585Ssklower hd_init, 0, hd_timer, 0, 5841585Ssklower }, 5941585Ssklower #endif 6041585Ssklower #ifdef BSD4_3 6141585Ssklower { SOCK_STREAM, &ccittdomain, CCITTPROTO_X25, PR_CONNREQUIRED|PR_ATOMIC|PR_WANTRCVD, 6241585Ssklower #else 6341585Ssklower { SOCK_STREAM, PF_CCITT, CCITTPROTO_X25, PR_CONNREQUIRED|PR_ATOMIC|PR_WANTRCVD, 6441585Ssklower #endif 6541585Ssklower 0, 0, 0, 0, 6641585Ssklower pk_usrreq, 6741585Ssklower 0, 0, pk_timer, 0, 6841585Ssklower } 6941585Ssklower }; 7041585Ssklower 7141585Ssklower struct domain ccittdomain = 7241585Ssklower #ifdef BSD4_3 7341585Ssklower { AF_CCITT, "ccitt", 0, 0, 0, ccittsw, 7441585Ssklower &ccittsw[sizeof(ccittsw)/sizeof(ccittsw[0])] }; 7541585Ssklower #else 7641585Ssklower { AF_CCITT, "ccitt", ccittsw, &ccittsw[sizeof(ccittsw)/sizeof(ccittsw[0])] }; 7741585Ssklower #endif 7841585Ssklower 79