DVBCore  22.3.0
Open Source DVB Engine
Classes | Macros | Typedefs | Functions
ci_glue_net.c File Reference

CI+ Glue - IP network functions. More...

#include <stdio.h>
#include <string.h>
#include <stdarg.h>
#include "techtype.h"
#include "dbgfuncs.h"
#include "stbhwos.h"
#include "stbci.h"
#include "stbhwnet.h"
#include "stbhwmem.h"

Classes

struct  network_connection
 

Macros

#define MAX_IP_CONNECTIONS   10
 
#define IP_TASK_STACK_SIZE   4096
 
#define IP_TASK_PRIORITY   9
 
#define IP_RECV_BUFFER_SIZE   65536
 
#define IP_RECV_TIMEOUT   500
 

Typedefs

typedef struct network_connection S_NETWORK_CONNECTION
 

Functions

void CIP_GlueNetInitialise (void)
 
U16BIT STB_CIGetMaxIPConnections (void)
 
void STB_CIOpenIPConnection (U32BIT module, S_STB_CI_IP_ADDR *addr, U16BIT port, E_STB_CI_IP_PROTOCOL protocol, U8BIT timeout)
 
void STB_CISendIPData (U32BIT module, U8BIT *buffer, U16BIT len)
 
void STB_CIReleaseIPData (U32BIT module, U8BIT *buffer)
 
void STB_CICloseIPConnection (U32BIT module)
 
void STB_CIGetCommsIPConfig (S_STB_CI_COMMS_IP_CONFIG *comms_ip_config)
 This function is called by the CI+ stack to find out the IP configuration information from the Host. The Host shall report on the primary adapter, i.e. the adapter currently used by the host for IP communication. The host should, in addition, use STB_CIGetCommsIPConfigDNSServersAtIndex() to obtain information about the DNS servers. More...
 
BOOLEAN STB_CIGetCommsIPConfigDNSServersAtIndex (U8BIT index, COMMS_IP_CONFIG_IP_ARRAY_T *DNS_server_to_populate)
 This function is called by the CI+ stack to find out the IP address of a configured DNS server. The Host shall report on the primary adapter, i.e. the adapter currently used by the host for IP communication. The CI+ stack should first call STB_CIGetCommsIPConfig() to know the exact number of configured DNS servers. After that it must query each DNS server address index from 0 up to (num_DNS_servers - 1). More...
 
BOOLEAN STB_CIOpenMulticastConnection (U32BIT module, S_STB_CI_MULTICAST_DESCRIPTOR *descriptor, U8BIT timeout)
 This function is called by the CI+ stack to open an multicast IP connection. If multicast is not supported this should return FALSE When the connection is opened, the host must call STB_CINotifyIPStatus with STB_CI_IP_STATUS_CONNECTED. If the connection attempt times out, the host must call STB_CINotifyIPStatus with STB_CI_IP_STATUS_TIMEOUT. If the host cannot open the connection, it must call STB_CINotifyIPStatus with STB_CI_IP_STATUS_DISCONNECTED. More...
 

Detailed Description

CI+ Glue - IP network functions.

Date
19 February 2009
Author
Omri Barel

Function Documentation

void STB_CIGetCommsIPConfig ( S_STB_CI_COMMS_IP_CONFIG *  comms_ip_config)

This function is called by the CI+ stack to find out the IP configuration information from the Host. The Host shall report on the primary adapter, i.e. the adapter currently used by the host for IP communication. The host should, in addition, use STB_CIGetCommsIPConfigDNSServersAtIndex() to obtain information about the DNS servers.

Parameters
comms_ip_configIP configuration information of the Host
BOOLEAN STB_CIGetCommsIPConfigDNSServersAtIndex ( U8BIT  index,
COMMS_IP_CONFIG_IP_ARRAY_T *  DNS_server_to_populate 
)

This function is called by the CI+ stack to find out the IP address of a configured DNS server. The Host shall report on the primary adapter, i.e. the adapter currently used by the host for IP communication. The CI+ stack should first call STB_CIGetCommsIPConfig() to know the exact number of configured DNS servers. After that it must query each DNS server address index from 0 up to (num_DNS_servers - 1).

Parameters
indexrelative index of the DNS server
DNS_server_to_populatebuffer where the IP should be copied
Returns
TRUE if the request DNS IP is correctly filled succeeded, FALSE otherwise
BOOLEAN STB_CIOpenMulticastConnection ( U32BIT  module,
S_STB_CI_MULTICAST_DESCRIPTOR *  descriptor,
U8BIT  timeout 
)

This function is called by the CI+ stack to open an multicast IP connection. If multicast is not supported this should return FALSE When the connection is opened, the host must call STB_CINotifyIPStatus with STB_CI_IP_STATUS_CONNECTED. If the connection attempt times out, the host must call STB_CINotifyIPStatus with STB_CI_IP_STATUS_TIMEOUT. If the host cannot open the connection, it must call STB_CINotifyIPStatus with STB_CI_IP_STATUS_DISCONNECTED.

Note
This function must not block
Parameters
modulelow-speed communication module
descriptorthe multicast descriptor, never NULL. data should be copied from this parameter if it is to be used after the call returns
timeouttimeout in seconds
Returns
FALSE if multicast is not supported