This is what I use to open the connection.  Its a little more fault
tolerant.  netinfo is a global struct that holds all the net stuff.


bOpen = false;
allUp = false;
if (NetLibOpenCount(netInfo.netLibRefnum, &opencnt) == 0)
{
    if (opencnt) {
        // Verify that the interface is actually up.
        err = NetLibConnectionRefresh(netInfo.netLibRefnum, false, &allUp,
&netIFErr);
        if (!err && !netIFErr && allUp)
            bOpen = true;
    } else {
        // Might be in close-wait state.  Bring it out if possible
        if (NetLibOpenIfCloseWait(netInfo.netLibRefnum) == 0) {
            // Verify that the interface is actually up.
            err = NetLibConnectionRefresh(netInfo.netLibRefnum, false,
&allUp, &netIFErr);
            if (!err && !netIFErr && allUp)
                bOpen = true;
        }
    }
}
err = 0;
// Open the library if not already open
if (!bOpen) {
    NetLibClose(netInfo.netLibRefnum, true);
    err = NetLibOpen(netInfo.netLibRefnum, &netIFErr);
}

if (err == netErrAlreadyOpen)
    err = 0;

if (!err) {
    // Open a socket
    netInfo.netSocketRef = NetLibSocketOpen(netInfo.netLibRefnum,
netSocketAddrINET, netSocketTypeStream, 0, netInfo.netTimeout, &err);
}


-Dave



-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palmos.com/dev/support/forums/

Reply via email to