xref: /csrg-svn/contrib/usr.x25/x25accton.c (revision 48848)
145189Ssklower /*
2*48848Ssklower  * Copyright (c) 1990 The Regents of the University of California.
3*48848Ssklower  * All rights reserved.
4*48848Ssklower  *
5*48848Ssklower  * %sccs.include.redist.c%
6*48848Ssklower  *
7*48848Ssklower  *	@(#)x25accton.c	5.2 (Berkeley) 04/29/91
8*48848Ssklower  */
9*48848Ssklower #include <sys/param.h>
10*48848Ssklower #include <sys/socket.h>
11*48848Ssklower #include <netccitt/x25.h>
12*48848Ssklower /*
1345189Ssklower  * Enable or disable X.25 accounting.
1445189Ssklower  */
1545189Ssklower 
main(argc,argv)1645189Ssklower main(argc, argv)
1745189Ssklower 	char **argv;
1845189Ssklower {
1945189Ssklower 	if (x25acct(argc > 1 ? argv[1] : (char *)0) < 0) {
2045189Ssklower 		perror(argv[0]);
2145189Ssklower 		exit(1);
2245189Ssklower 	}
2345189Ssklower 	exit(0);
2445189Ssklower }
x25acct(name)25*48848Ssklower x25acct(name)
26*48848Ssklower char *name;
27*48848Ssklower {
28*48848Ssklower 	int s = socket(AF_CCITT, SOCK_STREAM, 0);
29*48848Ssklower 
30*48848Ssklower 	if (s < 0)
31*48848Ssklower 		return (s);
32*48848Ssklower 	if (name)
33*48848Ssklower 		return (setsockopt(s, CCITTPROTO_X25, PK_ACCTFILE,
34*48848Ssklower 			name, strlen(name) + 1));
35*48848Ssklower 	else
36*48848Ssklower 		return (setsockopt(s, CCITTPROTO_X25, PK_ACCTFILE,
37*48848Ssklower 			(char *)&name, 0));
38*48848Ssklower 
39*48848Ssklower }
40