My Project
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros
communication.h
Go to the documentation of this file.
1 /*
2 START OF LICENSE STUB
3  DeDOS: Declarative Dispersion-Oriented Software
4  Copyright (C) 2017 University of Pennsylvania, Georgetown University
5 
6  This program is free software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program. If not, see <http://www.gnu.org/licenses/>.
18 END OF LICENSE STUB
19 */
25 #ifndef COMMUNICATION_H
26 #define COMMUNICATION_H
27 
28 #include <unistd.h>
29 #include <stdbool.h>
30 #include <netinet/ip.h>
31 
41 int read_payload(int fd, size_t size, void *buff);
42 
51 ssize_t send_to_endpoint(int fd, void *data, size_t data_len);
52 
59 int init_bound_socket(int port);
60 
67 int init_listening_socket(int port);
68 
76 int init_connected_socket(struct sockaddr_in *addr);
77 
78 #endif
ssize_t send_to_endpoint(int fd, void *data, size_t data_len)
Writes a buffer of a given size to a file descriptor.
Definition: communication.c:66
int init_bound_socket(int port)
Initializes a socket which is bound to a given port (and any local IP address).
int init_listening_socket(int port)
Initializes a socket which is bound to and listening on the given port.
int init_connected_socket(struct sockaddr_in *addr)
Initializes a socket that is connected to a given address.
Definition: communication.c:81
int read_payload(int fd, size_t size, void *buff)
Reads a buffer of a given size from a file descriptor.
Definition: communication.c:37