/*
 *  Copyright (c) 1996-2007 Digi International Inc., All Rights Reserved
 *
 *  This software contains proprietary and confidential information of Digi
 *  International Inc.  By accepting transfer of this copy, Recipient agrees
 *  to retain this software in confidence, to prevent disclosure to others,
 *  and to make no use of this software other than that for which it was
 *  delivered.  This is an unpublished copyrighted work of Digi International
 *  Inc.  Except as permitted by federal law, 17 USC 117, copying is strictly
 *  prohibited.
 *
 *  Restricted Rights Legend
 *
 *  Use, duplication, or disclosure by the Government is subject to
 *  restrictions set forth in sub-paragraph (c)(1)(ii) of The Rights in
 *  Technical Data and Computer Software clause at DFARS 252.227-7031 or
 *  subparagraphs (c)(1) and (2) of the Commercial Computer Software -
 *  Restricted Rights at 48 CFR 52.227-19, as applicable.
 *
 *  Digi International Inc. 11001 Bren Road East, Minnetonka, MN 55343
 *
 * =======================================================================
 * This header file contains the definitions and structures used by the
 * constant.c
 *                                                                        
 *                                                                        
 * Edit Date/Ver   Edit Description
 * ==============  =======================================================
 * 01/09/04	JZW	Added functional prototype for NAGetAppDisableRouterAds
 * 05/24/05 JZW Kerberos references removed. No longer supported
 *
 *
 */


#ifndef _APPCONF_API_H
#define _APPCONF_API_H

#include "Npttypes.h"
#include "netoserr.h"
#include "boardParams.h"
#include "country_codes.h"
#include "wln_api.h"

