libosmocore  0.9.6-9.20170220git32ee5af8.fc30
Osmocom core library
socket.h
Go to the documentation of this file.
1 #pragma once
2 
11 #include <stdint.h>
12 
13 struct sockaddr;
14 struct osmo_fd;
15 
16 /* flags for osmo_sock_init. */
18 #define OSMO_SOCK_F_CONNECT (1 << 0)
19 
20 #define OSMO_SOCK_F_BIND (1 << 1)
21 
22 #define OSMO_SOCK_F_NONBLOCK (1 << 2)
23 
24 int osmo_sock_init(uint16_t family, uint16_t type, uint8_t proto,
25  const char *host, uint16_t port, unsigned int flags);
26 
27 int osmo_sock_init_ofd(struct osmo_fd *ofd, int family, int type, int proto,
28  const char *host, uint16_t port, unsigned int flags);
29 
30 int osmo_sock_init_sa(struct sockaddr *ss, uint16_t type,
31  uint8_t proto, unsigned int flags);
32 
33 int osmo_sockaddr_is_local(struct sockaddr *addr, unsigned int addrlen);
34 
35 int osmo_sock_unix_init(uint16_t type, uint8_t proto,
36  const char *socket_path, unsigned int flags);
37 
38 int osmo_sock_unix_init_ofd(struct osmo_fd *ofd, uint16_t type, uint8_t proto,
39  const char *socket_path, unsigned int flags);
40 
41 char *osmo_sock_get_name(void *ctx, int fd);
42 
int osmo_sock_init_ofd(struct osmo_fd *ofd, int family, int type, int proto, const char *host, uint16_t port, unsigned int flags)
Initialize a socket and fill osmo_fd.
Definition: socket.c:206
int osmo_sock_init(uint16_t family, uint16_t type, uint8_t proto, const char *host, uint16_t port, unsigned int flags)
Initialize a socket (including bind/connect)
Definition: socket.c:67
int osmo_sock_init_sa(struct sockaddr *ss, uint16_t type, uint8_t proto, unsigned int flags)
Initialize a socket and fill sockaddr.
Definition: socket.c:222
int osmo_sockaddr_is_local(struct sockaddr *addr, unsigned int addrlen)
Determine if the given address is a local address.
Definition: socket.c:291
char * osmo_sock_get_name(void *ctx, int fd)
Get address/port information on soocket in dyn-alloc string.
Definition: socket.c:406
int osmo_sock_unix_init(uint16_t type, uint8_t proto, const char *socket_path, unsigned int flags)
Initialize a unix domain socket (including bind/connect)
Definition: socket.c:322
Structure representing a file dsecriptor.
Definition: select.h:22
int osmo_sock_unix_init_ofd(struct osmo_fd *ofd, uint16_t type, uint8_t proto, const char *socket_path, unsigned int flags)
Initialize a unix domain socket and fill osmo_fd.
Definition: socket.c:395
int fd
Definition: select.h:26