libIEC61850
0.8.2
Open-source IEC 61850 MMS/GOOSE server and client library
Main Page
Modules
Classes
Files
File List
File Members
All
Classes
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Groups
Pages
hal
inc
hal_socket.h
Go to the documentation of this file.
1
/*
2
* socket_hal.h
3
*
4
* Copyright 2013, 2014 Michael Zillgith
5
*
6
* This file is part of libIEC61850.
7
*
8
* libIEC61850 is free software: you can redistribute it and/or modify
9
* it under the terms of the GNU General Public License as published by
10
* the Free Software Foundation, either version 3 of the License, or
11
* (at your option) any later version.
12
*
13
* libIEC61850 is distributed in the hope that it will be useful,
14
* but WITHOUT ANY WARRANTY; without even the implied warranty of
15
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
* GNU General Public License for more details.
17
*
18
* You should have received a copy of the GNU General Public License
19
* along with libIEC61850. If not, see <http://www.gnu.org/licenses/>.
20
*
21
* See COPYING file for the complete license text.
22
*/
23
24
#ifndef SOCKET_HAL_H_
25
#define SOCKET_HAL_H_
26
27
#include <stdint.h>
28
#include <stdbool.h>
29
30
#ifdef __cplusplus
31
extern
"C"
{
32
#endif
33
49
typedef
struct
sServerSocket*
ServerSocket
;
50
52
typedef
struct
sSocket*
Socket
;
53
55
typedef
struct
sHandleSet*
HandleSet
;
56
57
HandleSet
58
Handleset_new
(
void
);
59
60
void
61
Handleset_addSocket
(HandleSet
self
,
const
Socket sock);
62
63
int
64
Handleset_waitReady
(HandleSet
self
,
unsigned
int
timeoutMs);
65
66
void
67
Handleset_destroy
(HandleSet
self
);
68
79
ServerSocket
80
TcpServerSocket_create
(
const
char
* address,
int
port);
81
82
83
void
84
ServerSocket_listen
(ServerSocket
self
);
85
100
Socket
101
ServerSocket_accept
(ServerSocket
self
);
102
103
113
void
114
ServerSocket_setBacklog
(ServerSocket
self
,
int
backlog);
115
125
void
126
ServerSocket_destroy
(ServerSocket
self
);
127
135
Socket
136
TcpSocket_create
(
void
);
137
144
void
145
Socket_setConnectTimeout
(Socket
self
, uint32_t timeoutInMs);
146
165
bool
166
Socket_connect
(Socket
self
,
const
char
* address,
int
port);
167
184
int
185
Socket_read
(Socket
self
, uint8_t* buf,
int
size);
186
196
int
197
Socket_write
(Socket
self
, uint8_t* buf,
int
size);
198
210
char
*
211
Socket_getPeerAddress
(Socket
self
);
212
223
void
224
Socket_destroy
(Socket
self
);
225
230
#ifdef __cplusplus
231
}
232
#endif
233
234
#endif
/* SOCKET_HAL_H_ */
Generated on Tue Nov 25 2014 15:20:11 for libIEC61850 by
1.8.4