more IRIX support

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@4577 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
1999-11-15 17:33:51 +00:00
parent c4fda16bb0
commit ce52ac88bc

View File

@@ -265,12 +265,19 @@ wxDialUpManagerImpl::wxDialUpManagerImpl()
m_CanUsePing = -1; // unknown m_CanUsePing = -1; // unknown
m_BeaconHost = WXDIALUP_MANAGER_DEFAULT_BEACONHOST; m_BeaconHost = WXDIALUP_MANAGER_DEFAULT_BEACONHOST;
m_BeaconPort = 80; m_BeaconPort = 80;
SetConnectCommand("pon", "poff"); // default values for Debian/GNU linux
#ifdef __SGI__
m_ConnectCommand = _T("/usr/etc/ppp");
#elif defined(__LINUX__)
// default values for Debian/GNU linux
m_ConnectCommand = _T("pon");
m_HangUpCommand = _T("poff");
#endif
wxChar * dial = wxGetenv(_T("WXDIALUP_DIALCMD")); wxChar * dial = wxGetenv(_T("WXDIALUP_DIALCMD"));
wxChar * hup = wxGetenv(_T("WXDIALUP_HUPCMD")); wxChar * hup = wxGetenv(_T("WXDIALUP_HUPCMD"));
if(dial || hup) SetConnectCommand(dial ? wxString(dial) : m_ConnectCommand,
SetConnectCommand(dial ? wxString(dial) : m_ConnectCommand, hup ? wxString(hup) : m_HangUpCommand);
hup ? wxString(hup) : m_HangUpCommand);
} }
wxDialUpManagerImpl::~wxDialUpManagerImpl() wxDialUpManagerImpl::~wxDialUpManagerImpl()
@@ -444,11 +451,11 @@ wxDialUpManagerImpl::CheckConnect(void)
if((hp = gethostbyname(m_BeaconHost.mb_str())) == NULL) if((hp = gethostbyname(m_BeaconHost.mb_str())) == NULL)
return 0; // no DNS no net return 0; // no DNS no net
serv_addr.sin_family = hp->h_addrtype; serv_addr.sin_family = hp->h_addrtype;
memcpy(&serv_addr.sin_addr,hp->h_addr, hp->h_length); memcpy(&serv_addr.sin_addr,hp->h_addr, hp->h_length);
serv_addr.sin_port = htons(m_BeaconPort); serv_addr.sin_port = htons(m_BeaconPort);
int sockfd; int sockfd;
if( ( sockfd = socket(hp->h_addrtype, SOCK_STREAM, 0)) < 0) if( ( sockfd = socket(hp->h_addrtype, SOCK_STREAM, 0)) < 0)
{ {
return -1; // no info return -1; // no info
@@ -472,14 +479,29 @@ int
wxDialUpManagerImpl::CheckIfconfig(void) wxDialUpManagerImpl::CheckIfconfig(void)
{ {
int rc = -1; int rc = -1;
// First time check for ifconfig location. We only use the variant
// which does not take arguments, a la GNU. // First time check for ifconfig location. We only use the variant which
if(m_CanUseIfconfig == -1) // unknown // does not take arguments, a la GNU.
if ( m_CanUseIfconfig == -1 ) // unknown
{ {
if(wxFileExists("/sbin/ifconfig")) static const wxChar *ifconfigLocations[] =
m_IfconfigPath = "/sbin/ifconfig"; {
else if(wxFileExists("/usr/sbin/ifconfig")) _T("/sbin"), // Linux, FreeBSD
m_IfconfigPath = "/usr/sbin/ifconfig"; _T("/usr/sbin"), // SunOS, Solaris, AIX, HP-UX
_T("/usr/etc"), // IRIX
};
for ( size_t n = 0; n < WXSIZEOF(ifconfigLocations); n++ )
{
wxString path(ifconfigLocations[n]);
path << _T("/ifconfig");
if ( wxFileExists(path) )
{
m_IfconfigPath = path;
break;
}
}
} }
wxLogNull ln; // suppress all error messages wxLogNull ln; // suppress all error messages