File: tsunread.C

package info (click to toggle)
socket%2B%2B 1.12.13%2Bgit20131030.5d039ba-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 668 kB
  • sloc: cpp: 3,988; makefile: 116; sh: 22; ansic: 14
file content (51 lines) | stat: -rw-r--r-- 1,144 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
// tsunread.cc. Test for -*- C++ -*- socket library
// Copyright (C) 1992-1996 Gnanasekaran Swaminathan <gs4t@virginia.edu>
//
// Permission is granted to use at your own risk and distribute this software
// in source and  binary forms provided  the above copyright notice and  this
// paragraph are  preserved on all copies.  This software is provided "as is"
// with no express or implied warranty.
//
// Version: 12Jan97 1.11

#include <socket++/sockunix.h>
#include <unistd.h>
#include <errno.h>
#include <sys/stat.h>

using namespace std;

#if defined (__alpha) && defined (__DECCXX)
extern "C" int chmod (const char*, int);
#endif

int main(int ac, char** av)
{
	if (ac != 2) {
		cerr << "USAGE: " << av[0] << " socket_path_name\n";
		return 1;
	}
	
	sockunixbuf 	su (sockbuf::sock_stream);

	su.bind (av[1]);
	cout << "Socket name = " << av[1] << endl;

	if (chmod(av[1], 0777) == -1) {
		perror("chmod");
		return 1;
	}

	su.listen (3);
	iosockunix iosun (su.accept());
	
	char        buf[1024];
	
	iosun << av[0] << ' ' << av[1] << endl;

	while ( iosun >> buf ) cout << av[0] << ": " << buf << endl;
		
	unlink (av[1]);
	return 0;
}