#ifdef __cplusplus
extern "C"
{
#endif 


/*
 * This list of #defines is used to set the value of APP_WLN_CHANNEL in
 * appconf.h.  A value of 0 (SCAN) indicates that we should scan all channels.
 * A value between 1 and 14 selects a B/G band channel.  An 'A' value selects
 * one of the band A channels.
 * 
 * These defines set translate the channel number into an index into the table
 * channelFromChannelIndex in wln_api.c.
 */
#define WLN_CHANNEL_A_INDEX_OFFSET      (17)
#define SCAN            (0)
#define A184            (WLN_CHANNEL_A_INDEX_OFFSET+0)
#define A188            (WLN_CHANNEL_A_INDEX_OFFSET+1)
#define A192            (WLN_CHANNEL_A_INDEX_OFFSET+2)
#define A196            (WLN_CHANNEL_A_INDEX_OFFSET+3)
#define A8              (WLN_CHANNEL_A_INDEX_OFFSET+4)
#define A12             (WLN_CHANNEL_A_INDEX_OFFSET+5)
#define A16             (WLN_CHANNEL_A_INDEX_OFFSET+6)
#define A34             (WLN_CHANNEL_A_INDEX_OFFSET+7)
#define A36             (WLN_CHANNEL_A_INDEX_OFFSET+8)
#define A38             (WLN_CHANNEL_A_INDEX_OFFSET+9)
#define A40             (WLN_CHANNEL_A_INDEX_OFFSET+10)
#define A42             (WLN_CHANNEL_A_INDEX_OFFSET+11)
#define A44             (WLN_CHANNEL_A_INDEX_OFFSET+12)
#define A46             (WLN_CHANNEL_A_INDEX_OFFSET+13)
#define A48             (WLN_CHANNEL_A_INDEX_OFFSET+14)
#define A52             (WLN_CHANNEL_A_INDEX_OFFSET+15)
#define A56             (WLN_CHANNEL_A_INDEX_OFFSET+16)
#define A60             (WLN_CHANNEL_A_INDEX_OFFSET+17)
#define A64             (WLN_CHANNEL_A_INDEX_OFFSET+18)
#define A100            (WLN_CHANNEL_A_INDEX_OFFSET+19)
#define A104            (WLN_CHANNEL_A_INDEX_OFFSET+20)
#define A108            (WLN_CHANNEL_A_INDEX_OFFSET+21)
#define A112            (WLN_CHANNEL_A_INDEX_OFFSET+22)
#define A116            (WLN_CHANNEL_A_INDEX_OFFSET+23)
#define A120            (WLN_CHANNEL_A_INDEX_OFFSET+24)
#define A124            (WLN_CHANNEL_A_INDEX_OFFSET+25)
#define A128            (WLN_CHANNEL_A_INDEX_OFFSET+26)
#define A132            (WLN_CHANNEL_A_INDEX_OFFSET+27)
#define A136            (WLN_CHANNEL_A_INDEX_OFFSET+28)
#define A140            (WLN_CHANNEL_A_INDEX_OFFSET+29)    
#define A149            (WLN_CHANNEL_A_INDEX_OFFSET+30)
#define A153            (WLN_CHANNEL_A_INDEX_OFFSET+31)
#define A157            (WLN_CHANNEL_A_INDEX_OFFSET+32)
#define A161            (WLN_CHANNEL_A_INDEX_OFFSET+33)
#define A165            (WLN_CHANNEL_A_INDEX_OFFSET+34)



/*ad*
 * These are the possible values for APP_WLN_80211_OPTIONS, which is set in appconf.h.
 *
 * @external
 * @category SystemSWServices:ApplicationConfiguration 
 * @since 7.4
 * @name APP_WLN_80211_OPTION_Values   "Possible values for APP_WLN_80211_OPTIONS"
 *
 * @param APP_WLN_80211_OPTION_NONE                 Set APP_WLN_80211_OPTIONS to this value if neither
 *                                                  802.11d multi domain support nor 802.11h spectrum
 *                                                  management are to be enabled.
 * @param APP_WLN_80211_OPTION_MULTI_DOMAIN         Set APP_WLN_80211_OPTIONS to this value if 
 *                                                  802.11d multi domain support should be enabled.
 * @param APP_WLN_80211_OPTION_SPECTRUM_MANAGEMENT  Set APP_WLN_80211_OPTIONS to this value if both
 *                                                  802.11d multi domain support and 802.11h spectrum
 *                                                  management are to be enabled.  This option is only
 *                                                  valid if 802.11a support is enabled.
 *
*ad*/
#define APP_WLN_80211_OPTION_NONE                   (0)
#define APP_WLN_80211_OPTION_MULTI_DOMAIN           (1)
#define APP_WLN_80211_OPTION_SPECTRUM_MANAGEMENT    (2)

/*ad*
 * These are the possible values for APP_WLN_80211_BAND, which is set in appconf.h.
 *
 * @external
 * @category SystemSWServices:ApplicationConfiguration 
 * @since 7.4
 * @name APP_WLN_80211_BAND_Values   "Possible values for APP_WLN_80211_BAND"
 *
 * @param APP_WLN_80211_BAND_DEFAULT    Use the 802.11b and 802.11g bands on the hardware that
 *                                      supports them, otherwise use the 802.11b band.
 * @param APP_WLN_80211_BAND_A          Use the 802.11a band.
 * @param APP_WLN_80211_BAND_B          Use the 802.11b band.
 * @param APP_WLN_80211_BAND_BG         Use the 802.11b and 802.11g bands.
 * @param APP_WLN_80211_BAND_BGN         Use the 802.11bgn bands. for connectwime9210 platform only.
 * @param APP_WLN_80211_BAND_ALL        Use all bands supported by the hardware.
 *
*ad*/
#define APP_WLN_80211_BAND_DEFAULT              (WLN_BAND_DEFAULT)
#define APP_WLN_80211_BAND_A                    (WLN_BAND_A)
#define APP_WLN_80211_BAND_B                    (WLN_BAND_B)
#define APP_WLN_80211_BAND_BG                   (WLN_BAND_BG)
#define APP_WLN_80211_BAND_BGN                  (WLN_BAND_BGN)
#define APP_WLN_80211_BAND_ALL                  (WLN_BAND_ALL)




/*ad*
 * These are the possible values for APP_USE_NVRAM, which is set in appconf.h.
 *
 * @external
 * @category SystemSWServices:ApplicationConfiguration 
 * @since 7.0
 * @name APP_USE_NVRAM_Values   "Possible values for APP_USE_NVRAM"
 *
 * @param APP_DO_NOT_USE_NVRAM      Set APP_USE_NVRAM to this value if all configuration parameters
 *                                  are to be read from appconf.h.
 * @param APP_FOR_ALL_PARAMETERS    Set APP_USE_NVRAM to this value if all configuration 
 *                                  parameters should be read from NVRAM.  The values set in
 *                                  appconf.h will only be used if NVRAM cannot be read, or
 *                                  is uninitialized.
 * @param APP_FOR_MAC_ADDRESS_ONLY  Set APP_USE_NVRAM to this value if the MAC address
 *                                  should be read from NVRAM, but all other configuration values should
 *                                  be read from appconf.h.  The MAC address set in appconf.h will only
 *                                  be used if NVRAM cannot be read, or has not been initialized.
 *
*ad*/
#define APP_DO_NOT_USE_NVRAM            (0)
#define APP_FOR_ALL_PARAMETERS          (1)
#define APP_FOR_MAC_ADDRESS_ONLY        (2)


/*ad*
 * These are the possible values for APP_USE_STATIC_IP and APP_ENABLE_AUTO_IP, 
 * which are set in appconf.h.
 *
 * @external
 * @category SystemSWServices:ApplicationConfiguration 
 * @since 7.0
 * @name APP_Interface_Values   "Possible values for APP_USE_STATIC_IP and APP_ENABLE_AUTO_IP"
 * @see @link APP_ENABLE_AUTO_IP
 * @see @link APP_USE_STATIC_IP
 *
 * @param APP_ON_NO_INTERFACE           Do not use on any interface.
 * @param APP_ON_ETHERNET_INTERFACE     Use on Ethernet interface
 * @param APP_ON_WIRELESS_INTERFACE     Use on wireless interface
 * @param APP_ON_ALL_INTERFACES         Use on both Ethernet and wireless interfaces.
 *
*ad*/
#define APP_ON_NO_INTERFACE             (0)
#define APP_ON_ETHERNET_INTERFACE       (1)
#define APP_ON_WIRELESS_INTERFACE       (2)
#define APP_ON_ALL_INTERFACES           (0xffffffff)

/*ad*
 *
 * NABspMallocStats is a type for a structure which collects real-time
 * statistics on the status of the heap.
 * The structure is based on the newlib structure mallinfo, which is defined
 * in malloc.h. We have added a parameter for the total amount of RAM in the
 * system which is available to the heap.
 *
 * The elements of the structure are as follows.
 *
 * @param system	Total amount of RAM which may be available for heap expansion
 * @param arena		Space within the above space which is currently allocated to the heap
 * @param ordblks	Number of chunks in the heap which are not currently allocated to a user
 * @param hblkhd	Number of mmapped regions
 * @param hblks	Total space in mmapped regions
 * @param uordblks	Total number of bytes allocated for use by users
 * @param fordblks	Total number of bytes in the heap which are not currently allocated
 * @param keepcost	Amount of unallocated space at the end of the heap
 *
 * @external
 * @include	"appconf_api.h"
 * @category SystemSWServices:general_purpose
 * @since 7.4
 *
 * @see @link SystemSWServices:general_purpose:NABspGetHeapSnapshot
 *
 *ad*/

typedef struct naBspMallocStats
{
	int system;   /* total system space available for heap */
	int arena;    /* total space allocated from system */
	int ordblks;  /* number of non-inuse chunks */
	int hblks;    /* number of mmapped regions */
	int hblkhd;   /* total space in mmapped regions */
	int uordblks; /* total allocated space */
	int fordblks; /* total non-inuse space */
	int keepcost; /* top-most, releasable (via malloc_trim) space */
} NABspMallocStats;

BOOLEAN NAGetEnableAutoIp(void);


bpDuplexLevelType NAGetDefaultEthernetDuplex(void);

char *NAGetAppBspMacAddress (void);

char * NAGetAppTimeStamp(void);

/*
 *  Function: userErrorHandlerType NAGetAppErrorHandler (void)
 *
 *  Description:
 *
 *      This routine return the setting of the APP_ERROR_HANDLER value defined in APPCONF.h
 *
 *  Parameters:
 *
 *      None
 *
 *  Return Values:
 *
 *	     Value of APP_ERROR_HANDLER
 *
 */
userErrorHandlerType NAGetAppErrorHandler (void);


/*
 *  Function: char *NAGetAppFixedGatewayKey (void)
 *
 *  Description:
 *
 *      This routine return the setting of the APP_FIXED_GATEWAY_KEY value defined in APPCONF.h
 *
 *  Parameters:
 *
 *      None
 *
 *  Return Values:
 *
 *	     Value of APP_FIXED_GATEWAY_KEY
 *
 */
char *NAGetAppFixedGatewayKey (void);


/*
 *
 *  Function: int NAGetAppRootStackSize (void)
 *
 *  Description:
 *
 *      This routine return the setting of the APP_ROOT_STACK_SIZE value defined in APPCONF.h
 *
 *  Parameters:
 *
 *      None
 *
 *  Return Values:
 *
 *	     Value of APP_ROOT_STACK_SIZE
 *
 */

int NAGetAppRootStackSize (void);


/*
 *
 *  Function: int NAGetAppRootPriority (void)
 *
 *  Description:
 *
 *      This routine return the setting of the APP_ROOT_PRIORITY value defined in APPCONF.h
 *
 *  Parameters:
 *
 *      None
 *
 *  Return Values:
 *
 *	     Value of APP_ROOT_PRIORITY
 *
 */

int NAGetAppRootPriority (void);


/*
 *
 *  Function: int NAGetDefaultAPIPriorty (void)
 *
 *  Description:
 *
 *      This routine return the setting of the APP_DEFAULT_API_PRIORITY value defined in APPCONF.h
 *
 *  Parameters:
 *
 *      None
 *
 *  Return Values:
 *
 *	     Value of APP_DEFAULT_API_PRIORITY
 *
 */

int NAGetAppDefaultAPIPriority (void);


/*
 *
 *  Function: int NAGetAppFileSystemSize (void)
 *
 *  Description:
 *
 *      This routine return the setting of the APP_FILE_SYSTEM_SIZE value defined in APPCONF.h
 *
 *  Parameters:
 *
 *      None
 *
 *  Return Values:
 *
 *	     Value of APP_FILE_SYSTEM_SIZE
 *
 */

int NAGetAppFileSystemSize(void);


/*
 *
 *  Function: char *NAGetAppDialogPort (void)
 *
 *  Description:
 *
 *      This routine return the setting of the APP_DIALOG_PORT value defined in APPCONF.h
 *
 *  Parameters:
 *
 *      None
 *
 *  Return Values:
 *
 *	     Value of APP_DIALOG_PORT
 *
 */

char *NAGetAppDialogPort (void);


/*
 *
 *  Function: char *NAGetAppDialogAppName (void)
 *
 *  Description:
 *
 *      This routine return the setting of the APP_DIALOG_APP_NAME value defined in APPCONF.h
 *
 *  Parameters:
 *
 *      None
 *
 *  Return Values:
 *
 *	     Value of APP_DIALOG_APP_NAME
 *
 */

char *NAGetAppDialogAppName (void);


/*
 *
 *  Function: char *NAGetAppRootPassword (void)
 *
 *  Description:
 *
 *      This routine return the setting of the APP_ROOT_PASSWORD value defined in APPCONF.h
 *
 *  Parameters:
 *
 *      None
 *
 *  Return Values:
 *
 *	     Value of APP_ROOT_PASSWORD
 *
 */

char *NAGetAppRootPassword (void);


/*
 *
 *  Function: char *NAGetAppUseNetworkTimeProtocol (void)
 *
 *  Description:
 *
 *      This routine return the setting of the APP_USE_NETWORK_TIME_PROTOCOL value defined in APPCONF.h
 *
 *  Parameters:
 *
 *      None
 *
 *  Return Values:
 *
 *	     Value of APP_USE_NETWORK_TIME_PROTOCOL
 *
 */

int NAGetAppUseNetworkTimeProtocol (void);


/*
 *
 *  Function: char *NAGetAppStdioPort (void)
 *
 *  Description:
 *
 *      This routine return the setting of the APP_STDIO_PORT value defined in APPCONF.h
 *
 *  Parameters:
 *
 *      None
 *
 *  Return Values:
 *
 *	     Value of APP_STDIO_PORT
 *
 */

char *NAGetAppStdioPort (void);


/*
 *
 *  Function: int NAGetAppUseNvram(void)
 *
 *  Description:
 *
 *      This routine return the setting of the APP_USE_NVRAM value defined in APPCONF.h
 *
 *  Parameters:
 *
 *      None
 *
 *  Return Values:
 *
 *	     Value of APP_USE_NVRAM
 *
 */

int NAGetAppUseNvram(void);


/*
 *
 *  Function: size_t NAGetAppNetHeapSize (void)
 *
 *  Description:
 *
 *      This routine return the setting of the APP_NET_HEAP_SIZE value defined in APPCONF.h
 *
 *  Parameters:
 *
 *      None
 *
 *  Return Values:
 *
 *	     Value of APP_NET_HEAP_SIZE
 *
 */

int NAGetAppNetHeapSize (void);


/*
 *
 *  Function: int NAGetAppEnablePPP1 (void)
 *
 *  Description:
 *
 *      This routine return the setting of the APP_ENABLE_PPP1 value defined in APPCONF.h
 *
 *  Parameters:
 *
 *      None
 *
 *  Return Values:
 *
 *	     Value of APP_ENABLE_PPP1
 *
 */

int NAGetAppEnablePPP1 (void);


/*
 *
 *  Function: int NAGetPPP1Address (void)
 *
 *  Description:
 *
 *      This routine return the setting of the APP_PPP1_ADDRESS value defined in APPCONF.h
 *
 *  Parameters:
 *
 *      None
 *
 *  Return Values:
 *
 *	     Value of APP_PPP1_ADDRESS
 *
 */

char *NAGetAppPPP1Address (void);


/*
 *
 *  Function: int NAGetPPP1PeerAddress (void)
 *
 *  Description:
 *
 *      This routine return the setting of the APP_PPP1_PEER_ADDRESS value defined in APPCONF.h
 *
 *  Parameters:
 *
 *      None
 *
 *  Return Values:
 *
 *	     Value of APP_PPP1_PEER_ADDRESS
 *
 */

char *NAGetAppPPP1PeerAddress (void);


/*
 *
 *  Function: int NAGetAppEnablePPP2 (void)
 *
 *  Description:
 *
 *      This routine return the setting of the APP_ENABLE_PPP2 value defined in APPCONF.h
 *
 *  Parameters:
 *
 *      None
 *
 *  Return Values:
 *
 *	     Value of APP_ENABLE_PPP2
 *
 */

int NAGetAppEnablePPP2 (void);

/*
 *
 *  Function: int NAGetPPP2Address (void)
 *
 *  Description:
 *
 *      This routine return the setting of the APP_PPP2_ADDRESS value defined in APPCONF.h
 *
 *  Parameters:
 *
 *      None
 *
 *  Return Values:
 *
 *	     Value of APP_PPP2_ADDRESS
 *
 */

char *NAGetAppPPP2Address (void);


/*
 *
 *  Function: int NAGetPPP2PeerAddress (void)
 *
 *  Description:
 *
 *      This routine return the setting of the APP_PPP2_PEER_ADDRESS value defined in APPCONF.h
 *
 *  Parameters:
 *
 *      None
 *
 *  Return Values:
 *
 *	     Value of APP_PPP2_PEER_ADDRESS
 *
 */

char *NAGetAppPPP2PeerAddress (void);


/*
 *
 *  Function: int NAGetAppIpAddress (void)
 *
 *  Description:
 *
 *      This routine return the setting of the APP_IP_ADDRESS value defined in APPCONF.h
 *
 *  Parameters:
 *
 *      None
 *
 *  Return Values:
 *
 *	     Value of APP_IP_ADDRESS
 *
 */

char *NAGetAppIpAddress (void);


/*
 *
 *  Function: int NAGetAppIpSubnetMask (void)
 *
 *  Description:
 *
 *      This routine return the setting of the APP_IP_SUBNET_MASK value defined in APPCONF.h
 *
 *  Parameters:
 *
 *      None
 *
 *  Return Values:
 *
 *	     Value of APP_IP_SUBNET_MASK
 *
 */

char *NAGetAppIpSubnetMask (void);


/*
 *
 *  Function: int NAGetAppIpGateway (void)
 *
 *  Description:
 *
 *      This routine return the setting of the APP_IP_GATEWAY value defined in APPCONF.h
 *
 *  Parameters:
 *
 *      None
 *
 *  Return Values:
 *
 *	     Value of APP_IP_GATEWAY
 *
 */

char *NAGetAppIpGateway (void);


/*
 *
 *  Function: int NAGetAppSntpPrimary (void)
 *
 *  Description:
 *
 *      This routine return the setting of the APP_ value defined in APPCONF.h
 *
 *  Parameters:
 *
 *      None
 *
 *  Return Values:
 *
 *	     Value of APP_SNTP_PRIMARY
 *
 */

char *NAGetAppSntpPrimary (void);


/*
 *
 *  Function: int NAGetAppSntpSecondary (void)
 *
 *  Description:
 *
 *      This routine return the setting of the APP_SNTP_SECONDARY value defined in APPCONF.h
 *
 *  Parameters:
 *
 *      None
 *
 *  Return Values:
 *
 *	     Value of APP_SNTP_SECONDARY
 *
 */

char *NAGetAppSntpSecondary (void);



/*
 *
 *  Function: int NAGetAppBspSerialNum (void)
 *
 *  Description:
 *
 *      This routine return the setting of the APP_BSP_SERIAL_NUM value defined in APPCONF.h
 *
 *  Parameters:
 *
 *      None
 *
 *  Return Values:
 *
 *	     Value of APP_BSP_SERIAL_NUM
 *
 */

char *NAGetAppBspSerialNum (void);


/*
 *
 *  Function: int NAGetAppBspDelay (void)
 *
 *  Description:
 *
 *      This routine return the setting of the APP_BSP_DELAY value defined in APPCONF.h
 *
 *  Parameters:
 *
 *      None
 *
 *  Return Values:
 *
 *	     Value of APP_BSP_DELAY
 *
 */

int NAGetAppBspDelay (void);


/*
 *
 *  Function: int NAGetAppBspBaudRate (void)
 *
 *  Description:
 *
 *      This routine return the setting of the APP_BSP_BAUD_RATE value defined in APPCONF.h
 *
 *  Parameters:
 *
 *      None
 *
 *  Return Values:
 *
 *	     Value of APP_BSP_BAUD_RATE
 *
 */

int NAGetAppBspBaudRate (void);


/*
 *
 *  Function: int int NAGetAppUseStaticIP(void)
 *
 *  Description:
 *
 *      This routine return the setting of the APP_USE_STAIC_IP value defined in APPCONF.h
 *
 *  Parameters:
 *
 *      None
 *
 *  Return Values:
 *
 *	     Value of APP_USE_STAIC_IP
 *
 */

int NAGetAppUseStaticIP(void);


/*
 *
 *  Function: int NAGetAppCpp (void)
 *
 *  Description:
 *
 *      This routine returns the setting of the APP_CPP value defined in APPCONF.h
 *      The routine calls _main() under Green Hills, if APP_CPP is defined to 
 *      non-zero value     
 *
 *  Parameters:
 *
 *      None
 *
 *  Return Values:
 *
 *	     Value of APP_CPP
 *
 */
int NAGetAppCpp (void);

/*
 *
 *  Function: int NAGetAppDisableRouterAds (void)
 *
 *  Description:
 *
 *      This routine returns the setting of the APP_DISABLE_ROUTER_ADS value defined in
 *      APPCONF.h
 *
 *  Parameters:
 *
 *      None
 *
 *  Return Values:
 *
 *	     Value of APP_DISABLE_ROUTER_ADS
 *
 */
int NAGetAppDisableRouterAds (void);

char * NAGetApp2ndInterfaceMacAddress(void);
char * NAGetApp2ndInterfaceIpAddress(void);
char * NAGetApp2ndInterfaceIpSubnetMask(void);
char * NAGetApp2ndInterfaceIpGateway(void);

char * NAGetAppIpv6Address(void);
WORD8  NAGetAppIpv6PrefixLen(void);
char * NAGetApp2ndInterfaceIpv6Address(void);
int    NAGetApp2ndInterfaceIpv6PrefixLen(void);
int    NAGetAppUseStaticIPv6(void);
int    NAGetAppUseDhcpV6(void);
char * NAGetAppIpv6Gateway(void);
char * NAGetApp2ndInterfaceIpv6Gateway(void);


int NAInitializeTcpipBlockPool(int size, int *count);

char * NAGetAppWlnIpAddress(void);
char * NAGetAppWlnIpSubnetMask(void);
char * NAGetAppWlnIpGateway(void);
int NAGetAppWlnUseStaticIP(void);

unsigned long naGetAppGdbBreakpointStub(int source);
char * naGetAppGdbPort(void);
unsigned naGetAppGdbBaudrate(void);

wln_bss NAGetAppWlnBssType(void);
char *NAGetAppWlnSsid(void);
unsigned NAGetAppWlnChannel(void);
unsigned NAGetWln80211Options(void);
unsigned NAGetWln80211Band(void);
unsigned NAGetAppWlnAuthenticationType(void);
unsigned NAGetAppWlnEncryptionType(void);
unsigned NAGetAppWlnKeyId(void);
char *NAGetAppWlnKey(unsigned keyIndex);
char *NAGetAppWlnPassphrase(void);
unsigned NAGetAppWlnEapMethods(void);
char *NAGetAppWlnIdentity(void);
char *NAGetAppWlnPassword(void);
char *NAGetAppWlnPsk(void);
unsigned long NAGetAppWlnCountryCode(void);
NaWlnPsMode_t NAGetAppWlnPsMode(void);
int NABspGetHeapSnapshot(NABspMallocStats * pMS);

char * NAGetAppManufacturer(void);
char * NAGetAppModelName(void);
char * NAGetAppModelNumber(void);
char * NAGetAppDeviceName(void);
unsigned NAGetAppDeviceType(void);

void * NAGetAppUsbHostDriverInit(void);
void * NAGetAppiDigiInit(void);

char * NAGetAppPrimaryDns(void);
char * NAGetAppSecondaryDns(void);

char * NAGetApp2ndInterfacePrimaryDns(void);
char * NAGetApp2ndInterfaceSecondaryDns(void);

#ifdef NETOS_GNU_TOOLS
extern void _fini(void);
extern void _init(void);
#endif

#ifdef __cplusplus
}
#endif

#endif
