74 lines
1.9 KiB
C
74 lines
1.9 KiB
C
/**************************
|
|
* Network Common Depend. *
|
|
***************************
|
|
* Designed & Developed by *
|
|
* Adrien Marquès *
|
|
* <xdrm-brackets> *
|
|
***************************
|
|
* doowap31@gmail.com *
|
|
**************************/
|
|
|
|
#ifndef _LIB_NETWORK_COMMON_H_
|
|
#define _LIB_NETWORK_COMMON_H_
|
|
|
|
#include "../header.h"
|
|
#include <ifaddrs.h>
|
|
|
|
|
|
/* Retourne l'adresse IP du serveur (première interface excepté "lo")
|
|
*
|
|
* @history
|
|
* [0] Initialisation des variables
|
|
* [1] On récupère la liste des interfaces
|
|
* [2] Parcourt des interfaces
|
|
* 1. Si "lo" -> suivant
|
|
* 2. Si pas IPV4 -> suivant
|
|
* 3. Si ok, on retourne l'ip
|
|
* [3] Cas échéant -> aucun résultat (NULL)
|
|
*
|
|
*/
|
|
struct in_addr* GET_LOCAL_IP();
|
|
|
|
|
|
|
|
|
|
#define TIMEOUT_RECV 0x01
|
|
#define TIMEOUT_SEND 0x02
|
|
/* Définit un timeout pour une socket données
|
|
*
|
|
* @in
|
|
* pSocket<int> Socket à modifier
|
|
* pSec<const time_t> Valeur en seconde du timeout
|
|
* pFlags<char> Si RECV et/ou SEND
|
|
*
|
|
* @out
|
|
* -1 en cas d'échec
|
|
* 0 sinon
|
|
*
|
|
* @history
|
|
* [1] Initialisation des variables
|
|
* [2] On applique le timeout à la socket
|
|
*
|
|
*/
|
|
int setTimeout(int pSocket, const time_t pSec, char pFlags);
|
|
|
|
|
|
|
|
/* Vérifie si un groupe multicast est déja utilisé
|
|
*
|
|
* @in
|
|
* pAddr<in_addr_t> Adresse du groupe multicast
|
|
*
|
|
* @out
|
|
* -1 en cas d'échec
|
|
* 0 sinon
|
|
*
|
|
* @history
|
|
* [1] Initialisation des variables
|
|
* [2] On Vérifie si le groupe a du traffic
|
|
*
|
|
*/
|
|
int checkMulticastGroup(in_addr_t pAddr);
|
|
|
|
|
|
#endif |