73 lines
3.0 KiB
C
Executable File
73 lines
3.0 KiB
C
Executable File
/**************************************************************************/
|
|
/* */
|
|
/* P2 - MI amb sockets TCP/IP - Part II */
|
|
/* Fitxer capçalera de lumi.c */
|
|
/* */
|
|
/* Autors: Marc Cané Salamià, Enric Rodríguez Galán */
|
|
/* */
|
|
/**************************************************************************/
|
|
|
|
#define UDP_PORT 7189
|
|
#define IP_LENGTH 16
|
|
#define MAX_USER_NICK 20
|
|
#define MAX_MISSATGE_PLUMI 150
|
|
#define MAX_LEN_DOMINI 100
|
|
#define MAX_PORT 65535
|
|
#define INTENTS 5
|
|
|
|
#define MAX_NOM_FITXER 100
|
|
#define NOM_FITXER_NODE "MIp2-nodelumi-"
|
|
#define NOM_FITXER_CONFIG "MIp2-nodelumi.cfg"
|
|
#define NOM_FITXER_AGENT "MIp2-agelumi-"
|
|
#define EXT_FITXER_LOG ".log"
|
|
|
|
/* Declaració de funcions externes de lumi.c, és a dir, d'aquelles que es */
|
|
/* faran servir en un altre fitxer extern, p.e., MIp2-p2p.c, */
|
|
/* MIp2-nodelumi.c, o MIp2-agelumic.c. El fitxer extern farà un #include */
|
|
/* del fitxer .h a l'inici, i així les funcions seran conegudes en ell. */
|
|
/* En termes de capes de l'aplicació, aquest conjunt de funcions externes */
|
|
/* formen la interfície de la capa LUMI. */
|
|
/* Les funcions externes les heu de dissenyar vosaltres... */
|
|
//int LUMI_FuncioExterna(arg1, arg2...);
|
|
|
|
struct usuari;
|
|
|
|
int LUMI_Fitxer_Log;
|
|
|
|
void LUMI_MostraError(const char *text);
|
|
|
|
int LUMI_ComprovarFormat(const char * buffer);
|
|
|
|
int LUMI_DescodificarAdreca(const char * adr, char * nickname, char * domini);
|
|
|
|
int LUMI_ResolNomFitxerLog(char tipus, char * fitxer_log, const char * buffer);
|
|
|
|
int LUMI_RepLiniaDe(int Sck, char * IPrem, int * portUDP, char * buffer, int mida_buffer);
|
|
|
|
int LUMI_EnviaFiable(int Sck, const char * Missatge, char * resposta, int timeout);
|
|
|
|
int LUMI_EnviaLiniaA(int Sck, const char * IP, int portUDPrem, const char * buffer);
|
|
|
|
int LUMI_EnviaPeticioRegistre(int Sck, char * adrLUMI);
|
|
|
|
int LUMI_EnviaPeticioDesregistre(int Sck);
|
|
|
|
int LUMI_EnviaResposta(int Sck, char tipus, const char * adrLUMI, const char * IP, int portUDPrem);
|
|
|
|
int LUMI_EnviaPeticioLocalitzacio(int Sck, const char * adrLUMIloc, const char * adrLUMIrem, char * IPlocalitzat, int * portTCP);
|
|
|
|
int LUMI_EnviaPeticioServeiLocalitzacio(int Sck, const char * adrLUMI, const char * IP, int portUDPrem);
|
|
|
|
int LUMI_EnviaRespostaServeiLocalitzacio(int Sck, const char * adrLUMI, const char * IP, int portTCPrem);
|
|
|
|
int LUMI_DescodificarMissatge(char tipus, const char * Missatge, char * adreca, char * domini, char * nom_usuari);
|
|
|
|
int LUMI_InicialitzarNode(const char * fitxer_log);
|
|
|
|
int LUMI_InicialitzarAgent(const char * IP, int portUDP, int * fitxer_log, const char * adrLUMI, char * IPnode);
|
|
|
|
int HaArribatAlgunaCosaEnTemps(const int *LlistaSck, int LongLlistaSck, int Temps);
|
|
|
|
int ResolDNSaIP(const char *NomDNS, char *IP);
|
|
|
|
int LUMI_Desconnecta(int Sck); |