Robot Agent  1.0
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
udp.h
Go to the documentation of this file.
1 
12 #ifndef __UDP_H
13 #define __UDP_H
14 
15 /* -- Includes -- */
16 /* system libraries */
17 #include <arpa/inet.h>
18 #include <netinet/in.h>
19 #include <sys/types.h>
20 #include <sys/socket.h>
21 #include <unistd.h>
22 
23 /* -- Types -- */
24 
28 typedef struct s_UDP_STRUCT
29 {
30  // Socket address
31  struct sockaddr_in sock_send;
32  struct sockaddr_in sock_recv;
33  struct sockaddr_in sock_conn;
34 
35  //
36  socklen_t sock_conn_len;
37 
38  // Socket descriptors
39  int sd_send;
40  int sd_recv;
41 
42  // UDP settings
43  char broadcast_ip[16];
44  int port;
46 
47 
48 } udp_t;
49 
50 /* -- Constants -- */
51 
52 /* -- Function Prototypes -- */
53 
54 int udp_init_broadcast(udp_t *udp);
55 int udp_init_receive(udp_t *udp);
56 udp_t *udp_open(char *broadcast_ip, int port, int packet_size); // Open UDP broadcast and recieve sockets
57 int udp_close(udp_t *udp); // Deinitialize UDP
58 int udp_broadcast(udp_t *udp, char *packet, int len); // Broadcast packet through UDP
59 int udp_receive(udp_t *udp, char *packet, int *len); // Receive packet through UDP
60 
61 
62 
63  #endif /* __UDP_H */
char broadcast_ip[16]
Definition: udp.h:43
int udp_receive(udp_t *udp, char *packet, int *len)
Definition: udp.c:178
int udp_close(udp_t *udp)
Definition: udp.c:130
struct sockaddr_in sock_recv
Definition: udp.h:32
int sd_recv
Definition: udp.h:40
int port
Definition: udp.h:44
int sd_send
Definition: udp.h:39
struct sockaddr_in sock_send
Definition: udp.h:31
socklen_t sock_conn_len
Definition: udp.h:36
struct s_UDP_STRUCT udp_t
UDP structure.
UDP structure.
Definition: udp.h:28
int udp_init_broadcast(udp_t *udp)
Definition: udp.c:36
struct sockaddr_in sock_conn
Definition: udp.h:33
int packet_size
Definition: udp.h:45
int udp_broadcast(udp_t *udp, char *packet, int len)
Definition: udp.c:159
udp_t * udp_open(char *broadcast_ip, int port, int packet_size)
Definition: udp.c:105
int udp_init_receive(udp_t *udp)
Definition: udp.c:72