/* Créé et met un serveur sur écoute * * @serverHost Nom de l'hôte local (localhost) * * @givenPort Pointeur sur le à remplir => contiendra le port donné par le système * @listenSocket Pointeur sur le à remplir => contiendra un pointeur sur la socket d'écoute * */ void DROP_SERVER(char* serverHost, char** givenPort, int* listenSocket); /* Gestion de la réponse au client * * @SOCKET Pointeur sur la SOCKET concernée * @pRequest Requête reçue et à traiter * */ void MANAGE_REQUEST(int* SOCKET, char* pRequest); /* Gestion de la réponse du serveur FTP et modification de la réponse * * @pAnswer Pointeur sur le buffer de réponse du serveur FTP * @DUSER_SOCKET Pointeur sur la SOCKET du BUS DE DONNEES utilisateur * @DFTP_SOCKET Pointeur sur la SOCKET du BUS DE DONNEES FTP * * @history * [1] si commande sans transfert nécessaire, on modifie la réponse * [2] si on a besoin d'un transfert de données * (1) On initialise les SOCKETS avec la valeur de PORT a,b,c,d,p1,p2 * (2) a.b.c.d (adresse ip) + p1*256+p2 (port) * (3) UTILISATEUR (ACIF) PROXY (PASSIF) SRV_FTP * */ void MANAGE_RESPONSE(char** pAnswer, int* DUSER_SOCKET, int* DFTP_SOCKET); /* Attends une réponse du client * * @pSocket Pointeur sur la SOCKET en question * @pBuffer Buffer qui contiendra la réponse * * @history * [1] On read() tant qu'on a pas les symboles de fin (\r\n) * [2] On écrit sur le buffer * * [3] Si une erreur occure, on retourne -1 * * * @return nbRead On retourne le nombre de char lus, sinon -1 si erreur * */ int WAIT_CLIENT(int* pSocket, char* pBuffer);