libgpac
Documentation of the core library of GPAC
Loading...
Searching...
No Matches
symbian_net.cpp 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 <arpa/inet.h>
#include <gpac/network.h>

Data Structures

struct  GF_Socket
 abstracted socket object More...
 

Macros

#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
 

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_SOURCE = 1<<14
}
 

Functions

void gf_net_get_ntp (u32 *sec, u32 *frac)
 gets NTP time
 
u32 gf_net_has_ipv6 ()
 gets ipv6 support
 
GF_Err gf_sk_get_host_name (char *buffer)
 get local host name
 
GF_Err gf_sk_get_local_ip (GF_Socket *sock, char *buffer)
 get local IP
 
GF_Socket * gf_sk_new (u32 SocketType)
 socket constructor
 
GF_Err gf_sk_set_buffer_size (GF_Socket *sock, Bool SendBuffer, u32 NewSize)
 socket buffer size control
 
GF_Err gf_sk_set_block_mode (GF_Socket *sock, u32 NonBlockingOn)
 
static void gf_sk_gf_free (GF_Socket *sock)
 
void gf_sk_del (GF_Socket *sock)
 socket destructor
 
void gf_sk_reset (GF_Socket *sock)
 reset internal buffer
 
s32 gf_sk_get_handle (GF_Socket *sock)
 gets socket handle
 
GF_Err gf_sk_connect (GF_Socket *sock, char *PeerName, u16 PortNumber, char *local_ip)
 
GF_Err gf_sk_bind (GF_Socket *sock, char *local_ip, u16 port, char *peer_name, u16 peer_port, u32 options)
 
GF_Err gf_sk_send (GF_Socket *sock, char *buffer, u32 length)
 
GF_EXPORT u32 gf_sk_is_multicast_address (char *multi_IPAdd)
 
GF_Err gf_sk_setup_multicast (GF_Socket *sock, char *multi_IPAdd, u16 MultiPortNumber, u32 TTL, Bool NoBind, char *local_interface_ip)
 
GF_Err gf_sk_receive (GF_Socket *sock, char *buffer, u32 length, u32 startFrom, u32 *BytesRead)
 
GF_Err gf_sk_listen (GF_Socket *sock, u32 MaxConnection)
 socket listening
 
GF_Err gf_sk_accept (GF_Socket *sock, GF_Socket **newConnection)
 socket accept
 
GF_Err gf_sk_get_local_info (GF_Socket *sock, u16 *Port, u32 *Familly)
 get local info
 
GF_Err gf_sk_server_mode (GF_Socket *sock, Bool serverOn)
 server socket mode
 
GF_Err gf_sk_get_remote_address (GF_Socket *sock, char *buf)
 get remote address
 
GF_Err gf_sk_send_to (GF_Socket *sock, 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)
 
GF_Err gf_sk_send_wait (GF_Socket *sock, char *buffer, u32 length, u32 Second)
 

Data Structure Documentation

◆ __tag_socket

struct __tag_socket

abstracted socket object

The abstracted socket object allows you to build client and server applications very simply with support for unicast and multicast Available tools are socket and socket groups and some helper functions for network time

Data Fields
u32 flags
SOCKET socket
struct sockaddr_in dest_addr
u32 dest_addr_len
u32 usec_wait
NetCapInfo * cap_info

Macro Definition Documentation

◆ INVALID_SOCKET

#define INVALID_SOCKET   -1

◆ SOCKET_ERROR

#define SOCKET_ERROR   -1

◆ LASTSOCKERROR

#define LASTSOCKERROR   errno

◆ closesocket

#define closesocket (   v)    close(v)

◆ SSO_CAST

#define SSO_CAST   (const char *)

◆ SOCK_MICROSEC_WAIT

#define SOCK_MICROSEC_WAIT   500

Typedef Documentation

◆ SOCKET

typedef s32 SOCKET

Enumeration Type Documentation

◆ anonymous enum

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_SOURCE 

Function Documentation

◆ gf_sk_set_block_mode()

GF_Err gf_sk_set_block_mode ( GF_Socket *  sock,
u32  NonBlockingOn 
)

◆ gf_sk_gf_free()

static void gf_sk_gf_free ( GF_Socket *  sock)
static

◆ gf_sk_connect()

GF_Err gf_sk_connect ( GF_Socket *  sock,
char *  PeerName,
u16  PortNumber,
char *  local_ip 
)

◆ gf_sk_bind()

GF_Err gf_sk_bind ( GF_Socket *  sock,
char *  local_ip,
u16  port,
char *  peer_name,
u16  peer_port,
u32  options 
)

◆ gf_sk_send()

GF_Err gf_sk_send ( GF_Socket *  sock,
char *  buffer,
u32  length 
)

◆ gf_sk_is_multicast_address()

GF_EXPORT u32 gf_sk_is_multicast_address ( char *  multi_IPAdd)

◆ gf_sk_setup_multicast()

GF_Err gf_sk_setup_multicast ( GF_Socket *  sock,
char *  multi_IPAdd,
u16  MultiPortNumber,
u32  TTL,
Bool  NoBind,
char *  local_interface_ip 
)

◆ gf_sk_receive()

GF_Err gf_sk_receive ( GF_Socket *  sock,
char *  buffer,
u32  length,
u32  startFrom,
u32 BytesRead 
)

◆ gf_sk_send_to()

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

◆ gf_sk_receive_wait()

GF_Err gf_sk_receive_wait ( GF_Socket *  sock,
char *  buffer,
u32  length,
u32  startFrom,
u32 BytesRead,
u32  Second 
)

◆ gf_sk_send_wait()

GF_Err gf_sk_send_wait ( GF_Socket *  sock,
char *  buffer,
u32  length,
u32  Second 
)