GPAC
Open Source Multimedia Framework. For more information, check out http://gpac.wp.mines-telecom.fr
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups
os_net.c File Reference
#include <unistd.h>
#include <fcntl.h>
#include <netdb.h>
#include <errno.h>
#include <sys/time.h>
#include <netinet/in.h>
#include <netinet/tcp.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <arpa/inet.h>
#include <gpac/network.h>
#include <assert.h>
+ Include dependency graph for os_net.c:

Data Structures

struct  GF_Socket
 abstracted socket object More...
 

Macros

#define INADDR_NONE   ((unsigned long)-1)
 
#define INVALID_SOCKET   -1
 
#define SOCKET_ERROR   -1
 
#define LASTSOCKERROR   errno
 
#define closesocket(v)   close(v)
 
#define SSO_CAST   (const char *)
 
#define SOCK_MICROSEC_WAIT   500
 
#define NULL_SOCKET   (SOCKET)NULL
 

Typedefs

typedef s32 SOCKET
 

Enumerations

enum  {
  GF_SOCK_IS_TCP = 1<<9, GF_SOCK_IS_IPV6 = 1<<10, GF_SOCK_NON_BLOCKING = 1<<11, GF_SOCK_IS_MULTICAST = 1<<12,
  GF_SOCK_IS_LISTENING = 1<<13, GF_SOCK_HAS_PEER = 1<<14, GF_SOCK_IS_MIP = 1<<15
}
 

Functions

void gf_net_mobileip_set_callback (gf_net_mobileip_ctrl_cbk _mobip_cbk, const char *mip)
 Assigns MobileIP callback. More...
 
static GF_Err gf_net_mobileip_ctrl (Bool start)
 
u32 gf_net_has_ipv6 ()
 gets ipv6 support More...
 
Bool gf_net_is_ipv6 (const char *address)
 checks address type More...
 
GF_Err gf_sk_get_host_name (char *buffer)
 get local host name More...
 
GF_Err gf_sk_get_local_ip (GF_Socket *sock, char *buffer)
 get local IP More...
 
GF_Socket * gf_sk_new (u32 SocketType)
 socket constructor More...
 
GF_Err gf_sk_set_buffer_size (GF_Socket *sock, Bool SendBuffer, u32 NewSize)
 socket buffer size control More...
 
GF_Err gf_sk_set_block_mode (GF_Socket *sock, Bool NonBlockingOn)
 blocking mode control More...
 
static void gf_sk_free (GF_Socket *sock)
 
void gf_sk_del (GF_Socket *sock)
 socket destructor More...
 
void gf_sk_reset (GF_Socket *sock)
 reset internal buffer More...
 
s32 gf_sk_get_handle (GF_Socket *sock)
 gets socket handle More...
 
GF_Err gf_sk_connect (GF_Socket *sock, const char *PeerName, u16 PortNumber, const char *local_ip)
 connects a socket More...
 
GF_Err gf_sk_bind (GF_Socket *sock, const char *local_ip, u16 port, const char *peer_name, u16 peer_port, u32 options)
 socket binding More...
 
GF_Err gf_sk_send (GF_Socket *sock, const char *buffer, u32 length)
 data emission More...
 
u32 gf_sk_is_multicast_address (const char *multi_IPAdd)
 
GF_Err gf_sk_setup_multicast (GF_Socket *sock, const char *multi_IPAdd, u16 MultiPortNumber, u32 TTL, Bool NoBind, char *local_interface_ip)
 multicast setup More...
 
GF_Err gf_sk_receive (GF_Socket *sock, char *buffer, u32 length, u32 startFrom, u32 *BytesRead)
 data reception More...
 
GF_Err gf_sk_listen (GF_Socket *sock, u32 MaxConnection)
 socket listening More...
 
GF_Err gf_sk_accept (GF_Socket *sock, GF_Socket **newConnection)
 socket accept More...
 
GF_Err gf_sk_get_local_info (GF_Socket *sock, u16 *Port, u32 *Familly)
 get local info More...
 
GF_Err gf_sk_server_mode (GF_Socket *sock, Bool serverOn)
 server socket mode More...
 
GF_Err gf_sk_get_remote_address (GF_Socket *sock, char *buf)
 get remote address More...
 
GF_Err gf_sk_send_to (GF_Socket *sock, const char *buffer, u32 length, char *remoteHost, u16 remotePort)
 
GF_Err gf_sk_receive_wait (GF_Socket *sock, char *buffer, u32 length, u32 startFrom, u32 *BytesRead, u32 Second)
 receive data with wait delay More...
 
GF_Err gf_sk_send_wait (GF_Socket *sock, const char *buffer, u32 length, u32 Second)
 send data with wait delay More...
 

Variables

static gf_net_mobileip_ctrl_cbk mobip_cbk = 0
 
static const char * MobileIPAdd = 0
 

Data Structure Documentation

struct __tag_socket

The abstracted socket object allows you to build client and server applications very simply with support for unicast and multicast (no IPv6 yet)

+ Collaboration diagram for GF_Socket:
Data Fields
u32 flags
SOCKET socket
struct sockaddr_in dest_addr
u32 dest_addr_len

Macro Definition Documentation

#define INADDR_NONE   ((unsigned long)-1)
#define INVALID_SOCKET   -1
#define SOCKET_ERROR   -1
#define LASTSOCKERROR   errno
#define closesocket (   v)    close(v)
#define SSO_CAST   (const char *)
#define SOCK_MICROSEC_WAIT   500
#define NULL_SOCKET   (SOCKET)NULL

Typedef Documentation

typedef s32 SOCKET

Enumeration Type Documentation

anonymous enum
Enumerator
GF_SOCK_IS_TCP 
GF_SOCK_IS_IPV6 
GF_SOCK_NON_BLOCKING 
GF_SOCK_IS_MULTICAST 
GF_SOCK_IS_LISTENING 
GF_SOCK_HAS_PEER 
GF_SOCK_IS_MIP 

Function Documentation

static GF_Err gf_net_mobileip_ctrl ( Bool  start)
static

+ Here is the caller graph for this function:

static void gf_sk_free ( GF_Socket *  sock)
static

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err gf_sk_send_to ( GF_Socket *  sock,
const char *  buffer,
u32  length,
char *  remoteHost,
u16  remotePort 
)

Variable Documentation

gf_net_mobileip_ctrl_cbk mobip_cbk = 0
static
const char* MobileIPAdd = 0
static