Ok, I can't resist a last cry for help...
So there is a way to list and select the active network panel connection. This API has existed ever since OS 2.0 when netlib was introduced. The API does not allow you add a new network connection, but you can make an existing one active. There are a series of launch codes you can send to the network panel. The launch codes are defined in SystemMgr.h #define sysSvcLaunchCmdSetServiceID 20 #define sysSvcLaunchCmdGetServiceID 21 #define sysSvcLaunchCmdGetServiceList 22 #define sysSvcLaunchCmdGetServiceInfo 23 I had created a header file that was supposed to be part of the SDK, but it doesn't look like it was released. Here is the important information from NetServiceAPI.h: #define maxServiceNameLen 32 // max length of a service name typedef UInt32 ServiceIDType; #define svcNoServiceSelectedID (0) // serviceListType is the parameter for the sysSvcLaunchCmdGetServiceList action code typedef struct { Err error; UInt16 numServices; // number of services available MemHandle IDListH; // MemHandle to an array of serviceIDs MemHandle nameListH; } serviceListType; typedef serviceListType * serviceListPtr; // serviceInfoType is the parameter for the sysSvcLaunchCmdGetServiceInfo action code typedef struct { Err error; ServiceIDType serviceID; // passed in to specify service you want info about UInt32 reserved; // RESERVED -- SET TO ZERO Char serviceName[maxServiceNameLen]; // returns name of service } serviceInfoType; typedef serviceInfoType * serviceInfoPtr; sysSvcLauchCmdSetServiceID expects cmdPBD to point to a valid ServiceIDType value. You can get the currently active serivce ID value by launching sysSvcCmdGetServiceID with cmdPBP pointing to a ServiceIDType value to hold the result. sysSvcLaunchCmdGetServiceInfo can be used to get the name of a service by its ID value, cmdPBP must point to a service InfoType structure. Finally you can get a list of all available services by ID and name. This allows you to display a list of available services to the user and get the service ID of the selected item. CmdPBP is passed with a serviceListType structure. The structure will return with a number of services and two memory handles. Your application is responsible for freeing the handles. The first handle contains a list of numServices serviceID UInt32 values. The second handle contains a packed list of numservices null terminated string service names. you can covert the string list to an array of pointers with the call SysFormPointerArrayToStrings() I hope this helps. --- Gavin -- -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/tech/support/forums/