/*\r
- * FreeRTOS+TCP 191100 experimental\r
- * Copyright (C) 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved.\r
+ * FreeRTOS+TCP V2.2.0\r
+ * Copyright (C) 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.\r
*\r
* Permission is hereby granted, free of charge, to any person obtaining a copy of\r
* this software and associated documentation files (the "Software"), to deal in\r
#include "FreeRTOS_TCP_IP.h"\r
#endif\r
\r
-#if( ipconfigSOCKET_HAS_USER_SEMAPHORE == 1 )\r
- #include "semphr.h"\r
-#endif\r
-\r
#include "event_groups.h"\r
\r
typedef struct xNetworkAddressingParameters\r
eNoEvent = -1,\r
eNetworkDownEvent, /* 0: The network interface has been lost and/or needs [re]connecting. */\r
eNetworkRxEvent, /* 1: The network interface has queued a received Ethernet frame. */\r
- eARPTimerEvent, /* 2: The ARP timer expired. */\r
- eStackTxEvent, /* 3: The software stack has queued a packet to transmit. */\r
- eDHCPEvent, /* 4: Process the DHCP state machine. */\r
- eTCPTimerEvent, /* 5: See if any TCP socket needs attention. */\r
- eTCPAcceptEvent, /* 6: Client API FreeRTOS_accept() waiting for client connections. */\r
- eTCPNetStat, /* 7: IP-task is asked to produce a netstat listing. */\r
- eSocketBindEvent, /* 8: Send a message to the IP-task to bind a socket to a port. */\r
- eSocketCloseEvent, /* 9: Send a message to the IP-task to close a socket. */\r
- eSocketSelectEvent, /*10: Send a message to the IP-task for select(). */\r
- eSocketSignalEvent, /*11: A socket must be signalled. */\r
+ eNetworkTxEvent, /* 2: Let the IP-task send a network packet. */\r
+ eARPTimerEvent, /* 3: The ARP timer expired. */\r
+ eStackTxEvent, /* 4: The software stack has queued a packet to transmit. */\r
+ eDHCPEvent, /* 5: Process the DHCP state machine. */\r
+ eTCPTimerEvent, /* 6: See if any TCP socket needs attention. */\r
+ eTCPAcceptEvent, /* 7: Client API FreeRTOS_accept() waiting for client connections. */\r
+ eTCPNetStat, /* 8: IP-task is asked to produce a netstat listing. */\r
+ eSocketBindEvent, /* 9: Send a message to the IP-task to bind a socket to a port. */\r
+ eSocketCloseEvent, /*10: Send a message to the IP-task to close a socket. */\r
+ eSocketSelectEvent, /*11: Send a message to the IP-task for select(). */\r
+ eSocketSignalEvent, /*12: A socket must be signalled. */\r
} eIPEvent_t;\r
\r
typedef struct IP_TASK_COMMANDS\r
\r
/* Socket related private functions. */\r
\r
-/*\r
- * The caller must ensure that pxNetworkBuffer->xDataLength is the UDP packet\r
- * payload size (excluding packet headers) and that the packet in pucEthernetBuffer\r
- * is at least the size of UDPPacket_t.\r
+/* \r
+ * The caller must ensure that pxNetworkBuffer->xDataLength is the UDP packet \r
+ * payload size (excluding packet headers) and that the packet in pucEthernetBuffer \r
+ * is at least the size of UDPPacket_t. \r
*/\r
BaseType_t xProcessReceivedUDPPacket( NetworkBufferDescriptor_t *pxNetworkBuffer, uint16_t usPort );\r
\r
/*\r
- * Initialize the socket list data structures for TCP and UDP.\r
+ * Initialize the socket list data structures for TCP and UDP. \r
*/\r
BaseType_t vNetworkSocketsInit( void );\r
\r
BaseType_t xIPIsNetworkTaskReady( void );\r
\r
#if( ipconfigSOCKET_HAS_USER_WAKE_CALLBACK == 1 )\r
- struct XSOCKET;\r
- typedef void (*SocketWakeupCallback_t)( struct XSOCKET * pxSocket );\r
-#endif\r
-\r
-#if( ipconfigSOCKET_HAS_USER_WAKE_CALLBACK_WITH_CONTEXT == 1 )\r
- struct XSOCKET;\r
- typedef void( *SocketWakeupCallback_t )( struct XSOCKET * pxSocket, void * pvContext );\r
+ struct xSOCKET;\r
+ typedef void (*SocketWakeupCallback_t)( struct xSOCKET * pxSocket );\r
#endif\r
\r
#if( ipconfigUSE_TCP == 1 )\r
* This counter is separate from the xmitCount in the\r
* TCP win segments */\r
uint8_t ucTCPState; /* TCP state: see eTCP_STATE */\r
- struct XSOCKET *pxPeerSocket; /* for server socket: child, for child socket: parent */\r
+ struct xSOCKET *pxPeerSocket; /* for server socket: child, for child socket: parent */\r
#if( ipconfigTCP_KEEP_ALIVE == 1 )\r
uint8_t ucKeepRepCount;\r
TickType_t xLastAliveTime;\r
eSOCKET_ALL = 0x007F,\r
} eSocketEvent_t;\r
\r
-typedef struct XSOCKET\r
+typedef struct xSOCKET\r
{\r
EventBits_t xEventBits;\r
EventGroupHandle_t xEventGroup;\r
#if( ipconfigSOCKET_HAS_USER_SEMAPHORE == 1 )\r
SemaphoreHandle_t pxUserSemaphore;\r
#endif /* ipconfigSOCKET_HAS_USER_SEMAPHORE */\r
- #if( ipconfigSOCKET_HAS_USER_WAKE_CALLBACK == 1 ) || ( ipconfigSOCKET_HAS_USER_WAKE_CALLBACK_WITH_CONTEXT == 1 )\r
+ #if( ipconfigSOCKET_HAS_USER_WAKE_CALLBACK == 1 )\r
SocketWakeupCallback_t pxUserWakeCallback;\r
#endif /* ipconfigSOCKET_HAS_USER_WAKE_CALLBACK */\r
- #if( ipconfigSOCKET_HAS_USER_WAKE_CALLBACK_WITH_CONTEXT == 1 )\r
- void * pvUserWakeCallbackContext;\r
- #endif /* ipconfigSOCKET_HAS_USER_WAKE_CALLBACK_WITH_CONTEXT */\r
\r
#if( ipconfigSUPPORT_SELECT_FUNCTION == 1 )\r
struct xSOCKET_SET *pxSocketSet;\r
#endif\r
\r
#endif /* FREERTOS_IP_PRIVATE_H */\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r