Universal Serial Bus MaNaGer

crabs_usbmgr-1.0.3 ©2004-2006 - Christophe CAZAJUS (crabs-mettre_le_signe_at-crabs-world.com)

libslw_inet.a~~ / INET / serv_connect.c
Makefile syssock.h daemon.c serv_tcp_simple.c serv_connect.c sock_read.c sock_write.c
    1 /*
    2 **=============================================================================
    3 ** crabs_usbmgr-1.0.3 : Universal Serial Bus MaNaGer
    4 ** Copyright (C) 2004-2006 : Christophe CAZAJUS (crabs-mettre_le_signe_at-crabs-world.com)
    5 **
    6 ** Ce source fait partie d'un projet logiciel libre. Vous pouvez le distribuer
    7 ** et/ou le modifier en respectant les termes de la GNU General Public License
    8 ** version 2 ou (suite a votre propre choix) une version ulterieure.
    9 **
   10 ** Ce programme est distribue dans l'espoir qu'il puisse etre utile, mais
   11 ** sans aucune garantie, meme si il est associe a un produit qui vous en
   12 ** propose une. Conformez-vous a la GNU General Public License pour avoir
   13 ** plus de precisions.
   14 **
   15 ** L'auteur ne peut etre tenu responsable de l'utilisation faite des
   16 ** composantes associees a ce projet (en partie ou dans leur totalite).
   17 **
   18 ** Une copie du fichier de la GNU GPL est fournie dans le repertoire DOC
   19 ** de ce projet sous le nom gnu_gpl.txt
   20 **
   21 **=============================================================================
   22 */
   23 #include <sys/types.h>
   24 #include <sys/socket.h>
   25 #include <netdb.h>
   26 #include <netinet/in.h>
   27 #include <errno.h>
   28 #include <string.h>
   29 
   30 int serv_connect( const char *serv, char *service, char *err )
   31     {
   32     int         fc      ;
   33     struct  hostent *   host        ;
   34     struct  sockaddr_in svr     ;
   35     struct  servent *   sp      ;
   36 
   37     if ( (host = gethostbyname( serv )) == NULL )
   38         {
   39         sprintf( err, "serv_connect:gethostbyname(%s):%s", serv,
   40             strerror(errno) ) ;
   41         return -1 ;
   42         }
   43     if ( (sp = getservbyname( service, "tcp" )) == NULL )
   44         {
   45         sprintf( err, "serv_connect:getservbyname(%s):%s", service,
   46             strerror(errno) ) ;
   47         return -1 ;
   48         }
   49 
   50     svr.sin_port = sp->s_port ;
   51     memcpy( &(svr.sin_addr.s_addr), (char *)host->h_addr, host->h_length ) ;
   52     svr.sin_family = AF_INET ;
   53 
   54     if ( (fc = socket( AF_INET, SOCK_STREAM, 0 )) == -1 )
   55         {
   56         sprintf( err, "serv_connect:socket():%s", strerror(errno) ) ;
   57         return -1 ;
   58         }
   59     if ( connect( fc, (struct sockaddr *)&svr, sizeof( svr ) ) == -1 )
   60         {
   61         sprintf( err, "serv_connect:connect():%s", strerror(errno) ) ;
   62         close(fc);
   63         return -1 ;
   64         }
   65     return fc ;
   66     }
Makefile syssock.h daemon.c serv_tcp_simple.c serv_connect.c sock_read.c sock_write.c
libslw_inet.a~~ / INET / serv_connect.c

Haut de page

Contacter crabs

Date de génération : 22/09/2011 21:48