]> git.sur5r.net Git - freertos/blob
e7c03d83d6b6e6dba1f4abaeecd4b8e3b7a82c23
[freertos] /
1 /*\r
2  * FreeRTOS+UDP V1.0.4\r
3  * Copyright (C) 2017 Amazon.com, Inc. or its affiliates.  All Rights Reserved.\r
4  *\r
5  * Permission is hereby granted, free of charge, to any person obtaining a copy of\r
6  * this software and associated documentation files (the "Software"), to deal in\r
7  * the Software without restriction, including without limitation the rights to\r
8  * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\r
9  * the Software, and to permit persons to whom the Software is furnished to do so,\r
10  * subject to the following conditions:\r
11  *\r
12  * The above copyright notice and this permission notice shall be included in all\r
13  * copies or substantial portions of the Software.\r
14  *\r
15  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r
16  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\r
17  * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\r
18  * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\r
19  * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\r
20  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r
21  *\r
22  * http://www.FreeRTOS.org\r
23  * http://aws.amazon.com/freertos\r
24  *\r
25  * 1 tab == 4 spaces!\r
26  */\r
27 \r
28 #ifndef LPC18xx_43xx_EMAC_H\r
29 #define LPC18xx_43xx_EMAC_H\r
30 \r
31 /*\r
32  * Initialise the MAC and PHY.\r
33  */\r
34 BaseType_t xEMACInit( uint8_t ucMACAddress[ 6 ] );\r
35 \r
36 /*\r
37  * Return pdTRUE if there is a FreeRTOS Tx descriptor.  Return pdFALSE if all\r
38  * Tx descriptors are already in use.\r
39  */\r
40 BaseType_t xEMACIsTxDescriptorAvailable( void );\r
41 \r
42 /*\r
43  * Assign a buffer to a Tx descriptor so it is ready to be transmitted, but\r
44  * don't start the transmission yet.\r
45  */\r
46 void vEMACAssignBufferToDescriptor( uint8_t * pucBuffer );\r
47 \r
48 /*\r
49  * Start transmitting the buffer pointed to by the next Tx descriptor.  The\r
50  * buffer must have first been allocated to the Tx descriptor using a call to\r
51  * vEMACAssignBufferToDescriptor().\r
52  */\r
53 void vEMACStartNextTransmission( uint32_t ulLength );\r
54 \r
55 /*\r
56  * The data pointed to by the Rx descriptor has been consumed, and the Rx\r
57  * descriptor can be returned to the control of the DMS.\r
58  */\r
59 void vEMACReturnRxDescriptor( void );\r
60 \r
61 /*\r
62  * Returns pdTRUE if the next Rx descriptor contains received data.  Returns\r
63  * pdFLASE fi the next Rx descriptor is still under the control of the DMA.\r
64  */\r
65 BaseType_t xEMACRxDataAvailable( void );\r
66 void vEMACSwapEmptyBufferForRxedData( xNetworkBufferDescriptor_t *pxNetworkBuffer );\r
67 \r
68 #endif /* LPC18xx_43xx_EMAC_H */\r
69 \r