rendered paste body
/*
gestion d'index telephonique (pour etre Client RPC)
L. Perroton - ESIEE - 1998
*/
#include <stdio.h>
#include "index.h"
menu(){
printf ( "\n Menu:\n");
printf ( "1) Rechercher un nom\n");
printf ( "2) Ajouter un nom\n");
printf ( "3) Faire afficher au srv\n");
printf ( "4) lister les noms\n");
printf ( "5) Terminer le serveur\n");
printf ( "6) Recherche avec callback\n");
printf ( "7) Connecter a un autre srv \n");
printf ( "8) Quiter\n\n");
printf ( "Faites votre choix + Enter: ");
}
main (int argc, char ** argv) {
char *chaine = (char *)malloc(256), telephone[256];
ligne *resultat, nouvelle;
printf("test\n");
CLIENT* clnt = clnt_create(argv[1], INDEX_PROG, INDEX_PROG_V1, "udp");
printf("test\n");
menu();
while ( gets(chaine) ) {
switch ( chaine[0] ) {
case '1': /* recherche une entree dans l'index */
printf ( "Recherche nom : "); gets(chaine);
resultat = recherche_1_1 ( &chaine, clnt );
printf ( "Nom : %s \t tel : %d\n", resultat -> nom, resultat -> tel );
break;
case '2': /* ajoute une entree */
printf ( "Ajout Nom : "); gets(chaine); nouvelle.nom = chaine;
printf ("Tel : "); scanf ("%d", &nouvelle.tel ); getchar();
printf ("Ajout: %d \n", (ajout_1_1( &nouvelle, clnt )) );
break;
case '3': /* affiche... */
printf ( "Afficher : "); gets(chaine);
printf ("%s\n", chaine);
break;
case '4': /*listage*/
printf("Listage des noms :\n");
void *truc;
liste_ligne *lst_lig = listing_1_1(truc, clnt);
liste_ligne *lst_tmp = lst_lig;
printf("listing_1_1 = %p, lst_lig = %p",listing_1_1(truc, clnt), lst_lig);
while(lst_tmp!=NULL){
printf("Nom : %s, tel : %d\n",lst_tmp->lig.nom, lst_tmp->lig.tel);
lst_tmp=lst_tmp->ptr_lig;
}
//clnt_freeres(clnt, (xdrproc_t) xdr_liste_ligne, (void*)lst_lig);
break;
case '8': /* quitter le client */
exit(0);
break;
default:
printf ("Option non (encore) implémenté...");
}
menu();
}
}