]>
Commit | Line | Data |
---|---|---|
064af421 | 1 | /* |
279c9e03 | 2 | * Copyright (c) 2008, 2009, 2010, 2011 Nicira Networks. |
064af421 | 3 | * |
a14bc59f BP |
4 | * Licensed under the Apache License, Version 2.0 (the "License"); |
5 | * you may not use this file except in compliance with the License. | |
6 | * You may obtain a copy of the License at: | |
064af421 | 7 | * |
a14bc59f BP |
8 | * http://www.apache.org/licenses/LICENSE-2.0 |
9 | * | |
10 | * Unless required by applicable law or agreed to in writing, software | |
11 | * distributed under the License is distributed on an "AS IS" BASIS, | |
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
13 | * See the License for the specific language governing permissions and | |
14 | * limitations under the License. | |
064af421 BP |
15 | */ |
16 | ||
17 | #ifndef SOCKET_UTIL_H | |
18 | #define SOCKET_UTIL_H 1 | |
19 | ||
20 | #include <sys/types.h> | |
21 | #include <netinet/in.h> | |
22 | #include <stdbool.h> | |
dbba996b | 23 | #include "openvswitch/types.h" |
064af421 BP |
24 | |
25 | int set_nonblocking(int fd); | |
26 | int get_max_fds(void); | |
27 | int lookup_ip(const char *host_name, struct in_addr *address); | |
d31f1109 | 28 | int lookup_ipv6(const char *host_name, struct in6_addr *address); |
064af421 BP |
29 | int get_socket_error(int sock); |
30 | int check_connection_completion(int fd); | |
31 | int drain_rcvbuf(int fd); | |
32 | void drain_fd(int fd, size_t n_packets); | |
33 | int make_unix_socket(int style, bool nonblock, bool passcred, | |
34 | const char *bind_path, const char *connect_path); | |
35 | int get_unix_name_len(socklen_t sun_len); | |
dbba996b | 36 | ovs_be32 guess_netmask(ovs_be32 ip); |
a8b5f8b4 | 37 | int get_null_fd(void); |
064af421 | 38 | |
52f8a75e BP |
39 | bool inet_parse_active(const char *target, uint16_t default_port, |
40 | struct sockaddr_in *sinp); | |
4f2eb9a7 | 41 | int inet_open_active(int style, const char *target, uint16_t default_port, |
78ff0270 | 42 | struct sockaddr_in *sinp, int *fdp); |
36775dad BP |
43 | int inet_open_passive(int style, const char *target, int default_port, |
44 | struct sockaddr_in *sinp); | |
78ff0270 | 45 | |
064af421 BP |
46 | int read_fully(int fd, void *, size_t, size_t *bytes_read); |
47 | int write_fully(int fd, const void *, size_t, size_t *bytes_written); | |
48 | ||
8e71cf88 | 49 | int fsync_parent_dir(const char *file_name); |
26efd256 | 50 | int get_mtime(const char *file_name, struct timespec *mtime); |
8e71cf88 | 51 | |
279c9e03 BP |
52 | void xpipe(int fds[2]); |
53 | ||
f89ffb0e BP |
54 | char *describe_fd(int fd); |
55 | ||
064af421 | 56 | #endif /* socket-util.h */ |