?lang_form? ?lang_select? ?lang_submit? ?lang_endform?
{HEADER END}
{FILE START}

library

?curdirlinks? - Rev 32

?prevdifflink? - Blame - ?getfile?

/*********************************************************************
 *
 *                  Microchip TCP/IP Stack Definitions
 *
 *********************************************************************
 * FileName:        StackTsk.h
 * Dependencies:    Compiler.h
 * Processor:       PIC18, PIC24F, PIC24H, dsPIC30F, dsPIC33F, PIC32
 * Compiler:        Microchip C32 v1.05 or higher
 *                                      Microchip C30 v3.12 or higher
 *                                      Microchip C18 v3.30 or higher
 *                                      HI-TECH PICC-18 PRO 9.63PL2 or higher
 * Company:         Microchip Technology, Inc.
 *
 * Software License Agreement
 *
 * Copyright (C) 2002-2009 Microchip Technology Inc.  All rights
 * reserved.
 *
 * Microchip licenses to you the right to use, modify, copy, and
 * distribute:
 * (i)  the Software when embedded on a Microchip microcontroller or
 *      digital signal controller product ("Device") which is
 *      integrated into Licensee's product; or
 * (ii) ONLY the Software driver source files ENC28J60.c, ENC28J60.h,
 *              ENCX24J600.c and ENCX24J600.h ported to a non-Microchip device
 *              used in conjunction with a Microchip ethernet controller for
 *              the sole purpose of interfacing with the ethernet controller.
 *
 * You should refer to the license agreement accompanying this
 * Software for additional information regarding your rights and
 * obligations.
 *
 * THE SOFTWARE AND DOCUMENTATION ARE PROVIDED "AS IS" WITHOUT
 * WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT
 * LIMITATION, ANY WARRANTY OF MERCHANTABILITY, FITNESS FOR A
 * PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT SHALL
 * MICROCHIP BE LIABLE FOR ANY INCIDENTAL, SPECIAL, INDIRECT OR
 * CONSEQUENTIAL DAMAGES, LOST PROFITS OR LOST DATA, COST OF
 * PROCUREMENT OF SUBSTITUTE GOODS, TECHNOLOGY OR SERVICES, ANY CLAIMS
 * BY THIRD PARTIES (INCLUDING BUT NOT LIMITED TO ANY DEFENSE
 * THEREOF), ANY CLAIMS FOR INDEMNITY OR CONTRIBUTION, OR OTHER
 * SIMILAR COSTS, WHETHER ASSERTED ON THE BASIS OF CONTRACT, TORT
 * (INCLUDING NEGLIGENCE), BREACH OF WARRANTY, OR OTHERWISE.
 *
 *
 * Author               Date    Comment
 *~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * Nilesh Rajbharti     8/10/01 Original        (Rev 1.0)
 * Nilesh Rajbharti     2/9/02  Cleanup
 * Nilesh Rajbharti     5/22/02 Rev 2.0 (See version.log for detail)
 * Nilesh Rajbharti     8/7/03  Rev 2.21 - TFTP Client addition
 * Howard Schlunder             9/30/04 Added MCHP_MAC, MAC_POWER_ON_TEST, 
                                                                EEPROM_BUFFER_SIZE, USE_LCD
 * Howard Schlunder             8/09/06 Removed MCHP_MAC, added STACK_USE_NBNS, 
 *                                                              STACK_USE_DNS, and STACK_USE_GENERIC_TCP_EXAMPLE
 ********************************************************************/
#ifndef __STACK_TSK_H
#define __STACK_TSK_H

#if defined (WF_CS_TRIS)
    #include "WF_Config.h" // pull in additional defines from wireless settings
#endif

// Check for potential configuration errors in "TCPIPConfig.h"
#if (MAX_UDP_SOCKETS <= 0 || MAX_UDP_SOCKETS > 255 )
#error Invalid MAX_UDP_SOCKETS value specified
#endif

// Check for potential configuration errors in "TCPIPConfig.h"
#if (MAX_HTTP_CONNECTIONS <= 0 || MAX_HTTP_CONNECTIONS > 255 )
#error Invalid MAX_HTTP_CONNECTIONS value specified.
#endif

// Structure to contain a MAC address
typedef struct __attribute__((__packed__))
{
    BYTE v[6];
} MAC_ADDR;

// Definition to represent an IP address
#define IP_ADDR         DWORD_VAL

// Address structure for a node
typedef struct __attribute__((__packed__))
{
    IP_ADDR     IPAddr;
    MAC_ADDR    MACAddr;
} NODE_INFO;

// Application-dependent structure used to contain address information
typedef struct __attribute__((__packed__)) 
{
        IP_ADDR         MyIPAddr;               // IP address
        IP_ADDR         MyMask;                 // Subnet mask
        IP_ADDR         MyGateway;              // Default Gateway
        IP_ADDR         PrimaryDNSServer;       // Primary DNS Server
        IP_ADDR         SecondaryDNSServer;     // Secondary DNS Server
        IP_ADDR         DefaultIPAddr;          // Default IP address
        IP_ADDR         DefaultMask;            // Default subnet mask
        BYTE            NetBIOSName[16];        // NetBIOS name
        struct
        {
                unsigned char : 6;
                unsigned char bIsDHCPEnabled : 1;
                unsigned char bInConfigMode : 1;
        } Flags;                            // Flag structure
        MAC_ADDR        MyMACAddr;              // Application MAC address

#if defined(WF_CS_TRIS)
        BYTE            MySSID[32];             // Wireless SSID (if using MRF24WB0M)
        BYTE        SsidLength;             // number of bytes in SSID
        BYTE        SecurityMode;           // WF_SECURITY_OPEN or one of the other security modes
        BYTE        SecurityKey[64];        // WiFi Security key, or passphrase.   
        BYTE        SecurityKeyLength;      // number of bytes in security key (can be 0)
        BYTE        WepKeyIndex;            // WEP key index (only valid for WEP)
    #if defined(EZ_CONFIG_STORE) // WLAN configuration data stored to NVM
    BYTE        dataValid;
    BYTE        networkType;
    BYTE        saveSecurityInfo;       // Save 32-byte PSK
    #endif
#endif
        
#if defined(STACK_USE_SNMP_SERVER)
        // SNMPv2C Read community names
        // SNMP_COMMUNITY_MAX_LEN (8) + 1 null termination byte
        BYTE readCommunity[SNMP_MAX_COMMUNITY_SUPPORT][SNMP_COMMUNITY_MAX_LEN+1]; 

        // SNMPv2C Write community names
        // SNMP_COMMUNITY_MAX_LEN (8) + 1 null termination byte
        BYTE writeCommunity[SNMP_MAX_COMMUNITY_SUPPORT][SNMP_COMMUNITY_MAX_LEN+1];
#endif

} APP_CONFIG;

#ifndef THIS_IS_STACK_APPLICATION
    extern APP_CONFIG AppConfig;
#endif


void StackInit(void);
void StackTask(void);
void StackApplications(void);

#endif
{FILE END}
{FOOTER START}

Powered by WebSVN v2.8.3