141701Ssklower /* 241701Ssklower * Copyright (c) University of British Columbia, 1984 341701Ssklower * Copyright (c) 1990 The Regents of the University of California. 441701Ssklower * All rights reserved. 541701Ssklower * 641701Ssklower * This code is derived from software contributed to Berkeley by 741701Ssklower * the Laboratory for Computation Vision and the Computer Science Department 841701Ssklower * of the University of British Columbia. 941701Ssklower * 1041701Ssklower * %sccs.include.redist.c% 1141701Ssklower * 12*42276Ssklower * @(#)ccitt_proto.c 7.3 (Berkeley) 05/22/90 1341701Ssklower */ 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; 27*42276Ssklower #define DOMAIN &ccittdomain 28*42276Ssklower #else 29*42276Ssklower #define DOMAIN PF_CCITT 3041585Ssklower #endif 3141585Ssklower 3241585Ssklower #ifdef XE 3341585Ssklower int xe_output (), xe_ctlinput (), xe_init(), xe_timer(); 3441585Ssklower #endif 3541585Ssklower #ifdef HDLC 3641585Ssklower int hd_output (), hd_ctlinput (), hd_init (), hd_timer (); 3741585Ssklower #endif 3841585Ssklower int pk_usrreq (), pk_timer (); 3941585Ssklower 4041585Ssklower struct protosw ccittsw[] = { 4141585Ssklower #ifdef XE 42*42276Ssklower { 0, DOMAIN, IEEEPROTO_802LLC,0, 4341585Ssklower 0, xe_output, xe_ctlinput, 0, 4441585Ssklower 0, 4541585Ssklower xe_init, 0, xe_timer, 0, 4641585Ssklower }, 4741585Ssklower #endif 4841585Ssklower #ifdef HDLC 49*42276Ssklower { 0, DOMAIN, CCITTPROTO_HDLC,0, 5041585Ssklower 0, hd_output, hd_ctlinput, 0, 5141585Ssklower 0, 5241585Ssklower hd_init, 0, hd_timer, 0, 5341585Ssklower }, 5441585Ssklower #endif 55*42276Ssklower { SOCK_STREAM, DOMAIN, CCITTPROTO_X25, PR_CONNREQUIRED|PR_ATOMIC|PR_WANTRCVD, 5641585Ssklower 0, 0, 0, 0, 5741585Ssklower pk_usrreq, 5841585Ssklower 0, 0, pk_timer, 0, 5941585Ssklower } 6041585Ssklower }; 6141585Ssklower 6241585Ssklower struct domain ccittdomain = 6341585Ssklower #ifdef BSD4_3 6441585Ssklower { AF_CCITT, "ccitt", 0, 0, 0, ccittsw, 6541585Ssklower &ccittsw[sizeof(ccittsw)/sizeof(ccittsw[0])] }; 6641585Ssklower #else 6741585Ssklower { AF_CCITT, "ccitt", ccittsw, &ccittsw[sizeof(ccittsw)/sizeof(ccittsw[0])] }; 6841585Ssklower #endif 69