Jack2
1.9.8
Main Page
Related Pages
Modules
Classes
Files
File List
File Members
posix
JackSocket.h
1
/*
2
Copyright (C) 2004-2008 Grame
3
4
This program is free software; you can redistribute it and/or modify
5
it under the terms of the GNU Lesser General Public License as published by
6
the Free Software Foundation; either version 2.1 of the License, or
7
(at your option) any later version.
8
9
This program is distributed in the hope that it will be useful,
10
but WITHOUT ANY WARRANTY; without even the implied warranty of
11
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
GNU Lesser General Public License for more details.
13
14
You should have received a copy of the GNU Lesser General Public License
15
along with this program; if not, write to the Free Software
16
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
17
18
*/
19
20
#ifndef __JackSocket__
21
#define __JackSocket__
22
23
#include <sys/types.h>
24
#include <sys/un.h>
25
#include <sys/socket.h>
26
#include <sys/ioctl.h>
27
#include <sys/time.h>
28
#include <arpa/inet.h>
29
#include <errno.h>
30
#include <unistd.h>
31
32
namespace
Jack
33
{
34
39
class
JackClientSocket
40
{
41
42
private
:
43
44
int
fSocket;
45
int
fTimeOut;
46
47
public
:
48
49
JackClientSocket
(): fSocket( -1),fTimeOut(0)
50
{}
51
JackClientSocket
(
int
socket);
52
53
int
Connect(
const
char
* dir,
const
char
* name,
int
which);
54
int
Close();
55
int
Read(
void
* data,
int
len);
56
int
Write(
void
* data,
int
len);
57
int
GetFd()
58
{
59
return
fSocket;
60
}
61
void
SetReadTimeOut(
long
sec);
62
void
SetWriteTimeOut(
long
sec);
63
64
void
SetNonBlocking(
bool
onoff);
65
};
66
71
#define SOCKET_MAX_NAME_SIZE 256
72
73
74
class
JackServerSocket
75
{
76
77
private
:
78
79
int
fSocket;
80
char
fName[SOCKET_MAX_NAME_SIZE];
81
82
public
:
83
84
JackServerSocket
(): fSocket( -1)
85
{}
86
~
JackServerSocket
()
87
{}
88
89
int
Bind(
const
char
* dir,
const
char
* name,
int
which);
90
JackClientSocket
* Accept();
91
int
Close();
92
int
GetFd()
93
{
94
return
fSocket;
95
}
96
};
97
98
}
// end of namespace
99
100
#endif
101
Generated by
1.8.2