Universal Serial Bus MaNaGer

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

usbmgrd~~ / USB / MGR / main.c
Makefile usbstruct.h usbmgr.H main.c add.c umount.c liste.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 #define __USBMGR__PRINCIPAL__
   24 #include "usbmgr.H"
   25 
   26 int main( int argc, char** argv )
   27     {
   28     int                 sa          ;
   29     int                 sc          ;
   30     int                 i           ;
   31     struct sockaddr_in  clt         ;
   32     char                err [1024]  ;
   33     int                 len         ;
   34     int                 ret         ;
   35     int                 fin         ;
   36     USBSTRUCT_ACTION    a           ;
   37     USBSTRUCT_STATUS    st          ;
   38 
   39     for( i=0; i<NB_USB_DEVICE; i++ ) liste[i].cmd = LBR ;
   40     if ( be_a_daemon( "usbmgrd", err ) == -1 )
   41         {  syslog( LOG_ERR, "FATAL:%s", err ) ; exit(1) ; }
   42     if ( ( sa = serv_tcp_simple( TCP_SERV, err ) ) == -1 )
   43         { syslog( LOG_ERR, "FATAL:%s", err ) ; exit(1) ; }
   44     syslog( LOG_ERR, "waiting connection" ) ;
   45     fin = 0 ;
   46     while( !fin )
   47         {
   48         len = sizeof( struct sockaddr_in ) ;
   49         sc = accept( sa, (struct sockaddr*)&clt, &len ) ;
   50         if ( sc == -1 ) { syslog( LOG_ERR, "accept():%m" ) ; exit(1) ; }
   51 
   52         ret = sock_read( sc, &a, sizeof(a) )  ;
   53         if ( ret == -1 )
   54             { syslog( LOG_ERR, "read(cmd):%m" ); close(sc);continue ; }
   55 
   56         switch( a.cmd )
   57             {
   58             case ADD:       doAdd( &a, &st ) ;      break   ;
   59             case UMOUNT:    doUmount( &a, &st ) ;   break   ;
   60             case LISTE:     doListe( sc, &a, &st ); break   ;
   61             case STOP:      fin = 1 ; st.status=0;  break   ;
   62             }
   63 
   64         ret = sock_write( sc, &st, sizeof(st) ) ;
   65         if ( ret == -1 )
   66             { syslog( LOG_ERR, "read(cmd):%m" ); close(sc);continue ; }
   67         close( sc ) ;
   68         }
   69     syslog( LOG_ERR, "exiting..." ) ;
   70     exit( 0 ) ;
   71     }
   72 
Makefile usbstruct.h usbmgr.H main.c add.c umount.c liste.c
usbmgrd~~ / USB / MGR / main.c

Haut de page

Contacter crabs

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