]> git.proxmox.com Git - ovs.git/blame - lib/socket-util.h
ovs-ofctl: Fix dump-ports and queue-stats commands.
[ovs.git] / lib / socket-util.h
CommitLineData
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
25int set_nonblocking(int fd);
26int get_max_fds(void);
27int lookup_ip(const char *host_name, struct in_addr *address);
d31f1109 28int lookup_ipv6(const char *host_name, struct in6_addr *address);
064af421
BP
29int get_socket_error(int sock);
30int check_connection_completion(int fd);
31int drain_rcvbuf(int fd);
32void drain_fd(int fd, size_t n_packets);
33int make_unix_socket(int style, bool nonblock, bool passcred,
34 const char *bind_path, const char *connect_path);
35int get_unix_name_len(socklen_t sun_len);
dbba996b 36ovs_be32 guess_netmask(ovs_be32 ip);
a8b5f8b4 37int get_null_fd(void);
064af421 38
52f8a75e
BP
39bool inet_parse_active(const char *target, uint16_t default_port,
40 struct sockaddr_in *sinp);
4f2eb9a7 41int inet_open_active(int style, const char *target, uint16_t default_port,
78ff0270 42 struct sockaddr_in *sinp, int *fdp);
36775dad
BP
43int inet_open_passive(int style, const char *target, int default_port,
44 struct sockaddr_in *sinp);
78ff0270 45
064af421
BP
46int read_fully(int fd, void *, size_t, size_t *bytes_read);
47int write_fully(int fd, const void *, size_t, size_t *bytes_written);
48
8e71cf88 49int fsync_parent_dir(const char *file_name);
26efd256 50int get_mtime(const char *file_name, struct timespec *mtime);
8e71cf88 51
279c9e03
BP
52void xpipe(int fds[2]);
53
f89ffb0e
BP
54char *describe_fd(int fd);
55
064af421 56#endif /* socket-util.h */