1 |
/*********************************************************************
|
2 |
*
|
3 |
* ARP Module Defs for Microchip TCP/IP Stack
|
4 |
*
|
5 |
*********************************************************************
|
6 |
* FileName: ARP.h
|
7 |
* Dependencies: Stacktsk.h
|
8 |
* MAC.h
|
9 |
* Processor: PIC18, PIC24F, PIC24H, dsPIC30F, dsPIC33F
|
10 |
* Complier: Microchip C18 v3.02 or higher
|
11 |
* Microchip C30 v2.01 or higher
|
12 |
* Company: Microchip Technology, Inc.
|
13 |
*
|
14 |
* Software License Agreement
|
15 |
*
|
16 |
* This software is owned by Microchip Technology Inc. ("Microchip")
|
17 |
* and is supplied to you for use exclusively as described in the
|
18 |
* associated software agreement. This software is protected by
|
19 |
* software and other intellectual property laws. Any use in
|
20 |
* violation of the software license may subject the user to criminal
|
21 |
* sanctions as well as civil liability. Copyright 2006 Microchip
|
22 |
* Technology Inc. All rights reserved.
|
23 |
*
|
24 |
* This software is provided "AS IS." MICROCHIP DISCLAIMS ALL
|
25 |
* WARRANTIES, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, NOT LIMITED
|
26 |
* TO MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND
|
27 |
* INFRINGEMENT. Microchip shall in no event be liable for special,
|
28 |
* incidental, or consequential damages.
|
29 |
*
|
30 |
*
|
31 |
* Author Date Comment
|
32 |
*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
33 |
* Nilesh Rajbharti 5/1/01 Original (Rev 1.0)
|
34 |
* Nilesh Rajbharti 2/9/02 Cleanup
|
35 |
* Nilesh Rajbharti 5/22/02 Rev 2.0 (See version.log for detail)
|
36 |
********************************************************************/
|
37 |
#ifndef ARP_H
|
38 |
#define ARP_H
|
39 |
|
40 |
#include "StackTsk.h"
|
41 |
#include "MAC.h"
|
42 |
|
43 |
/*
|
44 |
* Following codes are must be used with ARPGet/Put functions.
|
45 |
*/
|
46 |
#define ARP_REPLY (0x00)
|
47 |
#define ARP_REQUEST (0x01)
|
48 |
#define ARP_UNKNOWN (0x02)
|
49 |
|
50 |
|
51 |
/*********************************************************************
|
52 |
* Function: BOOL ARPGet(NODE_INFO* remote, BYTE* opCode)
|
53 |
*
|
54 |
* PreCondition: ARP packet is ready in MAC buffer.
|
55 |
*
|
56 |
* Input: remote - Remote node info
|
57 |
* opCode - Buffer to hold ARP op code.
|
58 |
*
|
59 |
* Output: TRUE if a valid ARP packet was received.
|
60 |
* FALSE otherwise.
|
61 |
*
|
62 |
* Side Effects: None
|
63 |
*
|
64 |
* Overview: None
|
65 |
*
|
66 |
* Note: None
|
67 |
********************************************************************/
|
68 |
BOOL ARPGet(NODE_INFO *remote, BYTE *opCode);
|
69 |
|
70 |
|
71 |
/*********************************************************************
|
72 |
* Macro: ARPIsRxReady()
|
73 |
*
|
74 |
* PreCondition: None
|
75 |
*
|
76 |
* Input: None
|
77 |
*
|
78 |
* Output: TRUE if ARP receive buffer is full.
|
79 |
* FALSE otherwise.
|
80 |
*
|
81 |
* Side Effects: None
|
82 |
*
|
83 |
* Overview: None
|
84 |
*
|
85 |
* Note: None
|
86 |
********************************************************************/
|
87 |
#define ARPIsTxReady() MACIsTxReady()
|
88 |
|
89 |
|
90 |
|
91 |
/*********************************************************************
|
92 |
* Function: void ARPPut(NODE_INFO* more, BYTE opCode)
|
93 |
*
|
94 |
* PreCondition: MACIsTxReady() == TRUE
|
95 |
*
|
96 |
* Input: remote - Remote node info
|
97 |
* opCode - ARP op code to send
|
98 |
*
|
99 |
* Output: None
|
100 |
*
|
101 |
* Side Effects: None
|
102 |
*
|
103 |
* Overview: None
|
104 |
*
|
105 |
* Note: None
|
106 |
********************************************************************/
|
107 |
BOOL ARPPut(NODE_INFO *remote, BYTE opCode);
|
108 |
|
109 |
#endif
|
110 |
|
111 |
|