mirror of
https://github.com/cesanta/mongoose.git
synced 2026-10-14 10:20:01 +00:00
This reverts commit 1a17e17c462bdd4e1d26d8742f8b7087273e04c2. PUBLISHED_FROM=80028de308c9a021955d1425d2bfee8feb85f193
214 lines
6.6 KiB
C
214 lines
6.6 KiB
C
/* clang-format off */
|
|
/*******************************************************************************
|
|
MPLAB Harmony Application Header File
|
|
|
|
Company:
|
|
Microchip Technology Inc.
|
|
|
|
File Name:
|
|
app.h
|
|
|
|
Summary:
|
|
This header file provides prototypes and definitions for the application.
|
|
|
|
Description:
|
|
This header file provides function prototypes and data type definitions for
|
|
the application. Some of these are required by the system (such as the
|
|
"APP_Initialize" and "APP_Tasks" prototypes) and some of them are only used
|
|
internally by the application (such as the "APP_STATES" definition). Both
|
|
are defined here for convenience.
|
|
*******************************************************************************/
|
|
|
|
//DOM-IGNORE-BEGIN
|
|
/*******************************************************************************
|
|
Copyright (c) 2013-2014 released Microchip Technology Inc. All rights reserved.
|
|
|
|
Microchip licenses to you the right to use, modify, copy and distribute
|
|
Software only when embedded on a Microchip microcontroller or digital signal
|
|
controller that is integrated into your product or third party product
|
|
(pursuant to the sublicense terms in the accompanying license agreement).
|
|
|
|
You should refer to the license agreement accompanying this Software for
|
|
additional information regarding your rights and obligations.
|
|
|
|
SOFTWARE AND DOCUMENTATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND,
|
|
EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF
|
|
MERCHANTABILITY, TITLE, NON-INFRINGEMENT AND FITNESS FOR A PARTICULAR PURPOSE.
|
|
IN NO EVENT SHALL MICROCHIP OR ITS LICENSORS BE LIABLE OR OBLIGATED UNDER
|
|
CONTRACT, NEGLIGENCE, STRICT LIABILITY, CONTRIBUTION, BREACH OF WARRANTY, OR
|
|
OTHER LEGAL EQUITABLE THEORY ANY DIRECT OR INDIRECT DAMAGES OR EXPENSES
|
|
INCLUDING BUT NOT LIMITED TO ANY INCIDENTAL, SPECIAL, INDIRECT, PUNITIVE OR
|
|
CONSEQUENTIAL DAMAGES, LOST PROFITS OR LOST DATA, COST OF PROCUREMENT OF
|
|
SUBSTITUTE GOODS, TECHNOLOGY, SERVICES, OR ANY CLAIMS BY THIRD PARTIES
|
|
(INCLUDING BUT NOT LIMITED TO ANY DEFENSE THEREOF), OR OTHER SIMILAR COSTS.
|
|
*******************************************************************************/
|
|
//DOM-IGNORE-END
|
|
|
|
#ifndef _APP_H
|
|
#define _APP_H
|
|
|
|
|
|
// *****************************************************************************
|
|
// *****************************************************************************
|
|
// Section: Included Files
|
|
// *****************************************************************************
|
|
// *****************************************************************************
|
|
|
|
#include <stdint.h>
|
|
#include <stdbool.h>
|
|
#include <stddef.h>
|
|
#include <stdlib.h>
|
|
#include "system_config.h"
|
|
#include "system_definitions.h"
|
|
|
|
// *****************************************************************************
|
|
// *****************************************************************************
|
|
// Section: Type Definitions
|
|
// *****************************************************************************
|
|
// *****************************************************************************
|
|
|
|
// *****************************************************************************
|
|
/* Application States
|
|
|
|
Summary:
|
|
Application states enumeration
|
|
|
|
Description:
|
|
This enumeration defines the valid application states. These states
|
|
determine the behavior of the application at various times.
|
|
*/
|
|
|
|
typedef enum
|
|
{
|
|
/* Application's state machine's initial state. */
|
|
APP_STATE_INIT=0,
|
|
|
|
APP_TCPIP_WAIT_FOR_IP,
|
|
|
|
APP_START_LISTENING,
|
|
|
|
APP_DONE,
|
|
|
|
APP_EMPTY,
|
|
|
|
APP_POLL
|
|
} APP_STATES;
|
|
|
|
|
|
// *****************************************************************************
|
|
/* Application Data
|
|
|
|
Summary:
|
|
Holds application data
|
|
|
|
Description:
|
|
This structure holds the application's data.
|
|
|
|
Remarks:
|
|
Application strings and buffers are be defined outside this structure.
|
|
*/
|
|
|
|
typedef struct
|
|
{
|
|
/* The application's current state */
|
|
APP_STATES state;
|
|
|
|
/* TODO: Define any additional data used by the application. */
|
|
TCP_SOCKET socket;
|
|
|
|
char * host;
|
|
|
|
char * path;
|
|
uint16_t port;
|
|
|
|
} APP_DATA;
|
|
|
|
|
|
// *****************************************************************************
|
|
// *****************************************************************************
|
|
// Section: Application Callback Routines
|
|
// *****************************************************************************
|
|
// *****************************************************************************
|
|
/* These routines are called by drivers when certain events occur.
|
|
*/
|
|
|
|
|
|
// *****************************************************************************
|
|
// *****************************************************************************
|
|
// Section: Application Initialization and State Machine Functions
|
|
// *****************************************************************************
|
|
// *****************************************************************************
|
|
|
|
/*******************************************************************************
|
|
Function:
|
|
void APP_Initialize ( void )
|
|
|
|
Summary:
|
|
MPLAB Harmony application initialization routine.
|
|
|
|
Description:
|
|
This function initializes the Harmony application. It places the
|
|
application in its initial state and prepares it to run so that its
|
|
APP_Tasks function can be called.
|
|
|
|
Precondition:
|
|
All other system initialization routines should be called before calling
|
|
this routine (in "SYS_Initialize").
|
|
|
|
Parameters:
|
|
None.
|
|
|
|
Returns:
|
|
None.
|
|
|
|
Example:
|
|
<code>
|
|
APP_Initialize();
|
|
</code>
|
|
|
|
Remarks:
|
|
This routine must be called from the SYS_Initialize function.
|
|
*/
|
|
|
|
void APP_Initialize ( void );
|
|
|
|
|
|
/*******************************************************************************
|
|
Function:
|
|
void APP_Tasks ( void )
|
|
|
|
Summary:
|
|
MPLAB Harmony Demo application tasks function
|
|
|
|
Description:
|
|
This routine is the Harmony Demo application's tasks function. It
|
|
defines the application's state machine and core logic.
|
|
|
|
Precondition:
|
|
The system and application initialization ("SYS_Initialize") should be
|
|
called before calling this.
|
|
|
|
Parameters:
|
|
None.
|
|
|
|
Returns:
|
|
None.
|
|
|
|
Example:
|
|
<code>
|
|
APP_Tasks();
|
|
</code>
|
|
|
|
Remarks:
|
|
This routine must be called from SYS_Tasks() routine.
|
|
*/
|
|
|
|
void APP_Tasks ( void );
|
|
|
|
|
|
#endif /* _APP_H */
|
|
/*******************************************************************************
|
|
End of File
|
|
*/
|
|
|