- merge and move execute_script functions to eth.cc
This commit is contained in:
parent
ffb9fcf69e
commit
18e2900f02
@ -1,5 +1,5 @@
|
|||||||
/////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////
|
||||||
// $Id: eth.cc,v 1.14 2002-11-20 19:06:22 bdenney Exp $
|
// $Id: eth.cc,v 1.15 2003-04-26 14:48:45 cbothamy Exp $
|
||||||
/////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// Copyright (C) 2001 MandrakeSoft S.A.
|
// Copyright (C) 2001 MandrakeSoft S.A.
|
||||||
@ -149,4 +149,34 @@ eth_locator_c::create(const char *type, const char *netif,
|
|||||||
return (NULL);
|
return (NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int execute_script( char* scriptname, char* arg1 )
|
||||||
|
{
|
||||||
|
int pid,status;
|
||||||
|
|
||||||
|
if (!(pid=fork())) {
|
||||||
|
char filename[BX_PATHNAME_LEN];
|
||||||
|
if ( scriptname[0]=='/' ) {
|
||||||
|
strcpy (filename, scriptname);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
getcwd (filename, BX_PATHNAME_LEN);
|
||||||
|
strcat (filename, "/");
|
||||||
|
strcat (filename, scriptname);
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute the script
|
||||||
|
BX_INFO(("Executing script '%s %s'",filename,arg1));
|
||||||
|
execle(filename, scriptname, arg1, NULL, NULL);
|
||||||
|
|
||||||
|
// if we get here there has been a problem
|
||||||
|
exit(-1);
|
||||||
|
}
|
||||||
|
|
||||||
|
wait (&status);
|
||||||
|
if (!WIFEXITED(status)) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
return WEXITSTATUS(status);
|
||||||
|
}
|
||||||
|
|
||||||
#endif /* if BX_NE2K_SUPPORT */
|
#endif /* if BX_NE2K_SUPPORT */
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////
|
||||||
// $Id: eth.h,v 1.11 2002-09-02 16:56:24 bdenney Exp $
|
// $Id: eth.h,v 1.12 2003-04-26 14:48:45 cbothamy Exp $
|
||||||
/////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// Copyright (C) 2001 MandrakeSoft S.A.
|
// Copyright (C) 2001 MandrakeSoft S.A.
|
||||||
@ -31,6 +31,7 @@
|
|||||||
|
|
||||||
typedef void (*eth_rx_handler_t)(void *arg, const void *buf, unsigned len);
|
typedef void (*eth_rx_handler_t)(void *arg, const void *buf, unsigned len);
|
||||||
|
|
||||||
|
int execute_script(char *name, char* arg1);
|
||||||
|
|
||||||
//
|
//
|
||||||
// The eth_pktmover class is used by ethernet chip emulations
|
// The eth_pktmover class is used by ethernet chip emulations
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////
|
||||||
// $Id: eth_tap.cc,v 1.13 2003-04-26 13:31:23 cbothamy Exp $
|
// $Id: eth_tap.cc,v 1.14 2003-04-26 14:48:45 cbothamy Exp $
|
||||||
/////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// Copyright (C) 2001 MandrakeSoft S.A.
|
// Copyright (C) 2001 MandrakeSoft S.A.
|
||||||
@ -113,8 +113,6 @@
|
|||||||
#define BX_ETH_TAP_LOGGING 1
|
#define BX_ETH_TAP_LOGGING 1
|
||||||
#define BX_PACKET_BUFSIZ 2048 // Enough for an ether frame
|
#define BX_PACKET_BUFSIZ 2048 // Enough for an ether frame
|
||||||
|
|
||||||
int execute_script(char *name, char* arg1);
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// Define the class. This is private to this module
|
// Define the class. This is private to this module
|
||||||
//
|
//
|
||||||
@ -367,34 +365,4 @@ void bx_tap_pktmover_c::rx_timer ()
|
|||||||
(*rxh)(rxarg, rxbuf, nbytes);
|
(*rxh)(rxarg, rxbuf, nbytes);
|
||||||
}
|
}
|
||||||
|
|
||||||
int execute_script( char* scriptname, char* arg1 )
|
|
||||||
{
|
|
||||||
int pid,status;
|
|
||||||
|
|
||||||
if (!(pid=fork())) {
|
|
||||||
char filename[BX_PATHNAME_LEN];
|
|
||||||
if ( scriptname[0]=='/' ) {
|
|
||||||
strcpy (filename, scriptname);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
getcwd (filename, BX_PATHNAME_LEN);
|
|
||||||
strcat (filename, "/");
|
|
||||||
strcat (filename, scriptname);
|
|
||||||
}
|
|
||||||
|
|
||||||
// execute the script
|
|
||||||
BX_INFO(("Executing script '%s %s'",filename,arg1));
|
|
||||||
execle(filename, scriptname, arg1, NULL, NULL);
|
|
||||||
|
|
||||||
// if we get here there has been a problem
|
|
||||||
exit(-1);
|
|
||||||
}
|
|
||||||
|
|
||||||
wait (&status);
|
|
||||||
if (!WIFEXITED(status)) {
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
return WEXITSTATUS(status);
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif /* if BX_NE2K_SUPPORT */
|
#endif /* if BX_NE2K_SUPPORT */
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////
|
||||||
// $Id: eth_tuntap.cc,v 1.8 2003-02-16 19:35:57 vruppert Exp $
|
// $Id: eth_tuntap.cc,v 1.9 2003-04-26 14:48:45 cbothamy Exp $
|
||||||
/////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// Copyright (C) 2001 MandrakeSoft S.A.
|
// Copyright (C) 2001 MandrakeSoft S.A.
|
||||||
@ -113,7 +113,6 @@
|
|||||||
#define BX_PACKET_BUFSIZ 2048 // Enough for an ether frame
|
#define BX_PACKET_BUFSIZ 2048 // Enough for an ether frame
|
||||||
|
|
||||||
int tun_alloc(char *dev);
|
int tun_alloc(char *dev);
|
||||||
int execute_script(char *name, char* arg1);
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// Define the class. This is private to this module
|
// Define the class. This is private to this module
|
||||||
@ -399,34 +398,4 @@ void bx_tuntap_pktmover_c::rx_timer ()
|
|||||||
return fd;
|
return fd;
|
||||||
}
|
}
|
||||||
|
|
||||||
int execute_script( char* scriptname, char* arg1 )
|
|
||||||
{
|
|
||||||
int pid,status;
|
|
||||||
|
|
||||||
if (!(pid=fork())) {
|
|
||||||
char filename[BX_PATHNAME_LEN];
|
|
||||||
if ( scriptname[0]=='/' ) {
|
|
||||||
strcpy (filename, scriptname);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
getcwd (filename, BX_PATHNAME_LEN);
|
|
||||||
strcat (filename, "/");
|
|
||||||
strcat (filename, scriptname);
|
|
||||||
}
|
|
||||||
|
|
||||||
// execute the script
|
|
||||||
BX_INFO(("Executing script '%s %s'",filename,arg1));
|
|
||||||
execle(filename, scriptname, arg1, NULL, NULL);
|
|
||||||
|
|
||||||
// if we get here there has been a problem
|
|
||||||
exit(-1);
|
|
||||||
}
|
|
||||||
|
|
||||||
wait (&status);
|
|
||||||
if (!WIFEXITED(status)) {
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
return WEXITSTATUS(status);
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif /* if BX_NE2K_SUPPORT */
|
#endif /* if BX_NE2K_SUPPORT */
|
||||||
|
Loading…
Reference in New Issue
Block a user