- strcpy(filename,argv[2]);
- strcpy(ProgName,argv[2]);
-
- strcpy(mynname,argv[1]);
- strcat(mynname,".net");
- unlink(mynname);
- sock = socket(AF_UNIX,SOCK_STREAM,0);
- bzero(&svr, sizeof(svr));
- svr.sun_family = AF_UNIX;
- strcpy(svr.sun_path,mynname);
- len = strlen(svr.sun_path)+sizeof(svr.sun_family);
- bind(sock,(struct sockaddr*)&svr, len);
- listen(sock,5);
-
-
- /* socket for graphic requests */
- strcpy(mygname,argv[1]);
- strcat(mygname,".gr");
- unlink(mygname);
-
-
- /* socket for KERNEL communication */
- internal_sock = socket(AF_UNIX,SOCK_STREAM,0);
- bzero(&svr, sizeof(svr));
- svr.sun_family = AF_UNIX;
- strcpy(svr.sun_path,argv[1]);
- strcpy(mykname,argv[1]);
- len = strlen(svr.sun_path)+sizeof(svr.sun_family);
- i=connect(internal_sock,(struct sockaddr*)&svr,len);
-
- if (i==0)
- {
- fcntl(internal_sock,F_SETFL, O_NONBLOCK|fcntl(internal_sock,F_GETFL,0));
- }
- else
- while (i!=0)
- {
- close(internal_sock);
- internal_sock = socket(AF_UNIX,SOCK_STREAM,0);
- fcntl(internal_sock,F_SETFL, O_NONBLOCK|fcntl(internal_sock,F_GETFL,0));
- i=connect(internal_sock,(struct sockaddr*)&svr,len);
- }
- on=1;
- setsockopt(internal_sock,IPPROTO_TCP,TCP_NODELAY,(char*)&on,sizeof(on));
-
- /* socket for network requests */
- FD_ZERO(&rset);FD_ZERO(&wset);
- FD_SET(sock,&rset);
- if (select(sock+1,&rset,&wset,0,0))
- net_sock = accept(sock,(struct sockaddr*)0,(int *)0);
- if (net_sock>0)
- {
- fcntl(net_sock,F_SETFL,O_NONBLOCK|fcntl(net_sock,F_GETFL,0));
- setsockopt(net_sock,IPPROTO_TCP,TCP_NODELAY,(char*)&on,sizeof(on));
-
- }
- close(sock);
-
- if( filename!=NULL )
- load(filename); /* load code and prototypes */
- else
- usage();
+ strcpy(filename, argv[2]);
+ strcpy(ProgName, argv[2]);
+
+ strcpy(mynname, argv[1]);
+ strcat(mynname, ".net");
+ unlink(mynname);
+ sock = socket(AF_UNIX, SOCK_STREAM, 0);
+ bzero(&svr, sizeof(svr));
+ svr.sun_family = AF_UNIX;
+ strcpy(svr.sun_path, mynname);
+ len = strlen(svr.sun_path) + sizeof(svr.sun_family);
+ fprintf(stderr, "logint: Binding to socket: %s\n", svr.sun_path);
+ bind(sock, (struct sockaddr*)&svr, len);
+ listen(sock, 5);
+
+
+ /* socket for graphic requests */
+ strcpy(mygname, argv[1]);
+ strcat(mygname, ".gr");
+ unlink(mygname);
+
+ /* socket for KERNEL communication */
+ internal_sock = socket(AF_UNIX, SOCK_STREAM, 0);
+ bzero(&svr, sizeof(svr));
+ svr.sun_family = AF_UNIX;
+ strcpy(svr.sun_path, argv[1]);
+ strcpy(mykname, argv[1]);
+ len = strlen(svr.sun_path) + sizeof(svr.sun_family);
+ fprintf(stderr, "logint: Connecting to socket: %s\n", svr.sun_path);
+ i = connect(internal_sock, (struct sockaddr*)&svr, len);
+
+ if (i==0) {
+ fcntl(internal_sock,F_SETFL, O_NONBLOCK |
+ fcntl(internal_sock,F_GETFL,0));
+ }
+ else {
+ while (i!=0) {
+ close(internal_sock);
+ internal_sock = socket(AF_UNIX, SOCK_STREAM, 0);
+ fcntl(internal_sock, F_SETFL, O_NONBLOCK |
+ fcntl(internal_sock, F_GETFL, 0));
+ i = connect(internal_sock, (struct sockaddr*)&svr, len);
+ }
+ }
+ on = 1;
+ setsockopt(internal_sock, IPPROTO_TCP, TCP_NODELAY, (char*)&on,
+ sizeof(on));
+
+ /* socket for network requests */
+ FD_ZERO(&rset);
+ FD_ZERO(&wset);
+ FD_SET(sock, &rset);
+ if (select(sock + 1, &rset, &wset, 0, 0))
+ net_sock = accept(sock, (struct sockaddr*)0, (int *)0);
+
+ if (net_sock > 0) {
+ fcntl(net_sock, F_SETFL, O_NONBLOCK |
+ fcntl(net_sock, F_GETFL, 0));
+ setsockopt(net_sock, IPPROTO_TCP, TCP_NODELAY, (char*)&on,
+ sizeof(on));
+
+ }
+ close(sock);
+
+ /* load code and prototypes */
+ if (filename != NULL) {
+ fprintf(stderr, "logint: loading code: %s\n", filename);
+ load(filename);
+ }
+ else {
+ usage();
+ }