proxy-ftp/dep/server.h

65 lines
2.0 KiB
C
Raw Normal View History

2015-12-14 20:48:19 +00:00
/* Créé et met un serveur sur écoute
*
* @serverHost<char*> Nom de l'hôte local (localhost)
*
* @givenPort<char**> Pointeur sur le <char*> à remplir => contiendra le port donné par le système
* @listenSocket<int*> Pointeur sur le <int> à remplir => contiendra un pointeur sur la socket d'écoute
*
*/
void DROP_SERVER(char* serverHost, char** givenPort, int* listenSocket);
/* Gestion de la requête du client
2015-12-14 20:48:19 +00:00
*
* @pBuffer<char*> Requête en question
* @DUSER_SOCKET<int*> Pointeur sur la SOCKET du BUS DE DONNEES utilisateur
* @DFTP_SOCKET<int*> Pointeur sur la SOCKET du BUS DE DONNEES FTP
2015-12-14 20:48:19 +00:00
*
* @history
* [1] si "PORT a1,a2,a3,a4,p1,p2" on démarre la SOCKET CLIENT du BUS DE DONNEES
* [2]
* [3]
2015-12-14 20:48:19 +00:00
*/
void MANAGE_REQUEST(char* pRequest, int* DUSER_SOCKET, int* DFTP_SOCKET);
2015-12-14 20:48:19 +00:00
2015-12-14 21:00:05 +00:00
/* Gestion de la réponse du serveur FTP et modification de la réponse
*
* @pAnswer<char**> Pointeur sur le buffer de réponse du serveur FTP
* @DUSER_SOCKET<int*> Pointeur sur la SOCKET du BUS DE DONNEES utilisateur
* @DFTP_SOCKET<int*> 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
2015-12-14 21:00:05 +00:00
* (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
*
* [3] SI 227, on lance la SOCKET FTP du BUS DE DONNEES (mode passif)
* [4] SI 226, on ferme les SOCKETS du BUS DE DONNEES
2015-12-14 21:00:05 +00:00
*
*/
void MANAGE_RESPONSE(int* USER_SOCKET, int* FTP_SOCKET, char* pAnswer, int* DUSER_SOCKET, int* DFTP_SOCKET);
2015-12-14 20:48:19 +00:00
2015-12-14 21:00:05 +00:00
/* Attends une réponse du client
*
* @pSocket<int*> Pointeur sur la SOCKET en question
* @pBuffer<char*> 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<int> On retourne le nombre de char lus, sinon -1 si erreur
*
*/
2015-12-14 20:48:19 +00:00
int WAIT_CLIENT(int* pSocket, char* pBuffer);